forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-util/cmake: Bump to version 3.12.0_rc1
Package-Manager: Portage-2.3.40, Repoman-2.3.9
- Loading branch information
Lars Wendler
committed
Jun 16, 2018
1 parent
c3ab0ed
commit adaa0df
Showing
2 changed files
with
218 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
DIST cmake-3.10.3.tar.gz 7825559 BLAKE2B 1db8c21abdcfac2612fa914d49f9edcf199240b714104dba1d470c8e1e487d8e6cc5d486febae88d4a71eb9419064bcf94f9bb2c779771323221c1f117baa693 SHA512 1ba6381321cb34c3c050548a1346d3b92d590a196d8aff7435c079cd485d01f7a6cd650ad97d00931aff424fcdc195bbaa6d9d7db679bf02f72f586c7b528ae4 | ||
DIST cmake-3.11.3.tar.gz 7954155 BLAKE2B 949ee8c3dfae9d15eecdcd5c2a35fc278e84d1215858714112aea13aa5772f925a2a1b89bd39360e62b8638166038899e80ab48b6917e2c046876283d15d0218 SHA512 a91301bfb51bdf6a6c6ea71a26f05b6017eb375a4fc9c14934a83f2231d7af758bc67d8d9656111d1de56ec3df41dbcd61cb3cf50471bc0901f5bcccdf5267dc | ||
DIST cmake-3.11.4.tar.gz 7955301 BLAKE2B 2bad70e9e8b1a4081daf79fbec46d7389f685920d3158d05eae51fb24a0ecaad722c3e8a2eab1bcc75d599bee7a8202d432176e6ac1d87ed8815c84a7a8bb925 SHA512 c5d03ad66a004292038e49e391c390ebc328fbb089ea699742a9b75f0ada9398c3dc971b868f75d8438bf437ecbeaa62541beb53cae14a699bf244ad101a2290 | ||
DIST cmake-3.12.0-rc1.tar.gz 8089283 BLAKE2B 5ad24f6bdaa002dd4f70570bf36d5187bb0cfbdb58cc038bf816e17a035d44ac2c66ed30700d77948c7b824cb93346f8427818ba71b54698a4e6931661d1790e SHA512 9836aabe4add0e61b15e32c550a5f4d875e82593108c65d9ed277c08fbc0978849acdd2f639a206c83d3c8219d6b348da343639f7394d5cd054de61f657b1517 | ||
DIST cmake-3.9.6.tar.gz 7705400 BLAKE2B e0a5307af0a34863c50ea6aa9323025ef588b27e648107c3a81c362ee7ae4a1d2a07cc335d816b286ce4ddb249f9c6c08c3e8cf99856c7113f3724f47c62da43 SHA512 9fda2c9ac054ef8fb1bf3885fbdec02c518da89ade220eba06b5502ac3ff300f635ec0922e61f3b2d090644fb743b8f71a04c532ab66b2d890a180cc7da54e6c |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,217 @@ | ||
# Copyright 1999-2018 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
CMAKE_MAKEFILE_GENERATOR="emake" | ||
CMAKE_REMOVE_MODULES="no" | ||
inherit bash-completion-r1 elisp-common eutils flag-o-matic gnome2-utils toolchain-funcs versionator virtualx xdg-utils cmake-utils | ||
|
||
MY_P="${P/_/-}" | ||
|
||
DESCRIPTION="Cross platform Make" | ||
HOMEPAGE="https://cmake.org/" | ||
SRC_URI="https://cmake.org/files/v$(get_version_component_range 1-2)/${MY_P}.tar.gz" | ||
|
||
LICENSE="CMake" | ||
SLOT="0" | ||
[[ "${PV}" = *_rc* ]] || \ | ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" | ||
IUSE="doc emacs system-jsoncpp ncurses qt5" | ||
|
||
RDEPEND=" | ||
app-crypt/rhash | ||
>=app-arch/libarchive-3.0.0:= | ||
>=dev-libs/expat-2.0.1 | ||
>=dev-libs/libuv-1.10.0:= | ||
>=net-misc/curl-7.21.5[ssl] | ||
sys-libs/zlib | ||
virtual/pkgconfig | ||
emacs? ( virtual/emacs ) | ||
ncurses? ( sys-libs/ncurses:0= ) | ||
qt5? ( | ||
dev-qt/qtcore:5 | ||
dev-qt/qtgui:5 | ||
dev-qt/qtwidgets:5 | ||
) | ||
system-jsoncpp? ( >=dev-libs/jsoncpp-0.6.0_rc2:0= ) | ||
" | ||
DEPEND="${RDEPEND} | ||
doc? ( dev-python/sphinx ) | ||
" | ||
|
||
S="${WORKDIR}/${MY_P}" | ||
|
||
SITEFILE="50${PN}-gentoo.el" | ||
|
||
PATCHES=( | ||
# prefix | ||
"${FILESDIR}"/${PN}-3.4.0_rc1-darwin-bundle.patch | ||
"${FILESDIR}"/${PN}-3.9.0_rc2-prefix-dirs.patch | ||
"${FILESDIR}"/${PN}-3.1.0-darwin-isysroot.patch | ||
|
||
# handle gentoo packaging in find modules | ||
"${FILESDIR}"/${PN}-3.11.0_rc2-FindBLAS.patch | ||
"${FILESDIR}"/${PN}-3.0.2-FindLAPACK.patch | ||
"${FILESDIR}"/${PN}-3.5.2-FindQt4.patch | ||
|
||
# respect python eclasses | ||
"${FILESDIR}"/${PN}-2.8.10.2-FindPythonLibs.patch | ||
"${FILESDIR}"/${PN}-3.9.0_rc2-FindPythonInterp.patch | ||
|
||
# upstream fixes (can usually be removed with a version bump) | ||
) | ||
|
||
cmake_src_bootstrap() { | ||
# Cleanup args to extract only JOBS. | ||
# Because bootstrap does not know anything else. | ||
echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null | ||
if [ $? -eq 0 ]; then | ||
par_arg=$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+') | ||
par_arg="--parallel=${par_arg}" | ||
else | ||
par_arg="--parallel=1" | ||
fi | ||
|
||
# disable running of cmake in boostrap command | ||
sed -i \ | ||
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \ | ||
bootstrap || die "sed failed" | ||
|
||
# execinfo.h on Solaris isn't quite what it is on Darwin | ||
if [[ ${CHOST} == *-solaris* ]] ; then | ||
sed -i -e 's/execinfo\.h/blablabla.h/' \ | ||
Source/kwsys/CMakeLists.txt || die | ||
fi | ||
|
||
tc-export CC CXX LD | ||
|
||
# bootstrap script isn't exactly /bin/sh compatible | ||
${CONFIG_SHELL:-sh} ./bootstrap \ | ||
--prefix="${T}/cmakestrap/" \ | ||
${par_arg} \ | ||
|| die "Bootstrap failed" | ||
} | ||
|
||
cmake_src_test() { | ||
# fix OutDir and SelectLibraryConfigurations tests | ||
# these are altered thanks to our eclass | ||
sed -i -e 's:#IGNORE ::g' \ | ||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \ | ||
|| die | ||
|
||
pushd "${BUILD_DIR}" > /dev/null | ||
|
||
local ctestargs | ||
[[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure" | ||
|
||
# Excluded tests: | ||
# BootstrapTest: we actualy bootstrap it every time so why test it. | ||
# BundleUtilities: bundle creation broken | ||
# CTest.updatecvs: which fails to commit as root | ||
# Fortran: requires fortran | ||
# Qt4Deploy, which tries to break sandbox and ignores prefix | ||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because | ||
# debugedit binary is not in the expected location | ||
# TestUpload, which requires network access | ||
"${BUILD_DIR}"/bin/ctest ${ctestargs} \ | ||
-E "(BootstrapTest|BundleUtilities|CTest.UpdateCVS|Fortran|Qt4Deploy|RunCMake.CPack_RPM|TestUpload)" \ | ||
|| die "Tests failed" | ||
|
||
popd > /dev/null | ||
} | ||
|
||
src_prepare() { | ||
cmake-utils_src_prepare | ||
|
||
# disable Xcode hooks, bug #652134 | ||
if [[ ${CHOST} == *-darwin* ]] ; then | ||
sed -i -e 's/__APPLE__/__DISABLED_APPLE__/' \ | ||
Source/cmGlobalXCodeGenerator.cxx || die | ||
fi | ||
|
||
# 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" | ||
if ! has_version \>=${CATEGORY}/${PN}-3.4.0_rc1 ; then | ||
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" | ||
cmake_src_bootstrap | ||
fi | ||
} | ||
|
||
src_configure() { | ||
# Fix linking on Solaris | ||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl | ||
|
||
local mycmakeargs=( | ||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON | ||
-DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=$(usex system-jsoncpp) | ||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr | ||
-DCMAKE_DOC_DIR=/share/doc/${PF} | ||
-DCMAKE_MAN_DIR=/share/man | ||
-DCMAKE_DATA_DIR=/share/${PN} | ||
-DSPHINX_MAN=$(usex doc) | ||
-DSPHINX_HTML=$(usex doc) | ||
-DBUILD_CursesDialog="$(usex ncurses)" | ||
) | ||
|
||
if use qt5 ; then | ||
mycmakeargs+=( | ||
-DBUILD_QtDialog=ON | ||
$(cmake-utils_use_find_package qt5 Qt5Widgets) | ||
) | ||
fi | ||
|
||
cmake-utils_src_configure | ||
} | ||
|
||
src_compile() { | ||
cmake-utils_src_compile | ||
use emacs && elisp-compile Auxiliary/cmake-mode.el | ||
} | ||
|
||
src_test() { | ||
virtx cmake_src_test | ||
} | ||
|
||
src_install() { | ||
cmake-utils_src_install | ||
|
||
if use emacs; then | ||
elisp-install ${PN} Auxiliary/cmake-mode.el Auxiliary/cmake-mode.elc | ||
elisp-site-file-install "${FILESDIR}/${SITEFILE}" | ||
fi | ||
|
||
insinto /usr/share/vim/vimfiles/syntax | ||
doins Auxiliary/vim/syntax/cmake.vim | ||
|
||
insinto /usr/share/vim/vimfiles/indent | ||
doins Auxiliary/vim/indent/cmake.vim | ||
|
||
insinto /usr/share/vim/vimfiles/ftdetect | ||
doins "${FILESDIR}/${PN}.vim" | ||
|
||
dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack} | ||
|
||
rm -r "${ED}"/usr/share/cmake/{completions,editors} || die | ||
} | ||
|
||
pkg_postinst() { | ||
use emacs && elisp-site-regen | ||
if use qt5; then | ||
gnome2_icon_cache_update | ||
xdg_desktop_database_update | ||
xdg_mimeinfo_database_update | ||
fi | ||
} | ||
|
||
pkg_postrm() { | ||
use emacs && elisp-site-regen | ||
if use qt5; then | ||
gnome2_icon_cache_update | ||
xdg_desktop_database_update | ||
xdg_mimeinfo_database_update | ||
fi | ||
} |