Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions dev-util/cmake/Manifest
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
DIST cmake-3.24.1.tar.gz 10392868 BLAKE2B 628e2610c01af8e03eb7a201ae56a6e909c63314a993d2066f363d6181cfd2d0a0e5c09e9f74ad5ae3d226e15c2b04be250dc9bf1a273158fa3073bcc05c3a8e SHA512 67bfafcf9ceba617d7ebbb0ac88b689a2d90ab51fea4a83bd073ee082fb55de8962ce7fb283f3db5f455d286f2199843ffa595a1de207d4fa3e4472d951eb289
DIST cmake-3.31.10-ca62602.tar.gz 11714914 BLAKE2B 1d3c2d4e794d5b35d7b2a4f7400af61041bbf59a3a50e9589ac8a03c3e9537b6cc849965512aaaf12ab2a886a631f7a793f26233085b82d96ca663ee23aeca4b SHA512 a1bb319227ad85365e03376861f746e3e44bb9fd7ab7299063d8d35a33d9f4c28b8dd7625fc7c214cd6a501a137bd0c006dde7622841263b26b37b26dbcb1878
DIST cmake-3.31.9-622044c.tar.gz 11713652 BLAKE2B 5cc05a814aa3dc22eafdb85846287a121d7c7994cfc687dba3f7b1282bd8f0c60b8643699e1ad7367c64c6c7634a62efbde9938e6a1ae4ee5946f76bd3d90c8d SHA512 61eb91908bb24f112cb4451594f2a8b85b191b2e41d5bf0a471fb4dcfb2b3d994f24261448b069eec19f134748c046867b1729134ca0515c1c96aff710e810c7
134 changes: 134 additions & 0 deletions dev-util/cmake/cmake-3.31.10.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# Distributed under the terms of the GNU General Public License v2
# Autogen by MARK Devkit

EAPI=7
CMAKE_MAKEFILE_GENERATOR="emake"
CMAKE_REMOVE_MODULES_LIST=( none )
SITEFILE="50${PN}-mark.el"
inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing toolchain-funcs xdg-utils

DESCRIPTION="Mirror of CMake upstream repository"
HOMEPAGE="https://gitlab.kitware.com/cmake/cmake"
SRC_URI="https://api.github.com/repos/Kitware/CMake/tarball/v3.31.10 -> cmake-3.31.10-ca62602.tar.gz"
LICENSE="BSD-3-Clause"
SLOT="0"
KEYWORDS="*"
PATCHES=(
"${FILESDIR}/cmake-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch"
"${FILESDIR}/cmake-3.31.6-Prefer-pkgconfig-in-FindBLAS.patch"
"${FILESDIR}/cmake-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch"
"${FILESDIR}/cmake-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch"
"${FILESDIR}/cmake-3.30.3-cudahostld.patch"
"${FILESDIR}/cmake-3.31.7-hdf5.patch"
)
IUSE="doc emacs ncurses qt"
BDEPEND="doc? (
dev-python/requests
dev-python/sphinx
)

"
RDEPEND=">=app-arch/libarchive-3.3.3:=
app-crypt/rhash
>=dev-libs/expat-2.0.1
>=dev-libs/jsoncpp-1.9.2-r2:0=
>=dev-libs/libuv-1.10.0:=
>=net-misc/curl-7.21.5[ssl]
sys-libs/zlib
virtual/pkgconfig
emacs? ( >=app-editors/emacs-23.1:* )
ncurses? ( sys-libs/ncurses:0= )
qt? (
|| (
dev-qt/qtbase:5[gui]
dev-qt/qtbase:6[gui]
)
)

"
DEPEND="${RDEPEND}
"

post_src_unpack() {
mv Kitware-CMake-* ${S}
}


cmake_src_bootstrap() {
# disable running of cmake in bootstrap command
sed -i \
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
bootstrap || die "sed failed"
# bootstrap script isn't exactly /bin/sh compatible
tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
--prefix="${T}/cmakestrap/" \
--parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
|| die "Bootstrap failed"
}
src_prepare() {
cmake_src_prepare
# Add gcc libs to the default link paths
sed -i \
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
cmake_src_bootstrap
fi
}
src_configure() {
# ODR warnings, bug #858335
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
filter-flags '-flto*' -fwhole-program-vtables '-fsanitize=cfi*' || die
local mycmakeargs=(
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
-DCMake_ENABLE_DEBUGGER=no
-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)"
-DBUILD_TESTING=no
)
use qt && mycmakeargs+=( -DBUILD_QtDialog=ON )
cmake_src_configure
}
src_install() {
cmake_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}
}

pkg_postinst() {
use emacs && elisp-site-regen
if use qt; then
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
fi
}

pkg_postrm() {
use emacs && elisp-site-regen
if use qt; then
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
fi
}



# vim: filetype=ebuild