blob: e0ac542a7c2946d809ee94e5e70a6c4c6bf94af0 (
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
|
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
# @ECLASS: virtuoso.eclass
# @MAINTAINER:
# Maciej Mrozowski <reavertm@gentoo.org>
# Chris Reffett <creffett@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|4|5) : ;;
*) die "EAPI=${EAPI} is not supported" ;;
esac
inherit autotools multilib eutils
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
# 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
pushd "${S}" >/dev/null
[[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
debug-print "$FUNCNAME: applying user patches"
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}
}
|