blob: 058e739c1b824c45c42e27313333830b6e70724d (
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/virtuoso.eclass,v 1.8 2011/01/26 18:25:46 reavertm Exp $
# @ECLASS: virtuoso.eclass
# @MAINTAINER:
# Maciej Mrozowski <reavertm@gentoo.org>
#
# @BLURB: Provides splitting functionality for Virtuoso
# @DESCRIPTION:
# This eclass provides common code for splitting Virtuoso OpenSource database
case ${EAPI:-0} in
2|3) : ;;
*) die "EAPI=${EAPI} is not supported" ;;
esac
inherit base autotools multilib
MY_P="virtuoso-opensource-${PV}"
case ${PV} in
*9999*)
ECVS_SERVER="virtuoso.cvs.sourceforge.net:/cvsroot/virtuoso"
ECVS_PROJECT='virtuoso'
SRC_URI=""
inherit cvs
;;
*)
# Use this variable to determine distribution method (live or tarball)
TARBALL="${MY_P}.tar.gz"
SRC_URI="mirror://sourceforge/virtuoso/${TARBALL} mirror://gentoo/VOS-genpatches-${PV}.tar.bz2"
;;
esac
EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install
# Set some defaults
HOMEPAGE='http://virtuoso.openlinksw.com/wiki/main/Main/'
LICENSE='GPL-2'
SLOT='0'
DEPEND='
>=sys-devel/libtool-2.2.6a
'
RDEPEND=''
S="${WORKDIR}/${MY_P}"
# @FUNCTION: virtuoso_src_prepare
# @DESCRIPTION:
# 1. Applies common release patches
# 2. Applies package-specific patches (from ${FILESDIR}/, PATCHES can be used)
# 3. Applies user patches from /etc/portage/patches/${CATEGORY}/${PN}/
# 4. Modifies makefiles for split build. Uses VOS_EXTRACT
# 5. eautoreconf
virtuoso_src_prepare() {
debug-print-function ${FUNCNAME} "$@"
EPATCH_SUFFIX='patch' EPATCH_FORCE='yes' epatch
base_src_prepare
epatch_user
# @ECLASS-VARIABLE: VOS_EXTRACT
# @DESCRIPTION:
# Lists any subdirectories that are required to be extracted
# and enabled in Makefile.am's for current package.
if [[ -n ${VOS_EXTRACT} ]]; then
# Comment out everything
find . -name Makefile.am -exec \
sed -e '/SUBDIRS\s*=/s/^/# DISABLED /g' -i {} + \
|| die 'failed to disable subdirs'
# Uncomment specified
local path
for path in ${VOS_EXTRACT}; do
if [[ -d "${path}" ]]; then
# Uncomment leaf
if [[ -f "${path}"/Makefile.am ]]; then
sed -e '/^# DISABLED \s*SUBDIRS\s*=/s/# DISABLED //g' \
-i "${path}"/Makefile.am || die "failed to uncomment leaf in ${path}/Makefile.am"
fi
# Process remaining path elements
while true; do
local subdir=`basename "${path}"`
path=`dirname "${path}"`
if [[ -f "${path}"/Makefile.am ]]; then
# Uncomment if necessary
sed -e '/^# DISABLED \s*SUBDIRS\s*=/s/.*/SUBDIRS =/g' \
-i "${path}"/Makefile.am
# Append subdirs if not there already
if [[ -z `sed -ne "/SUBDIRS\s*=.*${subdir}\b/p" "${path}"/Makefile.am` ]]; then
sed -e "/^SUBDIRS\s*=/s|$| ${subdir}|" \
-i "${path}"/Makefile.am || die "failed to append ${subdir}"
fi
fi
[[ "${path}" = . ]] && break
done
fi
done
fi
eautoreconf
}
# @FUNCTION: virtuoso_src_configure
# @DESCRIPTION:
# Runs ./configure with common and user options specified via myconf variable
virtuoso_src_configure() {
debug-print-function ${FUNCNAME} "$@"
# Override some variables to make tests work
if [[ ${PN} != virtuoso-server ]]; then
[[ ${EAPI} == 2 ]] && ! use prefix && EPREFIX=
export ISQL="${EPREFIX}"/usr/bin/isql-v
export SERVER="${EPREFIX}"/usr/bin/virtuoso-t
fi
econf \
--with-layout=gentoo \
--localstatedir="${EPREFIX}"/var \
--enable-shared \
--with-pthreads \
--without-internal-zlib \
${myconf}
}
# @FUNCTION: virtuoso_src_compile
# @DESCRIPTION:
# Runs make for specified subdirs
virtuoso_src_compile() {
debug-print-function ${FUNCNAME} "$@"
base_src_compile
}
# @FUNCTION: virtuoso_src_install
# @DESCRIPTION:
# Default src_install
virtuoso_src_install() {
debug-print-function ${FUNCNAME} "$@"
base_src_install
}
|