blob: 9386421eedb40d25f2907627fafd964843451ede (
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
inherit eutils flag-o-matic toolchain-funcs versionator
MY_PV=$(get_version_component_range 1-2)
BUILD=$(get_version_component_range 3)
MY_P=${PN}-v${MY_PV}-build${BUILD}-src-gpl
DESCRIPTION="Open Sound System - applications and man pages"
HOMEPAGE="http://developer.opensound.com/"
SRC_URI="http://www.4front-tech.com/developer/sources/stable/gpl/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="gtk salsa"
RDEPEND="media-sound/oss-driver
gtk? ( x11-libs/gtk+:2 )"
DEPEND="${RDEPEND}
app-text/txt2man"
S=${WORKDIR}/${MY_P}
BUILD_DIR=${WORKDIR}/${PN}-build
### TODO ###
# - fix linking order for --as-needed
# - fix man pages (savemixer installed twice)
src_prepare() {
# the build system forces shadow builds
mkdir "${BUILD_DIR}"
epatch "${FILESDIR}"/${P}-filesystem-layout.patch \
"${FILESDIR}"/${P}-txt2man.patch \
"${FILESDIR}"/${P}-as-needed-strip.patch
sed -e "s:GRC_MAX_QUALITY=3:GRC_MAX_QUALITY=6:" -i configure || die
}
src_configure() {
cd "${BUILD_DIR}"
local myconf=""
use salsa || myconf="--enable-libsalsa=NO"
HOSTCC=$(tc-getCC) \
NO_WARNING_CHECKS=1 \
"${S}"/configure \
--config-midi=YES \
${myconf} || die
}
src_compile() {
cd "${BUILD_DIR}"
pushd lib
einfo "Building libraries"
emake CC=$(tc-getCC)
popd
pushd cmd
if ! use gtk; then
# remove ossxmix from SUBDIRS
sed -e "s:ossxmix::" -i Makefile
fi
einfo "Building applications"
emake CC=$(tc-getCC)
popd
pushd os_cmd/Linux
einfo "Building ossdetect/ossvermagic"
emake CC=$(tc-getCC)
popd
}
src_install() {
cd "${BUILD_DIR}"
use salsa && dolib lib/libsalsa/.libs/libsalsa.so*
dolib lib/libOSSlib/libOSSlib.so
# linux-headers ships OSS3 API
#insinto /usr/include/linux
#doins include/soundcard.h
# install man pages
use gtk || rm cmd/ossxmix/ossxmix.man
rename man 1 cmd/*/*.man
doman cmd/*/*.1
rename .man .7 misc/man7/*.man
doman misc/man7/*.7
rename man 7 kernel/drv/*/*.man
doman kernel/drv/*/*.7
newman os_cmd/Linux/ossdetect/ossdetect.man ossdetect.8
newman noregparm/cmd/ossdevlinks/ossdevlinks.man ossdevlinks.8
newman noregparm/cmd/savemixer/savemixer.man savemixer.8
newman noregparm/cmd/vmixctl/vmixctl.man vmixctl.8
insinto /etc/oss4
doins devices.list
newins .version version.dat
cat > "${ED}"/etc/oss.conf << EOF
OSSETCDIR=/etc/oss4
OSSVARDIR=/var/lib/oss4
EOF
cd "target"
dosbin sbin/*
dobin bin/*
dolib lib/*
dodir /var/lib/oss4
newinitd "${FILESDIR}"/${PN}.init ${PN}
newconfd "${FILESDIR}"/${PN}.conf ${PN}
}
|