Index: Makefile =================================================================== RCS file: /home/pcvs/ports/audio/oss/Makefile,v retrieving revision 1.5 diff -u -r1.5 Makefile --- Makefile 11 Jul 2007 22:06:10 -0000 1.5 +++ Makefile 12 Jul 2007 07:37:00 -0000 @@ -25,6 +25,7 @@ WRKSRC= ${WRKDIR}/build PATCH_WRKSRC= ${WRKDIR}/${DISTNAME} SUB_FILES= pkg-install pkg-message +ONLY_FOR_ARCHS= amd64 i386 MAN1= ossinfo.1 ossmix.1 ossplay.1 ossrecord.1 osstest.1 ossxmix.1 MAN8= ossctl.8 ossdevlinks.8 savemixer.8 ossdetect.8 @@ -33,17 +34,29 @@ IGNORE= requires kernel source to be installed .endif -do-configure: - ${MKDIR} ${WRKSRC} - cd ${WRKSRC} && ${WRKDIR}/${DISTNAME}/configure +.include + +.if ${OSVERSION} < 600000 +BROKEN= Does not compile on 5.x. +.endif + +pre-patch: ${FIND} ${WRKDIR}/${DISTNAME} -type f -name '*.[hc]' -or -name '*.man' | ${XARGS} ${REINPLACE_CMD} \ - -e 's|"/usr/include/stdarg.h"||g' \ + -e 's|"/usr/include/stdarg.h"||g' \ -e 's|/usr/|${PREFIX}/|g' \ -e 's|/etc/oss|${PREFIX}/etc/oss|g' - ${REINPLACE_CMD} -e "s|mkdir|mkdir -p|" ${WRKSRC}/build.sh + ${REINPLACE_CMD} -e "s||<${ARCH}/include/intr_machdep.h>|g" \ + ${WRKDIR}/${DISTNAME}/setup/FreeBSD/oss/build/osscore.c + ${REINPLACE_CMD} -e "s|mkdir|mkdir -p|" ${WRKDIR}/${DISTNAME}/setup/FreeBSD/build.sh + +post-patch: ${FIND} ${WRKDIR} -name soundon -or -name soundoff -or -name build.sh | ${XARGS} ${REINPLACE_CMD} \ -e 's|%%PREFIX%%|${PREFIX}|g' +do-configure: + ${MKDIR} ${WRKSRC} + cd ${WRKSRC} && ${WRKDIR}/${DISTNAME}/configure + do-install: ${INSTALL_PROGRAM} ${WRKSRC}/prototype/usr/bin/* ${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKSRC}/prototype/usr//sbin/savemixer ${PREFIX}/sbin @@ -70,10 +83,4 @@ PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL @${CAT} ${PKGMESSAGE} -.include - -.if ${OSVERSION} < 600000 || ${OSVERSION} > 700000 -BROKEN= Does not compile on 5.x and 7.x -.endif - .include Index: files/patch-kernel-OS-FreeBSD-os_freebsd.c =================================================================== RCS file: files/patch-kernel-OS-FreeBSD-os_freebsd.c diff -N files/patch-kernel-OS-FreeBSD-os_freebsd.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-kernel-OS-FreeBSD-os_freebsd.c 12 Jul 2007 07:37:00 -0000 @@ -0,0 +1,11 @@ +--- kernel/OS/FreeBSD/os_freebsd.c.orig 2007-06-12 17:32:57.000000000 -0400 ++++ kernel/OS/FreeBSD/os_freebsd.c 2007-07-11 20:41:43.000000000 -0400 +@@ -145,7 +145,7 @@ + return 0; + + wq->flags = 0; +- flag = msleep (wq, *mutex, PRIBIO | PCATCH, "oss", ticks); ++ flag = msleep_spin (wq, *mutex, "oss", ticks); + + if (flag == EWOULDBLOCK) /* Timeout */ + { Index: files/patch-kernel-OS-FreeBSD-os_freebsd.h =================================================================== RCS file: files/patch-kernel-OS-FreeBSD-os_freebsd.h diff -N files/patch-kernel-OS-FreeBSD-os_freebsd.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-kernel-OS-FreeBSD-os_freebsd.h 12 Jul 2007 07:37:00 -0000 @@ -0,0 +1,27 @@ +--- kernel/OS/FreeBSD/os_freebsd.h.orig 2007-06-12 17:32:57.000000000 -0400 ++++ kernel/OS/FreeBSD/os_freebsd.h 2007-07-11 20:07:40.000000000 -0400 +@@ -16,7 +16,6 @@ + * distribution. Please contact sales@opensound.com for further info. + * + */ +-#define OS_VERSION "6" + #define __inline__ inline + #define __inline inline + #define EXTERN_C extern "C" +@@ -55,6 +54,16 @@ + #include + #include + ++#define __FreeBSD_version_major ((__FreeBSD_version) / 100000) ++ ++#if (__FreeBSD_version_major == 7) ++#define OS_VERSION "7" ++#elif (__FreeBSD_version_major == 6) ++#define OS_VERSION "6" ++#else ++#error Unsupported OS version ++#endif ++ + #undef timeout + #define timeout oss_timeout + #undef untimeout Index: files/patch-setup-FreeBSD-oss-build-osscore.c =================================================================== RCS file: files/patch-setup-FreeBSD-oss-build-osscore.c diff -N files/patch-setup-FreeBSD-oss-build-osscore.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-setup-FreeBSD-oss-build-osscore.c 12 Jul 2007 07:37:00 -0000 @@ -0,0 +1,15 @@ +--- setup/FreeBSD/oss/build/osscore.c.orig 2007-06-12 08:22:35.000000000 -0400 ++++ setup/FreeBSD/oss/build/osscore.c 2007-07-11 18:45:01.000000000 -0400 +@@ -164,7 +164,11 @@ + } + + intr->irq == bus_setup_intr (osdev->dip, intr->irqres, +- INTR_TYPE_AV | INTR_MPSAFE, ossintr, intr, ++ INTR_TYPE_AV | INTR_MPSAFE, ++#if __FreeBSD_version >= 700031 ++ NULL, ++#endif ++ ossintr, intr, + &(intr->cookie)); + + nintrs++;