这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@phreed
Copy link
Contributor

@phreed phreed commented Nov 14, 2025

#29311
This commit introduces individual conda recipes for Mumble's core dependencies:

  • minhook: Minimalistic x86/x64 API hooking library

Each package includes:

  • Complete recipe.yaml with proper dependency specifications
  • Cross-platform build scripts (build.nu using Nushell)
  • Platform-specific configurations and variants

These recipes replace the previous monolithic Mumble build approach
and enable better dependency management and individual package updates.
Built and tested on Linux, Windows, and macOS platforms.

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.

phreed and others added 14 commits September 10, 2025 14:51
This commit introduces individual conda recipes for Mumble's core dependencies:

- microsoft-gsl: Microsoft Guidelines Support Library
- minhook: Minimalistic x86/x64 API hooking library
- speexdsp: Speex audio codec DSP library
- spscqueue: Single Producer Single Consumer queue
- tracy-profiler: Real-time, nanosecond resolution frame profiler

Each package includes:
- Complete recipe.yaml with proper dependency specifications
- Cross-platform build scripts (build.nu using Nushell)
- Platform-specific configurations and variants
- Comprehensive documentation and testing

These recipes replace the previous monolithic Mumble build approach
and enable better dependency management and individual package updates.
Built and tested on Linux, Windows, and macOS platforms.
This is what is expected of a conda-forge package.
- Use forward slashes consistently for CMAKE_INSTALL_PREFIX on Windows
- Remove absolute paths for CMAKE_INSTALL_*DIR variables to let CMake handle them relative to prefix
- Convert backslashes to forward slashes in prefix paths to avoid escape sequence issues in cmake_install.cmake
- Affects: microsoft-gsl, speexdsp, minhook, spscqueue, tracy-profiler recipes
@github-actions
Copy link
Contributor

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

@conda-forge-admin
Copy link
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/minhook/recipe.yaml) and found it was in an excellent condition.

@phreed phreed marked this pull request as ready for review November 14, 2025 22:04
@phreed
Copy link
Contributor Author

phreed commented Nov 14, 2025

@conda-forge/help-c-cpp, ready for review

Comment on lines +70 to +71
Version 1.3.4 brings significant improvements including better build system
support, enhanced error handling, and broader compiler compatibility.
Copy link
Contributor

Choose a reason for hiding this comment

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

I am not sure if it make sense to have version-specific comments on the description.

Comment on lines +24 to +34
if ($nu.os-info.name == "windows") {
let lib_dir = ($env.PREFIX | path join "Library" "lib")
let x64_lib = ($lib_dir | path join "minhook.x64.lib")
let x32_lib = ($lib_dir | path join "minhook.x32.lib")
let standard_lib = ($lib_dir | path join "minhook.lib")

if ($x64_lib | path exists) and not ($standard_lib | path exists) {
cp $x64_lib $standard_lib
} else if ($x32_lib | path exists) and not ($standard_lib | path exists) {
cp $x32_lib $standard_lib
}
Copy link
Contributor

Choose a reason for hiding this comment

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

This is duplicating the import libraries, and the CMake config files still refer the old names. Can't we just patch the CMake in https://github.com/TsudaKageyu/minhook/blob/master/CMakeLists.txt#L73-L90 to avoid producing the postfix in the first place?

@traversaro
Copy link
Contributor

Built and tested on Linux, Windows, and macOS platforms.

This comment is strange, as this is a Windos-specific recipe. If you use AI/LLM as part of preparing your PRs, please review them and remove unnecessary content before requesting a review, thanks!

Copy link
Contributor

@traversaro traversaro left a comment

Choose a reason for hiding this comment

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

See inline comments.

Comment on lines +13 to +18
let cmake_args = [
"-GNinja"
"-DCMAKE_BUILD_TYPE=Release"
"-DBUILD_SHARED_LIBS=OFF"
$"-DCMAKE_INSTALL_PREFIX=($install_prefix)"
]
Copy link
Contributor

Choose a reason for hiding this comment

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

Please pass along the CMAKE_ARGS environment variable to the build script, and use BUILD_SHARED_LIBS set to ON .

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.

3 participants