Page MenuHomeFreeBSD

audio/snd: Update to 18.0
Needs RevisionPublic

Authored by yuri on Feb 6 2018, 6:34 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, May 5, 1:37 AM
Unknown Object (File)
Sun, Apr 28, 9:35 PM
Unknown Object (File)
Jan 9 2024, 6:26 PM
Unknown Object (File)
Sep 27 2023, 5:39 AM
Unknown Object (File)
Jun 8 2023, 9:41 AM
Unknown Object (File)
Apr 20 2023, 1:15 AM
Unknown Object (File)
Jan 5 2023, 1:06 AM
Unknown Object (File)
Dec 29 2022, 9:32 PM
Subscribers

Details

Reviewers
tcberner
adamw
Summary

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224883

Changes in the port:

  • Added sections for SOUND, GRAPHICS, OPTIONAL and RANDOM features coresponding to how configure accepts options
  • Added audio options: JACK OSS PORTAUDIO PULSEAUDIO
  • Added graphics options: GTK3 MOTIF NOGUI
  • Added "optional" feature options: DITRES FFTW3 GMP GSL
  • Added "random" feature options: LADSPA GL2PS WEBSERVER
  • Added Forth and Ruby extension languages

Caveats:

  • GTK3 option doesn't display sound right, reported to the author

Testing:

  • Ran major operations in MOTIF GUI
  • Ran some test extension scripts

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 14805
Build 14923: arc lint + arc unit

Event Timeline

Are all these options really necessary? In my opinion, just adding options because they are there in the configure of the software is not ideal, as it leads to ports with n possible variants, n-1 of which have never been tested :)

tcberner requested changes to this revision.Feb 6 2018, 9:40 PM

10.4, i386:

===> The following configuration options are available for snd-18.0:
     DOCS=on: Build and/or install documentation
     EXAMPLES=on: Build and/or install examples
====> Optional features
     EDITRES=off: Include editres (X resource viewing protocol) in xm
     FFTW3=off: Use FFTW
     GMP=off: GMP (multiple precision arithmetic) support
     GSL=on: Use GNU Scientific Library
====> Random features
     LADSPA=on: LADSPA audio plugins support
     GL2PS=off: Include vector output for OpenGL applications
     WEBSERVER=off: Build and/or install internal web server
====> Sound (audio) support: you have to select exactly one of them
     JACK=off: JACK audio server support
     OSS=on: Open Sound System support
     PORTAUDIO=off: PortAudio library support
     PULSEAUDIO=off: PulseAudio sound server support
====> Graphics support: you have to select exactly one of them
     GTK3=off: GTK+ 3 GUI toolkit support
     MOTIF=on: Motif widget library support
     NOGUI=off: Build without GUI
====> Extension language: you can only select none or one of them
     FTH=off: Forth
     RUBY=off: Ruby
     S7=on: S7
===> Use 'make config' to modify these settings
---End OPTIONS List---
[...]
headers.c:(.text+0xcadd): undefined refercc: error: linker command failed with exit code 1 (use -v to see invocation)
ence to `snd_io_strerror'
headers.o:headers.c:(.text+0xcb42): more undefined references to `snd_io_strerror' follow
headers.o: In function `.LBB52_12':
headers.c:(.text+0xe156): undefined reference to `snd_close'
headers.o: In function `.LBB52_82':
[...]
This revision now requires changes to proceed.Feb 6 2018, 9:40 PM

Weird, the second time around it built ^^

Are all these options really necessary? In my opinion, just adding options because they are there in the configure of the software is not ideal, as it leads to ports with n possible variants, n-1 of which have never been tested :)

This project is a life work of one professor, Bill Schottstaedt. He added these options and examples. The main extension language is S7, but he also added forth and ruby and examples form them.
I actually tested each of them. -)

GTK3 doesn't work well, this is true. I asked him to fix it.

I usually leaned towards ideally reflecting project options as port options. This is because we accepted that this package should be in ports, and trust its author. If we reject some options that the author defined, this would mean that we now question some of his choices. The argument against adding options is possible lack of resources and testing. But in the case of snd I already tested them. -) I also asked him to fix the ruby extension, which he did.

As for its overall usefulness, there is amazingly little software that does things like showing sound spectrum or individual sound samples.

10.4, i386:

===> The following configuration options are available for snd-18.0:
     DOCS=on: Build and/or install documentation
     EXAMPLES=on: Build and/or install examples
====> Optional features
     EDITRES=off: Include editres (X resource viewing protocol) in xm
     FFTW3=off: Use FFTW
     GMP=off: GMP (multiple precision arithmetic) support
     GSL=on: Use GNU Scientific Library
====> Random features
     LADSPA=on: LADSPA audio plugins support
     GL2PS=off: Include vector output for OpenGL applications
     WEBSERVER=off: Build and/or install internal web server
====> Sound (audio) support: you have to select exactly one of them
     JACK=off: JACK audio server support
     OSS=on: Open Sound System support
     PORTAUDIO=off: PortAudio library support
     PULSEAUDIO=off: PulseAudio sound server support
====> Graphics support: you have to select exactly one of them
     GTK3=off: GTK+ 3 GUI toolkit support
     MOTIF=on: Motif widget library support
     NOGUI=off: Build without GUI
====> Extension language: you can only select none or one of them
     FTH=off: Forth
     RUBY=off: Ruby
     S7=on: S7
===> Use 'make config' to modify these settings
---End OPTIONS List---
[...]
headers.c:(.text+0xcadd): undefined refercc: error: linker command failed with exit code 1 (use -v to see invocation)
ence to `snd_io_strerror'
headers.o:headers.c:(.text+0xcb42): more undefined references to `snd_io_strerror' follow
headers.o: In function `.LBB52_12':
headers.c:(.text+0xe156): undefined reference to `snd_close'
headers.o: In function `.LBB52_82':
[...]

This was possibly this intermittent poudriere failure: https://github.com/freebsd/poudriere/issues/580