Edit

IABSD.fr/ports/audio/mumble/Makefile

Branch :

  • Show log

    Commit

  • Author : tb
    Date : 2023-10-11 13:45:59
    Hash : 2dcbadb0
    Message : Regen wantlibs after protobuf update. The many screens full of abseil variants is really gross, but what can we do... Thanks Google.

  • audio/mumble/Makefile
  • COMMENT-main =		low-latency voice chat client
    COMMENT-server =	low-latency voice chat server
    
    VERSION =		1.4.287
    DISTNAME =		mumble-${VERSION}
    PKGNAME-server =	murmur-${VERSION}
    REVISION-main =		5
    REVISION-server =	5
    
    CATEGORIES =		audio net
    
    HOMEPAGE =		https://www.mumble.info/
    
    SITES = https://github.com/mumble-voip/mumble/releases/download/v${VERSION}/
    
    SITES.p =		https://github.com/mumble-voip/mumble/commit/
    # "Bug fixes on master missing in 1.4.x branch"
    # https://github.com/mumble-voip/mumble/issues/5888
    PATCHFILES.p =		mumble-kvm_getprocs-ALL_arg-{}42ad5ed.patch \
    			mumble-kvm_getprocs-pass-elemsize-{}ccbacbf.patch \
    			mumble-struct_procinfo-member_prefix-{}a707213.patch \
    			mumble-audiowizard-fix_Werror-{}0c769d8.patch \
    			mumble-enable-xinput2-{}904bae1.patch
    
    # pending "BUILD(cmake): Build/install celt as module"
    # https://github.com/mumble-voip/mumble/pull/5592
    PATCHFILES.p +=		mumble-celt-module-{}43176a1.patch
    
    PATCH_DIST_STRIP =	-p1
    
    # BSD3
    PERMIT_PACKAGE =	Yes
    
    WANTLIB-main += ${COMPILER_LIBCXX} PocoFoundation PocoUtil PocoXML
    WANTLIB-main += PocoZip Qt5Concurrent Qt5Core Qt5DBus Qt5Gui Qt5Network
    WANTLIB-main += Qt5Sql Qt5Svg Qt5Widgets Qt5Xml X11 Xext Xi absl_bad_optional_access
    WANTLIB-main += absl_bad_variant_access absl_base absl_city absl_civil_time
    WANTLIB-main += absl_cord absl_cord_internal absl_cordz_functions absl_cordz_handle
    WANTLIB-main += absl_cordz_info absl_crc32c absl_crc_cord_state absl_crc_cpu_detect
    WANTLIB-main += absl_crc_internal absl_debugging_internal absl_demangle_internal
    WANTLIB-main += absl_die_if_null absl_examine_stack absl_exponential_biased
    WANTLIB-main += absl_flags absl_flags_commandlineflag absl_flags_commandlineflag_internal
    WANTLIB-main += absl_flags_config absl_flags_internal absl_flags_marshalling
    WANTLIB-main += absl_flags_private_handle_accessor absl_flags_program_name
    WANTLIB-main += absl_flags_reflection absl_graphcycles_internal absl_hash
    WANTLIB-main += absl_hashtablez_sampler absl_int128 absl_kernel_timeout_internal
    WANTLIB-main += absl_log_entry absl_log_globals absl_log_initialize
    WANTLIB-main += absl_log_internal_check_op absl_log_internal_conditions
    WANTLIB-main += absl_log_internal_format absl_log_internal_globals
    WANTLIB-main += absl_log_internal_log_sink_set absl_log_internal_message
    WANTLIB-main += absl_log_internal_nullguard absl_log_internal_proto
    WANTLIB-main += absl_log_severity absl_log_sink absl_low_level_hash
    WANTLIB-main += absl_malloc_internal absl_raw_hash_set absl_raw_logging_internal
    WANTLIB-main += absl_spinlock_wait absl_stacktrace absl_status absl_statusor
    WANTLIB-main += absl_str_format_internal absl_strerror absl_string_view
    WANTLIB-main += absl_strings absl_strings_internal absl_symbolize absl_synchronization
    WANTLIB-main += absl_throw_delegate absl_time absl_time_zone c crypto
    WANTLIB-main += kvm m protobuf sndfile speex speexdsp ssl
    
    # dlopen()'ed
    WANTLIB-main += opus portaudio
    
    WANTLIB-server += ${COMPILER_LIBCXX} Qt5Core Qt5DBus Qt5Network Qt5Sql
    WANTLIB-server += Qt5Xml absl_bad_optional_access absl_bad_variant_access
    WANTLIB-server += absl_base absl_city absl_civil_time absl_cord absl_cord_internal
    WANTLIB-server += absl_cordz_functions absl_cordz_handle absl_cordz_info
    WANTLIB-server += absl_crc32c absl_crc_cord_state absl_crc_cpu_detect
    WANTLIB-server += absl_crc_internal absl_debugging_internal absl_demangle_internal
    WANTLIB-server += absl_die_if_null absl_examine_stack absl_exponential_biased
    WANTLIB-server += absl_flags absl_flags_commandlineflag absl_flags_commandlineflag_internal
    WANTLIB-server += absl_flags_config absl_flags_internal absl_flags_marshalling
    WANTLIB-server += absl_flags_private_handle_accessor absl_flags_program_name
    WANTLIB-server += absl_flags_reflection absl_graphcycles_internal absl_hash
    WANTLIB-server += absl_hashtablez_sampler absl_int128 absl_kernel_timeout_internal
    WANTLIB-server += absl_log_entry absl_log_globals absl_log_initialize
    WANTLIB-server += absl_log_internal_check_op absl_log_internal_conditions
    WANTLIB-server += absl_log_internal_format absl_log_internal_globals
    WANTLIB-server += absl_log_internal_log_sink_set absl_log_internal_message
    WANTLIB-server += absl_log_internal_nullguard absl_log_internal_proto
    WANTLIB-server += absl_log_severity absl_log_sink absl_low_level_hash
    WANTLIB-server += absl_malloc_internal absl_raw_hash_set absl_raw_logging_internal
    WANTLIB-server += absl_spinlock_wait absl_stacktrace absl_status absl_statusor
    WANTLIB-server += absl_str_format_internal absl_strerror absl_string_view
    WANTLIB-server += absl_strings absl_strings_internal absl_symbolize absl_synchronization
    WANTLIB-server += absl_throw_delegate absl_time absl_time_zone c crypto
    WANTLIB-server += m protobuf ssl
    
    WRKDIST =		${WRKDIR}/mumble-${VERSION}.src
    
    MULTI_PACKAGES =	-main -server
    
    DEBUG_PACKAGES =	${BUILD_PACKAGES}
    
    MODULES =		devel/cmake \
    			lang/python \
    			x11/qt5
    
    BUILD_DEPENDS =		devel/boost
    
    LIB_DEPENDS-main =	audio/libsndfile>=1.0.25p0 \
    			audio/opus \
    			audio/portaudio-svn \
    			audio/speex \
    			devel/protobuf \
    			net/poco \
    			x11/qt5/qtsvg
    LIB_DEPENDS-server =	devel/protobuf \
    			x11/qt5/qtbase
    TEST_DEPENDS =		x11/qt5/qtbase
    
    RUN_DEPENDS-main =	devel/desktop-file-utils \
    			x11/gtk+4,-guic
    
    # silence noisy cmake messages during configure
    CONFIGURE_ARGS +=	-Wno-dev
    
    # ${WRKSRC}/docs/dev/build-instructions/cmake_options.md
    CONFIGURE_ARGS +=	-Dbundled-opus=OFF \
    			-Dbundled-speex=OFF \
    			-Dice=OFF \
    			-Djackaudio=OFF \
    			-Doverlay=OFF \
    			-Dupdate=OFF \
    			-Dzeroconf=OFF
    
    .ifdef DEBUG
    CONFIGURE_ARGS +=	-Dplugin-debug=ON \
    			-Dplugin-callback-debug=ON \
    			-Dsymbols=ON
    .endif
    
    CONFIGURE_ARGS +=	-Dtests=ON
    
    SERVER_CONFIG_FILE =	${WRKSRC}/scripts/murmur.ini
    SERVER_EXAMPLES_DIR =	${PREFIX}/share/examples/murmur
    
    # everything except tests
    ALL_TARGET =			mumble mumble-server
    
    pre-configure:
    	${SUBST_CMD} ${SERVER_CONFIG_FILE}
    
    # build whatever is left (ca. 63 C++ test files)
    pre-test:
    	@${MODCMAKE_BUILD_TARGET}
    
    post-install:
    	${INSTALL_DATA_DIR} ${SERVER_EXAMPLES_DIR}
    	${INSTALL_DATA} ${SERVER_CONFIG_FILE} ${SERVER_EXAMPLES_DIR}/
    	# "[DRAFT] Rename "murmur" to "mumble-server" across the project"
    	# https://github.com/mumble-voip/mumble/pull/4695
    	ln -f ${PREFIX}/bin/{mumble-server,murmurd}
    	# remove manual for uninstalled linux specific wrapper
    	rm -f ${PREFIX}/man/man1/mumble-server-user-wrapper.1
    
    .include <bsd.port.mk>