summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
authorTomas Chvatal <scarabeus@gentoo.org>2009-03-25 18:37:35 +0100
committerTomas Chvatal <scarabeus@gentoo.org>2009-03-25 18:37:35 +0100
commit7eee93487b4c97bcccc055930ba0ba25c7cbfb74 (patch)
tree9a031421afe3df9cc5ee681fdb3de8fb5ffbe747 /dev-util
parent20367a5fed78e90313f5d50c688652f7be3381f1 (diff)
downloadkde-7eee93487b4c97bcccc055930ba0ba25c7cbfb74.tar.gz
kde-7eee93487b4c97bcccc055930ba0ba25c7cbfb74.tar.bz2
kde-7eee93487b4c97bcccc055930ba0ba25c7cbfb74.zip
Cmake magic. I compiled with nonbootstraped one whole tree -e world and observe no issues (i week testing)
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/cmake/Manifest6
-rw-r--r--dev-util/cmake/cmake-2.6.3-r1.ebuild127
-rw-r--r--dev-util/cmake/files/50cmake-gentoo.el4
-rw-r--r--dev-util/cmake/files/cmake-FindPythonInterp.patch12
-rw-r--r--dev-util/cmake/files/cmake-FindPythonLibs.patch13
-rw-r--r--dev-util/cmake/files/cmake.vim3
6 files changed, 165 insertions, 0 deletions
diff --git a/dev-util/cmake/Manifest b/dev-util/cmake/Manifest
new file mode 100644
index 00000000000..b8d6717ef03
--- /dev/null
+++ b/dev-util/cmake/Manifest
@@ -0,0 +1,6 @@
+AUX 50cmake-gentoo.el 244 RMD160 effb4416a5170ed7c99ea74084f2598e2482fdf0 SHA1 c34102f3343980275169144b40af6ec69a87d7fc SHA256 6010e6df84aa23050fcbc490ae2b22802ede0870ff2e96c43fe541e97e0d6c00
+AUX cmake-FindPythonInterp.patch 689 RMD160 77d7bb6e85fff6c54650de68ee241c28f2092bde SHA1 674f9a3ed0fcc2b92f2972cf0856ee2c88d59172 SHA256 b30f9f1d6f3c6100db7e98905f8d919fbb77b8c8bc5528d2f3874cb42eb28065
+AUX cmake-FindPythonLibs.patch 530 RMD160 3e012fbf78d649d6c8111d72d384da3b1b838268 SHA1 0576f44f61465b8403471f0648653226f843d3bd SHA256 1e7bff2a1e999ac877ffeac1414e54e1685c5ef303d698db50d81201029204ab
+AUX cmake.vim 217 RMD160 3ac23077646d31e9c29ff32ae2eba20b63c07809 SHA1 527b989aec74eb260c16f93baf189c2e6794b3d8 SHA256 7366c1d45bdcc93efb1954216a5427a5f9df7e98a1f706c357576d7835aaebc5
+DIST cmake-2.6.3.tar.gz 3594959 RMD160 14f0e878844f55a1b3d02837e98087dcaabb16be SHA1 bf34e1661954d808ac3a3eb9d394b69e4d3b1a98 SHA256 3c3af80526a32bc2afed616e8f486b847144f2fa3a8e441908bd39c38b146450
+EBUILD cmake-2.6.3-r1.ebuild 3203 RMD160 76b38bd94ff66ea0753ce7a906f0425bbeca988d SHA1 3afe9e42196b7250c3d5da14ae9cc849a1e8ca7b SHA256 72e77024ec16458b6776145862e243792fc80aee760c43cbeae7d8a36bb850b3
diff --git a/dev-util/cmake/cmake-2.6.3-r1.ebuild b/dev-util/cmake/cmake-2.6.3-r1.ebuild
new file mode 100644
index 00000000000..882674aeef8
--- /dev/null
+++ b/dev-util/cmake/cmake-2.6.3-r1.ebuild
@@ -0,0 +1,127 @@
+# 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.3.ebuild,v 1.1 2009/03/01 13:13:40 scarabeus 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"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+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.09[curl]
+ emacs? ( virtual/emacs )
+ qt4? ( || ( ( x11-libs/qt-core:4
+ x11-libs/qt-gui:4 )
+ >=x11-libs/qt-4.3: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
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-FindPythonLibs.patch"
+ epatch "${FILESDIR}/${PN}-FindPythonInterp.patch"
+}
+
+src_configure() {
+ local qt_arg par_arg
+
+ if [[ "$(gcc-major-version)" -eq "3" ]] ; then
+ append-flags "-fno-stack-protector"
+ fi
+
+ if ! has_version ">=dev-util/cmake-2.4.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() {
+ emake test || \
+ einfo "note test failure on qtwrapping was expected - nature of portage rather than a true failure"
+}
+
+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
+}
diff --git a/dev-util/cmake/files/50cmake-gentoo.el b/dev-util/cmake/files/50cmake-gentoo.el
new file mode 100644
index 00000000000..e4a1a6d47cb
--- /dev/null
+++ b/dev-util/cmake/files/50cmake-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'cmake-mode "cmake-mode" "Major mode for editing CMake files." t)
+(add-to-list 'auto-mode-alist '("CMakeLists\\.txt\\'" . cmake-mode))
+(add-to-list 'auto-mode-alist '("\\.cmake\\'" . cmake-mode))
diff --git a/dev-util/cmake/files/cmake-FindPythonInterp.patch b/dev-util/cmake/files/cmake-FindPythonInterp.patch
new file mode 100644
index 00000000000..f70d4f83d35
--- /dev/null
+++ b/dev-util/cmake/files/cmake-FindPythonInterp.patch
@@ -0,0 +1,12 @@
+diff -ur cmake-2.6.2.orig/Modules/FindPythonInterp.cmake cmake-2.6.2/Modules/FindPythonInterp.cmake
+--- cmake-2.6.2.orig/Modules/FindPythonInterp.cmake 2008-09-24 20:34:34.000000000 +0200
++++ cmake-2.6.2/Modules/FindPythonInterp.cmake 2009-01-03 19:54:21.000000000 +0100
+@@ -7,7 +7,7 @@
+ #
+
+ FIND_PROGRAM(PYTHON_EXECUTABLE
+- NAMES python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 python
++ NAMES python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5
+ PATHS
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.5\\InstallPath]
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.4\\InstallPath]
diff --git a/dev-util/cmake/files/cmake-FindPythonLibs.patch b/dev-util/cmake/files/cmake-FindPythonLibs.patch
new file mode 100644
index 00000000000..f473cffd9d1
--- /dev/null
+++ b/dev-util/cmake/files/cmake-FindPythonLibs.patch
@@ -0,0 +1,13 @@
+--- Modules/FindPythonLibs.cmake 2008-05-08 11:18:22.000000000 -0400
++++ Modules/FindPythonLibs.cmake 2008-05-08 11:18:40.000000000 -0400
+@@ -27,10 +27,6 @@
+ NAMES python${_CURRENT_VERSION_NO_DOTS} python${_CURRENT_VERSION}
+ PATHS
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs
+- PATH_SUFFIXES
+- python${_CURRENT_VERSION}/config
+- # Avoid finding the .dll in the PATH. We want the .lib.
+- NO_SYSTEM_ENVIRONMENT_PATH
+ )
+
+ SET(PYTHON_FRAMEWORK_INCLUDES)
diff --git a/dev-util/cmake/files/cmake.vim b/dev-util/cmake/files/cmake.vim
new file mode 100644
index 00000000000..5cecd7d05b6
--- /dev/null
+++ b/dev-util/cmake/files/cmake.vim
@@ -0,0 +1,3 @@
+autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in runtime! indent/cmake.vim
+autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in setf cmake
+autocmd BufRead,BufNewFile *.ctest,*.ctest.in setf cmake