blob: 6d2fa9e99178b21f443c82408cf9470e6b9912ba (
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-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/cmake-2.6.4-r3.ebuild,v 1.2 2009/11/02 20:26:28 maekke Exp $
EAPI="2"
inherit elisp-common toolchain-funcs eutils versionator flag-o-matic cmake-utils
MY_PV="${PV/rc/RC-}"
MY_P="${PN}-$(replace_version_separator 3 - ${MY_PV})"
DESCRIPTION="Cross platform Make"
HOMEPAGE="http://www.cmake.org/"
SRC_URI="http://www.cmake.org/files/v$(get_version_component_range 1-2)/${MY_P}.tar.gz"
LICENSE="CMake"
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd"
SLOT="0"
IUSE="emacs qt4 vim-syntax"
DEPEND="
>=net-misc/curl-7.16.4
>=dev-libs/expat-2.0.1
>=dev-libs/libxml2-2.6.28
>=dev-libs/xmlrpc-c-1.06.27[curl]
emacs? ( virtual/emacs )
qt4? ( x11-libs/qt-gui:4 )
vim-syntax? (
|| (
app-editors/vim
app-editors/gvim
)
)
"
RDEPEND="${DEPEND}"
SITEFILE="50${PN}-gentoo.el"
VIMFILE="${PN}.vim"
S="${WORKDIR}/${MY_P}"
CMAKE_IN_SOURCE_BUILD=1
PATCHES=(
"${FILESDIR}/${PN}-FindJNI.patch"
"${FILESDIR}/${PN}-FindPythonLibs.patch"
"${FILESDIR}/${PN}-FindPythonInterp.patch"
"${FILESDIR}/${P}-FindBoost.patch"
)
src_configure() {
local qt_arg par_arg
if [[ "$(gcc-major-version)" -eq "3" ]] ; then
append-flags "-fno-stack-protector"
fi
bootstrap=0
has_version ">=dev-util/cmake-2.6.1" || bootstrap=1
if [[ ${bootstrap} = 0 ]]; then
# Required version of CMake found, now test if it works
cmake --version &> /dev/null
if ! [[ $? = 0 ]]; then
bootstrap=1
fi
fi
if [[ ${bootstrap} = 1 ]]; then
tc-export CC CXX LD
if use qt4; then
qt_arg="--qt-gui"
else
qt_arg="--no-qt-gui"
fi
echo $MAKEOPTS | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null
if [ $? -eq 0 ]; then
par_arg=$(echo $MAKEOPTS | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | egrep -o '[[:digit:]]+')
par_arg="--parallel=${par_arg}"
else
par_arg="--parallel=1"
fi
./bootstrap \
--system-libs \
--prefix=/usr \
--docdir=/share/doc/${PF} \
--datadir=/share/${PN} \
--mandir=/share/man \
"$qt_arg" \
"$par_arg" || die "./bootstrap failed"
else
# this is way much faster so we should preffer it if some cmake is
# around.
use qt4 && qt_arg="ON" || qt_arg="OFF"
mycmakeargs="-DCMAKE_USE_SYSTEM_LIBRARIES=ON
-DCMAKE_DOC_DIR=/share/doc/${PF}
-DCMAKE_MAN_DIR=/share/man
-DCMAKE_DATA_DIR=/share/${PN}
-DBUILD_CursesDialog=ON
-DBUILD_QtDialog=${qt_arg}"
cmake-utils_src_configure
fi
}
src_compile() {
cmake-utils_src_compile
if use emacs; then
elisp-compile Docs/cmake-mode.el || die "elisp compile failed"
fi
}
src_test() {
einfo "Please note that test \"58 - SimpleInstall-Stage2\" might fail."
einfo "If any package installs with cmake, it means test failed but cmake work."
emake test
}
src_install() {
cmake-utils_src_install
if use emacs; then
elisp-install ${PN} Docs/cmake-mode.el Docs/cmake-mode.elc || die "elisp-install failed"
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
fi
if use vim-syntax; then
insinto /usr/share/vim/vimfiles/syntax
doins "${S}"/Docs/cmake-syntax.vim
insinto /usr/share/vim/vimfiles/indent
doins "${S}"/Docs/cmake-indent.vim
insinto /usr/share/vim/vimfiles/ftdetect
doins "${FILESDIR}/${VIMFILE}"
fi
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}
|