Skip to content

Adding the Mumble voip package #29311

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
24 changes: 24 additions & 0 deletions recipes/mumble/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# C++ Project : Mumble a Voice Over IP Server

`mumble` is a C++ package.

* https://github.com/bluenviron/mediamtx

## V1 recipe format

This recipe is an example of the v1 recipe format.
* [CEP 13](https://github.com/conda/ceps/blob/main/cep-0013.md)
* [CEP 14](https://github.com/conda/ceps/blob/main/cep-0014.md)

The v1 recipe format is fully functional when built with rattler-build.

## Inspiration

* https://github.com/conda-forge/fans-feedstock/
* https://github.com/conda-forge/pixi-feedstock/

## Patches

Mumble makes use of a 3rd party `cmake` module.

https://github.com/Krzmbrzl/FindPythonInterpreter
14 changes: 14 additions & 0 deletions recipes/mumble/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# We need fmemopen in libsolv which became available in 10.13
c_stdlib_version: # [osx and x86_64]
- "10.13" # [osx and x86_64]

c_compiler_version: # [osx]
- "16" # [osx]
cxx_compiler_version: # [osx]
- "16" # [osx]

# Use a newer version of the SDK to fix the virtual package detection for macOS
# Otherwise `SYSTEM_VERSION_COMPAT` needs to be set to `0` to detect the proper macOS version
MACOSX_SDK_VERSION: # [osx and x86_64]
- 11.0 # [osx and x86_64]

Empty file.
117 changes: 117 additions & 0 deletions recipes/mumble/recipe.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
schema_version: 1

# Much of the information is available via:
context:
group: mumble-voip
name: mumble
version: "1.5.735"
sha: 539680318419ca6c236d129dc5b6a96878bd048957cfcfb3882d313dd16660fa
git_rel: github.com/${{ group }}/${{ name }}

package:
version: ${{ version }}
name: ${{ name|lower }}

source:
- url: https://${{ git_rel }}/archive/refs/tags/v${{ version }}.tar.gz
sha256: ${{ sha }}
target_directory: src/mumble
patches:
- patches/0001-find-python.patch
- url: https://raw.githubusercontent.com/Krzmbrzl/FindPythonInterpreter/refs/heads/main/FindPythonInterpreter.cmake
sha256: e50f46754aa5d3e72f18a37ffdf077bc6de1600e6c460d8e0184924be631c93d
target_directory: src/mumble/3rdparty/FindPythonInterpreter/
- url: https://raw.githubusercontent.com/Krzmbrzl/cmake-compiler-flags/refs/heads/main/CompilerFlags.cmake
sha256: 0636e048208bb37f07747136c00eec6f62549fe7147abf02a451df60702c3f89
target_directory: src/mumble/3rdparty/cmake-compiler-flags/
- url: https://github.com/lipis/flag-icons/archive/refs/tags/v7.3.2.tar.gz
sha256: 6a5497e1029e66415c3941a5e5ee001944b0a7e46bf365c6d5a91a033acee87e
target_directory: src/mumble/3rdparty/flag-icons/
- url: https://github.com/microsoft/GSL/archive/refs/tags/v4.1.0.tar.gz
sha256: 0a227fc9c8e0bf25115f401b9a46c2a68cd28f299d24ab195284eb3f1d7794bd
target_directory: src/mumble/3rdparty/gsl/
- url: https://github.com/nlohmann/json/archive/refs/tags/v3.11.3.tar.gz
sha256: 0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406
target_directory: src/mumble/3rdparty/nlohmann_json/
- url: https://github.com/wolfpld/tracy/archive/refs/tags/v0.11.1.tar.gz
sha256: 2c11ca816f2b756be2730f86b0092920419f3dabc7a7173829ffd897d91888a1
target_directory: src/mumble/3rdparty/tracy/

# https://github.com/mumble-voip/mumble/blob/master/docs/dev/build-instructions/README.md
build:
number: 0
script:
env:
JOB_CNT: ${{ nprocs }}
interpreter: nu
content: |
cd src/mumble
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -Dspeechd=OFF -Dstatic=ON -Doverlay-xcompile=OFF
cd build
cmake --build . -j $env.JOB_CNT
cmake --install .

requirements:
build:
- nushell
- ${{ compiler('cxx') }}
- ${{ compiler('c') }}
- ${{ stdlib('c') }}
# - qt6-main
- qt
- qt-main
# - qt-wayland
- mesalib
- xorg-libxext
- libxext-devel-conda-x86_64
- python
- cmake
- py-build-cmake
- ninja
- if: unix
then: make
- pkg-config
- libopenssl-static
- libprotobuf-static
- protobuf
host:
- ${{ stdlib('c') }}
# - qt
# - qt6-main
# - qt6-wayland
- xorg-libxi
- libboost-devel
- libgl-devel
- alsa-lib
- libcap
- libogg
- libsndfile
- libopus
# - libspeechd
- avahi
- libxcb
- zeroconf
- poco

tests:
- script:
- "mumble --help 2>&1"

about:
homepage: https://www.mumble.info/
summary: 'Mumble is a free, open source, low latency, high quality voice chat application.'
description: |
Mumble was the first VoIP application to establish true low latency voice communication over a decade ago.
But low latency and gaming are not the only use cases it shines in.
license: BSD-3-Clause
license_file:
- LICENSE.txt
- https://www.mumble.info/LICENSE
- src/mumble/3rdPartyLicenses
documentation: https://www.mumble.info/documentation/
repository: https://github.com/mumble-voip/mumble

extra:
recipe-maintainers:
- phreed
Loading