Bug 210124 - [NEW PORT] audio/sndio: Small audio and MIDI framework from the OpenBSD project
Summary: [NEW PORT] audio/sndio: Small audio and MIDI framework from the OpenBSD project
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: Kurt Jaeger
URL:
Keywords: feature, patch
Depends on:
Blocks:
 
Reported: 2016-06-08 08:04 UTC by Tobias Kortkamp
Modified: 2016-08-03 06:18 UTC (History)
1 user (show)

See Also:


Attachments
sndio.diff (51.45 KB, patch)
2016-06-08 08:04 UTC, Tobias Kortkamp
tobik: maintainer-approval+
Details | Diff
audio/sndio Poudriere testport log FreeBSD 10.2/amd64 (22.32 KB, text/x-log)
2016-06-08 08:05 UTC, Tobias Kortkamp
no flags Details
audio/pulseaudio-module-sndio Poudriere testport log FreeBSD 10.2/amd64 (23.39 KB, text/x-log)
2016-06-08 08:06 UTC, Tobias Kortkamp
no flags Details
sndio.diff (6.02 KB, patch)
2016-07-22 08:26 UTC, Tobias Kortkamp
no flags Details | Diff
sndio.diff (35.02 KB, patch)
2016-07-29 14:42 UTC, Tobias Kortkamp
tobik: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Kortkamp freebsd_committer 2016-06-08 08:04:11 UTC
Created attachment 171185 [details]
sndio.diff

Sndio is a small audio and MIDI framework part of the OpenBSD
project.

It provides an lightweight audio & MIDI server and a fully documented
user-space API to access either the server or directly the hardware in
a uniform way.  Sndio is designed to work for desktop applications,
but pays special attention to synchronization mechanisms and
reliability required by music applications.  Reliability through
simplicity are part of the project goals.

WWW: http://www.sndio.org/

------

Because no FreeBSD port has sndio support atm but most have
PulseAudio support, the attached diff also includes a sndio module for
PulseAudio.  This makes playing to a remote sndio server possible right now and
without patching any ports.  sndio has no hardware support for FreeBSD's OSS
atm, so local playback is not yet possible.  I hope the 2-in-1 diff is ok.  It
makes no sense to commit only audio/sndio alone.

sndio is unique in that playing audio over the network is possible without any
stuttering (even on slow links) and with very little setup.  Something I was
never able to figure out with PulseAudio.
Comment 1 Tobias Kortkamp freebsd_committer 2016-06-08 08:05:07 UTC
Created attachment 171186 [details]
audio/sndio Poudriere testport log FreeBSD 10.2/amd64
Comment 2 Tobias Kortkamp freebsd_committer 2016-06-08 08:06:19 UTC
Created attachment 171187 [details]
audio/pulseaudio-module-sndio Poudriere testport log FreeBSD 10.2/amd64
Comment 3 Tobias Kortkamp freebsd_committer 2016-06-08 13:05:08 UTC
I'm gathering patches for adding sndio support to other ports over at https://github.com/freebsd/freebsd-ports/compare/master...t6:sndio
Comment 4 Tobias Kortkamp freebsd_committer 2016-07-22 08:26:26 UTC
Created attachment 172828 [details]
sndio.diff

Update port:
- Add rc.d script
- Add privsep user to UIDs/GIDs
- Better pkg-message


I removed audio/pulseaudio-module-sndio from the patch for now, because KISS.
Comment 5 Kubilay Kocak freebsd_committer freebsd_triage 2016-07-22 10:43:26 UTC
Thank you Tobias.

Please note that QA (poudriere, etc) results as attachments are no longer required. Feel free to just mention them as a comment when attaching patches, such as:

portlint: OK (looks fine.)
testport: OK (poudriere: <archs>, <versions>, <options> tested)

And don't forget to have the future audio/pulseaudio-module-sndio issue ID depend on this one
Comment 6 Tobias Kortkamp freebsd_committer 2016-07-29 14:42:12 UTC
Created attachment 173095 [details]
sndio.diff

Fixes build on FreeBSD 9.3 and adds experimental OSS support (only playback was tested).

portlint ok, as are Poudriere test builds in FreeBSD 10.2/amd64, FreeBSD 9.3/i386
Comment 7 Kurt Jaeger freebsd_committer 2016-08-03 05:25:38 UTC
testbuilds are ok, portlint is fine.
Comment 8 commit-hook freebsd_committer 2016-08-03 06:16:13 UTC
A commit references this bug:

Author: pi
Date: Wed Aug  3 06:15:42 UTC 2016
New revision: 419497
URL: https://svnweb.freebsd.org/changeset/ports/419497

Log:
  New port: audio/sndio

  Sndio is a small audio and MIDI framework part of the OpenBSD project.

  It provides an lightweight audio & MIDI server and a fully documented
  user-space API to access either the server or directly the hardware in
  a uniform way.  Sndio is designed to work for desktop applications,
  but pays special attention to synchronization mechanisms and
  reliability required by music applications.  Reliability through
  simplicity are part of the project goals.

  WWW: http://www.sndio.org/

  PR:		210124
  Submitted by:	Tobias Kortkamp <t@tobik.me>

Changes:
  head/GIDs
  head/UIDs
  head/audio/Makefile
  head/audio/sndio/
  head/audio/sndio/Makefile
  head/audio/sndio/distinfo
  head/audio/sndio/files/
  head/audio/sndio/files/patch-configure
  head/audio/sndio/files/patch-libsndio_Makefile.in
  head/audio/sndio/files/patch-libsndio_sio.c
  head/audio/sndio/files/patch-libsndio_sio__oss.c
  head/audio/sndio/files/patch-libsndio_sio__priv.h
  head/audio/sndio/files/sndiod.in
  head/audio/sndio/pkg-descr
  head/audio/sndio/pkg-message
  head/audio/sndio/pkg-plist
Comment 9 Kurt Jaeger freebsd_committer 2016-08-03 06:18:24 UTC
Committed, thanks!