summaryrefslogtreecommitdiff
blob: 8846b73cfd92323af17f33a64dbc4e1fe406aa01 (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
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql++/mysql++-1.7.9-r1.ebuild,v 1.9 2004/02/22 19:42:28 agriffis Exp $

inherit gcc eutils

DESCRIPTION="C++ API interface to the MySQL database"
# This is the download page but includes links to other places
HOMEPAGE="http://www.mysql.org/downloads/api-mysql++.html"
SRC_URI="http://mysql.he.net/Downloads/${PN}/${P}.tar.gz
	http://mysql.adgrafix.com/Downloads/${PN}/${P}.tar.gz
	http://mysql.fastmirror.com/Downloads/${PN}/${P}.tar.gz
	http://mysql.oms-net.nl/Downloads/${PN}/${P}.tar.gz
	mirror://gentoo/mysql++-gcc-3.0.patch.gz
	mirror://gentoo/mysql++-gcc-3.2.patch.gz"

LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="x86 ~alpha ~hppa ~mips ~sparc ~ppc"

DEPEND=">=dev-db/mysql-3.23.49"

src_unpack() {
	unpack ${A}
	EPATCH_OPTS="-p1 -d ${S}"
	if [ `gcc-major-version` -eq 3 ] ; then
		EPATCH_SINGLE_MSG="Patching for gcc 3.0..."
		epatch ${DISTDIR}/mysql++-gcc-3.0.patch.gz
		EPATCH_SINGLE_MSG="Patching for gcc 3.2..."
		epatch ${DISTDIR}/mysql++-gcc-3.2.patch.gz
		EPATCH_SINGLE_MSG="Patching to fix some warnings and errors..."
		epatch ${FILESDIR}/mysql++-1.7.9-gcc_throw.patch
		EPATCH_SINGLE_MSG="Patch for const char* error"
		epatch ${FILESDIR}/mysql++-1.7.9-mysql4-gcc3.patch
	else
		EPATCH_SINGLE_MSG="Patch for const char* error"
		epatch ${FILESDIR}/mysql++-1.7.9-mysql4-gcc295.patch
	fi
	EPATCH_SINGLE_MSG="Fixing examples directory bug..."
	epatch ${FILESDIR}/mysql++-1.7.9_example.patch
}

src_compile() {
	local myconf
	# we want C++ exceptions turned on
	myconf="--enable-exceptions"
	# We do this because of the large number of header files installed to the include directory
	# This is a breakage compared to previous versions that installed straight to /usr/include
	myconf="${myconf} --includedir=/usr/include/mysql++"
	# not including the directives to where MySQL is because it seems to find it
	# just fine without
	# force the cflags into place otherwise they get totally ignored by configure
	CFLAGS="${CFLAGS}" CXXFLAGS="${CFLAGS} ${CXXFLAGS}" \
	econf \
		--enable-exceptions \
		--includedir=/usr/include/mysql++

	emake || die "unable to make"
}

src_install() {
	make DESTDIR=${D} install || die
	# install the docs and HTML pages
	dodoc README LGPL
	dodoc doc/*
	dohtml doc/man-html/*
	prepalldocs
	ewarn "The MySQL++ include directory has changed compared to previous versions"
	ewarn "It was previously /usr/include, but now it is /usr/include/mysql++"
}

pkg_postinst() {
	ewarn "The MySQL++ include directory has changed compared to previous versions"
	ewarn "It was previously /usr/include, but now it is /usr/include/mysql++"
}