Opened 2 years ago

Closed 2 years ago

Last modified 16 months ago

#59075 closed request (fixed)

FAudio : port request

Reported by: kencu (Ken) Owned by: ken-cunningham-webuse
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: Gcenx, gverm (Gijs Vermeulen)
Port: FAudio

Description

https://github.com/FNA-XNA/FAudio

required for newer version of wine

Change History (16)

comment:1 Changed 2 years ago by Gcenx

FAudio became a wine requirement from Wine-4.3 used for xact and other wine audio backs, can also be used for porting XAudio projects to Native macOS/Linux projects.

FAudio requires SDL2, for wma support it requires ffmpeg (built with wma support) https://github.com/FNA-XNA/FAudio/blob/master/README.ffmpeg It would be ideal to have a variant for ffmpeg support if possible.

Last edited 2 years ago by Gcenx (previous) (diff)

comment:2 Changed 2 years ago by kencu (Ken)

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem              1.0
PortGroup               github 1.0
PortGroup               cmake 1.1

github.setup            FNA-XNA FAudio 19.09
revision                0

license                 zlib
categories              audio
platforms               darwin
maintainers             nomaintainer
description             XAudio reimplementation
long_description        an XAudio reimplementation that focuses solely on developing \
                        fully accurate DirectX Audio runtime libraries for the FNA project,\
                        including XAudio2, X3DAudio, XAPO, and XACT3.

depends_lib-append      port:libsdl2

checksums               rmd160  29c4c20bdff4ee0c403dfc3a159ea58dc56a1c73 \
                        sha256  a8eaeaceced8060d29c82c5ecf47bb263ba168d4f90941ae7c09c4c9910dd106 \
                        size    901764

configure.args          -DFFMPEG=OFF \
                        -DBUILD_UTILS=ON \
                        -DBUILD_TESTS=ON \
                        -DXNASONG=ON

variant ffmpeg description "Use ffmpeg for additional xWMA support - note license changes" {
    license                GPL-2+
    depends_lib-append     path:lib/libavcodec.dylib:ffmpeg
    configure.args-replace -DFFMPEG=OFF -DFFMPEG=ON
}

pre-destroot {
# this tool -- is it a tool? -- segfaulted when I tried to open an audio engine
#    file copy ${workpath}/build/facttool ${destroot}${prefix}/bin/
}

test.run                 yes
test.cmd                 ./faudio_tests
test.target
Last edited 2 years ago by kencu (Ken) (previous) (diff)

comment:3 Changed 2 years ago by kencu (Ken)

Cc: Gcenx added

comment:4 Changed 2 years ago by gverm (Gijs Vermeulen)

Hi Ken, thanks for your interest in adding FAudio!
I had already opened a ticket for this here: #58500

Last edited 16 months ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:5 Changed 2 years ago by kencu (Ken)

Thanks. I looked for a prev ticket but obviously missed that one. Are the utilities worth installing, or just the library needed?

comment:6 Changed 2 years ago by Gcenx

For wine usage it only needs the libraries but for porting XAudio based games from Windows to macOS/Linux the utilities would be needed

comment:7 Changed 2 years ago by kencu (Ken)

looks like ffmpeg should be a variant as it changes the license significantly.

comment:8 Changed 2 years ago by gverm (Gijs Vermeulen)

Cc: gverm added

comment:9 Changed 2 years ago by mf2k (Frank Schima)

Port: FAudio added; faudio removed

comment:10 in reply to:  7 Changed 2 years ago by Gcenx

Replying to kencu:

looks like ffmpeg should be a variant as it changes the license significantly.

Sorry for not making that clear, that’s the reason I mentioned ffmpeg as a variant before. FAudio is useful even without ffmpeg with wma support, of course for wine it preferred since some games do use wma.

comment:11 Changed 2 years ago by kencu (Ken)

There's a new portfile with a variant for ffmpeg. I can't really sort out what tools, if any, should be installed. Most of the built binaries seem to be testing tools. The one that looked like perhaps it was useful was facttool but when i tried to do something with it, it segfaulted.

I see homebrew just installs the libraries; that's what CMakeLists.txt wants to do as well by default.

As is, it builds, including +universal, and installs on 10.14. Haven't tested anything older yet.

Can you take a look, and let me know if any of the binaries are worth installing?

Last edited 2 years ago by kencu (Ken) (previous) (diff)

comment:12 Changed 2 years ago by Gcenx

I’ll try this after upgrading macports to 2.6 as I was still on 2.5.4 and let you know if it works on my end.

If homebrew just installs the libraries then it’s safe to assume those can be skipped.

comment:13 Changed 2 years ago by ken-cunningham-webuse

Owner: set to ken-cunningham-webuse
Resolution: fixed
Status: newclosed

In b4d8ad5daf8764753c6bd71ba73bc04ce727c4d8/macports-ports (master):

FAudio: new port @version 19.09

XAudio reimplementation of use to wine and others
optional ffmpeg variant changes license
closes: #59075

comment:14 in reply to:  11 Changed 2 years ago by gverm (Gijs Vermeulen)

Replying to kencu:

Thanks for the port! Just a few things I noticed:

  • Setting -DXNASONG to ON is not necessary, it's only for FNA.
  • For ffmpeg support the readme says you need to set DFFmpeg_INCLUDE_DIR

comment:15 Changed 2 years ago by kencu (Ken)

FNA?

I saw the include thing, but — we didn’t appear to need it.

Lemme know if you see otherwise.

comment:16 Changed 2 years ago by kencu (Ken)

Hmm. I notice looking through the buildbot logs the build is setting the macOS version min to 10.7. That's not ideal. I'll take care of that later on, once we see if any other issues pop up.

Note: See TracTickets for help on using tickets.