diff options
| author | Tomáš Chvátal <scarabeus@gentoo.org> | 2009-09-27 21:06:27 +0200 |
|---|---|---|
| committer | Tomáš Chvátal <scarabeus@gentoo.org> | 2009-09-27 21:06:27 +0200 |
| commit | 442ec331cdbbf605821aab9fbf02b0fa4a91918c (patch) | |
| tree | d53447c938cf8e59d283e4258fdfdc972820141f /dev-util/cmake | |
| parent | 96492d79466e181d5eca39f874f5ca8cad0e6790 (diff) | |
| download | kde-442ec331cdbbf605821aab9fbf02b0fa4a91918c.tar.gz kde-442ec331cdbbf605821aab9fbf02b0fa4a91918c.tar.bz2 kde-442ec331cdbbf605821aab9fbf02b0fa4a91918c.zip | |
Initial commit for new cmake.
For god sake do not test cause it is not ready.
Whats needed to be done:
- check 2.6 patches and apply those that are still relevant.
- CMakeLists got rewritten so new options are around
Also probably new dep (optional):
JNI-H -- i bet it is something javist.
In this verison it uses system curses form library not internal YAY :]
Also it reports that it wants CURSES_EXTRA_LIBRARY=NOT-FOUND, so find
out what the heck it is.
Diffstat (limited to 'dev-util/cmake')
| -rw-r--r-- | dev-util/cmake/Manifest | 9 | ||||
| -rw-r--r-- | dev-util/cmake/cmake-2.8.0_rc1.ebuild | 137 | ||||
| -rw-r--r-- | dev-util/cmake/files/50cmake-gentoo.el | 4 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-2.6.4-FindBoost.patch | 22 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-FindJNI.patch | 71 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-FindPythonInterp.patch | 11 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-FindPythonLibs.patch | 22 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake-python-3.patch | 22 | ||||
| -rw-r--r-- | dev-util/cmake/files/cmake.vim | 3 |
9 files changed, 301 insertions, 0 deletions
diff --git a/dev-util/cmake/Manifest b/dev-util/cmake/Manifest new file mode 100644 index 00000000000..72a3601fdfd --- /dev/null +++ b/dev-util/cmake/Manifest @@ -0,0 +1,9 @@ +AUX 50cmake-gentoo.el 244 RMD160 effb4416a5170ed7c99ea74084f2598e2482fdf0 SHA1 c34102f3343980275169144b40af6ec69a87d7fc SHA256 6010e6df84aa23050fcbc490ae2b22802ede0870ff2e96c43fe541e97e0d6c00 +AUX cmake-2.6.4-FindBoost.patch 1094 RMD160 58cbed09bcb5fadf166cf64481f9605b5882f6a2 SHA1 5a3a91737b436e9de50c955bdb3e32b8fa7bed30 SHA256 a3f266086335b96af8e0dd848a05a10373762de9b9d6cc3b8af4b27fb43d362c +AUX cmake-FindJNI.patch 2020 RMD160 4fcb9714de65eb146a2696cd6613357684515b2d SHA1 c463daa6e7d3a1d7065607f97993b5da3486e7e1 SHA256 c5390550c192aea18415087ed891f7e5192b2a385c9c72f4cda0c19b13f6bfbb +AUX cmake-FindPythonInterp.patch 498 RMD160 a4113724d0c2bdb53e7c947790d8a7e337759c84 SHA1 abd7754549fef5aae515361acd6a509c98227bf5 SHA256 8c3d4dc1898eae4adaa392b556286076594470277bc7c1bddbe2a28213fff7c0 +AUX cmake-FindPythonLibs.patch 807 RMD160 015966b7de3f452e8e2508f801502a02ae6385e0 SHA1 017445fe3ec3bdd4b9c18c83b3b4088622c716f3 SHA256 fc1911deab11c56a3f6e5858a626bc96dc079b7a72ba51737b05e2a7fa0fb4ad +AUX cmake-python-3.patch 969 RMD160 6147ea9c8c6ab2ee805f80bb001f97ef43a3d444 SHA1 6e7102ac2d3e3b4050025b37a460b1e3435a5e84 SHA256 5e7893b7750acc4bb5b6ed9d94ddbe54f2729e19d1eeb958b638de0a07dd657f +AUX cmake.vim 217 RMD160 3ac23077646d31e9c29ff32ae2eba20b63c07809 SHA1 527b989aec74eb260c16f93baf189c2e6794b3d8 SHA256 7366c1d45bdcc93efb1954216a5427a5f9df7e98a1f706c357576d7835aaebc5 +DIST cmake-2.8.0-rc1.tar.gz 3524542 RMD160 7e80e6bd62ff70589e6ddde314170fdbf6ee79d0 SHA1 2a5b04bc5a1ffec194127985f0f23b258076d7b3 SHA256 078c24275a3aa62d1a7440cf19c4be9ac4095cb1db1913adeb9c5f2cf63bfd74 +EBUILD cmake-2.8.0_rc1.ebuild 3190 RMD160 d6ec4e6b208764e46eac409e7741b8ab23440028 SHA1 6b96c39d30f4c1788acc7a893f07fd34e8e5eef4 SHA256 1d13771bfe4eba6449dbb4e77e6103ad853012e01f0aff38e1b25954a5ae7e08 diff --git a/dev-util/cmake/cmake-2.8.0_rc1.ebuild b/dev-util/cmake/cmake-2.8.0_rc1.ebuild new file mode 100644 index 00000000000..3bbf96fdfe9 --- /dev/null +++ b/dev-util/cmake/cmake-2.8.0_rc1.ebuild @@ -0,0 +1,137 @@ +# 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-r2.ebuild,v 1.1 2009/07/28 16:30:34 arfrever Exp $ + +EAPI="2" + +inherit elisp-common toolchain-funcs eutils versionator flag-o-matic cmake-utils + +MY_PV="${PV/_/-}" +MY_P="${PN}-${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="" +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 + +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 +} 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-2.6.4-FindBoost.patch b/dev-util/cmake/files/cmake-2.6.4-FindBoost.patch new file mode 100644 index 00000000000..a251d4fd1c1 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.6.4-FindBoost.patch @@ -0,0 +1,22 @@ +--- Modules/FindBoost.cmake ++++ Modules/FindBoost.cmake +@@ -57,7 +57,8 @@ + # + # Currently this module searches for the following version numbers: + # 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1, 1.35, 1.35.0, 1.35.1, +-# 1.36, 1.36.0, 1.36.1, 1.37, 1.37.0, 1.38, 1.38.0 ++# 1.36, 1.36.0, 1.36.1, 1.37, 1.37.0, 1.38, 1.38.0, 1.39, 1.39.0, ++# 1.40, 1.40.0, 1.41, 1.41.0, 1.42, 1.42.0, 1.43, 1.43.0, 1.44, 1.44.0 + # + # NOTE: If you add a new major 1.x version in Boost_ADDITIONAL_VERSIONS you should + # add both 1.x and 1.x.0 as shown above. Official Boost include directories +@@ -271,7 +272,8 @@ + # The user has not requested an exact version. Among known + # versions, find those that are acceptable to the user request. + set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS} +- "1.38.0" "1.38" "1.37.0" "1.37" ++ "1.44.0" "1.44" "1.43.0" "1.43" "1.42.0" "1.42" "1.41.0" "1.41" ++ "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37" + "1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0" + "1.34" "1.33.1" "1.33.0" "1.33") + set(_boost_TEST_VERSIONS) diff --git a/dev-util/cmake/files/cmake-FindJNI.patch b/dev-util/cmake/files/cmake-FindJNI.patch new file mode 100644 index 00000000000..af723c52919 --- /dev/null +++ b/dev-util/cmake/files/cmake-FindJNI.patch @@ -0,0 +1,71 @@ +diff -ru ./Modules/FindJNI.cmake ../a/Modules/FindJNI.cmake +--- ./Modules/FindJNI.cmake 2009-02-21 21:36:50.000000000 +0100 ++++ ../a/Modules/FindJNI.cmake 2008-11-24 04:44:06.000000000 +0100 +@@ -2,7 +2,7 @@ + # This module finds if Java is installed and determines where the + # include files and libraries are. It also determines what the name of + # the library is. This code sets the following variables: +-# ++# + # JNI_INCLUDE_DIRS = the include dirs to use + # JNI_LIBRARIES = the libraries to use + # JAVA_AWT_LIBRARY = the path to the jawt library +@@ -51,6 +51,8 @@ + "${dir}" + "${dir}/client" + "${dir}/server" ++ "${dir}/j9vm" ++ "${dir}/classic" + ) + ENDFOREACH(dir) + +@@ -60,7 +62,7 @@ + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include" + $ENV{JAVA_HOME}/include +- /usr/include ++ /usr/include + /usr/local/include + /usr/lib/java/include + /usr/local/lib/java/include +@@ -126,7 +128,7 @@ + ) + ENDIF(JAVA_HAVE_FRAMEWORK) + ELSE(APPLE) +- FIND_LIBRARY(JAVA_AWT_LIBRARY jawt ++ FIND_LIBRARY(JAVA_AWT_LIBRARY jawt + PATHS ${JAVA_AWT_LIBRARY_DIRECTORIES} + ) + FIND_LIBRARY(JAVA_JVM_LIBRARY NAMES jvm JavaVM +@@ -134,18 +136,23 @@ + ) + ENDIF(APPLE) + +-# add in the include path +-FIND_PATH(JAVA_INCLUDE_PATH jni.h ++# add in the include path ++FIND_PATH(JAVA_INCLUDE_PATH jni.h + ${JAVA_AWT_INCLUDE_DIRECTORIES} + ) + +-FIND_PATH(JAVA_INCLUDE_PATH2 jni_md.h ++FIND_PATH(JAVA_INCLUDE_PATH2 jni_md.h + ${JAVA_AWT_INCLUDE_DIRECTORIES} + ${JAVA_INCLUDE_PATH}/win32 + ${JAVA_INCLUDE_PATH}/linux + ${JAVA_INCLUDE_PATH}/freebsd + ) + ++FIND_PATH(JAVA_INCLUDE_PATH2 jniport.h ++ ${JAVA_AWT_INCLUDE_DIRECTORIES} ++ ${JAVA_INCLUDE_PATH} ++) ++ + FIND_PATH(JAVA_AWT_INCLUDE_PATH jawt.h + ${JAVA_AWT_INCLUDE_DIRECTORIES} + ${JAVA_INCLUDE_PATH} +@@ -169,4 +176,3 @@ + ${JAVA_INCLUDE_PATH2} + ${JAVA_AWT_INCLUDE_PATH} + ) +- diff --git a/dev-util/cmake/files/cmake-FindPythonInterp.patch b/dev-util/cmake/files/cmake-FindPythonInterp.patch new file mode 100644 index 00000000000..2e4c47d6806 --- /dev/null +++ b/dev-util/cmake/files/cmake-FindPythonInterp.patch @@ -0,0 +1,11 @@ +--- Modules/FindPythonInterp.cmake ++++ Modules/FindPythonInterp.cmake +@@ -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.7 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..7981140296d --- /dev/null +++ b/dev-util/cmake/files/cmake-FindPythonLibs.patch @@ -0,0 +1,22 @@ +--- Modules/FindPythonLibs.cmake ++++ Modules/FindPythonLibs.cmake +@@ -13,7 +13,7 @@ + # Search for the python framework on Apple. + CMAKE_FIND_FRAMEWORKS(Python) + +-FOREACH(_CURRENT_VERSION 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.6 1.5) ++FOREACH(_CURRENT_VERSION 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.6 1.5) + STRING(REPLACE "." "" _CURRENT_VERSION_NO_DOTS ${_CURRENT_VERSION}) + IF(WIN32) + FIND_LIBRARY(PYTHON_DEBUG_LIBRARY +@@ -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-python-3.patch b/dev-util/cmake/files/cmake-python-3.patch new file mode 100644 index 00000000000..0fdcd0ca192 --- /dev/null +++ b/dev-util/cmake/files/cmake-python-3.patch @@ -0,0 +1,22 @@ +--- Modules/FindPythonInterp.cmake ++++ Modules/FindPythonInterp.cmake +@@ -7,7 +7,7 @@ + # + + FIND_PROGRAM(PYTHON_EXECUTABLE +- NAMES python python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 ++ NAMES python python3.2 python3.1 python3.0 python2.7 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.6\\InstallPath] + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.5\\InstallPath] +--- Modules/FindPythonLibs.cmake ++++ Modules/FindPythonLibs.cmake +@@ -13,7 +13,7 @@ + # Search for the python framework on Apple. + CMAKE_FIND_FRAMEWORKS(Python) + +-FOREACH(_CURRENT_VERSION 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.6 1.5) ++FOREACH(_CURRENT_VERSION 3.2 3.1 3.0 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.6 1.5) + STRING(REPLACE "." "" _CURRENT_VERSION_NO_DOTS ${_CURRENT_VERSION}) + IF(WIN32) + FIND_LIBRARY(PYTHON_DEBUG_LIBRARY 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 |
