summaryrefslogtreecommitdiff
blob: 7f1567fe526617476aaf2191adf6f978fd165929 (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
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-video/sonic-snap/sonic-snap-1.7.ebuild,v 1.2 2011/03/20 20:05:07 jlec Exp $

EAPI="3"
inherit eutils linux-info toolchain-funcs

DESCRIPTION="Webcam app for sn9c10x based camera controllers (with optional MPEG4 support)"
HOMEPAGE="http://www.stolk.org/sonic-snap/"
SRC_URI="http://www.stolk.org/${PN}/downloads/${P}.tar.gz"

LICENSE="GPL-1"
SLOT="0"
KEYWORDS="~amd64 ~mips ~ppc ~ppc64 ~sparc ~x86"
IUSE="mpeg"

DEPEND="x11-libs/fltk:1
	mpeg? ( >=media-libs/libfame-0.9.1 )
	sys-libs/zlib
	x11-libs/libXdmcp
	x11-libs/libXau
	x11-libs/libXrender
	x11-libs/libX11
	x11-libs/libXext
	x11-libs/libXft"

CONFIG_CHECK="~USB_SN9C102"
ERROR_USB_SN9C102="Please make sure the SN9C1xx PC Camera Controller driver is \
enabled, under V4L USB devices, as a module in your kernel."

src_prepare() {
	# fix bad assumptions
	sed -i \
		-e "s|\$(HOME)/include|/usr/include|" \
		-e "s|\$(HOME)/lib|/usr/$(get_libdir)|" \
		-e "s|CFLAGS=|CFLAGS= ${CXXFLAGS} |" \
		-e "s|LFLAGS=|LFLAGS= ${LDFLAGS} |" \
		-e "s/g++-4.0 -O3/$(tc-getCXX)/" \
		Makefile

	use mpeg || sed -i -e "s?USE_FAME=1?USE_FAME=0?g" Makefile
}

src_compile() {
	make || die '"make" failed.'
}

src_install() {
	dodir /usr/bin
	make DESTDIR="${D}" install || die '"make install" failed.'

	dodoc ChangeLog README
	doman debian/sonic-snap.1
}

pkg_postinst() {

	elog
	elog "This driver is V4L v2 only, so V4L v1 apps will not work."
	elog "Finally, only a few image sensors are supported, eg, PAS106B"
	elog "so (check dmesg or /var/log/messages for USB device info when"
	elog "you plug the cam in)."
	elog
	elog "Now try sonic-snap-gui /dev/videoX (where X is 0, 1 , etc)."
	elog
}