Skip to content

Add UDA - #30647

Merged
traversaro merged 95 commits into
conda-forge:mainfrom
munechika-koyo:uda
Nov 22, 2025
Merged

Add UDA#30647
traversaro merged 95 commits into
conda-forge:mainfrom
munechika-koyo:uda

Conversation

@munechika-koyo

@munechika-koyo munechika-koyo commented Jul 26, 2025

Copy link
Copy Markdown
Contributor

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

@github-actions

Copy link
Copy Markdown
Contributor

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@conda-forge-admin

conda-forge-admin commented Jul 26, 2025

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/uda/recipe.yaml) and found some lint.

Here's what I've got...

For recipes/uda/recipe.yaml:

  • ❌ The recipe must have a build/number section.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/19225001569. Examine the logs at this URL for more detail.

@github-actions

github-actions Bot commented Jul 26, 2025

Copy link
Copy Markdown
Contributor

Hi! This is the staged-recipes linter and I found some lint.

It looks like some changes were made outside the recipes/ directory. To ensure everything runs smoothly, please make sure that recipes are only added to the recipes/ directory and no other files are changed.

If these changes are intentional (and you aren't submitting a recipe), please add a maintenance label to the PR.

File-specific lints and/or hints:

  • .ci_support/build_all.py:
    • lints:
      • Do not edit files outside of the recipes/ directory.

@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/xdr/recipe.yaml, recipes/uda/recipe.yaml) and found some lint.

Here's what I've got...

For recipes/xdr/recipe.yaml:

  • ❌ pin_compatible should be used instead of pin_subpackage for xdr because it is not a known output of this recipe: ['portablexdr'].

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/19231930660. Examine the logs at this URL for more detail.

@conda-forge-admin

conda-forge-admin commented Nov 10, 2025

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/uda/recipe.yaml, recipes/portablexdr/recipe.yaml) and found it was in an excellent condition.

Comment thread recipes/portablexdr/add-cmake-support.patch
@munechika-koyo

Copy link
Copy Markdown
Contributor Author

@traversaro I believe this PR is ready to be merged. Could you kindly provide final confirmation?

Comment thread recipes/uda/recipe.yaml Outdated
- ninja
- pkg-config
host:
- libxml2

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be libxml2-devel

@munechika-koyo munechika-koyo Nov 18, 2025

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed to libxml2-devel 2.14.* because the pinning version in conda-forge-pinning is not available on the conda-forge repo.

Comment thread recipes/uda/recipe.yaml
run:
- if: linux and x86_64
then: libtirpc
ignore_run_exports:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain why you can ignore these run_exports?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because ratter-build warned that they were over-linking.
Honestly, the current build script includes nearly all wrapper builds, since I ported it from the previous cache build.
Therefore, Python is not required as a run-time dependency for this core package.

According to the source codes, the rest of them are required when creating object files as PRIVATE and are not specified when creating the shared library.
So, I just omitted them from runtime deps.

Comment thread recipes/uda/recipe.yaml
- zlib
- dlfcn-win32
run_exports:
- ${{ pin_subpackage("libuda-client", upper_bound="x.x") }}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure that the ABI does not change on patch releases?

@munechika-koyo munechika-koyo Nov 18, 2025

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Presumably, patch releases usually happen when applying bug fixes.
So it should work

Comment thread recipes/portablexdr/recipe.yaml Outdated
- cmake
- ninja
run_exports:
- ${{ pin_subpackage('portablexdr', upper_bound='x.x') }}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure that the ABI does not change on patch releases?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed to exact pinning.

@traversaro
traversaro merged commit 7a86ce0 into conda-forge:main Nov 22, 2025
8 checks passed
@traversaro

Copy link
Copy Markdown
Contributor

Thanks @munechika-koyo !

@munechika-koyo

Copy link
Copy Markdown
Contributor Author

@traversaro Thank you for your continued support!

@munechika-koyo
munechika-koyo deleted the uda branch November 23, 2025 00:12
mnfienen pushed a commit to mnfienen/staged-recipes that referenced this pull request Nov 25, 2025
* Add UDA recipe and build scripts for multiple platforms

* Add tests for C++ and Java clients in UDA recipe

* Remove pip and setuptools from build requirements for cross-compile

* fix symlink for UDA jar file in Java client output

* Set experimental build flag for Rattler in build scripts

* Add patches for no cast function type and CLI help improvements

* Revert "Set experimental build flag for Rattler in build scripts"

This reverts commit 4e67e40.

* Add experimental flag to Rattler build command

* Fix Java JAR filename format in recipe.yaml

* Fix python version for cache build because of no need to compile for python variant

* Enable LibMemcached in CMake configuration and update recipe.yaml to include it as a dependency for Unix systems

* Add udaClient.patch to fix the error at `udaClient.cpp`

* add exclude files for python-related path

* Add libmemcached as a runtime requirement for Unix systems

* Add libtirpc as a runtime requirement for Linux x86_64 systems

* Update test outputs to include pkgconfig file for C++ client

* Add libxml2 at python build

* Add stdlib requirement for build in recipe.yaml

* Add configuration and build steps for Portable XDR in build_cache.bat

* Fix typo in cmake command in build_cache.bat

* Add `dlfcn-win32` dependency for Windows builds in recipe.yaml

* Add CMake policy version minimum for Portable XDR configuration

* Fix build paths for Portable XDR and UDA client in build_cache.bat

* Add patch for `error: variable 'num_cached' set but not used`

* Add environment variable setup for UDA client in build_cache.bat

* Move environment variable settings for UDA client to cmake command in build_cache.bat

* Add `zlib` to Windows dependencies in recipe.yaml

* Update UDA client build configuration to use library variables for paths

* Update build_cache.bat to use LIBRARY_PREFIX for installation paths

* Disable MinGW for UDA client build configuration

* Revert "Disable MinGW for UDA client build configuration"

This reverts commit 97658e3.

* Fix build configuration for Portable XDR and UDA client by ensuring shared libraries are disabled and specifying correct library paths.

* Remove conditional Python requirements for cross-platform builds for cache phase

* Refine Windows-specific library exclusions and installation scripts in UDA recipe

* Add Windows-specific dependencies for cache and outputs in UDA recipe

* Update libboost dependency to libboost-devel in UDA recipe

* add libboost and capnproto to ignore_run_exports for better dependency management

* Refactor CMake configuration in build scripts to remove redundant prefix paths

* Enable shellcheck for improved shell script linting in conda-forge.yml

* Update upper bound version pinning for run_exports in UDA recipe

* Fix quoting in Windows installation commands for Python installer

* Fix quoting for SRC_DIR in build_cache.sh to ensure proper path handling

* Revert "Enable shellcheck for improved shell script linting in conda-forge.yml"

This reverts commit e1dc9af.

* Fix variable interpolation for Python installation commands in recipe.yaml

* Fix package_contents test

* Remove runtime dependency on libmemcached because it's exported from host deps

* Remove CMAKE_INSTALL_PREFIX from build_cache.bat to avoid overriding default installation path

* Remove CMAKE_BUILD_TYPE from build_cache.bat, which is given by `%CMAKE_ARGS%`

* Add improve_install_destination.patch to enhance installation paths in CMake

* Add fix_win_setup_py.patch to recipe.yaml for Windows setup improvements

* Update recipe.yaml to include python library

* Remove exclusion of all files in Python client installation

* integrate some patches into one patch

* Remove fix_win_setup_py.patch from patches and update output exclusions for Windows static libraries

* Refactor output specifications for Java client by removing Windows-specific DLL entry and simplifying library references

* Update Python client output specifications to differentiate package paths for Unix and Windows

* Update improve_install_destination.patch to refine installation paths in CMake

* Add shared serialisation patch and update recipe outputs for dependencies

* Update add_shared_serialisation.patch to include shared library build options and installation settings

* Update recipes/uda/recipe.yaml

Co-authored-by: Silvio Traversaro <silvio@traversaro.it>

* 🚚 Move and remove patches and scripts

* Fix UDA build configuration by ensuring UDA_PYTHON_SHARED is set and maintaining IDL wrapper settings

* Add patch for UDA to address build issues

* Update UDA recipe to version 2.9.1 and simplify the recipe

* Remove experimental flag from build_folders_rattler_build function

* Add build number to its section

* Rename patch reference from 'fix-conda-forge#83.patch' to 'pr-conda-forge#83.patch' in UDA recipe

* Update output exclusions and add package contents test in UDA recipe

* Fix patch reference in UDA recipe from 'pr-conda-forge#83.patch' to 'pr-83.patch'

* Add CMake support for xdr recipe

* Uncomment stdlib('c') requirement in xdr recipe

* Fix patch file name

* Add tests section to xdr recipe for package contents verification

* Update package name and source URL in xdr recipe for consistency

* Fix run_exports to pin the correct subpackage name in xdr recipe

* Add skip directive for unix in xdr

* Fix indentation in build script for consistency

* Rename directory

* Add disable-sys-time-include.patch to the portablexdr recipe

* Remove Portable XDR build steps from build_core.bat and add portablexdr as a dependency in recipe.yaml

* Add CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS option to build script

* Revert "Add disable-sys-time-include.patch to the portablexdr recipe"

This reverts commit 92bf468.

* Add port-from-uda.patch to the portablexdr recipe

* Add comments to clarify the purpose of patches in recipe.yaml

* Disable LibMemcached in build configuration and remove related patch from recipe.yaml

* Remove add_log_memcached.patch from uda recipe

* Remove no_cast_function_type.patch from UDA recipe

* Update portablexdr recipe to pin subpackage version exactly

* Update UDA recipe to specify libxml2-devel version for host requirements

---------

Co-authored-by: Silvio Traversaro <silvio@traversaro.it>
alexefaspose pushed a commit to alexefaspose/staged-recipes that referenced this pull request Jun 30, 2026
* Add UDA recipe and build scripts for multiple platforms

* Add tests for C++ and Java clients in UDA recipe

* Remove pip and setuptools from build requirements for cross-compile

* fix symlink for UDA jar file in Java client output

* Set experimental build flag for Rattler in build scripts

* Add patches for no cast function type and CLI help improvements

* Revert "Set experimental build flag for Rattler in build scripts"

This reverts commit 4e67e40.

* Add experimental flag to Rattler build command

* Fix Java JAR filename format in recipe.yaml

* Fix python version for cache build because of no need to compile for python variant

* Enable LibMemcached in CMake configuration and update recipe.yaml to include it as a dependency for Unix systems

* Add udaClient.patch to fix the error at `udaClient.cpp`

* add exclude files for python-related path

* Add libmemcached as a runtime requirement for Unix systems

* Add libtirpc as a runtime requirement for Linux x86_64 systems

* Update test outputs to include pkgconfig file for C++ client

* Add libxml2 at python build

* Add stdlib requirement for build in recipe.yaml

* Add configuration and build steps for Portable XDR in build_cache.bat

* Fix typo in cmake command in build_cache.bat

* Add `dlfcn-win32` dependency for Windows builds in recipe.yaml

* Add CMake policy version minimum for Portable XDR configuration

* Fix build paths for Portable XDR and UDA client in build_cache.bat

* Add patch for `error: variable 'num_cached' set but not used`

* Add environment variable setup for UDA client in build_cache.bat

* Move environment variable settings for UDA client to cmake command in build_cache.bat

* Add `zlib` to Windows dependencies in recipe.yaml

* Update UDA client build configuration to use library variables for paths

* Update build_cache.bat to use LIBRARY_PREFIX for installation paths

* Disable MinGW for UDA client build configuration

* Revert "Disable MinGW for UDA client build configuration"

This reverts commit 97658e3.

* Fix build configuration for Portable XDR and UDA client by ensuring shared libraries are disabled and specifying correct library paths.

* Remove conditional Python requirements for cross-platform builds for cache phase

* Refine Windows-specific library exclusions and installation scripts in UDA recipe

* Add Windows-specific dependencies for cache and outputs in UDA recipe

* Update libboost dependency to libboost-devel in UDA recipe

* add libboost and capnproto to ignore_run_exports for better dependency management

* Refactor CMake configuration in build scripts to remove redundant prefix paths

* Enable shellcheck for improved shell script linting in conda-forge.yml

* Update upper bound version pinning for run_exports in UDA recipe

* Fix quoting in Windows installation commands for Python installer

* Fix quoting for SRC_DIR in build_cache.sh to ensure proper path handling

* Revert "Enable shellcheck for improved shell script linting in conda-forge.yml"

This reverts commit e1dc9af.

* Fix variable interpolation for Python installation commands in recipe.yaml

* Fix package_contents test

* Remove runtime dependency on libmemcached because it's exported from host deps

* Remove CMAKE_INSTALL_PREFIX from build_cache.bat to avoid overriding default installation path

* Remove CMAKE_BUILD_TYPE from build_cache.bat, which is given by `%CMAKE_ARGS%`

* Add improve_install_destination.patch to enhance installation paths in CMake

* Add fix_win_setup_py.patch to recipe.yaml for Windows setup improvements

* Update recipe.yaml to include python library

* Remove exclusion of all files in Python client installation

* integrate some patches into one patch

* Remove fix_win_setup_py.patch from patches and update output exclusions for Windows static libraries

* Refactor output specifications for Java client by removing Windows-specific DLL entry and simplifying library references

* Update Python client output specifications to differentiate package paths for Unix and Windows

* Update improve_install_destination.patch to refine installation paths in CMake

* Add shared serialisation patch and update recipe outputs for dependencies

* Update add_shared_serialisation.patch to include shared library build options and installation settings

* Update recipes/uda/recipe.yaml

Co-authored-by: Silvio Traversaro <silvio@traversaro.it>

* 🚚 Move and remove patches and scripts

* Fix UDA build configuration by ensuring UDA_PYTHON_SHARED is set and maintaining IDL wrapper settings

* Add patch for UDA to address build issues

* Update UDA recipe to version 2.9.1 and simplify the recipe

* Remove experimental flag from build_folders_rattler_build function

* Add build number to its section

* Rename patch reference from 'fix-conda-forge#83.patch' to 'pr-conda-forge#83.patch' in UDA recipe

* Update output exclusions and add package contents test in UDA recipe

* Fix patch reference in UDA recipe from 'pr-conda-forge#83.patch' to 'pr-83.patch'

* Add CMake support for xdr recipe

* Uncomment stdlib('c') requirement in xdr recipe

* Fix patch file name

* Add tests section to xdr recipe for package contents verification

* Update package name and source URL in xdr recipe for consistency

* Fix run_exports to pin the correct subpackage name in xdr recipe

* Add skip directive for unix in xdr

* Fix indentation in build script for consistency

* Rename directory

* Add disable-sys-time-include.patch to the portablexdr recipe

* Remove Portable XDR build steps from build_core.bat and add portablexdr as a dependency in recipe.yaml

* Add CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS option to build script

* Revert "Add disable-sys-time-include.patch to the portablexdr recipe"

This reverts commit 92bf468.

* Add port-from-uda.patch to the portablexdr recipe

* Add comments to clarify the purpose of patches in recipe.yaml

* Disable LibMemcached in build configuration and remove related patch from recipe.yaml

* Remove add_log_memcached.patch from uda recipe

* Remove no_cast_function_type.patch from UDA recipe

* Update portablexdr recipe to pin subpackage version exactly

* Update UDA recipe to specify libxml2-devel version for host requirements

---------

Co-authored-by: Silvio Traversaro <silvio@traversaro.it>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants