aboutsummaryrefslogtreecommitdiffstats
path: root/audio/oss/Makefile
blob: e090d85ce6646c629af995a9ee6b839248c06267 (plain) (blame)
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
# New ports collection makefile for:    oss
# Date created:     2007-06-14
# Whom:         Edward Tomasz Napierala <trasz@FreeBSD.org>
#
# $FreeBSD$
#

PORTNAME=   oss
DISTVERSION=    4.0-build1006
PORTREVISION=   3
CATEGORIES= audio kld
MASTER_SITES=   http://developer.opensound.com/sources/stable/
DISTNAME=   ${PORTNAME}-v${DISTVERSION}-src-cddl

MAINTAINER= jkim@FreeBSD.org
COMMENT=    Open Sound System

BUILD_DEPENDS=  gawk:${PORTSDIR}/lang/gawk

USE_BZIP2=  yes
ALL_TARGET= all install
USE_LDCONFIG=   yes
USE_GNOME=  gtk20
USE_RC_SUBR=    oss
WRKSRC=     ${WRKDIR}/build
PATCH_WRKSRC=   ${WRKDIR}/${DISTNAME}
SUB_FILES=  pkg-install
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

.if !exists(${SRC_BASE}/sys/Makefile)
IGNORE=     requires kernel source to be installed
.endif

.include <bsd.port.pre.mk>

.if ${OSVERSION} < 600000
BROKEN=     Does not compile on 5.x.
.endif

pre-patch:
    ${REINPLACE_CMD} -e 's|"/usr/include/stdarg.h"|<${ARCH}/include/stdarg.h>|g' \
        -e "s|<i386/include/intr_machdep.h>|<${ARCH}/include/intr_machdep.h>|g" \
        ${WRKDIR}/${DISTNAME}/setup/FreeBSD/oss/build/module.inc \
        ${WRKDIR}/${DISTNAME}/setup/FreeBSD/oss/build/osscore.c
    ${REINPLACE_CMD} -e "s|mkdir|mkdir -p|" ${WRKDIR}/${DISTNAME}/setup/FreeBSD/build.sh
    ${FIND} ${WRKDIR}/${DISTNAME} -type f -name '*.[hc]' -or -name '*.man' | \
        ${XARGS} ${REINPLACE_CMD} \
        -e 's|/usr/|${PREFIX}/|g' \
        -e 's|/etc/oss|${PREFIX}/etc/oss|g'

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/
    @# oss.conf does not contain any user-configurable data; it's ok to overwrite it.
    ${INSTALL_DATA} ${WRKSRC}/prototype/etc/oss.conf ${PREFIX}/etc/
    -@${MKDIR} ${PREFIX}/lib/oss 2>/dev/null
    ${INSTALL_DATA} ${WRKSRC}/prototype/usr/lib/oss/sysfiles.list ${PREFIX}/lib/oss/
    ${INSTALL_DATA} ${WRKSRC}/prototype/usr/lib/oss/version.dat ${PREFIX}/lib/oss/
    -@${MKDIR} ${PREFIX}/lib/oss/etc 2>/dev/null
    ${INSTALL_DATA} ${WRKSRC}/prototype/usr/lib/oss/etc/devices.list ${PREFIX}/lib/oss/etc/
    -@${MKDIR} ${PREFIX}/lib/oss/logs 2>/dev/null
    @${MKDIR} ${PREFIX}/lib/oss/modules
    ${INSTALL_KLD} ${WRKSRC}/prototype/usr/lib/oss/modules/*.ko ${PREFIX}/lib/oss/modules/
    ${INSTALL_MAN} ${WRKSRC}/prototype/usr/man/man1/*.1 ${PREFIX}/man/man1/
    ${INSTALL_MAN} ${WRKSRC}/prototype/usr/man/man8/*.8 ${PREFIX}/man/man8/
    ${INSTALL_PROGRAM} ${WRKSRC}/prototype/usr/sbin/ossctl ${PREFIX}/sbin/
    ${INSTALL_PROGRAM} ${WRKSRC}/prototype/usr/sbin/ossdetect ${PREFIX}/sbin/
    ${INSTALL_PROGRAM} ${WRKSRC}/prototype/usr/sbin/ossdevlinks ${PREFIX}/sbin/
    ${INSTALL_PROGRAM} ${WRKSRC}/prototype/usr/sbin/savemixer ${PREFIX}/sbin/
    ${INSTALL_SCRIPT} ${WRKSRC}/prototype/usr/sbin/soundoff ${PREFIX}/sbin/
    ${INSTALL_SCRIPT} ${WRKSRC}/prototype/usr/sbin/soundon ${PREFIX}/sbin/
    @${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
    @${CAT} ${PKGMESSAGE}

.include <bsd.port.post.mk>