diff --git a/dev-util/cmake/Manifest b/dev-util/cmake/Manifest index afc0bf88..e39f297a 100644 --- a/dev-util/cmake/Manifest +++ b/dev-util/cmake/Manifest @@ -14,10 +14,12 @@ AUX cmake-2.8.1-portage-multilib-lib32.patch 7242 RMD160 47738f73dfe42b9a2996b44 AUX cmake-2.8.3-FindLibArchive.patch 651 RMD160 ccff38785a20e66b3fbd7ea95c46b05052d7e4de SHA1 8c3ba96c7f4bd901a9089e7af315f22c78eb1d6c SHA256 521bc573c94f4a62c949caf0690902f1290d35969f68870967aa699caff60364 AUX cmake-2.8.3-FindPythonInterp.patch 550 RMD160 c02295ce79f97cd6be16f90e3c89ad6deed09b4a SHA1 f8a67cd872b90a6dd77626bfd766f788b0775655 SHA256 96ebc2ae19a4d366ef4ed57db44ebd3baa6fb652d8bf5ea6867f64f972d7134e AUX cmake-2.8.3-FindPythonLibs.patch 550 RMD160 b060930247da3d716fa9592d2d68ddec7d9c488f SHA1 4040bc3749b5f0e12ed07eb765d8863988352814 SHA256 fa6dcfad7c110c5ac264606aa7716c1d6078242802ee9fafc34e9a725cefd755 +AUX cmake-2.8.3-fix_assembler_test.patch 968 RMD160 b2469fea53858b882a6850838bb23db8428ccff4 SHA1 d76592ae0ce5ec1252e3f66642cd84c9f367f0a6 SHA256 59db2b7de7afcbfbf0cee0ef3a1561b1ff5943c7ad9a9b4e7265476f7a40ddfe AUX cmake-2.8.3-more-no_host_paths.patch 3052 RMD160 fb11585292980d19a2810a7ce5741c94aa7391a3 SHA1 3980e7b522ebe934fbf0625221cc5b42e2e19716 SHA256 55165d67bad9def6b349bf67d02ede28a2fc291d28a2a5296897e25980ce623c 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 546 RMD160 429021001f1b464d8321703052890a34141a34ec SHA1 e5d62feab16058f123e1399e0504a50f50ee5a88 SHA256 86a5e78ff4e62cf8987401255197f7ba4ae70d00c257df3048372c5dcc035bdd AUX cmake.vim 217 RMD160 3ac23077646d31e9c29ff32ae2eba20b63c07809 SHA1 527b989aec74eb260c16f93baf189c2e6794b3d8 SHA256 7366c1d45bdcc93efb1954216a5427a5f9df7e98a1f706c357576d7835aaebc5 DIST cmake-2.8.3.tar.gz 5436543 RMD160 8bcba88ad884e22bbadf4c594a5f3b0bdbf2e12c SHA1 e9bfbec47b3939be6f83ffa8006884285c687dc2 SHA256 689ed02786b5cefa5515c7716784ee82a82e8ece6be5a3d629ac3cc0c05fc288 +EBUILD cmake-2.8.3-r1.ebuild 4218 RMD160 51451b34400b9c41e5db1b1cb3786f643551d1c2 SHA1 b3cc82e9302313fe52ef8ad45e06aa4cdfaa2129 SHA256 75cc0c9f0c6140749710d0056e7adbf837189537ce3e940c8b365a7ffa7b30e7 EBUILD cmake-2.8.3.ebuild 4060 RMD160 a0505ba19e9ee58a850479dd18ffb01944791bb9 SHA1 709050785f142738f9d347e5b945a966985c5113 SHA256 647506393fd9e02e4cb0b519776ba994e5f10f7fed5603d2d3a75032f4595ed0 diff --git a/dev-util/cmake/cmake-2.8.3-r1.ebuild b/dev-util/cmake/cmake-2.8.3-r1.ebuild new file mode 100644 index 00000000..c76e441b --- /dev/null +++ b/dev-util/cmake/cmake-2.8.3-r1.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/cmake-2.8.3-r1.ebuild,v 1.2 2010/12/25 19:21:04 scarabeus Exp $ + +EAPI="3" + +inherit elisp-common toolchain-funcs eutils versionator flag-o-matic base cmake-utils + +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 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +SLOT="0" +IUSE="emacs ncurses qt4 vim-syntax" + +DEPEND=" + >=app-arch/libarchive-2.8.0 + >=net-misc/curl-7.20.0-r1[ssl] + >=dev-libs/expat-2.0.1 + sys-libs/zlib + ncurses? ( sys-libs/ncurses ) + qt4? ( x11-libs/qt-gui:4 ) +" +RDEPEND="${DEPEND} + emacs? ( virtual/emacs ) + vim-syntax? ( + || ( + app-editors/vim + app-editors/gvim + ) + ) +" + +SITEFILE="50${PN}-gentoo.el" +VIMFILE="${PN}.vim" + +S="${WORKDIR}/${MY_P}" + +CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" +CMAKE_IN_SOURCE_BUILD=1 + +PATCHES=( + "${FILESDIR}"/${PN}-2.6.3-darwin-bundle.patch + "${FILESDIR}"/${PN}-2.6.3-no-duplicates-in-rpath.patch + "${FILESDIR}"/${PN}-2.6.3-fix_broken_lfs_on_aix.patch + "${FILESDIR}"/${PN}-2.8.0-darwin-default-install_name.patch + "${FILESDIR}"/${PN}-2.8.0-darwin-no-app-with-qt.patch + "${FILESDIR}"/${PN}-2.8.1-FindBoost.patch + "${FILESDIR}"/${PN}-2.8.1-libform.patch + "${FILESDIR}"/${PN}-2.8.3-FindLibArchive.patch + "${FILESDIR}"/${PN}-2.8.3-FindPythonLibs.patch + "${FILESDIR}"/${PN}-2.8.3-FindPythonInterp.patch + "${FILESDIR}"/${PN}-2.8.3-more-no_host_paths.patch + "${FILESDIR}"/${PN}-2.8.3-ruby_libname.patch + "${FILESDIR}"/${PN}-2.8.3-buffer_overflow.patch + "${FILESDIR}"/${PN}-2.8.3-fix_assembler_test.patch + "${FILESDIR}"/${PN}-2.8.1-portage-multilib-lib32.patch +) +_src_bootstrap() { + 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 + + tc-export CC CXX LD + + ./bootstrap \ + --prefix="${T}/cmakestrap/" \ + ${par_arg} \ + || die "Bootstrap failed" +} + +src_prepare() { + base_src_prepare + + # disable bootstrap cmake and make run, we use eclass for that + sed -i \ + -e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \ + bootstrap || die "sed failed" + + # Add gcc libs to the default link paths + sed -i \ + -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \ + -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \ + Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed" + + _src_bootstrap +} + +src_configure() { + # make things work with gentoo java setup + # in case java-config cannot be run, the variable just becomes unset + # per bug #315229 + export JAVA_HOME=$(java-config -g JAVA_HOME 2> /dev/null) + + local mycmakeargs=( + -DCMAKE_USE_SYSTEM_LIBRARIES=ON + -DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr + -DCMAKE_DOC_DIR=/share/doc/${PF} + -DCMAKE_MAN_DIR=/share/man + -DCMAKE_DATA_DIR=/share/${PN} + $(cmake-utils_use_build ncurses CursesDialog) + $(cmake-utils_use_build qt4 QtDialog) + ) + cmake-utils_src_configure +} + +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 || die "Tests failed" +} + +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 Docs/cmake-syntax.vim || die + + insinto /usr/share/vim/vimfiles/indent + doins Docs/cmake-indent.vim || die + + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/${VIMFILE}" || die + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-util/cmake/files/cmake-2.8.3-fix_assembler_test.patch b/dev-util/cmake/files/cmake-2.8.3-fix_assembler_test.patch new file mode 100644 index 00000000..0ea02b15 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.3-fix_assembler_test.patch @@ -0,0 +1,17 @@ +diff -urN cmake-2.8.3.orig/Tests/Assembler/CMakeLists.txt cmake-2.8.3/Tests/Assembler/CMakeLists.txt +--- cmake-2.8.3.orig/Tests/Assembler/CMakeLists.txt 2010-12-25 16:56:42.646163500 +0100 ++++ cmake-2.8.3/Tests/Assembler/CMakeLists.txt 2010-12-25 20:18:17.156163502 +0100 +@@ -11,8 +11,11 @@ + enable_language(ASM-ATT OPTIONAL) + if(CMAKE_ASM-ATT_COMPILER_WORKS) + message(STATUS "Trying to enable ASM-ATT for Linux/x86 - succeeded") +- # this assembler file was created using gcc -S main.c +- set(SRCS main-linux-x86-gas.s) ++ # generate assembler file ++ execute_process(COMMAND ${CMAKE_C_COMPILER} -S ++ "${CMAKE_CURRENT_SOURCE_DIR}/main.c" -o ++ "${CMAKE_CURRENT_BINARY_DIR}/main-linux-x86-gas.s") ++ set(SRCS ${CMAKE_CURRENT_BINARY_DIR}/main-linux-x86-gas.s) + endif(CMAKE_ASM-ATT_COMPILER_WORKS) + endif(CMAKE_SYSTEM MATCHES Linux OR CMAKE_SYSTEM MATCHES FreeBSD) + endif(NOT SRCS AND CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86$")