# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= sndio VERSION= 1.9.0 KEYWORDS= audio VARIANTS= standard SDESC[standard]= Small audio and MIDI framework from OpenBSD HOMEPAGE= http://www.sndio.org/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= http://www.sndio.org/ DISTFILE[1]= sndio-1.9.0.tar.gz:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BROKEN[sunos]= Needs err.h which is not available on Sol10 B_DEPS[linux]= alsa-lib:dev:standard libbsd:dev:standard BR_DEPS[linux]= libbsd:primary:standard alsa-lib:primary:standard USERS= _sndio GROUPS= _sndio USERGROUP_SPKG= single LICENSE= ISCL:single LICENSE_FILE= ISCL:{{WRKDIR}}/ISC_LICENSE LICENSE_AWK= ISCL:"^\#ifndef" LICENSE_SOURCE= ISCL:{{WRKSRC}}/libsndio/sndio.h LICENSE_SCHEME= solo FPC_EQUIVALENT= audio/sndio MUST_CONFIGURE= yes CONFIGURE_ARGS= --prefix={{PREFIX}} --mandir={{MANPREFIX}}/man SINGLE_JOB= yes SOVERSION= 7.2 RC_SUBR= sndiod:single VAR_OPSYS[linux]= CONFIGURE_ARGS= --with-libbsd post-patch: # Make sure sndiod can be started inside jails as root ${REINPLACE_CMD} 's|err(1, "setpriority")|warn("setpriority")|' \ ${WRKSRC}/sndiod/sndiod.c post-patch-dragonfly: ${REINPLACE_CMD} -e 's@\(FreeBSD\))@\1|DragonFly)@g' \ ${WRKSRC}/configure post-install: ${STRIP_CMD} \ ${STAGEDIR}${PREFIX}/lib/libsndio.${LIBEXT} \ ${STAGEDIR}${PREFIX}/bin/sndioctl \ ${STAGEDIR}${PREFIX}/bin/sndiod \ ${STAGEDIR}${PREFIX}/bin/aucat \ ${STAGEDIR}${PREFIX}/bin/midicat [FILE:449:descriptions/desc.single] 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. [FILE:97:distinfo] f30826fc9c07e369d3924d5fcedf6a0a53c0df4ae1f5ab50fe9cf280540f699a 157354 sndio-1.9.0.tar.gz [FILE:823:manifests/plist.single] bin/ aucat midicat sndioctl sndiod include/sndio.h lib/ libsndio.so libsndio.so.%%SOVERSION%% lib/pkgconfig/sndio.pc share/man/man1/ aucat.1.gz midicat.1.gz sndioctl.1.gz share/man/man3/ mio_close.3.gz mio_eof.3.gz mio_nfds.3.gz mio_open.3.gz mio_pollfd.3.gz mio_read.3.gz mio_revents.3.gz mio_write.3.gz sio_close.3.gz sio_eof.3.gz sio_getcap.3.gz sio_getpar.3.gz sio_initpar.3.gz sio_nfds.3.gz sio_onmove.3.gz sio_onvol.3.gz sio_open.3.gz sio_pollfd.3.gz sio_read.3.gz sio_revents.3.gz sio_setpar.3.gz sio_setvol.3.gz sio_start.3.gz sio_stop.3.gz sio_write.3.gz sioctl_close.3.gz sioctl_eof.3.gz sioctl_nfds.3.gz sioctl_ondesc.3.gz sioctl_onval.3.gz sioctl_open.3.gz sioctl_pollfd.3.gz sioctl_revents.3.gz sioctl_setval.3.gz share/man/man7/sndio.7.gz share/man/man8/sndiod.8.gz [FILE:249:patches/patch-aucat_defs.h] --- aucat/defs.h.orig 2022-07-16 09:38:24 UTC +++ aucat/defs.h @@ -17,6 +17,12 @@ #ifndef DEFS_H #define DEFS_H +#ifdef __sun__ +#define BIG_ENDIAN 4321 +#define LITTLE_ENDIAN 1234 +#define BYTE_ORDER LITTLE_ENDIAN +#endif + /* * limits */ [FILE:1459:patches/patch-configure] --- configure.orig 2022-07-16 09:38:24 UTC +++ configure @@ -64,9 +64,9 @@ case `uname` in Linux) alsa=yes ldadd="-lrt" - user=sndiod - so_link="libsndio.so libsndio.so.\${MAJ} libsndio.so.\${MAJ}.0" - so_ldflags="-Wl,-soname=libsndio.so.\${MAJ}" + user=_sndio + so_link="libsndio.so" + so_ldflags="-Wl,-soname=libsndio.so.\${MAJ}.\${MIN}" defs='-D_GNU_SOURCE -DHAVE_SOCK_CLOEXEC -DHAVE_CLOCK_GETTIME' ;; NetBSD) @@ -74,6 +74,7 @@ case `uname` in rmidi=yes user=_sndio so_link="libsndio.so" + so_ldflags="-Wl,-soname=libsndio.so.\${MAJ}.\${MIN}" defs='-DHAVE_ARC4RANDOM -DHAVE_GETPEEREID -DHAVE_ISSETUGID \\\ -DHAVE_STRLCAT -DHAVE_STRLCPY \\\ -DHAVE_SOCK_CLOEXEC -DHAVE_CLOCK_GETTIME' @@ -86,7 +87,7 @@ case `uname` in -DHAVE_STRLCAT -DHAVE_STRLCPY -DHAVE_STRTONUM \\\ -DHAVE_SOCK_CLOEXEC -DHAVE_CLOCK_GETTIME' ;; - DragonFly|FreeBSD) + DragonFly|FreeBSD|MidnightBSD) oss=yes umidi=yes user=_sndio @@ -96,6 +97,17 @@ case `uname` in -DHAVE_STRLCAT -DHAVE_STRLCPY -DHAVE_STRTONUM \\\ -DHAVE_SOCK_CLOEXEC -DHAVE_CLOCK_GETTIME' ;; + SunOS) + ldadd="-lrt -lsocket" + sun=no # doesn't compile + umidi=yes + user=_sndio + so_ldflags="-Wl,-soname,libsndio.so.\${MAJ}.\${MIN}" + so_link="libsndio.so" + defs='-DHAVE_ISSETUGID -DO_CLOEXEC=0 \\\ + -DHAVE_STRLCAT -DHAVE_STRLCPY \\\ + -DSOCK_CLOEXEC=0 -DHAVE_CLOCK_GETTIME' + ;; Darwin) rmidi=no so="libsndio.\${MAJ}.\${MIN}.dylib" [FILE:1039:patches/patch-libsndio_aucat.c] --- libsndio/aucat.c.orig 2022-07-16 09:38:24 UTC +++ libsndio/aucat.c @@ -43,6 +43,26 @@ #define DEV_RANDOM "/dev/urandom" #endif +#ifdef __sun__ +#include +static const char *getprogname (void) { + static const char *progname; + + if (progname == NULL) { + const char *e = getexecname(); + if (e != NULL) { + /* Have to make a copy since getexecname can return a readonly + string, but basename expects to be able to modify its arg. */ + char *n = strdup(e); + if (n != NULL) { + progname = basename(n); + } + } + } + return progname; +} +#endif + static int random_bytes(unsigned char *buf, int len) { @@ -472,7 +492,11 @@ parsestr(const char *str, char *rstr, un int _aucat_open(struct aucat *hdl, const char *str, unsigned int mode) { +#ifdef __sun__ + const char * __progname = getprogname(); +#else extern char *__progname; +#endif int eof; char host[NI_MAXHOST], opt[AMSG_OPTMAX]; const char *p; [FILE:261:patches/patch-sndiod_defs.h] --- sndiod/defs.h.orig 2022-07-16 09:38:24 UTC +++ sndiod/defs.h @@ -17,6 +17,12 @@ #ifndef DEFS_H #define DEFS_H +#ifdef __sun__ +#define BIG_ENDIAN 4321 +#define LITTLE_ENDIAN 1234 +#define BYTE_ORDER LITTLE_ENDIAN +#endif + /* * MIDI buffer size */ [FILE:465:files/sndiod.in] #!/bin/sh # # $FreeBSD: head/audio/sndio/files/sndiod.in 427071 2016-11-25 01:11:41Z cpm $ # # PROVIDE: sndiod # REQUIRE: NETWORKING sysctl # BEFORE: DAEMON # KEYWORD: shutdown . /etc/rc.subr name=sndiod rcvar=sndiod_enable load_rc_config $name : ${sndiod_dev="rsnd/$($SYSCTL -n hw.snd.default_unit)"} : ${sndiod_enable="NO"} : ${sndiod_flags="-f ${sndiod_dev} -c 0:7 -j off -s default -m mon -s monitor"} command="%%PREFIX%%/bin/sndiod" run_rc_command "$1"