From 928d3f06a0bc260fa702477df11506ca9a3421a0 Mon Sep 17 00:00:00 2001 From: Maxim Sobolev Date: Wed, 28 Mar 2001 08:07:21 +0000 Subject: Various updates and improvements. Changes: Added /usr/local/etc/rc.d/aureal.sh.sample to assist with loading/ unloading the driver. Submitted version was slightly expanded with the automatic detection of the Aureal card present in the system. Details on how to override this are provided. (Sorry Peter for not taking care of this sooner) Submitted by: Peter Pentchev Fixed the driver to work on 4.1 / 4.1.1 systems. It turns out these systems don't have pcm_unregister(). The sideeffect of this is that it's impossible to unload the driver. But at least one can kldload it now. Tested by: Vladislav V. Zhuk" Switch over to Cameron's recent newpcm mega-commit in -CURRENT. To install the port your CURRENT has to be built from post 3/24/2001 sources. Submitted by: FUJISHIMA Satsuki Submitted by: maintainer --- audio/aureal-kmod/Makefile | 24 +++++++++++------ audio/aureal-kmod/distinfo | 4 +-- audio/aureal-kmod/files/aureal.sh | 56 +++++++++++++++++++++++++++++++++++++++ audio/aureal-kmod/pkg-plist | 4 +++ 4 files changed, 78 insertions(+), 10 deletions(-) create mode 100644 audio/aureal-kmod/files/aureal.sh (limited to 'audio/aureal-kmod') diff --git a/audio/aureal-kmod/Makefile b/audio/aureal-kmod/Makefile index 370bd6cd68ab..15e91deae107 100644 --- a/audio/aureal-kmod/Makefile +++ b/audio/aureal-kmod/Makefile @@ -7,10 +7,10 @@ PORTNAME= aureal-kmod PORTVERSION= 1.5 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= audio MASTER_SITES= http://www.cis.ohio-state.edu/~matey/au88x0/ -DISTNAME= au88x0-${PORTVERSION} +DISTNAME= au88x0-${PORTVERSION}_${PORTREVISION} MAINTAINER= matey@cis.ohio-state.edu @@ -35,7 +35,8 @@ VERSION_SOUND_C!= ${AWK} '/.*\$$FreeBSD/ { print $$4; exit; }' \ VERSION_SOUND_C= .endif -VERSION_SOUND_C:= ${VERSION_SOUND_C:S/1.17.2.//} +VERSION_SOUND_C_CURRENT:= ${VERSION_SOUND_C:S/1.//} +VERSION_SOUND_C_STABLE:= ${VERSION_SOUND_C:S/1.17.2.//} .if ${OSVERSION} < 410000 BROKEN= "FreeBSD 3.*, 4.0 are not supported" @@ -43,13 +44,13 @@ BROKEN= "FreeBSD 3.*, 4.0 are not supported" .elif ${OSVERSION} < 420000 # FreeBSD 4.1, 4.1.1 PORTVERSION= 1.1 -PORTREVISION= 2 +PORTREVISION= 3 .elif ${OSVERSION} < 500000 # FreeBSD 4.2 PORTVERSION= 1.3 -.if ${VERSION_SOUND_C} < 4 +.if ${VERSION_SOUND_C_STABLE} < 4 # FreeBSD 4.2 before kobj MFC PORTREVISION= 1 @@ -61,8 +62,11 @@ MAKE_ENV+= HAVE_KOBJ_PCM=1 .endif -.if ${OSVERSION} < 500000 -DISTNAME= au88x0-${PORTVERSION}_${PORTREVISION} +.if ${OSVERSION} > 500000 +# FreeBSD 5-CURRENT +.if ${VERSION_SOUND_C_CURRENT} < 40 +BROKEN= "Base system is outdated. This port needs -CURRENT after newpcm megacommit (built after 3/24/2001)" +.endif .endif pre-fetch: @@ -91,10 +95,14 @@ pre-fetch: fi pre-install: - @${SED} 's|%%PREFIX%%|${PREFIX}|g' ${PKGDIR}/pkg-message > ${PKGMESSAGE} + @${SED} 's|%%PREFIX%%|${PREFIX}|g' ${PKGDIR}/pkg-message > \ + ${PKGMESSAGE} + @${SED} 's|%%PREFIX%%|${PREFIX}|g' ${FILESDIR}/aureal.sh > \ + ${WRKDIR}/aureal.sh.sample ${MKDIR} ${PREFIX}/lib/au88x0 post-install: + @${INSTALL_SCRIPT} ${WRKDIR}/aureal.sh.sample ${PREFIX}/etc/rc.d @${CAT} ${PKGMESSAGE} .include diff --git a/audio/aureal-kmod/distinfo b/audio/aureal-kmod/distinfo index 1c0bcdbdd949..9dda6439a804 100644 --- a/audio/aureal-kmod/distinfo +++ b/audio/aureal-kmod/distinfo @@ -1,4 +1,4 @@ -MD5 (au88x0-1.1_2.tar.gz) = 2a738bb71acd20bee05df758feec8545 +MD5 (au88x0-1.1_3.tar.gz) = 811026b4fd105b5b9e6a0ebfdc83b75a MD5 (au88x0-1.3_1.tar.gz) = ec49c6e62847f6a0da318fea8c954917 MD5 (au88x0-1.3_2.tar.gz) = 266a8ba37778bfd1ea4007407f733540 -MD5 (au88x0-1.5.tar.gz) = c0e781dde9624eb1213deb84aeb9d099 +MD5 (au88x0-1.5_2.tar.gz) = 59c17f9d252b7859ad2431cd651ed04b diff --git a/audio/aureal-kmod/files/aureal.sh b/audio/aureal-kmod/files/aureal.sh new file mode 100644 index 000000000000..3df9adb324b9 --- /dev/null +++ b/audio/aureal-kmod/files/aureal.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +# If for some reason this script fails to guess the type of your +# Aureal card correctly, you can manually override it here. +# Set this to 8810 (Vortex Advantage), 8820 (Vortex 1) or 8830 +# (Vortex 2): +# +#CARD=8830 +# + +PCICONF="/usr/sbin/pciconf" + +if [ -z "${CARD}" -a -x ${PCICONF} ]; then + if [ "`${PCICONF} -l 2>&- | grep 0x000312eb`" ]; then + CARD=8810 + elif [ "`${PCICONF} -l 2>&- | grep 0x000112eb`" ]; then + CARD=8820 + elif [ "`${PCICONF} -l 2>&- | grep 0x000212eb`" ]; then + CARD=8830 + fi +fi + +if [ -z "${CARD}" ]; then + echo "Unable to determine your Aureal card type -" \ + "override it manually in $0" >&2 + exit 255 +fi + +PREFIX=%%PREFIX%% +LIBDIR=${PREFIX}/lib/au88x0 +DRIVERFILE=snd_au${CARD}.ko + +case "$1" in + start) + if [ ! -f ${LIBDIR}/${DRIVERFILE} ]; then + echo "" + echo "${LIBDIR}/${DRIVERFILE} for ${CARD} not found!" + echo "" + exit 64 + fi + /sbin/kldload snd_pcm.ko + /sbin/kldload ${LIBDIR}/${DRIVERFILE} + echo -n " aureal-kmod" + ;; + stop) + /sbin/kldunload ${DRIVERFILE} + /sbin/kldunload snd_pcm.ko + echo -n " aureal-kmod" + ;; + *) + echo "" + echo "Usage: `basename $0` { start | stop }" + echo "" + exit 64 + ;; +esac diff --git a/audio/aureal-kmod/pkg-plist b/audio/aureal-kmod/pkg-plist index 168d6b9cf81b..412c03910a54 100644 --- a/audio/aureal-kmod/pkg-plist +++ b/audio/aureal-kmod/pkg-plist @@ -1,4 +1,8 @@ +etc/rc.d/aureal.sh.sample +@unexec /usr/bin/chflags noschg %D/lib/au88x0/snd_au8810.ko lib/au88x0/snd_au8810.ko +@unexec /usr/bin/chflags noschg %D/lib/au88x0/snd_au8820.ko lib/au88x0/snd_au8820.ko +@unexec /usr/bin/chflags noschg %D/lib/au88x0/snd_au8830.ko lib/au88x0/snd_au8830.ko @dirrm lib/au88x0 -- cgit v1.2.3