From 99099924034425cfbca8c54284d6f8f638579361 Mon Sep 17 00:00:00 2001 From: conda-forge-admin Date: Wed, 15 Dec 2021 14:13:04 +0000 Subject: [PATCH 001/182] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeGHAWithMain --- .github/workflows/automerge.yml | 3 ++- .github/workflows/webservices.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index e8e5902..773b3d1 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -13,6 +13,7 @@ jobs: uses: actions/checkout@v2 - name: automerge-action id: automerge-action - uses: conda-forge/automerge-action@master + uses: conda-forge/automerge-action@main with: github_token: ${{ secrets.GITHUB_TOKEN }} + rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }} diff --git a/.github/workflows/webservices.yml b/.github/workflows/webservices.yml index 78f51e6..d6f06b5 100644 --- a/.github/workflows/webservices.yml +++ b/.github/workflows/webservices.yml @@ -7,6 +7,7 @@ jobs: steps: - name: webservices id: webservices - uses: conda-forge/webservices-dispatch-action@master + uses: conda-forge/webservices-dispatch-action@main with: github_token: ${{ secrets.GITHUB_TOKEN }} + rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }} From a4a6a7ff2e801e7e1f97d71a0414ffc2adb37e60 Mon Sep 17 00:00:00 2001 From: conda-forge-admin Date: Fri, 17 Dec 2021 03:12:50 +0000 Subject: [PATCH 002/182] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeGHAWithMain --- .github/workflows/automerge.yml | 2 +- .github/workflows/webservices.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 773b3d1..f79fe85 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -13,7 +13,7 @@ jobs: uses: actions/checkout@v2 - name: automerge-action id: automerge-action - uses: conda-forge/automerge-action@main + uses: conda-forge/automerge-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }} diff --git a/.github/workflows/webservices.yml b/.github/workflows/webservices.yml index d6f06b5..2e5fe71 100644 --- a/.github/workflows/webservices.yml +++ b/.github/workflows/webservices.yml @@ -7,7 +7,7 @@ jobs: steps: - name: webservices id: webservices - uses: conda-forge/webservices-dispatch-action@main + uses: conda-forge/webservices-dispatch-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }} From 39563f8193600d841a1a1d0b758719ee076ceeb7 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 6 Jan 2022 01:15:47 +0000 Subject: [PATCH 003/182] updated v3.19.2 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bfbbe34..94f69f3 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.19.1" %} +{% set version = "3.19.2" %} package: name: libprotobuf @@ -6,7 +6,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/libprotobuf-v{{ version }}.tar.gz - sha256: 87407cd28e7a9c95d9f61a098a53cf031109d451a7763e7dd1253abf8b4df422 + sha256: 4dd35e788944b7686aac898f77df4e9a54da0ca694b8801bd6b2a9ffc1b3085e patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often From eb7de55d5b874ff7be9832744be5217ecffd2e24 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 6 Jan 2022 01:16:16 +0000 Subject: [PATCH 004/182] MNT: Re-rendered with conda-build 3.21.7, conda-smithy 3.16.1, and conda-forge-pinning 2022.01.05.14.36.24 --- .azure-pipelines/azure-pipelines-linux.yml | 8 ++++-- .azure-pipelines/azure-pipelines-win.yml | 2 +- .ci_support/linux_64_.yaml | 4 +-- .ci_support/linux_ppc64le_.yaml | 2 +- .drone.yml | 32 ---------------------- .gitattributes | 1 + .scripts/build_steps.sh | 10 ++++--- .scripts/run_osx_build.sh | 12 ++++---- README.md | 12 ++------ build-locally.py | 4 +++ 10 files changed, 29 insertions(+), 58 deletions(-) delete mode 100644 .drone.yml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index fe9d247..afc392a 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -11,11 +11,15 @@ jobs: linux_64_: CONFIG: linux_64_ UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_: + CONFIG: linux_aarch64_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 linux_ppc64le_: CONFIG: linux_ppc64le_ UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index b6ce7ac..e8029d9 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -5,7 +5,7 @@ jobs: - job: win pool: - vmImage: vs2017-win2016 + vmImage: windows-2019 strategy: matrix: win_64_: diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 612f048..8bae6f0 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -13,7 +13,7 @@ cxx_compiler: cxx_compiler_version: - '9' docker_image: -- quay.io/condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-cos7-x86_64 pin_run_as_build: zlib: max_pin: x.x @@ -22,7 +22,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - cdt_name - - docker_image zlib: - '1.2' diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 1520b67..47af04e 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -13,7 +13,7 @@ cxx_compiler: cxx_compiler_version: - '9' docker_image: -- quay.io/condaforge/linux-anvil-comp7 +- quay.io/condaforge/linux-anvil-cos7-x86_64 pin_run_as_build: zlib: max_pin: x.x diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index f816045..0000000 --- a/.drone.yml +++ /dev/null @@ -1,32 +0,0 @@ ---- -kind: pipeline -name: linux_aarch64_ - -platform: - os: linux - arch: arm64 - -steps: -- name: Install and build - image: quay.io/condaforge/linux-anvil-aarch64 - environment: - CONFIG: linux_aarch64_ - UPLOAD_PACKAGES: True - PLATFORM: linux-aarch64 - BINSTAR_TOKEN: - from_secret: BINSTAR_TOKEN - FEEDSTOCK_TOKEN: - from_secret: FEEDSTOCK_TOKEN - STAGING_BINSTAR_TOKEN: - from_secret: STAGING_BINSTAR_TOKEN - commands: - - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE" - - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe" - - export CI=drone - - export GIT_BRANCH="$DRONE_BRANCH" - - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME}) - - export IS_PR_BUILD=$(if [[ "$${DRONE_PULL_REQUEST:-}" == "" ]]; then echo "False"; else echo "True"; fi) - - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint - - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh - - echo "Done building" - diff --git a/.gitattributes b/.gitattributes index 9060b27..ce52713 100644 --- a/.gitattributes +++ b/.gitattributes @@ -18,6 +18,7 @@ bld.bat text eol=crlf .gitignore linguist-generated=true .travis.yml linguist-generated=true .scripts/* linguist-generated=true +.woodpecker.yml linguist-generated=true LICENSE.txt linguist-generated=true README.md linguist-generated=true azure-pipelines.yml linguist-generated=true diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 9008710..b3d5b81 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -5,6 +5,8 @@ # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also # benefit from the improvement. +# -*- mode: jinja-shell -*- + set -xeuo pipefail export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh @@ -25,10 +27,10 @@ conda-build: root-dir: ${FEEDSTOCK_ROOT}/build_artifacts CONDARC -GET_BOA=boa -BUILD_CMD=mambabuild -conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} -c conda-forge + +mamba install --update-specs --yes --quiet "conda-forge-ci-setup=3" conda-build pip boa -c conda-forge +mamba update --update-specs --yes --quiet "conda-forge-ci-setup=3" conda-build pip boa -c conda-forge # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -56,7 +58,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda $BUILD_CMD "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" ( startgroup "Validating outputs" ) 2> /dev/null diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 3dca437..6774b01 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +# -*- mode: jinja-shell -*- + source .scripts/logging_utils.sh set -xe @@ -9,7 +11,7 @@ MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3} ( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" -MINIFORGE_FILE="Miniforge3-MacOSX-$(uname -m).sh" +MINIFORGE_FILE="Mambaforge-MacOSX-$(uname -m).sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" rm -rf ${MINIFORGE_HOME} bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} @@ -18,14 +20,12 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} ( startgroup "Configuring conda" ) 2> /dev/null -GET_BOA=boa -BUILD_CMD=mambabuild - source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." -conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} +mamba install -n base --update-specs --quiet --yes "conda-forge-ci-setup=3" conda-build pip boa +mamba update -n base --update-specs --quiet --yes "conda-forge-ci-setup=3" conda-build pip boa @@ -59,7 +59,7 @@ if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi -conda $BUILD_CMD ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} +conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/README.md b/README.md index ddfcd33..e01d816 100644 --- a/README.md +++ b/README.md @@ -20,14 +20,7 @@ Current build status ==================== - - - - +
Drone - - linux - -
@@ -124,7 +117,8 @@ conda search libprotobuf --channel conda-forge About conda-forge ================= -[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](http://numfocus.org) +[![Powered by +NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the diff --git a/build-locally.py b/build-locally.py index f3d4f62..8b74348 100755 --- a/build-locally.py +++ b/build-locally.py @@ -22,6 +22,10 @@ def setup_environment(ns): os.environ["MINIFORGE_HOME"] = os.path.join( os.path.dirname(__file__), "miniforge3" ) + if "OSX_SDK_DIR" not in os.environ: + os.environ["OSX_SDK_DIR"] = os.path.join( + os.path.dirname(__file__), "SDKs" + ) def run_docker_build(ns): From 243da4bbb0d2cfdeaec7a88617443effeed6a081 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 11 Jan 2022 22:12:42 +0000 Subject: [PATCH 005/182] updated v3.19.3 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 94f69f3..4e80d37 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.19.2" %} +{% set version = "3.19.3" %} package: name: libprotobuf @@ -6,7 +6,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/libprotobuf-v{{ version }}.tar.gz - sha256: 4dd35e788944b7686aac898f77df4e9a54da0ca694b8801bd6b2a9ffc1b3085e + sha256: 390191a0d7884b3e52bb812c440ad1497b9d484241f37bb8e2ccc8c2b72d6c36 patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often From dcd97b032326ac1644d2422ca88166f086845d73 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 28 Jan 2022 18:41:51 +0000 Subject: [PATCH 006/182] updated v3.19.4 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4e80d37..3d17834 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.19.3" %} +{% set version = "3.19.4" %} package: name: libprotobuf @@ -6,7 +6,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/libprotobuf-v{{ version }}.tar.gz - sha256: 390191a0d7884b3e52bb812c440ad1497b9d484241f37bb8e2ccc8c2b72d6c36 + sha256: 3bd7828aa5af4b13b99c191e8b1e884ebfa9ad371b0ce264605d347f135d2568 patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often From 9d8acc44e1069b32a1fc4ec6dbd5b71e15fe992d Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 28 Jan 2022 18:42:20 +0000 Subject: [PATCH 007/182] MNT: Re-rendered with conda-build 3.21.7, conda-smithy 3.16.2, and conda-forge-pinning 2022.01.28.17.06.23 --- LICENSE.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE.txt b/LICENSE.txt index ed3f451..6ec1401 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,5 @@ BSD 3-clause license -Copyright (c) 2015-2021, conda-forge contributors +Copyright (c) 2015-2022, conda-forge contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: From 29623ecfb2bcf513927028089ac60036d43f6f68 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 5 Feb 2022 20:59:06 +1100 Subject: [PATCH 008/182] [ci skip] add myself to maintainers --- .github/CODEOWNERS | 2 +- README.md | 1 + recipe/meta.yaml | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d61945e..f959013 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @dopplershift @hajapy @jakirkham @ocefpaf @wesm @xhochy \ No newline at end of file +* @dopplershift @h-vetinari @hajapy @jakirkham @ocefpaf @wesm @xhochy \ No newline at end of file diff --git a/README.md b/README.md index e01d816..8deed26 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,7 @@ Feedstock Maintainers ===================== * [@dopplershift](https://github.com/dopplershift/) +* [@h-vetinari](https://github.com/h-vetinari/) * [@hajapy](https://github.com/hajapy/) * [@jakirkham](https://github.com/jakirkham/) * [@ocefpaf](https://github.com/ocefpaf/) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3d17834..028e221 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -112,3 +112,4 @@ extra: - wesm - hajapy - xhochy + - h-vetinari From 27f51fda59918a66275da61d76e1d1e4fc536bd2 Mon Sep 17 00:00:00 2001 From: conda-forge-admin Date: Sun, 13 Mar 2022 16:36:00 +0000 Subject: [PATCH 009/182] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** turning off CI for master to main migration --- .circleci/config.yml | 1 + azure-pipelines.yml => azure-pipelines.yml.bak | 0 2 files changed, 1 insertion(+) rename azure-pipelines.yml => azure-pipelines.yml.bak (100%) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6ad461b..cf397d5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,3 +1,4 @@ + # This file was generated automatically from conda-smithy. To update this configuration, # update the conda-forge.yml and/or the recipe/meta.yaml. # -*- mode: yaml -*- diff --git a/azure-pipelines.yml b/azure-pipelines.yml.bak similarity index 100% rename from azure-pipelines.yml rename to azure-pipelines.yml.bak From 6fb2528dd3bbb48874a852948668b2c573a61468 Mon Sep 17 00:00:00 2001 From: conda-forge-admin Date: Sun, 13 Mar 2022 16:36:07 +0000 Subject: [PATCH 010/182] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** turning on CI for master to main migration --- .circleci/config.yml | 1 - azure-pipelines.yml.bak => azure-pipelines.yml | 0 2 files changed, 1 deletion(-) rename azure-pipelines.yml.bak => azure-pipelines.yml (100%) diff --git a/.circleci/config.yml b/.circleci/config.yml index cf397d5..6ad461b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,4 +1,3 @@ - # This file was generated automatically from conda-smithy. To update this configuration, # update the conda-forge.yml and/or the recipe/meta.yaml. # -*- mode: yaml -*- diff --git a/azure-pipelines.yml.bak b/azure-pipelines.yml similarity index 100% rename from azure-pipelines.yml.bak rename to azure-pipelines.yml From 2e52576c13e55b08d0d07ff64559f89b7e4acc02 Mon Sep 17 00:00:00 2001 From: conda-forge-admin Date: Sun, 13 Mar 2022 16:36:07 +0000 Subject: [PATCH 011/182] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeMasterToMain --- .github/workflows/automerge.yml | 2 +- .github/workflows/webservices.yml | 2 +- conda-forge.yml | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index f79fe85..773b3d1 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -13,7 +13,7 @@ jobs: uses: actions/checkout@v2 - name: automerge-action id: automerge-action - uses: conda-forge/automerge-action@master + uses: conda-forge/automerge-action@main with: github_token: ${{ secrets.GITHUB_TOKEN }} rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }} diff --git a/.github/workflows/webservices.yml b/.github/workflows/webservices.yml index 2e5fe71..d6f06b5 100644 --- a/.github/workflows/webservices.yml +++ b/.github/workflows/webservices.yml @@ -7,7 +7,7 @@ jobs: steps: - name: webservices id: webservices - uses: conda-forge/webservices-dispatch-action@master + uses: conda-forge/webservices-dispatch-action@main with: github_token: ${{ secrets.GITHUB_TOKEN }} rerendering_github_token: ${{ secrets.RERENDERING_GITHUB_TOKEN }} diff --git a/conda-forge.yml b/conda-forge.yml index 88523a4..622715e 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -4,3 +4,6 @@ build_platform: {osx_arm64: osx_64, linux_ppc64le: linux_64} test_on_native_only: true bot: automerge: true +github: + branch_name: main + tooling_branch_name: main From c5553445a808a80a6befc405cdff62a784b286b9 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Sat, 26 Mar 2022 10:35:08 +0000 Subject: [PATCH 012/182] updated v3.20.0 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 028e221..25555d8 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.19.4" %} +{% set version = "3.20.0" %} package: name: libprotobuf @@ -6,7 +6,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/libprotobuf-v{{ version }}.tar.gz - sha256: 3bd7828aa5af4b13b99c191e8b1e884ebfa9ad371b0ce264605d347f135d2568 + sha256: b07772d38ab07e55eca4d50f4b53da2d998bb221575c60a4f81100242d4b4889 patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often From 8e514acbc641fa713acc1955cd3294e53097f7a6 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Sat, 26 Mar 2022 10:35:40 +0000 Subject: [PATCH 013/182] MNT: Re-rendered with conda-build 3.21.8, conda-smithy 3.18.0, and conda-forge-pinning 2022.03.25.20.30.42 --- .azure-pipelines/azure-pipelines-win.yml | 3 +- .ci_support/README | 7 +++- .ci_support/linux_64_.yaml | 4 +-- .ci_support/linux_aarch64_.yaml | 4 +-- .ci_support/linux_ppc64le_.yaml | 4 +-- .ci_support/osx_64_.yaml | 4 +-- .ci_support/osx_arm64_.yaml | 4 +-- .gitattributes | 1 + .scripts/build_steps.sh | 6 ++-- .scripts/run_docker_build.sh | 2 +- .scripts/run_osx_build.sh | 42 ++++++++++++++++-------- README.md | 30 ++++++++--------- build-locally.py | 11 +++---- 13 files changed, 71 insertions(+), 51 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index e8029d9..88fd9c1 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -49,10 +49,9 @@ jobs: condition: contains(variables['CONFIG'], 'vs2008') displayName: Patch vs2008 (if needed) - - task: CondaEnvironment@1 inputs: - packageSpecs: 'python=3.9 conda-build conda "conda-forge-ci-setup=3" pip boa' # Optional + packageSpecs: 'python=3.9 conda-build conda pip boa conda-forge-ci-setup=3' # Optional installOptions: "-c conda-forge" updateConda: true displayName: Install conda-build and activate environment diff --git a/.ci_support/README b/.ci_support/README index e4e2dce..a47316b 100644 --- a/.ci_support/README +++ b/.ci_support/README @@ -1 +1,6 @@ -This file is automatically generated by conda-smithy. To change any matrix elements, you should change conda-smithy's input conda_build_config.yaml and re-render the recipe, rather than editing these files directly. \ No newline at end of file +This file is automatically generated by conda-smithy. If any +particular build configuration is expected, but it is not found, +please make sure all dependencies are satisfiable. To add/modify any +matrix elements, you should create/change conda-smithy's input +recipe/conda_build_config.yaml and re-render the recipe, rather than +editing these files directly. diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 8bae6f0..e004632 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '9' +- '10' cdt_name: - cos6 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 pin_run_as_build: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index e7a3633..089b636 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -3,7 +3,7 @@ BUILD: c_compiler: - gcc c_compiler_version: -- '9' +- '10' cdt_arch: - aarch64 cdt_name: @@ -15,7 +15,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: - quay.io/condaforge/linux-anvil-aarch64 pin_run_as_build: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 47af04e..33dddda 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '9' +- '10' cdt_name: - cos7 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 pin_run_as_build: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index d7ecd14..4c7ffa4 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '11' +- '12' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '11' +- '12' macos_machine: - x86_64-apple-darwin13.4.0 pin_run_as_build: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 8d5d658..c987842 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '11' +- '12' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '11' +- '12' macos_machine: - arm64-apple-darwin20.0.0 pin_run_as_build: diff --git a/.gitattributes b/.gitattributes index ce52713..7f32763 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,6 +9,7 @@ bld.bat text eol=crlf # github helper pieces to make some files not show up in diffs automatically .azure-pipelines/* linguist-generated=true .circleci/* linguist-generated=true +.ci_support/README linguist-generated=true .drone/* linguist-generated=true .drone.yml linguist-generated=true .github/* linguist-generated=true diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index b3d5b81..c6b23e8 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -29,8 +29,10 @@ conda-build: CONDARC -mamba install --update-specs --yes --quiet "conda-forge-ci-setup=3" conda-build pip boa -c conda-forge -mamba update --update-specs --yes --quiet "conda-forge-ci-setup=3" conda-build pip boa -c conda-forge +mamba install --update-specs --yes --quiet --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 +mamba update --update-specs --yes --quiet --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 0c6515f..9236239 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -14,7 +14,7 @@ set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" PROVIDER_DIR="$(basename $THISDIR)" -FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) +FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" if [ -z ${FEEDSTOCK_NAME} ]; then diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 6774b01..3d85505 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -23,9 +23,11 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base -echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." -mamba install -n base --update-specs --quiet --yes "conda-forge-ci-setup=3" conda-build pip boa -mamba update -n base --update-specs --quiet --yes "conda-forge-ci-setup=3" conda-build pip boa +echo -e "\n\nInstalling ['conda-forge-ci-setup=3'] and conda-build." +mamba install --update-specs --quiet --yes --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 +mamba update --update-specs --yes --quiet --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 @@ -51,7 +53,6 @@ source run_conda_forge_build_setup ( endgroup "Configuring conda" ) 2> /dev/null - echo -e "\n\nMaking the build clobber file" make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml @@ -59,17 +60,32 @@ if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi -conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} -( startgroup "Validating outputs" ) 2> /dev/null -validate_recipe_outputs "${FEEDSTOCK_NAME}" +if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then + if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" + fi + conda debug ./recipe -m ./.ci_support/${CONFIG}.yaml \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml -( endgroup "Validating outputs" ) 2> /dev/null + # Drop into an interactive shell + /bin/bash +else + conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ + --suppress-variables ${EXTRA_CB_OPTIONS:-} \ + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + ( startgroup "Validating outputs" ) 2> /dev/null -( startgroup "Uploading packages" ) 2> /dev/null + validate_recipe_outputs "${FEEDSTOCK_NAME}" -if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then - upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml -fi + ( endgroup "Validating outputs" ) 2> /dev/null + + ( startgroup "Uploading packages" ) 2> /dev/null + + if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml + fi -( endgroup "Uploading packages" ) 2> /dev/null \ No newline at end of file + ( endgroup "Uploading packages" ) 2> /dev/null +fi \ No newline at end of file diff --git a/README.md b/README.md index 8deed26..d4d2747 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Home: https://developers.google.com/protocol-buffers/ Package license: BSD-3-Clause -Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/libprotobuf-feedstock/blob/master/LICENSE.txt) +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/libprotobuf-feedstock/blob/main/LICENSE.txt) Summary: Protocol Buffers - Google's data interchange format. C++ Libraries and protoc, the protobuf compiler. @@ -27,8 +27,8 @@ Current build status
Azure
- - + + @@ -36,43 +36,43 @@ Current build status diff --git a/build-locally.py b/build-locally.py index 8b74348..eec38a0 100755 --- a/build-locally.py +++ b/build-locally.py @@ -22,10 +22,6 @@ def setup_environment(ns): os.environ["MINIFORGE_HOME"] = os.path.join( os.path.dirname(__file__), "miniforge3" ) - if "OSX_SDK_DIR" not in os.environ: - os.environ["OSX_SDK_DIR"] = os.path.join( - os.path.dirname(__file__), "SDKs" - ) def run_docker_build(ns): @@ -65,11 +61,12 @@ def verify_config(ns): raise ValueError( f"only Linux/macOS configs currently supported, got {ns.config}" ) - elif ns.config.startswith("osx") and platform.system() == "Darwin": + elif ns.config.startswith("osx"): if "OSX_SDK_DIR" not in os.environ: raise RuntimeError( - "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=/opt'" - "to download the SDK automatically to '/opt/MacOSX.sdk'" + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=SDKs' " + "to download the SDK automatically to 'SDKs/MacOSX.sdk'. " + "Setting this variable implies agreement to the licensing terms of the SDK by Apple." ) From c2c00ee5dcc7e12c4adb8dd4c9b01fc814d92129 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 22 Apr 2022 06:33:04 +0000 Subject: [PATCH 014/182] updated v3.20.1 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 25555d8..b75cd79 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.20.0" %} +{% set version = "3.20.1" %} package: name: libprotobuf @@ -6,7 +6,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/libprotobuf-v{{ version }}.tar.gz - sha256: b07772d38ab07e55eca4d50f4b53da2d998bb221575c60a4f81100242d4b4889 + sha256: 8b28fdd45bab62d15db232ec404248901842e5340299a57765e48abe8a80d930 patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often From e070dfb6e92eec99968ecd72bccee4441c23d97f Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 22 Apr 2022 06:33:36 +0000 Subject: [PATCH 015/182] MNT: Re-rendered with conda-build 3.21.8, conda-smithy 3.19.0, and conda-forge-pinning 2022.04.21.23.08.27 --- .azure-pipelines/azure-pipelines-linux.yml | 4 -- .ci_support/osx_64_.yaml | 4 +- .ci_support/osx_arm64_.yaml | 4 +- .travis.yml | 22 ++++++++++ README.md | 48 ++++++++++++++++++---- 5 files changed, 67 insertions(+), 15 deletions(-) create mode 100644 .travis.yml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index afc392a..442ec2a 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -12,10 +12,6 @@ jobs: CONFIG: linux_64_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_: - CONFIG: linux_aarch64_ - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64 linux_ppc64le_: CONFIG: linux_ppc64le_ UPLOAD_PACKAGES: 'True' diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 4c7ffa4..97c5e16 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '12' +- '13' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '12' +- '13' macos_machine: - x86_64-apple-darwin13.4.0 pin_run_as_build: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index c987842..5c7ce34 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '12' +- '13' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '12' +- '13' macos_machine: - arm64-apple-darwin20.0.0 pin_run_as_build: diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..b25d24d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,22 @@ +# This file was generated automatically from conda-smithy. To update this configuration, +# update the conda-forge.yml and/or the recipe/meta.yaml. + +language: generic + + + +matrix: + include: + - env: CONFIG=linux_aarch64_ UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 + os: linux + arch: arm64 + dist: focal + +script: + - export CI=travis + - export GIT_BRANCH="$TRAVIS_BRANCH" + - export FEEDSTOCK_NAME=$(basename ${TRAVIS_REPO_SLUG}) + - if [[ "${TRAVIS_PULL_REQUEST:-}" == "false" ]]; then export IS_PR_BUILD="False"; else export IS_PR_BUILD="True"; fi + + + - if [[ ${PLATFORM} =~ .*linux.* ]]; then CONDA_FORGE_DOCKER_RUN_ARGS="--network=host --security-opt=seccomp=unconfined" ./.scripts/run_docker_build.sh; fi \ No newline at end of file diff --git a/README.md b/README.md index d4d2747..d3e8a7a 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,14 @@ Current build status ==================== -
linux_64 - - variant + + variant
linux_aarch64 - - variant + + variant
linux_ppc64le - - variant + + variant
osx_64 - - variant + + variant
osx_arm64 - - variant + + variant
win_64 - - variant + + variant
+
+ + + @@ -101,18 +108,43 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `libprotobuf, libprotobuf-static` can be installed with: +Once the `conda-forge` channel has been enabled, `libprotobuf, libprotobuf-static` can be installed with `conda`: ``` conda install libprotobuf libprotobuf-static ``` -It is possible to list all of the versions of `libprotobuf` available on your platform with: +or with `mamba`: + +``` +mamba install libprotobuf libprotobuf-static +``` + +It is possible to list all of the versions of `libprotobuf` available on your platform with `conda`: ``` conda search libprotobuf --channel conda-forge ``` +or with `mamba`: + +``` +mamba search libprotobuf --channel conda-forge +``` + +Alternatively, `mamba repoquery` may provide more information: + +``` +# Search all versions available on your platform: +mamba repoquery search libprotobuf --channel conda-forge + +# List packages depending on `libprotobuf`: +mamba repoquery whoneeds libprotobuf --channel conda-forge + +# List dependencies of `libprotobuf`: +mamba repoquery depends libprotobuf --channel conda-forge +``` + About conda-forge ================= @@ -128,10 +160,12 @@ for each of the installable packages. Such a repository is known as a *feedstock A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by -[CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/) -and [TravisCI](https://travis-ci.com/) it is possible to build and upload installable -packages to the [conda-forge](https://anaconda.org/conda-forge) -[Anaconda-Cloud](https://anaconda.org/) channel for Linux, Windows and OSX respectively. +[Azure](https://azure.microsoft.com/en-us/services/devops/), [GitHub](https://github.com/), +[CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/), +[Drone](https://cloud.drone.io/welcome), and [TravisCI](https://travis-ci.com/) +it is possible to build and upload installable packages to the +[conda-forge](https://anaconda.org/conda-forge) [Anaconda-Cloud](https://anaconda.org/) +channel for Linux, Windows and OSX respectively. To manage the continuous integration and simplify feedstock maintenance [conda-smithy](https://github.com/conda-forge/conda-smithy) has been developed. From 9373327704b9b3f6ed11f188551fb3d36f434683 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 27 May 2022 20:31:57 +0000 Subject: [PATCH 016/182] updated v3.21.1 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b75cd79..80dd3f5 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.20.1" %} +{% set version = "3.21.1" %} package: name: libprotobuf @@ -6,7 +6,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/libprotobuf-v{{ version }}.tar.gz - sha256: 8b28fdd45bab62d15db232ec404248901842e5340299a57765e48abe8a80d930 + sha256: 6cec96cd159aae33aa519a4ec7114b6433e13289bec7acd160bacebdcb3cad85 patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often From 1f1b5f10387d520e2414c9cac1968be38584ac75 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Sat, 28 May 2022 07:48:33 +0000 Subject: [PATCH 017/182] updated v21.1 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 80dd3f5..23934fe 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "3.21.1" %} +{% set version = "21.1" %} package: name: libprotobuf @@ -6,7 +6,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/libprotobuf-v{{ version }}.tar.gz - sha256: 6cec96cd159aae33aa519a4ec7114b6433e13289bec7acd160bacebdcb3cad85 + sha256: f1a83673cbcaff6346a8fba87a9c02c0f943a4a696b6c7d1b71586d97609db12 patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often From 35d1fbcf37654b9e7d5200efdf019cbcbc4e18b6 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 24 Jun 2022 00:25:14 +0000 Subject: [PATCH 018/182] updated v21.2 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 23934fe..7d1788c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "21.1" %} +{% set version = "21.2" %} package: name: libprotobuf @@ -6,7 +6,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/libprotobuf-v{{ version }}.tar.gz - sha256: f1a83673cbcaff6346a8fba87a9c02c0f943a4a696b6c7d1b71586d97609db12 + sha256: ca983c9d2c8f8c935513642bcc4b2cbc64e4046e0bb16bf2ff893128577ece8c patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often From c8bf8e08d2b7eb30b5491c52eec126302793a32f Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 24 Jun 2022 00:25:35 +0000 Subject: [PATCH 019/182] MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.0, and conda-forge-pinning 2022.06.23.17.21.28 --- .azure-pipelines/azure-pipelines-win.yml | 69 ++++++++---------------- .circleci/config.yml | 3 +- .scripts/build_steps.sh | 9 +++- .scripts/run_osx_build.sh | 4 ++ LICENSE.txt | 30 ++++++++--- build-locally.py | 19 ++++--- 6 files changed, 70 insertions(+), 64 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 88fd9c1..8a0bcae 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -16,45 +16,27 @@ jobs: CONDA_BLD_PATH: D:\\bld\\ steps: - - script: | - choco install vcpython27 -fdv -y --debug - condition: contains(variables['CONFIG'], 'vs2008') - displayName: Install vcpython27.msi (if needed) - - # Cygwin's git breaks conda-build. (See https://github.com/conda-forge/conda-smithy-feedstock/pull/2.) - # - script: rmdir C:\cygwin /s /q - # continueOnError: true - - - powershell: | - Set-PSDebug -Trace 1 - - $batchcontent = @" - ECHO ON - SET vcpython=C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0 - - DIR "%vcpython%" - - CALL "%vcpython%\vcvarsall.bat" %* - "@ - - $batchDir = "C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC" - $batchPath = "$batchDir" + "\vcvarsall.bat" - New-Item -Path $batchPath -ItemType "file" -Force - - Set-Content -Value $batchcontent -Path $batchPath + - task: PythonScript@0 + displayName: 'Download Miniforge' + inputs: + scriptSource: inline + script: | + import urllib.request + url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Windows-x86_64.exe' + path = r"$(Build.ArtifactStagingDirectory)/Miniforge.exe" + urllib.request.urlretrieve(url, path) - Get-ChildItem -Path $batchDir + - script: | + start /wait "" %BUILD_ARTIFACTSTAGINGDIRECTORY%\Miniforge.exe /InstallationType=JustMe /RegisterPython=0 /S /D=C:\Miniforge + displayName: Install Miniforge - Get-ChildItem -Path ($batchDir + '\..') + - powershell: Write-Host "##vso[task.prependpath]C:\Miniforge\Scripts" + displayName: Add conda to PATH - condition: contains(variables['CONFIG'], 'vs2008') - displayName: Patch vs2008 (if needed) - - task: CondaEnvironment@1 - inputs: - packageSpecs: 'python=3.9 conda-build conda pip boa conda-forge-ci-setup=3' # Optional - installOptions: "-c conda-forge" - updateConda: true - displayName: Install conda-build and activate environment + - script: | + call activate base + mamba.exe install 'python=3.9' conda-build conda pip boa 'conda-forge-ci-setup=3' -c conda-forge --strict-channel-priority --yes + displayName: Install conda-build - script: set PYTHONUNBUFFERED=1 displayName: Set PYTHONUNBUFFERED @@ -71,25 +53,16 @@ jobs: call activate base run_conda_forge_build_setup displayName: conda-forge build setup - - - # Special cased version setting some more things! - - script: | - call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml - displayName: Build recipe (vs2008) - env: - VS90COMNTOOLS: "C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\bin" - PYTHONUNBUFFERED: 1 - condition: contains(variables['CONFIG'], 'vs2008') - script: | call activate base + if EXIST LICENSE.txt ( + copy LICENSE.txt "recipe\\recipe-scripts-license.txt" + ) conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables displayName: Build recipe env: PYTHONUNBUFFERED: 1 - condition: not(contains(variables['CONFIG'], 'vs2008')) - script: | set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" call activate base diff --git a/.circleci/config.yml b/.circleci/config.yml index 6ad461b..3e61aa2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,8 @@ version: 2 jobs: build: working_directory: ~/test - machine: true + machine: + image: ubuntu-2004:current steps: - run: # The Circle-CI build should not be active, but if this is not true for some reason, do a fast finish. diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index c6b23e8..a6b09f6 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -24,7 +24,10 @@ export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" cat >~/.condarc < /dev/null +if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then + cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" +fi + if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 3d85505..736a39a 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -61,6 +61,10 @@ if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then fi +if [[ -f LICENSE.txt ]]; then + cp LICENSE.txt "recipe/recipe-scripts-license.txt" +fi + if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" diff --git a/LICENSE.txt b/LICENSE.txt index 6ec1401..2ec51d7 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,13 +1,27 @@ -BSD 3-clause license +BSD-3-Clause license Copyright (c) 2015-2022, conda-forge contributors 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 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. + 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. -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. +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 REGENTS 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/build-locally.py b/build-locally.py index eec38a0..3f4b7a7 100755 --- a/build-locally.py +++ b/build-locally.py @@ -86,12 +86,19 @@ def main(args=None): verify_config(ns) setup_environment(ns) - if ns.config.startswith("linux") or ( - ns.config.startswith("osx") and platform.system() == "Linux" - ): - run_docker_build(ns) - elif ns.config.startswith("osx"): - run_osx_build(ns) + try: + if ns.config.startswith("linux") or ( + ns.config.startswith("osx") and platform.system() == "Linux" + ): + run_docker_build(ns) + elif ns.config.startswith("osx"): + run_osx_build(ns) + finally: + recipe_license_file = os.path.join( + "recipe", "recipe-scripts-license.txt" + ) + if os.path.exists(recipe_license_file): + os.remove(recipe_license_file) if __name__ == "__main__": From bfec80980f4bea819a0668e4656581ff69191507 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 21 Jul 2022 02:13:00 +0000 Subject: [PATCH 020/182] updated v21.3 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7d1788c..ed63697 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "21.2" %} +{% set version = "21.3" %} package: name: libprotobuf @@ -6,7 +6,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/libprotobuf-v{{ version }}.tar.gz - sha256: ca983c9d2c8f8c935513642bcc4b2cbc64e4046e0bb16bf2ff893128577ece8c + sha256: 1e958b62debbb46ebefa16d848741d17c88dc018dd57b729c0cd58965380f3f8 patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often From e14f5d95f309709d5507d3af90a759f083561bfd Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 26 Jul 2022 03:54:23 +0000 Subject: [PATCH 021/182] updated v21.4 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ed63697..5f12f06 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "21.3" %} +{% set version = "21.4" %} package: name: libprotobuf @@ -6,7 +6,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/libprotobuf-v{{ version }}.tar.gz - sha256: 1e958b62debbb46ebefa16d848741d17c88dc018dd57b729c0cd58965380f3f8 + sha256: 990e47a163b4057f98b899eca591981b5b735872b58f59b9ead9cecabbb21a2a patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often From 24066ad09da72b70d55ae1a1d2a0a4a9b4633676 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 9 Aug 2022 23:12:20 +0000 Subject: [PATCH 022/182] updated v21.5 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5f12f06..4fce649 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "21.4" %} +{% set version = "21.5" %} package: name: libprotobuf @@ -6,7 +6,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/libprotobuf-v{{ version }}.tar.gz - sha256: 990e47a163b4057f98b899eca591981b5b735872b58f59b9ead9cecabbb21a2a + sha256: 4a7e87e4166c358c63342dddcde6312faee06ea9d5bb4e2fa87d3478076f6639 patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often From 1bc38d63695e18363ea59f5f9be57277bd6411ae Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 9 Aug 2022 23:12:42 +0000 Subject: [PATCH 023/182] MNT: Re-rendered with conda-build 3.21.9, conda-smithy 3.21.1, and conda-forge-pinning 2022.08.09.17.28.58 --- .azure-pipelines/azure-pipelines-osx.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 84d4f42..8032e96 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,7 +5,7 @@ jobs: - job: osx pool: - vmImage: macOS-10.15 + vmImage: macOS-11 strategy: matrix: osx_64_: From ba51c15711f03396780bc78cc9878dac25d21b34 Mon Sep 17 00:00:00 2001 From: conda-forge-admin Date: Sun, 14 Aug 2022 14:00:57 +0000 Subject: [PATCH 024/182] dummy commit for rerendering --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index d3e8a7a..bde9c06 100644 --- a/README.md +++ b/README.md @@ -220,3 +220,6 @@ Feedstock Maintainers * [@wesm](https://github.com/wesm/) * [@xhochy](https://github.com/xhochy/) + + + From 13c0dc0691edb91b5dcd33143391e361e81366d4 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 14 Aug 2022 10:01:43 -0400 Subject: [PATCH 025/182] Use run exports for zlib --- recipe/meta.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4fce649..f42bb01 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -22,7 +22,7 @@ source: folder: third_party/googletest build: - number: 0 + number: 1 outputs: - name: libprotobuf @@ -48,8 +48,6 @@ outputs: - make # [not win] host: - zlib - run: - - zlib test: commands: - protoc --help @@ -77,7 +75,6 @@ outputs: - zlib - {{ pin_subpackage('libprotobuf', exact=True) }} # [not win] run: - - zlib - {{ pin_subpackage('libprotobuf', exact=True) }} # [not win] run_constrained: - libprotobuf <0a0 # [win] From 64cd9a995cc619c7a918e71f57e02c979de5fbb3 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Sun, 14 Aug 2022 14:02:29 +0000 Subject: [PATCH 026/182] MNT: Re-rendered with conda-build 3.22.0, conda-smithy 3.21.1, and conda-forge-pinning 2022.08.13.16.03.46 --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index bde9c06..d3e8a7a 100644 --- a/README.md +++ b/README.md @@ -220,6 +220,3 @@ Feedstock Maintainers * [@wesm](https://github.com/wesm/) * [@xhochy](https://github.com/xhochy/) - - - From 96b14c1202e65396c807d1a38c850e709e779b35 Mon Sep 17 00:00:00 2001 From: conda-forge-admin Date: Thu, 25 Aug 2022 20:24:32 +0000 Subject: [PATCH 027/182] [ci skip] added user xylar --- .github/CODEOWNERS | 2 +- recipe/meta.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f959013..3a832a6 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @dopplershift @h-vetinari @hajapy @jakirkham @ocefpaf @wesm @xhochy \ No newline at end of file +* @xylar @dopplershift @h-vetinari @hajapy @jakirkham @ocefpaf @wesm @xhochy \ No newline at end of file diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f42bb01..6e35233 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -103,6 +103,7 @@ about: extra: recipe-maintainers: + - xylar - dopplershift - jakirkham - ocefpaf From 71d09e4c44085c7ed45d0ed9ea114fb56c39ae14 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Fri, 26 Aug 2022 08:33:08 +0200 Subject: [PATCH 028/182] Remove bot automerge This has not done us a good service for the last 5 updates. --- conda-forge.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/conda-forge.yml b/conda-forge.yml index 622715e..31e8d2e 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -2,8 +2,6 @@ provider: {linux_aarch64: default, linux_ppc64le: default, win: azure} conda_forge_output_validation: true build_platform: {osx_arm64: osx_64, linux_ppc64le: linux_64} test_on_native_only: true -bot: - automerge: true github: branch_name: main tooling_branch_name: main From 4cd1760fc9d6dcdbb56d52d73aa1fb6d1d5f08be Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Fri, 26 Aug 2022 09:10:56 +0200 Subject: [PATCH 029/182] Update to v3.21.2 --- recipe/meta.yaml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 6e35233..8f660e0 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,19 +1,20 @@ -{% set version = "21.5" %} +{% set version = "3.21.2" %} +{% set minor_micro = ".".join(version.split(".")[1:]) %} package: name: libprotobuf version: {{ version }} source: - - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/libprotobuf-v{{ version }}.tar.gz - sha256: 4a7e87e4166c358c63342dddcde6312faee06ea9d5bb4e2fa87d3478076f6639 + - url: https://github.com/protocolbuffers/protobuf/archive/v{{ minor_micro }}/protobuf-v{{ minor_micro }}.tar.gz + sha256: ca983c9d2c8f8c935513642bcc4b2cbc64e4046e0bb16bf2ff893128577ece8c patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often # https://github.com/protocolbuffers/protobuf/issues/7567 #- issue-7567.patch - # these are git submodules from the 3.10.1 release - # https://github.com/protocolbuffers/protobuf/tree/v3.10.1/third_party + # these are git submodules from the v21.2 release + # https://github.com/protocolbuffers/protobuf/tree/v21.2/third_party - url: https://github.com/google/benchmark/archive/5b7683f49e1e9223cf9927b24f6fd3d6bd82e3f8.tar.gz sha256: 5dc92703f811f94e2aa63bdab07ab749f28a094befa6cdfd5fe177f947590a48 folder: third_party/benchmark @@ -22,7 +23,7 @@ source: folder: third_party/googletest build: - number: 1 + number: 0 outputs: - name: libprotobuf From c4f43967a27991eb43afb0e8c89a23278670cc00 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Fri, 26 Aug 2022 07:14:12 +0000 Subject: [PATCH 030/182] MNT: Re-rendered with conda-build 3.22.0, conda-smithy 3.21.1, and conda-forge-pinning 2022.08.25.22.39.31 --- .ci_support/osx_64_.yaml | 4 ++-- .ci_support/osx_arm64_.yaml | 4 ++-- .ci_support/win_64_.yaml | 4 ++-- .github/CODEOWNERS | 2 +- README.md | 1 + 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 97c5e16..dd81253 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '13' +- '14' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '13' +- '14' macos_machine: - x86_64-apple-darwin13.4.0 pin_run_as_build: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 5c7ce34..b02c22c 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '13' +- '14' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '13' +- '14' macos_machine: - arm64-apple-darwin20.0.0 pin_run_as_build: diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index 661cdb7..b151dd2 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -1,11 +1,11 @@ c_compiler: -- vs2017 +- vs2019 channel_sources: - conda-forge channel_targets: - conda-forge main cxx_compiler: -- vs2017 +- vs2019 pin_run_as_build: zlib: max_pin: x.x diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 3a832a6..9fefdc9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @xylar @dopplershift @h-vetinari @hajapy @jakirkham @ocefpaf @wesm @xhochy \ No newline at end of file +* @dopplershift @h-vetinari @hajapy @jakirkham @ocefpaf @wesm @xhochy @xylar \ No newline at end of file diff --git a/README.md b/README.md index d3e8a7a..f4d39ec 100644 --- a/README.md +++ b/README.md @@ -219,4 +219,5 @@ Feedstock Maintainers * [@ocefpaf](https://github.com/ocefpaf/) * [@wesm](https://github.com/wesm/) * [@xhochy](https://github.com/xhochy/) +* [@xylar](https://github.com/xylar/) From d7e41a0651852e6945859d61fdd108d84b2a17d0 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Fri, 26 Aug 2022 13:12:48 +0200 Subject: [PATCH 031/182] Change version numbering to be more bot friendly Co-authored-by: h-vetinari --- recipe/meta.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8f660e0..d62f7f6 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,12 +1,14 @@ -{% set version = "3.21.2" %} -{% set minor_micro = ".".join(version.split(".")[1:]) %} +# keep this without major version to let the bot pick it up +{% set version = "21.2" %} +# protobuf doesn't add the major version in the tag... +{% set major = "3" %} package: name: libprotobuf - version: {{ version }} + version: {{ major + "." + version }} source: - - url: https://github.com/protocolbuffers/protobuf/archive/v{{ minor_micro }}/protobuf-v{{ minor_micro }}.tar.gz + - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz sha256: ca983c9d2c8f8c935513642bcc4b2cbc64e4046e0bb16bf2ff893128577ece8c patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] From e1439c5b30e73aabc2d9c181d15521111ef6529d Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Fri, 26 Aug 2022 17:39:40 +0200 Subject: [PATCH 032/182] Update to v3.21.3 --- recipe/meta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d62f7f6..8159f35 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "21.2" %} +{% set version = "21.3" %} # protobuf doesn't add the major version in the tag... {% set major = "3" %} @@ -9,14 +9,14 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz - sha256: ca983c9d2c8f8c935513642bcc4b2cbc64e4046e0bb16bf2ff893128577ece8c + sha256: 1e958b62debbb46ebefa16d848741d17c88dc018dd57b729c0cd58965380f3f8 patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often # https://github.com/protocolbuffers/protobuf/issues/7567 #- issue-7567.patch - # these are git submodules from the v21.2 release - # https://github.com/protocolbuffers/protobuf/tree/v21.2/third_party + # these are git submodules from the v21.3 release + # https://github.com/protocolbuffers/protobuf/tree/v21.3/third_party - url: https://github.com/google/benchmark/archive/5b7683f49e1e9223cf9927b24f6fd3d6bd82e3f8.tar.gz sha256: 5dc92703f811f94e2aa63bdab07ab749f28a094befa6cdfd5fe177f947590a48 folder: third_party/benchmark From 4a9db3873c6f6d11062e30dfabd4d87e5b4526ac Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Fri, 26 Aug 2022 18:31:30 +0200 Subject: [PATCH 033/182] Update to v3.21.4 --- recipe/meta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8159f35..efeff59 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "21.3" %} +{% set version = "21.4" %} # protobuf doesn't add the major version in the tag... {% set major = "3" %} @@ -9,14 +9,14 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz - sha256: 1e958b62debbb46ebefa16d848741d17c88dc018dd57b729c0cd58965380f3f8 + sha256: 990e47a163b4057f98b899eca591981b5b735872b58f59b9ead9cecabbb21a2a patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often # https://github.com/protocolbuffers/protobuf/issues/7567 #- issue-7567.patch - # these are git submodules from the v21.3 release - # https://github.com/protocolbuffers/protobuf/tree/v21.3/third_party + # these are git submodules from the v21.4 release + # https://github.com/protocolbuffers/protobuf/tree/v21.4/third_party - url: https://github.com/google/benchmark/archive/5b7683f49e1e9223cf9927b24f6fd3d6bd82e3f8.tar.gz sha256: 5dc92703f811f94e2aa63bdab07ab749f28a094befa6cdfd5fe177f947590a48 folder: third_party/benchmark From ef793227b7e6a692db5fd54e30c1ef3230ef1a2c Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Fri, 26 Aug 2022 20:39:43 +0200 Subject: [PATCH 034/182] Update to v3.21.5 --- recipe/meta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index efeff59..3697bba 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "21.4" %} +{% set version = "21.5" %} # protobuf doesn't add the major version in the tag... {% set major = "3" %} @@ -9,14 +9,14 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz - sha256: 990e47a163b4057f98b899eca591981b5b735872b58f59b9ead9cecabbb21a2a + sha256: 4a7e87e4166c358c63342dddcde6312faee06ea9d5bb4e2fa87d3478076f6639 patches: - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often # https://github.com/protocolbuffers/protobuf/issues/7567 #- issue-7567.patch - # these are git submodules from the v21.4 release - # https://github.com/protocolbuffers/protobuf/tree/v21.4/third_party + # these are git submodules from the v21.5 release + # https://github.com/protocolbuffers/protobuf/tree/v21.5/third_party - url: https://github.com/google/benchmark/archive/5b7683f49e1e9223cf9927b24f6fd3d6bd82e3f8.tar.gz sha256: 5dc92703f811f94e2aa63bdab07ab749f28a094befa6cdfd5fe177f947590a48 folder: third_party/benchmark From 74c4e979c46b4f98c2c7372719ea0d99ecaa6ba3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 16:09:36 +0200 Subject: [PATCH 035/182] clean up %ERRORLEVEL% handling in build win build scripts --- recipe/bld-shared.bat | 7 ++----- recipe/bld-static.bat | 8 ++------ 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/recipe/bld-shared.bat b/recipe/bld-shared.bat index e3879bb..8a12ad3 100644 --- a/recipe/bld-shared.bat +++ b/recipe/bld-shared.bat @@ -1,11 +1,8 @@ :: Setup directory structure per protobuf's instructions. cd cmake -if errorlevel 1 exit 1 mkdir build-shared -if errorlevel 1 exit 1 cd build-shared -if errorlevel 1 exit 1 :: Configure and install based on protobuf's instructions and other `bld.bat`s. cmake -G "Ninja" ^ @@ -16,6 +13,6 @@ cmake -G "Ninja" ^ -Dprotobuf_BUILD_SHARED_LIBS=ON ^ -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ^ .. -if errorlevel 1 exit 1 +if %ERRORLEVEL% neq 0 exit 1 cmake --build . --target install --config Release -if errorlevel 1 exit 1 +if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipe/bld-static.bat b/recipe/bld-static.bat index ccba7af..dabe153 100644 --- a/recipe/bld-static.bat +++ b/recipe/bld-static.bat @@ -1,11 +1,8 @@ :: Setup directory structure per protobuf's instructions. cd cmake -if errorlevel 1 exit 1 mkdir build-static -if errorlevel 1 exit 1 cd build-static -if errorlevel 1 exit 1 :: Configure and install based on protobuf's instructions and other `bld.bat`s. cmake -G "Ninja" ^ @@ -16,7 +13,6 @@ cmake -G "Ninja" ^ -Dprotobuf_BUILD_SHARED_LIBS=OFF ^ -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ^ .. -if errorlevel 1 exit 1 +if %ERRORLEVEL% neq 0 exit 1 cmake --build . --target install --config Release -if errorlevel 1 exit 1 - +if %ERRORLEVEL% neq 0 exit 1 From 0f5bd8b39e2066df839b9618269b49310bba9b20 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 16:19:44 +0200 Subject: [PATCH 036/182] unify windows build scripts --- recipe/bld-static.bat | 18 ------------------ recipe/{bld-shared.bat => build-lib.bat} | 13 ++++++++++--- recipe/meta.yaml | 4 ++-- 3 files changed, 12 insertions(+), 23 deletions(-) delete mode 100644 recipe/bld-static.bat rename recipe/{bld-shared.bat => build-lib.bat} (68%) diff --git a/recipe/bld-static.bat b/recipe/bld-static.bat deleted file mode 100644 index dabe153..0000000 --- a/recipe/bld-static.bat +++ /dev/null @@ -1,18 +0,0 @@ -:: Setup directory structure per protobuf's instructions. -cd cmake - -mkdir build-static -cd build-static - -:: Configure and install based on protobuf's instructions and other `bld.bat`s. -cmake -G "Ninja" ^ - -DCMAKE_BUILD_TYPE=Release ^ - -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ - -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ - -Dprotobuf_WITH_ZLIB=ON ^ - -Dprotobuf_BUILD_SHARED_LIBS=OFF ^ - -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ^ - .. -if %ERRORLEVEL% neq 0 exit 1 -cmake --build . --target install --config Release -if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipe/bld-shared.bat b/recipe/build-lib.bat similarity index 68% rename from recipe/bld-shared.bat rename to recipe/build-lib.bat index 8a12ad3..2720936 100644 --- a/recipe/bld-shared.bat +++ b/recipe/build-lib.bat @@ -1,8 +1,15 @@ :: Setup directory structure per protobuf's instructions. cd cmake -mkdir build-shared -cd build-shared +if "%PKG_NAME%"=="libprotobuf-static" ( + set CF_SHARED=OFF + mkdir build-static + cd build-static +) else ( + set CF_SHARED=ON + mkdir build-shared + cd build-shared +) :: Configure and install based on protobuf's instructions and other `bld.bat`s. cmake -G "Ninja" ^ @@ -10,7 +17,7 @@ cmake -G "Ninja" ^ -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -Dprotobuf_WITH_ZLIB=ON ^ - -Dprotobuf_BUILD_SHARED_LIBS=ON ^ + -Dprotobuf_BUILD_SHARED_LIBS=%CF_SHARED% ^ -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ^ .. if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3697bba..e959b06 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -30,7 +30,7 @@ build: outputs: - name: libprotobuf script: build-shared.sh # [unix] - script: bld-shared.bat # [win] + script: build-lib.bat # [win] build: run_exports: # breaks backwards compatibility and new SONAME each minor release @@ -61,7 +61,7 @@ outputs: - if not exist %PREFIX%\\Library\\lib\\libprotobuf-lite.lib exit 1 # [win] - name: libprotobuf-static script: build_static.sh # [unix] - script: bld-static.bat # [win] + script: build-lib.bat # [win] requirements: build: - {{ compiler('c') }} From 4d75f5a16a1434601df7153677324172f68e137d Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 16:29:59 +0200 Subject: [PATCH 037/182] add dev_url --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e959b06..d8d787a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -101,6 +101,7 @@ about: Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data- think XML, but smaller, faster, and simpler. + dev_url: https://github.com/protocolbuffers/protobuf doc_url: https://developers.google.com/protocol-buffers/ doc_source_url: https://github.com/protocolbuffers/protobuf/releases From 21d408cf0cad6085144d954ed57555a8ca0c6507 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 16:30:52 +0200 Subject: [PATCH 038/182] make sure tests for libprotobuf are run --- recipe/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d8d787a..68785e6 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -4,7 +4,7 @@ {% set major = "3" %} package: - name: libprotobuf + name: libprotobuf-split version: {{ major + "." + version }} source: @@ -115,3 +115,4 @@ extra: - hajapy - xhochy - h-vetinari + feedstock-name: libprotobuf From 9fbfc2294a65705e8a3f829f084cf3815205b8e8 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 17:59:36 +0200 Subject: [PATCH 039/182] switch unix builds to cmake --- recipe/{build-shared.sh => build-lib.sh} | 45 +++++++++++++----------- recipe/build_static.sh | 7 ---- recipe/meta.yaml | 22 ++++-------- 3 files changed, 31 insertions(+), 43 deletions(-) rename recipe/{build-shared.sh => build-lib.sh} (66%) delete mode 100755 recipe/build_static.sh diff --git a/recipe/build-shared.sh b/recipe/build-lib.sh similarity index 66% rename from recipe/build-shared.sh rename to recipe/build-lib.sh index ca7bc09..4d45370 100644 --- a/recipe/build-shared.sh +++ b/recipe/build-lib.sh @@ -1,5 +1,4 @@ #!/bin/bash - set -ex if [ "$(uname)" == "Linux" ]; @@ -21,22 +20,30 @@ fi export CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" -# Build configure/Makefile as they are not present. -aclocal -libtoolize -autoconf -autoreconf -i -automake --add-missing - -./configure --prefix="${PREFIX}" \ - --build=${BUILD} \ - --host=${HOST} \ - --with-pic \ - --with-zlib \ - --enable-shared \ - CC_FOR_BUILD=${CC} \ - CXX_FOR_BUILD=${CXX} +# Setup directory structure per protobuf's instructions. +cd cmake + +if [[ "$PKG_NAME" == "libprotobuf-static" ]]; then + export CF_SHARED=OFF + mkdir build-static + cd build-static +else + export CF_SHARED=ON + mkdir build-shared + cd build-shared +fi +cmake -G "Ninja" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -Dprotobuf_WITH_ZLIB=ON \ + -Dprotobuf_BUILD_SHARED_LIBS=$CF_SHARED \ + .. + +cmake --build . +cmake --install . + +cd ../.. # Skip memory hungry tests export GTEST_FILTER="-IoTest.LargeOutput" if [ "${HOST}" == "powerpc64le-conda_cos7-linux-gnu" ]; then @@ -48,7 +55,5 @@ else make check -j ${CPU_COUNT} || (cat src/test-suite.log; exit 1) fi fi -make install -rm ${PREFIX}/lib/libprotobuf.a -rm ${PREFIX}/lib/libprotobuf-lite.a -rm ${PREFIX}/lib/libprotoc.a + +cd cmake diff --git a/recipe/build_static.sh b/recipe/build_static.sh deleted file mode 100755 index f4666ac..0000000 --- a/recipe/build_static.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -mkdir -p ${PREFIX}/lib -ls -l ./src/.libs/libproto*.a -cp ./src/.libs/libproto*.a ${PREFIX}/lib/ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 68785e6..3d73540 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -29,7 +29,7 @@ build: outputs: - name: libprotobuf - script: build-shared.sh # [unix] + script: build-lib.sh # [unix] script: build-lib.bat # [win] build: run_exports: @@ -41,13 +41,8 @@ outputs: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - cmake # [win] - - ninja # [win] - - autoconf # [not win] - - automake # [not win] - - libtool # [not win] - - pkg-config # [not win] - - unzip # [not win] + - cmake + - ninja - make # [not win] host: - zlib @@ -60,19 +55,14 @@ outputs: - if not exist %PREFIX%\\Library\\lib\\libprotobuf.lib exit 1 # [win] - if not exist %PREFIX%\\Library\\lib\\libprotobuf-lite.lib exit 1 # [win] - name: libprotobuf-static - script: build_static.sh # [unix] + script: build-lib.sh # [unix] script: build-lib.bat # [win] requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - cmake # [win] - - ninja # [win] - - autoconf # [not win] - - automake # [not win] - - libtool # [not win] - - pkg-config # [not win] - - unzip # [not win] + - cmake + - ninja - make # [not win] host: - zlib From 9446713ac8eb2d4dca8968dab1ee2879d9b954db Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 18:00:44 +0200 Subject: [PATCH 040/182] move patches to separate folder --- recipe/meta.yaml | 4 ++-- recipe/{ => patches}/0001-remove-Werror-from-test-flags.patch | 0 recipe/{ => patches}/issue-7567.patch | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename recipe/{ => patches}/0001-remove-Werror-from-test-flags.patch (100%) rename recipe/{ => patches}/issue-7567.patch (100%) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3d73540..aac7174 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -11,10 +11,10 @@ source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz sha256: 4a7e87e4166c358c63342dddcde6312faee06ea9d5bb4e2fa87d3478076f6639 patches: - - 0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] + - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] # This issue gets fixed and then reintroduced often # https://github.com/protocolbuffers/protobuf/issues/7567 - #- issue-7567.patch + # - patches/issue-7567.patch # these are git submodules from the v21.5 release # https://github.com/protocolbuffers/protobuf/tree/v21.5/third_party - url: https://github.com/google/benchmark/archive/5b7683f49e1e9223cf9927b24f6fd3d6bd82e3f8.tar.gz diff --git a/recipe/0001-remove-Werror-from-test-flags.patch b/recipe/patches/0001-remove-Werror-from-test-flags.patch similarity index 100% rename from recipe/0001-remove-Werror-from-test-flags.patch rename to recipe/patches/0001-remove-Werror-from-test-flags.patch diff --git a/recipe/issue-7567.patch b/recipe/patches/issue-7567.patch similarity index 100% rename from recipe/issue-7567.patch rename to recipe/patches/issue-7567.patch From d35422c6ffc9a114ba763905de94e7d30c0ac6bb Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 18:23:48 +0200 Subject: [PATCH 041/182] use same setup for windows static libs as unix --- recipe/build-lib.bat | 1 + recipe/meta.yaml | 12 +++++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index 2720936..d5df478 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -16,6 +16,7 @@ cmake -G "Ninja" ^ -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_IMPORT_LIBRARY_SUFFIX="-import.lib" ^ -Dprotobuf_WITH_ZLIB=ON ^ -Dprotobuf_BUILD_SHARED_LIBS=%CF_SHARED% ^ -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ^ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index aac7174..79e0c81 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -51,9 +51,9 @@ outputs: - protoc --help - test -f ${PREFIX}/lib/libprotobuf${SHLIB_EXT} # [not win] - test ! -f ${PREFIX}/lib/libprotobuf.a # [not win] - - if not exist %PREFIX%\\Library\\lib\\libprotoc.lib exit 1 # [win] - - if not exist %PREFIX%\\Library\\lib\\libprotobuf.lib exit 1 # [win] - - if not exist %PREFIX%\\Library\\lib\\libprotobuf-lite.lib exit 1 # [win] + - if not exist %PREFIX%\\Library\\lib\\libprotoc-import.lib exit 1 # [win] + - if not exist %PREFIX%\\Library\\lib\\libprotobuf-import.lib exit 1 # [win] + - if not exist %PREFIX%\\Library\\lib\\libprotobuf-lite-import.lib exit 1 # [win] - name: libprotobuf-static script: build-lib.sh # [unix] script: build-lib.bat # [win] @@ -66,11 +66,9 @@ outputs: - make # [not win] host: - zlib - - {{ pin_subpackage('libprotobuf', exact=True) }} # [not win] + - {{ pin_subpackage('libprotobuf', exact=True) }} run: - - {{ pin_subpackage('libprotobuf', exact=True) }} # [not win] - run_constrained: - - libprotobuf <0a0 # [win] + - {{ pin_subpackage('libprotobuf', exact=True) }} test: commands: - test -f ${PREFIX}/lib/libprotobuf.a # [unix] From 355db2e8fd3b01f177fb60aacccf7755395aafc4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 18:30:57 +0200 Subject: [PATCH 042/182] refactor library tests --- recipe/meta.yaml | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 79e0c81..8e29b4b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -3,6 +3,8 @@ # protobuf doesn't add the major version in the tag... {% set major = "3" %} +{% set libraries = ["libprotoc", "libprotobuf", "libprotobuf-lite"] %} + package: name: libprotobuf-split version: {{ major + "." + version }} @@ -48,12 +50,21 @@ outputs: - zlib test: commands: + {% for each_lib in libraries %} + # shared libraries + - test -f ${PREFIX}/lib/{{ each_lib }}.so # [linux] + - test -f ${PREFIX}/lib/{{ each_lib }}.dylib # [osx] + - if not exist %LIBRARY_BIN%\{{ each_lib }}.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\{{ each_lib }}-import.lib exit 1 # [win] + + # absence of static libraries + - test ! -f ${PREFIX}/lib/{{ each_lib }}.a # [unix] + - if exist %LIBRARY_LIB%\{{ each_lib }}.lib exit 1 # [win] + {% endfor %} + + # binary - protoc --help - - test -f ${PREFIX}/lib/libprotobuf${SHLIB_EXT} # [not win] - - test ! -f ${PREFIX}/lib/libprotobuf.a # [not win] - - if not exist %PREFIX%\\Library\\lib\\libprotoc-import.lib exit 1 # [win] - - if not exist %PREFIX%\\Library\\lib\\libprotobuf-import.lib exit 1 # [win] - - if not exist %PREFIX%\\Library\\lib\\libprotobuf-lite-import.lib exit 1 # [win] + - name: libprotobuf-static script: build-lib.sh # [unix] script: build-lib.bat # [win] @@ -71,13 +82,11 @@ outputs: - {{ pin_subpackage('libprotobuf', exact=True) }} test: commands: - - test -f ${PREFIX}/lib/libprotobuf.a # [unix] - - test -f ${PREFIX}/lib/libprotobuf-lite.a # [unix] - - test -f ${PREFIX}/lib/libprotoc.a # [unix] - - if exist %PREFIX%\\Library\\bin\\libprotoc.dll exit 1 # [win] - - if not exist %PREFIX%\\Library\\lib\\libprotoc.lib exit 1 # [win] - - if not exist %PREFIX%\\Library\\lib\\libprotobuf.lib exit 1 # [win] - - if not exist %PREFIX%\\Library\\lib\\libprotobuf-lite.lib exit 1 # [win] + {% for each_lib in libraries %} + # static libraries + - test -f ${PREFIX}/lib/{{ each_lib }}.a # [unix] + - if not exist %LIBRARY_LIB%\{{ each_lib }}.lib exit 1 # [win] + {% endfor %} about: home: https://developers.google.com/protocol-buffers/ From 0305f0c275b461760a8261a93b740b3e1d59ac26 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:49:53 +0200 Subject: [PATCH 043/182] use consistent location for cmake files --- recipe/meta.yaml | 1 + .../0001-remove-Werror-from-test-flags.patch | 10 +++--- .../0002-use-consistent-cmake-location.patch | 32 +++++++++++++++++++ 3 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 recipe/patches/0002-use-consistent-cmake-location.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8e29b4b..a181756 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -14,6 +14,7 @@ source: sha256: 4a7e87e4166c358c63342dddcde6312faee06ea9d5bb4e2fa87d3478076f6639 patches: - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] + - patches/0002-use-consistent-cmake-location.patch # This issue gets fixed and then reintroduced often # https://github.com/protocolbuffers/protobuf/issues/7567 # - patches/issue-7567.patch diff --git a/recipe/patches/0001-remove-Werror-from-test-flags.patch b/recipe/patches/0001-remove-Werror-from-test-flags.patch index 14e7bb5..353564f 100644 --- a/recipe/patches/0001-remove-Werror-from-test-flags.patch +++ b/recipe/patches/0001-remove-Werror-from-test-flags.patch @@ -1,7 +1,7 @@ -From b153be3cc77095c4ef91faf42431144c8bf51dba Mon Sep 17 00:00:00 2001 +From d667a84c67f61e612017e253d84a0efa214413bd Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Mon, 4 Jun 2018 17:06:30 -0400 -Subject: [PATCH] remove Werror from test flags +Subject: [PATCH 1/2] remove Werror from test flags Remove -Werror from the CXXFLAGS used for `make check` --- @@ -9,10 +9,10 @@ Remove -Werror from the CXXFLAGS used for `make check` 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am -index be18ba7..ecdeab2 100644 +index e6a7dc7fd..470075274 100644 --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -894,7 +894,7 @@ no_warning_test.cc: +@@ -910,7 +910,7 @@ no_warning_test.cc: no_warning_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la no_warning_test_CXXFLAGS = $(PTHREAD_CFLAGS) $(PTHREAD_DEF) $(ZLIB_DEF) \ @@ -22,5 +22,5 @@ index be18ba7..ecdeab2 100644 TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \ -- -2.17.1 +2.37.0.windows.1 diff --git a/recipe/patches/0002-use-consistent-cmake-location.patch b/recipe/patches/0002-use-consistent-cmake-location.patch new file mode 100644 index 0000000..aea7ca1 --- /dev/null +++ b/recipe/patches/0002-use-consistent-cmake-location.patch @@ -0,0 +1,32 @@ +From 06928c896573b92c000e7c069a2ef6739d87c9e3 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Sat, 3 Sep 2022 19:48:04 +0200 +Subject: [PATCH 2/2] use consistent cmake location + +--- + cmake/install.cmake | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +diff --git a/cmake/install.cmake b/cmake/install.cmake +index 825cb25fc..529e898e7 100644 +--- a/cmake/install.cmake ++++ b/cmake/install.cmake +@@ -104,13 +104,8 @@ endforeach() + # Install configuration + set(_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the cmake configuration files") + set(_exampledir_desc "Directory relative to CMAKE_INSTALL_DATA to install examples") +-if(NOT MSVC) +- set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/protobuf" CACHE STRING "${_cmakedir_desc}") +- set(CMAKE_INSTALL_EXAMPLEDIR "${CMAKE_INSTALL_DATADIR}/protobuf/examples" CACHE STRING "${_exampledir_desc}") +-else() +- set(CMAKE_INSTALL_CMAKEDIR "cmake" CACHE STRING "${_cmakedir_desc}") +- set(CMAKE_INSTALL_EXAMPLEDIR "examples" CACHE STRING "${_exampledir_desc}") +-endif() ++set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/protobuf" CACHE STRING "${_cmakedir_desc}") ++set(CMAKE_INSTALL_EXAMPLEDIR "${CMAKE_INSTALL_DATADIR}/protobuf/examples" CACHE STRING "${_exampledir_desc}") + mark_as_advanced(CMAKE_INSTALL_CMAKEDIR) + mark_as_advanced(CMAKE_INSTALL_EXAMPLEDIR) + +-- +2.37.0.windows.1 + From 38a5c1748bd8b825ba49c076d5f64c948c2f4bdb Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:50:15 +0200 Subject: [PATCH 044/182] add tests for cmake & pkgconfig files --- recipe/meta.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a181756..57ac200 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -63,6 +63,16 @@ outputs: - if exist %LIBRARY_LIB%\{{ each_lib }}.lib exit 1 # [win] {% endfor %} + # cmake + - test -f ${PREFIX}/lib/cmake/protobuf/protobuf-config.cmake # [unix] + - if not exist %LIBRARY_LIB%\cmake\protobuf\protobuf-config.cmake exit 1 # [win] + + # pkgconfig + - test -f ${PREFIX}/lib/pkgconfig/protobuf.pc # [unix] + - test -f ${PREFIX}/lib/pkgconfig/protobuf-lite.pc # [unix] + - if not exist %LIBRARY_LIB%\pkgconfig\protobuf.pc exit 1 # [win] + - if not exist %LIBRARY_LIB%\pkgconfig\protobuf-lite.pc exit 1 # [win] + # binary - protoc --help From 9adbcbf02c8bc6ab5d6505bcb042afb937cbc2bc Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:58:41 +0200 Subject: [PATCH 045/182] set import lib extension through patch --- recipe/build-lib.bat | 1 - recipe/meta.yaml | 1 + .../0001-remove-Werror-from-test-flags.patch | 2 +- .../0002-use-consistent-cmake-location.patch | 2 +- ...-set-import-lib-extension-on-windows.patch | 29 +++++++++++++++++++ 5 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 recipe/patches/0003-set-import-lib-extension-on-windows.patch diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index d5df478..2720936 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -16,7 +16,6 @@ cmake -G "Ninja" ^ -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ - -DCMAKE_IMPORT_LIBRARY_SUFFIX="-import.lib" ^ -Dprotobuf_WITH_ZLIB=ON ^ -Dprotobuf_BUILD_SHARED_LIBS=%CF_SHARED% ^ -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ^ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 57ac200..835ca91 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -15,6 +15,7 @@ source: patches: - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] - patches/0002-use-consistent-cmake-location.patch + - patches/0003-set-import-lib-extension-on-windows.patch # This issue gets fixed and then reintroduced often # https://github.com/protocolbuffers/protobuf/issues/7567 # - patches/issue-7567.patch diff --git a/recipe/patches/0001-remove-Werror-from-test-flags.patch b/recipe/patches/0001-remove-Werror-from-test-flags.patch index 353564f..d2137e3 100644 --- a/recipe/patches/0001-remove-Werror-from-test-flags.patch +++ b/recipe/patches/0001-remove-Werror-from-test-flags.patch @@ -1,7 +1,7 @@ From d667a84c67f61e612017e253d84a0efa214413bd Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Mon, 4 Jun 2018 17:06:30 -0400 -Subject: [PATCH 1/2] remove Werror from test flags +Subject: [PATCH 1/3] remove Werror from test flags Remove -Werror from the CXXFLAGS used for `make check` --- diff --git a/recipe/patches/0002-use-consistent-cmake-location.patch b/recipe/patches/0002-use-consistent-cmake-location.patch index aea7ca1..9d15f7a 100644 --- a/recipe/patches/0002-use-consistent-cmake-location.patch +++ b/recipe/patches/0002-use-consistent-cmake-location.patch @@ -1,7 +1,7 @@ From 06928c896573b92c000e7c069a2ef6739d87c9e3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 2/2] use consistent cmake location +Subject: [PATCH 2/3] use consistent cmake location --- cmake/install.cmake | 9 ++------- diff --git a/recipe/patches/0003-set-import-lib-extension-on-windows.patch b/recipe/patches/0003-set-import-lib-extension-on-windows.patch new file mode 100644 index 0000000..8921468 --- /dev/null +++ b/recipe/patches/0003-set-import-lib-extension-on-windows.patch @@ -0,0 +1,29 @@ +From 4276a93dfc60f5104733b66b91cbe5350689f920 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Sun, 4 Sep 2022 10:57:08 +0200 +Subject: [PATCH 3/3] set import lib extension on windows + +--- + CMakeLists.txt | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 04cb3303a..f585628e7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -316,6 +316,12 @@ if (protobuf_BUILD_PROTOC_BINARIES) + endif (NOT DEFINED protobuf_PROTOC_EXE) + endif (protobuf_BUILD_PROTOC_BINARIES) + ++if (MSVC) ++ set_target_properties(libprotoc PROPERTIES IMPORT_SUFFIX "-import.lib") ++ set_target_properties(libprotobuf PROPERTIES IMPORT_SUFFIX "-import.lib") ++ set_target_properties(libprotobuf-lite PROPERTIES IMPORT_SUFFIX "-import.lib") ++endif (MSVC) ++ + # Ensure we have a protoc executable if we need one + if (protobuf_BUILD_TESTS OR protobuf_BUILD_CONFORMANCE OR protobuf_BUILD_EXAMPLES) + if (NOT DEFINED protobuf_PROTOC_EXE) +-- +2.37.0.windows.1 + From b1c8435b872e12ad1b015db7863d5c4800e4520e Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 11:04:05 +0200 Subject: [PATCH 046/182] run tests through cmake/ninja --- recipe/build-lib.sh | 16 +++------------- recipe/meta.yaml | 2 -- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/recipe/build-lib.sh b/recipe/build-lib.sh index 4d45370..5fed822 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -41,19 +41,9 @@ cmake -G "Ninja" \ .. cmake --build . -cmake --install . -cd ../.. -# Skip memory hungry tests -export GTEST_FILTER="-IoTest.LargeOutput" -if [ "${HOST}" == "powerpc64le-conda_cos7-linux-gnu" ]; then - make -j 2 - make check -j 2 || (cat src/test-suite.log; exit 1) -else - make -j ${CPU_COUNT} - if [[ "$CONDA_BUILD_CROSS_COMPILATION" != 1 ]]; then - make check -j ${CPU_COUNT} || (cat src/test-suite.log; exit 1) - fi +if [[ "$CONDA_BUILD_CROSS_COMPILATION" != 1 ]]; then + ninja check fi -cd cmake +cmake --install . diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 835ca91..113d29c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -47,7 +47,6 @@ outputs: - {{ compiler('cxx') }} - cmake - ninja - - make # [not win] host: - zlib test: @@ -86,7 +85,6 @@ outputs: - {{ compiler('cxx') }} - cmake - ninja - - make # [not win] host: - zlib - {{ pin_subpackage('libprotobuf', exact=True) }} From f4325189957ec2a34026381db2b936bbe6b22343 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 11:08:09 +0200 Subject: [PATCH 047/182] add ucrt as rundep on windows --- recipe/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 113d29c..43dfea2 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -49,6 +49,8 @@ outputs: - ninja host: - zlib + run: + - ucrt # [win] test: commands: {% for each_lib in libraries %} From f02e27228a25d5664088358d729e8eb67e82f183 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 11:36:05 +0200 Subject: [PATCH 048/182] show output in win build script --- recipe/build-lib.bat | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index 2720936..7e25ab4 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -1,3 +1,5 @@ +@echo on + :: Setup directory structure per protobuf's instructions. cd cmake From d4e35c630a78d9cfbe93796deb4ef98bfd974a39 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 12:40:48 +0200 Subject: [PATCH 049/182] don't build tests in cross-compilation --- recipe/build-lib.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/recipe/build-lib.sh b/recipe/build-lib.sh index 5fed822..2dac759 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -33,9 +33,13 @@ else cd build-shared fi +if [[ "$CONDA_BUILD_CROSS_COMPILATION" == 1 ]]; then + export CMAKE_ARGS="${CMAKE_ARGS} -Dprotobuf_BUILD_TESTS=OFF" +fi + cmake -G "Ninja" \ + ${CMAKE_ARGS} \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=$PREFIX \ -Dprotobuf_WITH_ZLIB=ON \ -Dprotobuf_BUILD_SHARED_LIBS=$CF_SHARED \ .. From 9066232c575370b6868498aaa8b537107bc7ad06 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 13:10:57 +0200 Subject: [PATCH 050/182] bump build number --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 43dfea2..9809f77 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -29,7 +29,7 @@ source: folder: third_party/googletest build: - number: 0 + number: 1 outputs: - name: libprotobuf From e92cb86a7344aa2564f5a72a3f963192de70bfc7 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 13:16:04 +0200 Subject: [PATCH 051/182] do not use deprecate CMake build files --- recipe/build-lib.bat | 3 --- recipe/build-lib.sh | 3 --- 2 files changed, 6 deletions(-) diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index 7e25ab4..3c6d248 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -1,8 +1,5 @@ @echo on -:: Setup directory structure per protobuf's instructions. -cd cmake - if "%PKG_NAME%"=="libprotobuf-static" ( set CF_SHARED=OFF mkdir build-static diff --git a/recipe/build-lib.sh b/recipe/build-lib.sh index 2dac759..6071cec 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -20,9 +20,6 @@ fi export CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" -# Setup directory structure per protobuf's instructions. -cd cmake - if [[ "$PKG_NAME" == "libprotobuf-static" ]]; then export CF_SHARED=OFF mkdir build-static From e52c43c2938f930fca26f09e7e9e93a95f9e8823 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 13:19:50 +0200 Subject: [PATCH 052/182] cross-compile aarch64 --- conda-forge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda-forge.yml b/conda-forge.yml index 31e8d2e..2df57a1 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,6 +1,6 @@ provider: {linux_aarch64: default, linux_ppc64le: default, win: azure} conda_forge_output_validation: true -build_platform: {osx_arm64: osx_64, linux_ppc64le: linux_64} +build_platform: {osx_arm64: osx_64, linux_aarch64: linux_64, linux_ppc64le: linux_64} test_on_native_only: true github: branch_name: main From c42a5b8c93ad80482b290bb5a9c62ee818832007 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 13:25:39 +0200 Subject: [PATCH 053/182] MNT: Re-rendered with conda-build 3.22.0, conda-smithy 3.21.1, and conda-forge-pinning 2022.09.03.21.29.17 --- .azure-pipelines/azure-pipelines-linux.yml | 4 ++++ .ci_support/linux_aarch64_.yaml | 2 +- .travis.yml | 22 ---------------------- README.md | 11 +++-------- 4 files changed, 8 insertions(+), 31 deletions(-) delete mode 100644 .travis.yml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 442ec2a..3b9dee7 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -12,6 +12,10 @@ jobs: CONFIG: linux_64_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_: + CONFIG: linux_aarch64_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_ppc64le_: CONFIG: linux_ppc64le_ UPLOAD_PACKAGES: 'True' diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 089b636..de65884 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -17,7 +17,7 @@ cxx_compiler: cxx_compiler_version: - '10' docker_image: -- quay.io/condaforge/linux-anvil-aarch64 +- quay.io/condaforge/linux-anvil-cos7-x86_64 pin_run_as_build: zlib: max_pin: x.x diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index b25d24d..0000000 --- a/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. - -language: generic - - - -matrix: - include: - - env: CONFIG=linux_aarch64_ UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 - os: linux - arch: arm64 - dist: focal - -script: - - export CI=travis - - export GIT_BRANCH="$TRAVIS_BRANCH" - - export FEEDSTOCK_NAME=$(basename ${TRAVIS_REPO_SLUG}) - - if [[ "${TRAVIS_PULL_REQUEST:-}" == "false" ]]; then export IS_PR_BUILD="False"; else export IS_PR_BUILD="True"; fi - - - - if [[ ${PLATFORM} =~ .*linux.* ]]; then CONDA_FORGE_DOCKER_RUN_ARGS="--network=host --security-opt=seccomp=unconfined" ./.scripts/run_docker_build.sh; fi \ No newline at end of file diff --git a/README.md b/README.md index f4d39ec..3cff242 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,8 @@ Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/libprotobuf-fee Summary: Protocol Buffers - Google's data interchange format. C++ Libraries and protoc, the protobuf compiler. +Development: https://github.com/protocolbuffers/protobuf + Documentation: https://developers.google.com/protocol-buffers/ Protocol buffers are Google's language-neutral, @@ -20,14 +22,7 @@ Current build status ==================== -
Travis + + linux + +
Azure
- - - +
Travis - - linux - -
From 31bcbc1639364f7037005f381e6a5abcf53bd2fb Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 7 Sep 2022 08:50:22 +0200 Subject: [PATCH 054/182] back to autotools build on unix for now --- recipe/build-shared.sh | 54 ++++++++++++++++++++++++++++++++++++++++++ recipe/build-static.sh | 7 ++++++ recipe/meta.yaml | 28 +++++++++++++++------- 3 files changed, 81 insertions(+), 8 deletions(-) create mode 100644 recipe/build-shared.sh create mode 100644 recipe/build-static.sh diff --git a/recipe/build-shared.sh b/recipe/build-shared.sh new file mode 100644 index 0000000..ca7bc09 --- /dev/null +++ b/recipe/build-shared.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +set -ex + +if [ "$(uname)" == "Linux" ]; +then + # protobuf uses PROTOBUF_OPT_FLAG to set the optimization level + # unit test can fail if optmization above 0 are used. + CPPFLAGS="${CPPFLAGS//-O[0-9]/}" + CXXFLAGS="${CXXFLAGS//-O[0-9]/}" + export PROTOBUF_OPT_FLAG="-O2" + # to improve performance, disable checks intended for debugging + CXXFLAGS="$CXXFLAGS -DNDEBUG" +elif [ "$(uname)" == "Darwin" ]; +then + # remove pie from LDFLAGS + LDFLAGS="${LDFLAGS//-pie/}" +fi + +# required to pick up conda installed zlib +export CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" +export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" + +# Build configure/Makefile as they are not present. +aclocal +libtoolize +autoconf +autoreconf -i +automake --add-missing + +./configure --prefix="${PREFIX}" \ + --build=${BUILD} \ + --host=${HOST} \ + --with-pic \ + --with-zlib \ + --enable-shared \ + CC_FOR_BUILD=${CC} \ + CXX_FOR_BUILD=${CXX} + +# Skip memory hungry tests +export GTEST_FILTER="-IoTest.LargeOutput" +if [ "${HOST}" == "powerpc64le-conda_cos7-linux-gnu" ]; then + make -j 2 + make check -j 2 || (cat src/test-suite.log; exit 1) +else + make -j ${CPU_COUNT} + if [[ "$CONDA_BUILD_CROSS_COMPILATION" != 1 ]]; then + make check -j ${CPU_COUNT} || (cat src/test-suite.log; exit 1) + fi +fi +make install +rm ${PREFIX}/lib/libprotobuf.a +rm ${PREFIX}/lib/libprotobuf-lite.a +rm ${PREFIX}/lib/libprotoc.a diff --git a/recipe/build-static.sh b/recipe/build-static.sh new file mode 100644 index 0000000..f4666ac --- /dev/null +++ b/recipe/build-static.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +set -euo pipefail + +mkdir -p ${PREFIX}/lib +ls -l ./src/.libs/libproto*.a +cp ./src/.libs/libproto*.a ${PREFIX}/lib/ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9809f77..98d5159 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -33,7 +33,10 @@ build: outputs: - name: libprotobuf - script: build-lib.sh # [unix] + script: build-shared.sh # [unix] + # cmake script currently disabled due to compatibility issues with + # existing builds; see #49 for potential solution, or switch with 3.22 + # script: build-lib.sh # [unix] script: build-lib.bat # [win] build: run_exports: @@ -45,8 +48,14 @@ outputs: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - cmake - - ninja + - cmake # [win] + - ninja # [win] + - autoconf # [not win] + - automake # [not win] + - libtool # [not win] + - pkg-config # [not win] + - unzip # [not win] + - make # [not win] host: - zlib run: @@ -65,8 +74,8 @@ outputs: - if exist %LIBRARY_LIB%\{{ each_lib }}.lib exit 1 # [win] {% endfor %} - # cmake - - test -f ${PREFIX}/lib/cmake/protobuf/protobuf-config.cmake # [unix] + # cmake (disabled on unix currently) + # - test -f ${PREFIX}/lib/cmake/protobuf/protobuf-config.cmake # [unix] - if not exist %LIBRARY_LIB%\cmake\protobuf\protobuf-config.cmake exit 1 # [win] # pkgconfig @@ -79,14 +88,17 @@ outputs: - protoc --help - name: libprotobuf-static - script: build-lib.sh # [unix] + script: build-static.sh # [unix] + # cmake script currently disabled due to compatibility issues with + # existing builds; see #49 for potential solution, or switch with 3.22 + # script: build-lib.sh # [unix] script: build-lib.bat # [win] requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - cmake - - ninja + - cmake # [win] + - ninja # [win] host: - zlib - {{ pin_subpackage('libprotobuf', exact=True) }} From a791734a0e0a68b4e3429f1601f1338c891b2cb1 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 7 Sep 2022 09:43:12 +0200 Subject: [PATCH 055/182] bump build number --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 98d5159..8f8b2bf 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -29,7 +29,7 @@ source: folder: third_party/googletest build: - number: 1 + number: 2 outputs: - name: libprotobuf From 971397446f90021ea7a2dc2b3c9bb9a9a2db39bf Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 7 Sep 2022 12:09:24 +0200 Subject: [PATCH 056/182] switch extensions of static libs on windows leave the standard one (".lib") for detection of the import library --- recipe/meta.yaml | 6 +++--- ...> 0003-set-static-lib-extension-on-windows.patch} | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) rename recipe/patches/{0003-set-import-lib-extension-on-windows.patch => 0003-set-static-lib-extension-on-windows.patch} (60%) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8f8b2bf..0fb0b8d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -15,7 +15,7 @@ source: patches: - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] - patches/0002-use-consistent-cmake-location.patch - - patches/0003-set-import-lib-extension-on-windows.patch + - patches/0003-set-static-lib-extension-on-windows.patch # This issue gets fixed and then reintroduced often # https://github.com/protocolbuffers/protobuf/issues/7567 # - patches/issue-7567.patch @@ -67,11 +67,11 @@ outputs: - test -f ${PREFIX}/lib/{{ each_lib }}.so # [linux] - test -f ${PREFIX}/lib/{{ each_lib }}.dylib # [osx] - if not exist %LIBRARY_BIN%\{{ each_lib }}.dll exit 1 # [win] - - if not exist %LIBRARY_LIB%\{{ each_lib }}-import.lib exit 1 # [win] + - if not exist %LIBRARY_LIB%\{{ each_lib }}.lib exit 1 # [win] # absence of static libraries - test ! -f ${PREFIX}/lib/{{ each_lib }}.a # [unix] - - if exist %LIBRARY_LIB%\{{ each_lib }}.lib exit 1 # [win] + - if exist %LIBRARY_LIB%\{{ each_lib }}-static.lib exit 1 # [win] {% endfor %} # cmake (disabled on unix currently) diff --git a/recipe/patches/0003-set-import-lib-extension-on-windows.patch b/recipe/patches/0003-set-static-lib-extension-on-windows.patch similarity index 60% rename from recipe/patches/0003-set-import-lib-extension-on-windows.patch rename to recipe/patches/0003-set-static-lib-extension-on-windows.patch index 8921468..193715c 100644 --- a/recipe/patches/0003-set-import-lib-extension-on-windows.patch +++ b/recipe/patches/0003-set-static-lib-extension-on-windows.patch @@ -1,14 +1,14 @@ -From 4276a93dfc60f5104733b66b91cbe5350689f920 Mon Sep 17 00:00:00 2001 +From 2c4529ef940209eea061954722a016c74450db51 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 3/3] set import lib extension on windows +Subject: [PATCH 3/3] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 04cb3303a..f585628e7 100644 +index 04cb3303a..ca6144702 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -316,6 +316,12 @@ if (protobuf_BUILD_PROTOC_BINARIES) @@ -16,9 +16,9 @@ index 04cb3303a..f585628e7 100644 endif (protobuf_BUILD_PROTOC_BINARIES) +if (MSVC) -+ set_target_properties(libprotoc PROPERTIES IMPORT_SUFFIX "-import.lib") -+ set_target_properties(libprotobuf PROPERTIES IMPORT_SUFFIX "-import.lib") -+ set_target_properties(libprotobuf-lite PROPERTIES IMPORT_SUFFIX "-import.lib") ++ set_target_properties(libprotoc PROPERTIES STATIC_SUFFIX "-static.lib") ++ set_target_properties(libprotobuf PROPERTIES STATIC_SUFFIX "-static.lib") ++ set_target_properties(libprotobuf-lite PROPERTIES STATIC_SUFFIX "-static.lib") +endif (MSVC) + # Ensure we have a protoc executable if we need one From 3b6ee920efa586a507feee3485b2769e6597842b Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 7 Sep 2022 12:09:36 +0200 Subject: [PATCH 057/182] bump build number --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0fb0b8d..735df54 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -29,7 +29,7 @@ source: folder: third_party/googletest build: - number: 2 + number: 3 outputs: - name: libprotobuf From 2d2a6350d7032e409d5f047aa65748478f906307 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 7 Sep 2022 12:22:47 +0200 Subject: [PATCH 058/182] add test for find_package(Protobuf REQUIRED) --- recipe/cmake_test/CMakeLists.txt | 6 ++++++ recipe/meta.yaml | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 recipe/cmake_test/CMakeLists.txt diff --git a/recipe/cmake_test/CMakeLists.txt b/recipe/cmake_test/CMakeLists.txt new file mode 100644 index 0000000..8c0f044 --- /dev/null +++ b/recipe/cmake_test/CMakeLists.txt @@ -0,0 +1,6 @@ +project(cf_dummy LANGUAGES C CXX) +cmake_minimum_required(VERSION 3.12) +# CMake seems to prefer its own FindProtobuf to the +# protobuf-config.cmake being distributed by this +# feedstock; make sure things work +find_package(Protobuf REQUIRED) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 735df54..1c83b92 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -61,6 +61,13 @@ outputs: run: - ucrt # [win] test: + requires: + # cmake needs compiler to be able to run package detection, see + # https://discourse.cmake.org/t/questions-about-find-package-cli-msvc/6194 + - {{ compiler('cxx') }} # [win] + - cmake # [win] + files: + - cmake_test/ commands: {% for each_lib in libraries %} # shared libraries @@ -87,6 +94,10 @@ outputs: # binary - protoc --help + # more CMake integration (CMake uses its own FindProtobuf) + - cd cmake_test # [win] + - cmake %CMAKE_ARGS% . # [win] + - name: libprotobuf-static script: build-static.sh # [unix] # cmake script currently disabled due to compatibility issues with @@ -105,6 +116,13 @@ outputs: run: - {{ pin_subpackage('libprotobuf', exact=True) }} test: + requires: + # cmake needs compiler to be able to run package detection, see + # https://discourse.cmake.org/t/questions-about-find-package-cli-msvc/6194 + - {{ compiler('cxx') }} # [win] + - cmake # [win] + files: + - cmake_test/ commands: {% for each_lib in libraries %} # static libraries @@ -112,6 +130,10 @@ outputs: - if not exist %LIBRARY_LIB%\{{ each_lib }}.lib exit 1 # [win] {% endfor %} + # more CMake integration (CMake uses its own FindProtobuf) + - cd cmake_test # [win] + - cmake %CMAKE_ARGS% . # [win] + about: home: https://developers.google.com/protocol-buffers/ license: BSD-3-Clause From 3db1a7ee280d1b68b8b6675431e68f7fd329da95 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Wed, 14 Sep 2022 19:41:28 +0000 Subject: [PATCH 059/182] updated v21.6 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 1c83b92..b8fdfc7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "21.5" %} +{% set version = "21.6" %} # protobuf doesn't add the major version in the tag... {% set major = "3" %} @@ -11,7 +11,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz - sha256: 4a7e87e4166c358c63342dddcde6312faee06ea9d5bb4e2fa87d3478076f6639 + sha256: dbb16fdbca8f277c9a194d9a837395cde408ca136738d94743130dd0de015efd patches: - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] - patches/0002-use-consistent-cmake-location.patch @@ -29,7 +29,7 @@ source: folder: third_party/googletest build: - number: 3 + number: 0 outputs: - name: libprotobuf From 397d94e41e61eeb590fc614815bd1366eb2925ec Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 23 Sep 2022 11:28:55 +0200 Subject: [PATCH 060/182] fix test for static lib on windows --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b8fdfc7..bdcebe1 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -127,7 +127,7 @@ outputs: {% for each_lib in libraries %} # static libraries - test -f ${PREFIX}/lib/{{ each_lib }}.a # [unix] - - if not exist %LIBRARY_LIB%\{{ each_lib }}.lib exit 1 # [win] + - if not exist %LIBRARY_LIB%\{{ each_lib }}-static.lib exit 1 # [win] {% endfor %} # more CMake integration (CMake uses its own FindProtobuf) From 81927881169dce5956836b9d2d58eb01c8dd0c63 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 23 Sep 2022 11:31:17 +0200 Subject: [PATCH 061/182] fix patch after being tricked by CMake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There's CMAKE_{SHARED,STATIC,IMPORT}_LIBRARY_SUFFIX and there's set_target_properties(... IMPORT_SUFFIX ...), but no STATIC_SUFFIX. 🤷 --- .../0001-remove-Werror-from-test-flags.patch | 4 ++-- .../0002-use-consistent-cmake-location.patch | 2 +- .../0003-set-static-lib-extension-on-windows.patch | 14 +++++++------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/recipe/patches/0001-remove-Werror-from-test-flags.patch b/recipe/patches/0001-remove-Werror-from-test-flags.patch index d2137e3..be1425b 100644 --- a/recipe/patches/0001-remove-Werror-from-test-flags.patch +++ b/recipe/patches/0001-remove-Werror-from-test-flags.patch @@ -1,4 +1,4 @@ -From d667a84c67f61e612017e253d84a0efa214413bd Mon Sep 17 00:00:00 2001 +From af9c0001bcc1b356baa54071f017f90a21e3cd6b Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Mon, 4 Jun 2018 17:06:30 -0400 Subject: [PATCH 1/3] remove Werror from test flags @@ -9,7 +9,7 @@ Remove -Werror from the CXXFLAGS used for `make check` 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am -index e6a7dc7fd..470075274 100644 +index 3a6ecdc42..3e739b0e6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -910,7 +910,7 @@ no_warning_test.cc: diff --git a/recipe/patches/0002-use-consistent-cmake-location.patch b/recipe/patches/0002-use-consistent-cmake-location.patch index 9d15f7a..b892ecb 100644 --- a/recipe/patches/0002-use-consistent-cmake-location.patch +++ b/recipe/patches/0002-use-consistent-cmake-location.patch @@ -1,4 +1,4 @@ -From 06928c896573b92c000e7c069a2ef6739d87c9e3 Mon Sep 17 00:00:00 2001 +From c919a0292b80dc99f788edef852e1aad185f4cd8 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 Subject: [PATCH 2/3] use consistent cmake location diff --git a/recipe/patches/0003-set-static-lib-extension-on-windows.patch b/recipe/patches/0003-set-static-lib-extension-on-windows.patch index 193715c..0265122 100644 --- a/recipe/patches/0003-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0003-set-static-lib-extension-on-windows.patch @@ -1,4 +1,4 @@ -From 2c4529ef940209eea061954722a016c74450db51 Mon Sep 17 00:00:00 2001 +From ed8d66fb03ff296ca684359b9a7f65aeafd7e7e0 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 Subject: [PATCH 3/3] set static lib extension on windows @@ -8,18 +8,18 @@ Subject: [PATCH 3/3] set static lib extension on windows 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 04cb3303a..ca6144702 100644 +index 04cb3303a..9841f3f76 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -316,6 +316,12 @@ if (protobuf_BUILD_PROTOC_BINARIES) endif (NOT DEFINED protobuf_PROTOC_EXE) endif (protobuf_BUILD_PROTOC_BINARIES) -+if (MSVC) -+ set_target_properties(libprotoc PROPERTIES STATIC_SUFFIX "-static.lib") -+ set_target_properties(libprotobuf PROPERTIES STATIC_SUFFIX "-static.lib") -+ set_target_properties(libprotobuf-lite PROPERTIES STATIC_SUFFIX "-static.lib") -+endif (MSVC) ++if (MSVC AND NOT protobuf_BUILD_SHARED_LIBS) ++ set_target_properties(libprotoc PROPERTIES SUFFIX "-static.lib") ++ set_target_properties(libprotobuf PROPERTIES SUFFIX "-static.lib") ++ set_target_properties(libprotobuf-lite PROPERTIES SUFFIX "-static.lib") ++endif (MSVC AND NOT protobuf_BUILD_SHARED_LIBS) + # Ensure we have a protoc executable if we need one if (protobuf_BUILD_TESTS OR protobuf_BUILD_CONFORMANCE OR protobuf_BUILD_EXAMPLES) From 58105729ea06184223af98a6d61f18dd9df14009 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 23 Sep 2022 11:33:02 +0200 Subject: [PATCH 062/182] bump build number --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bdcebe1..1390062 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -29,7 +29,7 @@ source: folder: third_party/googletest build: - number: 0 + number: 1 outputs: - name: libprotobuf From 8a82e424db992fda2b1e6ea137067c62cd04ae14 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 30 Sep 2022 23:14:35 +0000 Subject: [PATCH 063/182] updated v21.7 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 1390062..095f977 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "21.6" %} +{% set version = "21.7" %} # protobuf doesn't add the major version in the tag... {% set major = "3" %} @@ -11,7 +11,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz - sha256: dbb16fdbca8f277c9a194d9a837395cde408ca136738d94743130dd0de015efd + sha256: 75be42bd736f4df6d702a0e4e4d30de9ee40eac024c4b845d17ae4cc831fe4ae patches: - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] - patches/0002-use-consistent-cmake-location.patch @@ -29,7 +29,7 @@ source: folder: third_party/googletest build: - number: 1 + number: 0 outputs: - name: libprotobuf From 0cd3817cfb83c9c5d94c1a0efd45d27aa7410c48 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 30 Sep 2022 23:14:51 +0000 Subject: [PATCH 064/182] MNT: Re-rendered with conda-build 3.22.0, conda-smithy 3.21.2, and conda-forge-pinning 2022.09.30.17.55.19 --- .ci_support/linux_64_.yaml | 3 --- .ci_support/linux_aarch64_.yaml | 3 --- .ci_support/linux_ppc64le_.yaml | 3 --- .ci_support/osx_64_.yaml | 3 --- .ci_support/osx_arm64_.yaml | 3 --- .ci_support/win_64_.yaml | 3 --- 6 files changed, 18 deletions(-) diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index e004632..9b685f6 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -14,9 +14,6 @@ cxx_compiler_version: - '10' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 -pin_run_as_build: - zlib: - max_pin: x.x target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index de65884..d802084 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -18,9 +18,6 @@ cxx_compiler_version: - '10' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 -pin_run_as_build: - zlib: - max_pin: x.x target_platform: - linux-aarch64 zip_keys: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 33dddda..cfd1130 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -14,9 +14,6 @@ cxx_compiler_version: - '10' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 -pin_run_as_build: - zlib: - max_pin: x.x target_platform: - linux-ppc64le zip_keys: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index dd81253..095a775 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -14,9 +14,6 @@ cxx_compiler_version: - '14' macos_machine: - x86_64-apple-darwin13.4.0 -pin_run_as_build: - zlib: - max_pin: x.x target_platform: - osx-64 zip_keys: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index b02c22c..4dc4084 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -14,9 +14,6 @@ cxx_compiler_version: - '14' macos_machine: - arm64-apple-darwin20.0.0 -pin_run_as_build: - zlib: - max_pin: x.x target_platform: - osx-arm64 zip_keys: diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index b151dd2..c09f40f 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -6,9 +6,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2019 -pin_run_as_build: - zlib: - max_pin: x.x target_platform: - win-64 zlib: From 06e2e1b5a91a26f7676a07cd2d39d6745e8f95df Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 18 Oct 2022 23:41:15 +0000 Subject: [PATCH 065/182] updated v21.8 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 095f977..e2a1f83 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "21.7" %} +{% set version = "21.8" %} # protobuf doesn't add the major version in the tag... {% set major = "3" %} @@ -11,7 +11,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz - sha256: 75be42bd736f4df6d702a0e4e4d30de9ee40eac024c4b845d17ae4cc831fe4ae + sha256: 032ef6fbb5b2ce2147e913b053003c7881fe53861571079b4351c006d6a822c1 patches: - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] - patches/0002-use-consistent-cmake-location.patch From 3a507f2a09be4e851c05235c702ec1f82b6c3b10 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 27 Oct 2022 01:36:48 +0000 Subject: [PATCH 066/182] updated v21.9 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e2a1f83..848d533 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "21.8" %} +{% set version = "21.9" %} # protobuf doesn't add the major version in the tag... {% set major = "3" %} @@ -11,7 +11,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz - sha256: 032ef6fbb5b2ce2147e913b053003c7881fe53861571079b4351c006d6a822c1 + sha256: 0aa7df8289c957a4c54cbe694fbabe99b180e64ca0f8fdb5e2f76dcf56ff2422 patches: - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] - patches/0002-use-consistent-cmake-location.patch From 3659b119a2bb84b98b250da63d66a56601cdf444 Mon Sep 17 00:00:00 2001 From: "conda-forge-curator[bot]" <79913779+conda-forge-curator[bot]@users.noreply.github.com> Date: Wed, 2 Nov 2022 19:12:40 +0000 Subject: [PATCH 067/182] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeAutomergeUpdate --- .github/workflows/automerge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 773b3d1..da1368a 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -10,7 +10,7 @@ jobs: name: automerge steps: - name: checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: automerge-action id: automerge-action uses: conda-forge/automerge-action@main From 6565ea8b71c45e27a04ad55516c81ba3e68b963e Mon Sep 17 00:00:00 2001 From: "conda-forge-curator[bot]" <79913779+conda-forge-curator[bot]@users.noreply.github.com> Date: Thu, 17 Nov 2022 23:07:12 +0000 Subject: [PATCH 068/182] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration DotConda --- conda-forge.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conda-forge.yml b/conda-forge.yml index 2df57a1..c7bad80 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -5,3 +5,5 @@ test_on_native_only: true github: branch_name: main tooling_branch_name: main +conda_build: + pkg_format: '2' From 38c5f30cec4d01158a7bf3f0ee3b87fe1b0e09fb Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Wed, 30 Nov 2022 01:25:13 +0000 Subject: [PATCH 069/182] updated v21.10 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 848d533..87c40af 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "21.9" %} +{% set version = "21.10" %} # protobuf doesn't add the major version in the tag... {% set major = "3" %} @@ -11,7 +11,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz - sha256: 0aa7df8289c957a4c54cbe694fbabe99b180e64ca0f8fdb5e2f76dcf56ff2422 + sha256: f3f9ce6dc288f2f939bdc9d277ebdfbc8dbcd51741071f93da70e0e62919f57f patches: - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] - patches/0002-use-consistent-cmake-location.patch From bff6a14a1e08af5eb56241c29c5ab4c62b788e4e Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Wed, 30 Nov 2022 01:25:28 +0000 Subject: [PATCH 070/182] MNT: Re-rendered with conda-build 3.23.1, conda-smithy 3.22.0, and conda-forge-pinning 2022.11.29.22.58.17 --- .azure-pipelines/azure-pipelines-win.yml | 2 +- .circleci/config.yml | 2 +- .scripts/build_steps.sh | 4 ++-- .scripts/run_osx_build.sh | 5 ++--- README.md | 12 ++++++------ 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 8a0bcae..13e526a 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -35,7 +35,7 @@ jobs: - script: | call activate base - mamba.exe install 'python=3.9' conda-build conda pip boa 'conda-forge-ci-setup=3' -c conda-forge --strict-channel-priority --yes + mamba.exe install "python=3.9" conda-build conda pip boa conda-forge-ci-setup=3 "py-lief<0.12" -c conda-forge --strict-channel-priority --yes displayName: Install conda-build - script: set PYTHONUNBUFFERED=1 diff --git a/.circleci/config.yml b/.circleci/config.yml index 3e61aa2..8b4ef2f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,6 +1,6 @@ # This file was generated automatically from conda-smithy. To update this configuration, # update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- +# -*- mode: jinja-yaml -*- version: 2 diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index a6b09f6..84431a6 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -33,9 +33,9 @@ CONDARC mamba install --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 + conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" mamba update --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 + conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 736a39a..b3abaeb 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -23,11 +23,10 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base -echo -e "\n\nInstalling ['conda-forge-ci-setup=3'] and conda-build." mamba install --update-specs --quiet --yes --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 + conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" mamba update --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 + conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" diff --git a/README.md b/README.md index 3cff242..450c603 100644 --- a/README.md +++ b/README.md @@ -39,42 +39,42 @@ Current build status From eff610c1cfb29e17ef0aa4eff71540a711819c07 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 8 Dec 2022 07:53:10 +0000 Subject: [PATCH 071/182] updated v21.11 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 87c40af..a185131 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "21.10" %} +{% set version = "21.11" %} # protobuf doesn't add the major version in the tag... {% set major = "3" %} @@ -11,7 +11,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz - sha256: f3f9ce6dc288f2f939bdc9d277ebdfbc8dbcd51741071f93da70e0e62919f57f + sha256: b1d6dd2cbb5d87e17af41cadb720322ce7e13af826268707bd8db47e5654770b patches: - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] - patches/0002-use-consistent-cmake-location.patch From 8fa8a7166ca18e99ebee882edb03f59e87420fe1 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 8 Dec 2022 07:53:26 +0000 Subject: [PATCH 072/182] MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2022.12.07.18.34.25 --- .azure-pipelines/azure-pipelines-win.yml | 4 ++++ .ci_support/linux_64_.yaml | 4 ++-- .ci_support/linux_aarch64_.yaml | 4 ++-- .ci_support/linux_ppc64le_.yaml | 4 ++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 13e526a..a192c0b 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -14,6 +14,7 @@ jobs: timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ + UPLOAD_TEMP: D:\\tmp steps: - task: PythonScript@0 @@ -72,6 +73,9 @@ jobs: - script: | set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + set "TEMP=$(UPLOAD_TEMP)" + if not exist "%TEMP%\" md "%TEMP%" + set "TMP=%TEMP%" call activate base upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml displayName: Upload package diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 9b685f6..ccc71eb 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos6 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index d802084..0b92b35 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -3,7 +3,7 @@ BUILD: c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_arch: - aarch64 cdt_name: @@ -15,7 +15,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index cfd1130..2883405 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '10' +- '11' cdt_name: - cos7 channel_sources: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '10' +- '11' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 target_platform: From 45c19e311a16ff9f367028a345144feb5e112236 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Wed, 14 Dec 2022 01:52:02 +0000 Subject: [PATCH 073/182] updated v21.12 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a185131..a640fd7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "21.11" %} +{% set version = "21.12" %} # protobuf doesn't add the major version in the tag... {% set major = "3" %} @@ -11,7 +11,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz - sha256: b1d6dd2cbb5d87e17af41cadb720322ce7e13af826268707bd8db47e5654770b + sha256: 22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de patches: - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] - patches/0002-use-consistent-cmake-location.patch From 39cac986c4c0a7391a1924561b0e70991d07d946 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 12:13:59 +1100 Subject: [PATCH 074/182] use more discoverable url pattern --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a640fd7..7a9a814 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -10,7 +10,7 @@ package: version: {{ major + "." + version }} source: - - url: https://github.com/protocolbuffers/protobuf/archive/v{{ version }}/protobuf-v{{ version }}.tar.gz + - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version }}.tar.gz sha256: 22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de patches: - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] From 25284e0f753b11be192381d49e4b92d968863c64 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 12:40:25 +1100 Subject: [PATCH 075/182] bump to 4.22.0.rc2 --- recipe/meta.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7a9a814..dbe877c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,7 +1,8 @@ # keep this without major version to let the bot pick it up -{% set version = "21.12" %} -# protobuf doesn't add the major version in the tag... -{% set major = "3" %} +{% set version = "22.0.rc2" %} +# protobuf doesn't add the major version in the tag, it's defined per language in +# https://github.com/protocolbuffers/protobuf/blob/main/version.json +{% set major = "4" %} {% set libraries = ["libprotoc", "libprotobuf", "libprotobuf-lite"] %} @@ -10,7 +11,7 @@ package: version: {{ major + "." + version }} source: - - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version }}.tar.gz + - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz sha256: 22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de patches: - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] From 095aaae8201319a2ad299cf4e15315a32d9bc4c3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 12:42:34 +1100 Subject: [PATCH 076/182] rebase patches --- recipe/meta.yaml | 10 ++---- .../0001-remove-Werror-from-test-flags.patch | 26 -------------- .../0001-use-consistent-cmake-location.patch | 35 +++++++++++++++++++ ...set-static-lib-extension-on-windows.patch} | 16 ++++----- .../0002-use-consistent-cmake-location.patch | 32 ----------------- recipe/patches/issue-7567.patch | 20 ----------- 6 files changed, 46 insertions(+), 93 deletions(-) delete mode 100644 recipe/patches/0001-remove-Werror-from-test-flags.patch create mode 100644 recipe/patches/0001-use-consistent-cmake-location.patch rename recipe/patches/{0003-set-static-lib-extension-on-windows.patch => 0002-set-static-lib-extension-on-windows.patch} (65%) delete mode 100644 recipe/patches/0002-use-consistent-cmake-location.patch delete mode 100644 recipe/patches/issue-7567.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index dbe877c..5b9c17d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -12,14 +12,10 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 22fdaf641b31655d4b2297f9981fa5203b2866f8332d3c6333f6b0107bb320de + sha256: 4d9f024ce9b1651535f243e05e2aee8df57177f2ed4cf63d5989082a096cafb5 patches: - - patches/0001-remove-Werror-from-test-flags.patch # [ppc64le or aarch64] - - patches/0002-use-consistent-cmake-location.patch - - patches/0003-set-static-lib-extension-on-windows.patch - # This issue gets fixed and then reintroduced often - # https://github.com/protocolbuffers/protobuf/issues/7567 - # - patches/issue-7567.patch + - patches/0001-use-consistent-cmake-location.patch + - patches/0002-set-static-lib-extension-on-windows.patch # these are git submodules from the v21.5 release # https://github.com/protocolbuffers/protobuf/tree/v21.5/third_party - url: https://github.com/google/benchmark/archive/5b7683f49e1e9223cf9927b24f6fd3d6bd82e3f8.tar.gz diff --git a/recipe/patches/0001-remove-Werror-from-test-flags.patch b/recipe/patches/0001-remove-Werror-from-test-flags.patch deleted file mode 100644 index be1425b..0000000 --- a/recipe/patches/0001-remove-Werror-from-test-flags.patch +++ /dev/null @@ -1,26 +0,0 @@ -From af9c0001bcc1b356baa54071f017f90a21e3cd6b Mon Sep 17 00:00:00 2001 -From: Jonathan Helmus -Date: Mon, 4 Jun 2018 17:06:30 -0400 -Subject: [PATCH 1/3] remove Werror from test flags - -Remove -Werror from the CXXFLAGS used for `make check` ---- - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index 3a6ecdc42..3e739b0e6 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -910,7 +910,7 @@ no_warning_test.cc: - - no_warning_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la - no_warning_test_CXXFLAGS = $(PTHREAD_CFLAGS) $(PTHREAD_DEF) $(ZLIB_DEF) \ -- -Wall -Wextra -Werror -Wno-unused-parameter -+ -Wall -Wextra -Wno-unused-parameter - nodist_no_warning_test_SOURCES = no_warning_test.cc $(protoc_outputs) - - TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \ --- -2.37.0.windows.1 - diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch new file mode 100644 index 0000000..12b3234 --- /dev/null +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -0,0 +1,35 @@ +From f91c97c3a386829bca24ef235a790edf6284733c Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Sat, 3 Sep 2022 19:48:04 +0200 +Subject: [PATCH 1/2] use consistent cmake location + +--- + cmake/install.cmake | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +diff --git a/cmake/install.cmake b/cmake/install.cmake +index 90230c537..a3a5978a3 100644 +--- a/cmake/install.cmake ++++ b/cmake/install.cmake +@@ -67,15 +67,9 @@ set(_install_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the c + set(_build_cmakedir_desc "Directory relative to CMAKE_CURRENT_BINARY_DIR for cmake configuration files") + set(_exampledir_desc "Directory relative to CMAKE_INSTALL_DATA to install examples") + set(_protobuf_subdir_desc "Subdirectory in which to install cmake configuration files") +-if(NOT MSVC) +- set(protobuf_CMAKE_SUBDIR "cmake/protobuf" CACHE STRING "${_protobuf_subdir_desc}") +- set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/${protobuf_CMAKE_SUBDIR}" CACHE STRING "${_install_cmakedir_desc}") +- set(CMAKE_INSTALL_EXAMPLEDIR "${CMAKE_INSTALL_DATADIR}/protobuf/examples" CACHE STRING "${_exampledir_desc}") +-else() +- set(protobuf_CMAKE_SUBDIR "cmake" CACHE STRING "${_protobuf_subdir_desc}") +- set(CMAKE_INSTALL_CMAKEDIR "cmake" CACHE STRING "${_cmakedir_desc}") +- set(CMAKE_INSTALL_EXAMPLEDIR "examples" CACHE STRING "${_exampledir_desc}") +-endif() ++set(protobuf_CMAKE_SUBDIR "cmake/protobuf" CACHE STRING "${_protobuf_subdir_desc}") ++set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/${protobuf_CMAKE_SUBDIR}" CACHE STRING "${_install_cmakedir_desc}") ++set(CMAKE_INSTALL_EXAMPLEDIR "${CMAKE_INSTALL_DATADIR}/protobuf/examples" CACHE STRING "${_exampledir_desc}") + set(CMAKE_BUILD_CMAKEDIR "${CMAKE_CURRENT_BINARY_DIR}/${protobuf_CMAKE_SUBDIR}" CACHE STRING "${_build_cmakedir_desc}") + mark_as_advanced(protobuf_CMAKE_SUBDIR) + mark_as_advanced(CMAKE_BUILD_CMAKEDIR) +-- +2.38.1.windows.1 + diff --git a/recipe/patches/0003-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch similarity index 65% rename from recipe/patches/0003-set-static-lib-extension-on-windows.patch rename to recipe/patches/0002-set-static-lib-extension-on-windows.patch index 0265122..454969c 100644 --- a/recipe/patches/0003-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,19 +1,19 @@ -From ed8d66fb03ff296ca684359b9a7f65aeafd7e7e0 Mon Sep 17 00:00:00 2001 +From e3281016525ac8400c64525edddcd07ed8b92aa3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 3/3] set static lib extension on windows +Subject: [PATCH 2/2] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 04cb3303a..9841f3f76 100644 +index 8e92ef488..3cd79c0bd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -316,6 +316,12 @@ if (protobuf_BUILD_PROTOC_BINARIES) - endif (NOT DEFINED protobuf_PROTOC_EXE) - endif (protobuf_BUILD_PROTOC_BINARIES) +@@ -362,6 +362,12 @@ else () + endif () + endif () +if (MSVC AND NOT protobuf_BUILD_SHARED_LIBS) + set_target_properties(libprotoc PROPERTIES SUFFIX "-static.lib") @@ -21,9 +21,9 @@ index 04cb3303a..9841f3f76 100644 + set_target_properties(libprotobuf-lite PROPERTIES SUFFIX "-static.lib") +endif (MSVC AND NOT protobuf_BUILD_SHARED_LIBS) + - # Ensure we have a protoc executable if we need one + # Ensure we have a protoc executable and protobuf libraries if we need one if (protobuf_BUILD_TESTS OR protobuf_BUILD_CONFORMANCE OR protobuf_BUILD_EXAMPLES) if (NOT DEFINED protobuf_PROTOC_EXE) -- -2.37.0.windows.1 +2.38.1.windows.1 diff --git a/recipe/patches/0002-use-consistent-cmake-location.patch b/recipe/patches/0002-use-consistent-cmake-location.patch deleted file mode 100644 index b892ecb..0000000 --- a/recipe/patches/0002-use-consistent-cmake-location.patch +++ /dev/null @@ -1,32 +0,0 @@ -From c919a0292b80dc99f788edef852e1aad185f4cd8 Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 2/3] use consistent cmake location - ---- - cmake/install.cmake | 9 ++------- - 1 file changed, 2 insertions(+), 7 deletions(-) - -diff --git a/cmake/install.cmake b/cmake/install.cmake -index 825cb25fc..529e898e7 100644 ---- a/cmake/install.cmake -+++ b/cmake/install.cmake -@@ -104,13 +104,8 @@ endforeach() - # Install configuration - set(_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the cmake configuration files") - set(_exampledir_desc "Directory relative to CMAKE_INSTALL_DATA to install examples") --if(NOT MSVC) -- set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/protobuf" CACHE STRING "${_cmakedir_desc}") -- set(CMAKE_INSTALL_EXAMPLEDIR "${CMAKE_INSTALL_DATADIR}/protobuf/examples" CACHE STRING "${_exampledir_desc}") --else() -- set(CMAKE_INSTALL_CMAKEDIR "cmake" CACHE STRING "${_cmakedir_desc}") -- set(CMAKE_INSTALL_EXAMPLEDIR "examples" CACHE STRING "${_exampledir_desc}") --endif() -+set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/protobuf" CACHE STRING "${_cmakedir_desc}") -+set(CMAKE_INSTALL_EXAMPLEDIR "${CMAKE_INSTALL_DATADIR}/protobuf/examples" CACHE STRING "${_exampledir_desc}") - mark_as_advanced(CMAKE_INSTALL_CMAKEDIR) - mark_as_advanced(CMAKE_INSTALL_EXAMPLEDIR) - --- -2.37.0.windows.1 - diff --git a/recipe/patches/issue-7567.patch b/recipe/patches/issue-7567.patch deleted file mode 100644 index 8254edc..0000000 --- a/recipe/patches/issue-7567.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/src/google/protobuf/parse_context.h b/src/google/protobuf/parse_context.h -index c0427bc..8635314 100644 ---- a/src/google/protobuf/parse_context.h -+++ b/src/google/protobuf/parse_context.h -@@ -744,7 +744,6 @@ PROTOBUF_EXPORT PROTOBUF_MUST_USE_RESULT const char* PackedEnumParser( - void* object, const char* ptr, ParseContext* ctx); - - template --PROTOBUF_EXPORT_TEMPLATE_DEFINE - PROTOBUF_MUST_USE_RESULT const - char* PackedEnumParser(void* object, const char* ptr, ParseContext* ctx, - bool (*is_valid)(int), InternalMetadata* metadata, -@@ -760,7 +759,6 @@ PROTOBUF_MUST_USE_RESULT const - } - - template --PROTOBUF_EXPORT_TEMPLATE_DEFINE - PROTOBUF_MUST_USE_RESULT const - char* PackedEnumParserArg(void* object, const char* ptr, ParseContext* ctx, - bool (*is_valid)(const void*, int), From 65d04ed041160286ad72bc11cceb5c556b109e19 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 12:43:40 +1100 Subject: [PATCH 077/182] Revert "back to autotools build on unix for now" This reverts commit 31bcbc1639364f7037005f381e6a5abcf53bd2fb. --- recipe/build-shared.sh | 54 ------------------------------------------ recipe/build-static.sh | 7 ------ recipe/meta.yaml | 28 +++++++--------------- 3 files changed, 8 insertions(+), 81 deletions(-) delete mode 100644 recipe/build-shared.sh delete mode 100644 recipe/build-static.sh diff --git a/recipe/build-shared.sh b/recipe/build-shared.sh deleted file mode 100644 index ca7bc09..0000000 --- a/recipe/build-shared.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash - -set -ex - -if [ "$(uname)" == "Linux" ]; -then - # protobuf uses PROTOBUF_OPT_FLAG to set the optimization level - # unit test can fail if optmization above 0 are used. - CPPFLAGS="${CPPFLAGS//-O[0-9]/}" - CXXFLAGS="${CXXFLAGS//-O[0-9]/}" - export PROTOBUF_OPT_FLAG="-O2" - # to improve performance, disable checks intended for debugging - CXXFLAGS="$CXXFLAGS -DNDEBUG" -elif [ "$(uname)" == "Darwin" ]; -then - # remove pie from LDFLAGS - LDFLAGS="${LDFLAGS//-pie/}" -fi - -# required to pick up conda installed zlib -export CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" -export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" - -# Build configure/Makefile as they are not present. -aclocal -libtoolize -autoconf -autoreconf -i -automake --add-missing - -./configure --prefix="${PREFIX}" \ - --build=${BUILD} \ - --host=${HOST} \ - --with-pic \ - --with-zlib \ - --enable-shared \ - CC_FOR_BUILD=${CC} \ - CXX_FOR_BUILD=${CXX} - -# Skip memory hungry tests -export GTEST_FILTER="-IoTest.LargeOutput" -if [ "${HOST}" == "powerpc64le-conda_cos7-linux-gnu" ]; then - make -j 2 - make check -j 2 || (cat src/test-suite.log; exit 1) -else - make -j ${CPU_COUNT} - if [[ "$CONDA_BUILD_CROSS_COMPILATION" != 1 ]]; then - make check -j ${CPU_COUNT} || (cat src/test-suite.log; exit 1) - fi -fi -make install -rm ${PREFIX}/lib/libprotobuf.a -rm ${PREFIX}/lib/libprotobuf-lite.a -rm ${PREFIX}/lib/libprotoc.a diff --git a/recipe/build-static.sh b/recipe/build-static.sh deleted file mode 100644 index f4666ac..0000000 --- a/recipe/build-static.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -mkdir -p ${PREFIX}/lib -ls -l ./src/.libs/libproto*.a -cp ./src/.libs/libproto*.a ${PREFIX}/lib/ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5b9c17d..3fd57d5 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -30,10 +30,7 @@ build: outputs: - name: libprotobuf - script: build-shared.sh # [unix] - # cmake script currently disabled due to compatibility issues with - # existing builds; see #49 for potential solution, or switch with 3.22 - # script: build-lib.sh # [unix] + script: build-lib.sh # [unix] script: build-lib.bat # [win] build: run_exports: @@ -45,14 +42,8 @@ outputs: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - cmake # [win] - - ninja # [win] - - autoconf # [not win] - - automake # [not win] - - libtool # [not win] - - pkg-config # [not win] - - unzip # [not win] - - make # [not win] + - cmake + - ninja host: - zlib run: @@ -78,8 +69,8 @@ outputs: - if exist %LIBRARY_LIB%\{{ each_lib }}-static.lib exit 1 # [win] {% endfor %} - # cmake (disabled on unix currently) - # - test -f ${PREFIX}/lib/cmake/protobuf/protobuf-config.cmake # [unix] + # cmake + - test -f ${PREFIX}/lib/cmake/protobuf/protobuf-config.cmake # [unix] - if not exist %LIBRARY_LIB%\cmake\protobuf\protobuf-config.cmake exit 1 # [win] # pkgconfig @@ -96,17 +87,14 @@ outputs: - cmake %CMAKE_ARGS% . # [win] - name: libprotobuf-static - script: build-static.sh # [unix] - # cmake script currently disabled due to compatibility issues with - # existing builds; see #49 for potential solution, or switch with 3.22 - # script: build-lib.sh # [unix] + script: build-lib.sh # [unix] script: build-lib.bat # [win] requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - cmake # [win] - - ninja # [win] + - cmake + - ninja host: - zlib - {{ pin_subpackage('libprotobuf', exact=True) }} From f451623506f38e00eae91867e16242050bf7d84f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 13:19:04 +1100 Subject: [PATCH 078/182] normalize indentation / alphabetization in build-lib.bat --- recipe/build-lib.bat | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index 3c6d248..062a2f9 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -12,13 +12,14 @@ if "%PKG_NAME%"=="libprotobuf-static" ( :: Configure and install based on protobuf's instructions and other `bld.bat`s. cmake -G "Ninja" ^ - -DCMAKE_BUILD_TYPE=Release ^ - -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ - -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ - -Dprotobuf_WITH_ZLIB=ON ^ - -Dprotobuf_BUILD_SHARED_LIBS=%CF_SHARED% ^ - -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ^ - .. + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ + -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ + -Dprotobuf_BUILD_SHARED_LIBS=%CF_SHARED% ^ + -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ^ + -Dprotobuf_WITH_ZLIB=ON ^ + .. if %ERRORLEVEL% neq 0 exit 1 + cmake --build . --target install --config Release if %ERRORLEVEL% neq 0 exit 1 From 6593cab023cdee1c415caa3adfde5c745cc9426b Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 13:20:26 +1100 Subject: [PATCH 079/182] add dependence on libabseil --- recipe/build-lib.bat | 1 + recipe/build-lib.sh | 1 + recipe/meta.yaml | 2 ++ 3 files changed, 4 insertions(+) diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index 062a2f9..1853557 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -15,6 +15,7 @@ cmake -G "Ninja" ^ -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ + -Dprotobuf_ABSL_PROVIDER="package" ^ -Dprotobuf_BUILD_SHARED_LIBS=%CF_SHARED% ^ -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ^ -Dprotobuf_WITH_ZLIB=ON ^ diff --git a/recipe/build-lib.sh b/recipe/build-lib.sh index 6071cec..3477350 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -37,6 +37,7 @@ fi cmake -G "Ninja" \ ${CMAKE_ARGS} \ -DCMAKE_BUILD_TYPE=Release \ + -Dprotobuf_ABSL_PROVIDER="package" \ -Dprotobuf_WITH_ZLIB=ON \ -Dprotobuf_BUILD_SHARED_LIBS=$CF_SHARED \ .. diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3fd57d5..fa1f9e1 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -45,6 +45,7 @@ outputs: - cmake - ninja host: + - libabseil - zlib run: - ucrt # [win] @@ -96,6 +97,7 @@ outputs: - cmake - ninja host: + - libabseil - zlib - {{ pin_subpackage('libprotobuf', exact=True) }} run: From 18d11548c33c711d1efd6ea194806da4aa24c968 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 13:31:10 +1100 Subject: [PATCH 080/182] update submodules --- recipe/meta.yaml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fa1f9e1..833ab15 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -16,14 +16,15 @@ source: patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch - # these are git submodules from the v21.5 release - # https://github.com/protocolbuffers/protobuf/tree/v21.5/third_party - - url: https://github.com/google/benchmark/archive/5b7683f49e1e9223cf9927b24f6fd3d6bd82e3f8.tar.gz - sha256: 5dc92703f811f94e2aa63bdab07ab749f28a094befa6cdfd5fe177f947590a48 - folder: third_party/benchmark - - url: https://github.com/google/googletest/archive/5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081.tar.gz - sha256: 0e2f36e8e403c125fd0ab02171bdb786d3b6b3875b6ccf3b2eb7969be8faecd0 + # git submodules (except abseil) as of: + # https://github.com/protocolbuffers/protobuf/tree/v22.0-rc2/third_party + - url: https://github.com/google/googletest/archive/4c9a3bb62bf3ba1f1010bf96f9c8ed767b363774.tar.gz + sha256: ea54c9845568cb31c03f2eddc7a40f7f83912d04ab977ff50ec33278119548dd folder: third_party/googletest + # use our own jsoncpp for this; https://github.com/protocolbuffers/protobuf/issues/11827 + - url: https://github.com/open-source-parsers/jsoncpp/archive/9059f5cad030ba11d37818847443a53918c327b1.tar.gz + sha256: e7a12f50c2125abc9e4b2a38f399393503b6eebd5b4ab75ebb7df1664e768ce7 + folder: third_party/jsoncpp build: number: 0 From 04400851e56791c987834a88e87d8152ecd27e85 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 7 Feb 2023 13:31:58 +1100 Subject: [PATCH 081/182] MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.02.06.13.55.07 --- .ci_support/linux_64_.yaml | 2 ++ .ci_support/linux_aarch64_.yaml | 2 ++ .ci_support/linux_ppc64le_.yaml | 2 ++ .ci_support/osx_64_.yaml | 2 ++ .ci_support/osx_arm64_.yaml | 2 ++ .ci_support/win_64_.yaml | 2 ++ 6 files changed, 12 insertions(+) diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index ccc71eb..4421bb7 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -14,6 +14,8 @@ cxx_compiler_version: - '11' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 +libabseil: +- '20220623.0' target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 0b92b35..5caf1c1 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -18,6 +18,8 @@ cxx_compiler_version: - '11' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 +libabseil: +- '20220623.0' target_platform: - linux-aarch64 zip_keys: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 2883405..166f39c 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -14,6 +14,8 @@ cxx_compiler_version: - '11' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 +libabseil: +- '20220623.0' target_platform: - linux-ppc64le zip_keys: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 095a775..e0fabb7 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -12,6 +12,8 @@ cxx_compiler: - clangxx cxx_compiler_version: - '14' +libabseil: +- '20220623.0' macos_machine: - x86_64-apple-darwin13.4.0 target_platform: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 4dc4084..72bbf48 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -12,6 +12,8 @@ cxx_compiler: - clangxx cxx_compiler_version: - '14' +libabseil: +- '20220623.0' macos_machine: - arm64-apple-darwin20.0.0 target_platform: diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index c09f40f..2256889 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -6,6 +6,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2019 +libabseil: +- '20220623.0' target_platform: - win-64 zlib: From 38b3f6f7aeea8d0f60e880b21b28da5b6d710ff1 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 17 Feb 2023 17:01:01 +1100 Subject: [PATCH 082/182] add libabseil migration --- .ci_support/migrations/libabseil20230125.yaml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .ci_support/migrations/libabseil20230125.yaml diff --git a/.ci_support/migrations/libabseil20230125.yaml b/.ci_support/migrations/libabseil20230125.yaml new file mode 100644 index 0000000..2dea689 --- /dev/null +++ b/.ci_support/migrations/libabseil20230125.yaml @@ -0,0 +1,7 @@ +__migrator: + build_number: 1 + kind: version + migration_number: 1 +libabseil: +- '20230125' +migrator_ts: 1676218104.8853533 From beafdf0d95789c60f1f809bf32f593d6ba898094 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 17 Feb 2023 17:02:19 +1100 Subject: [PATCH 083/182] MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.22.1, and conda-forge-pinning 2023.02.16.23.42.32 --- .ci_support/linux_64_.yaml | 2 +- .ci_support/linux_aarch64_.yaml | 2 +- .ci_support/linux_ppc64le_.yaml | 2 +- .ci_support/osx_64_.yaml | 2 +- .ci_support/osx_arm64_.yaml | 2 +- .ci_support/win_64_.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 4421bb7..12b276a 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -15,7 +15,7 @@ cxx_compiler_version: docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 libabseil: -- '20220623.0' +- '20230125' target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 5caf1c1..52a8439 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -19,7 +19,7 @@ cxx_compiler_version: docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 libabseil: -- '20220623.0' +- '20230125' target_platform: - linux-aarch64 zip_keys: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 166f39c..764d69a 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -15,7 +15,7 @@ cxx_compiler_version: docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 libabseil: -- '20220623.0' +- '20230125' target_platform: - linux-ppc64le zip_keys: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index e0fabb7..a957f92 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -13,7 +13,7 @@ cxx_compiler: cxx_compiler_version: - '14' libabseil: -- '20220623.0' +- '20230125' macos_machine: - x86_64-apple-darwin13.4.0 target_platform: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 72bbf48..12751a6 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -13,7 +13,7 @@ cxx_compiler: cxx_compiler_version: - '14' libabseil: -- '20220623.0' +- '20230125' macos_machine: - arm64-apple-darwin20.0.0 target_platform: diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index 2256889..ce55bfd 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -7,7 +7,7 @@ channel_targets: cxx_compiler: - vs2019 libabseil: -- '20220623.0' +- '20230125' target_platform: - win-64 zlib: From de3d41f1de908a451c5ebbb26411301005fba11a Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 19 Apr 2023 17:20:01 +1100 Subject: [PATCH 084/182] bump to 4.22.3 --- recipe/meta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 833ab15..b67fbf9 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "22.0.rc2" %} +{% set version = "22.3" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,16 +12,16 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 4d9f024ce9b1651535f243e05e2aee8df57177f2ed4cf63d5989082a096cafb5 + sha256: 786bf22c8fd3f20b7242df3b9649900714b0ba77b24a4971573088f41dfe9f8a patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch # git submodules (except abseil) as of: - # https://github.com/protocolbuffers/protobuf/tree/v22.0-rc2/third_party + # https://github.com/protocolbuffers/protobuf/tree/v22.3/third_party - url: https://github.com/google/googletest/archive/4c9a3bb62bf3ba1f1010bf96f9c8ed767b363774.tar.gz sha256: ea54c9845568cb31c03f2eddc7a40f7f83912d04ab977ff50ec33278119548dd folder: third_party/googletest - # use our own jsoncpp for this; https://github.com/protocolbuffers/protobuf/issues/11827 + # TODO: use our own jsoncpp for this; see https://github.com/protocolbuffers/protobuf/issues/11827 - url: https://github.com/open-source-parsers/jsoncpp/archive/9059f5cad030ba11d37818847443a53918c327b1.tar.gz sha256: e7a12f50c2125abc9e4b2a38f399393503b6eebd5b4ab75ebb7df1664e768ce7 folder: third_party/jsoncpp From 5d3e1ffd8d02f26bdb5b7d894e79772897475c01 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 12:32:10 +1100 Subject: [PATCH 085/182] also depend on libabseil-tests --- recipe/meta.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b67fbf9..a88839d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -47,6 +47,8 @@ outputs: - ninja host: - libabseil + # requires abseil test targets to build with tests enabled + - libabseil-tests - zlib run: - ucrt # [win] @@ -99,6 +101,7 @@ outputs: - ninja host: - libabseil + - libabseil-tests - zlib - {{ pin_subpackage('libprotobuf', exact=True) }} run: From 26f69dba69249b7bed2991d04addea0a0a792c93 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 12:42:54 +1100 Subject: [PATCH 086/182] backport patch to depend on our own jsoncpp --- recipe/build-lib.bat | 1 + recipe/build-lib.sh | 3 +- recipe/meta.yaml | 10 +-- .../0001-use-consistent-cmake-location.patch | 11 +-- ...-set-static-lib-extension-on-windows.patch | 11 +-- ...tion-of-system-provided-jsoncpp-1257.patch | 75 +++++++++++++++++++ 6 files changed, 91 insertions(+), 20 deletions(-) create mode 100644 recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index 1853557..1cdebac 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -17,6 +17,7 @@ cmake -G "Ninja" ^ -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ -Dprotobuf_ABSL_PROVIDER="package" ^ -Dprotobuf_BUILD_SHARED_LIBS=%CF_SHARED% ^ + -Dprotobuf_JSONCPP_PROVIDER="package" ^ -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ^ -Dprotobuf_WITH_ZLIB=ON ^ .. diff --git a/recipe/build-lib.sh b/recipe/build-lib.sh index 3477350..3c2faa3 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -38,8 +38,9 @@ cmake -G "Ninja" \ ${CMAKE_ARGS} \ -DCMAKE_BUILD_TYPE=Release \ -Dprotobuf_ABSL_PROVIDER="package" \ - -Dprotobuf_WITH_ZLIB=ON \ -Dprotobuf_BUILD_SHARED_LIBS=$CF_SHARED \ + -Dprotobuf_JSONCPP_PROVIDER="package" \ + -Dprotobuf_WITH_ZLIB=ON \ .. cmake --build . diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a88839d..6083818 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -16,15 +16,13 @@ source: patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch - # git submodules (except abseil) as of: + # backport https://github.com/protocolbuffers/protobuf/pull/12577 + - patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch + # git submodules (except abseil & jsoncpp) as of: # https://github.com/protocolbuffers/protobuf/tree/v22.3/third_party - url: https://github.com/google/googletest/archive/4c9a3bb62bf3ba1f1010bf96f9c8ed767b363774.tar.gz sha256: ea54c9845568cb31c03f2eddc7a40f7f83912d04ab977ff50ec33278119548dd folder: third_party/googletest - # TODO: use our own jsoncpp for this; see https://github.com/protocolbuffers/protobuf/issues/11827 - - url: https://github.com/open-source-parsers/jsoncpp/archive/9059f5cad030ba11d37818847443a53918c327b1.tar.gz - sha256: e7a12f50c2125abc9e4b2a38f399393503b6eebd5b4ab75ebb7df1664e768ce7 - folder: third_party/jsoncpp build: number: 0 @@ -46,6 +44,7 @@ outputs: - cmake - ninja host: + - jsoncpp - libabseil # requires abseil test targets to build with tests enabled - libabseil-tests @@ -100,6 +99,7 @@ outputs: - cmake - ninja host: + - jsoncpp - libabseil - libabseil-tests - zlib diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index 12b3234..5b727b8 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,17 +1,17 @@ -From f91c97c3a386829bca24ef235a790edf6284733c Mon Sep 17 00:00:00 2001 +From e2a6811f7562287ec7b1c72855f52693cb593782 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/2] use consistent cmake location +Subject: [PATCH 1/3] use consistent cmake location --- cmake/install.cmake | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/cmake/install.cmake b/cmake/install.cmake -index 90230c537..a3a5978a3 100644 +index e7eb2103b..24d7a3ec9 100644 --- a/cmake/install.cmake +++ b/cmake/install.cmake -@@ -67,15 +67,9 @@ set(_install_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the c +@@ -84,15 +84,9 @@ set(_install_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the c set(_build_cmakedir_desc "Directory relative to CMAKE_CURRENT_BINARY_DIR for cmake configuration files") set(_exampledir_desc "Directory relative to CMAKE_INSTALL_DATA to install examples") set(_protobuf_subdir_desc "Subdirectory in which to install cmake configuration files") @@ -30,6 +30,3 @@ index 90230c537..a3a5978a3 100644 set(CMAKE_BUILD_CMAKEDIR "${CMAKE_CURRENT_BINARY_DIR}/${protobuf_CMAKE_SUBDIR}" CACHE STRING "${_build_cmakedir_desc}") mark_as_advanced(protobuf_CMAKE_SUBDIR) mark_as_advanced(CMAKE_BUILD_CMAKEDIR) --- -2.38.1.windows.1 - diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index 454969c..fe9b079 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,17 +1,17 @@ -From e3281016525ac8400c64525edddcd07ed8b92aa3 Mon Sep 17 00:00:00 2001 +From d579c6f73dfcded302170a4812e0db0a3698ed2f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/2] set static lib extension on windows +Subject: [PATCH 2/3] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8e92ef488..3cd79c0bd 100644 +index 31e7883e9..d546a5c66 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -362,6 +362,12 @@ else () +@@ -371,6 +371,12 @@ else () endif () endif () @@ -24,6 +24,3 @@ index 8e92ef488..3cd79c0bd 100644 # Ensure we have a protoc executable and protobuf libraries if we need one if (protobuf_BUILD_TESTS OR protobuf_BUILD_CONFORMANCE OR protobuf_BUILD_EXAMPLES) if (NOT DEFINED protobuf_PROTOC_EXE) --- -2.38.1.windows.1 - diff --git a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch new file mode 100644 index 0000000..8ccb2ec --- /dev/null +++ b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch @@ -0,0 +1,75 @@ +From 854c487d6b54096d57a58af9eb2066e0ccb761cc Mon Sep 17 00:00:00 2001 +From: Mike Rochefort +Date: Mon, 1 May 2023 09:34:17 -0700 +Subject: [PATCH 3/3] Enable the selection of system provided jsoncpp (#12577) + +Allows the use of an external `jsoncpp` library to be used. Replicates the model used by `abseil-cpp` as a "package" or "module" to the `protobuf_JSONCPP_PROVIDER` option. + +Resolves: #11827 + +Closes #12577 + +COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/12577 from omenos:omenos/cmake-jsoncpp 073edd69b4d3c57a37c00f1ba992e6cbd1dad949 +PiperOrigin-RevId: 528492610 +--- + CMakeLists.txt | 3 +++ + cmake/conformance.cmake | 31 +++++++++++++++++++------------ + 2 files changed, 22 insertions(+), 12 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d546a5c66..f74743a3c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -332,6 +332,9 @@ endif (protobuf_UNICODE) + set(protobuf_ABSL_PROVIDER "module" CACHE STRING "Provider of absl library") + set_property(CACHE protobuf_ABSL_PROVIDER PROPERTY STRINGS "module" "package") + ++set(protobuf_JSONCPP_PROVIDER "module" CACHE STRING "Provider of jsoncpp library") ++set_property(CACHE protobuf_JSONCPP_PROVIDER PROPERTY STRINGS "module" "package") ++ + if (protobuf_BUILD_TESTS) + include(${protobuf_SOURCE_DIR}/cmake/gtest.cmake) + endif (protobuf_BUILD_TESTS) +diff --git a/cmake/conformance.cmake b/cmake/conformance.cmake +index 61ac25a0d..6ba9050af 100644 +--- a/cmake/conformance.cmake ++++ b/cmake/conformance.cmake +@@ -1,12 +1,15 @@ +- +-if (NOT EXISTS "${protobuf_SOURCE_DIR}/third_party/jsoncpp/CMakeLists.txt") +- message(FATAL_ERROR +- "Cannot find third_party/jsoncpp directory that's needed to " +- "build conformance tests. If you use git, make sure you have cloned " +- "submodules:\n" +- " git submodule update --init --recursive\n" +- "If instead you want to skip them, run cmake with:\n" +- " cmake -Dprotobuf_BUILD_CONFORMANCE=OFF\n") ++if (protobuf_JSONCPP_PROVIDER STREQUAL "module") ++ if (NOT EXISTS "${protobuf_SOURCE_DIR}/third_party/jsoncpp/CMakeLists.txt") ++ message(FATAL_ERROR ++ "Cannot find third_party/jsoncpp directory that's needed to " ++ "build conformance tests. If you use git, make sure you have cloned " ++ "submodules:\n" ++ " git submodule update --init --recursive\n" ++ "If instead you want to skip them, run cmake with:\n" ++ " cmake -Dprotobuf_BUILD_CONFORMANCE=OFF\n") ++ endif() ++elseif(protobuf_JSONCPP_PROVIDER STREQUAL "package") ++ find_package(jsoncpp REQUIRED) + endif() + + add_custom_command( +@@ -84,6 +87,10 @@ add_test(NAME conformance_cpp_test + DEPENDS conformance_test_runner conformance_cpp) + + set(JSONCPP_WITH_TESTS OFF CACHE BOOL "Disable tests") +-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/third_party/jsoncpp third_party/jsoncpp) +-target_include_directories(conformance_test_runner PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/jsoncpp/include) +-target_link_libraries(conformance_test_runner jsoncpp_lib) ++if(protobuf_JSONCPP_PROVIDER STREQUAL "module") ++ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/third_party/jsoncpp third_party/jsoncpp) ++ target_include_directories(conformance_test_runner PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/jsoncpp/include) ++ target_link_libraries(conformance_test_runner jsoncpp_lib) ++else() ++ target_link_libraries(conformance_test_runner jsoncpp) ++endif() From a1bf856789c696ec49da50ca9c82d9be5998c26d Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 12:45:05 +1100 Subject: [PATCH 087/182] MNT: Re-rendered with conda-build 3.24.0, conda-smithy 3.23.1, and conda-forge-pinning 2023.05.12.17.26.46 --- .azure-pipelines/azure-pipelines-win.yml | 4 ++-- .ci_support/linux_64_.yaml | 6 ++++-- .ci_support/linux_aarch64_.yaml | 6 ++++-- .ci_support/linux_ppc64le_.yaml | 6 ++++-- .ci_support/migrations/libabseil20230125.yaml | 7 ------- .ci_support/osx_64_.yaml | 6 ++++-- .ci_support/osx_arm64_.yaml | 6 ++++-- .ci_support/win_64_.yaml | 2 ++ .scripts/build_steps.sh | 4 ++-- .scripts/run_osx_build.sh | 4 ++-- README.md | 8 ++++---- 11 files changed, 32 insertions(+), 27 deletions(-) delete mode 100644 .ci_support/migrations/libabseil20230125.yaml diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index a192c0b..8a96a72 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -5,7 +5,7 @@ jobs: - job: win pool: - vmImage: windows-2019 + vmImage: windows-2022 strategy: matrix: win_64_: @@ -36,7 +36,7 @@ jobs: - script: | call activate base - mamba.exe install "python=3.9" conda-build conda pip boa conda-forge-ci-setup=3 "py-lief<0.12" -c conda-forge --strict-channel-priority --yes + mamba.exe install "python=3.10" conda-build conda pip boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes displayName: Install conda-build - script: set PYTHONUNBUFFERED=1 diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 12b276a..95d0fa4 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '11' +- '12' cdt_name: - cos6 channel_sources: @@ -11,9 +11,11 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '11' +- '12' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 +jsoncpp: +- 1.9.5 libabseil: - '20230125' target_platform: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 52a8439..3cabc39 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -3,7 +3,7 @@ BUILD: c_compiler: - gcc c_compiler_version: -- '11' +- '12' cdt_arch: - aarch64 cdt_name: @@ -15,9 +15,11 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '11' +- '12' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 +jsoncpp: +- 1.9.5 libabseil: - '20230125' target_platform: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 764d69a..1b29a43 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -1,7 +1,7 @@ c_compiler: - gcc c_compiler_version: -- '11' +- '12' cdt_name: - cos7 channel_sources: @@ -11,9 +11,11 @@ channel_targets: cxx_compiler: - gxx cxx_compiler_version: -- '11' +- '12' docker_image: - quay.io/condaforge/linux-anvil-cos7-x86_64 +jsoncpp: +- 1.9.5 libabseil: - '20230125' target_platform: diff --git a/.ci_support/migrations/libabseil20230125.yaml b/.ci_support/migrations/libabseil20230125.yaml deleted file mode 100644 index 2dea689..0000000 --- a/.ci_support/migrations/libabseil20230125.yaml +++ /dev/null @@ -1,7 +0,0 @@ -__migrator: - build_number: 1 - kind: version - migration_number: 1 -libabseil: -- '20230125' -migrator_ts: 1676218104.8853533 diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index a957f92..6591b47 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '14' +- '15' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,9 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '14' +- '15' +jsoncpp: +- 1.9.5 libabseil: - '20230125' macos_machine: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 12751a6..ad6b4c4 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '14' +- '15' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,9 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '14' +- '15' +jsoncpp: +- 1.9.5 libabseil: - '20230125' macos_machine: diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index ce55bfd..4d1970f 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -6,6 +6,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2019 +jsoncpp: +- 1.9.5 libabseil: - '20230125' target_platform: diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 84431a6..a6b09f6 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -33,9 +33,9 @@ CONDARC mamba install --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" + conda-build pip boa conda-forge-ci-setup=3 mamba update --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" + conda-build pip boa conda-forge-ci-setup=3 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index b3abaeb..bb00584 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -24,9 +24,9 @@ source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base mamba install --update-specs --quiet --yes --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" + conda-build pip boa conda-forge-ci-setup=3 mamba update --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 "py-lief<0.12" + conda-build pip boa conda-forge-ci-setup=3 diff --git a/README.md b/README.md index 450c603..26c1cf9 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -About libprotobuf -================= +About libprotobuf-feedstock +=========================== + +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/libprotobuf-feedstock/blob/main/LICENSE.txt) Home: https://developers.google.com/protocol-buffers/ Package license: BSD-3-Clause -Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/libprotobuf-feedstock/blob/main/LICENSE.txt) - Summary: Protocol Buffers - Google's data interchange format. C++ Libraries and protoc, the protobuf compiler. Development: https://github.com/protocolbuffers/protobuf From 882c050eba6675c0b47155b131a608a758023887 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 14:26:48 +1100 Subject: [PATCH 088/182] use our own gtest --- recipe/build-lib.bat | 1 + recipe/build-lib.sh | 1 + recipe/meta.yaml | 7 ++----- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index 1cdebac..6b1b1ca 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -19,6 +19,7 @@ cmake -G "Ninja" ^ -Dprotobuf_BUILD_SHARED_LIBS=%CF_SHARED% ^ -Dprotobuf_JSONCPP_PROVIDER="package" ^ -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ^ + -Dprotobuf_USE_EXTERNAL_GTEST=ON ^ -Dprotobuf_WITH_ZLIB=ON ^ .. if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipe/build-lib.sh b/recipe/build-lib.sh index 3c2faa3..e4a9152 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -40,6 +40,7 @@ cmake -G "Ninja" \ -Dprotobuf_ABSL_PROVIDER="package" \ -Dprotobuf_BUILD_SHARED_LIBS=$CF_SHARED \ -Dprotobuf_JSONCPP_PROVIDER="package" \ + -Dprotobuf_USE_EXTERNAL_GTEST=ON \ -Dprotobuf_WITH_ZLIB=ON \ .. diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 6083818..d387253 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -18,11 +18,6 @@ source: - patches/0002-set-static-lib-extension-on-windows.patch # backport https://github.com/protocolbuffers/protobuf/pull/12577 - patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch - # git submodules (except abseil & jsoncpp) as of: - # https://github.com/protocolbuffers/protobuf/tree/v22.3/third_party - - url: https://github.com/google/googletest/archive/4c9a3bb62bf3ba1f1010bf96f9c8ed767b363774.tar.gz - sha256: ea54c9845568cb31c03f2eddc7a40f7f83912d04ab977ff50ec33278119548dd - folder: third_party/googletest build: number: 0 @@ -44,6 +39,7 @@ outputs: - cmake - ninja host: + - gtest - jsoncpp - libabseil # requires abseil test targets to build with tests enabled @@ -99,6 +95,7 @@ outputs: - cmake - ninja host: + - gtest - jsoncpp - libabseil - libabseil-tests From 598a351ac09e97cea8a86e900c071146f39b2e80 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 20:36:47 +1100 Subject: [PATCH 089/182] use C++17 explicitly --- recipe/build-lib.bat | 1 + recipe/build-lib.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index 6b1b1ca..ccadcf1 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -13,6 +13,7 @@ if "%PKG_NAME%"=="libprotobuf-static" ( :: Configure and install based on protobuf's instructions and other `bld.bat`s. cmake -G "Ninja" ^ -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_CXX_STANDARD=17 ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ -Dprotobuf_ABSL_PROVIDER="package" ^ diff --git a/recipe/build-lib.sh b/recipe/build-lib.sh index e4a9152..eaabde1 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -37,6 +37,7 @@ fi cmake -G "Ninja" \ ${CMAKE_ARGS} \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ -Dprotobuf_ABSL_PROVIDER="package" \ -Dprotobuf_BUILD_SHARED_LIBS=$CF_SHARED \ -Dprotobuf_JSONCPP_PROVIDER="package" \ From 5cc97cc062cd8bd0f229a5e2cdd813ee41a0babe Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 20:40:16 +1100 Subject: [PATCH 090/182] set _LIBCPP_DISABLE_AVAILABILITY on osx --- recipe/build-lib.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/build-lib.sh b/recipe/build-lib.sh index eaabde1..19512c3 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -1,8 +1,7 @@ #!/bin/bash set -ex -if [ "$(uname)" == "Linux" ]; -then +if [[ "$(uname)" == "Linux" ]]; then # protobuf uses PROTOBUF_OPT_FLAG to set the optimization level # unit test can fail if optmization above 0 are used. CPPFLAGS="${CPPFLAGS//-O[0-9]/}" @@ -10,8 +9,9 @@ then export PROTOBUF_OPT_FLAG="-O2" # to improve performance, disable checks intended for debugging CXXFLAGS="$CXXFLAGS -DNDEBUG" -elif [ "$(uname)" == "Darwin" ]; -then +elif [[ "$(uname)" == "Darwin" ]]; then + # See https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk + CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" # remove pie from LDFLAGS LDFLAGS="${LDFLAGS//-pie/}" fi From 31c2bc929e9d12f356aa7c8cb50e6962b9d1768f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 20:44:00 +1100 Subject: [PATCH 091/182] use CMake-idiomatic test invocation also documented as such in the upstream documentation: https://github.com/protocolbuffers/protobuf/blob/main/cmake/README.md#testing --- recipe/build-lib.bat | 3 +++ recipe/build-lib.sh | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index ccadcf1..f673154 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -25,5 +25,8 @@ cmake -G "Ninja" ^ .. if %ERRORLEVEL% neq 0 exit 1 +ctest --progress --output-on-failure +if %ERRORLEVEL% neq 0 exit 1 + cmake --build . --target install --config Release if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipe/build-lib.sh b/recipe/build-lib.sh index 19512c3..1dd8895 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -48,7 +48,7 @@ cmake -G "Ninja" \ cmake --build . if [[ "$CONDA_BUILD_CROSS_COMPILATION" != 1 ]]; then - ninja check + ctest --progress --output-on-failure fi cmake --install . From 6f06949a1e33fb15270efb28016b25ad971ddbe1 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 20:46:23 +1100 Subject: [PATCH 092/182] use more robust string concatenation syntax in jinja --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d387253..4612c88 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -8,7 +8,7 @@ package: name: libprotobuf-split - version: {{ major + "." + version }} + version: {{ major ~ "." ~ version }} source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz From b4f38722d46d8b0c9e151ccb868c83de7a9d5733 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 20:49:04 +1100 Subject: [PATCH 093/182] enable CMake integration tests also on unix --- recipe/meta.yaml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4612c88..4ba90fc 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -51,8 +51,8 @@ outputs: requires: # cmake needs compiler to be able to run package detection, see # https://discourse.cmake.org/t/questions-about-find-package-cli-msvc/6194 - - {{ compiler('cxx') }} # [win] - - cmake # [win] + - {{ compiler('cxx') }} + - cmake files: - cmake_test/ commands: @@ -82,7 +82,8 @@ outputs: - protoc --help # more CMake integration (CMake uses its own FindProtobuf) - - cd cmake_test # [win] + - cd cmake_test + - cmake $CMAKE_ARGS . # [unix] - cmake %CMAKE_ARGS% . # [win] - name: libprotobuf-static @@ -107,8 +108,8 @@ outputs: requires: # cmake needs compiler to be able to run package detection, see # https://discourse.cmake.org/t/questions-about-find-package-cli-msvc/6194 - - {{ compiler('cxx') }} # [win] - - cmake # [win] + - {{ compiler('cxx') }} + - cmake files: - cmake_test/ commands: @@ -119,7 +120,8 @@ outputs: {% endfor %} # more CMake integration (CMake uses its own FindProtobuf) - - cd cmake_test # [win] + - cd cmake_test + - cmake $CMAKE_ARGS . # [unix] - cmake %CMAKE_ARGS% . # [win] about: From f66929b86d3ed31eeeba29d0763a6b71bbefa2f6 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 20:58:52 +1100 Subject: [PATCH 094/182] separate build & install steps in build-lib.bat --- recipe/build-lib.bat | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index f673154..7636d3a 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -25,8 +25,11 @@ cmake -G "Ninja" ^ .. if %ERRORLEVEL% neq 0 exit 1 +cmake --build . +if %ERRORLEVEL% neq 0 exit 1 + ctest --progress --output-on-failure if %ERRORLEVEL% neq 0 exit 1 -cmake --build . --target install --config Release +cmake --install . if %ERRORLEVEL% neq 0 exit 1 From 3ce485fe27e9fb916aa97cce7e32c95bdd3650e7 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 21:46:12 +1100 Subject: [PATCH 095/182] use ninja as generator for integration test --- recipe/meta.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4ba90fc..b2a6401 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -53,6 +53,7 @@ outputs: # https://discourse.cmake.org/t/questions-about-find-package-cli-msvc/6194 - {{ compiler('cxx') }} - cmake + - ninja files: - cmake_test/ commands: @@ -83,8 +84,8 @@ outputs: # more CMake integration (CMake uses its own FindProtobuf) - cd cmake_test - - cmake $CMAKE_ARGS . # [unix] - - cmake %CMAKE_ARGS% . # [win] + - cmake -GNinja $CMAKE_ARGS . # [unix] + - cmake -GNinja %CMAKE_ARGS% . # [win] - name: libprotobuf-static script: build-lib.sh # [unix] @@ -110,6 +111,7 @@ outputs: # https://discourse.cmake.org/t/questions-about-find-package-cli-msvc/6194 - {{ compiler('cxx') }} - cmake + - ninja files: - cmake_test/ commands: @@ -121,8 +123,8 @@ outputs: # more CMake integration (CMake uses its own FindProtobuf) - cd cmake_test - - cmake $CMAKE_ARGS . # [unix] - - cmake %CMAKE_ARGS% . # [win] + - cmake -GNinja $CMAKE_ARGS . # [unix] + - cmake -GNinja %CMAKE_ARGS% . # [win] about: home: https://developers.google.com/protocol-buffers/ From 65df69006c4574451c549d97b047bec5205ed8c9 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:41:06 +1100 Subject: [PATCH 096/182] ignore jsoncpp run-export --- recipe/meta.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b2a6401..d914f1c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -32,6 +32,8 @@ outputs: # https://abi-laboratory.pro/tracker/timeline/protobuf/ # One exception was that 3.6.1 was incompatible with 3.6.0 - {{ pin_subpackage('libprotobuf', max_pin='x.x') }} + ignore_run_exports_from: + - jsoncpp requirements: build: - {{ compiler('c') }} @@ -90,6 +92,9 @@ outputs: - name: libprotobuf-static script: build-lib.sh # [unix] script: build-lib.bat # [win] + build: + ignore_run_exports_from: + - jsoncpp requirements: build: - {{ compiler('c') }} From eaf58dac37c9132b19887bf286e181ba19b7165b Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:45:24 +1100 Subject: [PATCH 097/182] look for the right abseil builds also for libprotobuf-static --- recipe/meta.yaml | 1 + .../0001-use-consistent-cmake-location.patch | 2 +- ...-set-static-lib-extension-on-windows.patch | 2 +- ...tion-of-system-provided-jsoncpp-1257.patch | 2 +- ...always-look-for-shared-abseil-builds.patch | 22 +++++++++++++++++++ 5 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 recipe/patches/0004-always-look-for-shared-abseil-builds.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d914f1c..3809fea 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -18,6 +18,7 @@ source: - patches/0002-set-static-lib-extension-on-windows.patch # backport https://github.com/protocolbuffers/protobuf/pull/12577 - patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch + - patches/0004-always-look-for-shared-abseil-builds.patch build: number: 0 diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index 5b727b8..b33384c 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,7 +1,7 @@ From e2a6811f7562287ec7b1c72855f52693cb593782 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/3] use consistent cmake location +Subject: [PATCH 1/4] use consistent cmake location --- cmake/install.cmake | 12 +++--------- diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index fe9b079..d89ee0d 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,7 +1,7 @@ From d579c6f73dfcded302170a4812e0db0a3698ed2f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/3] set static lib extension on windows +Subject: [PATCH 2/4] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ diff --git a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch index 8ccb2ec..017bbe8 100644 --- a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch +++ b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch @@ -1,7 +1,7 @@ From 854c487d6b54096d57a58af9eb2066e0ccb761cc Mon Sep 17 00:00:00 2001 From: Mike Rochefort Date: Mon, 1 May 2023 09:34:17 -0700 -Subject: [PATCH 3/3] Enable the selection of system provided jsoncpp (#12577) +Subject: [PATCH 3/4] Enable the selection of system provided jsoncpp (#12577) Allows the use of an external `jsoncpp` library to be used. Replicates the model used by `abseil-cpp` as a "package" or "module" to the `protobuf_JSONCPP_PROVIDER` option. diff --git a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch new file mode 100644 index 0000000..1ab4c33 --- /dev/null +++ b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch @@ -0,0 +1,22 @@ +From 91867dceca86e671406f5371c46e253d7cbde25b Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Sat, 13 May 2023 22:43:45 +1100 +Subject: [PATCH 4/4] always look for shared abseil builds + +--- + cmake/abseil-cpp.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake +index e7bfb2b15..32310f5ac 100644 +--- a/cmake/abseil-cpp.cmake ++++ b/cmake/abseil-cpp.cmake +@@ -37,7 +37,7 @@ elseif(protobuf_ABSL_PROVIDER STREQUAL "package") + endif() + set(_protobuf_FIND_ABSL "if(NOT TARGET absl::strings)\n find_package(absl CONFIG)\nendif()") + +-if (BUILD_SHARED_LIBS AND MSVC) ++if (MSVC) + # On MSVC Abseil is bundled into a single DLL. + set(protobuf_ABSL_USED_TARGETS abseil_dll) + From 31f9f0c7e362d1dbaafef2e2d72013dd0707d1dd Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 14 May 2023 00:18:01 +1100 Subject: [PATCH 098/182] bump to 4.22.5 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3809fea..9953169 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "22.3" %} +{% set version = "22.5" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 786bf22c8fd3f20b7242df3b9649900714b0ba77b24a4971573088f41dfe9f8a + sha256: 4b98c800b352e7582bc92ed398999030ce4ebb49c7858dcb070850ec476b72f2 patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch From d9f8d30f8b6e389ad2a78da58df7ac85756d6a6b Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 14 May 2023 00:20:18 +1100 Subject: [PATCH 099/182] build 4.23.0 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9953169..078175a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "22.5" %} +{% set version = "23.0" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 4b98c800b352e7582bc92ed398999030ce4ebb49c7858dcb070850ec476b72f2 + sha256: b8faf8487cc364e5c2b47a9abd77512bc79a6389ea45392ca938ba7617eae877 patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch From 1483a3342be2f5cdc80604c8c83b098251ad4a17 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 14 May 2023 12:57:31 +1100 Subject: [PATCH 100/182] backport patch for GCC C++17 compat --- recipe/meta.yaml | 2 + .../0001-use-consistent-cmake-location.patch | 4 +- ...-set-static-lib-extension-on-windows.patch | 4 +- ...tion-of-system-provided-jsoncpp-1257.patch | 4 +- ...always-look-for-shared-abseil-builds.patch | 4 +- recipe/patches/0005-Fix-C-17-gcc-issues.patch | 101 ++++++++++++++++++ 6 files changed, 111 insertions(+), 8 deletions(-) create mode 100644 recipe/patches/0005-Fix-C-17-gcc-issues.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 078175a..fe87087 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -19,6 +19,8 @@ source: # backport https://github.com/protocolbuffers/protobuf/pull/12577 - patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch - patches/0004-always-look-for-shared-abseil-builds.patch + # backport https://github.com/protocolbuffers/protobuf/pull/12743 + - patches/0005-Fix-C-17-gcc-issues.patch build: number: 0 diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index b33384c..37278b1 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,7 +1,7 @@ -From e2a6811f7562287ec7b1c72855f52693cb593782 Mon Sep 17 00:00:00 2001 +From fd5ddf4467843052d55daf8d753a8364ad8c1f30 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/4] use consistent cmake location +Subject: [PATCH 1/5] use consistent cmake location --- cmake/install.cmake | 12 +++--------- diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index d89ee0d..9c4beb7 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,7 +1,7 @@ -From d579c6f73dfcded302170a4812e0db0a3698ed2f Mon Sep 17 00:00:00 2001 +From cd8bb196017a2a4971d2fc9df9e019be53f4d77d Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/4] set static lib extension on windows +Subject: [PATCH 2/5] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ diff --git a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch index 017bbe8..17a0659 100644 --- a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch +++ b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch @@ -1,7 +1,7 @@ -From 854c487d6b54096d57a58af9eb2066e0ccb761cc Mon Sep 17 00:00:00 2001 +From 1fdffe322b2deb870d08977a34349706100e50b3 Mon Sep 17 00:00:00 2001 From: Mike Rochefort Date: Mon, 1 May 2023 09:34:17 -0700 -Subject: [PATCH 3/4] Enable the selection of system provided jsoncpp (#12577) +Subject: [PATCH 3/5] Enable the selection of system provided jsoncpp (#12577) Allows the use of an external `jsoncpp` library to be used. Replicates the model used by `abseil-cpp` as a "package" or "module" to the `protobuf_JSONCPP_PROVIDER` option. diff --git a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch index 1ab4c33..6102ea3 100644 --- a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch @@ -1,7 +1,7 @@ -From 91867dceca86e671406f5371c46e253d7cbde25b Mon Sep 17 00:00:00 2001 +From 4a7863ab3f5c6caa705006f685d28a253602312a Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 4/4] always look for shared abseil builds +Subject: [PATCH 4/5] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- diff --git a/recipe/patches/0005-Fix-C-17-gcc-issues.patch b/recipe/patches/0005-Fix-C-17-gcc-issues.patch new file mode 100644 index 0000000..a1e952d --- /dev/null +++ b/recipe/patches/0005-Fix-C-17-gcc-issues.patch @@ -0,0 +1,101 @@ +From b289a82a362c22550dbc9ca71006f1f2fab758e7 Mon Sep 17 00:00:00 2001 +From: Mike Kruskal +Date: Tue, 9 May 2023 13:11:33 -0700 +Subject: [PATCH 5/5] Fix C++17 gcc issues. + +This also adds tests for C++17 and C++20 to prevent further regressions. + +PiperOrigin-RevId: 530693318 +--- + .github/workflows/test_cpp.yml | 27 +++++++++++++++++++++------ + src/google/protobuf/port_def.inc | 9 ++++++--- + 2 files changed, 27 insertions(+), 9 deletions(-) + +diff --git a/.github/workflows/test_cpp.yml b/.github/workflows/test_cpp.yml +index f4d1436ae..a8e7b0406 100644 +--- a/.github/workflows/test_cpp.yml ++++ b/.github/workflows/test_cpp.yml +@@ -114,11 +114,15 @@ jobs: + fail-fast: false # Don't cancel all jobs if one fails. + matrix: + include: +- - flags: -Dprotobuf_BUILD_EXAMPLES=ON ++ - flags: -Dprotobuf_BUILD_EXAMPLES=ON -DCMAKE_CXX_STANDARD=14 + - name: Ninja +- flags: -G Ninja ++ flags: -G Ninja -DCMAKE_CXX_STANDARD=14 + - name: Shared +- flags: -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_BUILD_EXAMPLES=ON ++ flags: -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_BUILD_EXAMPLES=ON -DCMAKE_CXX_STANDARD=14 ++ - name: C++17 ++ flags: -DCMAKE_CXX_STANDARD=17 ++ - name: C++20 ++ flags: -DCMAKE_CXX_STANDARD=20 + + name: Linux CMake ${{ matrix.name}} + runs-on: ubuntu-latest +@@ -202,7 +206,18 @@ jobs: + cmake --build . + + linux-cmake-gcc: +- name: Linux CMake GCC ++ strategy: ++ fail-fast: false # Don't cancel all jobs if one fails. ++ matrix: ++ include: ++ - name: C++14 ++ flags: -DCMAKE_CXX_STANDARD=14 ++ - name: C++17 ++ flags: -DCMAKE_CXX_STANDARD=17 ++ - name: C++20 ++ flags: -DCMAKE_CXX_STANDARD=20 ++ ++ name: Linux CMake GCC ${{ matrix.name }} + runs-on: ubuntu-latest + steps: + - name: Checkout pending changes +@@ -214,7 +229,7 @@ jobs: + - name: Setup ccache + uses: protocolbuffers/protobuf-ci/ccache@v1 + with: +- cache-prefix: linux-cmake-gcc ++ cache-prefix: linux-cmake-gcc-${{ matrix.name }} + + - name: Run tests + uses: protocolbuffers/protobuf-ci/docker@v1 +@@ -226,7 +241,7 @@ jobs: + -c 'set -ex; + cd /workspace; + ccache -z; +- cmake . -DCMAKE_CXX_STANDARD=14 ${{ env.CCACHE_CMAKE_FLAGS }}; ++ cmake . ${{ matrix.flags }} ${{ env.CCACHE_CMAKE_FLAGS }}; + cmake --build . --parallel 20; + ctest --verbose --parallel 20; + ccache -s' +diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc +index 4b61c3da6..018d13a1c 100644 +--- a/src/google/protobuf/port_def.inc ++++ b/src/google/protobuf/port_def.inc +@@ -679,6 +679,12 @@ static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and + # define PROTOBUF_CONSTINIT + # define PROTOBUF_CONSTEXPR constexpr + # endif ++#elif defined(__GNUC__) && !defined(__clang__) ++// GCC doesn't support constinit aggregate initialization of absl::Cord. ++# if PROTOBUF_GNUC_MIN(12, 2) ++# define PROTOBUF_CONSTINIT ++# define PROTOBUF_CONSTEXPR constexpr ++# endif + #else + # if defined(__cpp_constinit) && !defined(__CYGWIN__) + # define PROTOBUF_CONSTINIT constinit +@@ -693,9 +699,6 @@ static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and + (!defined(__APPLE__) && PROTOBUF_CLANG_MIN(12, 0))) + # define PROTOBUF_CONSTINIT [[clang::require_constant_initialization]] + # define PROTOBUF_CONSTEXPR constexpr +-# elif PROTOBUF_GNUC_MIN(12, 2) +-# define PROTOBUF_CONSTINIT __constinit +-# define PROTOBUF_CONSTEXPR constexpr + # endif + #endif + From 23e1561e1d091504eca798c052a30794450fd9f5 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 16 May 2023 12:03:53 +1100 Subject: [PATCH 101/182] backport another required GCC compat fix --- recipe/meta.yaml | 2 + .../0001-use-consistent-cmake-location.patch | 2 +- ...-set-static-lib-extension-on-windows.patch | 2 +- ...tion-of-system-provided-jsoncpp-1257.patch | 2 +- ...always-look-for-shared-abseil-builds.patch | 2 +- recipe/patches/0005-Fix-C-17-gcc-issues.patch | 2 +- ...d-a-workaround-for-GCC-constexpr-bug.patch | 604 ++++++++++++++++++ 7 files changed, 611 insertions(+), 5 deletions(-) create mode 100644 recipe/patches/0006-Add-a-workaround-for-GCC-constexpr-bug.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fe87087..cc10c89 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -21,6 +21,8 @@ source: - patches/0004-always-look-for-shared-abseil-builds.patch # backport https://github.com/protocolbuffers/protobuf/pull/12743 - patches/0005-Fix-C-17-gcc-issues.patch + # backport 67ecdde4f257094c4019ebfda62b2ae60facb6fa from 23.x branch + - patches/0006-Add-a-workaround-for-GCC-constexpr-bug.patch build: number: 0 diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index 37278b1..4fc22bf 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,7 +1,7 @@ From fd5ddf4467843052d55daf8d753a8364ad8c1f30 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/5] use consistent cmake location +Subject: [PATCH 1/6] use consistent cmake location --- cmake/install.cmake | 12 +++--------- diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index 9c4beb7..1249030 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,7 +1,7 @@ From cd8bb196017a2a4971d2fc9df9e019be53f4d77d Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/5] set static lib extension on windows +Subject: [PATCH 2/6] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ diff --git a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch index 17a0659..5580622 100644 --- a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch +++ b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch @@ -1,7 +1,7 @@ From 1fdffe322b2deb870d08977a34349706100e50b3 Mon Sep 17 00:00:00 2001 From: Mike Rochefort Date: Mon, 1 May 2023 09:34:17 -0700 -Subject: [PATCH 3/5] Enable the selection of system provided jsoncpp (#12577) +Subject: [PATCH 3/6] Enable the selection of system provided jsoncpp (#12577) Allows the use of an external `jsoncpp` library to be used. Replicates the model used by `abseil-cpp` as a "package" or "module" to the `protobuf_JSONCPP_PROVIDER` option. diff --git a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch index 6102ea3..6de34f5 100644 --- a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch @@ -1,7 +1,7 @@ From 4a7863ab3f5c6caa705006f685d28a253602312a Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 4/5] always look for shared abseil builds +Subject: [PATCH 4/6] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- diff --git a/recipe/patches/0005-Fix-C-17-gcc-issues.patch b/recipe/patches/0005-Fix-C-17-gcc-issues.patch index a1e952d..04a70fe 100644 --- a/recipe/patches/0005-Fix-C-17-gcc-issues.patch +++ b/recipe/patches/0005-Fix-C-17-gcc-issues.patch @@ -1,7 +1,7 @@ From b289a82a362c22550dbc9ca71006f1f2fab758e7 Mon Sep 17 00:00:00 2001 From: Mike Kruskal Date: Tue, 9 May 2023 13:11:33 -0700 -Subject: [PATCH 5/5] Fix C++17 gcc issues. +Subject: [PATCH 5/6] Fix C++17 gcc issues. This also adds tests for C++17 and C++20 to prevent further regressions. diff --git a/recipe/patches/0006-Add-a-workaround-for-GCC-constexpr-bug.patch b/recipe/patches/0006-Add-a-workaround-for-GCC-constexpr-bug.patch new file mode 100644 index 0000000..c6c51c3 --- /dev/null +++ b/recipe/patches/0006-Add-a-workaround-for-GCC-constexpr-bug.patch @@ -0,0 +1,604 @@ +From 57b6cbd1c0fa4e770e6335d57277a0c05b08e0f4 Mon Sep 17 00:00:00 2001 +From: Mike Kruskal +Date: Mon, 15 May 2023 16:11:41 -0700 +Subject: [PATCH 6/6] Add a workaround for GCC constexpr bug + +This turns the constexpr constructors into templates to silence errors when constexpr isn't valid. We are also switching to 12.2 for GCC/cmake tests to prevent regressions (9.5 and 13.1 are already tested by GCC/bazel tests). + +Fixes #12807 + +PiperOrigin-RevId: 532258101 +--- + .github/workflows/test_cpp.yml | 2 +- + src/google/protobuf/compiler/cpp/message.cc | 12 +++++++++ + src/google/protobuf/compiler/plugin.pb.cc | 4 +++ + src/google/protobuf/compiler/plugin.pb.h | 4 +++ + src/google/protobuf/descriptor.pb.cc | 28 +++++++++++++++++++++ + src/google/protobuf/descriptor.pb.h | 28 +++++++++++++++++++++ + 6 files changed, 77 insertions(+), 1 deletion(-) + +diff --git a/.github/workflows/test_cpp.yml b/.github/workflows/test_cpp.yml +index a8e7b0406..f45b59ed1 100644 +--- a/.github/workflows/test_cpp.yml ++++ b/.github/workflows/test_cpp.yml +@@ -234,7 +234,7 @@ jobs: + - name: Run tests + uses: protocolbuffers/protobuf-ci/docker@v1 + with: +- image: us-docker.pkg.dev/protobuf-build/containers/test/linux/gcc:13.1-5.4.0-307caa02808127e49720f3e77d6a9f3b3ef5a915 ++ image: us-docker.pkg.dev/protobuf-build/containers/test/linux/gcc:12.2-5.4.0-307caa02808127e49720f3e77d6a9f3b3ef5a915 + credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} + entrypoint: bash + command: >- +diff --git a/src/google/protobuf/compiler/cpp/message.cc b/src/google/protobuf/compiler/cpp/message.cc +index e34f19bde..a7c70cdaf 100644 +--- a/src/google/protobuf/compiler/cpp/message.cc ++++ b/src/google/protobuf/compiler/cpp/message.cc +@@ -1155,6 +1155,9 @@ void MessageGenerator::GenerateClassDefinition(io::Printer* p) { + " ::$proto_ns$::internal::WireFormatLite::$val_wire_type$> " + "SuperType;\n" + " $classname$();\n" ++ // Templatize constexpr constructor as a workaround for a bug in gcc 12 ++ // (warning in gcc 13). ++ " template \n" + " explicit PROTOBUF_CONSTEXPR $classname$(\n" + " ::$proto_ns$::internal::ConstantInitialized);\n" + " explicit $classname$(::$proto_ns$::Arena* arena);\n" +@@ -1248,6 +1251,9 @@ void MessageGenerator::GenerateClassDefinition(io::Printer* p) { + format("~$classname$() override;\n"); + } + format( ++ // Templatize constexpr constructor as a workaround for a bug in gcc 12 ++ // (warning in gcc 13). ++ "template\n" + "explicit PROTOBUF_CONSTEXPR " + "$classname$(::$proto_ns$::internal::ConstantInitialized);\n" + "\n" +@@ -2449,13 +2455,19 @@ void MessageGenerator::GenerateConstexprConstructor(io::Printer* p) { + Formatter format(p); + + if (IsMapEntryMessage(descriptor_) || !HasImplData(descriptor_, options_)) { ++ // Templatize constexpr constructor as a workaround for a bug in gcc 12 ++ // (warning in gcc 13). + format( ++ "template \n" + "PROTOBUF_CONSTEXPR $classname$::$classname$(\n" + " ::_pbi::ConstantInitialized) {}\n"); + return; + } + ++ // Templatize constexpr constructor as a workaround for a bug in gcc 12 ++ // (warning in gcc 13). + format( ++ "template \n" + "PROTOBUF_CONSTEXPR $classname$::$classname$(\n" + " ::_pbi::ConstantInitialized)"); + +diff --git a/src/google/protobuf/compiler/plugin.pb.cc b/src/google/protobuf/compiler/plugin.pb.cc +index 94cc6f5dd..88c0c8845 100644 +--- a/src/google/protobuf/compiler/plugin.pb.cc ++++ b/src/google/protobuf/compiler/plugin.pb.cc +@@ -20,6 +20,7 @@ namespace _pb = ::PROTOBUF_NAMESPACE_ID; + namespace _pbi = ::PROTOBUF_NAMESPACE_ID::internal; + PROTOBUF_NAMESPACE_OPEN + namespace compiler { ++template + PROTOBUF_CONSTEXPR Version::Version( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -44,6 +45,7 @@ struct VersionDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VersionDefaultTypeInternal _Version_default_instance_; ++template + PROTOBUF_CONSTEXPR CodeGeneratorRequest::CodeGeneratorRequest( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -65,6 +67,7 @@ struct CodeGeneratorRequestDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CodeGeneratorRequestDefaultTypeInternal _CodeGeneratorRequest_default_instance_; ++template + PROTOBUF_CONSTEXPR CodeGeneratorResponse_File::CodeGeneratorResponse_File( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -92,6 +95,7 @@ struct CodeGeneratorResponse_FileDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CodeGeneratorResponse_FileDefaultTypeInternal _CodeGeneratorResponse_File_default_instance_; ++template + PROTOBUF_CONSTEXPR CodeGeneratorResponse::CodeGeneratorResponse( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +diff --git a/src/google/protobuf/compiler/plugin.pb.h b/src/google/protobuf/compiler/plugin.pb.h +index e9bf2a479..4a7049b49 100644 +--- a/src/google/protobuf/compiler/plugin.pb.h ++++ b/src/google/protobuf/compiler/plugin.pb.h +@@ -124,6 +124,7 @@ class PROTOC_EXPORT Version final : + public: + inline Version() : Version(nullptr) {} + ~Version() override; ++ template + explicit PROTOBUF_CONSTEXPR Version(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + Version(const Version& from); +@@ -329,6 +330,7 @@ class PROTOC_EXPORT CodeGeneratorRequest final : + public: + inline CodeGeneratorRequest() : CodeGeneratorRequest(nullptr) {} + ~CodeGeneratorRequest() override; ++ template + explicit PROTOBUF_CONSTEXPR CodeGeneratorRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + CodeGeneratorRequest(const CodeGeneratorRequest& from); +@@ -565,6 +567,7 @@ class PROTOC_EXPORT CodeGeneratorResponse_File final : + public: + inline CodeGeneratorResponse_File() : CodeGeneratorResponse_File(nullptr) {} + ~CodeGeneratorResponse_File() override; ++ template + explicit PROTOBUF_CONSTEXPR CodeGeneratorResponse_File(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + CodeGeneratorResponse_File(const CodeGeneratorResponse_File& from); +@@ -793,6 +796,7 @@ class PROTOC_EXPORT CodeGeneratorResponse final : + public: + inline CodeGeneratorResponse() : CodeGeneratorResponse(nullptr) {} + ~CodeGeneratorResponse() override; ++ template + explicit PROTOBUF_CONSTEXPR CodeGeneratorResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + CodeGeneratorResponse(const CodeGeneratorResponse& from); +diff --git a/src/google/protobuf/descriptor.pb.cc b/src/google/protobuf/descriptor.pb.cc +index 7a97dadf7..ea25bff5b 100644 +--- a/src/google/protobuf/descriptor.pb.cc ++++ b/src/google/protobuf/descriptor.pb.cc +@@ -19,6 +19,7 @@ PROTOBUF_PRAGMA_INIT_SEG + namespace _pb = ::PROTOBUF_NAMESPACE_ID; + namespace _pbi = ::PROTOBUF_NAMESPACE_ID::internal; + PROTOBUF_NAMESPACE_OPEN ++template + PROTOBUF_CONSTEXPR FileDescriptorSet::FileDescriptorSet( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.file_)*/{} +@@ -33,6 +34,7 @@ struct FileDescriptorSetDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FileDescriptorSetDefaultTypeInternal _FileDescriptorSet_default_instance_; ++template + PROTOBUF_CONSTEXPR FileDescriptorProto::FileDescriptorProto( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -74,6 +76,7 @@ struct FileDescriptorProtoDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FileDescriptorProtoDefaultTypeInternal _FileDescriptorProto_default_instance_; ++template + PROTOBUF_CONSTEXPR DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -93,6 +96,7 @@ struct DescriptorProto_ExtensionRangeDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DescriptorProto_ExtensionRangeDefaultTypeInternal _DescriptorProto_ExtensionRange_default_instance_; ++template + PROTOBUF_CONSTEXPR DescriptorProto_ReservedRange::DescriptorProto_ReservedRange( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -111,6 +115,7 @@ struct DescriptorProto_ReservedRangeDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DescriptorProto_ReservedRangeDefaultTypeInternal _DescriptorProto_ReservedRange_default_instance_; ++template + PROTOBUF_CONSTEXPR DescriptorProto::DescriptorProto( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -138,6 +143,7 @@ struct DescriptorProtoDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DescriptorProtoDefaultTypeInternal _DescriptorProto_default_instance_; ++template + PROTOBUF_CONSTEXPR ExtensionRangeOptions_Declaration::ExtensionRangeOptions_Declaration( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -168,6 +174,7 @@ struct ExtensionRangeOptions_DeclarationDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExtensionRangeOptions_DeclarationDefaultTypeInternal _ExtensionRangeOptions_Declaration_default_instance_; ++template + PROTOBUF_CONSTEXPR ExtensionRangeOptions::ExtensionRangeOptions( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._extensions_)*/{} +@@ -187,6 +194,7 @@ struct ExtensionRangeOptionsDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExtensionRangeOptionsDefaultTypeInternal _ExtensionRangeOptions_default_instance_; ++template + PROTOBUF_CONSTEXPR FieldDescriptorProto::FieldDescriptorProto( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -232,6 +240,7 @@ struct FieldDescriptorProtoDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldDescriptorProtoDefaultTypeInternal _FieldDescriptorProto_default_instance_; ++template + PROTOBUF_CONSTEXPR OneofDescriptorProto::OneofDescriptorProto( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -251,6 +260,7 @@ struct OneofDescriptorProtoDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OneofDescriptorProtoDefaultTypeInternal _OneofDescriptorProto_default_instance_; ++template + PROTOBUF_CONSTEXPR EnumDescriptorProto_EnumReservedRange::EnumDescriptorProto_EnumReservedRange( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -269,6 +279,7 @@ struct EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal _EnumDescriptorProto_EnumReservedRange_default_instance_; ++template + PROTOBUF_CONSTEXPR EnumDescriptorProto::EnumDescriptorProto( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -291,6 +302,7 @@ struct EnumDescriptorProtoDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumDescriptorProtoDefaultTypeInternal _EnumDescriptorProto_default_instance_; ++template + PROTOBUF_CONSTEXPR EnumValueDescriptorProto::EnumValueDescriptorProto( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -312,6 +324,7 @@ struct EnumValueDescriptorProtoDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumValueDescriptorProtoDefaultTypeInternal _EnumValueDescriptorProto_default_instance_; ++template + PROTOBUF_CONSTEXPR ServiceDescriptorProto::ServiceDescriptorProto( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -332,6 +345,7 @@ struct ServiceDescriptorProtoDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ServiceDescriptorProtoDefaultTypeInternal _ServiceDescriptorProto_default_instance_; ++template + PROTOBUF_CONSTEXPR MethodDescriptorProto::MethodDescriptorProto( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -363,6 +377,7 @@ struct MethodDescriptorProtoDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MethodDescriptorProtoDefaultTypeInternal _MethodDescriptorProto_default_instance_; ++template + PROTOBUF_CONSTEXPR FileOptions::FileOptions( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._extensions_)*/{} +@@ -439,6 +454,7 @@ struct FileOptionsDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FileOptionsDefaultTypeInternal _FileOptions_default_instance_; ++template + PROTOBUF_CONSTEXPR MessageOptions::MessageOptions( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._extensions_)*/{} +@@ -465,6 +481,7 @@ struct MessageOptionsDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MessageOptionsDefaultTypeInternal _MessageOptions_default_instance_; ++template + PROTOBUF_CONSTEXPR FieldOptions::FieldOptions( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._extensions_)*/{} +@@ -503,6 +520,7 @@ struct FieldOptionsDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldOptionsDefaultTypeInternal _FieldOptions_default_instance_; ++template + PROTOBUF_CONSTEXPR OneofOptions::OneofOptions( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._extensions_)*/{} +@@ -518,6 +536,7 @@ struct OneofOptionsDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OneofOptionsDefaultTypeInternal _OneofOptions_default_instance_; ++template + PROTOBUF_CONSTEXPR EnumOptions::EnumOptions( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._extensions_)*/{} +@@ -540,6 +559,7 @@ struct EnumOptionsDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumOptionsDefaultTypeInternal _EnumOptions_default_instance_; ++template + PROTOBUF_CONSTEXPR EnumValueOptions::EnumValueOptions( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._extensions_)*/{} +@@ -558,6 +578,7 @@ struct EnumValueOptionsDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumValueOptionsDefaultTypeInternal _EnumValueOptions_default_instance_; ++template + PROTOBUF_CONSTEXPR ServiceOptions::ServiceOptions( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._extensions_)*/{} +@@ -576,6 +597,7 @@ struct ServiceOptionsDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ServiceOptionsDefaultTypeInternal _ServiceOptions_default_instance_; ++template + PROTOBUF_CONSTEXPR MethodOptions::MethodOptions( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._extensions_)*/{} +@@ -596,6 +618,7 @@ struct MethodOptionsDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MethodOptionsDefaultTypeInternal _MethodOptions_default_instance_; ++template + PROTOBUF_CONSTEXPR UninterpretedOption_NamePart::UninterpretedOption_NamePart( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -616,6 +639,7 @@ struct UninterpretedOption_NamePartDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UninterpretedOption_NamePartDefaultTypeInternal _UninterpretedOption_NamePart_default_instance_; ++template + PROTOBUF_CONSTEXPR UninterpretedOption::UninterpretedOption( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -649,6 +673,7 @@ struct UninterpretedOptionDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UninterpretedOptionDefaultTypeInternal _UninterpretedOption_default_instance_; ++template + PROTOBUF_CONSTEXPR SourceCodeInfo_Location::SourceCodeInfo_Location( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -678,6 +703,7 @@ struct SourceCodeInfo_LocationDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceCodeInfo_LocationDefaultTypeInternal _SourceCodeInfo_Location_default_instance_; ++template + PROTOBUF_CONSTEXPR SourceCodeInfo::SourceCodeInfo( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.location_)*/{} +@@ -692,6 +718,7 @@ struct SourceCodeInfoDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceCodeInfoDefaultTypeInternal _SourceCodeInfo_default_instance_; ++template + PROTOBUF_CONSTEXPR GeneratedCodeInfo_Annotation::GeneratedCodeInfo_Annotation( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} +@@ -719,6 +746,7 @@ struct GeneratedCodeInfo_AnnotationDefaultTypeInternal { + + PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GeneratedCodeInfo_AnnotationDefaultTypeInternal _GeneratedCodeInfo_Annotation_default_instance_; ++template + PROTOBUF_CONSTEXPR GeneratedCodeInfo::GeneratedCodeInfo( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.annotation_)*/{} +diff --git a/src/google/protobuf/descriptor.pb.h b/src/google/protobuf/descriptor.pb.h +index 80fd85b99..ee7dbbe36 100644 +--- a/src/google/protobuf/descriptor.pb.h ++++ b/src/google/protobuf/descriptor.pb.h +@@ -517,6 +517,7 @@ class PROTOBUF_EXPORT FileDescriptorSet final : + public: + inline FileDescriptorSet() : FileDescriptorSet(nullptr) {} + ~FileDescriptorSet() override; ++ template + explicit PROTOBUF_CONSTEXPR FileDescriptorSet(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FileDescriptorSet(const FileDescriptorSet& from); +@@ -681,6 +682,7 @@ class PROTOBUF_EXPORT FileDescriptorProto final : + public: + inline FileDescriptorProto() : FileDescriptorProto(nullptr) {} + ~FileDescriptorProto() override; ++ template + explicit PROTOBUF_CONSTEXPR FileDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FileDescriptorProto(const FileDescriptorProto& from); +@@ -1112,6 +1114,7 @@ class PROTOBUF_EXPORT DescriptorProto_ExtensionRange final : + public: + inline DescriptorProto_ExtensionRange() : DescriptorProto_ExtensionRange(nullptr) {} + ~DescriptorProto_ExtensionRange() override; ++ template + explicit PROTOBUF_CONSTEXPR DescriptorProto_ExtensionRange(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from); +@@ -1297,6 +1300,7 @@ class PROTOBUF_EXPORT DescriptorProto_ReservedRange final : + public: + inline DescriptorProto_ReservedRange() : DescriptorProto_ReservedRange(nullptr) {} + ~DescriptorProto_ReservedRange() override; ++ template + explicit PROTOBUF_CONSTEXPR DescriptorProto_ReservedRange(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + DescriptorProto_ReservedRange(const DescriptorProto_ReservedRange& from); +@@ -1466,6 +1470,7 @@ class PROTOBUF_EXPORT DescriptorProto final : + public: + inline DescriptorProto() : DescriptorProto(nullptr) {} + ~DescriptorProto() override; ++ template + explicit PROTOBUF_CONSTEXPR DescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + DescriptorProto(const DescriptorProto& from); +@@ -1837,6 +1842,7 @@ class PROTOBUF_EXPORT ExtensionRangeOptions_Declaration final : + public: + inline ExtensionRangeOptions_Declaration() : ExtensionRangeOptions_Declaration(nullptr) {} + ~ExtensionRangeOptions_Declaration() override; ++ template + explicit PROTOBUF_CONSTEXPR ExtensionRangeOptions_Declaration(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ExtensionRangeOptions_Declaration(const ExtensionRangeOptions_Declaration& from); +@@ -2078,6 +2084,7 @@ class PROTOBUF_EXPORT ExtensionRangeOptions final : + public: + inline ExtensionRangeOptions() : ExtensionRangeOptions(nullptr) {} + ~ExtensionRangeOptions() override; ++ template + explicit PROTOBUF_CONSTEXPR ExtensionRangeOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ExtensionRangeOptions(const ExtensionRangeOptions& from); +@@ -2453,6 +2460,7 @@ class PROTOBUF_EXPORT FieldDescriptorProto final : + public: + inline FieldDescriptorProto() : FieldDescriptorProto(nullptr) {} + ~FieldDescriptorProto() override; ++ template + explicit PROTOBUF_CONSTEXPR FieldDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FieldDescriptorProto(const FieldDescriptorProto& from); +@@ -2849,6 +2857,7 @@ class PROTOBUF_EXPORT OneofDescriptorProto final : + public: + inline OneofDescriptorProto() : OneofDescriptorProto(nullptr) {} + ~OneofDescriptorProto() override; ++ template + explicit PROTOBUF_CONSTEXPR OneofDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + OneofDescriptorProto(const OneofDescriptorProto& from); +@@ -3031,6 +3040,7 @@ class PROTOBUF_EXPORT EnumDescriptorProto_EnumReservedRange final : + public: + inline EnumDescriptorProto_EnumReservedRange() : EnumDescriptorProto_EnumReservedRange(nullptr) {} + ~EnumDescriptorProto_EnumReservedRange() override; ++ template + explicit PROTOBUF_CONSTEXPR EnumDescriptorProto_EnumReservedRange(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + EnumDescriptorProto_EnumReservedRange(const EnumDescriptorProto_EnumReservedRange& from); +@@ -3200,6 +3210,7 @@ class PROTOBUF_EXPORT EnumDescriptorProto final : + public: + inline EnumDescriptorProto() : EnumDescriptorProto(nullptr) {} + ~EnumDescriptorProto() override; ++ template + explicit PROTOBUF_CONSTEXPR EnumDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + EnumDescriptorProto(const EnumDescriptorProto& from); +@@ -3460,6 +3471,7 @@ class PROTOBUF_EXPORT EnumValueDescriptorProto final : + public: + inline EnumValueDescriptorProto() : EnumValueDescriptorProto(nullptr) {} + ~EnumValueDescriptorProto() override; ++ template + explicit PROTOBUF_CONSTEXPR EnumValueDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + EnumValueDescriptorProto(const EnumValueDescriptorProto& from); +@@ -3655,6 +3667,7 @@ class PROTOBUF_EXPORT ServiceDescriptorProto final : + public: + inline ServiceDescriptorProto() : ServiceDescriptorProto(nullptr) {} + ~ServiceDescriptorProto() override; ++ template + explicit PROTOBUF_CONSTEXPR ServiceDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ServiceDescriptorProto(const ServiceDescriptorProto& from); +@@ -3859,6 +3872,7 @@ class PROTOBUF_EXPORT MethodDescriptorProto final : + public: + inline MethodDescriptorProto() : MethodDescriptorProto(nullptr) {} + ~MethodDescriptorProto() override; ++ template + explicit PROTOBUF_CONSTEXPR MethodDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + MethodDescriptorProto(const MethodDescriptorProto& from); +@@ -4113,6 +4127,7 @@ class PROTOBUF_EXPORT FileOptions final : + public: + inline FileOptions() : FileOptions(nullptr) {} + ~FileOptions() override; ++ template + explicit PROTOBUF_CONSTEXPR FileOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FileOptions(const FileOptions& from); +@@ -4812,6 +4827,7 @@ class PROTOBUF_EXPORT MessageOptions final : + public: + inline MessageOptions() : MessageOptions(nullptr) {} + ~MessageOptions() override; ++ template + explicit PROTOBUF_CONSTEXPR MessageOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + MessageOptions(const MessageOptions& from); +@@ -5195,6 +5211,7 @@ class PROTOBUF_EXPORT FieldOptions final : + public: + inline FieldOptions() : FieldOptions(nullptr) {} + ~FieldOptions() override; ++ template + explicit PROTOBUF_CONSTEXPR FieldOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FieldOptions(const FieldOptions& from); +@@ -5757,6 +5774,7 @@ class PROTOBUF_EXPORT OneofOptions final : + public: + inline OneofOptions() : OneofOptions(nullptr) {} + ~OneofOptions() override; ++ template + explicit PROTOBUF_CONSTEXPR OneofOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + OneofOptions(const OneofOptions& from); +@@ -6074,6 +6092,7 @@ class PROTOBUF_EXPORT EnumOptions final : + public: + inline EnumOptions() : EnumOptions(nullptr) {} + ~EnumOptions() override; ++ template + explicit PROTOBUF_CONSTEXPR EnumOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + EnumOptions(const EnumOptions& from); +@@ -6431,6 +6450,7 @@ class PROTOBUF_EXPORT EnumValueOptions final : + public: + inline EnumValueOptions() : EnumValueOptions(nullptr) {} + ~EnumValueOptions() override; ++ template + explicit PROTOBUF_CONSTEXPR EnumValueOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + EnumValueOptions(const EnumValueOptions& from); +@@ -6762,6 +6782,7 @@ class PROTOBUF_EXPORT ServiceOptions final : + public: + inline ServiceOptions() : ServiceOptions(nullptr) {} + ~ServiceOptions() override; ++ template + explicit PROTOBUF_CONSTEXPR ServiceOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ServiceOptions(const ServiceOptions& from); +@@ -7093,6 +7114,7 @@ class PROTOBUF_EXPORT MethodOptions final : + public: + inline MethodOptions() : MethodOptions(nullptr) {} + ~MethodOptions() override; ++ template + explicit PROTOBUF_CONSTEXPR MethodOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + MethodOptions(const MethodOptions& from); +@@ -7458,6 +7480,7 @@ class PROTOBUF_EXPORT UninterpretedOption_NamePart final : + public: + inline UninterpretedOption_NamePart() : UninterpretedOption_NamePart(nullptr) {} + ~UninterpretedOption_NamePart() override; ++ template + explicit PROTOBUF_CONSTEXPR UninterpretedOption_NamePart(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + UninterpretedOption_NamePart(const UninterpretedOption_NamePart& from); +@@ -7640,6 +7663,7 @@ class PROTOBUF_EXPORT UninterpretedOption final : + public: + inline UninterpretedOption() : UninterpretedOption(nullptr) {} + ~UninterpretedOption() override; ++ template + explicit PROTOBUF_CONSTEXPR UninterpretedOption(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + UninterpretedOption(const UninterpretedOption& from); +@@ -7915,6 +7939,7 @@ class PROTOBUF_EXPORT SourceCodeInfo_Location final : + public: + inline SourceCodeInfo_Location() : SourceCodeInfo_Location(nullptr) {} + ~SourceCodeInfo_Location() override; ++ template + explicit PROTOBUF_CONSTEXPR SourceCodeInfo_Location(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SourceCodeInfo_Location(const SourceCodeInfo_Location& from); +@@ -8182,6 +8207,7 @@ class PROTOBUF_EXPORT SourceCodeInfo final : + public: + inline SourceCodeInfo() : SourceCodeInfo(nullptr) {} + ~SourceCodeInfo() override; ++ template + explicit PROTOBUF_CONSTEXPR SourceCodeInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + SourceCodeInfo(const SourceCodeInfo& from); +@@ -8348,6 +8374,7 @@ class PROTOBUF_EXPORT GeneratedCodeInfo_Annotation final : + public: + inline GeneratedCodeInfo_Annotation() : GeneratedCodeInfo_Annotation(nullptr) {} + ~GeneratedCodeInfo_Annotation() override; ++ template + explicit PROTOBUF_CONSTEXPR GeneratedCodeInfo_Annotation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GeneratedCodeInfo_Annotation(const GeneratedCodeInfo_Annotation& from); +@@ -8597,6 +8624,7 @@ class PROTOBUF_EXPORT GeneratedCodeInfo final : + public: + inline GeneratedCodeInfo() : GeneratedCodeInfo(nullptr) {} + ~GeneratedCodeInfo() override; ++ template + explicit PROTOBUF_CONSTEXPR GeneratedCodeInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GeneratedCodeInfo(const GeneratedCodeInfo& from); From 224c95e0786436e7eb758b039c890119e9a93e5d Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Wed, 17 May 2023 18:14:38 +0000 Subject: [PATCH 102/182] updated v23.1 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index cc10c89..aa10fbc 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "23.0" %} +{% set version = "23.1" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: b8faf8487cc364e5c2b47a9abd77512bc79a6389ea45392ca938ba7617eae877 + sha256: dc167b7d23ec0d6e4a3d4eae1798de6c8d162e69fa136d39753aaeb7a6e1289d patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch From 6597a69f7e04d767a3bd6012580a09f8cd5cc31a Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 18 May 2023 09:05:30 +1100 Subject: [PATCH 103/182] rebase patches --- recipe/meta.yaml | 5 +- .../0001-use-consistent-cmake-location.patch | 4 +- ...-set-static-lib-extension-on-windows.patch | 6 +- ...tion-of-system-provided-jsoncpp-1257.patch | 6 +- ...always-look-for-shared-abseil-builds.patch | 4 +- recipe/patches/0005-Fix-C-17-gcc-issues.patch | 101 --- ...-be-more-lenient-with-abseil-version.patch | 24 + ...d-a-workaround-for-GCC-constexpr-bug.patch | 604 ------------------ 8 files changed, 35 insertions(+), 719 deletions(-) delete mode 100644 recipe/patches/0005-Fix-C-17-gcc-issues.patch create mode 100644 recipe/patches/0005-be-more-lenient-with-abseil-version.patch delete mode 100644 recipe/patches/0006-Add-a-workaround-for-GCC-constexpr-bug.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index aa10fbc..17dbd52 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -19,10 +19,7 @@ source: # backport https://github.com/protocolbuffers/protobuf/pull/12577 - patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch - patches/0004-always-look-for-shared-abseil-builds.patch - # backport https://github.com/protocolbuffers/protobuf/pull/12743 - - patches/0005-Fix-C-17-gcc-issues.patch - # backport 67ecdde4f257094c4019ebfda62b2ae60facb6fa from 23.x branch - - patches/0006-Add-a-workaround-for-GCC-constexpr-bug.patch + - patches/0005-be-more-lenient-with-abseil-version.patch build: number: 0 diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index 4fc22bf..b0f04d0 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,7 +1,7 @@ -From fd5ddf4467843052d55daf8d753a8364ad8c1f30 Mon Sep 17 00:00:00 2001 +From 5f59e8cbbea1aab58dc41e81b844d2da05863f4b Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/6] use consistent cmake location +Subject: [PATCH 1/5] use consistent cmake location --- cmake/install.cmake | 12 +++--------- diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index 1249030..0f07301 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,14 +1,14 @@ -From cd8bb196017a2a4971d2fc9df9e019be53f4d77d Mon Sep 17 00:00:00 2001 +From 0e2901fac62f1fa3fc9534f4ab667fcebdff61f5 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/6] set static lib extension on windows +Subject: [PATCH 2/5] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 31e7883e9..d546a5c66 100644 +index ec1641ba9..97a39e4ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -371,6 +371,12 @@ else () diff --git a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch index 5580622..6618a94 100644 --- a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch +++ b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch @@ -1,7 +1,7 @@ -From 1fdffe322b2deb870d08977a34349706100e50b3 Mon Sep 17 00:00:00 2001 +From ec985b8640e701f2e21f395b453729d5b85466d3 Mon Sep 17 00:00:00 2001 From: Mike Rochefort Date: Mon, 1 May 2023 09:34:17 -0700 -Subject: [PATCH 3/6] Enable the selection of system provided jsoncpp (#12577) +Subject: [PATCH 3/5] Enable the selection of system provided jsoncpp (#12577) Allows the use of an external `jsoncpp` library to be used. Replicates the model used by `abseil-cpp` as a "package" or "module" to the `protobuf_JSONCPP_PROVIDER` option. @@ -17,7 +17,7 @@ PiperOrigin-RevId: 528492610 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index d546a5c66..f74743a3c 100644 +index 97a39e4ba..7d2dc8bab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -332,6 +332,9 @@ endif (protobuf_UNICODE) diff --git a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch index 6de34f5..4c807fb 100644 --- a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch @@ -1,7 +1,7 @@ -From 4a7863ab3f5c6caa705006f685d28a253602312a Mon Sep 17 00:00:00 2001 +From 855774183cbd1355ca1eefaebb8699c5eb89b18d Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 4/6] always look for shared abseil builds +Subject: [PATCH 4/5] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- diff --git a/recipe/patches/0005-Fix-C-17-gcc-issues.patch b/recipe/patches/0005-Fix-C-17-gcc-issues.patch deleted file mode 100644 index 04a70fe..0000000 --- a/recipe/patches/0005-Fix-C-17-gcc-issues.patch +++ /dev/null @@ -1,101 +0,0 @@ -From b289a82a362c22550dbc9ca71006f1f2fab758e7 Mon Sep 17 00:00:00 2001 -From: Mike Kruskal -Date: Tue, 9 May 2023 13:11:33 -0700 -Subject: [PATCH 5/6] Fix C++17 gcc issues. - -This also adds tests for C++17 and C++20 to prevent further regressions. - -PiperOrigin-RevId: 530693318 ---- - .github/workflows/test_cpp.yml | 27 +++++++++++++++++++++------ - src/google/protobuf/port_def.inc | 9 ++++++--- - 2 files changed, 27 insertions(+), 9 deletions(-) - -diff --git a/.github/workflows/test_cpp.yml b/.github/workflows/test_cpp.yml -index f4d1436ae..a8e7b0406 100644 ---- a/.github/workflows/test_cpp.yml -+++ b/.github/workflows/test_cpp.yml -@@ -114,11 +114,15 @@ jobs: - fail-fast: false # Don't cancel all jobs if one fails. - matrix: - include: -- - flags: -Dprotobuf_BUILD_EXAMPLES=ON -+ - flags: -Dprotobuf_BUILD_EXAMPLES=ON -DCMAKE_CXX_STANDARD=14 - - name: Ninja -- flags: -G Ninja -+ flags: -G Ninja -DCMAKE_CXX_STANDARD=14 - - name: Shared -- flags: -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_BUILD_EXAMPLES=ON -+ flags: -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_BUILD_EXAMPLES=ON -DCMAKE_CXX_STANDARD=14 -+ - name: C++17 -+ flags: -DCMAKE_CXX_STANDARD=17 -+ - name: C++20 -+ flags: -DCMAKE_CXX_STANDARD=20 - - name: Linux CMake ${{ matrix.name}} - runs-on: ubuntu-latest -@@ -202,7 +206,18 @@ jobs: - cmake --build . - - linux-cmake-gcc: -- name: Linux CMake GCC -+ strategy: -+ fail-fast: false # Don't cancel all jobs if one fails. -+ matrix: -+ include: -+ - name: C++14 -+ flags: -DCMAKE_CXX_STANDARD=14 -+ - name: C++17 -+ flags: -DCMAKE_CXX_STANDARD=17 -+ - name: C++20 -+ flags: -DCMAKE_CXX_STANDARD=20 -+ -+ name: Linux CMake GCC ${{ matrix.name }} - runs-on: ubuntu-latest - steps: - - name: Checkout pending changes -@@ -214,7 +229,7 @@ jobs: - - name: Setup ccache - uses: protocolbuffers/protobuf-ci/ccache@v1 - with: -- cache-prefix: linux-cmake-gcc -+ cache-prefix: linux-cmake-gcc-${{ matrix.name }} - - - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v1 -@@ -226,7 +241,7 @@ jobs: - -c 'set -ex; - cd /workspace; - ccache -z; -- cmake . -DCMAKE_CXX_STANDARD=14 ${{ env.CCACHE_CMAKE_FLAGS }}; -+ cmake . ${{ matrix.flags }} ${{ env.CCACHE_CMAKE_FLAGS }}; - cmake --build . --parallel 20; - ctest --verbose --parallel 20; - ccache -s' -diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc -index 4b61c3da6..018d13a1c 100644 ---- a/src/google/protobuf/port_def.inc -+++ b/src/google/protobuf/port_def.inc -@@ -679,6 +679,12 @@ static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and - # define PROTOBUF_CONSTINIT - # define PROTOBUF_CONSTEXPR constexpr - # endif -+#elif defined(__GNUC__) && !defined(__clang__) -+// GCC doesn't support constinit aggregate initialization of absl::Cord. -+# if PROTOBUF_GNUC_MIN(12, 2) -+# define PROTOBUF_CONSTINIT -+# define PROTOBUF_CONSTEXPR constexpr -+# endif - #else - # if defined(__cpp_constinit) && !defined(__CYGWIN__) - # define PROTOBUF_CONSTINIT constinit -@@ -693,9 +699,6 @@ static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and - (!defined(__APPLE__) && PROTOBUF_CLANG_MIN(12, 0))) - # define PROTOBUF_CONSTINIT [[clang::require_constant_initialization]] - # define PROTOBUF_CONSTEXPR constexpr --# elif PROTOBUF_GNUC_MIN(12, 2) --# define PROTOBUF_CONSTINIT __constinit --# define PROTOBUF_CONSTEXPR constexpr - # endif - #endif - diff --git a/recipe/patches/0005-be-more-lenient-with-abseil-version.patch b/recipe/patches/0005-be-more-lenient-with-abseil-version.patch new file mode 100644 index 0000000..a3fcff3 --- /dev/null +++ b/recipe/patches/0005-be-more-lenient-with-abseil-version.patch @@ -0,0 +1,24 @@ +From 3ed82472434815a3e5befcefd5e13e3bd0e07759 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Thu, 18 May 2023 09:02:21 +1100 +Subject: [PATCH 5/5] be more lenient with abseil version + +we carry the patch for the only pertinent difference +between .2 & .3 anyway +--- + src/google/protobuf/port_def.inc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc +index 1c6a24945..2ee003e15 100644 +--- a/src/google/protobuf/port_def.inc ++++ b/src/google/protobuf/port_def.inc +@@ -216,7 +216,7 @@ static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and + #define PROTOBUF_ABSL_MIN(x, y) 1 + #endif + +-static_assert(PROTOBUF_ABSL_MIN(20230125, 3), ++static_assert(PROTOBUF_ABSL_MIN(20230125, 2), + "Protobuf only supports Abseil version 20230125.3 and newer."); + + // Future versions of protobuf will include breaking changes to some APIs. diff --git a/recipe/patches/0006-Add-a-workaround-for-GCC-constexpr-bug.patch b/recipe/patches/0006-Add-a-workaround-for-GCC-constexpr-bug.patch deleted file mode 100644 index c6c51c3..0000000 --- a/recipe/patches/0006-Add-a-workaround-for-GCC-constexpr-bug.patch +++ /dev/null @@ -1,604 +0,0 @@ -From 57b6cbd1c0fa4e770e6335d57277a0c05b08e0f4 Mon Sep 17 00:00:00 2001 -From: Mike Kruskal -Date: Mon, 15 May 2023 16:11:41 -0700 -Subject: [PATCH 6/6] Add a workaround for GCC constexpr bug - -This turns the constexpr constructors into templates to silence errors when constexpr isn't valid. We are also switching to 12.2 for GCC/cmake tests to prevent regressions (9.5 and 13.1 are already tested by GCC/bazel tests). - -Fixes #12807 - -PiperOrigin-RevId: 532258101 ---- - .github/workflows/test_cpp.yml | 2 +- - src/google/protobuf/compiler/cpp/message.cc | 12 +++++++++ - src/google/protobuf/compiler/plugin.pb.cc | 4 +++ - src/google/protobuf/compiler/plugin.pb.h | 4 +++ - src/google/protobuf/descriptor.pb.cc | 28 +++++++++++++++++++++ - src/google/protobuf/descriptor.pb.h | 28 +++++++++++++++++++++ - 6 files changed, 77 insertions(+), 1 deletion(-) - -diff --git a/.github/workflows/test_cpp.yml b/.github/workflows/test_cpp.yml -index a8e7b0406..f45b59ed1 100644 ---- a/.github/workflows/test_cpp.yml -+++ b/.github/workflows/test_cpp.yml -@@ -234,7 +234,7 @@ jobs: - - name: Run tests - uses: protocolbuffers/protobuf-ci/docker@v1 - with: -- image: us-docker.pkg.dev/protobuf-build/containers/test/linux/gcc:13.1-5.4.0-307caa02808127e49720f3e77d6a9f3b3ef5a915 -+ image: us-docker.pkg.dev/protobuf-build/containers/test/linux/gcc:12.2-5.4.0-307caa02808127e49720f3e77d6a9f3b3ef5a915 - credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} - entrypoint: bash - command: >- -diff --git a/src/google/protobuf/compiler/cpp/message.cc b/src/google/protobuf/compiler/cpp/message.cc -index e34f19bde..a7c70cdaf 100644 ---- a/src/google/protobuf/compiler/cpp/message.cc -+++ b/src/google/protobuf/compiler/cpp/message.cc -@@ -1155,6 +1155,9 @@ void MessageGenerator::GenerateClassDefinition(io::Printer* p) { - " ::$proto_ns$::internal::WireFormatLite::$val_wire_type$> " - "SuperType;\n" - " $classname$();\n" -+ // Templatize constexpr constructor as a workaround for a bug in gcc 12 -+ // (warning in gcc 13). -+ " template \n" - " explicit PROTOBUF_CONSTEXPR $classname$(\n" - " ::$proto_ns$::internal::ConstantInitialized);\n" - " explicit $classname$(::$proto_ns$::Arena* arena);\n" -@@ -1248,6 +1251,9 @@ void MessageGenerator::GenerateClassDefinition(io::Printer* p) { - format("~$classname$() override;\n"); - } - format( -+ // Templatize constexpr constructor as a workaround for a bug in gcc 12 -+ // (warning in gcc 13). -+ "template\n" - "explicit PROTOBUF_CONSTEXPR " - "$classname$(::$proto_ns$::internal::ConstantInitialized);\n" - "\n" -@@ -2449,13 +2455,19 @@ void MessageGenerator::GenerateConstexprConstructor(io::Printer* p) { - Formatter format(p); - - if (IsMapEntryMessage(descriptor_) || !HasImplData(descriptor_, options_)) { -+ // Templatize constexpr constructor as a workaround for a bug in gcc 12 -+ // (warning in gcc 13). - format( -+ "template \n" - "PROTOBUF_CONSTEXPR $classname$::$classname$(\n" - " ::_pbi::ConstantInitialized) {}\n"); - return; - } - -+ // Templatize constexpr constructor as a workaround for a bug in gcc 12 -+ // (warning in gcc 13). - format( -+ "template \n" - "PROTOBUF_CONSTEXPR $classname$::$classname$(\n" - " ::_pbi::ConstantInitialized)"); - -diff --git a/src/google/protobuf/compiler/plugin.pb.cc b/src/google/protobuf/compiler/plugin.pb.cc -index 94cc6f5dd..88c0c8845 100644 ---- a/src/google/protobuf/compiler/plugin.pb.cc -+++ b/src/google/protobuf/compiler/plugin.pb.cc -@@ -20,6 +20,7 @@ namespace _pb = ::PROTOBUF_NAMESPACE_ID; - namespace _pbi = ::PROTOBUF_NAMESPACE_ID::internal; - PROTOBUF_NAMESPACE_OPEN - namespace compiler { -+template - PROTOBUF_CONSTEXPR Version::Version( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -44,6 +45,7 @@ struct VersionDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VersionDefaultTypeInternal _Version_default_instance_; -+template - PROTOBUF_CONSTEXPR CodeGeneratorRequest::CodeGeneratorRequest( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -65,6 +67,7 @@ struct CodeGeneratorRequestDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CodeGeneratorRequestDefaultTypeInternal _CodeGeneratorRequest_default_instance_; -+template - PROTOBUF_CONSTEXPR CodeGeneratorResponse_File::CodeGeneratorResponse_File( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -92,6 +95,7 @@ struct CodeGeneratorResponse_FileDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CodeGeneratorResponse_FileDefaultTypeInternal _CodeGeneratorResponse_File_default_instance_; -+template - PROTOBUF_CONSTEXPR CodeGeneratorResponse::CodeGeneratorResponse( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -diff --git a/src/google/protobuf/compiler/plugin.pb.h b/src/google/protobuf/compiler/plugin.pb.h -index e9bf2a479..4a7049b49 100644 ---- a/src/google/protobuf/compiler/plugin.pb.h -+++ b/src/google/protobuf/compiler/plugin.pb.h -@@ -124,6 +124,7 @@ class PROTOC_EXPORT Version final : - public: - inline Version() : Version(nullptr) {} - ~Version() override; -+ template - explicit PROTOBUF_CONSTEXPR Version(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - Version(const Version& from); -@@ -329,6 +330,7 @@ class PROTOC_EXPORT CodeGeneratorRequest final : - public: - inline CodeGeneratorRequest() : CodeGeneratorRequest(nullptr) {} - ~CodeGeneratorRequest() override; -+ template - explicit PROTOBUF_CONSTEXPR CodeGeneratorRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - CodeGeneratorRequest(const CodeGeneratorRequest& from); -@@ -565,6 +567,7 @@ class PROTOC_EXPORT CodeGeneratorResponse_File final : - public: - inline CodeGeneratorResponse_File() : CodeGeneratorResponse_File(nullptr) {} - ~CodeGeneratorResponse_File() override; -+ template - explicit PROTOBUF_CONSTEXPR CodeGeneratorResponse_File(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - CodeGeneratorResponse_File(const CodeGeneratorResponse_File& from); -@@ -793,6 +796,7 @@ class PROTOC_EXPORT CodeGeneratorResponse final : - public: - inline CodeGeneratorResponse() : CodeGeneratorResponse(nullptr) {} - ~CodeGeneratorResponse() override; -+ template - explicit PROTOBUF_CONSTEXPR CodeGeneratorResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - CodeGeneratorResponse(const CodeGeneratorResponse& from); -diff --git a/src/google/protobuf/descriptor.pb.cc b/src/google/protobuf/descriptor.pb.cc -index 7a97dadf7..ea25bff5b 100644 ---- a/src/google/protobuf/descriptor.pb.cc -+++ b/src/google/protobuf/descriptor.pb.cc -@@ -19,6 +19,7 @@ PROTOBUF_PRAGMA_INIT_SEG - namespace _pb = ::PROTOBUF_NAMESPACE_ID; - namespace _pbi = ::PROTOBUF_NAMESPACE_ID::internal; - PROTOBUF_NAMESPACE_OPEN -+template - PROTOBUF_CONSTEXPR FileDescriptorSet::FileDescriptorSet( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.file_)*/{} -@@ -33,6 +34,7 @@ struct FileDescriptorSetDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FileDescriptorSetDefaultTypeInternal _FileDescriptorSet_default_instance_; -+template - PROTOBUF_CONSTEXPR FileDescriptorProto::FileDescriptorProto( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -74,6 +76,7 @@ struct FileDescriptorProtoDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FileDescriptorProtoDefaultTypeInternal _FileDescriptorProto_default_instance_; -+template - PROTOBUF_CONSTEXPR DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -93,6 +96,7 @@ struct DescriptorProto_ExtensionRangeDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DescriptorProto_ExtensionRangeDefaultTypeInternal _DescriptorProto_ExtensionRange_default_instance_; -+template - PROTOBUF_CONSTEXPR DescriptorProto_ReservedRange::DescriptorProto_ReservedRange( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -111,6 +115,7 @@ struct DescriptorProto_ReservedRangeDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DescriptorProto_ReservedRangeDefaultTypeInternal _DescriptorProto_ReservedRange_default_instance_; -+template - PROTOBUF_CONSTEXPR DescriptorProto::DescriptorProto( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -138,6 +143,7 @@ struct DescriptorProtoDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DescriptorProtoDefaultTypeInternal _DescriptorProto_default_instance_; -+template - PROTOBUF_CONSTEXPR ExtensionRangeOptions_Declaration::ExtensionRangeOptions_Declaration( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -168,6 +174,7 @@ struct ExtensionRangeOptions_DeclarationDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExtensionRangeOptions_DeclarationDefaultTypeInternal _ExtensionRangeOptions_Declaration_default_instance_; -+template - PROTOBUF_CONSTEXPR ExtensionRangeOptions::ExtensionRangeOptions( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._extensions_)*/{} -@@ -187,6 +194,7 @@ struct ExtensionRangeOptionsDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExtensionRangeOptionsDefaultTypeInternal _ExtensionRangeOptions_default_instance_; -+template - PROTOBUF_CONSTEXPR FieldDescriptorProto::FieldDescriptorProto( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -232,6 +240,7 @@ struct FieldDescriptorProtoDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldDescriptorProtoDefaultTypeInternal _FieldDescriptorProto_default_instance_; -+template - PROTOBUF_CONSTEXPR OneofDescriptorProto::OneofDescriptorProto( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -251,6 +260,7 @@ struct OneofDescriptorProtoDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OneofDescriptorProtoDefaultTypeInternal _OneofDescriptorProto_default_instance_; -+template - PROTOBUF_CONSTEXPR EnumDescriptorProto_EnumReservedRange::EnumDescriptorProto_EnumReservedRange( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -269,6 +279,7 @@ struct EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal _EnumDescriptorProto_EnumReservedRange_default_instance_; -+template - PROTOBUF_CONSTEXPR EnumDescriptorProto::EnumDescriptorProto( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -291,6 +302,7 @@ struct EnumDescriptorProtoDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumDescriptorProtoDefaultTypeInternal _EnumDescriptorProto_default_instance_; -+template - PROTOBUF_CONSTEXPR EnumValueDescriptorProto::EnumValueDescriptorProto( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -312,6 +324,7 @@ struct EnumValueDescriptorProtoDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumValueDescriptorProtoDefaultTypeInternal _EnumValueDescriptorProto_default_instance_; -+template - PROTOBUF_CONSTEXPR ServiceDescriptorProto::ServiceDescriptorProto( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -332,6 +345,7 @@ struct ServiceDescriptorProtoDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ServiceDescriptorProtoDefaultTypeInternal _ServiceDescriptorProto_default_instance_; -+template - PROTOBUF_CONSTEXPR MethodDescriptorProto::MethodDescriptorProto( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -363,6 +377,7 @@ struct MethodDescriptorProtoDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MethodDescriptorProtoDefaultTypeInternal _MethodDescriptorProto_default_instance_; -+template - PROTOBUF_CONSTEXPR FileOptions::FileOptions( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._extensions_)*/{} -@@ -439,6 +454,7 @@ struct FileOptionsDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FileOptionsDefaultTypeInternal _FileOptions_default_instance_; -+template - PROTOBUF_CONSTEXPR MessageOptions::MessageOptions( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._extensions_)*/{} -@@ -465,6 +481,7 @@ struct MessageOptionsDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MessageOptionsDefaultTypeInternal _MessageOptions_default_instance_; -+template - PROTOBUF_CONSTEXPR FieldOptions::FieldOptions( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._extensions_)*/{} -@@ -503,6 +520,7 @@ struct FieldOptionsDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldOptionsDefaultTypeInternal _FieldOptions_default_instance_; -+template - PROTOBUF_CONSTEXPR OneofOptions::OneofOptions( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._extensions_)*/{} -@@ -518,6 +536,7 @@ struct OneofOptionsDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OneofOptionsDefaultTypeInternal _OneofOptions_default_instance_; -+template - PROTOBUF_CONSTEXPR EnumOptions::EnumOptions( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._extensions_)*/{} -@@ -540,6 +559,7 @@ struct EnumOptionsDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumOptionsDefaultTypeInternal _EnumOptions_default_instance_; -+template - PROTOBUF_CONSTEXPR EnumValueOptions::EnumValueOptions( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._extensions_)*/{} -@@ -558,6 +578,7 @@ struct EnumValueOptionsDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumValueOptionsDefaultTypeInternal _EnumValueOptions_default_instance_; -+template - PROTOBUF_CONSTEXPR ServiceOptions::ServiceOptions( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._extensions_)*/{} -@@ -576,6 +597,7 @@ struct ServiceOptionsDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ServiceOptionsDefaultTypeInternal _ServiceOptions_default_instance_; -+template - PROTOBUF_CONSTEXPR MethodOptions::MethodOptions( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._extensions_)*/{} -@@ -596,6 +618,7 @@ struct MethodOptionsDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MethodOptionsDefaultTypeInternal _MethodOptions_default_instance_; -+template - PROTOBUF_CONSTEXPR UninterpretedOption_NamePart::UninterpretedOption_NamePart( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -616,6 +639,7 @@ struct UninterpretedOption_NamePartDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UninterpretedOption_NamePartDefaultTypeInternal _UninterpretedOption_NamePart_default_instance_; -+template - PROTOBUF_CONSTEXPR UninterpretedOption::UninterpretedOption( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -649,6 +673,7 @@ struct UninterpretedOptionDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UninterpretedOptionDefaultTypeInternal _UninterpretedOption_default_instance_; -+template - PROTOBUF_CONSTEXPR SourceCodeInfo_Location::SourceCodeInfo_Location( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -678,6 +703,7 @@ struct SourceCodeInfo_LocationDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceCodeInfo_LocationDefaultTypeInternal _SourceCodeInfo_Location_default_instance_; -+template - PROTOBUF_CONSTEXPR SourceCodeInfo::SourceCodeInfo( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.location_)*/{} -@@ -692,6 +718,7 @@ struct SourceCodeInfoDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceCodeInfoDefaultTypeInternal _SourceCodeInfo_default_instance_; -+template - PROTOBUF_CONSTEXPR GeneratedCodeInfo_Annotation::GeneratedCodeInfo_Annotation( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} -@@ -719,6 +746,7 @@ struct GeneratedCodeInfo_AnnotationDefaultTypeInternal { - - PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GeneratedCodeInfo_AnnotationDefaultTypeInternal _GeneratedCodeInfo_Annotation_default_instance_; -+template - PROTOBUF_CONSTEXPR GeneratedCodeInfo::GeneratedCodeInfo( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_.annotation_)*/{} -diff --git a/src/google/protobuf/descriptor.pb.h b/src/google/protobuf/descriptor.pb.h -index 80fd85b99..ee7dbbe36 100644 ---- a/src/google/protobuf/descriptor.pb.h -+++ b/src/google/protobuf/descriptor.pb.h -@@ -517,6 +517,7 @@ class PROTOBUF_EXPORT FileDescriptorSet final : - public: - inline FileDescriptorSet() : FileDescriptorSet(nullptr) {} - ~FileDescriptorSet() override; -+ template - explicit PROTOBUF_CONSTEXPR FileDescriptorSet(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - FileDescriptorSet(const FileDescriptorSet& from); -@@ -681,6 +682,7 @@ class PROTOBUF_EXPORT FileDescriptorProto final : - public: - inline FileDescriptorProto() : FileDescriptorProto(nullptr) {} - ~FileDescriptorProto() override; -+ template - explicit PROTOBUF_CONSTEXPR FileDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - FileDescriptorProto(const FileDescriptorProto& from); -@@ -1112,6 +1114,7 @@ class PROTOBUF_EXPORT DescriptorProto_ExtensionRange final : - public: - inline DescriptorProto_ExtensionRange() : DescriptorProto_ExtensionRange(nullptr) {} - ~DescriptorProto_ExtensionRange() override; -+ template - explicit PROTOBUF_CONSTEXPR DescriptorProto_ExtensionRange(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from); -@@ -1297,6 +1300,7 @@ class PROTOBUF_EXPORT DescriptorProto_ReservedRange final : - public: - inline DescriptorProto_ReservedRange() : DescriptorProto_ReservedRange(nullptr) {} - ~DescriptorProto_ReservedRange() override; -+ template - explicit PROTOBUF_CONSTEXPR DescriptorProto_ReservedRange(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - DescriptorProto_ReservedRange(const DescriptorProto_ReservedRange& from); -@@ -1466,6 +1470,7 @@ class PROTOBUF_EXPORT DescriptorProto final : - public: - inline DescriptorProto() : DescriptorProto(nullptr) {} - ~DescriptorProto() override; -+ template - explicit PROTOBUF_CONSTEXPR DescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - DescriptorProto(const DescriptorProto& from); -@@ -1837,6 +1842,7 @@ class PROTOBUF_EXPORT ExtensionRangeOptions_Declaration final : - public: - inline ExtensionRangeOptions_Declaration() : ExtensionRangeOptions_Declaration(nullptr) {} - ~ExtensionRangeOptions_Declaration() override; -+ template - explicit PROTOBUF_CONSTEXPR ExtensionRangeOptions_Declaration(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ExtensionRangeOptions_Declaration(const ExtensionRangeOptions_Declaration& from); -@@ -2078,6 +2084,7 @@ class PROTOBUF_EXPORT ExtensionRangeOptions final : - public: - inline ExtensionRangeOptions() : ExtensionRangeOptions(nullptr) {} - ~ExtensionRangeOptions() override; -+ template - explicit PROTOBUF_CONSTEXPR ExtensionRangeOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ExtensionRangeOptions(const ExtensionRangeOptions& from); -@@ -2453,6 +2460,7 @@ class PROTOBUF_EXPORT FieldDescriptorProto final : - public: - inline FieldDescriptorProto() : FieldDescriptorProto(nullptr) {} - ~FieldDescriptorProto() override; -+ template - explicit PROTOBUF_CONSTEXPR FieldDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - FieldDescriptorProto(const FieldDescriptorProto& from); -@@ -2849,6 +2857,7 @@ class PROTOBUF_EXPORT OneofDescriptorProto final : - public: - inline OneofDescriptorProto() : OneofDescriptorProto(nullptr) {} - ~OneofDescriptorProto() override; -+ template - explicit PROTOBUF_CONSTEXPR OneofDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - OneofDescriptorProto(const OneofDescriptorProto& from); -@@ -3031,6 +3040,7 @@ class PROTOBUF_EXPORT EnumDescriptorProto_EnumReservedRange final : - public: - inline EnumDescriptorProto_EnumReservedRange() : EnumDescriptorProto_EnumReservedRange(nullptr) {} - ~EnumDescriptorProto_EnumReservedRange() override; -+ template - explicit PROTOBUF_CONSTEXPR EnumDescriptorProto_EnumReservedRange(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - EnumDescriptorProto_EnumReservedRange(const EnumDescriptorProto_EnumReservedRange& from); -@@ -3200,6 +3210,7 @@ class PROTOBUF_EXPORT EnumDescriptorProto final : - public: - inline EnumDescriptorProto() : EnumDescriptorProto(nullptr) {} - ~EnumDescriptorProto() override; -+ template - explicit PROTOBUF_CONSTEXPR EnumDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - EnumDescriptorProto(const EnumDescriptorProto& from); -@@ -3460,6 +3471,7 @@ class PROTOBUF_EXPORT EnumValueDescriptorProto final : - public: - inline EnumValueDescriptorProto() : EnumValueDescriptorProto(nullptr) {} - ~EnumValueDescriptorProto() override; -+ template - explicit PROTOBUF_CONSTEXPR EnumValueDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - EnumValueDescriptorProto(const EnumValueDescriptorProto& from); -@@ -3655,6 +3667,7 @@ class PROTOBUF_EXPORT ServiceDescriptorProto final : - public: - inline ServiceDescriptorProto() : ServiceDescriptorProto(nullptr) {} - ~ServiceDescriptorProto() override; -+ template - explicit PROTOBUF_CONSTEXPR ServiceDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ServiceDescriptorProto(const ServiceDescriptorProto& from); -@@ -3859,6 +3872,7 @@ class PROTOBUF_EXPORT MethodDescriptorProto final : - public: - inline MethodDescriptorProto() : MethodDescriptorProto(nullptr) {} - ~MethodDescriptorProto() override; -+ template - explicit PROTOBUF_CONSTEXPR MethodDescriptorProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - MethodDescriptorProto(const MethodDescriptorProto& from); -@@ -4113,6 +4127,7 @@ class PROTOBUF_EXPORT FileOptions final : - public: - inline FileOptions() : FileOptions(nullptr) {} - ~FileOptions() override; -+ template - explicit PROTOBUF_CONSTEXPR FileOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - FileOptions(const FileOptions& from); -@@ -4812,6 +4827,7 @@ class PROTOBUF_EXPORT MessageOptions final : - public: - inline MessageOptions() : MessageOptions(nullptr) {} - ~MessageOptions() override; -+ template - explicit PROTOBUF_CONSTEXPR MessageOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - MessageOptions(const MessageOptions& from); -@@ -5195,6 +5211,7 @@ class PROTOBUF_EXPORT FieldOptions final : - public: - inline FieldOptions() : FieldOptions(nullptr) {} - ~FieldOptions() override; -+ template - explicit PROTOBUF_CONSTEXPR FieldOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - FieldOptions(const FieldOptions& from); -@@ -5757,6 +5774,7 @@ class PROTOBUF_EXPORT OneofOptions final : - public: - inline OneofOptions() : OneofOptions(nullptr) {} - ~OneofOptions() override; -+ template - explicit PROTOBUF_CONSTEXPR OneofOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - OneofOptions(const OneofOptions& from); -@@ -6074,6 +6092,7 @@ class PROTOBUF_EXPORT EnumOptions final : - public: - inline EnumOptions() : EnumOptions(nullptr) {} - ~EnumOptions() override; -+ template - explicit PROTOBUF_CONSTEXPR EnumOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - EnumOptions(const EnumOptions& from); -@@ -6431,6 +6450,7 @@ class PROTOBUF_EXPORT EnumValueOptions final : - public: - inline EnumValueOptions() : EnumValueOptions(nullptr) {} - ~EnumValueOptions() override; -+ template - explicit PROTOBUF_CONSTEXPR EnumValueOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - EnumValueOptions(const EnumValueOptions& from); -@@ -6762,6 +6782,7 @@ class PROTOBUF_EXPORT ServiceOptions final : - public: - inline ServiceOptions() : ServiceOptions(nullptr) {} - ~ServiceOptions() override; -+ template - explicit PROTOBUF_CONSTEXPR ServiceOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ServiceOptions(const ServiceOptions& from); -@@ -7093,6 +7114,7 @@ class PROTOBUF_EXPORT MethodOptions final : - public: - inline MethodOptions() : MethodOptions(nullptr) {} - ~MethodOptions() override; -+ template - explicit PROTOBUF_CONSTEXPR MethodOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - MethodOptions(const MethodOptions& from); -@@ -7458,6 +7480,7 @@ class PROTOBUF_EXPORT UninterpretedOption_NamePart final : - public: - inline UninterpretedOption_NamePart() : UninterpretedOption_NamePart(nullptr) {} - ~UninterpretedOption_NamePart() override; -+ template - explicit PROTOBUF_CONSTEXPR UninterpretedOption_NamePart(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - UninterpretedOption_NamePart(const UninterpretedOption_NamePart& from); -@@ -7640,6 +7663,7 @@ class PROTOBUF_EXPORT UninterpretedOption final : - public: - inline UninterpretedOption() : UninterpretedOption(nullptr) {} - ~UninterpretedOption() override; -+ template - explicit PROTOBUF_CONSTEXPR UninterpretedOption(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - UninterpretedOption(const UninterpretedOption& from); -@@ -7915,6 +7939,7 @@ class PROTOBUF_EXPORT SourceCodeInfo_Location final : - public: - inline SourceCodeInfo_Location() : SourceCodeInfo_Location(nullptr) {} - ~SourceCodeInfo_Location() override; -+ template - explicit PROTOBUF_CONSTEXPR SourceCodeInfo_Location(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - SourceCodeInfo_Location(const SourceCodeInfo_Location& from); -@@ -8182,6 +8207,7 @@ class PROTOBUF_EXPORT SourceCodeInfo final : - public: - inline SourceCodeInfo() : SourceCodeInfo(nullptr) {} - ~SourceCodeInfo() override; -+ template - explicit PROTOBUF_CONSTEXPR SourceCodeInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - SourceCodeInfo(const SourceCodeInfo& from); -@@ -8348,6 +8374,7 @@ class PROTOBUF_EXPORT GeneratedCodeInfo_Annotation final : - public: - inline GeneratedCodeInfo_Annotation() : GeneratedCodeInfo_Annotation(nullptr) {} - ~GeneratedCodeInfo_Annotation() override; -+ template - explicit PROTOBUF_CONSTEXPR GeneratedCodeInfo_Annotation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - GeneratedCodeInfo_Annotation(const GeneratedCodeInfo_Annotation& from); -@@ -8597,6 +8624,7 @@ class PROTOBUF_EXPORT GeneratedCodeInfo final : - public: - inline GeneratedCodeInfo() : GeneratedCodeInfo(nullptr) {} - ~GeneratedCodeInfo() override; -+ template - explicit PROTOBUF_CONSTEXPR GeneratedCodeInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - GeneratedCodeInfo(const GeneratedCodeInfo& from); From e0c89a19206a0064e63244ab50a1daa66fd74663 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 26 May 2023 01:23:35 +0000 Subject: [PATCH 104/182] updated v23.2 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 17dbd52..4d5eb72 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "23.1" %} +{% set version = "23.2" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: dc167b7d23ec0d6e4a3d4eae1798de6c8d162e69fa136d39753aaeb7a6e1289d + sha256: 0b0395d34e000f1229679e10d984ed7913078f3dd7f26cf0476467f5e65716f4 patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch From 4de917782d8c0947ac52edba25e57e62e9ed8f73 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 27 May 2023 11:08:40 +1100 Subject: [PATCH 105/182] tighten run-exports to patch level --- recipe/meta.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4d5eb72..d7e5a71 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -22,7 +22,7 @@ source: - patches/0005-be-more-lenient-with-abseil-version.patch build: - number: 0 + number: 1 outputs: - name: libprotobuf @@ -30,10 +30,10 @@ outputs: script: build-lib.bat # [win] build: run_exports: - # breaks backwards compatibility and new SONAME each minor release - # https://abi-laboratory.pro/tracker/timeline/protobuf/ - # One exception was that 3.6.1 was incompatible with 3.6.0 - - {{ pin_subpackage('libprotobuf', max_pin='x.x') }} + # protobuf now (intentionally) increments the SOVER with every patch release, which + # breaks tools like grpc_plugin_cpp if they get the wrong libprotoc at runtime, see + # https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/4075 + - {{ pin_subpackage('libprotobuf', max_pin='x.x.x') }} ignore_run_exports_from: - jsoncpp requirements: From 429bacfd39900fbb96463945a89cffd33a5db545 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 31 May 2023 13:44:59 +1100 Subject: [PATCH 106/182] add PROTOBUF_EXPORT to a symbol that's used by the python bindings Suggested-By: Carlos O'Ryan --- recipe/meta.yaml | 3 ++- .../0001-use-consistent-cmake-location.patch | 2 +- ...-set-static-lib-extension-on-windows.patch | 2 +- ...tion-of-system-provided-jsoncpp-1257.patch | 2 +- ...always-look-for-shared-abseil-builds.patch | 2 +- ...-be-more-lenient-with-abseil-version.patch | 2 +- ...ORT-for-google-protobuf-io-SafeDoubl.patch | 23 +++++++++++++++++++ 7 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 recipe/patches/0006-add-PROTOBUF_EXPORT-for-google-protobuf-io-SafeDoubl.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d7e5a71..582c07b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -20,9 +20,10 @@ source: - patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch - patches/0004-always-look-for-shared-abseil-builds.patch - patches/0005-be-more-lenient-with-abseil-version.patch + - patches/0006-add-PROTOBUF_EXPORT-for-google-protobuf-io-SafeDoubl.patch build: - number: 1 + number: 2 outputs: - name: libprotobuf diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index b0f04d0..10c2cd7 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,7 +1,7 @@ From 5f59e8cbbea1aab58dc41e81b844d2da05863f4b Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/5] use consistent cmake location +Subject: [PATCH 1/6] use consistent cmake location --- cmake/install.cmake | 12 +++--------- diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index 0f07301..dbdd1ea 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,7 +1,7 @@ From 0e2901fac62f1fa3fc9534f4ab667fcebdff61f5 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/5] set static lib extension on windows +Subject: [PATCH 2/6] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ diff --git a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch index 6618a94..6ca97bc 100644 --- a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch +++ b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch @@ -1,7 +1,7 @@ From ec985b8640e701f2e21f395b453729d5b85466d3 Mon Sep 17 00:00:00 2001 From: Mike Rochefort Date: Mon, 1 May 2023 09:34:17 -0700 -Subject: [PATCH 3/5] Enable the selection of system provided jsoncpp (#12577) +Subject: [PATCH 3/6] Enable the selection of system provided jsoncpp (#12577) Allows the use of an external `jsoncpp` library to be used. Replicates the model used by `abseil-cpp` as a "package" or "module" to the `protobuf_JSONCPP_PROVIDER` option. diff --git a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch index 4c807fb..734fc88 100644 --- a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch @@ -1,7 +1,7 @@ From 855774183cbd1355ca1eefaebb8699c5eb89b18d Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 4/5] always look for shared abseil builds +Subject: [PATCH 4/6] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- diff --git a/recipe/patches/0005-be-more-lenient-with-abseil-version.patch b/recipe/patches/0005-be-more-lenient-with-abseil-version.patch index a3fcff3..9759ec2 100644 --- a/recipe/patches/0005-be-more-lenient-with-abseil-version.patch +++ b/recipe/patches/0005-be-more-lenient-with-abseil-version.patch @@ -1,7 +1,7 @@ From 3ed82472434815a3e5befcefd5e13e3bd0e07759 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 18 May 2023 09:02:21 +1100 -Subject: [PATCH 5/5] be more lenient with abseil version +Subject: [PATCH 5/6] be more lenient with abseil version we carry the patch for the only pertinent difference between .2 & .3 anyway diff --git a/recipe/patches/0006-add-PROTOBUF_EXPORT-for-google-protobuf-io-SafeDoubl.patch b/recipe/patches/0006-add-PROTOBUF_EXPORT-for-google-protobuf-io-SafeDoubl.patch new file mode 100644 index 0000000..ba6ac37 --- /dev/null +++ b/recipe/patches/0006-add-PROTOBUF_EXPORT-for-google-protobuf-io-SafeDoubl.patch @@ -0,0 +1,23 @@ +From f2f930d2c30ac4020212ebcddbc4acb04eb0e3cf Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Wed, 31 May 2023 08:31:06 +1100 +Subject: [PATCH 6/6] add PROTOBUF_EXPORT for + google::protobuf::io::SafeDoubleToFloat + +--- + src/google/protobuf/io/strtod.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/google/protobuf/io/strtod.h b/src/google/protobuf/io/strtod.h +index 851c8e621..648f1ff1c 100644 +--- a/src/google/protobuf/io/strtod.h ++++ b/src/google/protobuf/io/strtod.h +@@ -65,7 +65,7 @@ double NoLocaleStrtod(const char* str, char** endptr); + // Casts a double value to a float value. If the value is outside of the + // representable range of float, it will be converted to positive or negative + // infinity. +-float SafeDoubleToFloat(double value); ++PROTOBUF_EXPORT float SafeDoubleToFloat(double value); + + } // namespace io + } // namespace protobuf From d820c061e28736034152171d5d2af8e3a1e1c9f8 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Sun, 4 Jun 2023 13:26:12 +0200 Subject: [PATCH 107/182] Create 0007-use-namespaced-abseil-dll-imported-target-backport-12978.patch --- ...l-dll-imported-target-backport-12978.patch | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 recipe/patches/0007-use-namespaced-abseil-dll-imported-target-backport-12978.patch diff --git a/recipe/patches/0007-use-namespaced-abseil-dll-imported-target-backport-12978.patch b/recipe/patches/0007-use-namespaced-abseil-dll-imported-target-backport-12978.patch new file mode 100644 index 0000000..980a6e0 --- /dev/null +++ b/recipe/patches/0007-use-namespaced-abseil-dll-imported-target-backport-12978.patch @@ -0,0 +1,26 @@ +diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake +index e7bfb2b15f8..c668f4d9b01 100644 +--- a/cmake/abseil-cpp.cmake ++++ b/cmake/abseil-cpp.cmake +@@ -39,8 +39,19 @@ set(_protobuf_FIND_ABSL "if(NOT TARGET absl::strings)\n find_package(absl CONFI + + if (BUILD_SHARED_LIBS AND MSVC) + # On MSVC Abseil is bundled into a single DLL. +- set(protobuf_ABSL_USED_TARGETS abseil_dll) +- ++ # This condition is necessary as of abseil 20230125.3 when abseil is consumed via add_subdirectory, ++ # the abseil_dll target is named abseil_dll, while if abseil is consumed via find_package, the target ++ # is called absl::abseil_dll ++ # Once https://github.com/abseil/abseil-cpp/pull/1466 is merged and released in the minimum version of ++ # abseil required by protobuf, it is possible to always link absl::abseil_dll and absl::abseil_test_dll ++ # and remove the if ++ if(protobuf_ABSL_PROVIDER STREQUAL "package") ++ set(protobuf_ABSL_USED_TARGETS absl::abseil_dll) ++ else() ++ set(protobuf_ABSL_USED_TARGETS abseil_dll) ++ endif() ++ # Not all build of abseil found by find_package provide the absl::abseil_test_dll target, so for ++ # it we stick to the non-namespaced definition + set(protobuf_ABSL_USED_TEST_TARGETS abseil_test_dll) + else() + set(protobuf_ABSL_USED_TARGETS From 9cdd8b63b8c3ed397c8711d4300caf9c5ea4d67b Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Sun, 4 Jun 2023 13:29:32 +0200 Subject: [PATCH 108/182] Update meta.yaml --- recipe/meta.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 582c07b..b466e21 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -21,9 +21,11 @@ source: - patches/0004-always-look-for-shared-abseil-builds.patch - patches/0005-be-more-lenient-with-abseil-version.patch - patches/0006-add-PROTOBUF_EXPORT-for-google-protobuf-io-SafeDoubl.patch + # backport https://github.com/protocolbuffers/protobuf/pull/12978 + - patches/0007-use-namespaced-abseil-dll-imported-target-backport-12978.patch build: - number: 2 + number: 3 outputs: - name: libprotobuf From 4cbb2929d2449c31dd0325bd13e47670f3328be0 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Sun, 4 Jun 2023 15:23:01 +0200 Subject: [PATCH 109/182] Add tests --- recipe/cmake_test/CMakeLists.txt | 20 +++++++++++++++++++- recipe/meta.yaml | 3 ++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/recipe/cmake_test/CMakeLists.txt b/recipe/cmake_test/CMakeLists.txt index 8c0f044..ff6192e 100644 --- a/recipe/cmake_test/CMakeLists.txt +++ b/recipe/cmake_test/CMakeLists.txt @@ -3,4 +3,22 @@ cmake_minimum_required(VERSION 3.12) # CMake seems to prefer its own FindProtobuf to the # protobuf-config.cmake being distributed by this # feedstock; make sure things work -find_package(Protobuf REQUIRED) +find_package(Protobuf CONFIG REQUIRED) + +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/struct_example.cc +" + +#include + +#include + +int main() +{ + google::protobuf::Struct myStruct; +} + +" +) + +add_executable(struct_example ${CMAKE_CURRENT_BINARY_DIR}/struct_example.cc) +target_link_libraries(struct_example PRIVATE protobuf::libprotobuf) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b466e21..ebf585c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -131,10 +131,11 @@ outputs: - if not exist %LIBRARY_LIB%\{{ each_lib }}-static.lib exit 1 # [win] {% endfor %} - # more CMake integration (CMake uses its own FindProtobuf) + # more CMake integration - cd cmake_test - cmake -GNinja $CMAKE_ARGS . # [unix] - cmake -GNinja %CMAKE_ARGS% . # [win] + - cmake --build . about: home: https://developers.google.com/protocol-buffers/ From 348667f9499dbf5685a358fb5fa2ee66ef80200e Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Sun, 4 Jun 2023 15:26:51 +0200 Subject: [PATCH 110/182] Update meta.yaml --- recipe/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ebf585c..acb07eb 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -89,10 +89,11 @@ outputs: # binary - protoc --help - # more CMake integration (CMake uses its own FindProtobuf) + # more CMake integration - cd cmake_test - cmake -GNinja $CMAKE_ARGS . # [unix] - cmake -GNinja %CMAKE_ARGS% . # [win] + - cmake --build . - name: libprotobuf-static script: build-lib.sh # [unix] From f8d4b2f7993ef30e73fc25f5ccb1d0d223df71e8 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Mon, 5 Jun 2023 01:17:24 +0200 Subject: [PATCH 111/182] Update CMakeLists.txt --- recipe/cmake_test/CMakeLists.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/recipe/cmake_test/CMakeLists.txt b/recipe/cmake_test/CMakeLists.txt index ff6192e..3903538 100644 --- a/recipe/cmake_test/CMakeLists.txt +++ b/recipe/cmake_test/CMakeLists.txt @@ -1,8 +1,10 @@ project(cf_dummy LANGUAGES C CXX) cmake_minimum_required(VERSION 3.12) -# CMake seems to prefer its own FindProtobuf to the -# protobuf-config.cmake being distributed by this -# feedstock; make sure things work +# We need to specify CONFIG to make sure that CMake +# uses protobuf-config.cmake instead of relying on its +# own FindProtobuf.cmake that does not know about +# abseil transitive depedendency and about C++ version +# required, see https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/4075#issuecomment-1569242816 find_package(Protobuf CONFIG REQUIRED) file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/struct_example.cc From 5e9b852d8fc16f8939d9222f052859dcaddc8369 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 6 Jun 2023 14:33:23 +1100 Subject: [PATCH 112/182] carry relevant upstream backports for 23.x --- recipe/meta.yaml | 9 +- .../0001-use-consistent-cmake-location.patch | 4 +- ...-set-static-lib-extension-on-windows.patch | 6 +- ...tion-of-system-provided-jsoncpp-1257.patch | 6 +- ...always-look-for-shared-abseil-builds.patch | 4 +- ...-be-more-lenient-with-abseil-version.patch | 6 +- ...ORT-for-google-protobuf-io-SafeDoubl.patch | 23 -- ...at-workaround-for-DOMAIN-macro-12903.patch | 241 ++++++++++++++++++ ...g-PROTOBUF_EXPORT-for-public-symbols.patch | 29 +++ ...l-dll-imported-target-backport-12978.patch | 26 -- ..._dll-target-name-when-using-find_pac.patch | 48 ++++ 11 files changed, 336 insertions(+), 66 deletions(-) delete mode 100644 recipe/patches/0006-add-PROTOBUF_EXPORT-for-google-protobuf-io-SafeDoubl.patch create mode 100644 recipe/patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch create mode 100644 recipe/patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch delete mode 100644 recipe/patches/0007-use-namespaced-abseil-dll-imported-target-backport-12978.patch create mode 100644 recipe/patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index acb07eb..ff92f2a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -20,12 +20,13 @@ source: - patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch - patches/0004-always-look-for-shared-abseil-builds.patch - patches/0005-be-more-lenient-with-abseil-version.patch - - patches/0006-add-PROTOBUF_EXPORT-for-google-protobuf-io-SafeDoubl.patch - # backport https://github.com/protocolbuffers/protobuf/pull/12978 - - patches/0007-use-namespaced-abseil-dll-imported-target-backport-12978.patch + # backports from https://github.com/protocolbuffers/protobuf/pull/12987 (3 commits) + - patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch + - patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch + - patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch build: - number: 3 + number: 4 outputs: - name: libprotobuf diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index 10c2cd7..d2da508 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,7 +1,7 @@ -From 5f59e8cbbea1aab58dc41e81b844d2da05863f4b Mon Sep 17 00:00:00 2001 +From fa6b8eb61c17a083d44b3e0fdb3b02bd7cc262f3 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/6] use consistent cmake location +Subject: [PATCH 1/8] use consistent cmake location --- cmake/install.cmake | 12 +++--------- diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index dbdd1ea..64bd2a0 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,14 +1,14 @@ -From 0e2901fac62f1fa3fc9534f4ab667fcebdff61f5 Mon Sep 17 00:00:00 2001 +From 9dc4c31438927ce82a9aa5b2e38207c11d8d2433 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/6] set static lib extension on windows +Subject: [PATCH 2/8] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index ec1641ba9..97a39e4ba 100644 +index 1fb018b61..61e9ac383 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -371,6 +371,12 @@ else () diff --git a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch index 6ca97bc..251f94d 100644 --- a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch +++ b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch @@ -1,7 +1,7 @@ -From ec985b8640e701f2e21f395b453729d5b85466d3 Mon Sep 17 00:00:00 2001 +From edc4100e2af9ba8fd279974ee9652b21420c5387 Mon Sep 17 00:00:00 2001 From: Mike Rochefort Date: Mon, 1 May 2023 09:34:17 -0700 -Subject: [PATCH 3/6] Enable the selection of system provided jsoncpp (#12577) +Subject: [PATCH 3/8] Enable the selection of system provided jsoncpp (#12577) Allows the use of an external `jsoncpp` library to be used. Replicates the model used by `abseil-cpp` as a "package" or "module" to the `protobuf_JSONCPP_PROVIDER` option. @@ -17,7 +17,7 @@ PiperOrigin-RevId: 528492610 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 97a39e4ba..7d2dc8bab 100644 +index 61e9ac383..3db1d0e6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -332,6 +332,9 @@ endif (protobuf_UNICODE) diff --git a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch index 734fc88..2585a02 100644 --- a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch @@ -1,7 +1,7 @@ -From 855774183cbd1355ca1eefaebb8699c5eb89b18d Mon Sep 17 00:00:00 2001 +From 4d90fa0fc44fd851eef0511b2b9c10ca3befb47f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 4/6] always look for shared abseil builds +Subject: [PATCH 4/8] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- diff --git a/recipe/patches/0005-be-more-lenient-with-abseil-version.patch b/recipe/patches/0005-be-more-lenient-with-abseil-version.patch index 9759ec2..1c91805 100644 --- a/recipe/patches/0005-be-more-lenient-with-abseil-version.patch +++ b/recipe/patches/0005-be-more-lenient-with-abseil-version.patch @@ -1,7 +1,7 @@ -From 3ed82472434815a3e5befcefd5e13e3bd0e07759 Mon Sep 17 00:00:00 2001 +From c649c3e227cb88ff5cc276d3876e2f8dfdb16c22 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 18 May 2023 09:02:21 +1100 -Subject: [PATCH 5/6] be more lenient with abseil version +Subject: [PATCH 5/8] be more lenient with abseil version we carry the patch for the only pertinent difference between .2 & .3 anyway @@ -10,7 +10,7 @@ between .2 & .3 anyway 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc -index 1c6a24945..2ee003e15 100644 +index 18d7ccfe8..90f58f6ec 100644 --- a/src/google/protobuf/port_def.inc +++ b/src/google/protobuf/port_def.inc @@ -216,7 +216,7 @@ static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and diff --git a/recipe/patches/0006-add-PROTOBUF_EXPORT-for-google-protobuf-io-SafeDoubl.patch b/recipe/patches/0006-add-PROTOBUF_EXPORT-for-google-protobuf-io-SafeDoubl.patch deleted file mode 100644 index ba6ac37..0000000 --- a/recipe/patches/0006-add-PROTOBUF_EXPORT-for-google-protobuf-io-SafeDoubl.patch +++ /dev/null @@ -1,23 +0,0 @@ -From f2f930d2c30ac4020212ebcddbc4acb04eb0e3cf Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Wed, 31 May 2023 08:31:06 +1100 -Subject: [PATCH 6/6] add PROTOBUF_EXPORT for - google::protobuf::io::SafeDoubleToFloat - ---- - src/google/protobuf/io/strtod.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/google/protobuf/io/strtod.h b/src/google/protobuf/io/strtod.h -index 851c8e621..648f1ff1c 100644 ---- a/src/google/protobuf/io/strtod.h -+++ b/src/google/protobuf/io/strtod.h -@@ -65,7 +65,7 @@ double NoLocaleStrtod(const char* str, char** endptr); - // Casts a double value to a float value. If the value is outside of the - // representable range of float, it will be converted to positive or negative - // infinity. --float SafeDoubleToFloat(double value); -+PROTOBUF_EXPORT float SafeDoubleToFloat(double value); - - } // namespace io - } // namespace protobuf diff --git a/recipe/patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch b/recipe/patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch new file mode 100644 index 0000000..38aca10 --- /dev/null +++ b/recipe/patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch @@ -0,0 +1,241 @@ +From 701113e0472269a966ae69f25e428140e34dc8fc Mon Sep 17 00:00:00 2001 +From: Carlos O'Ryan +Date: Fri, 26 May 2023 10:10:47 -0700 +Subject: [PATCH 6/8] feat: workaround for `DOMAIN` macro (#12903) + +This is a macro on some (older) versions of GCC, and macOS, and Windows. Sigh. I moved the `#undef` block to a common section. I also took the opportunity to add a regression test for all these macros that need to be `#undef`'d. + +Part of the work for googleapis/google-cloud-cpp#8125 + +Closes #12903 + +PiperOrigin-RevId: 535649278 +--- + src/file_lists.cmake | 1 + + src/google/protobuf/BUILD.bazel | 2 + + src/google/protobuf/port_def.inc | 22 +++-- + src/google/protobuf/port_undef.inc | 12 ++- + .../protobuf/unittest_proto3_bad_macros.proto | 98 +++++++++++++++++++ + 5 files changed, 123 insertions(+), 12 deletions(-) + create mode 100644 src/google/protobuf/unittest_proto3_bad_macros.proto + +diff --git a/src/file_lists.cmake b/src/file_lists.cmake +index da030df3d..8b48f6b9c 100644 +--- a/src/file_lists.cmake ++++ b/src/file_lists.cmake +@@ -666,6 +666,7 @@ set(protobuf_test_protos_files + ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3.proto + ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3_arena.proto + ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3_arena_lite.proto ++ ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3_bad_macros.proto + ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3_lite.proto + ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3_optional.proto + ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_retention.proto +diff --git a/src/google/protobuf/BUILD.bazel b/src/google/protobuf/BUILD.bazel +index 77ed2309f..91827d9cf 100644 +--- a/src/google/protobuf/BUILD.bazel ++++ b/src/google/protobuf/BUILD.bazel +@@ -645,6 +645,7 @@ filegroup( + "unittest_proto3.proto", + "unittest_proto3_arena.proto", + "unittest_proto3_arena_lite.proto", ++ "unittest_proto3_bad_macros.proto", + "unittest_proto3_lite.proto", + "unittest_proto3_optional.proto", + "unittest_retention.proto", +@@ -702,6 +703,7 @@ proto_library( + "unittest_proto3.proto", + "unittest_proto3_arena.proto", + "unittest_proto3_arena_lite.proto", ++ "unittest_proto3_bad_macros.proto", + "unittest_proto3_lite.proto", + "unittest_proto3_optional.proto", + "unittest_retention.proto", +diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc +index 90f58f6ec..24278aba7 100644 +--- a/src/google/protobuf/port_def.inc ++++ b/src/google/protobuf/port_def.inc +@@ -888,11 +888,18 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 2), + #undef PACKAGE + #endif + +-// autoheader defines this in some circumstances +-#ifdef PACKAGE +-#define PROTOBUF_DID_UNDEF_PACKAGE +-#pragma push_macro("PACKAGE") +-#undef PACKAGE ++// a few common headers define this ++#ifdef PACKED ++#define PROTOBUF_DID_UNDEF_PACKED ++#pragma push_macro("PACKED") ++#undef PACKED ++#endif ++ ++// This is a macro on Windows, macOS, and some variants of GCC. ++#ifdef DOMAIN ++#define PROTOBUF_DID_UNDEF_DOMAIN ++#pragma push_macro("DOMAIN") ++#undef DOMAIN + #endif + + // linux is a legacy MACRO defined in most popular C++ standards. +@@ -909,8 +916,6 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 2), + #undef CREATE_NEW + #pragma push_macro("DELETE") + #undef DELETE +-#pragma push_macro("DOMAIN") +-#undef DOMAIN + #pragma push_macro("DOUBLE_CLICK") + #undef DOUBLE_CLICK + #pragma push_macro("ERROR") +@@ -968,9 +973,6 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 2), + #endif // _WIN32 + + #ifdef __APPLE__ +-// Inconvenient macro names from usr/include/math.h in some macOS SDKs. +-#pragma push_macro("DOMAIN") +-#undef DOMAIN + // Inconvenient macro names from /usr/include/mach/boolean.h in some macOS SDKs. + #pragma push_macro("TRUE") + #undef TRUE +diff --git a/src/google/protobuf/port_undef.inc b/src/google/protobuf/port_undef.inc +index e9eae069c..cee6f8b90 100644 +--- a/src/google/protobuf/port_undef.inc ++++ b/src/google/protobuf/port_undef.inc +@@ -128,6 +128,16 @@ + #undef PROTOBUF_DID_UNDEF_PACKAGE + #endif + ++#ifdef PROTOBUF_DID_UNDEF_PACKED ++#pragma pop_macro("PACKED") ++#undef PROTOBUF_DID_UNDEF_PACKED ++#endif ++ ++#ifdef PROTOBUF_DID_UNDEF_DOMAIN ++#pragma pop_macro("DOMAIN") ++#undef PROTOBUF_DID_UNDEF_DOMAIN ++#endif ++ + #ifdef PROTOBUF_DID_UNDEF_LINUX + #pragma pop_macro("linux") + #endif +@@ -135,7 +145,6 @@ + #ifdef _WIN32 + #pragma pop_macro("CREATE_NEW") + #pragma pop_macro("DELETE") +-#pragma pop_macro("DOMAIN") + #pragma pop_macro("DOUBLE_CLICK") + #pragma pop_macro("ERROR") + #pragma pop_macro("ERROR_BUSY") +@@ -166,7 +175,6 @@ + #endif + + #ifdef __APPLE__ +-#pragma pop_macro("DOMAIN") + #pragma pop_macro("TRUE") + #pragma pop_macro("FALSE") + #pragma pop_macro("UID_MAX") +diff --git a/src/google/protobuf/unittest_proto3_bad_macros.proto b/src/google/protobuf/unittest_proto3_bad_macros.proto +new file mode 100644 +index 000000000..7d245b5d4 +--- /dev/null ++++ b/src/google/protobuf/unittest_proto3_bad_macros.proto +@@ -0,0 +1,98 @@ ++// Protocol Buffers - Google's data interchange format ++// Copyright 2023 Google Inc. All rights reserved. ++// https://developers.google.com/protocol-buffers/ ++// ++// 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. ++ ++syntax = "proto3"; ++ ++package protobuf_unittest; ++ ++option csharp_namespace = "ProtobufUnittest"; ++option java_multiple_files = true; ++option java_package = "com.google.protobuf.testing.proto"; ++ ++// `google/protobuf/port_def.inc` #undef's a number of inconvenient macros ++// defined in system headers under varying circumstances. The code generated ++// from this file will not compile if those `#undef` calls are accidentally ++// removed. ++ ++// This generates `GID_MAX`, which is a macro in some circumstances. ++enum GID { ++ GID_UNUSED = 0; ++} ++ ++// This generates `UID_MAX`, which is a mcro in some circumstances. ++enum UID { ++ UID_UNUSED = 0; ++} ++ ++// Just a container for bad macro names. Some of these do not follow the normal ++// naming conventions, this is intentional, we just want to trigger a build ++// failure if the macro is left defined. ++enum BadNames { ++ // autoheader defines this in some circumstances. ++ PACKAGE = 0; ++ // The comment says "a few common headers define this". ++ PACKED = 1; ++ // Defined in many Linux system headers. ++ linux = 2; ++ // This is often a macro in ``. ++ DOMAIN = 3; ++ // These are defined in both Windows and macOS headers. ++ TRUE = 4; ++ FALSE = 5; ++ // Sometimes defined in Windows system headers. ++ CREATE_NEW = 6; ++ DELETE = 7; ++ DOUBLE_CLICK = 8; ++ ERROR = 9; ++ ERROR_BUSY = 10; ++ ERROR_INSTALL_FAILED = 11; ++ ERROR_NOT_FOUND = 12; ++ GetClassName = 13; ++ GetCurrentTime = 14; ++ GetMessage = 15; ++ GetObject = 16; ++ IGNORE = 17; ++ IN = 18; ++ INPUT_KEYBOARD = 19; ++ NO_ERROR = 20; ++ OUT = 21; ++ OPTIONAL = 22; ++ NEAR = 23; ++ NO_DATA = 24; ++ REASON_UNKNOWN = 25; ++ SERVICE_DISABLED = 26; ++ SEVERITY_ERROR = 27; ++ STATUS_PENDING = 28; ++ STRICT = 29; ++ // Sometimed defined in macOS system headers. ++ TYPE_BOOL = 30; ++ // Defined in macOS, Windows, and Linux headers. ++ DEBUG = 31; ++} diff --git a/recipe/patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch b/recipe/patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch new file mode 100644 index 0000000..fa64d9f --- /dev/null +++ b/recipe/patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch @@ -0,0 +1,29 @@ +From db0beb910fcf2c5092e95e87c7f84deffb395602 Mon Sep 17 00:00:00 2001 +From: Protobuf Team Bot +Date: Thu, 1 Jun 2023 09:14:48 -0700 +Subject: [PATCH 7/8] fix: missing `PROTOBUF_EXPORT` for public symbols + +PiperOrigin-RevId: 537042088 +--- + src/google/protobuf/io/strtod.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/google/protobuf/io/strtod.h b/src/google/protobuf/io/strtod.h +index 851c8e621..b368e4d87 100644 +--- a/src/google/protobuf/io/strtod.h ++++ b/src/google/protobuf/io/strtod.h +@@ -60,12 +60,12 @@ PROTOBUF_EXPORT std::string SimpleFtoa(float value); + + // A locale-independent version of the standard strtod(), which always + // uses a dot as the decimal separator. +-double NoLocaleStrtod(const char* str, char** endptr); ++PROTOBUF_EXPORT double NoLocaleStrtod(const char* str, char** endptr); + + // Casts a double value to a float value. If the value is outside of the + // representable range of float, it will be converted to positive or negative + // infinity. +-float SafeDoubleToFloat(double value); ++PROTOBUF_EXPORT float SafeDoubleToFloat(double value); + + } // namespace io + } // namespace protobuf diff --git a/recipe/patches/0007-use-namespaced-abseil-dll-imported-target-backport-12978.patch b/recipe/patches/0007-use-namespaced-abseil-dll-imported-target-backport-12978.patch deleted file mode 100644 index 980a6e0..0000000 --- a/recipe/patches/0007-use-namespaced-abseil-dll-imported-target-backport-12978.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake -index e7bfb2b15f8..c668f4d9b01 100644 ---- a/cmake/abseil-cpp.cmake -+++ b/cmake/abseil-cpp.cmake -@@ -39,8 +39,19 @@ set(_protobuf_FIND_ABSL "if(NOT TARGET absl::strings)\n find_package(absl CONFI - - if (BUILD_SHARED_LIBS AND MSVC) - # On MSVC Abseil is bundled into a single DLL. -- set(protobuf_ABSL_USED_TARGETS abseil_dll) -- -+ # This condition is necessary as of abseil 20230125.3 when abseil is consumed via add_subdirectory, -+ # the abseil_dll target is named abseil_dll, while if abseil is consumed via find_package, the target -+ # is called absl::abseil_dll -+ # Once https://github.com/abseil/abseil-cpp/pull/1466 is merged and released in the minimum version of -+ # abseil required by protobuf, it is possible to always link absl::abseil_dll and absl::abseil_test_dll -+ # and remove the if -+ if(protobuf_ABSL_PROVIDER STREQUAL "package") -+ set(protobuf_ABSL_USED_TARGETS absl::abseil_dll) -+ else() -+ set(protobuf_ABSL_USED_TARGETS abseil_dll) -+ endif() -+ # Not all build of abseil found by find_package provide the absl::abseil_test_dll target, so for -+ # it we stick to the non-namespaced definition - set(protobuf_ABSL_USED_TEST_TARGETS abseil_test_dll) - else() - set(protobuf_ABSL_USED_TARGETS diff --git a/recipe/patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch b/recipe/patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch new file mode 100644 index 0000000..e8901f6 --- /dev/null +++ b/recipe/patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch @@ -0,0 +1,48 @@ +From 29f559969b65c9495a73681f5ad323fc522e6801 Mon Sep 17 00:00:00 2001 +From: Silvio Traversaro +Date: Mon, 5 Jun 2023 15:01:50 -0700 +Subject: [PATCH 8/8] CMake: Fix abseil_dll target name when using + find_package(absl) (#12978) + +This additional if is necessary as of abseil 20230125.3 when abseil is consumed via add_subdirectory, +the abseil_dll target is named abseil_dll, while if abseil is consumed via find_package, the target is called `absl::abseil_dll` . + +Once https://github.com/abseil/abseil-cpp/pull/1466 is merged and released in the minimum version of abseil required by protobuf, it is possible to always link `absl::abseil_dll` and `absl::abseil_test_dll` and remove the if. + +You may wonder how linking worked at all before when `protobuf_ABSL_PROVIDER STREQUAL "package"`, as `abseil_dll` was not an imported target defined by `find_package(absl)`. The reason behind this is that if a name that is not an imported target is passed to `target_link_libraries`, it is just regarded as a C++ library name. So, in the end the `abseil_dll` library was correctly linked, simply all the transitive usage requirements defined by the `absl::abseil_dll` target were not propagated, that could lead to compilation errors if abseil was compiled with the `ABSL_PROPAGATE_CXX_STD` CMake option enabled. + +Closes #12978 + +COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/12978 from traversaro:patch-1 39dd074281161fa0c4be69035d33b41a50e048c2 +PiperOrigin-RevId: 537990391 +--- + cmake/abseil-cpp.cmake | 16 +++++++++++++--- + 1 file changed, 13 insertions(+), 3 deletions(-) + +diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake +index 32310f5ac..b07e63f26 100644 +--- a/cmake/abseil-cpp.cmake ++++ b/cmake/abseil-cpp.cmake +@@ -39,9 +39,19 @@ set(_protobuf_FIND_ABSL "if(NOT TARGET absl::strings)\n find_package(absl CONFI + + if (MSVC) + # On MSVC Abseil is bundled into a single DLL. +- set(protobuf_ABSL_USED_TARGETS abseil_dll) +- +- set(protobuf_ABSL_USED_TEST_TARGETS abseil_test_dll) ++ # This condition is necessary as of abseil 20230125.3 when abseil is consumed via add_subdirectory, ++ # the abseil_dll target is named abseil_dll, while if abseil is consumed via find_package, the target ++ # is called absl::abseil_dll ++ # Once https://github.com/abseil/abseil-cpp/pull/1466 is merged and released in the minimum version of ++ # abseil required by protobuf, it is possible to always link absl::abseil_dll and absl::abseil_test_dll ++ # and remove the if ++ if(protobuf_ABSL_PROVIDER STREQUAL "package") ++ set(protobuf_ABSL_USED_TARGETS absl::abseil_dll) ++ set(protobuf_ABSL_USED_TEST_TARGETS absl::abseil_test_dll) ++ else() ++ set(protobuf_ABSL_USED_TARGETS abseil_dll) ++ set(protobuf_ABSL_USED_TEST_TARGETS abseil_test_dll) ++ endif() + else() + set(protobuf_ABSL_USED_TARGETS + absl::absl_check From e11105fd7831b66059081127588f7c1efcab5e44 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 14 Jun 2023 12:50:38 +0200 Subject: [PATCH 113/182] Export functions in google::compiler::java::names --- recipe/meta.yaml | 4 +- .../0001-use-consistent-cmake-location.patch | 9 +- ...-set-static-lib-extension-on-windows.patch | 9 +- ...tion-of-system-provided-jsoncpp-1257.patch | 11 ++- ...always-look-for-shared-abseil-builds.patch | 9 +- ...-be-more-lenient-with-abseil-version.patch | 9 +- ...at-workaround-for-DOMAIN-macro-12903.patch | 17 ++-- ...g-PROTOBUF_EXPORT-for-public-symbols.patch | 9 +- ..._dll-target-name-when-using-find_pac.patch | 9 +- ...ctions-in-google-compiler-java-names.patch | 94 +++++++++++++++++++ 10 files changed, 150 insertions(+), 30 deletions(-) create mode 100644 recipe/patches/0009-Export-functions-in-google-compiler-java-names.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ff92f2a..c21b692 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -24,9 +24,11 @@ source: - patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch - patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch - patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch + # grpc_cpp_java_plugin links against otherwise internal symbols + - patches/0009-Export-functions-in-google-compiler-java-names.patch build: - number: 4 + number: 5 outputs: - name: libprotobuf diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index d2da508..b6edd06 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,14 +1,14 @@ -From fa6b8eb61c17a083d44b3e0fdb3b02bd7cc262f3 Mon Sep 17 00:00:00 2001 +From 09c7fc2f822ce64ed95b69cd190b36878f96d9e0 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/8] use consistent cmake location +Subject: [PATCH 1/9] use consistent cmake location --- cmake/install.cmake | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/cmake/install.cmake b/cmake/install.cmake -index e7eb2103b..24d7a3ec9 100644 +index e7eb210..24d7a3e 100644 --- a/cmake/install.cmake +++ b/cmake/install.cmake @@ -84,15 +84,9 @@ set(_install_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the c @@ -30,3 +30,6 @@ index e7eb2103b..24d7a3ec9 100644 set(CMAKE_BUILD_CMAKEDIR "${CMAKE_CURRENT_BINARY_DIR}/${protobuf_CMAKE_SUBDIR}" CACHE STRING "${_build_cmakedir_desc}") mark_as_advanced(protobuf_CMAKE_SUBDIR) mark_as_advanced(CMAKE_BUILD_CMAKEDIR) +-- +2.39.2 (Apple Git-143) + diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index 64bd2a0..7e5faf8 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,14 +1,14 @@ -From 9dc4c31438927ce82a9aa5b2e38207c11d8d2433 Mon Sep 17 00:00:00 2001 +From 9153376cb056ac871eb4dfb4e8a89f5ae07c2ab8 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/8] set static lib extension on windows +Subject: [PATCH 2/9] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1fb018b61..61e9ac383 100644 +index 1fb018b..61e9ac3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -371,6 +371,12 @@ else () @@ -24,3 +24,6 @@ index 1fb018b61..61e9ac383 100644 # Ensure we have a protoc executable and protobuf libraries if we need one if (protobuf_BUILD_TESTS OR protobuf_BUILD_CONFORMANCE OR protobuf_BUILD_EXAMPLES) if (NOT DEFINED protobuf_PROTOC_EXE) +-- +2.39.2 (Apple Git-143) + diff --git a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch index 251f94d..76c5249 100644 --- a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch +++ b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch @@ -1,7 +1,7 @@ -From edc4100e2af9ba8fd279974ee9652b21420c5387 Mon Sep 17 00:00:00 2001 +From b016914542095d63cf9e52378390540273c42407 Mon Sep 17 00:00:00 2001 From: Mike Rochefort Date: Mon, 1 May 2023 09:34:17 -0700 -Subject: [PATCH 3/8] Enable the selection of system provided jsoncpp (#12577) +Subject: [PATCH 3/9] Enable the selection of system provided jsoncpp (#12577) Allows the use of an external `jsoncpp` library to be used. Replicates the model used by `abseil-cpp` as a "package" or "module" to the `protobuf_JSONCPP_PROVIDER` option. @@ -17,7 +17,7 @@ PiperOrigin-RevId: 528492610 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 61e9ac383..3db1d0e6a 100644 +index 61e9ac3..3db1d0e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -332,6 +332,9 @@ endif (protobuf_UNICODE) @@ -31,7 +31,7 @@ index 61e9ac383..3db1d0e6a 100644 include(${protobuf_SOURCE_DIR}/cmake/gtest.cmake) endif (protobuf_BUILD_TESTS) diff --git a/cmake/conformance.cmake b/cmake/conformance.cmake -index 61ac25a0d..6ba9050af 100644 +index 61ac25a..6ba9050 100644 --- a/cmake/conformance.cmake +++ b/cmake/conformance.cmake @@ -1,12 +1,15 @@ @@ -73,3 +73,6 @@ index 61ac25a0d..6ba9050af 100644 +else() + target_link_libraries(conformance_test_runner jsoncpp) +endif() +-- +2.39.2 (Apple Git-143) + diff --git a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch index 2585a02..d1f6428 100644 --- a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch @@ -1,14 +1,14 @@ -From 4d90fa0fc44fd851eef0511b2b9c10ca3befb47f Mon Sep 17 00:00:00 2001 +From a70dac74e264567943e07e8753330505c4413cda Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 4/8] always look for shared abseil builds +Subject: [PATCH 4/9] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake -index e7bfb2b15..32310f5ac 100644 +index e7bfb2b..32310f5 100644 --- a/cmake/abseil-cpp.cmake +++ b/cmake/abseil-cpp.cmake @@ -37,7 +37,7 @@ elseif(protobuf_ABSL_PROVIDER STREQUAL "package") @@ -20,3 +20,6 @@ index e7bfb2b15..32310f5ac 100644 # On MSVC Abseil is bundled into a single DLL. set(protobuf_ABSL_USED_TARGETS abseil_dll) +-- +2.39.2 (Apple Git-143) + diff --git a/recipe/patches/0005-be-more-lenient-with-abseil-version.patch b/recipe/patches/0005-be-more-lenient-with-abseil-version.patch index 1c91805..559337b 100644 --- a/recipe/patches/0005-be-more-lenient-with-abseil-version.patch +++ b/recipe/patches/0005-be-more-lenient-with-abseil-version.patch @@ -1,7 +1,7 @@ -From c649c3e227cb88ff5cc276d3876e2f8dfdb16c22 Mon Sep 17 00:00:00 2001 +From 58bde6be0e9e355ca5b1219ea1d7313cda8a27d1 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 18 May 2023 09:02:21 +1100 -Subject: [PATCH 5/8] be more lenient with abseil version +Subject: [PATCH 5/9] be more lenient with abseil version we carry the patch for the only pertinent difference between .2 & .3 anyway @@ -10,7 +10,7 @@ between .2 & .3 anyway 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc -index 18d7ccfe8..90f58f6ec 100644 +index 18d7ccf..90f58f6 100644 --- a/src/google/protobuf/port_def.inc +++ b/src/google/protobuf/port_def.inc @@ -216,7 +216,7 @@ static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and @@ -22,3 +22,6 @@ index 18d7ccfe8..90f58f6ec 100644 "Protobuf only supports Abseil version 20230125.3 and newer."); // Future versions of protobuf will include breaking changes to some APIs. +-- +2.39.2 (Apple Git-143) + diff --git a/recipe/patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch b/recipe/patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch index 38aca10..016fe98 100644 --- a/recipe/patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch +++ b/recipe/patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch @@ -1,7 +1,7 @@ -From 701113e0472269a966ae69f25e428140e34dc8fc Mon Sep 17 00:00:00 2001 +From 622565b7d67dcec1fd4c7da71f60d092ec320bd3 Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Fri, 26 May 2023 10:10:47 -0700 -Subject: [PATCH 6/8] feat: workaround for `DOMAIN` macro (#12903) +Subject: [PATCH 6/9] feat: workaround for `DOMAIN` macro (#12903) This is a macro on some (older) versions of GCC, and macOS, and Windows. Sigh. I moved the `#undef` block to a common section. I also took the opportunity to add a regression test for all these macros that need to be `#undef`'d. @@ -20,7 +20,7 @@ PiperOrigin-RevId: 535649278 create mode 100644 src/google/protobuf/unittest_proto3_bad_macros.proto diff --git a/src/file_lists.cmake b/src/file_lists.cmake -index da030df3d..8b48f6b9c 100644 +index da030df..8b48f6b 100644 --- a/src/file_lists.cmake +++ b/src/file_lists.cmake @@ -666,6 +666,7 @@ set(protobuf_test_protos_files @@ -32,7 +32,7 @@ index da030df3d..8b48f6b9c 100644 ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3_optional.proto ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_retention.proto diff --git a/src/google/protobuf/BUILD.bazel b/src/google/protobuf/BUILD.bazel -index 77ed2309f..91827d9cf 100644 +index 77ed230..91827d9 100644 --- a/src/google/protobuf/BUILD.bazel +++ b/src/google/protobuf/BUILD.bazel @@ -645,6 +645,7 @@ filegroup( @@ -52,7 +52,7 @@ index 77ed2309f..91827d9cf 100644 "unittest_proto3_optional.proto", "unittest_retention.proto", diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc -index 90f58f6ec..24278aba7 100644 +index 90f58f6..24278ab 100644 --- a/src/google/protobuf/port_def.inc +++ b/src/google/protobuf/port_def.inc @@ -888,11 +888,18 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 2), @@ -99,7 +99,7 @@ index 90f58f6ec..24278aba7 100644 #pragma push_macro("TRUE") #undef TRUE diff --git a/src/google/protobuf/port_undef.inc b/src/google/protobuf/port_undef.inc -index e9eae069c..cee6f8b90 100644 +index e9eae06..cee6f8b 100644 --- a/src/google/protobuf/port_undef.inc +++ b/src/google/protobuf/port_undef.inc @@ -128,6 +128,16 @@ @@ -137,7 +137,7 @@ index e9eae069c..cee6f8b90 100644 #pragma pop_macro("UID_MAX") diff --git a/src/google/protobuf/unittest_proto3_bad_macros.proto b/src/google/protobuf/unittest_proto3_bad_macros.proto new file mode 100644 -index 000000000..7d245b5d4 +index 0000000..7d245b5 --- /dev/null +++ b/src/google/protobuf/unittest_proto3_bad_macros.proto @@ -0,0 +1,98 @@ @@ -239,3 +239,6 @@ index 000000000..7d245b5d4 + // Defined in macOS, Windows, and Linux headers. + DEBUG = 31; +} +-- +2.39.2 (Apple Git-143) + diff --git a/recipe/patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch b/recipe/patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch index fa64d9f..9167e4e 100644 --- a/recipe/patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch +++ b/recipe/patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch @@ -1,7 +1,7 @@ -From db0beb910fcf2c5092e95e87c7f84deffb395602 Mon Sep 17 00:00:00 2001 +From ff5ccc100ef05ee0feaee122cccf65e525c05d9a Mon Sep 17 00:00:00 2001 From: Protobuf Team Bot Date: Thu, 1 Jun 2023 09:14:48 -0700 -Subject: [PATCH 7/8] fix: missing `PROTOBUF_EXPORT` for public symbols +Subject: [PATCH 7/9] fix: missing `PROTOBUF_EXPORT` for public symbols PiperOrigin-RevId: 537042088 --- @@ -9,7 +9,7 @@ PiperOrigin-RevId: 537042088 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/google/protobuf/io/strtod.h b/src/google/protobuf/io/strtod.h -index 851c8e621..b368e4d87 100644 +index 851c8e6..b368e4d 100644 --- a/src/google/protobuf/io/strtod.h +++ b/src/google/protobuf/io/strtod.h @@ -60,12 +60,12 @@ PROTOBUF_EXPORT std::string SimpleFtoa(float value); @@ -27,3 +27,6 @@ index 851c8e621..b368e4d87 100644 } // namespace io } // namespace protobuf +-- +2.39.2 (Apple Git-143) + diff --git a/recipe/patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch b/recipe/patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch index e8901f6..2e578ad 100644 --- a/recipe/patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch +++ b/recipe/patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch @@ -1,7 +1,7 @@ -From 29f559969b65c9495a73681f5ad323fc522e6801 Mon Sep 17 00:00:00 2001 +From 49e7e77ff46e9811c989f32405b72dc83b020f32 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Mon, 5 Jun 2023 15:01:50 -0700 -Subject: [PATCH 8/8] CMake: Fix abseil_dll target name when using +Subject: [PATCH 8/9] CMake: Fix abseil_dll target name when using find_package(absl) (#12978) This additional if is necessary as of abseil 20230125.3 when abseil is consumed via add_subdirectory, @@ -20,7 +20,7 @@ PiperOrigin-RevId: 537990391 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake -index 32310f5ac..b07e63f26 100644 +index 32310f5..b07e63f 100644 --- a/cmake/abseil-cpp.cmake +++ b/cmake/abseil-cpp.cmake @@ -39,9 +39,19 @@ set(_protobuf_FIND_ABSL "if(NOT TARGET absl::strings)\n find_package(absl CONFI @@ -46,3 +46,6 @@ index 32310f5ac..b07e63f26 100644 else() set(protobuf_ABSL_USED_TARGETS absl::absl_check +-- +2.39.2 (Apple Git-143) + diff --git a/recipe/patches/0009-Export-functions-in-google-compiler-java-names.patch b/recipe/patches/0009-Export-functions-in-google-compiler-java-names.patch new file mode 100644 index 0000000..3d23bc4 --- /dev/null +++ b/recipe/patches/0009-Export-functions-in-google-compiler-java-names.patch @@ -0,0 +1,94 @@ +From e22594d73a25056925cd56a02ea7fd447b86cb75 Mon Sep 17 00:00:00 2001 +From: "Uwe L. Korn" +Date: Wed, 14 Jun 2023 11:36:55 +0200 +Subject: [PATCH 9/9] Export functions in google::compiler::java::names + +--- + src/google/protobuf/compiler/java/names.h | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/src/google/protobuf/compiler/java/names.h b/src/google/protobuf/compiler/java/names.h +index ddfc8e6..f26004c 100644 +--- a/src/google/protobuf/compiler/java/names.h ++++ b/src/google/protobuf/compiler/java/names.h +@@ -63,67 +63,67 @@ namespace java { + // + // Returns: + // The fully-qualified Java class name. +-std::string ClassName(const Descriptor* descriptor); ++PROTOC_EXPORT std::string ClassName(const Descriptor* descriptor); + + // Requires: + // descriptor != NULL + // + // Returns: + // The fully-qualified Java class name. +-std::string ClassName(const EnumDescriptor* descriptor); ++PROTOC_EXPORT std::string ClassName(const EnumDescriptor* descriptor); + + // Requires: + // descriptor != NULL + // + // Returns: + // The fully-qualified Java class name. +-std::string ClassName(const FileDescriptor* descriptor); ++PROTOC_EXPORT std::string ClassName(const FileDescriptor* descriptor); + + // Requires: + // descriptor != NULL + // + // Returns: + // The fully-qualified Java class name. +-std::string ClassName(const ServiceDescriptor* descriptor); ++PROTOC_EXPORT std::string ClassName(const ServiceDescriptor* descriptor); + + // Requires: + // descriptor != NULL + // + // Returns: + // Java package name. +-std::string FileJavaPackage(const FileDescriptor* descriptor, ++PROTOC_EXPORT std::string FileJavaPackage(const FileDescriptor* descriptor, + Options options = {}); + + // Requires: + // descriptor != NULL + // Returns: + // Capitalized camel case name field name. +-std::string CapitalizedFieldName(const FieldDescriptor* descriptor); ++PROTOC_EXPORT std::string CapitalizedFieldName(const FieldDescriptor* descriptor); + + // Returns: + // Converts a name to camel-case. If cap_first_letter is true, capitalize the + // first letter. +-std::string UnderscoresToCamelCase(absl::string_view input, ++PROTOC_EXPORT std::string UnderscoresToCamelCase(absl::string_view input, + bool cap_next_letter); + // Requires: + // field != NULL + // Returns: + // Converts the field's name to camel-case, e.g. "foo_bar_baz" becomes + // "fooBarBaz" or "FooBarBaz", respectively. +-std::string UnderscoresToCamelCase(const FieldDescriptor* field); ++PROTOC_EXPORT std::string UnderscoresToCamelCase(const FieldDescriptor* field); + + // Requires: + // method != NULL + // Returns: + // Similar, but for method names. (Typically, this merely has the effect + // of lower-casing the first letter of the name.) +-std::string UnderscoresToCamelCase(const MethodDescriptor* method); ++PROTOC_EXPORT std::string UnderscoresToCamelCase(const MethodDescriptor* method); + + // Requires: + // field != NULL + // Returns: + // Same as UnderscoresToCamelCase, but checks for reserved keywords +-std::string UnderscoresToCamelCaseCheckReserved(const FieldDescriptor* field); ++PROTOC_EXPORT std::string UnderscoresToCamelCaseCheckReserved(const FieldDescriptor* field); + + + } // namespace java +-- +2.39.2 (Apple Git-143) + From 8845e7098b494d49ca8199e6266838c33e248d0b Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 14 Jun 2023 13:24:08 +0200 Subject: [PATCH 114/182] Always include CMakeFiles --- recipe/meta.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c21b692..061d131 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -102,6 +102,10 @@ outputs: script: build-lib.sh # [unix] script: build-lib.bat # [win] build: + always_include_files: + # Must overwrite the CMake metadata from shared libprotobuf + - lib/cmake/protobuf/ # [unix] + - Library/lib/cmake/protobuf/ # [win] ignore_run_exports_from: - jsoncpp requirements: From 6c6b904208d7d3ec8172236fbb76eafa92b8940f Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 14 Jun 2023 16:01:59 +0200 Subject: [PATCH 115/182] Add zlib to static test --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 061d131..a86af78 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -130,6 +130,7 @@ outputs: - {{ compiler('cxx') }} - cmake - ninja + - zlib files: - cmake_test/ commands: From 169e85d98e62decdaa6fe5bb9eb56146a5136afe Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Wed, 14 Jun 2023 18:38:06 +0000 Subject: [PATCH 116/182] updated v23.3 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a86af78..3febc8e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "23.2" %} +{% set version = "23.3" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 0b0395d34e000f1229679e10d984ed7913078f3dd7f26cf0476467f5e65716f4 + sha256: 4e176116949be52b0408dfd24f8925d1eb674a781ae242a75296b17a1c721395 patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch @@ -28,7 +28,7 @@ source: - patches/0009-Export-functions-in-google-compiler-java-names.patch build: - number: 5 + number: 0 outputs: - name: libprotobuf From 183fa4f61ef15b7375f28ad26e518c73b66a4c29 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 15 Jun 2023 16:34:59 +1100 Subject: [PATCH 117/182] rebase patches --- recipe/meta.yaml | 6 +- .../0001-use-consistent-cmake-location.patch | 9 +- ...-set-static-lib-extension-on-windows.patch | 9 +- ...tion-of-system-provided-jsoncpp-1257.patch | 11 +- ...always-look-for-shared-abseil-builds.patch | 13 +- ...-be-more-lenient-with-abseil-version.patch | 9 +- ...tions-in-google-compiler-java-names.patch} | 9 +- ...at-workaround-for-DOMAIN-macro-12903.patch | 244 ------------------ ...g-PROTOBUF_EXPORT-for-public-symbols.patch | 32 --- ..._dll-target-name-when-using-find_pac.patch | 51 ---- 10 files changed, 22 insertions(+), 371 deletions(-) rename recipe/patches/{0009-Export-functions-in-google-compiler-java-names.patch => 0006-Export-functions-in-google-compiler-java-names.patch} (94%) delete mode 100644 recipe/patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch delete mode 100644 recipe/patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch delete mode 100644 recipe/patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3febc8e..0543195 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -20,12 +20,8 @@ source: - patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch - patches/0004-always-look-for-shared-abseil-builds.patch - patches/0005-be-more-lenient-with-abseil-version.patch - # backports from https://github.com/protocolbuffers/protobuf/pull/12987 (3 commits) - - patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch - - patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch - - patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch # grpc_cpp_java_plugin links against otherwise internal symbols - - patches/0009-Export-functions-in-google-compiler-java-names.patch + - patches/0006-Export-functions-in-google-compiler-java-names.patch build: number: 0 diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index b6edd06..f3e603d 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,14 +1,14 @@ -From 09c7fc2f822ce64ed95b69cd190b36878f96d9e0 Mon Sep 17 00:00:00 2001 +From 1a0df0ca9e8d5320556ca15ed1685d578a98500c Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/9] use consistent cmake location +Subject: [PATCH 1/6] use consistent cmake location --- cmake/install.cmake | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/cmake/install.cmake b/cmake/install.cmake -index e7eb210..24d7a3e 100644 +index e7eb2103b..24d7a3ec9 100644 --- a/cmake/install.cmake +++ b/cmake/install.cmake @@ -84,15 +84,9 @@ set(_install_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the c @@ -30,6 +30,3 @@ index e7eb210..24d7a3e 100644 set(CMAKE_BUILD_CMAKEDIR "${CMAKE_CURRENT_BINARY_DIR}/${protobuf_CMAKE_SUBDIR}" CACHE STRING "${_build_cmakedir_desc}") mark_as_advanced(protobuf_CMAKE_SUBDIR) mark_as_advanced(CMAKE_BUILD_CMAKEDIR) --- -2.39.2 (Apple Git-143) - diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index 7e5faf8..b339525 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,14 +1,14 @@ -From 9153376cb056ac871eb4dfb4e8a89f5ae07c2ab8 Mon Sep 17 00:00:00 2001 +From 8e995af87c7cc4ac02f573dc10364765b7b0adfb Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/9] set static lib extension on windows +Subject: [PATCH 2/6] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1fb018b..61e9ac3 100644 +index dc09f63db..d0015b799 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -371,6 +371,12 @@ else () @@ -24,6 +24,3 @@ index 1fb018b..61e9ac3 100644 # Ensure we have a protoc executable and protobuf libraries if we need one if (protobuf_BUILD_TESTS OR protobuf_BUILD_CONFORMANCE OR protobuf_BUILD_EXAMPLES) if (NOT DEFINED protobuf_PROTOC_EXE) --- -2.39.2 (Apple Git-143) - diff --git a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch index 76c5249..2f71fa7 100644 --- a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch +++ b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch @@ -1,7 +1,7 @@ -From b016914542095d63cf9e52378390540273c42407 Mon Sep 17 00:00:00 2001 +From e29e3dc895a1dcd60d0a955dbc63f848a0c14e66 Mon Sep 17 00:00:00 2001 From: Mike Rochefort Date: Mon, 1 May 2023 09:34:17 -0700 -Subject: [PATCH 3/9] Enable the selection of system provided jsoncpp (#12577) +Subject: [PATCH 3/6] Enable the selection of system provided jsoncpp (#12577) Allows the use of an external `jsoncpp` library to be used. Replicates the model used by `abseil-cpp` as a "package" or "module" to the `protobuf_JSONCPP_PROVIDER` option. @@ -17,7 +17,7 @@ PiperOrigin-RevId: 528492610 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 61e9ac3..3db1d0e 100644 +index d0015b799..ae0fd1c64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -332,6 +332,9 @@ endif (protobuf_UNICODE) @@ -31,7 +31,7 @@ index 61e9ac3..3db1d0e 100644 include(${protobuf_SOURCE_DIR}/cmake/gtest.cmake) endif (protobuf_BUILD_TESTS) diff --git a/cmake/conformance.cmake b/cmake/conformance.cmake -index 61ac25a..6ba9050 100644 +index 61ac25a0d..6ba9050af 100644 --- a/cmake/conformance.cmake +++ b/cmake/conformance.cmake @@ -1,12 +1,15 @@ @@ -73,6 +73,3 @@ index 61ac25a..6ba9050 100644 +else() + target_link_libraries(conformance_test_runner jsoncpp) +endif() --- -2.39.2 (Apple Git-143) - diff --git a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch index d1f6428..902da1d 100644 --- a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch @@ -1,14 +1,14 @@ -From a70dac74e264567943e07e8753330505c4413cda Mon Sep 17 00:00:00 2001 +From 137cfa12dbc793c2358e8048dde9b35d4e77292d Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 4/9] always look for shared abseil builds +Subject: [PATCH 4/6] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake -index e7bfb2b..32310f5 100644 +index b50fb89e6..b07e63f26 100644 --- a/cmake/abseil-cpp.cmake +++ b/cmake/abseil-cpp.cmake @@ -37,7 +37,7 @@ elseif(protobuf_ABSL_PROVIDER STREQUAL "package") @@ -18,8 +18,5 @@ index e7bfb2b..32310f5 100644 -if (BUILD_SHARED_LIBS AND MSVC) +if (MSVC) # On MSVC Abseil is bundled into a single DLL. - set(protobuf_ABSL_USED_TARGETS abseil_dll) - --- -2.39.2 (Apple Git-143) - + # This condition is necessary as of abseil 20230125.3 when abseil is consumed via add_subdirectory, + # the abseil_dll target is named abseil_dll, while if abseil is consumed via find_package, the target diff --git a/recipe/patches/0005-be-more-lenient-with-abseil-version.patch b/recipe/patches/0005-be-more-lenient-with-abseil-version.patch index 559337b..1849555 100644 --- a/recipe/patches/0005-be-more-lenient-with-abseil-version.patch +++ b/recipe/patches/0005-be-more-lenient-with-abseil-version.patch @@ -1,7 +1,7 @@ -From 58bde6be0e9e355ca5b1219ea1d7313cda8a27d1 Mon Sep 17 00:00:00 2001 +From 905908b06fdc6a30c395d4648af67cf5cb5afe67 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 18 May 2023 09:02:21 +1100 -Subject: [PATCH 5/9] be more lenient with abseil version +Subject: [PATCH 5/6] be more lenient with abseil version we carry the patch for the only pertinent difference between .2 & .3 anyway @@ -10,7 +10,7 @@ between .2 & .3 anyway 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc -index 18d7ccf..90f58f6 100644 +index 644bb87e0..94755d9fa 100644 --- a/src/google/protobuf/port_def.inc +++ b/src/google/protobuf/port_def.inc @@ -216,7 +216,7 @@ static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and @@ -22,6 +22,3 @@ index 18d7ccf..90f58f6 100644 "Protobuf only supports Abseil version 20230125.3 and newer."); // Future versions of protobuf will include breaking changes to some APIs. --- -2.39.2 (Apple Git-143) - diff --git a/recipe/patches/0009-Export-functions-in-google-compiler-java-names.patch b/recipe/patches/0006-Export-functions-in-google-compiler-java-names.patch similarity index 94% rename from recipe/patches/0009-Export-functions-in-google-compiler-java-names.patch rename to recipe/patches/0006-Export-functions-in-google-compiler-java-names.patch index 3d23bc4..08a7512 100644 --- a/recipe/patches/0009-Export-functions-in-google-compiler-java-names.patch +++ b/recipe/patches/0006-Export-functions-in-google-compiler-java-names.patch @@ -1,14 +1,14 @@ -From e22594d73a25056925cd56a02ea7fd447b86cb75 Mon Sep 17 00:00:00 2001 +From d84ed5304325e4321a3c86c255a87868f72eb371 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 14 Jun 2023 11:36:55 +0200 -Subject: [PATCH 9/9] Export functions in google::compiler::java::names +Subject: [PATCH 6/6] Export functions in google::compiler::java::names --- src/google/protobuf/compiler/java/names.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/google/protobuf/compiler/java/names.h b/src/google/protobuf/compiler/java/names.h -index ddfc8e6..f26004c 100644 +index ddfc8e65d..f26004cd7 100644 --- a/src/google/protobuf/compiler/java/names.h +++ b/src/google/protobuf/compiler/java/names.h @@ -63,67 +63,67 @@ namespace java { @@ -89,6 +89,3 @@ index ddfc8e6..f26004c 100644 } // namespace java --- -2.39.2 (Apple Git-143) - diff --git a/recipe/patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch b/recipe/patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch deleted file mode 100644 index 016fe98..0000000 --- a/recipe/patches/0006-feat-workaround-for-DOMAIN-macro-12903.patch +++ /dev/null @@ -1,244 +0,0 @@ -From 622565b7d67dcec1fd4c7da71f60d092ec320bd3 Mon Sep 17 00:00:00 2001 -From: Carlos O'Ryan -Date: Fri, 26 May 2023 10:10:47 -0700 -Subject: [PATCH 6/9] feat: workaround for `DOMAIN` macro (#12903) - -This is a macro on some (older) versions of GCC, and macOS, and Windows. Sigh. I moved the `#undef` block to a common section. I also took the opportunity to add a regression test for all these macros that need to be `#undef`'d. - -Part of the work for googleapis/google-cloud-cpp#8125 - -Closes #12903 - -PiperOrigin-RevId: 535649278 ---- - src/file_lists.cmake | 1 + - src/google/protobuf/BUILD.bazel | 2 + - src/google/protobuf/port_def.inc | 22 +++-- - src/google/protobuf/port_undef.inc | 12 ++- - .../protobuf/unittest_proto3_bad_macros.proto | 98 +++++++++++++++++++ - 5 files changed, 123 insertions(+), 12 deletions(-) - create mode 100644 src/google/protobuf/unittest_proto3_bad_macros.proto - -diff --git a/src/file_lists.cmake b/src/file_lists.cmake -index da030df..8b48f6b 100644 ---- a/src/file_lists.cmake -+++ b/src/file_lists.cmake -@@ -666,6 +666,7 @@ set(protobuf_test_protos_files - ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3.proto - ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3_arena.proto - ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3_arena_lite.proto -+ ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3_bad_macros.proto - ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3_lite.proto - ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_proto3_optional.proto - ${protobuf_SOURCE_DIR}/src/google/protobuf/unittest_retention.proto -diff --git a/src/google/protobuf/BUILD.bazel b/src/google/protobuf/BUILD.bazel -index 77ed230..91827d9 100644 ---- a/src/google/protobuf/BUILD.bazel -+++ b/src/google/protobuf/BUILD.bazel -@@ -645,6 +645,7 @@ filegroup( - "unittest_proto3.proto", - "unittest_proto3_arena.proto", - "unittest_proto3_arena_lite.proto", -+ "unittest_proto3_bad_macros.proto", - "unittest_proto3_lite.proto", - "unittest_proto3_optional.proto", - "unittest_retention.proto", -@@ -702,6 +703,7 @@ proto_library( - "unittest_proto3.proto", - "unittest_proto3_arena.proto", - "unittest_proto3_arena_lite.proto", -+ "unittest_proto3_bad_macros.proto", - "unittest_proto3_lite.proto", - "unittest_proto3_optional.proto", - "unittest_retention.proto", -diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc -index 90f58f6..24278ab 100644 ---- a/src/google/protobuf/port_def.inc -+++ b/src/google/protobuf/port_def.inc -@@ -888,11 +888,18 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 2), - #undef PACKAGE - #endif - --// autoheader defines this in some circumstances --#ifdef PACKAGE --#define PROTOBUF_DID_UNDEF_PACKAGE --#pragma push_macro("PACKAGE") --#undef PACKAGE -+// a few common headers define this -+#ifdef PACKED -+#define PROTOBUF_DID_UNDEF_PACKED -+#pragma push_macro("PACKED") -+#undef PACKED -+#endif -+ -+// This is a macro on Windows, macOS, and some variants of GCC. -+#ifdef DOMAIN -+#define PROTOBUF_DID_UNDEF_DOMAIN -+#pragma push_macro("DOMAIN") -+#undef DOMAIN - #endif - - // linux is a legacy MACRO defined in most popular C++ standards. -@@ -909,8 +916,6 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 2), - #undef CREATE_NEW - #pragma push_macro("DELETE") - #undef DELETE --#pragma push_macro("DOMAIN") --#undef DOMAIN - #pragma push_macro("DOUBLE_CLICK") - #undef DOUBLE_CLICK - #pragma push_macro("ERROR") -@@ -968,9 +973,6 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 2), - #endif // _WIN32 - - #ifdef __APPLE__ --// Inconvenient macro names from usr/include/math.h in some macOS SDKs. --#pragma push_macro("DOMAIN") --#undef DOMAIN - // Inconvenient macro names from /usr/include/mach/boolean.h in some macOS SDKs. - #pragma push_macro("TRUE") - #undef TRUE -diff --git a/src/google/protobuf/port_undef.inc b/src/google/protobuf/port_undef.inc -index e9eae06..cee6f8b 100644 ---- a/src/google/protobuf/port_undef.inc -+++ b/src/google/protobuf/port_undef.inc -@@ -128,6 +128,16 @@ - #undef PROTOBUF_DID_UNDEF_PACKAGE - #endif - -+#ifdef PROTOBUF_DID_UNDEF_PACKED -+#pragma pop_macro("PACKED") -+#undef PROTOBUF_DID_UNDEF_PACKED -+#endif -+ -+#ifdef PROTOBUF_DID_UNDEF_DOMAIN -+#pragma pop_macro("DOMAIN") -+#undef PROTOBUF_DID_UNDEF_DOMAIN -+#endif -+ - #ifdef PROTOBUF_DID_UNDEF_LINUX - #pragma pop_macro("linux") - #endif -@@ -135,7 +145,6 @@ - #ifdef _WIN32 - #pragma pop_macro("CREATE_NEW") - #pragma pop_macro("DELETE") --#pragma pop_macro("DOMAIN") - #pragma pop_macro("DOUBLE_CLICK") - #pragma pop_macro("ERROR") - #pragma pop_macro("ERROR_BUSY") -@@ -166,7 +175,6 @@ - #endif - - #ifdef __APPLE__ --#pragma pop_macro("DOMAIN") - #pragma pop_macro("TRUE") - #pragma pop_macro("FALSE") - #pragma pop_macro("UID_MAX") -diff --git a/src/google/protobuf/unittest_proto3_bad_macros.proto b/src/google/protobuf/unittest_proto3_bad_macros.proto -new file mode 100644 -index 0000000..7d245b5 ---- /dev/null -+++ b/src/google/protobuf/unittest_proto3_bad_macros.proto -@@ -0,0 +1,98 @@ -+// Protocol Buffers - Google's data interchange format -+// Copyright 2023 Google Inc. All rights reserved. -+// https://developers.google.com/protocol-buffers/ -+// -+// 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. -+ -+syntax = "proto3"; -+ -+package protobuf_unittest; -+ -+option csharp_namespace = "ProtobufUnittest"; -+option java_multiple_files = true; -+option java_package = "com.google.protobuf.testing.proto"; -+ -+// `google/protobuf/port_def.inc` #undef's a number of inconvenient macros -+// defined in system headers under varying circumstances. The code generated -+// from this file will not compile if those `#undef` calls are accidentally -+// removed. -+ -+// This generates `GID_MAX`, which is a macro in some circumstances. -+enum GID { -+ GID_UNUSED = 0; -+} -+ -+// This generates `UID_MAX`, which is a mcro in some circumstances. -+enum UID { -+ UID_UNUSED = 0; -+} -+ -+// Just a container for bad macro names. Some of these do not follow the normal -+// naming conventions, this is intentional, we just want to trigger a build -+// failure if the macro is left defined. -+enum BadNames { -+ // autoheader defines this in some circumstances. -+ PACKAGE = 0; -+ // The comment says "a few common headers define this". -+ PACKED = 1; -+ // Defined in many Linux system headers. -+ linux = 2; -+ // This is often a macro in ``. -+ DOMAIN = 3; -+ // These are defined in both Windows and macOS headers. -+ TRUE = 4; -+ FALSE = 5; -+ // Sometimes defined in Windows system headers. -+ CREATE_NEW = 6; -+ DELETE = 7; -+ DOUBLE_CLICK = 8; -+ ERROR = 9; -+ ERROR_BUSY = 10; -+ ERROR_INSTALL_FAILED = 11; -+ ERROR_NOT_FOUND = 12; -+ GetClassName = 13; -+ GetCurrentTime = 14; -+ GetMessage = 15; -+ GetObject = 16; -+ IGNORE = 17; -+ IN = 18; -+ INPUT_KEYBOARD = 19; -+ NO_ERROR = 20; -+ OUT = 21; -+ OPTIONAL = 22; -+ NEAR = 23; -+ NO_DATA = 24; -+ REASON_UNKNOWN = 25; -+ SERVICE_DISABLED = 26; -+ SEVERITY_ERROR = 27; -+ STATUS_PENDING = 28; -+ STRICT = 29; -+ // Sometimed defined in macOS system headers. -+ TYPE_BOOL = 30; -+ // Defined in macOS, Windows, and Linux headers. -+ DEBUG = 31; -+} --- -2.39.2 (Apple Git-143) - diff --git a/recipe/patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch b/recipe/patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch deleted file mode 100644 index 9167e4e..0000000 --- a/recipe/patches/0007-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ff5ccc100ef05ee0feaee122cccf65e525c05d9a Mon Sep 17 00:00:00 2001 -From: Protobuf Team Bot -Date: Thu, 1 Jun 2023 09:14:48 -0700 -Subject: [PATCH 7/9] fix: missing `PROTOBUF_EXPORT` for public symbols - -PiperOrigin-RevId: 537042088 ---- - src/google/protobuf/io/strtod.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/google/protobuf/io/strtod.h b/src/google/protobuf/io/strtod.h -index 851c8e6..b368e4d 100644 ---- a/src/google/protobuf/io/strtod.h -+++ b/src/google/protobuf/io/strtod.h -@@ -60,12 +60,12 @@ PROTOBUF_EXPORT std::string SimpleFtoa(float value); - - // A locale-independent version of the standard strtod(), which always - // uses a dot as the decimal separator. --double NoLocaleStrtod(const char* str, char** endptr); -+PROTOBUF_EXPORT double NoLocaleStrtod(const char* str, char** endptr); - - // Casts a double value to a float value. If the value is outside of the - // representable range of float, it will be converted to positive or negative - // infinity. --float SafeDoubleToFloat(double value); -+PROTOBUF_EXPORT float SafeDoubleToFloat(double value); - - } // namespace io - } // namespace protobuf --- -2.39.2 (Apple Git-143) - diff --git a/recipe/patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch b/recipe/patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch deleted file mode 100644 index 2e578ad..0000000 --- a/recipe/patches/0008-CMake-Fix-abseil_dll-target-name-when-using-find_pac.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 49e7e77ff46e9811c989f32405b72dc83b020f32 Mon Sep 17 00:00:00 2001 -From: Silvio Traversaro -Date: Mon, 5 Jun 2023 15:01:50 -0700 -Subject: [PATCH 8/9] CMake: Fix abseil_dll target name when using - find_package(absl) (#12978) - -This additional if is necessary as of abseil 20230125.3 when abseil is consumed via add_subdirectory, -the abseil_dll target is named abseil_dll, while if abseil is consumed via find_package, the target is called `absl::abseil_dll` . - -Once https://github.com/abseil/abseil-cpp/pull/1466 is merged and released in the minimum version of abseil required by protobuf, it is possible to always link `absl::abseil_dll` and `absl::abseil_test_dll` and remove the if. - -You may wonder how linking worked at all before when `protobuf_ABSL_PROVIDER STREQUAL "package"`, as `abseil_dll` was not an imported target defined by `find_package(absl)`. The reason behind this is that if a name that is not an imported target is passed to `target_link_libraries`, it is just regarded as a C++ library name. So, in the end the `abseil_dll` library was correctly linked, simply all the transitive usage requirements defined by the `absl::abseil_dll` target were not propagated, that could lead to compilation errors if abseil was compiled with the `ABSL_PROPAGATE_CXX_STD` CMake option enabled. - -Closes #12978 - -COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/12978 from traversaro:patch-1 39dd074281161fa0c4be69035d33b41a50e048c2 -PiperOrigin-RevId: 537990391 ---- - cmake/abseil-cpp.cmake | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake -index 32310f5..b07e63f 100644 ---- a/cmake/abseil-cpp.cmake -+++ b/cmake/abseil-cpp.cmake -@@ -39,9 +39,19 @@ set(_protobuf_FIND_ABSL "if(NOT TARGET absl::strings)\n find_package(absl CONFI - - if (MSVC) - # On MSVC Abseil is bundled into a single DLL. -- set(protobuf_ABSL_USED_TARGETS abseil_dll) -- -- set(protobuf_ABSL_USED_TEST_TARGETS abseil_test_dll) -+ # This condition is necessary as of abseil 20230125.3 when abseil is consumed via add_subdirectory, -+ # the abseil_dll target is named abseil_dll, while if abseil is consumed via find_package, the target -+ # is called absl::abseil_dll -+ # Once https://github.com/abseil/abseil-cpp/pull/1466 is merged and released in the minimum version of -+ # abseil required by protobuf, it is possible to always link absl::abseil_dll and absl::abseil_test_dll -+ # and remove the if -+ if(protobuf_ABSL_PROVIDER STREQUAL "package") -+ set(protobuf_ABSL_USED_TARGETS absl::abseil_dll) -+ set(protobuf_ABSL_USED_TEST_TARGETS absl::abseil_test_dll) -+ else() -+ set(protobuf_ABSL_USED_TARGETS abseil_dll) -+ set(protobuf_ABSL_USED_TEST_TARGETS abseil_test_dll) -+ endif() - else() - set(protobuf_ABSL_USED_TARGETS - absl::absl_check --- -2.39.2 (Apple Git-143) - From a457dedbbce3b263177c417f2ee6bb71fbf15857 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 6 Jul 2023 22:04:31 +0000 Subject: [PATCH 118/182] updated v23.4 --- recipe/meta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0543195..a9ea6c0 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "23.3" %} +{% set version = "23.4" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 4e176116949be52b0408dfd24f8925d1eb674a781ae242a75296b17a1c721395 + sha256: a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971 patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch @@ -28,7 +28,7 @@ build: outputs: - name: libprotobuf - script: build-lib.sh # [unix] + script: build-lib.sh # [unix] script: build-lib.bat # [win] build: run_exports: @@ -95,7 +95,7 @@ outputs: - cmake --build . - name: libprotobuf-static - script: build-lib.sh # [unix] + script: build-lib.sh # [unix] script: build-lib.bat # [win] build: always_include_files: From 983236f59755a5535c128babad5ccf73a98ed8f0 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 9 Aug 2023 14:08:02 +1100 Subject: [PATCH 119/182] fix interaction with external gtest; drop abseil lenience --- recipe/meta.yaml | 6 ++--- .../0001-use-consistent-cmake-location.patch | 2 +- ...-set-static-lib-extension-on-windows.patch | 4 ++-- ...tion-of-system-provided-jsoncpp-1257.patch | 4 ++-- ...always-look-for-shared-abseil-builds.patch | 2 +- ...tions-in-google-compiler-java-names.patch} | 4 ++-- ...-be-more-lenient-with-abseil-version.patch | 24 ------------------- .../0006-do-not-install-vendored-gmock.patch | 24 +++++++++++++++++++ 8 files changed, 35 insertions(+), 35 deletions(-) rename recipe/patches/{0006-Export-functions-in-google-compiler-java-names.patch => 0005-Export-functions-in-google-compiler-java-names.patch} (96%) delete mode 100644 recipe/patches/0005-be-more-lenient-with-abseil-version.patch create mode 100644 recipe/patches/0006-do-not-install-vendored-gmock.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a9ea6c0..4244316 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -19,12 +19,12 @@ source: # backport https://github.com/protocolbuffers/protobuf/pull/12577 - patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch - patches/0004-always-look-for-shared-abseil-builds.patch - - patches/0005-be-more-lenient-with-abseil-version.patch # grpc_cpp_java_plugin links against otherwise internal symbols - - patches/0006-Export-functions-in-google-compiler-java-names.patch + - patches/0005-Export-functions-in-google-compiler-java-names.patch + - patches/0006-do-not-install-vendored-gmock.patch build: - number: 0 + number: 1 outputs: - name: libprotobuf diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index f3e603d..38c0698 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,4 +1,4 @@ -From 1a0df0ca9e8d5320556ca15ed1685d578a98500c Mon Sep 17 00:00:00 2001 +From c15a3b5551d4ad414ef6840d63153fd5babd71a5 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 Subject: [PATCH 1/6] use consistent cmake location diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index b339525..c93a269 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,4 +1,4 @@ -From 8e995af87c7cc4ac02f573dc10364765b7b0adfb Mon Sep 17 00:00:00 2001 +From 7b2a54aa3e10a6c64dfcbbb0352c4cbd2003abf4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 Subject: [PATCH 2/6] set static lib extension on windows @@ -8,7 +8,7 @@ Subject: [PATCH 2/6] set static lib extension on windows 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index dc09f63db..d0015b799 100644 +index 909cfe39a..3104f6500 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -371,6 +371,12 @@ else () diff --git a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch index 2f71fa7..3fbac9a 100644 --- a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch +++ b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch @@ -1,4 +1,4 @@ -From e29e3dc895a1dcd60d0a955dbc63f848a0c14e66 Mon Sep 17 00:00:00 2001 +From e41c414ae97281f7a10738199be7fa3b4ef359a7 Mon Sep 17 00:00:00 2001 From: Mike Rochefort Date: Mon, 1 May 2023 09:34:17 -0700 Subject: [PATCH 3/6] Enable the selection of system provided jsoncpp (#12577) @@ -17,7 +17,7 @@ PiperOrigin-RevId: 528492610 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index d0015b799..ae0fd1c64 100644 +index 3104f6500..b8eccae10 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -332,6 +332,9 @@ endif (protobuf_UNICODE) diff --git a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch index 902da1d..c111c4b 100644 --- a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0004-always-look-for-shared-abseil-builds.patch @@ -1,4 +1,4 @@ -From 137cfa12dbc793c2358e8048dde9b35d4e77292d Mon Sep 17 00:00:00 2001 +From 52ee899847501a833926b2232dc0e19bad256003 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 Subject: [PATCH 4/6] always look for shared abseil builds diff --git a/recipe/patches/0006-Export-functions-in-google-compiler-java-names.patch b/recipe/patches/0005-Export-functions-in-google-compiler-java-names.patch similarity index 96% rename from recipe/patches/0006-Export-functions-in-google-compiler-java-names.patch rename to recipe/patches/0005-Export-functions-in-google-compiler-java-names.patch index 08a7512..fc1414a 100644 --- a/recipe/patches/0006-Export-functions-in-google-compiler-java-names.patch +++ b/recipe/patches/0005-Export-functions-in-google-compiler-java-names.patch @@ -1,7 +1,7 @@ -From d84ed5304325e4321a3c86c255a87868f72eb371 Mon Sep 17 00:00:00 2001 +From 3a047d8d43d088cf07911d87eca1aa7d4c9b69de Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 14 Jun 2023 11:36:55 +0200 -Subject: [PATCH 6/6] Export functions in google::compiler::java::names +Subject: [PATCH 5/6] Export functions in google::compiler::java::names --- src/google/protobuf/compiler/java/names.h | 20 ++++++++++---------- diff --git a/recipe/patches/0005-be-more-lenient-with-abseil-version.patch b/recipe/patches/0005-be-more-lenient-with-abseil-version.patch deleted file mode 100644 index 1849555..0000000 --- a/recipe/patches/0005-be-more-lenient-with-abseil-version.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 905908b06fdc6a30c395d4648af67cf5cb5afe67 Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Thu, 18 May 2023 09:02:21 +1100 -Subject: [PATCH 5/6] be more lenient with abseil version - -we carry the patch for the only pertinent difference -between .2 & .3 anyway ---- - src/google/protobuf/port_def.inc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc -index 644bb87e0..94755d9fa 100644 ---- a/src/google/protobuf/port_def.inc -+++ b/src/google/protobuf/port_def.inc -@@ -216,7 +216,7 @@ static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and - #define PROTOBUF_ABSL_MIN(x, y) 1 - #endif - --static_assert(PROTOBUF_ABSL_MIN(20230125, 3), -+static_assert(PROTOBUF_ABSL_MIN(20230125, 2), - "Protobuf only supports Abseil version 20230125.3 and newer."); - - // Future versions of protobuf will include breaking changes to some APIs. diff --git a/recipe/patches/0006-do-not-install-vendored-gmock.patch b/recipe/patches/0006-do-not-install-vendored-gmock.patch new file mode 100644 index 0000000..ffb8446 --- /dev/null +++ b/recipe/patches/0006-do-not-install-vendored-gmock.patch @@ -0,0 +1,24 @@ +From b075b8e59c2c9ec51a3937c53545b6e987b44504 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Wed, 9 Aug 2023 14:06:35 +1100 +Subject: [PATCH 6/6] do not install vendored gmock + +--- + cmake/install.cmake | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/cmake/install.cmake b/cmake/install.cmake +index 24d7a3ec9..687c05289 100644 +--- a/cmake/install.cmake ++++ b/cmake/install.cmake +@@ -124,10 +124,3 @@ if(protobuf_INSTALL_EXAMPLES) + DESTINATION "${CMAKE_INSTALL_EXAMPLEDIR}" + COMPONENT protobuf-examples) + endif() +- +-if (protobuf_INSTALL_TESTS) +- install(TARGETS gmock EXPORT protobuf-targets +- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +-endif() From 9ae5a5f0ad1e5e41bfcc0cd6171a31986c9c16b7 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 9 Aug 2023 14:09:09 +1100 Subject: [PATCH 120/182] MNT: Re-rendered with conda-build 3.26.0, conda-smithy 3.24.1, and conda-forge-pinning 2023.08.08.11.45.19 --- .azure-pipelines/azure-pipelines-linux.yml | 5 ----- .azure-pipelines/azure-pipelines-win.yml | 5 ++++- .scripts/run_osx_build.sh | 10 +++++----- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 3b9dee7..fcb0974 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -23,11 +23,6 @@ jobs: timeoutInMinutes: 360 steps: - - script: | - rm -rf /opt/ghc - df -h - displayName: Manage disk space - # configure qemu binfmt-misc running. This allows us to run docker containers # embedded qemu-static - script: | diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 8a96a72..d66c7d1 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -60,7 +60,10 @@ jobs: if EXIST LICENSE.txt ( copy LICENSE.txt "recipe\\recipe-scripts-license.txt" ) - conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables + if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + ) + conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% displayName: Build recipe env: PYTHONUNBUFFERED: 1 diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index bb00584..3969edf 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -55,11 +55,6 @@ source run_conda_forge_build_setup echo -e "\n\nMaking the build clobber file" make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml -if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" -fi - - if [[ -f LICENSE.txt ]]; then cp LICENSE.txt "recipe/recipe-scripts-license.txt" fi @@ -75,6 +70,11 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else + + if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" + fi + conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml From 9c25f44affe1a5be2f1a52ae89e89f7c9ec6684c Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 9 Aug 2023 14:49:29 +1100 Subject: [PATCH 121/182] remove vendored gtest --- recipe/build-lib.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipe/build-lib.sh b/recipe/build-lib.sh index 1dd8895..63b1a32 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -20,6 +20,10 @@ fi export CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" +# delete vendored gtest to force protobuf_USE_EXTERNAL_GTEST to work; +# this gets run twice (second time for libprotobuf-static), so don't fail +rm -rf ./third_party/googletest | true + if [[ "$PKG_NAME" == "libprotobuf-static" ]]; then export CF_SHARED=OFF mkdir build-static From 10663e872ff1da8b2457c5083eec3e0a534cc6e4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 11 Aug 2023 14:42:29 +1100 Subject: [PATCH 122/182] rebuild for new abseil --- recipe/conda_build_config.yaml | 3 +++ recipe/meta.yaml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 recipe/conda_build_config.yaml diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml new file mode 100644 index 0000000..ca2d4cd --- /dev/null +++ b/recipe/conda_build_config.yaml @@ -0,0 +1,3 @@ +# manual pin because we're linking migrations +libabseil: + - 20230802 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 4244316..545526e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -24,7 +24,7 @@ source: - patches/0006-do-not-install-vendored-gmock.patch build: - number: 1 + number: 2 outputs: - name: libprotobuf From b880a2358281ad9ae2397f694ade60a6254a45c5 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 11 Aug 2023 14:43:29 +1100 Subject: [PATCH 123/182] MNT: Re-rendered with conda-build 3.26.0, conda-smithy 3.24.1, and conda-forge-pinning 2023.08.10.19.07.29 --- .ci_support/linux_64_.yaml | 2 +- .ci_support/linux_aarch64_.yaml | 2 +- .ci_support/linux_ppc64le_.yaml | 2 +- .ci_support/osx_64_.yaml | 2 +- .ci_support/osx_arm64_.yaml | 2 +- .ci_support/win_64_.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 95d0fa4..514aed0 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -17,7 +17,7 @@ docker_image: jsoncpp: - 1.9.5 libabseil: -- '20230125' +- '20230802' target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 3cabc39..a0e488f 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -21,7 +21,7 @@ docker_image: jsoncpp: - 1.9.5 libabseil: -- '20230125' +- '20230802' target_platform: - linux-aarch64 zip_keys: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 1b29a43..73edfe3 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -17,7 +17,7 @@ docker_image: jsoncpp: - 1.9.5 libabseil: -- '20230125' +- '20230802' target_platform: - linux-ppc64le zip_keys: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 6591b47..f366ccd 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -15,7 +15,7 @@ cxx_compiler_version: jsoncpp: - 1.9.5 libabseil: -- '20230125' +- '20230802' macos_machine: - x86_64-apple-darwin13.4.0 target_platform: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index ad6b4c4..73dce28 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -15,7 +15,7 @@ cxx_compiler_version: jsoncpp: - 1.9.5 libabseil: -- '20230125' +- '20230802' macos_machine: - arm64-apple-darwin20.0.0 target_platform: diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index 4d1970f..8b9bf25 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -9,7 +9,7 @@ cxx_compiler: jsoncpp: - 1.9.5 libabseil: -- '20230125' +- '20230802' target_platform: - win-64 zlib: From 1527b537cb6335e56edda5aa35dc22ca17d18414 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 11 Aug 2023 15:35:20 +1100 Subject: [PATCH 124/182] require MacOS 10.13 --- .ci_support/osx_64_.yaml | 4 +++- recipe/conda_build_config.yaml | 6 ++++++ recipe/meta.yaml | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index f366ccd..2b799b9 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -1,5 +1,7 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.9' +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' c_compiler: - clang c_compiler_version: diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index ca2d4cd..41ead36 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -1,3 +1,9 @@ +# abseil 20230802 now only support MacOS >=10.13, reflect this here +MACOSX_SDK_VERSION: # [osx and x86_64] + - "10.13" # [osx and x86_64] +MACOSX_DEPLOYMENT_TARGET: # [osx and x86_64] + - "10.13" # [osx and x86_64] + # manual pin because we're linking migrations libabseil: - 20230802 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 545526e..b3e4616 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -53,6 +53,7 @@ outputs: - zlib run: - ucrt # [win] + - __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64] test: requires: # cmake needs compiler to be able to run package detection, see From 53a636d18ec6602eef85c5a0174cbbe7941ecb27 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 22 Aug 2023 09:48:23 +0200 Subject: [PATCH 125/182] Add libprotobuf-python-headers output --- recipe/build-pyheaders.bat | 5 +++++ recipe/build-pyheaders.sh | 5 +++++ recipe/meta.yaml | 17 ++++++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 recipe/build-pyheaders.bat create mode 100644 recipe/build-pyheaders.sh diff --git a/recipe/build-pyheaders.bat b/recipe/build-pyheaders.bat new file mode 100644 index 0000000..59cd2a1 --- /dev/null +++ b/recipe/build-pyheaders.bat @@ -0,0 +1,5 @@ +@echo on + +robocopy python/ %LIBRARY_PREFIX%\include *.zip /E +if %ERRORLEVEL% neq 0 exit 1 + diff --git a/recipe/build-pyheaders.sh b/recipe/build-pyheaders.sh new file mode 100644 index 0000000..65b6710 --- /dev/null +++ b/recipe/build-pyheaders.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -exuo pipefail + +rsync -a --prune-empty-dirs --include '*/' --include '*.h' --exclude '*' python/ $PREFIX/include/ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b3e4616..05c33ef 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -24,7 +24,7 @@ source: - patches/0006-do-not-install-vendored-gmock.patch build: - number: 2 + number: 3 outputs: - name: libprotobuf @@ -143,6 +143,21 @@ outputs: - cmake -GNinja %CMAKE_ARGS% . # [win] - cmake --build . + - name: libprotobuf-python-headers + script: build-pyheaders.sh # [unix] + script: build-pyheaders.bat # [win] + requirements: + build: + - rsync + host: + - {{ pin_subpackage('libprotobuf', exact=True) }} + test: + commands: + - test -f $PREFIX/include/google/protobuf/proto_api.h # [unix] + - test -f $PREFIX/include/google/protobuf/pyext/message.h # [unix] + - if not exist %LIBRARY_PREFIX\include\google\protobuf\proto_api.h # [win] + - if not exist %LIBRARY_PREFIX\include\google\protobuf\pyext\message.h # [win] + about: home: https://developers.google.com/protocol-buffers/ license: BSD-3-Clause From 27525ee7e50a2a8024ae226a0ca5fdbcccf63e92 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 22 Aug 2023 09:49:09 +0200 Subject: [PATCH 126/182] MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.24.1, and conda-forge-pinning 2023.08.22.07.33.33 --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 26c1cf9..b9abea0 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,7 @@ Current release info | Name | Downloads | Version | Platforms | | --- | --- | --- | --- | | [![Conda Recipe](https://img.shields.io/badge/recipe-libprotobuf-green.svg)](https://anaconda.org/conda-forge/libprotobuf) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libprotobuf.svg)](https://anaconda.org/conda-forge/libprotobuf) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libprotobuf.svg)](https://anaconda.org/conda-forge/libprotobuf) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libprotobuf.svg)](https://anaconda.org/conda-forge/libprotobuf) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libprotobuf--python--headers-green.svg)](https://anaconda.org/conda-forge/libprotobuf-python-headers) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libprotobuf-python-headers.svg)](https://anaconda.org/conda-forge/libprotobuf-python-headers) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libprotobuf-python-headers.svg)](https://anaconda.org/conda-forge/libprotobuf-python-headers) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libprotobuf-python-headers.svg)](https://anaconda.org/conda-forge/libprotobuf-python-headers) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libprotobuf--static-green.svg)](https://anaconda.org/conda-forge/libprotobuf-static) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libprotobuf-static.svg)](https://anaconda.org/conda-forge/libprotobuf-static) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libprotobuf-static.svg)](https://anaconda.org/conda-forge/libprotobuf-static) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libprotobuf-static.svg)](https://anaconda.org/conda-forge/libprotobuf-static) | Installing libprotobuf @@ -103,16 +104,16 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `libprotobuf, libprotobuf-static` can be installed with `conda`: +Once the `conda-forge` channel has been enabled, `libprotobuf, libprotobuf-python-headers, libprotobuf-static` can be installed with `conda`: ``` -conda install libprotobuf libprotobuf-static +conda install libprotobuf libprotobuf-python-headers libprotobuf-static ``` or with `mamba`: ``` -mamba install libprotobuf libprotobuf-static +mamba install libprotobuf libprotobuf-python-headers libprotobuf-static ``` It is possible to list all of the versions of `libprotobuf` available on your platform with `conda`: From aeb694ca607d2152b6e18b3060ddeccf0a580c3d Mon Sep 17 00:00:00 2001 From: h-vetinari Date: Tue, 22 Aug 2023 11:32:30 +0200 Subject: [PATCH 127/182] Restrict rsync to unix --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 05c33ef..f4588d4 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -148,7 +148,7 @@ outputs: script: build-pyheaders.bat # [win] requirements: build: - - rsync + - rsync # [unix] host: - {{ pin_subpackage('libprotobuf', exact=True) }} test: From f19748976f1583339021d0f7f734c16158324e91 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 22 Aug 2023 16:21:35 +0200 Subject: [PATCH 128/182] Fix robocopy call --- recipe/build-pyheaders.bat | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/build-pyheaders.bat b/recipe/build-pyheaders.bat index 59cd2a1..70a44cc 100644 --- a/recipe/build-pyheaders.bat +++ b/recipe/build-pyheaders.bat @@ -1,5 +1,5 @@ @echo on -robocopy python/ %LIBRARY_PREFIX%\include *.zip /E -if %ERRORLEVEL% neq 0 exit 1 +robocopy python/ %LIBRARY_PREFIX%\include *.h /E +if %ERRORLEVEL% GEQ 8 exit 1 From 1c756706c6324521ca390cbf632fac15a8f6df4a Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 22 Aug 2023 17:16:36 +0200 Subject: [PATCH 129/182] Fix %LIBRARY_PREFIX% --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f4588d4..699a96f 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -155,8 +155,8 @@ outputs: commands: - test -f $PREFIX/include/google/protobuf/proto_api.h # [unix] - test -f $PREFIX/include/google/protobuf/pyext/message.h # [unix] - - if not exist %LIBRARY_PREFIX\include\google\protobuf\proto_api.h # [win] - - if not exist %LIBRARY_PREFIX\include\google\protobuf\pyext\message.h # [win] + - if not exist %LIBRARY_PREFIX%\include\google\protobuf\proto_api.h # [win] + - if not exist %LIBRARY_PREFIX%\include\google\protobuf\pyext\message.h # [win] about: home: https://developers.google.com/protocol-buffers/ From 4d137d1ae088b49437d108630b43c4710dd48155 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 22 Aug 2023 18:38:09 +0200 Subject: [PATCH 130/182] Debug --- .azure-pipelines/azure-pipelines-linux.yml | 48 ---------- .azure-pipelines/azure-pipelines-osx.yml | 36 ------- .ci_support/linux_64_.yaml | 27 ------ .ci_support/linux_aarch64_.yaml | 31 ------ .ci_support/linux_ppc64le_.yaml | 27 ------ .ci_support/osx_64_.yaml | 29 ------ .ci_support/osx_arm64_.yaml | 27 ------ .scripts/build_steps.sh | 90 ------------------ .scripts/run_docker_build.sh | 105 --------------------- .scripts/run_osx_build.sh | 94 ------------------ README.md | 35 ------- azure-pipelines.yml | 4 +- recipe/build-lib.bat | 1 + recipe/meta.yaml | 5 +- 14 files changed, 5 insertions(+), 554 deletions(-) delete mode 100755 .azure-pipelines/azure-pipelines-linux.yml delete mode 100755 .azure-pipelines/azure-pipelines-osx.yml delete mode 100644 .ci_support/linux_64_.yaml delete mode 100644 .ci_support/linux_aarch64_.yaml delete mode 100644 .ci_support/linux_ppc64le_.yaml delete mode 100644 .ci_support/osx_64_.yaml delete mode 100644 .ci_support/osx_arm64_.yaml delete mode 100755 .scripts/build_steps.sh delete mode 100755 .scripts/run_docker_build.sh delete mode 100755 .scripts/run_osx_build.sh diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml deleted file mode 100755 index fcb0974..0000000 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ /dev/null @@ -1,48 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- - -jobs: -- job: linux - pool: - vmImage: ubuntu-latest - strategy: - matrix: - linux_64_: - CONFIG: linux_64_ - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_aarch64_: - CONFIG: linux_aarch64_ - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_ppc64le_: - CONFIG: linux_ppc64le_ - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - timeoutInMinutes: 360 - - steps: - # configure qemu binfmt-misc running. This allows us to run docker containers - # embedded qemu-static - - script: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes - ls /proc/sys/fs/binfmt_misc/ - condition: not(startsWith(variables['CONFIG'], 'linux_64')) - displayName: Configure binfmt_misc - - - script: | - export CI=azure - export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME - export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) - if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then - export IS_PR_BUILD="True" - else - export IS_PR_BUILD="False" - fi - .scripts/run_docker_build.sh - displayName: Run docker build - env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) - FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) - STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml deleted file mode 100755 index 8032e96..0000000 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ /dev/null @@ -1,36 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- - -jobs: -- job: osx - pool: - vmImage: macOS-11 - strategy: - matrix: - osx_64_: - CONFIG: osx_64_ - UPLOAD_PACKAGES: 'True' - osx_arm64_: - CONFIG: osx_arm64_ - UPLOAD_PACKAGES: 'True' - timeoutInMinutes: 360 - - steps: - # TODO: Fast finish on azure pipelines? - - script: | - export CI=azure - export OSX_FORCE_SDK_DOWNLOAD="1" - export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME - export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) - if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then - export IS_PR_BUILD="True" - else - export IS_PR_BUILD="False" - fi - ./.scripts/run_osx_build.sh - displayName: Run OSX build - env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) - FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) - STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml deleted file mode 100644 index 514aed0..0000000 --- a/.ci_support/linux_64_.yaml +++ /dev/null @@ -1,27 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_name: -- cos6 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -jsoncpp: -- 1.9.5 -libabseil: -- '20230802' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml deleted file mode 100644 index a0e488f..0000000 --- a/.ci_support/linux_aarch64_.yaml +++ /dev/null @@ -1,31 +0,0 @@ -BUILD: -- aarch64-conda_cos7-linux-gnu -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_arch: -- aarch64 -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -jsoncpp: -- 1.9.5 -libabseil: -- '20230802' -target_platform: -- linux-aarch64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml deleted file mode 100644 index 73edfe3..0000000 --- a/.ci_support/linux_ppc64le_.yaml +++ /dev/null @@ -1,27 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '12' -cdt_name: -- cos7 -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- gxx -cxx_compiler_version: -- '12' -docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 -jsoncpp: -- 1.9.5 -libabseil: -- '20230802' -target_platform: -- linux-ppc64le -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml deleted file mode 100644 index 2b799b9..0000000 --- a/.ci_support/osx_64_.yaml +++ /dev/null @@ -1,29 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.13' -MACOSX_SDK_VERSION: -- '10.13' -c_compiler: -- clang -c_compiler_version: -- '15' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '15' -jsoncpp: -- 1.9.5 -libabseil: -- '20230802' -macos_machine: -- x86_64-apple-darwin13.4.0 -target_platform: -- osx-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml deleted file mode 100644 index 73dce28..0000000 --- a/.ci_support/osx_arm64_.yaml +++ /dev/null @@ -1,27 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '15' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '15' -jsoncpp: -- 1.9.5 -libabseil: -- '20230802' -macos_machine: -- arm64-apple-darwin20.0.0 -target_platform: -- osx-arm64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -zlib: -- '1.2' diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh deleted file mode 100755 index a6b09f6..0000000 --- a/.scripts/build_steps.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env bash - -# PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here -# will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent -# changes to this script, consider a proposal to conda-smithy so that other feedstocks can also -# benefit from the improvement. - -# -*- mode: jinja-shell -*- - -set -xeuo pipefail -export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" -source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh - - -( endgroup "Start Docker" ) 2> /dev/null - -( startgroup "Configuring conda" ) 2> /dev/null - -export PYTHONUNBUFFERED=1 -export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" -export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" -export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" - -cat >~/.condarc < /dev/null - -if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then - cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" -fi - -if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then - if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" - fi - conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" - - # Drop into an interactive shell - /bin/bash -else - conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" - ( startgroup "Validating outputs" ) 2> /dev/null - - validate_recipe_outputs "${FEEDSTOCK_NAME}" - - ( endgroup "Validating outputs" ) 2> /dev/null - - ( startgroup "Uploading packages" ) 2> /dev/null - - if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then - upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" - fi - - ( endgroup "Uploading packages" ) 2> /dev/null -fi - -( startgroup "Final checks" ) 2> /dev/null - -touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh deleted file mode 100755 index 9236239..0000000 --- a/.scripts/run_docker_build.sh +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env bash - -# PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here -# will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent -# changes to this script, consider a proposal to conda-smithy so that other feedstocks can also -# benefit from the improvement. - -source .scripts/logging_utils.sh - -( startgroup "Configure Docker" ) 2> /dev/null - -set -xeo pipefail - -THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" -PROVIDER_DIR="$(basename $THISDIR)" - -FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" -RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" - -if [ -z ${FEEDSTOCK_NAME} ]; then - export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) -fi - -docker info - -# In order for the conda-build process in the container to write to the mounted -# volumes, we need to run with the same id as the host machine, which is -# normally the owner of the mounted volumes, or at least has write permission -export HOST_USER_ID=$(id -u) -# Check if docker-machine is being used (normally on OSX) and get the uid from -# the VM -if hash docker-machine 2> /dev/null && docker-machine active > /dev/null; then - export HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u) -fi - -ARTIFACTS="$FEEDSTOCK_ROOT/build_artifacts" - -if [ -z "$CONFIG" ]; then - set +x - FILES=`ls .ci_support/linux_*` - CONFIGS="" - for file in $FILES; do - CONFIGS="${CONFIGS}'${file:12:-5}' or "; - done - echo "Need to set CONFIG env variable. Value can be one of ${CONFIGS:0:-4}" - exit 1 -fi - -if [ -z "${DOCKER_IMAGE}" ]; then - SHYAML_INSTALLED="$(shyaml -h || echo NO)" - if [ "${SHYAML_INSTALLED}" == "NO" ]; then - echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Trying to parse with coreutils" - DOCKER_IMAGE=$(cat .ci_support/${CONFIG}.yaml | grep '^docker_image:$' -A 1 | tail -n 1 | cut -b 3-) - if [ "${DOCKER_IMAGE}" = "" ]; then - echo "No docker_image entry found in ${CONFIG}. Falling back to quay.io/condaforge/linux-anvil-comp7" - DOCKER_IMAGE="quay.io/condaforge/linux-anvil-comp7" - fi - else - DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 quay.io/condaforge/linux-anvil-comp7 )" - fi -fi - -mkdir -p "$ARTIFACTS" -DONE_CANARY="$ARTIFACTS/conda-forge-build-done-${CONFIG}" -rm -f "$DONE_CANARY" - -# Allow people to specify extra default arguments to `docker run` (e.g. `--rm`) -DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" -if [ -z "${CI}" ]; then - DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" -fi - -( endgroup "Configure Docker" ) 2> /dev/null - -( startgroup "Start Docker" ) 2> /dev/null - -export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" -export IS_PR_BUILD="${IS_PR_BUILD:-False}" -docker pull "${DOCKER_IMAGE}" -docker run ${DOCKER_RUN_ARGS} \ - -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ - -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ - -e CONFIG \ - -e HOST_USER_ID \ - -e UPLOAD_PACKAGES \ - -e IS_PR_BUILD \ - -e GIT_BRANCH \ - -e UPLOAD_ON_BRANCH \ - -e CI \ - -e FEEDSTOCK_NAME \ - -e CPU_COUNT \ - -e BUILD_WITH_CONDA_DEBUG \ - -e BUILD_OUTPUT_ID \ - -e BINSTAR_TOKEN \ - -e FEEDSTOCK_TOKEN \ - -e STAGING_BINSTAR_TOKEN \ - "${DOCKER_IMAGE}" \ - bash \ - "/home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh" - -# verify that the end of the script was reached -test -f "$DONE_CANARY" - -# This closes the last group opened in `build_steps.sh` -( endgroup "Final checks" ) 2> /dev/null \ No newline at end of file diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh deleted file mode 100755 index 3969edf..0000000 --- a/.scripts/run_osx_build.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env bash - -# -*- mode: jinja-shell -*- - -source .scripts/logging_utils.sh - -set -xe - -MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3} - -( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null - -MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" -MINIFORGE_FILE="Mambaforge-MacOSX-$(uname -m).sh" -curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" -rm -rf ${MINIFORGE_HOME} -bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} - -( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null - -( startgroup "Configuring conda" ) 2> /dev/null - -source ${MINIFORGE_HOME}/etc/profile.d/conda.sh -conda activate base - -mamba install --update-specs --quiet --yes --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 -mamba update --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 - - - -echo -e "\n\nSetting up the condarc and mangling the compiler." -setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml - -if [[ "${CI:-}" != "" ]]; then - mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml -fi - -if [[ "${CI:-}" != "" ]]; then - echo -e "\n\nMangling homebrew in the CI to avoid conflicts." - /usr/bin/sudo mangle_homebrew - /usr/bin/sudo -k -else - echo -e "\n\nNot mangling homebrew as we are not running in CI" -fi - -echo -e "\n\nRunning the build setup script." -source run_conda_forge_build_setup - - - -( endgroup "Configuring conda" ) 2> /dev/null - -echo -e "\n\nMaking the build clobber file" -make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml - -if [[ -f LICENSE.txt ]]; then - cp LICENSE.txt "recipe/recipe-scripts-license.txt" -fi - -if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then - if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" - fi - conda debug ./recipe -m ./.ci_support/${CONFIG}.yaml \ - ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml - - # Drop into an interactive shell - /bin/bash -else - - if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" - fi - - conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ - --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml - ( startgroup "Validating outputs" ) 2> /dev/null - - validate_recipe_outputs "${FEEDSTOCK_NAME}" - - ( endgroup "Validating outputs" ) 2> /dev/null - - ( startgroup "Uploading packages" ) 2> /dev/null - - if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then - upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml - fi - - ( endgroup "Uploading packages" ) 2> /dev/null -fi \ No newline at end of file diff --git a/README.md b/README.md index b9abea0..975a5cb 100644 --- a/README.md +++ b/README.md @@ -36,41 +36,6 @@ Current build status
Azurelinux_64 - variant + variant
linux_aarch64 - variant + variant
linux_ppc64le - variant + variant
osx_64 - variant + variant
osx_arm64 - variant + variant
win_64 - variant + variant
- - - - - - - - - - - - - - -
VariantStatus
linux_64 - - variant - -
linux_aarch64 - - variant - -
linux_ppc64le - - variant - -
osx_64 - - variant - -
osx_arm64 - - variant - -
win_64 diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6b346f5..93cf692 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -3,6 +3,4 @@ # -*- mode: yaml -*- jobs: - - template: ./.azure-pipelines/azure-pipelines-linux.yml - - template: ./.azure-pipelines/azure-pipelines-win.yml - - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file + - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index 7636d3a..6869ebe 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -10,6 +10,7 @@ if "%PKG_NAME%"=="libprotobuf-static" ( cd build-shared ) +exit 0 :: Configure and install based on protobuf's instructions and other `bld.bat`s. cmake -G "Ninja" ^ -DCMAKE_BUILD_TYPE=Release ^ diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 699a96f..0a86ce9 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -25,6 +25,7 @@ source: build: number: 3 + skip: true # [not win] outputs: - name: libprotobuf @@ -155,8 +156,8 @@ outputs: commands: - test -f $PREFIX/include/google/protobuf/proto_api.h # [unix] - test -f $PREFIX/include/google/protobuf/pyext/message.h # [unix] - - if not exist %LIBRARY_PREFIX%\include\google\protobuf\proto_api.h # [win] - - if not exist %LIBRARY_PREFIX%\include\google\protobuf\pyext\message.h # [win] + - if not exist %LIBRARY_PREFIX%\include\google\protobuf\proto_api.h exit 1 # [win] + - if not exist %LIBRARY_PREFIX%\include\google\protobuf\pyext\message.h exit 1 # [win] about: home: https://developers.google.com/protocol-buffers/ From dd143929ef3ebe301f7cf5ebbd344387be7796a5 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 23 Aug 2023 12:34:25 +0200 Subject: [PATCH 131/182] Build protobuf again --- recipe/build-lib.bat | 1 - 1 file changed, 1 deletion(-) diff --git a/recipe/build-lib.bat b/recipe/build-lib.bat index 6869ebe..7636d3a 100644 --- a/recipe/build-lib.bat +++ b/recipe/build-lib.bat @@ -10,7 +10,6 @@ if "%PKG_NAME%"=="libprotobuf-static" ( cd build-shared ) -exit 0 :: Configure and install based on protobuf's instructions and other `bld.bat`s. cmake -G "Ninja" ^ -DCMAKE_BUILD_TYPE=Release ^ From 6413edd746256275998f5c3109b88afa898a9193 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 23 Aug 2023 12:34:58 +0200 Subject: [PATCH 132/182] Print include contents --- recipe/build-pyheaders.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/build-pyheaders.bat b/recipe/build-pyheaders.bat index 70a44cc..e77061c 100644 --- a/recipe/build-pyheaders.bat +++ b/recipe/build-pyheaders.bat @@ -3,3 +3,4 @@ robocopy python/ %LIBRARY_PREFIX%\include *.h /E if %ERRORLEVEL% GEQ 8 exit 1 +dir %LIBRARY_PREFIX%\include\google\protobuf From 3939b48418457de2c05ec53be0af461f8439a98f Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 23 Aug 2023 14:18:52 +0200 Subject: [PATCH 133/182] Revert "Print include contents" This reverts commit 6413edd746256275998f5c3109b88afa898a9193. --- recipe/build-pyheaders.bat | 1 - 1 file changed, 1 deletion(-) diff --git a/recipe/build-pyheaders.bat b/recipe/build-pyheaders.bat index e77061c..70a44cc 100644 --- a/recipe/build-pyheaders.bat +++ b/recipe/build-pyheaders.bat @@ -3,4 +3,3 @@ robocopy python/ %LIBRARY_PREFIX%\include *.h /E if %ERRORLEVEL% GEQ 8 exit 1 -dir %LIBRARY_PREFIX%\include\google\protobuf From f8cca567135b93318c30d4b59fdc6ddb1b055866 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 23 Aug 2023 14:27:48 +0200 Subject: [PATCH 134/182] Re-add other architectures --- .azure-pipelines/azure-pipelines-linux.yml | 48 ++++++++++ .azure-pipelines/azure-pipelines-osx.yml | 36 +++++++ .ci_support/linux_64_.yaml | 27 ++++++ .ci_support/linux_aarch64_.yaml | 31 ++++++ .ci_support/linux_ppc64le_.yaml | 27 ++++++ .ci_support/osx_64_.yaml | 29 ++++++ .ci_support/osx_arm64_.yaml | 27 ++++++ .scripts/build_steps.sh | 90 ++++++++++++++++++ .scripts/run_docker_build.sh | 105 +++++++++++++++++++++ .scripts/run_osx_build.sh | 94 ++++++++++++++++++ README.md | 35 +++++++ azure-pipelines.yml | 4 +- recipe/meta.yaml | 1 - 13 files changed, 552 insertions(+), 2 deletions(-) create mode 100755 .azure-pipelines/azure-pipelines-linux.yml create mode 100755 .azure-pipelines/azure-pipelines-osx.yml create mode 100644 .ci_support/linux_64_.yaml create mode 100644 .ci_support/linux_aarch64_.yaml create mode 100644 .ci_support/linux_ppc64le_.yaml create mode 100644 .ci_support/osx_64_.yaml create mode 100644 .ci_support/osx_arm64_.yaml create mode 100755 .scripts/build_steps.sh create mode 100755 .scripts/run_docker_build.sh create mode 100755 .scripts/run_osx_build.sh diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml new file mode 100755 index 0000000..fcb0974 --- /dev/null +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -0,0 +1,48 @@ +# This file was generated automatically from conda-smithy. To update this configuration, +# update the conda-forge.yml and/or the recipe/meta.yaml. +# -*- mode: yaml -*- + +jobs: +- job: linux + pool: + vmImage: ubuntu-latest + strategy: + matrix: + linux_64_: + CONFIG: linux_64_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_aarch64_: + CONFIG: linux_aarch64_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_: + CONFIG: linux_ppc64le_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + timeoutInMinutes: 360 + + steps: + # configure qemu binfmt-misc running. This allows us to run docker containers + # embedded qemu-static + - script: | + docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes + ls /proc/sys/fs/binfmt_misc/ + condition: not(startsWith(variables['CONFIG'], 'linux_64')) + displayName: Configure binfmt_misc + + - script: | + export CI=azure + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then + export IS_PR_BUILD="True" + else + export IS_PR_BUILD="False" + fi + .scripts/run_docker_build.sh + displayName: Run docker build + env: + BINSTAR_TOKEN: $(BINSTAR_TOKEN) + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml new file mode 100755 index 0000000..8032e96 --- /dev/null +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -0,0 +1,36 @@ +# This file was generated automatically from conda-smithy. To update this configuration, +# update the conda-forge.yml and/or the recipe/meta.yaml. +# -*- mode: yaml -*- + +jobs: +- job: osx + pool: + vmImage: macOS-11 + strategy: + matrix: + osx_64_: + CONFIG: osx_64_ + UPLOAD_PACKAGES: 'True' + osx_arm64_: + CONFIG: osx_arm64_ + UPLOAD_PACKAGES: 'True' + timeoutInMinutes: 360 + + steps: + # TODO: Fast finish on azure pipelines? + - script: | + export CI=azure + export OSX_FORCE_SDK_DOWNLOAD="1" + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then + export IS_PR_BUILD="True" + else + export IS_PR_BUILD="False" + fi + ./.scripts/run_osx_build.sh + displayName: Run OSX build + env: + BINSTAR_TOKEN: $(BINSTAR_TOKEN) + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml new file mode 100644 index 0000000..514aed0 --- /dev/null +++ b/.ci_support/linux_64_.yaml @@ -0,0 +1,27 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_name: +- cos6 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +jsoncpp: +- 1.9.5 +libabseil: +- '20230802' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +zlib: +- '1.2' diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml new file mode 100644 index 0000000..a0e488f --- /dev/null +++ b/.ci_support/linux_aarch64_.yaml @@ -0,0 +1,31 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +jsoncpp: +- 1.9.5 +libabseil: +- '20230802' +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +zlib: +- '1.2' diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml new file mode 100644 index 0000000..73edfe3 --- /dev/null +++ b/.ci_support/linux_ppc64le_.yaml @@ -0,0 +1,27 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +jsoncpp: +- 1.9.5 +libabseil: +- '20230802' +target_platform: +- linux-ppc64le +zip_keys: +- - c_compiler_version + - cxx_compiler_version +zlib: +- '1.2' diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml new file mode 100644 index 0000000..2b799b9 --- /dev/null +++ b/.ci_support/osx_64_.yaml @@ -0,0 +1,29 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.13' +MACOSX_SDK_VERSION: +- '10.13' +c_compiler: +- clang +c_compiler_version: +- '15' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '15' +jsoncpp: +- 1.9.5 +libabseil: +- '20230802' +macos_machine: +- x86_64-apple-darwin13.4.0 +target_platform: +- osx-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +zlib: +- '1.2' diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml new file mode 100644 index 0000000..73dce28 --- /dev/null +++ b/.ci_support/osx_arm64_.yaml @@ -0,0 +1,27 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '15' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '15' +jsoncpp: +- 1.9.5 +libabseil: +- '20230802' +macos_machine: +- arm64-apple-darwin20.0.0 +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version +zlib: +- '1.2' diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh new file mode 100755 index 0000000..a6b09f6 --- /dev/null +++ b/.scripts/build_steps.sh @@ -0,0 +1,90 @@ +#!/usr/bin/env bash + +# PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here +# will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent +# changes to this script, consider a proposal to conda-smithy so that other feedstocks can also +# benefit from the improvement. + +# -*- mode: jinja-shell -*- + +set -xeuo pipefail +export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" +source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh + + +( endgroup "Start Docker" ) 2> /dev/null + +( startgroup "Configuring conda" ) 2> /dev/null + +export PYTHONUNBUFFERED=1 +export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" +export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" +export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" + +cat >~/.condarc < /dev/null + +if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then + cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" +fi + +if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then + if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" + fi + conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + + # Drop into an interactive shell + /bin/bash +else + conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + --suppress-variables ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + ( startgroup "Validating outputs" ) 2> /dev/null + + validate_recipe_outputs "${FEEDSTOCK_NAME}" + + ( endgroup "Validating outputs" ) 2> /dev/null + + ( startgroup "Uploading packages" ) 2> /dev/null + + if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + fi + + ( endgroup "Uploading packages" ) 2> /dev/null +fi + +( startgroup "Final checks" ) 2> /dev/null + +touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh new file mode 100755 index 0000000..9236239 --- /dev/null +++ b/.scripts/run_docker_build.sh @@ -0,0 +1,105 @@ +#!/usr/bin/env bash + +# PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here +# will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent +# changes to this script, consider a proposal to conda-smithy so that other feedstocks can also +# benefit from the improvement. + +source .scripts/logging_utils.sh + +( startgroup "Configure Docker" ) 2> /dev/null + +set -xeo pipefail + +THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" +PROVIDER_DIR="$(basename $THISDIR)" + +FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" +RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" + +if [ -z ${FEEDSTOCK_NAME} ]; then + export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) +fi + +docker info + +# In order for the conda-build process in the container to write to the mounted +# volumes, we need to run with the same id as the host machine, which is +# normally the owner of the mounted volumes, or at least has write permission +export HOST_USER_ID=$(id -u) +# Check if docker-machine is being used (normally on OSX) and get the uid from +# the VM +if hash docker-machine 2> /dev/null && docker-machine active > /dev/null; then + export HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u) +fi + +ARTIFACTS="$FEEDSTOCK_ROOT/build_artifacts" + +if [ -z "$CONFIG" ]; then + set +x + FILES=`ls .ci_support/linux_*` + CONFIGS="" + for file in $FILES; do + CONFIGS="${CONFIGS}'${file:12:-5}' or "; + done + echo "Need to set CONFIG env variable. Value can be one of ${CONFIGS:0:-4}" + exit 1 +fi + +if [ -z "${DOCKER_IMAGE}" ]; then + SHYAML_INSTALLED="$(shyaml -h || echo NO)" + if [ "${SHYAML_INSTALLED}" == "NO" ]; then + echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Trying to parse with coreutils" + DOCKER_IMAGE=$(cat .ci_support/${CONFIG}.yaml | grep '^docker_image:$' -A 1 | tail -n 1 | cut -b 3-) + if [ "${DOCKER_IMAGE}" = "" ]; then + echo "No docker_image entry found in ${CONFIG}. Falling back to quay.io/condaforge/linux-anvil-comp7" + DOCKER_IMAGE="quay.io/condaforge/linux-anvil-comp7" + fi + else + DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 quay.io/condaforge/linux-anvil-comp7 )" + fi +fi + +mkdir -p "$ARTIFACTS" +DONE_CANARY="$ARTIFACTS/conda-forge-build-done-${CONFIG}" +rm -f "$DONE_CANARY" + +# Allow people to specify extra default arguments to `docker run` (e.g. `--rm`) +DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" +if [ -z "${CI}" ]; then + DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" +fi + +( endgroup "Configure Docker" ) 2> /dev/null + +( startgroup "Start Docker" ) 2> /dev/null + +export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" +export IS_PR_BUILD="${IS_PR_BUILD:-False}" +docker pull "${DOCKER_IMAGE}" +docker run ${DOCKER_RUN_ARGS} \ + -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ + -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ + -e CONFIG \ + -e HOST_USER_ID \ + -e UPLOAD_PACKAGES \ + -e IS_PR_BUILD \ + -e GIT_BRANCH \ + -e UPLOAD_ON_BRANCH \ + -e CI \ + -e FEEDSTOCK_NAME \ + -e CPU_COUNT \ + -e BUILD_WITH_CONDA_DEBUG \ + -e BUILD_OUTPUT_ID \ + -e BINSTAR_TOKEN \ + -e FEEDSTOCK_TOKEN \ + -e STAGING_BINSTAR_TOKEN \ + "${DOCKER_IMAGE}" \ + bash \ + "/home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh" + +# verify that the end of the script was reached +test -f "$DONE_CANARY" + +# This closes the last group opened in `build_steps.sh` +( endgroup "Final checks" ) 2> /dev/null \ No newline at end of file diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh new file mode 100755 index 0000000..3969edf --- /dev/null +++ b/.scripts/run_osx_build.sh @@ -0,0 +1,94 @@ +#!/usr/bin/env bash + +# -*- mode: jinja-shell -*- + +source .scripts/logging_utils.sh + +set -xe + +MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3} + +( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null + +MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" +MINIFORGE_FILE="Mambaforge-MacOSX-$(uname -m).sh" +curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" +rm -rf ${MINIFORGE_HOME} +bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} + +( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null + +( startgroup "Configuring conda" ) 2> /dev/null + +source ${MINIFORGE_HOME}/etc/profile.d/conda.sh +conda activate base + +mamba install --update-specs --quiet --yes --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 +mamba update --update-specs --yes --quiet --channel conda-forge \ + conda-build pip boa conda-forge-ci-setup=3 + + + +echo -e "\n\nSetting up the condarc and mangling the compiler." +setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml + +if [[ "${CI:-}" != "" ]]; then + mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml +fi + +if [[ "${CI:-}" != "" ]]; then + echo -e "\n\nMangling homebrew in the CI to avoid conflicts." + /usr/bin/sudo mangle_homebrew + /usr/bin/sudo -k +else + echo -e "\n\nNot mangling homebrew as we are not running in CI" +fi + +echo -e "\n\nRunning the build setup script." +source run_conda_forge_build_setup + + + +( endgroup "Configuring conda" ) 2> /dev/null + +echo -e "\n\nMaking the build clobber file" +make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml + +if [[ -f LICENSE.txt ]]; then + cp LICENSE.txt "recipe/recipe-scripts-license.txt" +fi + +if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then + if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" + fi + conda debug ./recipe -m ./.ci_support/${CONFIG}.yaml \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + + # Drop into an interactive shell + /bin/bash +else + + if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" + fi + + conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ + --suppress-variables ${EXTRA_CB_OPTIONS:-} \ + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + ( startgroup "Validating outputs" ) 2> /dev/null + + validate_recipe_outputs "${FEEDSTOCK_NAME}" + + ( endgroup "Validating outputs" ) 2> /dev/null + + ( startgroup "Uploading packages" ) 2> /dev/null + + if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml + fi + + ( endgroup "Uploading packages" ) 2> /dev/null +fi \ No newline at end of file diff --git a/README.md b/README.md index 975a5cb..b9abea0 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,41 @@ Current build status + + + + + + + + + + + + + + +
VariantStatus
linux_64 + + variant + +
linux_aarch64 + + variant + +
linux_ppc64le + + variant + +
osx_64 + + variant + +
osx_arm64 + + variant + +
win_64 diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 93cf692..6b346f5 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -3,4 +3,6 @@ # -*- mode: yaml -*- jobs: - - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file + - template: ./.azure-pipelines/azure-pipelines-linux.yml + - template: ./.azure-pipelines/azure-pipelines-win.yml + - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0a86ce9..dea852c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -25,7 +25,6 @@ source: build: number: 3 - skip: true # [not win] outputs: - name: libprotobuf From 8174315d439a0e3939bcfcd9efcfade1094a3b28 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 23 Aug 2023 16:07:27 +0200 Subject: [PATCH 135/182] Add run_constrained for libprotobuf-python-headers --- recipe/meta.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index dea852c..7960266 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -24,7 +24,7 @@ source: - patches/0006-do-not-install-vendored-gmock.patch build: - number: 3 + number: 4 outputs: - name: libprotobuf @@ -151,6 +151,8 @@ outputs: - rsync # [unix] host: - {{ pin_subpackage('libprotobuf', exact=True) }} + run_constrained: + - libprotobuf {{ version }} test: commands: - test -f $PREFIX/include/google/protobuf/proto_api.h # [unix] From ff36650c8ed6147f39b0015d272a163a654035de Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 31 Aug 2023 15:37:49 +0200 Subject: [PATCH 136/182] Fix run_constrained for python headers --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7960266..ab50898 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -24,7 +24,7 @@ source: - patches/0006-do-not-install-vendored-gmock.patch build: - number: 4 + number: 5 outputs: - name: libprotobuf @@ -152,7 +152,7 @@ outputs: host: - {{ pin_subpackage('libprotobuf', exact=True) }} run_constrained: - - libprotobuf {{ version }} + - libprotobuf {{ major ~ "." ~ version }} test: commands: - test -f $PREFIX/include/google/protobuf/proto_api.h # [unix] From 2fe3c20610b4a5b9468736b6f9ac5aee00398bc8 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 11 Sep 2023 07:28:54 +1100 Subject: [PATCH 137/182] rely on migrator --- ...ibabseil20230802_libgrpc157_libprotobuf4234.yaml | 13 +++++++++++++ recipe/conda_build_config.yaml | 9 --------- 2 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 .ci_support/migrations/libabseil20230802_libgrpc157_libprotobuf4234.yaml delete mode 100644 recipe/conda_build_config.yaml diff --git a/.ci_support/migrations/libabseil20230802_libgrpc157_libprotobuf4234.yaml b/.ci_support/migrations/libabseil20230802_libgrpc157_libprotobuf4234.yaml new file mode 100644 index 0000000..3781ea0 --- /dev/null +++ b/.ci_support/migrations/libabseil20230802_libgrpc157_libprotobuf4234.yaml @@ -0,0 +1,13 @@ +__migrator: + build_number: 1 + kind: version + migration_number: 1 +libabseil: +- 20230802 +libgrpc: +- "1.57" +libprotobuf: +- 4.23.4 +MACOSX_DEPLOYMENT_TARGET: # [osx and x86_64] +- "10.13" # [osx and x86_64] +migrator_ts: 1692632590.658328 diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml deleted file mode 100644 index 41ead36..0000000 --- a/recipe/conda_build_config.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# abseil 20230802 now only support MacOS >=10.13, reflect this here -MACOSX_SDK_VERSION: # [osx and x86_64] - - "10.13" # [osx and x86_64] -MACOSX_DEPLOYMENT_TARGET: # [osx and x86_64] - - "10.13" # [osx and x86_64] - -# manual pin because we're linking migrations -libabseil: - - 20230802 From e2b14a863d83fc4503070a135b89ad9c0cde87a9 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 11 Sep 2023 07:32:41 +1100 Subject: [PATCH 138/182] MNT: Re-rendered with conda-build 3.26.1, conda-smithy 3.25.1, and conda-forge-pinning 2023.09.10.17.41.10 --- .ci_support/osx_64_.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 2b799b9..33fc02c 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -1,7 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: - '10.13' -MACOSX_SDK_VERSION: -- '10.13' c_compiler: - clang c_compiler_version: From 42c4f20d9cf9c605d7fe9409d51badeeae4e2b03 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 12 Sep 2023 08:28:45 +1100 Subject: [PATCH 139/182] ignore run-exports from gtest --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ab50898..d9a4469 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -37,6 +37,7 @@ outputs: # https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/4075 - {{ pin_subpackage('libprotobuf', max_pin='x.x.x') }} ignore_run_exports_from: + - gtest - jsoncpp requirements: build: From 7917fa75f54f7dbd1a5b23b15b9588bcfa7405b0 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 12 Sep 2023 08:29:13 +1100 Subject: [PATCH 140/182] bump build number --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d9a4469..d8d0fda 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -24,7 +24,7 @@ source: - patches/0006-do-not-install-vendored-gmock.patch build: - number: 5 + number: 6 outputs: - name: libprotobuf From e3f551d0fdfe2ffdabc69355c5396ffa055bf367 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 8 Aug 2023 23:39:47 +0000 Subject: [PATCH 141/182] updated v24.0 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d8d0fda..c2d0808 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "23.4" %} +{% set version = "24.0" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: a700a49470d301f1190a487a923b5095bf60f08f4ae4cac9f5f7c36883d17971 + sha256: 850357336189c470e429e9bdffca92229d8cd5b7f84aa2f3b4c5fdb80ce8351b patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch @@ -24,7 +24,7 @@ source: - patches/0006-do-not-install-vendored-gmock.patch build: - number: 6 + number: 0 outputs: - name: libprotobuf From 6ba7d320cb57c74ff47f925400f3d35549308694 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 11 Aug 2023 14:52:21 +1100 Subject: [PATCH 142/182] rebase patches --- recipe/meta.yaml | 8 +- .../0001-use-consistent-cmake-location.patch | 8 +- ...-set-static-lib-extension-on-windows.patch | 8 +- ...tion-of-system-provided-jsoncpp-1257.patch | 75 ------------------- ...lways-look-for-shared-abseil-builds.patch} | 4 +- ...tions-in-google-compiler-java-names.patch} | 4 +- ... 0005-do-not-install-vendored-gmock.patch} | 8 +- 7 files changed, 19 insertions(+), 96 deletions(-) delete mode 100644 recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch rename recipe/patches/{0004-always-look-for-shared-abseil-builds.patch => 0003-always-look-for-shared-abseil-builds.patch} (86%) rename recipe/patches/{0005-Export-functions-in-google-compiler-java-names.patch => 0004-Export-functions-in-google-compiler-java-names.patch} (96%) rename recipe/patches/{0006-do-not-install-vendored-gmock.patch => 0005-do-not-install-vendored-gmock.patch} (74%) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c2d0808..8168db8 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -16,12 +16,10 @@ source: patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch - # backport https://github.com/protocolbuffers/protobuf/pull/12577 - - patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch - - patches/0004-always-look-for-shared-abseil-builds.patch + - patches/0003-always-look-for-shared-abseil-builds.patch # grpc_cpp_java_plugin links against otherwise internal symbols - - patches/0005-Export-functions-in-google-compiler-java-names.patch - - patches/0006-do-not-install-vendored-gmock.patch + - patches/0004-Export-functions-in-google-compiler-java-names.patch + - patches/0005-do-not-install-vendored-gmock.patch build: number: 0 diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index 38c0698..9cb38cf 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,17 +1,17 @@ -From c15a3b5551d4ad414ef6840d63153fd5babd71a5 Mon Sep 17 00:00:00 2001 +From 9fa52c895fd9903fecdfd5278d4ac8d9dd5e9c41 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/6] use consistent cmake location +Subject: [PATCH 1/5] use consistent cmake location --- cmake/install.cmake | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/cmake/install.cmake b/cmake/install.cmake -index e7eb2103b..24d7a3ec9 100644 +index c52f692df..eb239b906 100644 --- a/cmake/install.cmake +++ b/cmake/install.cmake -@@ -84,15 +84,9 @@ set(_install_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the c +@@ -85,15 +85,9 @@ set(_install_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the c set(_build_cmakedir_desc "Directory relative to CMAKE_CURRENT_BINARY_DIR for cmake configuration files") set(_exampledir_desc "Directory relative to CMAKE_INSTALL_DATA to install examples") set(_protobuf_subdir_desc "Subdirectory in which to install cmake configuration files") diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index c93a269..b01a7d5 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,17 +1,17 @@ -From 7b2a54aa3e10a6c64dfcbbb0352c4cbd2003abf4 Mon Sep 17 00:00:00 2001 +From 4c992d9a66c0e11f36b682163e6a9cef4b1e5877 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/6] set static lib extension on windows +Subject: [PATCH 2/5] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 909cfe39a..3104f6500 100644 +index ac0d03c3a..a23b773fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -371,6 +371,12 @@ else () +@@ -326,6 +326,12 @@ else () endif () endif () diff --git a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch b/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch deleted file mode 100644 index 3fbac9a..0000000 --- a/recipe/patches/0003-Enable-the-selection-of-system-provided-jsoncpp-1257.patch +++ /dev/null @@ -1,75 +0,0 @@ -From e41c414ae97281f7a10738199be7fa3b4ef359a7 Mon Sep 17 00:00:00 2001 -From: Mike Rochefort -Date: Mon, 1 May 2023 09:34:17 -0700 -Subject: [PATCH 3/6] Enable the selection of system provided jsoncpp (#12577) - -Allows the use of an external `jsoncpp` library to be used. Replicates the model used by `abseil-cpp` as a "package" or "module" to the `protobuf_JSONCPP_PROVIDER` option. - -Resolves: #11827 - -Closes #12577 - -COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/12577 from omenos:omenos/cmake-jsoncpp 073edd69b4d3c57a37c00f1ba992e6cbd1dad949 -PiperOrigin-RevId: 528492610 ---- - CMakeLists.txt | 3 +++ - cmake/conformance.cmake | 31 +++++++++++++++++++------------ - 2 files changed, 22 insertions(+), 12 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3104f6500..b8eccae10 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -332,6 +332,9 @@ endif (protobuf_UNICODE) - set(protobuf_ABSL_PROVIDER "module" CACHE STRING "Provider of absl library") - set_property(CACHE protobuf_ABSL_PROVIDER PROPERTY STRINGS "module" "package") - -+set(protobuf_JSONCPP_PROVIDER "module" CACHE STRING "Provider of jsoncpp library") -+set_property(CACHE protobuf_JSONCPP_PROVIDER PROPERTY STRINGS "module" "package") -+ - if (protobuf_BUILD_TESTS) - include(${protobuf_SOURCE_DIR}/cmake/gtest.cmake) - endif (protobuf_BUILD_TESTS) -diff --git a/cmake/conformance.cmake b/cmake/conformance.cmake -index 61ac25a0d..6ba9050af 100644 ---- a/cmake/conformance.cmake -+++ b/cmake/conformance.cmake -@@ -1,12 +1,15 @@ -- --if (NOT EXISTS "${protobuf_SOURCE_DIR}/third_party/jsoncpp/CMakeLists.txt") -- message(FATAL_ERROR -- "Cannot find third_party/jsoncpp directory that's needed to " -- "build conformance tests. If you use git, make sure you have cloned " -- "submodules:\n" -- " git submodule update --init --recursive\n" -- "If instead you want to skip them, run cmake with:\n" -- " cmake -Dprotobuf_BUILD_CONFORMANCE=OFF\n") -+if (protobuf_JSONCPP_PROVIDER STREQUAL "module") -+ if (NOT EXISTS "${protobuf_SOURCE_DIR}/third_party/jsoncpp/CMakeLists.txt") -+ message(FATAL_ERROR -+ "Cannot find third_party/jsoncpp directory that's needed to " -+ "build conformance tests. If you use git, make sure you have cloned " -+ "submodules:\n" -+ " git submodule update --init --recursive\n" -+ "If instead you want to skip them, run cmake with:\n" -+ " cmake -Dprotobuf_BUILD_CONFORMANCE=OFF\n") -+ endif() -+elseif(protobuf_JSONCPP_PROVIDER STREQUAL "package") -+ find_package(jsoncpp REQUIRED) - endif() - - add_custom_command( -@@ -84,6 +87,10 @@ add_test(NAME conformance_cpp_test - DEPENDS conformance_test_runner conformance_cpp) - - set(JSONCPP_WITH_TESTS OFF CACHE BOOL "Disable tests") --add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/third_party/jsoncpp third_party/jsoncpp) --target_include_directories(conformance_test_runner PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/jsoncpp/include) --target_link_libraries(conformance_test_runner jsoncpp_lib) -+if(protobuf_JSONCPP_PROVIDER STREQUAL "module") -+ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/third_party/jsoncpp third_party/jsoncpp) -+ target_include_directories(conformance_test_runner PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/jsoncpp/include) -+ target_link_libraries(conformance_test_runner jsoncpp_lib) -+else() -+ target_link_libraries(conformance_test_runner jsoncpp) -+endif() diff --git a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch b/recipe/patches/0003-always-look-for-shared-abseil-builds.patch similarity index 86% rename from recipe/patches/0004-always-look-for-shared-abseil-builds.patch rename to recipe/patches/0003-always-look-for-shared-abseil-builds.patch index c111c4b..a446d67 100644 --- a/recipe/patches/0004-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0003-always-look-for-shared-abseil-builds.patch @@ -1,7 +1,7 @@ -From 52ee899847501a833926b2232dc0e19bad256003 Mon Sep 17 00:00:00 2001 +From 47db38a04e0c8a3d4f867903c418bab8e237c273 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 4/6] always look for shared abseil builds +Subject: [PATCH 3/5] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- diff --git a/recipe/patches/0005-Export-functions-in-google-compiler-java-names.patch b/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch similarity index 96% rename from recipe/patches/0005-Export-functions-in-google-compiler-java-names.patch rename to recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch index fc1414a..66326cd 100644 --- a/recipe/patches/0005-Export-functions-in-google-compiler-java-names.patch +++ b/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch @@ -1,7 +1,7 @@ -From 3a047d8d43d088cf07911d87eca1aa7d4c9b69de Mon Sep 17 00:00:00 2001 +From 6ddaaaf8b83f57e584514028016471d39348fbc5 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 14 Jun 2023 11:36:55 +0200 -Subject: [PATCH 5/6] Export functions in google::compiler::java::names +Subject: [PATCH 4/5] Export functions in google::compiler::java::names --- src/google/protobuf/compiler/java/names.h | 20 ++++++++++---------- diff --git a/recipe/patches/0006-do-not-install-vendored-gmock.patch b/recipe/patches/0005-do-not-install-vendored-gmock.patch similarity index 74% rename from recipe/patches/0006-do-not-install-vendored-gmock.patch rename to recipe/patches/0005-do-not-install-vendored-gmock.patch index ffb8446..d2ed128 100644 --- a/recipe/patches/0006-do-not-install-vendored-gmock.patch +++ b/recipe/patches/0005-do-not-install-vendored-gmock.patch @@ -1,17 +1,17 @@ -From b075b8e59c2c9ec51a3937c53545b6e987b44504 Mon Sep 17 00:00:00 2001 +From 9e73ee6392a347d809941b6dc930e25f6e7f0000 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 9 Aug 2023 14:06:35 +1100 -Subject: [PATCH 6/6] do not install vendored gmock +Subject: [PATCH 5/5] do not install vendored gmock --- cmake/install.cmake | 7 ------- 1 file changed, 7 deletions(-) diff --git a/cmake/install.cmake b/cmake/install.cmake -index 24d7a3ec9..687c05289 100644 +index eb239b906..7618eaa64 100644 --- a/cmake/install.cmake +++ b/cmake/install.cmake -@@ -124,10 +124,3 @@ if(protobuf_INSTALL_EXAMPLES) +@@ -125,10 +125,3 @@ if(protobuf_INSTALL_EXAMPLES) DESTINATION "${CMAKE_INSTALL_EXAMPLEDIR}" COMPONENT protobuf-examples) endif() From a878fe915765d89aef8374ab3cb0743d92e294b5 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 11 Aug 2023 14:56:16 +1100 Subject: [PATCH 143/182] clean up conda-forge.yml --- conda-forge.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/conda-forge.yml b/conda-forge.yml index c7bad80..0828bfb 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,9 +1,15 @@ -provider: {linux_aarch64: default, linux_ppc64le: default, win: azure} +build_platform: + linux_aarch64: linux_64 + linux_ppc64le: linux_64 + osx_arm64: osx_64 +conda_build: + pkg_format: '2' conda_forge_output_validation: true -build_platform: {osx_arm64: osx_64, linux_aarch64: linux_64, linux_ppc64le: linux_64} -test_on_native_only: true github: branch_name: main tooling_branch_name: main -conda_build: - pkg_format: '2' +provider: + linux_aarch64: default + linux_ppc64le: default + win: azure +test_on_native_only: true From 6d804942ed90082b465a9cf6145daeb5c82a33df Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 11 Aug 2023 14:57:26 +1100 Subject: [PATCH 144/182] add abi_migration_branches --- conda-forge.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conda-forge.yml b/conda-forge.yml index 0828bfb..7d6078e 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,3 +1,6 @@ +bot: + abi_migration_branches: + - 4.23.x build_platform: linux_aarch64: linux_64 linux_ppc64le: linux_64 From f4fb07994b23a73be88d342c1397cab22aeb948e Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 11 Aug 2023 15:42:51 +1100 Subject: [PATCH 145/182] reflect that protobuf itself also needs MacOS 10.13 --- recipe/meta.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8168db8..bdb134e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -34,6 +34,7 @@ outputs: # breaks tools like grpc_plugin_cpp if they get the wrong libprotoc at runtime, see # https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/4075 - {{ pin_subpackage('libprotobuf', max_pin='x.x.x') }} + - __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64] ignore_run_exports_from: - gtest - jsoncpp @@ -52,6 +53,9 @@ outputs: - zlib run: - ucrt # [win] + # following google's C++ support policy, protobuf only support MacOS >=10.13, see: + # https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md + # https://github.com/protocolbuffers/protobuf/blob/v24.0/Protobuf-C%2B%2B.podspec#L29 - __osx >={{ MACOSX_DEPLOYMENT_TARGET }} # [osx and x86_64] test: requires: From 86942a88e7c47ad7f19a9bdec77ad19baea834e8 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 7 Sep 2023 17:54:20 +0000 Subject: [PATCH 146/182] updated v24.3 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bdb134e..9ba9bbc 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "24.0" %} +{% set version = "24.3" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 850357336189c470e429e9bdffca92229d8cd5b7f84aa2f3b4c5fdb80ce8351b + sha256: 07d69502e58248927b58c7d7e7424135272ba5b2852a753ab6b67e62d2d29355 patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch From f6a2d807450f9d12170a0bdf44ecbbfaaa0264ac Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 26 Sep 2023 13:43:24 +1100 Subject: [PATCH 147/182] MNT: Re-rendered with conda-build 3.26.1, conda-smithy 3.26.2, and conda-forge-pinning 2023.09.25.15.21.40 --- .azure-pipelines/azure-pipelines-win.yml | 56 ++--------- .scripts/build_steps.sh | 9 +- .scripts/logging_utils.sh | 4 +- .scripts/run_osx_build.sh | 8 +- .scripts/run_win_build.bat | 115 +++++++++++++++++++++++ 5 files changed, 133 insertions(+), 59 deletions(-) create mode 100644 .scripts/run_win_build.bat diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index d66c7d1..82c5318 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -17,6 +17,7 @@ jobs: UPLOAD_TEMP: D:\\tmp steps: + - task: PythonScript@0 displayName: 'Download Miniforge' inputs: @@ -35,55 +36,14 @@ jobs: displayName: Add conda to PATH - script: | - call activate base - mamba.exe install "python=3.10" conda-build conda pip boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes - displayName: Install conda-build - - - script: set PYTHONUNBUFFERED=1 - displayName: Set PYTHONUNBUFFERED - - # Configure the VM - - script: | - call activate base - setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml - displayName: conda-forge CI setup - - # Configure the VM. - - script: | - set "CI=azure" - call activate base - run_conda_forge_build_setup - displayName: conda-forge build setup - - - script: | - call activate base - if EXIST LICENSE.txt ( - copy LICENSE.txt "recipe\\recipe-scripts-license.txt" - ) - if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( - set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" - ) - conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% - displayName: Build recipe + call ".scripts\run_win_build.bat" + displayName: Run Windows build env: PYTHONUNBUFFERED: 1 - - script: | - set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" - call activate base - validate_recipe_outputs "%FEEDSTOCK_NAME%" - displayName: Validate Recipe Outputs - - - script: | - set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" - set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" - set "TEMP=$(UPLOAD_TEMP)" - if not exist "%TEMP%\" md "%TEMP%" - set "TMP=%TEMP%" - call activate base - upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml - displayName: Upload package - env: + CONFIG: $(CONFIG) + CI: azure + UPLOAD_PACKAGES: $(UPLOAD_PACKAGES) + UPLOAD_TEMP: $(UPLOAD_TEMP) BINSTAR_TOKEN: $(BINSTAR_TOKEN) FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) - STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) - condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False')), not(eq(variables['Build.Reason'], 'PullRequest'))) \ No newline at end of file + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index a6b09f6..322832b 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -31,11 +31,10 @@ pkgs_dirs: CONDARC - -mamba install --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 -mamba update --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 +mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + pip mamba conda-build boa conda-forge-ci-setup=3 +mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + pip mamba conda-build boa conda-forge-ci-setup # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh index 57bc95c..aff009f 100644 --- a/.scripts/logging_utils.sh +++ b/.scripts/logging_utils.sh @@ -12,7 +12,7 @@ function startgroup { echo "##[group]$1";; travis ) echo "$1" - echo -en 'travis_fold:start:'"${1// /}"'\\r';; + echo -en 'travis_fold:start:'"${1// /}"'\r';; github_actions ) echo "::group::$1";; * ) @@ -28,7 +28,7 @@ function endgroup { azure ) echo "##[endgroup]";; travis ) - echo -en 'travis_fold:end:'"${1// /}"'\\r';; + echo -en 'travis_fold:end:'"${1// /}"'\r';; github_actions ) echo "::endgroup::";; esac diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 3969edf..cd9a88f 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -23,10 +23,10 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base -mamba install --update-specs --quiet --yes --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 -mamba update --update-specs --yes --quiet --channel conda-forge \ - conda-build pip boa conda-forge-ci-setup=3 +mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ + pip mamba conda-build boa conda-forge-ci-setup=3 +mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ + pip mamba conda-build boa conda-forge-ci-setup diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat new file mode 100644 index 0000000..07d3445 --- /dev/null +++ b/.scripts/run_win_build.bat @@ -0,0 +1,115 @@ +:: PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here +:: will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent +:: changes to this script, consider a proposal to conda-smithy so that other feedstocks can also +:: benefit from the improvement. + +:: Note: we assume a Miniforge installation is available + +:: INPUTS (required environment variables) +:: CONFIG: name of the .ci_support/*.yaml file for this job +:: CI: azure, github_actions, or unset +:: UPLOAD_PACKAGES: true or false +:: UPLOAD_ON_BRANCH: true or false + +setlocal enableextensions enabledelayedexpansion + +call :start_group "Configuring conda" + +:: Activate the base conda environment +call activate base + +:: Provision the necessary dependencies to build the recipe later +echo Installing dependencies +mamba.exe install "python=3.10" pip mamba conda-build boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes +if !errorlevel! neq 0 exit /b !errorlevel! + +:: Set basic configuration +echo Setting up configuration +setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml +if !errorlevel! neq 0 exit /b !errorlevel! +echo Running build setup +CALL run_conda_forge_build_setup + + +if !errorlevel! neq 0 exit /b !errorlevel! + +if EXIST LICENSE.txt ( + echo Copying feedstock license + copy LICENSE.txt "recipe\\recipe-scripts-license.txt" +) +if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" +) + +call :end_group + +:: Build the recipe +echo Building recipe +conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +if !errorlevel! neq 0 exit /b !errorlevel! + +:: Prepare some environment variables for the upload step +if /i "%CI%" == "github_actions" ( + set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%" + set "GIT_BRANCH=%GITHUB_REF:refs/heads/=%" + if /i "%GITHUB_EVENT_NAME%" == "pull_request" ( + set "IS_PR_BUILD=True" + ) else ( + set "IS_PR_BUILD=False" + ) + set "TEMP=%RUNNER_TEMP%" +) +if /i "%CI%" == "azure" ( + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" + if /i "%BUILD_REASON%" == "PullRequest" ( + set "IS_PR_BUILD=True" + ) else ( + set "IS_PR_BUILD=False" + ) + set "TEMP=%UPLOAD_TEMP%" +) + +:: Validate +call :start_group "Validating outputs" +validate_recipe_outputs "%FEEDSTOCK_NAME%" +if !errorlevel! neq 0 exit /b !errorlevel! +call :end_group + +if /i "%UPLOAD_PACKAGES%" == "true" ( + if /i "%IS_PR_BUILD%" == "false" ( + call :start_group "Uploading packages" + if not exist "%TEMP%\" md "%TEMP%" + set "TMP=%TEMP%" + upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml + if !errorlevel! neq 0 exit /b !errorlevel! + call :end_group + ) +) + +exit + +:: Logging subroutines + +:start_group +if /i "%CI%" == "github_actions" ( + echo ::group::%~1 + exit /b +) +if /i "%CI%" == "azure" ( + echo ##[group]%~1 + exit /b +) +echo %~1 +exit /b + +:end_group +if /i "%CI%" == "github_actions" ( + echo ::endgroup:: + exit /b +) +if /i "%CI%" == "azure" ( + echo ##[endgroup] + exit /b +) +exit /b \ No newline at end of file From 0aea89ac843e2ce96a7485897661446187e04ab4 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Fri, 29 Sep 2023 09:06:20 +0200 Subject: [PATCH 148/182] Update conda-forge.yml --- conda-forge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda-forge.yml b/conda-forge.yml index 7d6078e..ef51279 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,6 +1,6 @@ bot: abi_migration_branches: - - 4.23.x + - 4.23.4 build_platform: linux_aarch64: linux_64 linux_ppc64le: linux_64 From 99db880cdee836c9ce0a895775c5ae93bb5a2fb9 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 5 Oct 2023 20:06:32 +0200 Subject: [PATCH 149/182] Update conda-forge.yml --- conda-forge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda-forge.yml b/conda-forge.yml index ef51279..c100194 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,6 +1,6 @@ bot: abi_migration_branches: - - 4.23.4 + - 4.23.3 build_platform: linux_aarch64: linux_64 linux_ppc64le: linux_64 From 7a2b8ef655cef0a4c40216dd64149c3ce6f4f94d Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 6 Oct 2023 00:11:37 +0000 Subject: [PATCH 150/182] updated v24.4 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9ba9bbc..38164cb 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "24.3" %} +{% set version = "24.4" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 07d69502e58248927b58c7d7e7424135272ba5b2852a753ab6b67e62d2d29355 + sha256: 616bb3536ac1fff3fb1a141450fa28b875e985712170ea7f1bfe5e5fc41e2cd8 patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch From 0c93360f28b68af63fda77223da70adef22a3004 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 6 Oct 2023 00:11:48 +0000 Subject: [PATCH 151/182] MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.27.1, and conda-forge-pinning 2023.10.05.18.14.48 --- .ci_support/osx_64_.yaml | 4 ++-- .ci_support/osx_arm64_.yaml | 4 ++-- .scripts/build_steps.sh | 2 +- .scripts/run_osx_build.sh | 2 +- .scripts/run_win_build.bat | 0 5 files changed, 6 insertions(+), 6 deletions(-) mode change 100644 => 100755 .scripts/run_win_build.bat diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 33fc02c..11a8c7f 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '15' +- '16' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' jsoncpp: - 1.9.5 libabseil: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 73dce28..b87b7fa 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -3,7 +3,7 @@ MACOSX_DEPLOYMENT_TARGET: c_compiler: - clang c_compiler_version: -- '15' +- '16' channel_sources: - conda-forge channel_targets: @@ -11,7 +11,7 @@ channel_targets: cxx_compiler: - clangxx cxx_compiler_version: -- '15' +- '16' jsoncpp: - 1.9.5 libabseil: diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 322832b..bd9e671 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -34,7 +34,7 @@ CONDARC mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ pip mamba conda-build boa conda-forge-ci-setup=3 mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup + pip mamba conda-build boa conda-forge-ci-setup=3 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index cd9a88f..870c49a 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -26,7 +26,7 @@ conda activate base mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ pip mamba conda-build boa conda-forge-ci-setup=3 mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup + pip mamba conda-build boa conda-forge-ci-setup=3 diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat old mode 100644 new mode 100755 From 87ae60cb7ed47c225ee0e2c237cabef1b47ee122 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <121827174+conda-forge-webservices[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 13:35:13 +0000 Subject: [PATCH 152/182] [ci skip] added user jjerphan --- .github/CODEOWNERS | 2 +- recipe/meta.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9fefdc9..9d08ece 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @dopplershift @h-vetinari @hajapy @jakirkham @ocefpaf @wesm @xhochy @xylar \ No newline at end of file +* @jjerphan @dopplershift @h-vetinari @hajapy @jakirkham @ocefpaf @wesm @xhochy @xylar \ No newline at end of file diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 38164cb..a20c6cd 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -179,6 +179,7 @@ about: extra: recipe-maintainers: + - jjerphan - xylar - dopplershift - jakirkham From 9624c8dc336935163ad70fe56b3dc7637e30a2ae Mon Sep 17 00:00:00 2001 From: automatic conda-forge administrator Date: Fri, 13 Oct 2023 03:14:11 -0500 Subject: [PATCH 153/182] [ci skip] adding user @JohanMabille (#197) Co-authored-by: conda-forge-webservices[bot] <121827174+conda-forge-webservices[bot]@users.noreply.github.com> --- .github/CODEOWNERS | 2 +- recipe/meta.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9d08ece..f1a1c67 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @jjerphan @dopplershift @h-vetinari @hajapy @jakirkham @ocefpaf @wesm @xhochy @xylar \ No newline at end of file +* @JohanMabille @jjerphan @dopplershift @h-vetinari @hajapy @jakirkham @ocefpaf @wesm @xhochy @xylar \ No newline at end of file diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a20c6cd..c651349 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -179,6 +179,7 @@ about: extra: recipe-maintainers: + - JohanMabille - jjerphan - xylar - dopplershift From 15ca04b26c6a6c0a53e4dcfaf685be8c3ff875d2 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 16 Nov 2023 20:02:45 +0000 Subject: [PATCH 154/182] updated v25.1 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c651349..5ea3226 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "24.4" %} +{% set version = "25.1" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 616bb3536ac1fff3fb1a141450fa28b875e985712170ea7f1bfe5e5fc41e2cd8 + sha256: 9bd87b8280ef720d3240514f884e56a712f2218f0d693b48050c836028940a42 patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch From 11e5060a0393c9169f1c9432f07bcbd69a0bb180 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 16 Nov 2023 20:02:55 +0000 Subject: [PATCH 155/182] MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.29.0, and conda-forge-pinning 2023.11.16.09.46.51 --- .azure-pipelines/azure-pipelines-linux.yml | 3 +++ .azure-pipelines/azure-pipelines-osx.yml | 3 +++ .azure-pipelines/azure-pipelines-win.yml | 3 +++ .github/CODEOWNERS | 2 +- .scripts/build_steps.sh | 17 +++++++++++++---- .scripts/run_docker_build.sh | 3 +++ .scripts/run_osx_build.sh | 15 +++++++++++---- .scripts/run_win_build.bat | 12 ++++++++++-- README.md | 4 +++- 9 files changed, 50 insertions(+), 12 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index fcb0974..2b93a12 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -33,6 +33,9 @@ jobs: - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 8032e96..f3ff063 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -20,6 +20,9 @@ jobs: # TODO: Fast finish on azure pipelines? - script: | export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 82c5318..d609fcd 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -42,6 +42,9 @@ jobs: PYTHONUNBUFFERED: 1 CONFIG: $(CONFIG) CI: azure + flow_run_id: azure_$(Build.BuildNumber).$(System.JobAttempt) + remote_url: $(Build.Repository.Uri) + sha: $(Build.SourceVersion) UPLOAD_PACKAGES: $(UPLOAD_PACKAGES) UPLOAD_TEMP: $(UPLOAD_TEMP) BINSTAR_TOKEN: $(BINSTAR_TOKEN) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f1a1c67..9e7e82c 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @JohanMabille @jjerphan @dopplershift @h-vetinari @hajapy @jakirkham @ocefpaf @wesm @xhochy @xylar \ No newline at end of file +* @JohanMabille @dopplershift @h-vetinari @hajapy @jakirkham @jjerphan @ocefpaf @wesm @xhochy @xylar \ No newline at end of file diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index bd9e671..064e539 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -28,13 +28,15 @@ conda-build: pkgs_dirs: - ${FEEDSTOCK_ROOT}/build_artifacts/pkg_cache - /opt/conda/pkgs +solver: libmamba CONDARC +export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=3 + pip mamba conda-build conda-forge-ci-setup=4 mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=3 + pip mamba conda-build conda-forge-ci-setup=4 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -55,6 +57,12 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" fi +if [[ "${sha:-}" == "" ]]; then + pushd ${FEEDSTOCK_ROOT} + sha=$(git rev-parse HEAD) + popd +fi + if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" @@ -66,9 +74,10 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ + --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 9236239..b70ef01 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -91,6 +91,9 @@ docker run ${DOCKER_RUN_ARGS} \ -e CPU_COUNT \ -e BUILD_WITH_CONDA_DEBUG \ -e BUILD_OUTPUT_ID \ + -e flow_run_id \ + -e remote_url \ + -e sha \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 870c49a..46ab346 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -22,11 +22,13 @@ bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base +export CONDA_SOLVER="libmamba" +export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=3 + pip mamba conda-build conda-forge-ci-setup=4 mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=3 + pip mamba conda-build conda-forge-ci-setup=4 @@ -45,6 +47,10 @@ else echo -e "\n\nNot mangling homebrew as we are not running in CI" fi +if [[ "${sha:-}" == "" ]]; then + sha=$(git rev-parse HEAD) +fi + echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup @@ -75,9 +81,10 @@ else EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi - conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ + conda build ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ + --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 07d3445..5b2b849 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -17,10 +17,14 @@ call :start_group "Configuring conda" :: Activate the base conda environment call activate base +:: Configure the solver +set "CONDA_SOLVER=libmamba" +if !errorlevel! neq 0 exit /b !errorlevel! +set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" :: Provision the necessary dependencies to build the recipe later echo Installing dependencies -mamba.exe install "python=3.10" pip mamba conda-build boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes +mamba.exe install "python=3.10" pip mamba conda-build conda-forge-ci-setup=4 -c conda-forge --strict-channel-priority --yes if !errorlevel! neq 0 exit /b !errorlevel! :: Set basic configuration @@ -41,11 +45,15 @@ if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" ) +if NOT [%flow_run_id%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%" +) + call :end_group :: Build the recipe echo Building recipe -conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% if !errorlevel! neq 0 exit /b !errorlevel! :: Prepare some environment variables for the upload step diff --git a/README.md b/README.md index b9abea0..669d9b9 100644 --- a/README.md +++ b/README.md @@ -160,7 +160,7 @@ available continuous integration services. Thanks to the awesome service provide [CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/), [Drone](https://cloud.drone.io/welcome), and [TravisCI](https://travis-ci.com/) it is possible to build and upload installable packages to the -[conda-forge](https://anaconda.org/conda-forge) [Anaconda-Cloud](https://anaconda.org/) +[conda-forge](https://anaconda.org/conda-forge) [anaconda.org](https://anaconda.org/) channel for Linux, Windows and OSX respectively. To manage the continuous integration and simplify feedstock maintenance @@ -208,10 +208,12 @@ In order to produce a uniquely identifiable distribution: Feedstock Maintainers ===================== +* [@JohanMabille](https://github.com/JohanMabille/) * [@dopplershift](https://github.com/dopplershift/) * [@h-vetinari](https://github.com/h-vetinari/) * [@hajapy](https://github.com/hajapy/) * [@jakirkham](https://github.com/jakirkham/) +* [@jjerphan](https://github.com/jjerphan/) * [@ocefpaf](https://github.com/ocefpaf/) * [@wesm](https://github.com/wesm/) * [@xhochy](https://github.com/xhochy/) From 19e87f1581a4f474d2ce1e5d5403538d3270adeb Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Thu, 30 Nov 2023 09:00:47 +0000 Subject: [PATCH 156/182] MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.30.1, and conda-forge-pinning 2023.11.30.08.32.52 --- .scripts/build_steps.sh | 6 +++--- .scripts/run_osx_build.sh | 6 +++--- .scripts/run_win_build.bat | 8 +++++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 064e539..eba1dfd 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -34,9 +34,9 @@ CONDARC export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 + pip mamba conda-build boa conda-forge-ci-setup=4 mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 + pip mamba conda-build boa conda-forge-ci-setup=4 # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -74,7 +74,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 46ab346..9259eb9 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -26,9 +26,9 @@ export CONDA_SOLVER="libmamba" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 + pip mamba conda-build boa conda-forge-ci-setup=4 mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 + pip mamba conda-build boa conda-forge-ci-setup=4 @@ -81,7 +81,7 @@ else EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi - conda build ./recipe -m ./.ci_support/${CONFIG}.yaml \ + conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 5b2b849..48734de 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -24,7 +24,7 @@ set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" :: Provision the necessary dependencies to build the recipe later echo Installing dependencies -mamba.exe install "python=3.10" pip mamba conda-build conda-forge-ci-setup=4 -c conda-forge --strict-channel-priority --yes +mamba.exe install "python=3.10" pip mamba conda-build boa conda-forge-ci-setup=4 -c conda-forge --strict-channel-priority --yes if !errorlevel! neq 0 exit /b !errorlevel! :: Set basic configuration @@ -42,7 +42,9 @@ if EXIST LICENSE.txt ( copy LICENSE.txt "recipe\\recipe-scripts-license.txt" ) if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( - set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + if [%CROSSCOMPILING_EMULATOR%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + ) ) if NOT [%flow_run_id%] == [] ( @@ -53,7 +55,7 @@ call :end_group :: Build the recipe echo Building recipe -conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% if !errorlevel! neq 0 exit /b !errorlevel! :: Prepare some environment variables for the upload step From a35db4925f5bac8cb65f5fd211722e5e152aa298 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Tue, 16 Jan 2024 03:16:24 +0000 Subject: [PATCH 157/182] MNT: Re-rendered with conda-build 3.28.3, conda-smithy 3.30.4, and conda-forge-pinning 2024.01.16.00.05.46 --- .gitignore | 25 +++++++++++++++++++++++-- .scripts/build_steps.sh | 6 ------ .scripts/run_docker_build.sh | 6 ++++++ 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index c89ecb7..179afe5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,24 @@ -*.pyc +# User content belongs under recipe/. +# Feedstock configuration goes in `conda-forge.yml` +# Everything else is managed by the conda-smithy rerender process. +# Please do not modify + +# Ignore all files and folders in root +* +!/conda-forge.yml + +# Don't ignore any files/folders if the parent folder is 'un-ignored' +# This also avoids warnings when adding an already-checked file with an ignored parent. +!/**/ +# Don't ignore any files/folders recursively in the following folders +!/recipe/** +!/.ci_support/** -build_artifacts +# Since we ignore files/folders recursively, any folders inside +# build_artifacts gets ignored which trips some build systems. +# To avoid that we 'un-ignore' all files/folders recursively +# and only ignore the root build_artifacts folder. +!/build_artifacts/** +/build_artifacts + +*.pyc diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index eba1dfd..beda247 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -57,12 +57,6 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" fi -if [[ "${sha:-}" == "" ]]; then - pushd ${FEEDSTOCK_ROOT} - sha=$(git rev-parse HEAD) - popd -fi - if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index b70ef01..00f377a 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -21,6 +21,12 @@ if [ -z ${FEEDSTOCK_NAME} ]; then export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) fi +if [[ "${sha:-}" == "" ]]; then + pushd "${FEEDSTOCK_ROOT}" + sha=$(git rev-parse HEAD) + popd +fi + docker info # In order for the conda-build process in the container to write to the mounted From b0bf986f470d795505a2a1ed1fc006c45fa69bfe Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 19 Jan 2024 19:16:06 -0600 Subject: [PATCH 158/182] Fix unset env variable on windows --- recipe/meta.yaml | 1 + ...Fix-getting-env-variables-on-windows.patch | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 recipe/patches/0006-Fix-getting-env-variables-on-windows.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5ea3226..707a43d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -20,6 +20,7 @@ source: # grpc_cpp_java_plugin links against otherwise internal symbols - patches/0004-Export-functions-in-google-compiler-java-names.patch - patches/0005-do-not-install-vendored-gmock.patch + - patches/0006-Fix-getting-env-variables-on-windows.patch build: number: 0 diff --git a/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch b/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch new file mode 100644 index 0000000..0719bca --- /dev/null +++ b/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch @@ -0,0 +1,31 @@ +From c54edc4ac169b2196d91ff6f6728cbefe5ae61c2 Mon Sep 17 00:00:00 2001 +From: Isuru Fernando +Date: Fri, 19 Jan 2024 19:14:50 -0600 +Subject: [PATCH] Fix getting env variables on windows + +--- + src/google/protobuf/compiler/mock_code_generator.cc | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/google/protobuf/compiler/mock_code_generator.cc b/src/google/protobuf/compiler/mock_code_generator.cc +index d7057a1e6..8b6742687 100644 +--- a/src/google/protobuf/compiler/mock_code_generator.cc ++++ b/src/google/protobuf/compiler/mock_code_generator.cc +@@ -73,7 +73,13 @@ static constexpr absl::string_view kSecondInsertionPoint = + " # @@protoc_insertion_point(second_mock_insertion_point) is here\n"; + + MockCodeGenerator::MockCodeGenerator(absl::string_view name) : name_(name) { +- absl::string_view key = getenv("TEST_CASE"); ++ char* c_key = getenv("TEST_CASE"); ++ if (c_key == NULL) { ++ // In Windows, setting 'TEST_CASE=' is equivalent to unsetting ++ // and therefore c_key can be NULL ++ return; ++ } ++ absl::string_view key(c_key); + if (key == "no_editions") { + suppressed_features_ |= CodeGenerator::FEATURE_SUPPORTS_EDITIONS; + } else if (key == "invalid_features") { +-- +2.42.0 + From be3de1cd43b2c328b8d54d2b7ab4a5aff1a1f2f2 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Fri, 2 Feb 2024 09:03:56 -0500 Subject: [PATCH 159/182] Backport fix for Tensorflow to 4.25.1 Lets just see if this compiles --- recipe/meta.yaml | 7 ++++++- recipe/patches/fix_constexpr_vtble.patch | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 recipe/patches/fix_constexpr_vtble.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 707a43d..e862468 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -21,9 +21,14 @@ source: - patches/0004-Export-functions-in-google-compiler-java-names.patch - patches/0005-do-not-install-vendored-gmock.patch - patches/0006-Fix-getting-env-variables-on-windows.patch + # Backport from 4.26.0rc1 for + # https://github.com/conda-forge/libprotobuf-feedstock/issues/206 + # taken from + # https://github.com/protocolbuffers/protobuf/commit/f78f9c51fa2470070e5d4b49649800971c789224 + - patches/fix_constexpr_vtble.patch build: - number: 0 + number: 1 outputs: - name: libprotobuf diff --git a/recipe/patches/fix_constexpr_vtble.patch b/recipe/patches/fix_constexpr_vtble.patch new file mode 100644 index 0000000..96ea599 --- /dev/null +++ b/recipe/patches/fix_constexpr_vtble.patch @@ -0,0 +1,24 @@ +From f78f9c51fa2470070e5d4b49649800971c789224 Mon Sep 17 00:00:00 2001 +From: Protobuf Team Bot +Date: Thu, 2 Nov 2023 09:13:31 -0700 +Subject: [PATCH] Workaround false positive warning in MSVC. Fixes + https://github.com/protocolbuffers/protobuf/issues/14602 + +PiperOrigin-RevId: 578875053 +--- + src/google/protobuf/map_field.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/google/protobuf/map_field.h b/src/google/protobuf/map_field.h +index 8aa9e45fe3e..8388f8a2e52 100644 +--- a/src/google/protobuf/map_field.h ++++ b/src/google/protobuf/map_field.h +@@ -678,7 +678,7 @@ class MapField final : public TypeDefinedMapFieldBase { + template +-constexpr MapFieldBase::VTable ++PROTOBUF_CONSTINIT const MapFieldBase::VTable + MapField::kVTable = + MapField::template MakeVTable(); + From bb676261ad86b5cc27720dee8e25fb9702604d04 Mon Sep 17 00:00:00 2001 From: Johan Mabille Date: Thu, 12 Oct 2023 15:07:46 +0200 Subject: [PATCH 160/182] Added -framework CoreFoundation to LDFLAGS on OSX Co-authored-by: Julien Jerphanion --- recipe/build-lib.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/build-lib.sh b/recipe/build-lib.sh index 63b1a32..044c3c2 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -14,6 +14,8 @@ elif [[ "$(uname)" == "Darwin" ]]; then CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" # remove pie from LDFLAGS LDFLAGS="${LDFLAGS//-pie/}" + # CoreFoundation is needed as least as of libprotobuf>=4.23.X + LDFLAGS="${LDFLAGS} -framework CoreFoundation" fi # required to pick up conda installed zlib From 6c3826d2f929e916a80b92a0be76c0cb651cce1f Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:53:22 +0000 Subject: [PATCH 161/182] updated v25.2 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e862468..0f3962f 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "25.1" %} +{% set version = "25.2" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 9bd87b8280ef720d3240514f884e56a712f2218f0d693b48050c836028940a42 + sha256: 8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871 patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch @@ -28,7 +28,7 @@ source: - patches/fix_constexpr_vtble.patch build: - number: 1 + number: 0 outputs: - name: libprotobuf From 37e2ba3f8365d6de94d650825a677d6b199e9b51 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 21 Jan 2024 21:35:38 +1100 Subject: [PATCH 162/182] rebase patches --- recipe/meta.yaml | 8 +++----- .../0001-use-consistent-cmake-location.patch | 8 ++++---- .../0002-set-static-lib-extension-on-windows.patch | 6 +++--- .../0003-always-look-for-shared-abseil-builds.patch | 4 ++-- ...rt-functions-in-google-compiler-java-names.patch | 8 ++++---- .../0005-do-not-install-vendored-gmock.patch | 8 ++++---- .../0006-Fix-getting-env-variables-on-windows.patch | 13 +++++-------- ...false-positive-warning-in-MSVC.-Fixes-htt.patch} | 6 +++--- 8 files changed, 28 insertions(+), 33 deletions(-) rename recipe/patches/{fix_constexpr_vtble.patch => 0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch} (84%) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0f3962f..11747a9 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -20,12 +20,10 @@ source: # grpc_cpp_java_plugin links against otherwise internal symbols - patches/0004-Export-functions-in-google-compiler-java-names.patch - patches/0005-do-not-install-vendored-gmock.patch + # backport https://github.com/protocolbuffers/protobuf/pull/15518 - patches/0006-Fix-getting-env-variables-on-windows.patch - # Backport from 4.26.0rc1 for - # https://github.com/conda-forge/libprotobuf-feedstock/issues/206 - # taken from - # https://github.com/protocolbuffers/protobuf/commit/f78f9c51fa2470070e5d4b49649800971c789224 - - patches/fix_constexpr_vtble.patch + # backport https://github.com/protocolbuffers/protobuf/commit/f78f9c51fa2470070e5d4b49649800971c789224 + - patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch build: number: 0 diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index 9cb38cf..96914df 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,17 +1,17 @@ -From 9fa52c895fd9903fecdfd5278d4ac8d9dd5e9c41 Mon Sep 17 00:00:00 2001 +From df4354948bbcf18e6a41fc5743724fe85b166bc2 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/5] use consistent cmake location +Subject: [PATCH 1/7] use consistent cmake location --- cmake/install.cmake | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/cmake/install.cmake b/cmake/install.cmake -index c52f692df..eb239b906 100644 +index 9679d5b26..c4757f06c 100644 --- a/cmake/install.cmake +++ b/cmake/install.cmake -@@ -85,15 +85,9 @@ set(_install_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the c +@@ -96,15 +96,9 @@ set(_install_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the c set(_build_cmakedir_desc "Directory relative to CMAKE_CURRENT_BINARY_DIR for cmake configuration files") set(_exampledir_desc "Directory relative to CMAKE_INSTALL_DATA to install examples") set(_protobuf_subdir_desc "Subdirectory in which to install cmake configuration files") diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index b01a7d5..e99bf80 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,14 +1,14 @@ -From 4c992d9a66c0e11f36b682163e6a9cef4b1e5877 Mon Sep 17 00:00:00 2001 +From 6137fefd543de0aca634ef820f83f7e9d6e6f075 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/5] set static lib extension on windows +Subject: [PATCH 2/7] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index ac0d03c3a..a23b773fd 100644 +index 162fb1c72..1f175c416 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -326,6 +326,12 @@ else () diff --git a/recipe/patches/0003-always-look-for-shared-abseil-builds.patch b/recipe/patches/0003-always-look-for-shared-abseil-builds.patch index a446d67..c582cdf 100644 --- a/recipe/patches/0003-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0003-always-look-for-shared-abseil-builds.patch @@ -1,7 +1,7 @@ -From 47db38a04e0c8a3d4f867903c418bab8e237c273 Mon Sep 17 00:00:00 2001 +From ce158be9e2ae9baed2a31ed978c2f33c567c01c4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 3/5] always look for shared abseil builds +Subject: [PATCH 3/7] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- diff --git a/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch b/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch index 66326cd..1f2e171 100644 --- a/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch +++ b/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch @@ -1,17 +1,17 @@ -From 6ddaaaf8b83f57e584514028016471d39348fbc5 Mon Sep 17 00:00:00 2001 +From b4ad926042037d3f40604bf7fa617f49cb426399 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 14 Jun 2023 11:36:55 +0200 -Subject: [PATCH 4/5] Export functions in google::compiler::java::names +Subject: [PATCH 4/7] Export functions in google::compiler::java::names --- src/google/protobuf/compiler/java/names.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/google/protobuf/compiler/java/names.h b/src/google/protobuf/compiler/java/names.h -index ddfc8e65d..f26004cd7 100644 +index 5e8b40287..c67668bb6 100644 --- a/src/google/protobuf/compiler/java/names.h +++ b/src/google/protobuf/compiler/java/names.h -@@ -63,67 +63,67 @@ namespace java { +@@ -40,67 +40,67 @@ namespace java { // // Returns: // The fully-qualified Java class name. diff --git a/recipe/patches/0005-do-not-install-vendored-gmock.patch b/recipe/patches/0005-do-not-install-vendored-gmock.patch index d2ed128..07d7b22 100644 --- a/recipe/patches/0005-do-not-install-vendored-gmock.patch +++ b/recipe/patches/0005-do-not-install-vendored-gmock.patch @@ -1,17 +1,17 @@ -From 9e73ee6392a347d809941b6dc930e25f6e7f0000 Mon Sep 17 00:00:00 2001 +From 8e04212bac883743aea9e19e77976f44ffdb5ad6 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 9 Aug 2023 14:06:35 +1100 -Subject: [PATCH 5/5] do not install vendored gmock +Subject: [PATCH 5/7] do not install vendored gmock --- cmake/install.cmake | 7 ------- 1 file changed, 7 deletions(-) diff --git a/cmake/install.cmake b/cmake/install.cmake -index eb239b906..7618eaa64 100644 +index c4757f06c..f68ec217b 100644 --- a/cmake/install.cmake +++ b/cmake/install.cmake -@@ -125,10 +125,3 @@ if(protobuf_INSTALL_EXAMPLES) +@@ -136,10 +136,3 @@ if(protobuf_INSTALL_EXAMPLES) DESTINATION "${CMAKE_INSTALL_EXAMPLEDIR}" COMPONENT protobuf-examples) endif() diff --git a/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch b/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch index 0719bca..b84b845 100644 --- a/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch +++ b/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch @@ -1,14 +1,14 @@ -From c54edc4ac169b2196d91ff6f6728cbefe5ae61c2 Mon Sep 17 00:00:00 2001 +From ceff6146f5e57b38dd4bd3e66b4798721f57179c Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 19 Jan 2024 19:14:50 -0600 -Subject: [PATCH] Fix getting env variables on windows +Subject: [PATCH 6/7] Fix getting env variables on windows --- src/google/protobuf/compiler/mock_code_generator.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/google/protobuf/compiler/mock_code_generator.cc b/src/google/protobuf/compiler/mock_code_generator.cc -index d7057a1e6..8b6742687 100644 +index d7057a1e6..736e895bf 100644 --- a/src/google/protobuf/compiler/mock_code_generator.cc +++ b/src/google/protobuf/compiler/mock_code_generator.cc @@ -73,7 +73,13 @@ static constexpr absl::string_view kSecondInsertionPoint = @@ -16,16 +16,13 @@ index d7057a1e6..8b6742687 100644 MockCodeGenerator::MockCodeGenerator(absl::string_view name) : name_(name) { - absl::string_view key = getenv("TEST_CASE"); -+ char* c_key = getenv("TEST_CASE"); ++ const char* c_key = getenv("TEST_CASE"); + if (c_key == NULL) { + // In Windows, setting 'TEST_CASE=' is equivalent to unsetting + // and therefore c_key can be NULL -+ return; ++ c_key = ""; + } + absl::string_view key(c_key); if (key == "no_editions") { suppressed_features_ |= CodeGenerator::FEATURE_SUPPORTS_EDITIONS; } else if (key == "invalid_features") { --- -2.42.0 - diff --git a/recipe/patches/fix_constexpr_vtble.patch b/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch similarity index 84% rename from recipe/patches/fix_constexpr_vtble.patch rename to recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch index 96ea599..0b6f79f 100644 --- a/recipe/patches/fix_constexpr_vtble.patch +++ b/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch @@ -1,7 +1,7 @@ -From f78f9c51fa2470070e5d4b49649800971c789224 Mon Sep 17 00:00:00 2001 +From 96948fa966e91df3fe6b4a788152b0b83c2ca9b6 Mon Sep 17 00:00:00 2001 From: Protobuf Team Bot Date: Thu, 2 Nov 2023 09:13:31 -0700 -Subject: [PATCH] Workaround false positive warning in MSVC. Fixes +Subject: [PATCH 7/7] Workaround false positive warning in MSVC. Fixes https://github.com/protocolbuffers/protobuf/issues/14602 PiperOrigin-RevId: 578875053 @@ -10,7 +10,7 @@ PiperOrigin-RevId: 578875053 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/google/protobuf/map_field.h b/src/google/protobuf/map_field.h -index 8aa9e45fe3e..8388f8a2e52 100644 +index 8aa9e45fe..8388f8a2e 100644 --- a/src/google/protobuf/map_field.h +++ b/src/google/protobuf/map_field.h @@ -678,7 +678,7 @@ class MapField final : public TypeDefinedMapFieldBase { From d73b063d272ae0185e5b45ba123dbcfd49563758 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 21 Jan 2024 21:40:32 +1100 Subject: [PATCH 163/182] update abi_migration_branches --- conda-forge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda-forge.yml b/conda-forge.yml index c100194..88d434b 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,6 +1,6 @@ bot: abi_migration_branches: - - 4.23.3 + - 4.24.x build_platform: linux_aarch64: linux_64 linux_ppc64le: linux_64 From 9d2866e0c734c82e617233ae92bc475e72942896 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 6 Feb 2024 17:43:51 +0100 Subject: [PATCH 164/182] add abseil migration --- ...il20240116_libgrpc161_libprotobuf4252.yaml | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .ci_support/migrations/libabseil20240116_libgrpc161_libprotobuf4252.yaml diff --git a/.ci_support/migrations/libabseil20240116_libgrpc161_libprotobuf4252.yaml b/.ci_support/migrations/libabseil20240116_libgrpc161_libprotobuf4252.yaml new file mode 100644 index 0000000..6c01f35 --- /dev/null +++ b/.ci_support/migrations/libabseil20240116_libgrpc161_libprotobuf4252.yaml @@ -0,0 +1,23 @@ +__migrator: + build_number: 1 + commit_message: Rebuild for libabseil 20240116, libgrp 1.61, libprotobuf 4.25.2 + kind: version + migration_number: 1 + paused: True + exclude: + - abseil-cpp + - grpc-cpp + - libprotobuf + # this shouldn't attempt to modify the python feedstocks + - protobuf +libabseil: +- "20240116" +libgrpc: +- "1.61" +libprotobuf: +- 4.25.2 +# already covered by libabseil20230802_libgrpc157_libprotobuf4234, +# which we cannot delete yet, but keep for clarity +MACOSX_DEPLOYMENT_TARGET: # [osx and x86_64] +- "10.13" # [osx and x86_64] +migrator_ts: 1705991934.9119136 From 3bae8520b5a7afeec4fd9130221b7e93579f2cee Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 6 Feb 2024 17:57:59 +0100 Subject: [PATCH 165/182] MNT: Re-rendered with conda-build 3.28.4, conda-smithy 3.30.4, and conda-forge-pinning 2024.02.06.16.43.21 --- .ci_support/linux_64_.yaml | 2 +- .ci_support/linux_aarch64_.yaml | 2 +- .ci_support/linux_ppc64le_.yaml | 2 +- .ci_support/osx_64_.yaml | 2 +- .ci_support/osx_arm64_.yaml | 2 +- .ci_support/win_64_.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 514aed0..42958cd 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -17,7 +17,7 @@ docker_image: jsoncpp: - 1.9.5 libabseil: -- '20230802' +- '20240116' target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index a0e488f..9b82bc2 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -21,7 +21,7 @@ docker_image: jsoncpp: - 1.9.5 libabseil: -- '20230802' +- '20240116' target_platform: - linux-aarch64 zip_keys: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 73edfe3..4577db4 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -17,7 +17,7 @@ docker_image: jsoncpp: - 1.9.5 libabseil: -- '20230802' +- '20240116' target_platform: - linux-ppc64le zip_keys: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 11a8c7f..0fd8118 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -15,7 +15,7 @@ cxx_compiler_version: jsoncpp: - 1.9.5 libabseil: -- '20230802' +- '20240116' macos_machine: - x86_64-apple-darwin13.4.0 target_platform: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index b87b7fa..2c098f6 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -15,7 +15,7 @@ cxx_compiler_version: jsoncpp: - 1.9.5 libabseil: -- '20230802' +- '20240116' macos_machine: - arm64-apple-darwin20.0.0 target_platform: diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index 8b9bf25..673a26d 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -9,7 +9,7 @@ cxx_compiler: jsoncpp: - 1.9.5 libabseil: -- '20230802' +- '20240116' target_platform: - win-64 zlib: From c42d66aa7f93b40e565a8dbf15d274ea41d4b29c Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 20 Feb 2024 19:49:14 +1100 Subject: [PATCH 166/182] tighten pkgconfig tests --- recipe/meta.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 11747a9..00f74dd 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -68,6 +68,7 @@ outputs: - {{ compiler('cxx') }} - cmake - ninja + - pkg-config files: - cmake_test/ commands: @@ -87,11 +88,9 @@ outputs: - test -f ${PREFIX}/lib/cmake/protobuf/protobuf-config.cmake # [unix] - if not exist %LIBRARY_LIB%\cmake\protobuf\protobuf-config.cmake exit 1 # [win] - # pkgconfig - - test -f ${PREFIX}/lib/pkgconfig/protobuf.pc # [unix] - - test -f ${PREFIX}/lib/pkgconfig/protobuf-lite.pc # [unix] - - if not exist %LIBRARY_LIB%\pkgconfig\protobuf.pc exit 1 # [win] - - if not exist %LIBRARY_LIB%\pkgconfig\protobuf-lite.pc exit 1 # [win] + # pkg-config + - pkg-config --print-errors --exact-version "{{ version }}.0" protobuf + - pkg-config --print-errors --exact-version "{{ version }}.0" protobuf-lite # binary - protoc --help From 566674140cdb30ae641b7b92231dfa858a4e70b2 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 20 Feb 2024 20:28:50 +1100 Subject: [PATCH 167/182] add patch to fix pkgconfig metadata on windows --- recipe/meta.yaml | 4 ++- .../0001-use-consistent-cmake-location.patch | 2 +- ...-set-static-lib-extension-on-windows.patch | 2 +- ...always-look-for-shared-abseil-builds.patch | 2 +- ...ctions-in-google-compiler-java-names.patch | 2 +- .../0005-do-not-install-vendored-gmock.patch | 2 +- ...Fix-getting-env-variables-on-windows.patch | 2 +- ...-positive-warning-in-MSVC.-Fixes-htt.patch | 2 +- ...etadata-for-shared-abseil-on-windows.patch | 25 +++++++++++++++++++ 9 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 recipe/patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 00f74dd..dcda76b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -24,9 +24,11 @@ source: - patches/0006-Fix-getting-env-variables-on-windows.patch # backport https://github.com/protocolbuffers/protobuf/commit/f78f9c51fa2470070e5d4b49649800971c789224 - patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch + # fix for https://github.com/protocolbuffers/protobuf/issues/15883 + - patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch build: - number: 0 + number: 1 outputs: - name: libprotobuf diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index 96914df..95c1bbc 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,7 +1,7 @@ From df4354948bbcf18e6a41fc5743724fe85b166bc2 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/7] use consistent cmake location +Subject: [PATCH 1/8] use consistent cmake location --- cmake/install.cmake | 12 +++--------- diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index e99bf80..9b3acb7 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,7 +1,7 @@ From 6137fefd543de0aca634ef820f83f7e9d6e6f075 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/7] set static lib extension on windows +Subject: [PATCH 2/8] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ diff --git a/recipe/patches/0003-always-look-for-shared-abseil-builds.patch b/recipe/patches/0003-always-look-for-shared-abseil-builds.patch index c582cdf..ff0b592 100644 --- a/recipe/patches/0003-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0003-always-look-for-shared-abseil-builds.patch @@ -1,7 +1,7 @@ From ce158be9e2ae9baed2a31ed978c2f33c567c01c4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 3/7] always look for shared abseil builds +Subject: [PATCH 3/8] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- diff --git a/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch b/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch index 1f2e171..61bc40f 100644 --- a/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch +++ b/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch @@ -1,7 +1,7 @@ From b4ad926042037d3f40604bf7fa617f49cb426399 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 14 Jun 2023 11:36:55 +0200 -Subject: [PATCH 4/7] Export functions in google::compiler::java::names +Subject: [PATCH 4/8] Export functions in google::compiler::java::names --- src/google/protobuf/compiler/java/names.h | 20 ++++++++++---------- diff --git a/recipe/patches/0005-do-not-install-vendored-gmock.patch b/recipe/patches/0005-do-not-install-vendored-gmock.patch index 07d7b22..0cd6959 100644 --- a/recipe/patches/0005-do-not-install-vendored-gmock.patch +++ b/recipe/patches/0005-do-not-install-vendored-gmock.patch @@ -1,7 +1,7 @@ From 8e04212bac883743aea9e19e77976f44ffdb5ad6 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 9 Aug 2023 14:06:35 +1100 -Subject: [PATCH 5/7] do not install vendored gmock +Subject: [PATCH 5/8] do not install vendored gmock --- cmake/install.cmake | 7 ------- diff --git a/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch b/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch index b84b845..e706f73 100644 --- a/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch +++ b/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch @@ -1,7 +1,7 @@ From ceff6146f5e57b38dd4bd3e66b4798721f57179c Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 19 Jan 2024 19:14:50 -0600 -Subject: [PATCH 6/7] Fix getting env variables on windows +Subject: [PATCH 6/8] Fix getting env variables on windows --- src/google/protobuf/compiler/mock_code_generator.cc | 8 +++++++- diff --git a/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch b/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch index 0b6f79f..7b1a392 100644 --- a/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch +++ b/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch @@ -1,7 +1,7 @@ From 96948fa966e91df3fe6b4a788152b0b83c2ca9b6 Mon Sep 17 00:00:00 2001 From: Protobuf Team Bot Date: Thu, 2 Nov 2023 09:13:31 -0700 -Subject: [PATCH 7/7] Workaround false positive warning in MSVC. Fixes +Subject: [PATCH 7/8] Workaround false positive warning in MSVC. Fixes https://github.com/protocolbuffers/protobuf/issues/14602 PiperOrigin-RevId: 578875053 diff --git a/recipe/patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch b/recipe/patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch new file mode 100644 index 0000000..cce84fd --- /dev/null +++ b/recipe/patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch @@ -0,0 +1,25 @@ +From c0759889e6f5a9899532e54bde8232564a1ff8dc Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Tue, 20 Feb 2024 20:27:36 +1100 +Subject: [PATCH 8/8] fix pkg-config metadata for shared abseil on windows + +--- + cmake/install.cmake | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/cmake/install.cmake b/cmake/install.cmake +index f68ec217b..60871aab9 100644 +--- a/cmake/install.cmake ++++ b/cmake/install.cmake +@@ -1,7 +1,10 @@ + include(GNUInstallDirs) + + foreach(_target IN LISTS protobuf_ABSL_USED_TARGETS) +- string(REPLACE :: _ _modified_target ${_target}) ++ # shared abseil on windows breaks the absl::foo -> absl_foo replacement logic - ++ # preempt this by a more specific replace (harmless if it doesn't apply); see GH-15883 ++ string(REPLACE "absl::abseil_dll" "abseil_dll" _modified_target ${_target}) ++ string(REPLACE :: _ _modified_target ${_modified_target}) + list(APPEND _pc_targets ${_modified_target}) + endforeach() + list(APPEND _pc_targets "utf8_range") From abf1ee67c8df9ae18b90ece5e8d983b73c3a0b92 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 20 Feb 2024 22:24:05 +1100 Subject: [PATCH 168/182] finally skip MapImplTest.RandomOrdering on windows --- recipe/meta.yaml | 3 +++ .../0001-use-consistent-cmake-location.patch | 2 +- ...-set-static-lib-extension-on-windows.patch | 2 +- ...always-look-for-shared-abseil-builds.patch | 2 +- ...ctions-in-google-compiler-java-names.patch | 2 +- .../0005-do-not-install-vendored-gmock.patch | 2 +- ...Fix-getting-env-variables-on-windows.patch | 2 +- ...-positive-warning-in-MSVC.-Fixes-htt.patch | 2 +- ...etadata-for-shared-abseil-on-windows.patch | 2 +- ...Test.RandomOrdering-due-to-flakiness.patch | 23 +++++++++++++++++++ 10 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 recipe/patches/0009-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index dcda76b..6a74f08 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -26,6 +26,9 @@ source: - patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch # fix for https://github.com/protocolbuffers/protobuf/issues/15883 - patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch + # skip annoyingly flaky test on windows, see + # https://github.com/protocolbuffers/protobuf/issues/8645 + - patches/0009-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch # [win] build: number: 1 diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index 95c1bbc..15d59ac 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,7 +1,7 @@ From df4354948bbcf18e6a41fc5743724fe85b166bc2 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/8] use consistent cmake location +Subject: [PATCH 1/9] use consistent cmake location --- cmake/install.cmake | 12 +++--------- diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index 9b3acb7..9281ff3 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,7 +1,7 @@ From 6137fefd543de0aca634ef820f83f7e9d6e6f075 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/8] set static lib extension on windows +Subject: [PATCH 2/9] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ diff --git a/recipe/patches/0003-always-look-for-shared-abseil-builds.patch b/recipe/patches/0003-always-look-for-shared-abseil-builds.patch index ff0b592..a5a9380 100644 --- a/recipe/patches/0003-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0003-always-look-for-shared-abseil-builds.patch @@ -1,7 +1,7 @@ From ce158be9e2ae9baed2a31ed978c2f33c567c01c4 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 3/8] always look for shared abseil builds +Subject: [PATCH 3/9] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- diff --git a/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch b/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch index 61bc40f..cc22f7a 100644 --- a/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch +++ b/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch @@ -1,7 +1,7 @@ From b4ad926042037d3f40604bf7fa617f49cb426399 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 14 Jun 2023 11:36:55 +0200 -Subject: [PATCH 4/8] Export functions in google::compiler::java::names +Subject: [PATCH 4/9] Export functions in google::compiler::java::names --- src/google/protobuf/compiler/java/names.h | 20 ++++++++++---------- diff --git a/recipe/patches/0005-do-not-install-vendored-gmock.patch b/recipe/patches/0005-do-not-install-vendored-gmock.patch index 0cd6959..96b9eac 100644 --- a/recipe/patches/0005-do-not-install-vendored-gmock.patch +++ b/recipe/patches/0005-do-not-install-vendored-gmock.patch @@ -1,7 +1,7 @@ From 8e04212bac883743aea9e19e77976f44ffdb5ad6 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 9 Aug 2023 14:06:35 +1100 -Subject: [PATCH 5/8] do not install vendored gmock +Subject: [PATCH 5/9] do not install vendored gmock --- cmake/install.cmake | 7 ------- diff --git a/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch b/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch index e706f73..6efb996 100644 --- a/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch +++ b/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch @@ -1,7 +1,7 @@ From ceff6146f5e57b38dd4bd3e66b4798721f57179c Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 19 Jan 2024 19:14:50 -0600 -Subject: [PATCH 6/8] Fix getting env variables on windows +Subject: [PATCH 6/9] Fix getting env variables on windows --- src/google/protobuf/compiler/mock_code_generator.cc | 8 +++++++- diff --git a/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch b/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch index 7b1a392..6e19ab9 100644 --- a/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch +++ b/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch @@ -1,7 +1,7 @@ From 96948fa966e91df3fe6b4a788152b0b83c2ca9b6 Mon Sep 17 00:00:00 2001 From: Protobuf Team Bot Date: Thu, 2 Nov 2023 09:13:31 -0700 -Subject: [PATCH 7/8] Workaround false positive warning in MSVC. Fixes +Subject: [PATCH 7/9] Workaround false positive warning in MSVC. Fixes https://github.com/protocolbuffers/protobuf/issues/14602 PiperOrigin-RevId: 578875053 diff --git a/recipe/patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch b/recipe/patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch index cce84fd..44b7a1c 100644 --- a/recipe/patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch +++ b/recipe/patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch @@ -1,7 +1,7 @@ From c0759889e6f5a9899532e54bde8232564a1ff8dc Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 20 Feb 2024 20:27:36 +1100 -Subject: [PATCH 8/8] fix pkg-config metadata for shared abseil on windows +Subject: [PATCH 8/9] fix pkg-config metadata for shared abseil on windows --- cmake/install.cmake | 5 ++++- diff --git a/recipe/patches/0009-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch b/recipe/patches/0009-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch new file mode 100644 index 0000000..90176d7 --- /dev/null +++ b/recipe/patches/0009-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch @@ -0,0 +1,23 @@ +From 02bcda9d01dd12ecf641dba54e0832a97de989f5 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Tue, 20 Feb 2024 22:21:55 +1100 +Subject: [PATCH 9/9] disable MapImplTest.RandomOrdering due to flakiness + +see https://google.github.io/googletest/advanced.html#temporarily-disabling-tests +--- + src/google/protobuf/map_test.inc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/google/protobuf/map_test.inc b/src/google/protobuf/map_test.inc +index c1b002987..34d45f44d 100644 +--- a/src/google/protobuf/map_test.inc ++++ b/src/google/protobuf/map_test.inc +@@ -1344,7 +1344,7 @@ bool MapOrderingIsRandom(int a, int b) { + + // This test verifies that the iteration order is reasonably random even for + // small maps. +-TEST_F(MapImplTest, RandomOrdering) { ++TEST_F(MapImplTest, DISABLED_RandomOrdering) { + for (int i = 0; i < 10; ++i) { + for (int j = i + 1; j < 10; ++j) { + EXPECT_TRUE(MapOrderingIsRandom(i, j)) From d1a8bd02a0651fc4e6128cf2c4e683e0c78578dc Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 16 Feb 2024 00:02:23 +0000 Subject: [PATCH 169/182] updated v25.3 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 6a74f08..8b429a1 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "25.2" %} +{% set version = "25.3" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "4" %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 8ff511a64fc46ee792d3fe49a5a1bcad6f7dc50dfbba5a28b0e5b979c17f9871 + sha256: d19643d265b978383352b3143f04c0641eea75a75235c111cc01a1350173180e patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch @@ -31,7 +31,7 @@ source: - patches/0009-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch # [win] build: - number: 1 + number: 0 outputs: - name: libprotobuf From 8d7efa7b7faaa73002eb0420daa52f3d54ac316a Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 22 Feb 2024 15:07:25 +1100 Subject: [PATCH 170/182] update comment for upstreamed patch --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 8b429a1..90b6d91 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -24,7 +24,7 @@ source: - patches/0006-Fix-getting-env-variables-on-windows.patch # backport https://github.com/protocolbuffers/protobuf/commit/f78f9c51fa2470070e5d4b49649800971c789224 - patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch - # fix for https://github.com/protocolbuffers/protobuf/issues/15883 + # backport https://github.com/protocolbuffers/protobuf/pull/15888 - patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch # skip annoyingly flaky test on windows, see # https://github.com/protocolbuffers/protobuf/issues/8645 From 2094ccc2b9af0398699ee320654bef7fa349fcbb Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Sun, 3 Mar 2024 23:19:49 +0000 Subject: [PATCH 171/182] MNT: Re-rendered with conda-build 24.1.2, conda-smithy 3.31.1, and conda-forge-pinning 2024.03.02.16.55.54 --- .scripts/build_steps.sh | 6 +++--- .scripts/run_osx_build.sh | 6 +++--- .scripts/run_win_build.bat | 4 ++-- build-locally.py | 5 +++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index beda247..9121002 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -34,9 +34,9 @@ CONDARC export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=4 + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=4 + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -68,7 +68,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 9259eb9..16daa69 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -26,9 +26,9 @@ export CONDA_SOLVER="libmamba" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=4 + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=4 + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" @@ -81,7 +81,7 @@ else EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi - conda mambabuild ./recipe -m ./.ci_support/${CONFIG}.yaml \ + conda build ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 48734de..f801cf4 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -24,7 +24,7 @@ set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" :: Provision the necessary dependencies to build the recipe later echo Installing dependencies -mamba.exe install "python=3.10" pip mamba conda-build boa conda-forge-ci-setup=4 -c conda-forge --strict-channel-priority --yes +mamba.exe install "python=3.10" pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -c conda-forge --strict-channel-priority --yes if !errorlevel! neq 0 exit /b !errorlevel! :: Set basic configuration @@ -55,7 +55,7 @@ call :end_group :: Build the recipe echo Building recipe -conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% if !errorlevel! neq 0 exit /b !errorlevel! :: Prepare some environment variables for the upload step diff --git a/build-locally.py b/build-locally.py index 3f4b7a7..e0d408d 100755 --- a/build-locally.py +++ b/build-locally.py @@ -64,8 +64,9 @@ def verify_config(ns): elif ns.config.startswith("osx"): if "OSX_SDK_DIR" not in os.environ: raise RuntimeError( - "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=SDKs' " - "to download the SDK automatically to 'SDKs/MacOSX.sdk'. " + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=$PWD/SDKs' " + "to download the SDK automatically to '$PWD/SDKs/MacOSX.sdk'. " + "Note: OSX_SDK_DIR must be set to an absolute path. " "Setting this variable implies agreement to the licensing terms of the SDK by Apple." ) From a3ad755c809fdc2101eebbacf7d68a51c87abffa Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 4 Mar 2024 11:20:48 +1100 Subject: [PATCH 172/182] libprotobuf v5.26.0.rc3 Major version bump for C++ / Python, see https://protobuf.dev/news/ resp. https://github.com/protocolbuffers/protobuf/commit/16afb4dea76efab652d86e4ebf9a118138f88578 --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 90b6d91..2234ffb 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,8 +1,8 @@ # keep this without major version to let the bot pick it up -{% set version = "25.3" %} +{% set version = "26.0.rc3" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json -{% set major = "4" %} +{% set major = "5" %} {% set libraries = ["libprotoc", "libprotobuf", "libprotobuf-lite"] %} @@ -12,7 +12,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: d19643d265b978383352b3143f04c0641eea75a75235c111cc01a1350173180e + sha256: 74be2b20bb38e5f91e60da19ec4bf59b877ff7583907446cc2080c05aebc60e7 patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch From 1e92bd85a96d9a8d25d4e5d71b91733815a28bf9 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 4 Mar 2024 11:22:30 +1100 Subject: [PATCH 173/182] rebase patches --- recipe/meta.yaml | 8 ++---- .../0001-use-consistent-cmake-location.patch | 8 +++--- ...-set-static-lib-extension-on-windows.patch | 8 +++--- ...always-look-for-shared-abseil-builds.patch | 6 ++-- ...ctions-in-google-compiler-java-names.patch | 4 +-- .../0005-do-not-install-vendored-gmock.patch | 8 +++--- ...Fix-getting-env-variables-on-windows.patch | 28 ------------------- ...tadata-for-shared-abseil-on-windows.patch} | 6 ++-- ...-positive-warning-in-MSVC.-Fixes-htt.patch | 24 ---------------- ...est.RandomOrdering-due-to-flakiness.patch} | 8 +++--- 10 files changed, 26 insertions(+), 82 deletions(-) delete mode 100644 recipe/patches/0006-Fix-getting-env-variables-on-windows.patch rename recipe/patches/{0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch => 0006-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch} (84%) delete mode 100644 recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch rename recipe/patches/{0009-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch => 0007-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch} (76%) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 2234ffb..fbc0def 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -20,15 +20,11 @@ source: # grpc_cpp_java_plugin links against otherwise internal symbols - patches/0004-Export-functions-in-google-compiler-java-names.patch - patches/0005-do-not-install-vendored-gmock.patch - # backport https://github.com/protocolbuffers/protobuf/pull/15518 - - patches/0006-Fix-getting-env-variables-on-windows.patch - # backport https://github.com/protocolbuffers/protobuf/commit/f78f9c51fa2470070e5d4b49649800971c789224 - - patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch # backport https://github.com/protocolbuffers/protobuf/pull/15888 - - patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch + - patches/0006-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch # skip annoyingly flaky test on windows, see # https://github.com/protocolbuffers/protobuf/issues/8645 - - patches/0009-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch # [win] + - patches/0007-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch # [win] build: number: 0 diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index 15d59ac..824a117 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,17 +1,17 @@ -From df4354948bbcf18e6a41fc5743724fe85b166bc2 Mon Sep 17 00:00:00 2001 +From bf91bd9f344c51eab74fd15c703da760b4c35043 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/9] use consistent cmake location +Subject: [PATCH 1/7] use consistent cmake location --- cmake/install.cmake | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/cmake/install.cmake b/cmake/install.cmake -index 9679d5b26..c4757f06c 100644 +index 52914a8ea..5d89a5f5f 100644 --- a/cmake/install.cmake +++ b/cmake/install.cmake -@@ -96,15 +96,9 @@ set(_install_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the c +@@ -98,15 +98,9 @@ set(_install_cmakedir_desc "Directory relative to CMAKE_INSTALL to install the c set(_build_cmakedir_desc "Directory relative to CMAKE_CURRENT_BINARY_DIR for cmake configuration files") set(_exampledir_desc "Directory relative to CMAKE_INSTALL_DATA to install examples") set(_protobuf_subdir_desc "Subdirectory in which to install cmake configuration files") diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index 9281ff3..ddbcdb6 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,17 +1,17 @@ -From 6137fefd543de0aca634ef820f83f7e9d6e6f075 Mon Sep 17 00:00:00 2001 +From b846e9c954337d00b4f4688a48b1f1b8092b3177 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/9] set static lib extension on windows +Subject: [PATCH 2/7] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 162fb1c72..1f175c416 100644 +index 4e23438c8..5c0facb98 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -326,6 +326,12 @@ else () +@@ -328,6 +328,12 @@ else () endif () endif () diff --git a/recipe/patches/0003-always-look-for-shared-abseil-builds.patch b/recipe/patches/0003-always-look-for-shared-abseil-builds.patch index a5a9380..fb0ce5b 100644 --- a/recipe/patches/0003-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0003-always-look-for-shared-abseil-builds.patch @@ -1,14 +1,14 @@ -From ce158be9e2ae9baed2a31ed978c2f33c567c01c4 Mon Sep 17 00:00:00 2001 +From f0070b8cb07767623d7ba50b3fd6795d79831c1f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 3/9] always look for shared abseil builds +Subject: [PATCH 3/7] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake -index b50fb89e6..b07e63f26 100644 +index a4e9d2295..b3ad53528 100644 --- a/cmake/abseil-cpp.cmake +++ b/cmake/abseil-cpp.cmake @@ -37,7 +37,7 @@ elseif(protobuf_ABSL_PROVIDER STREQUAL "package") diff --git a/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch b/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch index cc22f7a..d7b10d1 100644 --- a/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch +++ b/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch @@ -1,7 +1,7 @@ -From b4ad926042037d3f40604bf7fa617f49cb426399 Mon Sep 17 00:00:00 2001 +From 6a4ac83635fcc5b2210d35bcdad86343a4af101d Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 14 Jun 2023 11:36:55 +0200 -Subject: [PATCH 4/9] Export functions in google::compiler::java::names +Subject: [PATCH 4/7] Export functions in google::compiler::java::names --- src/google/protobuf/compiler/java/names.h | 20 ++++++++++---------- diff --git a/recipe/patches/0005-do-not-install-vendored-gmock.patch b/recipe/patches/0005-do-not-install-vendored-gmock.patch index 96b9eac..1913110 100644 --- a/recipe/patches/0005-do-not-install-vendored-gmock.patch +++ b/recipe/patches/0005-do-not-install-vendored-gmock.patch @@ -1,17 +1,17 @@ -From 8e04212bac883743aea9e19e77976f44ffdb5ad6 Mon Sep 17 00:00:00 2001 +From 0a4c289b1e86248be97623cdc95d0676528e649d Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 9 Aug 2023 14:06:35 +1100 -Subject: [PATCH 5/9] do not install vendored gmock +Subject: [PATCH 5/7] do not install vendored gmock --- cmake/install.cmake | 7 ------- 1 file changed, 7 deletions(-) diff --git a/cmake/install.cmake b/cmake/install.cmake -index c4757f06c..f68ec217b 100644 +index 5d89a5f5f..b516cbab2 100644 --- a/cmake/install.cmake +++ b/cmake/install.cmake -@@ -136,10 +136,3 @@ if(protobuf_INSTALL_EXAMPLES) +@@ -138,10 +138,3 @@ if(protobuf_INSTALL_EXAMPLES) DESTINATION "${CMAKE_INSTALL_EXAMPLEDIR}" COMPONENT protobuf-examples) endif() diff --git a/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch b/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch deleted file mode 100644 index 6efb996..0000000 --- a/recipe/patches/0006-Fix-getting-env-variables-on-windows.patch +++ /dev/null @@ -1,28 +0,0 @@ -From ceff6146f5e57b38dd4bd3e66b4798721f57179c Mon Sep 17 00:00:00 2001 -From: Isuru Fernando -Date: Fri, 19 Jan 2024 19:14:50 -0600 -Subject: [PATCH 6/9] Fix getting env variables on windows - ---- - src/google/protobuf/compiler/mock_code_generator.cc | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/src/google/protobuf/compiler/mock_code_generator.cc b/src/google/protobuf/compiler/mock_code_generator.cc -index d7057a1e6..736e895bf 100644 ---- a/src/google/protobuf/compiler/mock_code_generator.cc -+++ b/src/google/protobuf/compiler/mock_code_generator.cc -@@ -73,7 +73,13 @@ static constexpr absl::string_view kSecondInsertionPoint = - " # @@protoc_insertion_point(second_mock_insertion_point) is here\n"; - - MockCodeGenerator::MockCodeGenerator(absl::string_view name) : name_(name) { -- absl::string_view key = getenv("TEST_CASE"); -+ const char* c_key = getenv("TEST_CASE"); -+ if (c_key == NULL) { -+ // In Windows, setting 'TEST_CASE=' is equivalent to unsetting -+ // and therefore c_key can be NULL -+ c_key = ""; -+ } -+ absl::string_view key(c_key); - if (key == "no_editions") { - suppressed_features_ |= CodeGenerator::FEATURE_SUPPORTS_EDITIONS; - } else if (key == "invalid_features") { diff --git a/recipe/patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch b/recipe/patches/0006-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch similarity index 84% rename from recipe/patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch rename to recipe/patches/0006-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch index 44b7a1c..d002f00 100644 --- a/recipe/patches/0008-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch +++ b/recipe/patches/0006-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch @@ -1,14 +1,14 @@ -From c0759889e6f5a9899532e54bde8232564a1ff8dc Mon Sep 17 00:00:00 2001 +From e433bf1e12f6b7049669cbe855ce95da8eb30dbf Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 20 Feb 2024 20:27:36 +1100 -Subject: [PATCH 8/9] fix pkg-config metadata for shared abseil on windows +Subject: [PATCH 6/7] fix pkg-config metadata for shared abseil on windows --- cmake/install.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake/install.cmake b/cmake/install.cmake -index f68ec217b..60871aab9 100644 +index b516cbab2..ee772b461 100644 --- a/cmake/install.cmake +++ b/cmake/install.cmake @@ -1,7 +1,10 @@ diff --git a/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch b/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch deleted file mode 100644 index 6e19ab9..0000000 --- a/recipe/patches/0007-Workaround-false-positive-warning-in-MSVC.-Fixes-htt.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 96948fa966e91df3fe6b4a788152b0b83c2ca9b6 Mon Sep 17 00:00:00 2001 -From: Protobuf Team Bot -Date: Thu, 2 Nov 2023 09:13:31 -0700 -Subject: [PATCH 7/9] Workaround false positive warning in MSVC. Fixes - https://github.com/protocolbuffers/protobuf/issues/14602 - -PiperOrigin-RevId: 578875053 ---- - src/google/protobuf/map_field.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/google/protobuf/map_field.h b/src/google/protobuf/map_field.h -index 8aa9e45fe..8388f8a2e 100644 ---- a/src/google/protobuf/map_field.h -+++ b/src/google/protobuf/map_field.h -@@ -678,7 +678,7 @@ class MapField final : public TypeDefinedMapFieldBase { - template --constexpr MapFieldBase::VTable -+PROTOBUF_CONSTINIT const MapFieldBase::VTable - MapField::kVTable = - MapField::template MakeVTable(); - diff --git a/recipe/patches/0009-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch b/recipe/patches/0007-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch similarity index 76% rename from recipe/patches/0009-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch rename to recipe/patches/0007-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch index 90176d7..44e55a9 100644 --- a/recipe/patches/0009-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch +++ b/recipe/patches/0007-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch @@ -1,7 +1,7 @@ -From 02bcda9d01dd12ecf641dba54e0832a97de989f5 Mon Sep 17 00:00:00 2001 +From aeb9fadb27e672c226d75d45b45a14f87fbda3e1 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 20 Feb 2024 22:21:55 +1100 -Subject: [PATCH 9/9] disable MapImplTest.RandomOrdering due to flakiness +Subject: [PATCH 7/7] disable MapImplTest.RandomOrdering due to flakiness see https://google.github.io/googletest/advanced.html#temporarily-disabling-tests --- @@ -9,10 +9,10 @@ see https://google.github.io/googletest/advanced.html#temporarily-disabling-test 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/google/protobuf/map_test.inc b/src/google/protobuf/map_test.inc -index c1b002987..34d45f44d 100644 +index cbd0f4461..2a58cc92a 100644 --- a/src/google/protobuf/map_test.inc +++ b/src/google/protobuf/map_test.inc -@@ -1344,7 +1344,7 @@ bool MapOrderingIsRandom(int a, int b) { +@@ -1349,7 +1349,7 @@ bool MapOrderingIsRandom(int a, int b) { // This test verifies that the iteration order is reasonably random even for // small maps. From 754e7c08a4eb95d01f4a2d05e43650fb47ced7b6 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Mon, 4 Mar 2024 12:11:19 +1100 Subject: [PATCH 174/182] improve pkg-config version logic to handle rc's --- recipe/meta.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fbc0def..23d79eb 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -3,6 +3,14 @@ # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "5" %} +# pkg-config metadata sets yet another version format, not using the major version +# but adding the rc number as a patch version, or 0 for regular releases +{% set pkgconfig_ver = version.split(".")[0] ~ "." ~ version.split(".")[1] %} +{% if version.split(".")[-1].startswith("rc") %} + {% set pkgconfig_ver = pkgconfig_ver ~ "." ~ version.split(".")[-1].replace("rc", "") %} +{% else %} + {% set pkgconfig_ver = pkgconfig_ver ~ "." ~ "0" %} +{% endif %} {% set libraries = ["libprotoc", "libprotobuf", "libprotobuf-lite"] %} @@ -90,8 +98,8 @@ outputs: - if not exist %LIBRARY_LIB%\cmake\protobuf\protobuf-config.cmake exit 1 # [win] # pkg-config - - pkg-config --print-errors --exact-version "{{ version }}.0" protobuf - - pkg-config --print-errors --exact-version "{{ version }}.0" protobuf-lite + - pkg-config --print-errors --exact-version "{{ pkgconfig_ver }}" protobuf + - pkg-config --print-errors --exact-version "{{ pkgconfig_ver }}" protobuf-lite # binary - protoc --help From e87e1c5339c9032311bdbadf3588ddc5ff974669 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 22:33:19 +0000 Subject: [PATCH 175/182] updated v26.0 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 23d79eb..0325038 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "26.0.rc3" %} +{% set version = "26.0" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "5" %} @@ -20,7 +20,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: 74be2b20bb38e5f91e60da19ec4bf59b877ff7583907446cc2080c05aebc60e7 + sha256: e32100a8013870d24ffc37dad6781a61e5d0c99501bcb04d39c340a1c44a8e63 patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch From 5241b9d816a8a0b315b6ca6e2e6901e56e6b3eae Mon Sep 17 00:00:00 2001 From: "conda-forge-curator[bot]" <79913779+conda-forge-curator[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 19:05:29 +0000 Subject: [PATCH 176/182] [ci skip] [skip ci] [cf admin skip] ***NO_CI*** admin migration CondaForgeYAMLTest --- conda-forge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda-forge.yml b/conda-forge.yml index 88d434b..f41eef0 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -15,4 +15,4 @@ provider: linux_aarch64: default linux_ppc64le: default win: azure -test_on_native_only: true +test: native_and_emulated From df3708447945ddd0cc6d0f69a90b631df3378185 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 20 Mar 2024 10:37:07 +1100 Subject: [PATCH 177/182] backport fix for test suite failure on win --- recipe/meta.yaml | 2 + .../0001-use-consistent-cmake-location.patch | 4 +- ...-set-static-lib-extension-on-windows.patch | 6 +- ...always-look-for-shared-abseil-builds.patch | 4 +- ...ctions-in-google-compiler-java-names.patch | 4 +- .../0005-do-not-install-vendored-gmock.patch | 4 +- ...etadata-for-shared-abseil-on-windows.patch | 4 +- ...Test.RandomOrdering-due-to-flakiness.patch | 4 +- ...only-issue-in-our-compiler-unittests.patch | 58 +++++++++++++++++++ 9 files changed, 75 insertions(+), 15 deletions(-) create mode 100644 recipe/patches/0008-Fix-windows-only-issue-in-our-compiler-unittests.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 0325038..7263588 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -33,6 +33,8 @@ source: # skip annoyingly flaky test on windows, see # https://github.com/protocolbuffers/protobuf/issues/8645 - patches/0007-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch # [win] + # backport https://github.com/protocolbuffers/protobuf/pull/16231 + - patches/0008-Fix-windows-only-issue-in-our-compiler-unittests.patch build: number: 0 diff --git a/recipe/patches/0001-use-consistent-cmake-location.patch b/recipe/patches/0001-use-consistent-cmake-location.patch index 824a117..0221f95 100644 --- a/recipe/patches/0001-use-consistent-cmake-location.patch +++ b/recipe/patches/0001-use-consistent-cmake-location.patch @@ -1,7 +1,7 @@ -From bf91bd9f344c51eab74fd15c703da760b4c35043 Mon Sep 17 00:00:00 2001 +From d8881312b1307f5b4c4c2576e3512e68290af874 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 3 Sep 2022 19:48:04 +0200 -Subject: [PATCH 1/7] use consistent cmake location +Subject: [PATCH 1/8] use consistent cmake location --- cmake/install.cmake | 12 +++--------- diff --git a/recipe/patches/0002-set-static-lib-extension-on-windows.patch b/recipe/patches/0002-set-static-lib-extension-on-windows.patch index ddbcdb6..f40faa8 100644 --- a/recipe/patches/0002-set-static-lib-extension-on-windows.patch +++ b/recipe/patches/0002-set-static-lib-extension-on-windows.patch @@ -1,14 +1,14 @@ -From b846e9c954337d00b4f4688a48b1f1b8092b3177 Mon Sep 17 00:00:00 2001 +From 22e5509651b5e084698703390063abeae73a6b9f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 4 Sep 2022 10:57:08 +0200 -Subject: [PATCH 2/7] set static lib extension on windows +Subject: [PATCH 2/8] set static lib extension on windows --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4e23438c8..5c0facb98 100644 +index 06906417a..b6383b767 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -328,6 +328,12 @@ else () diff --git a/recipe/patches/0003-always-look-for-shared-abseil-builds.patch b/recipe/patches/0003-always-look-for-shared-abseil-builds.patch index fb0ce5b..c718bab 100644 --- a/recipe/patches/0003-always-look-for-shared-abseil-builds.patch +++ b/recipe/patches/0003-always-look-for-shared-abseil-builds.patch @@ -1,7 +1,7 @@ -From f0070b8cb07767623d7ba50b3fd6795d79831c1f Mon Sep 17 00:00:00 2001 +From 76e73d4d94848a13bfef089dfc505e2ad0263444 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 13 May 2023 22:43:45 +1100 -Subject: [PATCH 3/7] always look for shared abseil builds +Subject: [PATCH 3/8] always look for shared abseil builds --- cmake/abseil-cpp.cmake | 2 +- diff --git a/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch b/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch index d7b10d1..4ecf6bd 100644 --- a/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch +++ b/recipe/patches/0004-Export-functions-in-google-compiler-java-names.patch @@ -1,7 +1,7 @@ -From 6a4ac83635fcc5b2210d35bcdad86343a4af101d Mon Sep 17 00:00:00 2001 +From 0d41978988135d0c3d1000740cd16ddc3ef0e143 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 14 Jun 2023 11:36:55 +0200 -Subject: [PATCH 4/7] Export functions in google::compiler::java::names +Subject: [PATCH 4/8] Export functions in google::compiler::java::names --- src/google/protobuf/compiler/java/names.h | 20 ++++++++++---------- diff --git a/recipe/patches/0005-do-not-install-vendored-gmock.patch b/recipe/patches/0005-do-not-install-vendored-gmock.patch index 1913110..7557e32 100644 --- a/recipe/patches/0005-do-not-install-vendored-gmock.patch +++ b/recipe/patches/0005-do-not-install-vendored-gmock.patch @@ -1,7 +1,7 @@ -From 0a4c289b1e86248be97623cdc95d0676528e649d Mon Sep 17 00:00:00 2001 +From 1fa22abd2038cd9d40648f5fe9faca8490b6e045 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 9 Aug 2023 14:06:35 +1100 -Subject: [PATCH 5/7] do not install vendored gmock +Subject: [PATCH 5/8] do not install vendored gmock --- cmake/install.cmake | 7 ------- diff --git a/recipe/patches/0006-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch b/recipe/patches/0006-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch index d002f00..b9efb85 100644 --- a/recipe/patches/0006-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch +++ b/recipe/patches/0006-fix-pkg-config-metadata-for-shared-abseil-on-windows.patch @@ -1,7 +1,7 @@ -From e433bf1e12f6b7049669cbe855ce95da8eb30dbf Mon Sep 17 00:00:00 2001 +From 569c7cc8c2def75473921b883682da1f33269d8d Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 20 Feb 2024 20:27:36 +1100 -Subject: [PATCH 6/7] fix pkg-config metadata for shared abseil on windows +Subject: [PATCH 6/8] fix pkg-config metadata for shared abseil on windows --- cmake/install.cmake | 5 ++++- diff --git a/recipe/patches/0007-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch b/recipe/patches/0007-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch index 44e55a9..9abf44e 100644 --- a/recipe/patches/0007-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch +++ b/recipe/patches/0007-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch @@ -1,7 +1,7 @@ -From aeb9fadb27e672c226d75d45b45a14f87fbda3e1 Mon Sep 17 00:00:00 2001 +From a43d86c561c6094f02d5e3b5a1b8d14539cd32fa Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 20 Feb 2024 22:21:55 +1100 -Subject: [PATCH 7/7] disable MapImplTest.RandomOrdering due to flakiness +Subject: [PATCH 7/8] disable MapImplTest.RandomOrdering due to flakiness see https://google.github.io/googletest/advanced.html#temporarily-disabling-tests --- diff --git a/recipe/patches/0008-Fix-windows-only-issue-in-our-compiler-unittests.patch b/recipe/patches/0008-Fix-windows-only-issue-in-our-compiler-unittests.patch new file mode 100644 index 0000000..192aa36 --- /dev/null +++ b/recipe/patches/0008-Fix-windows-only-issue-in-our-compiler-unittests.patch @@ -0,0 +1,58 @@ +From a4ad52b7abda09ec071145cb7253cc1993899295 Mon Sep 17 00:00:00 2001 +From: Mike Kruskal +Date: Tue, 19 Mar 2024 14:47:35 -0700 +Subject: [PATCH 8/8] Fix windows-only issue in our compiler unittests. + +Closes https://github.com/protocolbuffers/protobuf/issues/16026 + +PiperOrigin-RevId: 617301270 +--- + .../protobuf/compiler/mock_code_generator.cc | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +diff --git a/src/google/protobuf/compiler/mock_code_generator.cc b/src/google/protobuf/compiler/mock_code_generator.cc +index 665262d71..7c8912631 100644 +--- a/src/google/protobuf/compiler/mock_code_generator.cc ++++ b/src/google/protobuf/compiler/mock_code_generator.cc +@@ -50,6 +50,7 @@ + namespace google { + namespace protobuf { + namespace compiler { ++namespace { + + // Returns the list of the names of files in all_files in the form of a + // comma-separated string. +@@ -71,14 +72,20 @@ static constexpr absl::string_view kFirstInsertionPoint = + static constexpr absl::string_view kSecondInsertionPoint = + " # @@protoc_insertion_point(second_mock_insertion_point) is here\n"; + +-MockCodeGenerator::MockCodeGenerator(absl::string_view name) : name_(name) { ++absl::string_view GetTestCase() { + const char* c_key = getenv("TEST_CASE"); + if (c_key == NULL) { + // In Windows, setting 'TEST_CASE=' is equivalent to unsetting +- // and therefore c_key can be NULL +- c_key = ""; ++ // and therefore c_key can be nullptr ++ return ""; + } +- absl::string_view key(c_key); ++ return c_key; ++} ++ ++} // namespace ++ ++MockCodeGenerator::MockCodeGenerator(absl::string_view name) : name_(name) { ++ absl::string_view key = GetTestCase(); + if (key == "no_editions") { + suppressed_features_ |= CodeGenerator::FEATURE_SUPPORTS_EDITIONS; + } else if (key == "invalid_features") { +@@ -214,7 +221,7 @@ bool MockCodeGenerator::Generate(const FileDescriptor* file, + std::string* error) const { + // Override minimum/maximum after generating the pool to simulate a plugin + // that "works" but doesn't advertise support of the current edition. +- absl::string_view test_case = getenv("TEST_CASE"); ++ absl::string_view test_case = GetTestCase(); + if (test_case == "high_minimum") { + minimum_edition_ = Edition::EDITION_99997_TEST_ONLY; + } else if (test_case == "low_maximum") { From b8b8409839786d4a87202c265984cadb3589ee9b Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 28 Mar 2024 07:01:18 +0000 Subject: [PATCH 178/182] updated v26.1 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7263588..cca7ad8 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ # keep this without major version to let the bot pick it up -{% set version = "26.0" %} +{% set version = "26.1" %} # protobuf doesn't add the major version in the tag, it's defined per language in # https://github.com/protocolbuffers/protobuf/blob/main/version.json {% set major = "5" %} @@ -20,7 +20,7 @@ package: source: - url: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v{{ version.replace(".rc", "-rc") }}.tar.gz - sha256: e32100a8013870d24ffc37dad6781a61e5d0c99501bcb04d39c340a1c44a8e63 + sha256: 4fc5ff1b2c339fb86cd3a25f0b5311478ab081e65ad258c6789359cd84d421f8 patches: - patches/0001-use-consistent-cmake-location.patch - patches/0002-set-static-lib-extension-on-windows.patch From d206dbde4e3ab03a12c168158f06d0a9bb9febd8 Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 28 Mar 2024 07:01:33 +0000 Subject: [PATCH 179/182] MNT: Re-rendered with conda-build 24.3.0, conda-smithy 3.34.0, and conda-forge-pinning 2024.03.27.17.58.50 --- .azure-pipelines/azure-pipelines-linux.yml | 1 + .azure-pipelines/azure-pipelines-osx.yml | 1 + .ci_support/linux_64_.yaml | 6 ++++++ .ci_support/linux_aarch64_.yaml | 6 ++++++ .ci_support/linux_ppc64le_.yaml | 6 ++++++ .ci_support/osx_64_.yaml | 4 ++++ .ci_support/osx_arm64_.yaml | 4 ++++ .ci_support/win_64_.yaml | 2 ++ .scripts/build_steps.sh | 2 +- .scripts/run_osx_build.sh | 2 +- .scripts/run_win_build.bat | 2 +- azure-pipelines.yml | 4 ++-- 12 files changed, 35 insertions(+), 5 deletions(-) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 2b93a12..aef462c 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -21,6 +21,7 @@ jobs: UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 + variables: {} steps: # configure qemu binfmt-misc running. This allows us to run docker containers diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index f3ff063..730a626 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -15,6 +15,7 @@ jobs: CONFIG: osx_arm64_ UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 + variables: {} steps: # TODO: Fast finish on azure pipelines? diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 42958cd..0d66ae8 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -2,6 +2,10 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: @@ -23,5 +27,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name zlib: - '1.2' diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 9b82bc2..1c87694 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -4,6 +4,10 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_arch: - aarch64 cdt_name: @@ -27,5 +31,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name zlib: - '1.2' diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 4577db4..96cab99 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -2,6 +2,10 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_name: - cos7 channel_sources: @@ -23,5 +27,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - c_stdlib_version + - cdt_name zlib: - '1.2' diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 0fd8118..8662b7a 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -4,6 +4,10 @@ c_compiler: - clang c_compiler_version: - '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.13' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 2c098f6..cf897a2 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -4,6 +4,10 @@ c_compiler: - clang c_compiler_version: - '16' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index 673a26d..0e66ec7 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -1,5 +1,7 @@ c_compiler: - vs2019 +c_stdlib: +- vs channel_sources: - conda-forge channel_targets: diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 9121002..899ba03 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -68,7 +68,7 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 16daa69..07dff21 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -81,7 +81,7 @@ else EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi - conda build ./recipe -m ./.ci_support/${CONFIG}.yaml \ + conda-build ./recipe -m ./.ci_support/${CONFIG}.yaml \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index f801cf4..6d54697 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -55,7 +55,7 @@ call :end_group :: Build the recipe echo Building recipe -conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% if !errorlevel! neq 0 exit /b !errorlevel! :: Prepare some environment variables for the upload step diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6b346f5..e5306da 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -4,5 +4,5 @@ jobs: - template: ./.azure-pipelines/azure-pipelines-linux.yml - - template: ./.azure-pipelines/azure-pipelines-win.yml - - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file + - template: ./.azure-pipelines/azure-pipelines-osx.yml + - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file From 0e31b728a0b82d9532bcd6a6412018eb8ad28224 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Thu, 28 Mar 2024 08:40:54 +0100 Subject: [PATCH 180/182] Remove patch of a previous backport Signed-off-by: Julien Jerphanion --- recipe/meta.yaml | 2 - ...only-issue-in-our-compiler-unittests.patch | 58 ------------------- 2 files changed, 60 deletions(-) delete mode 100644 recipe/patches/0008-Fix-windows-only-issue-in-our-compiler-unittests.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index cca7ad8..295a0bb 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -33,8 +33,6 @@ source: # skip annoyingly flaky test on windows, see # https://github.com/protocolbuffers/protobuf/issues/8645 - patches/0007-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch # [win] - # backport https://github.com/protocolbuffers/protobuf/pull/16231 - - patches/0008-Fix-windows-only-issue-in-our-compiler-unittests.patch build: number: 0 diff --git a/recipe/patches/0008-Fix-windows-only-issue-in-our-compiler-unittests.patch b/recipe/patches/0008-Fix-windows-only-issue-in-our-compiler-unittests.patch deleted file mode 100644 index 192aa36..0000000 --- a/recipe/patches/0008-Fix-windows-only-issue-in-our-compiler-unittests.patch +++ /dev/null @@ -1,58 +0,0 @@ -From a4ad52b7abda09ec071145cb7253cc1993899295 Mon Sep 17 00:00:00 2001 -From: Mike Kruskal -Date: Tue, 19 Mar 2024 14:47:35 -0700 -Subject: [PATCH 8/8] Fix windows-only issue in our compiler unittests. - -Closes https://github.com/protocolbuffers/protobuf/issues/16026 - -PiperOrigin-RevId: 617301270 ---- - .../protobuf/compiler/mock_code_generator.cc | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -diff --git a/src/google/protobuf/compiler/mock_code_generator.cc b/src/google/protobuf/compiler/mock_code_generator.cc -index 665262d71..7c8912631 100644 ---- a/src/google/protobuf/compiler/mock_code_generator.cc -+++ b/src/google/protobuf/compiler/mock_code_generator.cc -@@ -50,6 +50,7 @@ - namespace google { - namespace protobuf { - namespace compiler { -+namespace { - - // Returns the list of the names of files in all_files in the form of a - // comma-separated string. -@@ -71,14 +72,20 @@ static constexpr absl::string_view kFirstInsertionPoint = - static constexpr absl::string_view kSecondInsertionPoint = - " # @@protoc_insertion_point(second_mock_insertion_point) is here\n"; - --MockCodeGenerator::MockCodeGenerator(absl::string_view name) : name_(name) { -+absl::string_view GetTestCase() { - const char* c_key = getenv("TEST_CASE"); - if (c_key == NULL) { - // In Windows, setting 'TEST_CASE=' is equivalent to unsetting -- // and therefore c_key can be NULL -- c_key = ""; -+ // and therefore c_key can be nullptr -+ return ""; - } -- absl::string_view key(c_key); -+ return c_key; -+} -+ -+} // namespace -+ -+MockCodeGenerator::MockCodeGenerator(absl::string_view name) : name_(name) { -+ absl::string_view key = GetTestCase(); - if (key == "no_editions") { - suppressed_features_ |= CodeGenerator::FEATURE_SUPPORTS_EDITIONS; - } else if (key == "invalid_features") { -@@ -214,7 +221,7 @@ bool MockCodeGenerator::Generate(const FileDescriptor* file, - std::string* error) const { - // Override minimum/maximum after generating the pool to simulate a plugin - // that "works" but doesn't advertise support of the current edition. -- absl::string_view test_case = getenv("TEST_CASE"); -+ absl::string_view test_case = GetTestCase(); - if (test_case == "high_minimum") { - minimum_edition_ = Edition::EDITION_99997_TEST_ONLY; - } else if (test_case == "low_maximum") { From b5d70078491e566facc55050044298e740164879 Mon Sep 17 00:00:00 2001 From: Charles Bousseau Date: Fri, 10 May 2024 10:05:00 -0400 Subject: [PATCH 181/182] adapt recipe --- .gitattributes | 1 + .gitignore | 2 +- abs.yaml | 3 + ...0002-remove-failing-json-parser-test.patch | 69 ------------------- recipe/0003-remove-large-output-test.patch | 39 ----------- recipe/LICENSE.txt | 13 ---- recipe/build-lib.sh | 2 + recipe/build-pyheaders.sh | 6 +- recipe/conda_build_config.yaml | 19 +++-- recipe/meta.yaml | 31 +++++---- 10 files changed, 43 insertions(+), 142 deletions(-) create mode 100644 abs.yaml delete mode 100644 recipe/0002-remove-failing-json-parser-test.patch delete mode 100644 recipe/0003-remove-large-output-test.patch delete mode 100644 recipe/LICENSE.txt diff --git a/.gitattributes b/.gitattributes index 7f32763..d78d4b0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -23,5 +23,6 @@ bld.bat text eol=crlf LICENSE.txt linguist-generated=true README.md linguist-generated=true azure-pipelines.yml linguist-generated=true +conda-forge.yml linguist-generated=true build-locally.py linguist-generated=true shippable.yml linguist-generated=true diff --git a/.gitignore b/.gitignore index 179afe5..f044c58 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ # Ignore all files and folders in root * -!/conda-forge.yml +!/abs.yml # Don't ignore any files/folders if the parent folder is 'un-ignored' # This also avoids warnings when adding an already-checked file with an ignored parent. diff --git a/abs.yaml b/abs.yaml new file mode 100644 index 0000000..54f1249 --- /dev/null +++ b/abs.yaml @@ -0,0 +1,3 @@ +channels: + - https://staging.continuum.io/prefect/fs/gtest-feedstock/pr6/a70f57d + - https://staging.continuum.io/prefect/fs/abseil-cpp-feedstock/pr9/b11d9fd \ No newline at end of file diff --git a/recipe/0002-remove-failing-json-parser-test.patch b/recipe/0002-remove-failing-json-parser-test.patch deleted file mode 100644 index 5876961..0000000 --- a/recipe/0002-remove-failing-json-parser-test.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff --git a/src/google/protobuf/util/internal/json_stream_parser_test.cc b/src/google/protobuf/util/internal/json_stream_parser_test.cc -index aa4751d..b2abe1a 100644 ---- a/src/google/protobuf/util/internal/json_stream_parser_test.cc -+++ b/src/google/protobuf/util/internal/json_stream_parser_test.cc -@@ -389,35 +389,35 @@ TEST_F(JsonStreamParserTest, ArrayComplexValues) { - } - - --// - object containing array, object, value (true, false, null, num, string) --TEST_F(JsonStreamParserTest, ObjectValues) { -- StringPiece str = -- "{t: true, f: false, n: null, s: 'a string', d: \"another string\", pi: " -- "22, ni: -127, pd: 45.3, nd: -1056.4, pl: 11779497823553162765, l: [[]], " -- "o: {'key': true}}"; -- for (int i = 0; i <= str.length(); ++i) { -- ow_.StartObject("") -- ->RenderBool("t", true) -- ->RenderBool("f", false) -- ->RenderNull("n") -- ->RenderString("s", "a string") -- ->RenderString("d", "another string") -- ->RenderUint64("pi", 22) -- ->RenderInt64("ni", -127) -- ->RenderDouble("pd", 45.3) -- ->RenderDouble("nd", -1056.4) -- ->RenderUint64("pl", uint64{11779497823553162765u}) -- ->StartList("l") -- ->StartList("") -- ->EndList() -- ->EndList() -- ->StartObject("o") -- ->RenderBool("key", true) -- ->EndObject() -- ->EndObject(); -- DoTest(str, i); -- } --} -+// // - object containing array, object, value (true, false, null, num, string) -+// TEST_F(JsonStreamParserTest, ObjectValues) { -+// StringPiece str = -+// "{t: true, f: false, n: null, s: 'a string', d: \"another string\", pi: " -+// "22, ni: -127, pd: 45.3, nd: -1056.4, pl: 11779497823553162765, l: [[]], " -+// "o: {'key': true}}"; -+// for (int i = 0; i <= str.length(); ++i) { -+// ow_.StartObject("") -+// ->RenderBool("t", true) -+// ->RenderBool("f", false) -+// ->RenderNull("n") -+// ->RenderString("s", "a string") -+// ->RenderString("d", "another string") -+// ->RenderUint64("pi", 22) -+// ->RenderInt64("ni", -127) -+// ->RenderDouble("pd", 45.3) -+// ->RenderDouble("nd", -1056.4) -+// ->RenderUint64("pl", uint64{11779497823553162765u}) -+// ->StartList("l") -+// ->StartList("") -+// ->EndList() -+// ->EndList() -+// ->StartObject("o") -+// ->RenderBool("key", true) -+// ->EndObject() -+// ->EndObject(); -+// DoTest(str, i); -+// } -+// } - - - TEST_F(JsonStreamParserTest, RejectNonUtf8WhenNotCoerced) { diff --git a/recipe/0003-remove-large-output-test.patch b/recipe/0003-remove-large-output-test.patch deleted file mode 100644 index 74abfe8..0000000 --- a/recipe/0003-remove-large-output-test.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/src/google/protobuf/io/zero_copy_stream_unittest.cc b/src/google/protobuf/io/zero_copy_stream_unittest.cc -index cc53949..4ffd1c0 100644 ---- a/src/google/protobuf/io/zero_copy_stream_unittest.cc -+++ b/src/google/protobuf/io/zero_copy_stream_unittest.cc -@@ -712,20 +712,20 @@ TEST_F(IoTest, StringIo) { - } - } - --// Verifies that outputs up to kint32max can be created. --TEST_F(IoTest, LargeOutput) { -- std::string str; -- StringOutputStream output(&str); -- void* unused_data; -- int size; -- // Repeatedly calling Next should eventually grow the buffer to kint32max. -- do { -- EXPECT_TRUE(output.Next(&unused_data, &size)); -- } while (str.size() < std::numeric_limits::max()); -- // Further increases should be possible. -- output.Next(&unused_data, &size); -- EXPECT_GT(size, 0); --} -+// // Verifies that outputs up to kint32max can be created. -+// TEST_F(IoTest, LargeOutput) { -+// std::string str; -+// StringOutputStream output(&str); -+// void* unused_data; -+// int size; -+// // Repeatedly calling Next should eventually grow the buffer to kint32max. -+// do { -+// EXPECT_TRUE(output.Next(&unused_data, &size)); -+// } while (str.size() < std::numeric_limits::max()); -+// // Further increases should be possible. -+// output.Next(&unused_data, &size); -+// EXPECT_GT(size, 0); -+// } - - - // To test files, we create a temporary file, write, read, truncate, repeat. diff --git a/recipe/LICENSE.txt b/recipe/LICENSE.txt deleted file mode 100644 index 72dc8fd..0000000 --- a/recipe/LICENSE.txt +++ /dev/null @@ -1,13 +0,0 @@ -BSD 3-clause license -Copyright (c) 2015-2018, conda-forge -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/recipe/build-lib.sh b/recipe/build-lib.sh index 044c3c2..eab7700 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -1,6 +1,8 @@ #!/bin/bash set -ex +cd ${SRC_DIR} + if [[ "$(uname)" == "Linux" ]]; then # protobuf uses PROTOBUF_OPT_FLAG to set the optimization level # unit test can fail if optmization above 0 are used. diff --git a/recipe/build-pyheaders.sh b/recipe/build-pyheaders.sh index 65b6710..7c231c2 100644 --- a/recipe/build-pyheaders.sh +++ b/recipe/build-pyheaders.sh @@ -2,4 +2,8 @@ set -exuo pipefail -rsync -a --prune-empty-dirs --include '*/' --include '*.h' --exclude '*' python/ $PREFIX/include/ +# rsync -a --prune-empty-dirs --include '*/' --include '*.h' --exclude '*' python/ $PREFIX/include/ +cd python/ +find . -type d -exec mkdir -p $PREFIX/include/{} \; +find . -type f -name '*.h' -exec cp {} $PREFIX/include/{} \; +find $PREFIX/include/ -type d -empty -delete \ No newline at end of file diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 3f0daee..d8fcd1d 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -1,4 +1,15 @@ -c_compiler_version: # [linux and ppc64le] - - 8 # [linux and ppc64le] -cxx_compiler_version: # [linux and ppc64le] - - 8 # [linux and ppc64le] \ No newline at end of file +# https://github.com/protocolbuffers/protobuf/blob/v26.1/Protobuf-C%2B%2B.podspec#L36 +# also abseil now only support MacOS >=10.13, see +# https://github.com/abseil/abseil-cpp#support and +# https://github.com/abseil/abseil-cpp/issues/1513 +MACOSX_SDK_VERSION: # [osx and x86_64] + - "10.13" # [osx and x86_64] +MACOSX_DEPLOYMENT_TARGET: # [osx and x86_64] + - "10.13" # [osx and x86_64] +CONDA_BUILD_SYSROOT: # [osx and x86_64] + - /opt/MacOSX10.13.sdk # [osx and x86_64] + +c_compiler: # [win] + - vs2019 # [win] +cxx_compiler: # [win] + - vs2019 # [win] \ No newline at end of file diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d6c841e..aa9623d 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -63,16 +63,17 @@ outputs: - {{ compiler('c') }} - {{ compiler('cxx') }} - cmake - - ninja + - ninja-base host: - - gtest - - jsoncpp - - libabseil + - gtest 1.14.0 + - jsoncpp 1.9.4 + - libabseil 20240116.2 # requires abseil test targets to build with tests enabled - libabseil-tests - - zlib + - zlib {{ zlib }} run: - - ucrt # [win] + - zlib # bounds through run_exports + - libabseil # bounds through run_exports # following google's C++ support policy, protobuf only support MacOS >=10.13, see: # https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md # https://github.com/protocolbuffers/protobuf/blob/v24.0/Protobuf-C%2B%2B.podspec#L29 @@ -132,15 +133,18 @@ outputs: - {{ compiler('c') }} - {{ compiler('cxx') }} - cmake - - ninja + - ninja-base host: - - gtest - - jsoncpp - - libabseil + - gtest 1.14.0 + - jsoncpp 1.9.4 + - libabseil 20240116.2 + # requires abseil test targets to build with tests enabled - libabseil-tests - - zlib + - zlib {{ zlib }} - {{ pin_subpackage('libprotobuf', exact=True) }} run: + - zlib # bounds through run_exports + - libabseil # bounds through run_exports - {{ pin_subpackage('libprotobuf', exact=True) }} test: requires: @@ -148,8 +152,7 @@ outputs: # https://discourse.cmake.org/t/questions-about-find-package-cli-msvc/6194 - {{ compiler('cxx') }} - cmake - - ninja - - zlib + - ninja-base files: - cmake_test/ commands: @@ -169,8 +172,6 @@ outputs: script: build-pyheaders.sh # [unix] script: build-pyheaders.bat # [win] requirements: - build: - - rsync # [unix] host: - {{ pin_subpackage('libprotobuf', exact=True) }} run_constrained: From ee9d63331c8a6457fcd20d636855683d57312f57 Mon Sep 17 00:00:00 2001 From: Charles Bousseau Date: Mon, 13 May 2024 14:50:59 -0400 Subject: [PATCH 182/182] workaround stdout capture in osx tests --- recipe/meta.yaml | 1 + ...8-do-not-capture-stdout-on-osx-tests.patch | 65 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 recipe/patches/0008-do-not-capture-stdout-on-osx-tests.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index aa9623d..00dd208 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -33,6 +33,7 @@ source: # skip annoyingly flaky test on windows, see # https://github.com/protocolbuffers/protobuf/issues/8645 - patches/0007-disable-MapImplTest.RandomOrdering-due-to-flakiness.patch # [win] + - patches/0008-do-not-capture-stdout-on-osx-tests.patch # [osx] build: number: 0 diff --git a/recipe/patches/0008-do-not-capture-stdout-on-osx-tests.patch b/recipe/patches/0008-do-not-capture-stdout-on-osx-tests.patch new file mode 100644 index 0000000..96293ff --- /dev/null +++ b/recipe/patches/0008-do-not-capture-stdout-on-osx-tests.patch @@ -0,0 +1,65 @@ +From 3710e6b1af4cbd61fbb6fb26cc66f2e26cec8f5c Mon Sep 17 00:00:00 2001 +From: Charles Bousseau +Date: Mon, 13 May 2024 14:00:13 -0400 +Subject: [PATCH] Do not capture stdout on osx tests + +--- + .../protobuf/compiler/command_line_interface_tester.cc | 5 +++-- + .../protobuf/compiler/command_line_interface_unittest.cc | 6 +++++- + 2 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/src/google/protobuf/compiler/command_line_interface_tester.cc b/src/google/protobuf/compiler/command_line_interface_tester.cc +index 794810832..5227fcee1 100644 +--- a/src/google/protobuf/compiler/command_line_interface_tester.cc ++++ b/src/google/protobuf/compiler/command_line_interface_tester.cc +@@ -70,7 +70,8 @@ void CommandLineInterfaceTester::RunProtocWithArgs( + // TODO: Cygwin doesn't work well if we try to capture stderr and + // stdout at the same time. Need to figure out why and add this capture back + // for Cygwin. +-#if !defined(__CYGWIN__) ++ // Anaconda: This happens on our OSX builders as well. ++#if !defined(__CYGWIN__) && !defined(__APPLE__) + CaptureTestStdout(); + #endif + CaptureTestStderr(); +@@ -78,7 +79,7 @@ void CommandLineInterfaceTester::RunProtocWithArgs( + return_code_ = cli_.Run(static_cast(args.size()), argv.data()); + + error_text_ = GetCapturedTestStderr(); +-#if !defined(__CYGWIN__) ++#if !defined(__CYGWIN__) && !defined(__APPLE__) + captured_stdout_ = GetCapturedTestStdout(); + #endif + } +diff --git a/src/google/protobuf/compiler/command_line_interface_unittest.cc b/src/google/protobuf/compiler/command_line_interface_unittest.cc +index d993798d7..956920bb0 100644 +--- a/src/google/protobuf/compiler/command_line_interface_unittest.cc ++++ b/src/google/protobuf/compiler/command_line_interface_unittest.cc +@@ -3077,11 +3077,14 @@ TEST_F(CommandLineInterfaceTest, GeneratorPluginNotAllowed) { + TEST_F(CommandLineInterfaceTest, HelpText) { + Run("test_exec_name --help"); + ++// Anaconda: Issue capturing both stdout and sterr on osx builders ++#if !defined(__APPLE__) + ExpectCapturedStdoutSubstringWithZeroReturnCode("Usage: test_exec_name "); + ExpectCapturedStdoutSubstringWithZeroReturnCode("--test_out=OUT_DIR"); + ExpectCapturedStdoutSubstringWithZeroReturnCode("Test output."); + ExpectCapturedStdoutSubstringWithZeroReturnCode("--alt_out=OUT_DIR"); + ExpectCapturedStdoutSubstringWithZeroReturnCode("Alt output."); ++#endif + } + + TEST_F(CommandLineInterfaceTest, GccFormatErrors) { +@@ -3368,7 +3371,8 @@ TEST_F(CommandLineInterfaceTest, PrintFreeFieldNumbers) { + // TODO: Cygwin doesn't work well if we try to capture stderr and + // stdout at the same time. Need to figure out why and add this test back + // for Cygwin. +-#if !defined(__CYGWIN__) ++ // Anaconda: This happens on our OSX builders as well. ++#if !defined(__CYGWIN__) && !defined(__APPLE__) + ExpectCapturedStdout( + "foo.Foo free: 1 3 6-7 9 11-INF\n" + "Bar free: 1 3 6-7 9 11-INF\n" +-- +2.39.3 (Apple Git-146) +