summaryrefslogtreecommitdiff
blob: 95b435ff669f67bcbf3fe159850446226b98b84e (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
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-db/metakit/metakit-2.4.9.7.ebuild,v 1.11 2010/07/31 20:10:04 armin76 Exp $

EAPI="3"
PYTHON_DEPEND="python? 2"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="3.*"

inherit eutils multilib python toolchain-funcs

DESCRIPTION="Embedded database library"
HOMEPAGE="http://www.equi4.com/metakit/"
SRC_URI="http://www.equi4.com/pub/mk/${P}.tar.gz"

LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ia64 ~ppc s390 sparc x86"
IUSE="python static tcl"

DEPEND="tcl? ( >=dev-lang/tcl-8.3.3-r2 )"
RDEPEND="${DEPEND}"

RESTRICT="test"

pkg_setup() {
	if use python; then
		python_pkg_setup
	fi
}

src_prepare() {
	epatch "${FILESDIR}/${P}-LDFLAGS.patch"
}

src_configure() {
	local myconf mycxxflags
	use tcl && myconf+=" --with-tcl=/usr/include,/usr/$(get_libdir)"
	use static && myconf+=" --disable-shared"
	use static || mycxxflags="-fPIC"

	sed -i -e "s:^\(CXXFLAGS = \).*:\1${CXXFLAGS} ${mycxxflags} -I\$(srcdir)/../include:" unix/Makefile.in

	CXXFLAGS="${CXXFLAGS} ${mycxxflags}" unix/configure \
		${myconf} \
		--host=${CHOST} \
		--prefix=/usr \
		--libdir=/usr/$(get_libdir) \
		--infodir=/usr/share/info \
		--mandir=/usr/share/man || die "configure failed"
}

src_compile() {
	emake SHLIB_LD="$(tc-getCXX) -shared" || die "emake failed"

	if use python; then
		python_copy_sources

		building() {
			emake \
				SHLIB_LD="$(tc-getCXX) -shared" \
				pyincludedir="$(python_get_includedir)" \
				python
		}
		python_execute_function -s building
	fi
}

src_install () {
	emake DESTDIR="${D}" install || die "emake install failed"

	if use python; then
		installation() {
			dodir "$(python_get_sitedir)" || return 1
			emake \
				DESTDIR="${D}" \
				pylibdir="$(python_get_sitedir)" \
				install-python
		}
		python_execute_function -s installation
	fi

	dodoc CHANGES README
	dohtml Metakit.html
	dohtml -a html,gif,png,jpg -r doc/*
}

pkg_postinst() {
	if use python; then
		python_mod_optimize metakit.py
	fi
}

pkg_postrm() {
	if use python; then
		python_mod_cleanup metakit.py
	fi
}