summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-07-18 22:24:21 +0100
committerSam James <sam@gentoo.org>2023-07-18 22:24:21 +0100
commit8bf0c9b211c2feb9239a708bdb6ecbf860836a3c (patch)
tree387fd3efb72708ae21d0521fea9f4871dbc1eb2d /dev-util/cmake
parentdev-util/cmake: add 3.27.0 (diff)
downloadgentoo-8bf0c9b211c2feb9239a708bdb6ecbf860836a3c.tar.gz
gentoo-8bf0c9b211c2feb9239a708bdb6ecbf860836a3c.tar.bz2
gentoo-8bf0c9b211c2feb9239a708bdb6ecbf860836a3c.zip
dev-util/cmake: drop 3.27.0_rc4, 3.27.0_rc5
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util/cmake')
-rw-r--r--dev-util/cmake/Manifest4
-rw-r--r--dev-util/cmake/cmake-3.27.0_rc4.ebuild288
-rw-r--r--dev-util/cmake/cmake-3.27.0_rc5.ebuild288
3 files changed, 0 insertions, 580 deletions
diff --git a/dev-util/cmake/Manifest b/dev-util/cmake/Manifest
index 9bde3558ea22..9f6898802ab8 100644
--- a/dev-util/cmake/Manifest
+++ b/dev-util/cmake/Manifest
@@ -5,8 +5,4 @@ DIST cmake-3.26.4.tar.gz 10669686 BLAKE2B 34508c724e0d4967e010917f6fac6f426b0d83
DIST cmake-3.27.0-SHA-256.txt 1646 BLAKE2B 262ec1c374029603877015351bd3b25f60a9b311f98b4f9a85df573bfd468a06dce2161354c07affe17221633efcc2677d1c93f303c05b93a6e8548bdd8b9f72 SHA512 d91813fe3df1a5a3d06991c6abe3afa8dc5a9236b93e427b05c077a138e53a42e367cfacb76da562e6c6db01411bfea4ecb416363a3f724c10616cbcfb0a2ad4
DIST cmake-3.27.0-SHA-256.txt.asc 833 BLAKE2B a86db55c45440770ae200e7e9e0b01329df8758588de15a8c3ed96f82f6493e3e3a059b81fe42e7fcae36ae52da7b4c8ee3b90359b6e35103596bfbe098b6af6 SHA512 441aa1a17973913005992079b3de54dea42239830ec52741de089ef978e084d1e233c375fccab1cee08d4d18bbd6197417771de6aec8335752a2ca5efebbf181
DIST cmake-3.27.0-docs.tar.xz 521348 BLAKE2B 319c84195c37b1944bb5d3fde1aeae75623fc90a734c1ba74d730cd5678bff75806f7aa8aa8171fd7878a09b3316c9c0ee23c0c055e869a4385f54987f86d801 SHA512 e9c300526f9fe4e450e921308b7af42f4b8972f2f546f7bbf2dffb4ca696793fe09f1610636b05c82b1cf74ed8ef95377bec69e15f8c9197d6960e674e0d5400
-DIST cmake-3.27.0-rc4.tar.gz 10976281 BLAKE2B 423e5b83799b2b427d91fb1ca9f49de59f197738117375938a47c3d496d3be0db6fc6fa77720b88e8378a40baeede1892746ad49a95dec0af233d68d7746a3ee SHA512 acc5d83605a227005ac8f193dac1a3f4d3c1f2356c259672db1b705e59e5850cf261bdb7fa8a03147af7ec0547e8be4fd6ed3afb539154f95f068eeaab7f00e4
-DIST cmake-3.27.0-rc5.tar.gz 10978359 BLAKE2B 554847389a81ccce9aafc8b678a9d521c4f68f558451282f85212afc40e3508f6d0fd2ebd09c7a21a31728588968ac85ed426d9e0aab653494d55f666c2e9cff SHA512 b6be7a3b2aba827843e3f5cb2ac9ad21d7c9f8cd4913c0c1d64c7ccbc48654889b5d7e854613a87ebc780dc8381b48e8ae74d5b10209aaf82728d538bd600717
DIST cmake-3.27.0.tar.gz 10977223 BLAKE2B a031002dc662552c7af2da35494b536c359011c035216286d22dd78d3b6f607d1a552b5296f14117956f20dd61b94036004912f2e834957e0aacb8bb5037ed75 SHA512 8b5836ac1c1f1e741ebbf6c9a1c9dca322dfd963598838a8789cd926fc071bde2fc53e42b6a2d5d8697f12d96dbf2cebdf03817d7d84b68256ef80b779a27fed
-DIST cmake-3.27.0_rc4-docs.tar.xz 520640 BLAKE2B 8ea770a2fd4a53e1246406cf6990978bda11cfe93b1be0908a130b827d91621685b5d232d039cc88530a6331454d2741adcef75c0c9372d0f9a6f0d0626756a6 SHA512 e145e23036d2ebf24d8a89ac3497d1cfa33a95cabbbd6c7ade6d6199db25062fe288551a05549a0c8c40507adce0c87ea6c316a62c3f809df6aec822e34cfa66
-DIST cmake-3.27.0_rc5-docs.tar.xz 521192 BLAKE2B 275f7cf69b16f935b6b82b485c18ce6b8f33737119386116643e115a1bd1a675d5bb02a1467ba22ddc17d377c044bab3563d1e34e68a215ce1a3b974ada09b69 SHA512 918b01cef0791bf58fccad9cc3365f050c87077d43a968ceb84255fcd9bff6ed9a070c3afc8a14914488a06bbd978fd69940cc64ff2affeb7f832da47a552670
diff --git a/dev-util/cmake/cmake-3.27.0_rc4.ebuild b/dev-util/cmake/cmake-3.27.0_rc4.ebuild
deleted file mode 100644
index a80e655595b5..000000000000
--- a/dev-util/cmake/cmake-3.27.0_rc4.ebuild
+++ /dev/null
@@ -1,288 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
-# Set to 1 if prebuilt, 0 if not
-# (the construct below is to allow overriding from env for script)
-: ${CMAKE_DOCS_PREBUILT:=1}
-
-CMAKE_DOCS_PREBUILT_DEV=sam
-#CMAKE_DOCS_VERSION=$(ver_cut 1-3)
-CMAKE_DOCS_VERSION=${PV}
-# Default to generating docs (inc. man pages) if no prebuilt; overridden later
-# See bug #784815
-CMAKE_DOCS_USEFLAG="+doc"
-
-# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
-# ... but seems fine as of 3.22.3?
-# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
-CMAKE_MAKEFILE_GENERATOR="emake"
-CMAKE_REMOVE_MODULES_LIST=( none )
-inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \
- toolchain-funcs virtualx xdg-utils
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="Cross platform Make"
-HOMEPAGE="https://cmake.org/"
-if [[ ${PV} == 9999 ]] ; then
- CMAKE_DOCS_PREBUILT=0
-
- EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
- inherit git-r3
-else
- SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
-
- if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
- SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
- fi
-
- if [[ ${PV} != *_rc* ]] ; then
- VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/bradking.asc
- inherit verify-sig
-
- SRC_URI+=" verify-sig? (
- https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
- https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
- )"
-
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
- BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bradking )"
- fi
-fi
-
-[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
-
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="CMake"
-SLOT="0"
-IUSE="${CMAKE_DOCS_USEFLAG} dap emacs ncurses qt5 test"
-RESTRICT="!test? ( test )"
-
-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
- dap? ( dev-cpp/cppdap )
- emacs? ( >=app-editors/emacs-23.1:* )
- ncurses? ( sys-libs/ncurses:0= )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND+="
- doc? (
- dev-python/requests
- dev-python/sphinx
- )
- test? ( app-arch/libarchive[zstd] )
-"
-
-SITEFILE="50${PN}-gentoo.el"
-
-PATCHES=(
- # Prefix
- "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch
- "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch
- # Misc
- "${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch
- "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch
- "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch
- "${FILESDIR}"/${PN}-3.27.0_rc1-0006-Filter-out-distcc-warnings-to-avoid-confusing-CMake.patch
-
- # Upstream fixes (can usually be removed with a version bump)
-)
-
-cmake_src_bootstrap() {
- # disable running of cmake in bootstrap 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
-
- # 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_unpack() {
- if [[ ${PV} == 9999 ]] ; then
- git-r3_src_unpack
- elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
- default
- else
- cd "${DISTDIR}" || die
-
- # See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
- verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
- verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
-
- cd "${WORKDIR}" || die
-
- default
- fi
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- # Disable Xcode hooks, bug #652134
- sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
- Source/CMakeLists.txt || die
- sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
- -e '/cmGlobalXCodeGenerator.h/d' \
- Source/cmake.cxx || die
-
- # Disable isysroot usage with GCC, we've properly instructed
- # where things are via GCC configuration and ldwrapper
- sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
- Modules/Platform/Apple-GNU-*.cmake || die
- # Disable isysroot usage with clang as well
- sed -i -e '/_SYSROOT_FLAG/d' \
- Modules/Platform/Apple-Clang.cmake || die
- # Don't set a POSIX standard, system headers don't like that, #757426
- sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
- Source/cmLoadCommandCommand.cxx \
- Source/cmStandardLexer.h \
- Source/cmSystemTools.cxx \
- Source/cmTimestamp.cxx
- sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
- Source/cmStandardLexer.h
- fi
-
- # 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() {
- # Fix linking on Solaris
- [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
-
- # ODR warnings, bug #858335
- # https://gitlab.kitware.com/cmake/cmake/-/issues/20740
- filter-lto
-
- local mycmakeargs=(
- -DCMAKE_USE_SYSTEM_LIBRARIES=ON
- -DCMake_ENABLE_DEBUGGER=$(usex dap)
- -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=$(usex test)
- )
- use qt5 && mycmakeargs+=( -DBUILD_QtDialog=ON )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- use emacs && elisp-compile Auxiliary/cmake-mode.el
-}
-
-src_test() {
- # Fix OutDir and SelectLibraryConfigurations tests
- # these are altered thanks to our eclass
- sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
- "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
- || die
-
- pushd "${BUILD_DIR}" > /dev/null || die
-
- # Excluded tests:
- # BootstrapTest: we actualy bootstrap it every time so why test it.
- # BundleUtilities: bundle creation broken
- # CMakeOnly.AllFindModules: pthread issues
- # CTest.updatecvs: which fails to commit as root
- # Fortran: requires fortran
- # RunCMake.CompilerLauncher: also requires fortran
- # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
- # debugedit binary is not in the expected location
- # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
- # it can't find a deb package that owns libc
- # TestUpload, which requires network access
- # RunCMake.CMP0125, known failure reported upstream (bug #829414)
- local myctestargs=(
- --output-on-failure
- -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
- )
-
- virtx cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- # If USE=doc, there'll be newly generated docs which we install instead.
- if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
- doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
- fi
-
- 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 qt5; then
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- fi
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-
- if use qt5; then
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- fi
-}
diff --git a/dev-util/cmake/cmake-3.27.0_rc5.ebuild b/dev-util/cmake/cmake-3.27.0_rc5.ebuild
deleted file mode 100644
index a80e655595b5..000000000000
--- a/dev-util/cmake/cmake-3.27.0_rc5.ebuild
+++ /dev/null
@@ -1,288 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
-# Set to 1 if prebuilt, 0 if not
-# (the construct below is to allow overriding from env for script)
-: ${CMAKE_DOCS_PREBUILT:=1}
-
-CMAKE_DOCS_PREBUILT_DEV=sam
-#CMAKE_DOCS_VERSION=$(ver_cut 1-3)
-CMAKE_DOCS_VERSION=${PV}
-# Default to generating docs (inc. man pages) if no prebuilt; overridden later
-# See bug #784815
-CMAKE_DOCS_USEFLAG="+doc"
-
-# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
-# ... but seems fine as of 3.22.3?
-# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
-CMAKE_MAKEFILE_GENERATOR="emake"
-CMAKE_REMOVE_MODULES_LIST=( none )
-inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \
- toolchain-funcs virtualx xdg-utils
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="Cross platform Make"
-HOMEPAGE="https://cmake.org/"
-if [[ ${PV} == 9999 ]] ; then
- CMAKE_DOCS_PREBUILT=0
-
- EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
- inherit git-r3
-else
- SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
-
- if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
- SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
- fi
-
- if [[ ${PV} != *_rc* ]] ; then
- VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/bradking.asc
- inherit verify-sig
-
- SRC_URI+=" verify-sig? (
- https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
- https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
- )"
-
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
- BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bradking )"
- fi
-fi
-
-[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
-
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="CMake"
-SLOT="0"
-IUSE="${CMAKE_DOCS_USEFLAG} dap emacs ncurses qt5 test"
-RESTRICT="!test? ( test )"
-
-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
- dap? ( dev-cpp/cppdap )
- emacs? ( >=app-editors/emacs-23.1:* )
- ncurses? ( sys-libs/ncurses:0= )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND+="
- doc? (
- dev-python/requests
- dev-python/sphinx
- )
- test? ( app-arch/libarchive[zstd] )
-"
-
-SITEFILE="50${PN}-gentoo.el"
-
-PATCHES=(
- # Prefix
- "${FILESDIR}"/${PN}-3.27.0_rc1-0001-Don-t-use-.so-for-modules-on-darwin-macos.-Use-.bund.patch
- "${FILESDIR}"/${PN}-3.27.0_rc1-0002-Set-some-proper-paths-to-make-cmake-find-our-tools.patch
- # Misc
- "${FILESDIR}"/${PN}-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch
- "${FILESDIR}"/${PN}-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch
- "${FILESDIR}"/${PN}-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch
- "${FILESDIR}"/${PN}-3.27.0_rc1-0006-Filter-out-distcc-warnings-to-avoid-confusing-CMake.patch
-
- # Upstream fixes (can usually be removed with a version bump)
-)
-
-cmake_src_bootstrap() {
- # disable running of cmake in bootstrap 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
-
- # 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_unpack() {
- if [[ ${PV} == 9999 ]] ; then
- git-r3_src_unpack
- elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
- default
- else
- cd "${DISTDIR}" || die
-
- # See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
- verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
- verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
-
- cd "${WORKDIR}" || die
-
- default
- fi
-}
-
-src_prepare() {
- cmake_src_prepare
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- # Disable Xcode hooks, bug #652134
- sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
- Source/CMakeLists.txt || die
- sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
- -e '/cmGlobalXCodeGenerator.h/d' \
- Source/cmake.cxx || die
-
- # Disable isysroot usage with GCC, we've properly instructed
- # where things are via GCC configuration and ldwrapper
- sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
- Modules/Platform/Apple-GNU-*.cmake || die
- # Disable isysroot usage with clang as well
- sed -i -e '/_SYSROOT_FLAG/d' \
- Modules/Platform/Apple-Clang.cmake || die
- # Don't set a POSIX standard, system headers don't like that, #757426
- sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
- Source/cmLoadCommandCommand.cxx \
- Source/cmStandardLexer.h \
- Source/cmSystemTools.cxx \
- Source/cmTimestamp.cxx
- sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
- Source/cmStandardLexer.h
- fi
-
- # 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() {
- # Fix linking on Solaris
- [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
-
- # ODR warnings, bug #858335
- # https://gitlab.kitware.com/cmake/cmake/-/issues/20740
- filter-lto
-
- local mycmakeargs=(
- -DCMAKE_USE_SYSTEM_LIBRARIES=ON
- -DCMake_ENABLE_DEBUGGER=$(usex dap)
- -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=$(usex test)
- )
- use qt5 && mycmakeargs+=( -DBUILD_QtDialog=ON )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- use emacs && elisp-compile Auxiliary/cmake-mode.el
-}
-
-src_test() {
- # Fix OutDir and SelectLibraryConfigurations tests
- # these are altered thanks to our eclass
- sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
- "${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
- || die
-
- pushd "${BUILD_DIR}" > /dev/null || die
-
- # Excluded tests:
- # BootstrapTest: we actualy bootstrap it every time so why test it.
- # BundleUtilities: bundle creation broken
- # CMakeOnly.AllFindModules: pthread issues
- # CTest.updatecvs: which fails to commit as root
- # Fortran: requires fortran
- # RunCMake.CompilerLauncher: also requires fortran
- # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
- # debugedit binary is not in the expected location
- # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
- # it can't find a deb package that owns libc
- # TestUpload, which requires network access
- # RunCMake.CMP0125, known failure reported upstream (bug #829414)
- local myctestargs=(
- --output-on-failure
- -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
- )
-
- virtx cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- # If USE=doc, there'll be newly generated docs which we install instead.
- if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
- doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
- fi
-
- 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 qt5; then
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- fi
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-
- if use qt5; then
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- fi
-}