summaryrefslogtreecommitdiff
path: root/audio/oss/Makefile
blob: e0d400a88ca2226f99a66a8cb59bf3f37d07fd64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# $NetBSD: Makefile,v 1.28 2004/04/01 11:23:32 wiz Exp $

DISTNAME=	oss-${OSS_VERSION}	# Overridden below
PKGNAME=	oss-${OSS_VERSION}
CATEGORIES=	audio sysutils
MASTER_SITES=	ftp://ftp.opensound.com/pub/oss/netbsd/

MAINTAINER=	jlam@NetBSD.org
HOMEPAGE=	http://www.opensound.com/oss.html
COMMENT=	Open Sound System(TM) soundcard driver

#ONLY_FOR_PLATFORM=	NetBSD-1.6-i386 NetBSD-1.6.*-i386
#ONLY_FOR_PLATFORM+=	NetBSD-1.6_*-i386
OSVERSION_SPECIFIC=	yes

PKG_INSTALLATION_TYPES=	overwrite pkgviews

DISTNAME=		oss${OSS_VERSION:S/.//g}-netbsd-v1.6.2
OSS_VERSION=		3.9.8e

RESTRICTED=		"No re-distribution."
NO_SRC_ON_CDROM=	${RESTRICTED}
NO_BIN_ON_CDROM=	${RESTRICTED}
NO_SRC_ON_FTP=		${RESTRICTED}
NO_BIN_ON_FTP=		${RESTRICTED}

WRKSRC=			${WRKDIR}
USE_BUILDLINK3=		yes
USE_PKGINSTALL=		yes
NO_CONFIGURE=		yes

DEINSTALL_EXTRA_TMPL+=	${.CURDIR}/DEINSTALL
INSTALL_EXTRA_TMPL+=	${.CURDIR}/INSTALL

MODSTAT=		/usr/bin/modstat

CHROOT?=		/usr/sbin/chroot
OSSLIBDIR=		${PREFIX}/lib/oss
FILES_SUBST+=		OSSLIBDIR=${OSSLIBDIR}
FILES_SUBST+=		MODSTAT=${MODSTAT}

# OSS needs to find certain files in /etc, so this package can't be
# made to honor ${PKG_SYSCONFDIR}.
#
SFILES=			drums.o3 drums.sb oss.conf std.o3 std.sb
FILES_SUBST+=		SFILES=${SFILES:Q}
.for FILE in ${SFILES}
SUPPORT_FILES+=		${OSSLIBDIR}/${FILE} /etc/${FILE}
.endfor
SUPPORT_FILES+=		${OSSLIBDIR}/license.asc.eval ${OSSLIBDIR}/license.asc
RCD_SCRIPTS=		oss
INSTALLATION_DIRS=	bin sbin

post-extract:
	${MKDIR} ${WRKSRC}
	${MKDIR} ${WRKSRC}/dev
	${MKDIR} ${WRKSRC}/etc
	${CP} ${FILESDIR}/responses ${WRKSRC}
	( ${ECHO} "#!${SH}";						\
	  ${ECHO} "${CAT} responses | ./oss-install"			\
	) > ${WRKSRC}/install.sh
	${CHMOD} +x ${WRKSRC}/install.sh

do-build:
	@for file in ossxmix soundconf; do				\
		${SED}	${FILES_SUBST_SED}				\
			-e "s|@OSS_WRAPPEE@|${OSSLIBDIR}/$${file}|g"	\
			${FILESDIR}/wrapper.sh > ${WRKDIR}/$${file}.sh;	\
	done

# Run the install script in a chroot environment.  The install script tries
# to install into /usr/lib, so we let it install into the chroot'ed /usr/lib
# and then copy the "installed" files to where to really want them.
#
chroot:
	-${PAX} -rw `${CAT} ${FILESDIR}/chroot` ${WRKSRC}
	${CHROOT} -u ${ROOT_USER} -g ${ROOT_GROUP} ${WRKSRC} ./install.sh
	${ECHO} "OSSLIBDIR=${OSSLIBDIR}" > ${WRKSRC}/usr/lib/oss/oss.conf
	${MV} ${WRKSRC}/usr/lib/oss/license.asc				\
		${WRKSRC}/usr/lib/oss/license.asc.eval
	${RM} ${WRKSRC}/usr/lib/oss/*.log

do-install: chroot
	cd ${WRKSRC}/usr && ${PAX} -rw -pe lib/oss ${PREFIX}
	${INSTALL_DATA} ${FILESDIR}/MAKEDEV.oss ${OSSLIBDIR}
	${LN} -sf ../lib/oss/mixer ${PREFIX}/bin/ossmixer
	${LN} -sf ../lib/oss/mplay ${PREFIX}/bin/ossmplay
	${INSTALL_SCRIPT} ${WRKDIR}/ossxmix.sh ${PREFIX}/bin/ossxmix
	${LN} -sf ../lib/oss/play ${PREFIX}/bin/ossplay
	${LN} -sf ../lib/oss/record ${PREFIX}/bin/ossrecord
	${LN} -sf ../lib/oss/savemixer ${PREFIX}/bin/osssavemixer
	${INSTALL_SCRIPT} ${WRKDIR}/soundconf.sh ${PREFIX}/sbin/soundconf
	${LN} -sf ../lib/oss/soundoff ${PREFIX}/sbin/soundoff
	${LN} -sf ../lib/oss/soundon ${PREFIX}/sbin/soundon

	${RM} -rf ${WRKSRC}/bin ${WRKSRC}/sbin ${WRKSRC}/usr
	${RM} -f ${WRKSRC}/dev/mixer0 ${WRKSRC}/dev/null
	${RM} -f ${WRKSRC}/etc/oss.conf
	${RM} -f ${WRKSRC}/etc/*.o3 ${WRKSRC}/etc/*.sb
	${RM} -f ${WRKSRC}/*.core

.include "../../mk/bsd.pkg.mk"