summaryrefslogtreecommitdiff
path: root/dev-build/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'dev-build/cmake')
-rw-r--r--dev-build/cmake/Manifest7
-rw-r--r--dev-build/cmake/cmake-3.30.3.ebuild293
-rw-r--r--dev-build/cmake/cmake-9999.ebuild4
-rw-r--r--dev-build/cmake/files/cmake-3.30.3-cudahostld.patch23
4 files changed, 325 insertions, 2 deletions
diff --git a/dev-build/cmake/Manifest b/dev-build/cmake/Manifest
index e07ec0ec750f..35666baa482a 100644
--- a/dev-build/cmake/Manifest
+++ b/dev-build/cmake/Manifest
@@ -5,6 +5,7 @@ AUX cmake-3.27.0_rc1-0003-Prefer-pkgconfig-in-FindBLAS.patch 841 BLAKE2B a22d3d3
AUX cmake-3.27.0_rc1-0004-Ensure-that-the-correct-version-of-Qt-is-always-used.patch 1928 BLAKE2B 846494710a32979cd08e0e8a0e855e4adae288ecc2d7bcde4408e253bfd0ad5bcdd25d429f87b76d641377a70931f6b03b14ce586c99dfe68c4aad1dbf9121cb SHA512 eabc78e3298954064867f3c8cf294224aa2f1a75222d399298996309cd838fe90eff034f96fcb44906be784d57533c2d2330dc39aa6515f586607105d22df8ec
AUX cmake-3.27.0_rc1-0005-Respect-Gentoo-s-Python-eclasses.patch 2339 BLAKE2B d9d1a8326dd9018e5d8138997f0d52eacbd953b6da51e04a1232974a3371c5349c285c5fb8b8e9b3786f4be0f20062ebe19f3a15ed802982bf1c4e95e78220a7 SHA512 06aa209c6057b7f9c0bbdd0086c01adc44bd613d57b97f90811c6ef8e65dfb51a37effe154672067d82ece2fc8f39d488d3f31f97848b150a6a0d1628c435bb4
AUX cmake-3.27.0_rc1-0006-Filter-out-distcc-warnings-to-avoid-confusing-CMake.patch 1207 BLAKE2B 4cd68da953268521965e04810e9b76a97dbc68c6c7e81cb23e0257166886787519122e425991c9bc9c9fd2d4d23a6a221206a8a3edc888adf58b1fe312cea149 SHA512 da5e897e7b8cc0973fb36ad82ac145c3cc790eadd10c1b7283decec67ede42d3ce132b1a71a3daa362941bd24208d9a3923af7331faac93ebda96df6aaf297dc
+AUX cmake-3.30.3-cudahostld.patch 1248 BLAKE2B 085a8d01ed89eeee852a7adc12101046a6cbba19486c7e1b311dd67211f9f9d60e03a54509c66808dde7419a8f45f5ec8ac3b974fdd8013ee96152b6e3457ad9 SHA512 495afc75274a939e78cf5492c383cb586b6c14fc3c598fe40e2dd25f6883cb678e33ff3b8915f6f90490b8a9cd62746053407e2ba58dc88719a93f97a36fdf66
AUX cmake.vim 217 BLAKE2B 5d2cf8b4101a7204fd27a9f21d82fea4d86fc4eeed54e062b543452dc574e73d1c80167c83eb482d9eec310950ac811ba35d3eeb97b51958f12f3adf575ddbe7 SHA512 2f7e9e949f8f3030a0dfcef56f4effea703ee60555c22f6a2d1dfeaf3334f33a3e88910c666f704e4ab60cde4ebb509c7d85d812a3c1627010e52fc757f15cdf
DIST cmake-3.28.0-docs.tar.xz 525776 BLAKE2B b643f76012768f0100c51f0dd146230eba25b634ab4f9abd9c739b0b257e4b1d54aa01be8d2dcd27a7b1d9822bf13eb8af16ff3c6984eeefdeb58988a164bc26 SHA512 474dc77e44240de921013219bd7cdc4aee80214fbf38d60dc2ddb53c0fda8a11c466c01bbee2abbd32b711ec7524678515e39a79a5634354a6cb38f9683e229f
DIST cmake-3.28.5-SHA-256.txt 1646 BLAKE2B 763cbec9ede58cc43a7435e3fe97a9a9f28b201712f52d98ecdf8035887232fe6000675c9bab90f275ff6d44406839f04352784a921dcbc9d65c5e2440b53f52 SHA512 0fdeed277d113e4642c11b87b98305da43213bd89566e3aaaf427a11e168d9e6754632c2fd76fae542d29fddfa8b67c3c0df19f741c53fdd3aea8ce7bec73ff3
@@ -17,8 +18,12 @@ DIST cmake-3.30.0-docs.tar.xz 572276 BLAKE2B 0c258f8dd0a518bb7bf97d35a778d8e406c
DIST cmake-3.30.2-SHA-256.txt 1646 BLAKE2B b36e1e099261d80bde7c57564d3030bc99b12ed3f6a70f69de16d81f6e6da567e3cfa792d010921017a02eaf238b056e7eb2cf330e6c6711aa3a4bd835732b57 SHA512 7991c834ed2e384d863793725fbe0b6195824f4e14a665ddd71348ecfa8bd03dddb46d0e9f26cc75b7d9e0a2eb90bdec01b7e79f32ff1a9cc9a8fcdd1d060de3
DIST cmake-3.30.2-SHA-256.txt.asc 833 BLAKE2B cf99bfec2bd4cc8c828162353ceac9ebae2d7ad02c5df77873a751df7314eb56266525c755ba2f9015e043c9bb6c8218251b47744741c02fb81a80f93809ab32 SHA512 d7f07fcdd02b1846bafff4a3e08e38a2cce38131358a783097555d7934dddc82a67c3a6b84cbd8731171d82e293ff18f7e5e66d0d3bbb7d200da3904089e923d
DIST cmake-3.30.2.tar.gz 11500719 BLAKE2B 85873311000831d2a8acb2c9d7f107e7fcef9dcd56f47307bd384a26c1b63d8f15b41989944e41969d6637139d916101fe236d3fe448a76f5b18b7809570ad5d SHA512 2b4c4ebb2213e19a08b9bf5a3cf0427dd2bfc44c7d86734abf5524c311bbce7e79f76d08e4df87a1e4508fe9fa05a28333068dc3bab308ef9724a9beeb39daab
+DIST cmake-3.30.3-SHA-256.txt 1646 BLAKE2B 9470d83b929f26d2ac8c1366209d78763963c981490b0ff2c959da85e3b58b72dfff3fe42c98b918089ac4ae05f302d5ec3d7254e9c061c610636d2089cf2b33 SHA512 629375ae3cdbd7b9248c92b7dc3149e109a0c93522a0d35fe458be69f70c5951781781404096f38dde09961a8d4f785866a909a2e282812be275871434f8243a
+DIST cmake-3.30.3-SHA-256.txt.asc 833 BLAKE2B 15a9cde54b0dac1006cd676c404d5a9756f005bfde9abf5ea89dcaf4ab578f474f653dce95998ba8cb247875d6d58e4b298c540f993997c3cd3326e748a5b8f3 SHA512 4c2090ecb52c74806caf720cbdc6e89a7e60b7a3daaeefb56d54c4ce77d4d1d04d7cd5e72f7c8782fb82ec55374b28d64238b7e5759c675f075eb270087790b7
+DIST cmake-3.30.3.tar.gz 11501292 BLAKE2B 8b6d989b90568b6fe42ada549f5cd766d8f919f8f5ca3cdea15b5a7b7946d3a82642c178967edc1a9d90d398a7447e25647957489436758381f91b64fa401029 SHA512 1cc0381077819f7210e3fad5fe8194ddc65210f6591044b3982ca0c600e8e978330f1a5602515780bd691264678c7c35a8d9c28d34c14ffa22ef96c7544a20d4
EBUILD cmake-3.28.5.ebuild 8728 BLAKE2B 82fc985ff8c7e0ec1fb5f69e5c9c6005d6fa869a397df3047a73f638aacc593cabd41268f1049f3dafdf0001204814a6349a5a52c4790cd753ff5e5dac42534b SHA512 31c34a401630dc7c6ffa04c73316db469ddae4db4b5ced5bd4fadc46ff8715898578b513668523fc4629811d13f6ecebfe5137f8699f2ed8c1917fc5e5ab422e
EBUILD cmake-3.29.7.ebuild 8837 BLAKE2B 33dd1c3b29de57b3d15837689b02e5ec553055893e40cd4060ed491814279c271a9ca1933b371b9208587bfcad2d263de6571181654e10a13fdfb5d140ab285e SHA512 4983005e8147c9b636036ebc3bf68cb0ccaded183aa439fb3f0030bd51add42f8b4f76d3865e62154f02e951d089f03061c2a86f89bc9668beae4a39f75825ad
EBUILD cmake-3.30.2.ebuild 9133 BLAKE2B 3ebb4009a54f4aa880c8294b58d3b7f11a54faad4f8d5524f6680c1d92c159b184ec244400e7df64cb1fea99c57bafdaa848deebc78f4d74195ff089d378e809 SHA512 b04a4e76cc44dc4110d1f01ce16f906568e00079dfcb2cfce03712f4dedd06f78c62610fb9629e32b1eeb5260c56e83aae102ee672a67e71817a56cd9afb2f63
-EBUILD cmake-9999.ebuild 9233 BLAKE2B b64d1e1c46336eabb80e23391533aa8b97a62c49a9a99a101cf61a1f0c0de83cdb9be0e86eda7a96012392675015dc89e56a4e81a72a9f44932dec8e90857ca7 SHA512 26cb6fe0a21a1cbe7eda849639bb1532009510c05d483f42397c70dea2b030786478fd7b94011b2744ab78cfeeda18acb4c6aa8f8de4673e01256e77d0039b88
+EBUILD cmake-3.30.3.ebuild 9191 BLAKE2B 5d7fad680b93bfed4120760d70850d88b27d33939a9004a6456825884e7eb5e6df2fe20448d2683cf498e7e639b72a0f3d26326889a8803434ec6aeda7556b8f SHA512 1918564789fc55aad7d23b6adada0d75b06136920cb7dc0db51efb7af609d3520606117d1130e2aae4aab4db52243c1d196e7a3baf9e8f76cbdb4bee0a72c0cf
+EBUILD cmake-9999.ebuild 9286 BLAKE2B 2408b8a30be31b456a4c25a8722096929e25a0c569c8d0caf1639459170ef1958933eb4ce33cdac13b82bf848ff8401377092a4d838df83e03b61991c32de1f0 SHA512 2b6c5935efe46c8c2aba1c971f91256f85b51437493e35bc34230d1bba6246ee45c059abb51a213c7bbda68a08e5ef4a2c546dcf1d7f14aa806749b06d5e88df
MISC metadata.xml 588 BLAKE2B 59754f6dd52986589583b875b48cdfb28f0d22e97fd6cdac9763ed2aa8981c692d81f6cfe73a93f7defde3e58fc0df60fba647760e9f20d00bd8141e4c39055e SHA512 ac463b9402727ba83b276fc206d2ea9101c6edc85142957c9be33bd8841c0396262ceaad545d133a84f6c294b5beee289e84c3226a1aac2d1f041dbfe08c047f
diff --git a/dev-build/cmake/cmake-3.30.3.ebuild b/dev-build/cmake/cmake-3.30.3.ebuild
new file mode 100644
index 000000000000..1da4eb19984c
--- /dev/null
+++ b/dev-build/cmake/cmake-3.30.3.ebuild
@@ -0,0 +1,293 @@
+# Copyright 1999-2024 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-2).0
+# 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 flag-o-matic multiprocessing \
+ toolchain-funcs 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=/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-20230817 )"
+ fi
+fi
+
+[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="${CMAKE_DOCS_USEFLAG} dap gui ncurses qt6 test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-arch/libarchive-3.3.3:=
+ app-crypt/rhash:0=
+ >=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 )
+ gui? (
+ !qt6? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ )
+ ncurses? ( sys-libs/ncurses:= )
+"
+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
+ # Cuda
+ "${FILESDIR}/${PN}-3.30.3-cudahostld.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 system integration, bug #933744
+ sed -i -e 's/__APPLE__/__DISABLED__/' \
+ Source/cmFindProgramCommand.cxx \
+ Source/CPack/cmCPackGeneratorFactory.cxx || die
+ sed -i -e 's/__MAC_OS_X_VERSION_MIN_REQUIRED/__DISABLED__/' \
+ Source/cmMachO.cxx || die
+ sed -i -e 's:CPack/cmCPack\(Bundle\|DragNDrop\|PKG\|ProductBuild\)Generator.cxx::' \
+ Source/CMakeLists.txt || 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"
+
+ ## in theory we could handle these flags in src_configure, as we do in many other packages. But we *must*
+ ## handle them as part of bootstrapping, sadly.
+
+ # Fix linking on Solaris
+ [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
+
+ # ODR warnings, bug #858335
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/20740
+ filter-lto
+
+ 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() {
+ 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)
+ -DBUILD_QtDialog=$(usex gui)
+ )
+
+ use gui && mycmakeargs+=( -DCMake_QT_MAJOR_VERSION=$(usex qt6 6 5) )
+
+ cmake_src_configure
+}
+
+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
+
+ unset CLICOLOR CLICOLOR_FORCE CMAKE_COMPILER_COLOR_DIAGNOSTICS CMAKE_COLOR_DIAGNOSTICS
+
+ 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)" \
+ )
+
+ local -x QT_QPA_PLATFORM=offscreen
+
+ 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
+
+ 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() {
+ if use gui; then
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ fi
+}
+
+pkg_postrm() {
+ if use gui; then
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ fi
+}
diff --git a/dev-build/cmake/cmake-9999.ebuild b/dev-build/cmake/cmake-9999.ebuild
index f6f904da2105..5c33c621e047 100644
--- a/dev-build/cmake/cmake-9999.ebuild
+++ b/dev-build/cmake/cmake-9999.ebuild
@@ -49,7 +49,7 @@ else
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-20230817 )"
+ BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20240902 )"
fi
fi
@@ -102,6 +102,8 @@ PATCHES=(
"${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
+ # Cuda
+ "${FILESDIR}/${PN}-3.30.3-cudahostld.patch"
# Upstream fixes (can usually be removed with a version bump)
)
diff --git a/dev-build/cmake/files/cmake-3.30.3-cudahostld.patch b/dev-build/cmake/files/cmake-3.30.3-cudahostld.patch
new file mode 100644
index 000000000000..f8b29730ea9f
--- /dev/null
+++ b/dev-build/cmake/files/cmake-3.30.3-cudahostld.patch
@@ -0,0 +1,23 @@
+From 0648f8f75c5f7044cca0f96d26e3ef6ed9440b3d Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Mon, 26 Aug 2024 17:04:04 +0200
+Subject: [PATCH] allow custom CMAKE_CUDA_LINK_LAUNCHER
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+
+diff --git a/Modules/Internal/CMakeNVCCParseImplicitInfo.cmake b/Modules/Internal/CMakeNVCCParseImplicitInfo.cmake
+index 3aa10a2..a58c3ec 100644
+--- a/Modules/Internal/CMakeNVCCParseImplicitInfo.cmake
++++ b/Modules/Internal/CMakeNVCCParseImplicitInfo.cmake
+@@ -77,6 +77,11 @@ macro(cmake_nvcc_parse_implicit_info lang lang_var_)
+ if(_nvcc_link_line)
+ if("x${CMAKE_${lang}_SIMULATE_ID}" STREQUAL "xMSVC")
+ set(CMAKE_${lang}_HOST_LINK_LAUNCHER "${CMAKE_LINKER}")
++ elseif(DEFINED ENV{CUDAHOSTLD})
++ set(CMAKE_${lang}_HOST_LINK_LAUNCHER "$ENV{CUDAHOSTLD}")
++ string(APPEND _nvcc_log " env link launcher name: [${CMAKE_${lang}_HOST_LINK_LAUNCHER}]\n")
++ elseif(DEFINED CMAKE_CUDA_HOST_LINK_LAUNCHER)
++ string(APPEND _nvcc_log " set link launcher name: [${CMAKE_${lang}_HOST_LINK_LAUNCHER}]\n")
+ else()
+ #extract the compiler that is being used for linking
+ separate_arguments(_nvcc_link_line_args UNIX_COMMAND "${_nvcc_link_line}")