Bug 220931 - audio/openal-soft: Update to 1.18.0, Add EXAMPLES and OSS options
Summary: audio/openal-soft: Update to 1.18.0, Add EXAMPLES and OSS options
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-23 03:48 UTC by Yuri Victorovich
Modified: 2017-09-19 11:44 UTC (History)
1 user (show)

See Also:


Attachments
patch (3.00 KB, patch)
2017-07-23 03:48 UTC, Yuri Victorovich
no flags Details | Diff
patch (5.85 KB, patch)
2017-07-23 04:40 UTC, Yuri Victorovich
no flags Details | Diff
patch (4.84 KB, patch)
2017-07-23 06:10 UTC, Yuri Victorovich
no flags Details | Diff
patch (5.53 KB, patch)
2017-07-23 07:33 UTC, Yuri Victorovich
no flags Details | Diff
patch (5.56 KB, patch)
2017-07-23 07:34 UTC, Yuri Victorovich
koobs: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yuri Victorovich freebsd_committer 2017-07-23 03:48:41 UTC
Created attachment 184610 [details]
patch
Comment 1 Yuri Victorovich freebsd_committer 2017-07-23 04:40:31 UTC
Created attachment 184613 [details]
patch

Update to 18.0

QAs:
* Builds in poudriere
* Passes portlint
Comment 2 kd-dev 2017-07-23 05:09:49 UTC
The commit history for ``files/patch-OpenAL32_alBuffer.c'' says that it
was added because of a bug relating to clang optimizations [1],
FreeBSD-10.3 might still be affected.

Also, ``%%ETCDIR%%/openal/*'' normally resolves to
``/usr/local/etc/openal-soft/openal/*'', and the `post-patch'
command normally removes the trailing `openal' [2].

[1] https://svnweb.freebsd.org/ports/head/audio/openal-soft/files/patch-OpenAL32_alBuffer.c?revision=399540&view=markup
[2] https://svnweb.freebsd.org/ports/head/audio/openal-soft/Makefile?revision=437439&view=markup#l59
Comment 3 Yuri Victorovich freebsd_committer 2017-07-23 06:10:05 UTC
Created attachment 184617 [details]
patch

kdrakehp@zoho.com,

I addressed your concerns.
Comment 4 Yuri Victorovich freebsd_committer 2017-07-23 07:33:01 UTC
Created attachment 184619 [details]
patch

Added OSS option for flexibility.
Comment 5 Yuri Victorovich freebsd_committer 2017-07-23 07:34:57 UTC
Created attachment 184620 [details]
patch
Comment 6 Kubilay Kocak freebsd_committer freebsd_triage 2017-07-23 12:46:02 UTC
Comment on attachment 184620 [details]
patch

Port is unmaintained, implicit approval
Comment 7 kd-dev 2017-07-23 15:02:23 UTC
The example binaries produced by this patch, that use `devel/sdl_sound',
fail after calling `Sound_NewSampleFromFile':

	Opened "OSS Default"
	Could not open audio in <file>

This is because the affected examples are linked to both SDL-1.2 &
SDL-2.0, and they behave as expected if they are built without SDL-2.0.
Comment 8 Yuri Victorovich freebsd_committer 2017-07-23 17:16:24 UTC
Upstream report: https://github.com/kcat/openal-soft/issues/137
For me they work anyway. I will see if I can patch it.
Comment 9 Yuri Victorovich freebsd_committer 2017-07-23 17:44:44 UTC
kdrakehp@zoho.com,

They do this explicitly in CMakeFiles.txt:

>     IF(SDL2_FOUND)
>         FIND_PACKAGE(SDL_sound)
>         FIND_PACKAGE(FFmpeg COMPONENTS AVFORMAT AVCODEC AVUTIL SWSCALE SWRESAMPLE)
>     ENDIF()

Also, Mk/bsd.sdl.mk doesn't complain about SDL=sdl2,sound. If this is combination is invalid, this is at least a bug in Mk/bsd.sdl.mk
Also, examples work for me as is.

Could you provide the reference that SDL=sdl2,sound this is an invalid combination?
Comment 10 kd-dev 2017-07-23 18:37:37 UTC
(In reply to Yuri Victorovich from comment #9)

The `devel/sdl_sound' port does not support building with SDL-2, while
`SDL_sound' does, which might be what OpenAL-Soft is assuming.

The two libraries have numerous symbol clashes (137), and SDL2 breaks
compatibility with SDL1.  This causes functions from both libraries
to be called on the same structures, along with SDL_sound assuming
that the `SDL.h' it was compiled with is correct.  For me this quickly
leads to read calls failing and the previously mentioned failure.

This change will require all three libraries for different binaries
``SDL=sdl,sdl2,sound'', `alffplay' uses SDL2 for video output and
ffmpeg for audio, so ``SDL=sdl2,sound'' is not an invalid combination.

12-CURRENT amd64
Comment 11 Yuri Victorovich freebsd_committer 2017-07-23 19:05:45 UTC
So linking with particular sdl libraries should be done upstream.
Comment 12 Steve Wills freebsd_committer 2017-08-18 16:07:31 UTC
Attachment 184620 [details] applies cleanly for me.
Comment 13 commit-hook freebsd_committer 2017-08-18 16:34:29 UTC
A commit references this bug:

Author: swills
Date: Fri Aug 18 16:34:14 UTC 2017
New revision: 448257
URL: https://svnweb.freebsd.org/changeset/ports/448257

Log:
  audio/openal-soft: Update to 1.18.0, Add EXAMPLES and OSS options

  PR:		220931
  Submitted by:	Yuri Victorovich <yuri@rawbw.com>

Changes:
  head/audio/openal-soft/Makefile
  head/audio/openal-soft/distinfo
  head/audio/openal-soft/files/patch-CMakeLists.txt
  head/audio/openal-soft/files/patch-examples_alffplay.cpp
  head/audio/openal-soft/pkg-plist
Comment 14 Steve Wills freebsd_committer 2017-08-18 16:35:55 UTC
Committed, thanks!
Comment 15 commit-hook freebsd_committer 2017-09-19 11:44:00 UTC
A commit references this bug:

Author: jbeich
Date: Tue Sep 19 11:42:58 UTC 2017
New revision: 450114
URL: https://svnweb.freebsd.org/changeset/ports/450114

Log:
  MFH: r448257 r448269 r450103

  audio/openal-soft: update to 1.18.1

  - Add EXAMPLES and OSS options
  - Add a patch to fix the Jack backend for Jack 1

  Changes:	http://kcat.strangesoft.net/openal.html#release
  ABI:		https://abi-laboratory.pro/tracker/timeline/openal/
  PR:		220931 222437
  Submitted by:	Yuri Victorovich <yuri@rawbw.com>
  Submitted by:	kdrakehp@zoho.com
  Approved by:	ports-secteam (delphij)

Changes:
_U  branches/2017Q3/
  branches/2017Q3/audio/openal-soft/Makefile
  branches/2017Q3/audio/openal-soft/distinfo
  branches/2017Q3/audio/openal-soft/files/patch-Alc_backends_jack.c
  branches/2017Q3/audio/openal-soft/files/patch-CMakeLists.txt
  branches/2017Q3/audio/openal-soft/files/patch-OpenAL32_alBuffer.c
  branches/2017Q3/audio/openal-soft/pkg-plist