diff --git a/dev-util/cmake/Manifest b/dev-util/cmake/Manifest new file mode 100644 index 0000000..4846919 --- /dev/null +++ b/dev-util/cmake/Manifest @@ -0,0 +1,21 @@ +AUX 50cmake-gentoo.el 244 BLAKE2B 1a6c7919b020b3e590a67a9a37f5afd7a56e9970274987cc785f5d5ca78e702a4387684441a68d111a2836eaa76be8ab111b03d81784acbc701b8ccc726f9a2a SHA512 70af0b9dd41f08531d3c754dc8af3662df8a22b469b79e8c40b7caae3205be1d4dc81d8b41837d1b6a46f2c348f5407e09e02269823c45c3366777e3bc7a0dcb +AUX cmake-2.8.10.2-FindPythonLibs.patch 990 BLAKE2B af80335e802c198287315da4ebce193d81ceec00a1e13ec084b80bc3f3df5fb9158765c3bc02d4ed9f6972b77e66c712dd8292c12aa4aca78d178e96943639ee SHA512 c2027439ef5f53991f99db4c60f62e0164641ffce58bfbe0dd9a0b4f93f8b96f6f6e30715a3ab57a47ea7a85d7d784ad602ca74ce88b5bca1a08c538dcc9676f +AUX cmake-3.0.0-FindBLAS.patch 1581 BLAKE2B 62493ac0ed23748be1913a919d88937c929e29a587a880335caa895c3e9046577f7978c6d85d3ed37762932b812aca407339679c4b917cceb85323130d07e79c SHA512 c73533071df93975a2dc9ba1e17fb16bd396ec816ec9b2b4b714923ea6db606baea82c378bb50d7bb9d918e54c661489265e1032b24d03b2ba924489d01510f7 +AUX cmake-3.0.2-FindLAPACK.patch 1369 BLAKE2B dea4b1299253ae61a24794de0168e869b7ae2f97392229905f47974deab148ba77eac04a6f77574be8a161eb673fd88b28187597bb9d47efd772a3b3177eafad SHA512 4f20c4475841201c28ad49539fe896345add626dad5615357ff01817e10f7315ffe39e3a8d4bd0270179d7c58e5679a5bd9ae2accc1019ecee91db380ba48577 +AUX cmake-3.1.0-darwin-isysroot.patch 1926 BLAKE2B 4e8dfc78db33e62a6234a91210f0136312dcd0fec065ba76fa0b6a9f1f3e4ae0139af700494951d999bdf2eee57a5c22db5516b8b8276f4d8be4395f2c4cb675 SHA512 0cbb55f8f5458e72b1e465577809287dcc270636aef192f039eb1e48ef78b933a7290f81c6fefb0dd1f5eb8f9d209766687ffcb4f37c702b8317f8d2e36236ad +AUX cmake-3.11.0_rc2-FindBLAS.patch 775 BLAKE2B 89249b37ca44cc9068a5fd81350637da16c3a92a662f5b30db7e7bbfb9b47c816122bcbe31cb01845bdec760d449d0babbbcd6638ad4975b39db73c7bc5ea2e2 SHA512 ab24736b64bff1f9213f3eef7acc6a78829c875e8e5ec7b0d96ad406517e5335b0e3930ef369a9d6190d25a298c6834965e4977e5062e87595169272339f7738 +AUX cmake-3.11.4-fix-boost-detection.patch 996 BLAKE2B 195ade40e279ca85ee55b1d46353f8809f68e405a6c914c34340825f7f77ec5cb78ebee3f7aa12cc6f026a802db4bc893ac8570a03b76af708ea2df7a3ecadb1 SHA512 66da91fb39286d1745af733a806f60db313ddb0a506b29509aba66259a57cf8abf65fcc871114c5a2cff91eb8c27ca346dd75fbd29f773fb2d31cfead827f250 +AUX cmake-3.11.4-libuv-1.21.patch 1333 BLAKE2B 685edbc90e59ddf3f5d430d50edba040703958db0bc57cfc3a5359b2aa71beb8600b2d4232225612036d00bcb9b9cbbdbb5f357f4fae492b6ed960c1a2a59bac SHA512 ea9ec5fcebd5a5988f5588b20cbf7e547065db6616476500c1d2d89c8585cf2276f7ba4fb06e85aa85ed435f81ca276c44518ce8f9f0efb6fc363f82f3b1aba4 +AUX cmake-3.13.4-prefix-dirs.patch 4239 BLAKE2B 470de3626a9f6edf65e5ec597b1de36697e6c2038ec5f435dd5a89ec69ac32227663f0eb5f86c9d5d89a1c809e1092b5e901c52dcab9f2a7d3bc8f7bdca110a7 SHA512 b1801d0f0ec8963181460a8b939a26e791295d6a45fb78135dce5684507689cb44cab7a536d5f85c26f51deda19e95b40500aba026f43920fa7eee686ad3869c +AUX cmake-3.14.0_rc1-FindBLAS.patch 1247 BLAKE2B ca3b9e1515569b1dcf4692480233aa149c4846f0767c872a25ab0f9fe411ab09348b441f17319abf1c06fd3275e3db7d8bb8f25eba83bab7fb800fff115d06a0 SHA512 425dffe59dc7ec6383579d2ad5bb7a7607e4446804ceb6c698c34ad4615fffd552051dbe6ab21450fa769cb7b25a0184ce9204841e2ab98a738b786c93bb90ae +AUX cmake-3.14.0_rc1-FindLAPACK.patch 1798 BLAKE2B f372fd920abaf85ab3106385d45e193c2c0fba1ca9fb5c14cf53bdee9a29602b7db0078676c90f65f3f3eccddfbb1f6b9964d26f90aef38cbc0c197a4b243ac5 SHA512 dcc970561f54d862f2124512bfc28ab25e66b1fa5e6a7a6138faae7f1e3a4136320ad4d4942153ac9505035b74f3e8442dddb62af6fb1486fcfec08fcf3e3743 +AUX cmake-3.14.0_rc3-prefix-dirs.patch 4688 BLAKE2B ec197f40246ff9b47f6515cec92f0ef497de2e96756cd7c12ea3fe7c71d5e2220c637210f663194c63e72924d89dbce7afe92fed01bca8947bdd76af6f5365b0 SHA512 9da6be335e5615b2e14fdcccbadd50a0e2df6e19476818358216501b657350c73fa6bdc1dcaedec1fa50e3e18e39544e2d2815d6f54dd5b4aa5860bdf35e8d52 +AUX cmake-3.4.0_rc1-darwin-bundle.patch 1043 BLAKE2B 99fc8061352b6a503f472e11045f9a99c2b980f08e9c1406722eacdd438617dccc394f53bdcaa4d93c4aa499b4615185c3ec99ccad8be3504972001498b02c48 SHA512 8c6297bf824d5a911e14004ac4c4e62d1a1528e44199d8860ca885bb1b8dd3d66a73c3db32664b830c3c635bdb498abbd5196be92ed2571cb22828d7186ff9f9 +AUX cmake-3.5.2-FindQt4.patch 1585 BLAKE2B 8cfda84c419515be57f65be7b4b22d7937b656eb7f58d61c7d9e30db9dac36e934f2a529b4ea20d69c5f8a653c727bae34374ebcb7f5017fd70df41abd538164 SHA512 bab8960bfea3c29416bdc8f39c7dee59b89bd7951752401f24eeb9161ac7bc2c6dd200cb62c6b9f964d763b5d257a94d8b04dc7090d6fa947a04f2d0c2e8c479 +AUX cmake-3.8.0_rc2-FindBoost-python.patch 6575 BLAKE2B 4a169862e81b053ea8077ed61001434ba2619230ab4a4d75a11e2ea2c18ad704792d6d37a3cfa78cb54a6bf6cd71bc9b0d6a7a1bba004a92212746001874f385 SHA512 bb156cc2b47f9928f2e6bae909e90866f4442e42d7357744aa2b00903a02a27cf8af4a788a74858bc51874c442c40788717c86e77690b91def80abaa38b90163 +AUX cmake-3.9.0_rc2-FindImageMagick.patch 2407 BLAKE2B e9390cac784eef6d3b83b88f995637098bf8ae35f53a0b2fa316081320f3901afe5eb965d011e2b944e1b1c6a59fb269b9daf28e35e94ffde9ade8576ef84788 SHA512 305cbdba81b23524403ef8eda93d494a0c3f3069e6434f0dbbd2f4e7bb2f64d503241bf5c3774631751dd26cb798472961c5565d5792e1028ca274054d2e77f1 +AUX cmake-3.9.0_rc2-FindPythonInterp.patch 1458 BLAKE2B a70945921738f00952b40a73d9ea26ecc86614aa3f12c94226aac4710dd0b9723c365b6f5def965069a54919bab13a33490facc6c5e64fad69d2e05a97d2812f SHA512 8adcb75cc035f64521e85229eb8dfa1e627326f8e189f66b707b3a0448ed3ae6acf306643026f7cbc7b924edcef73cad7a107d83162b4ca46bd6bbdc7a58af12 +AUX cmake-3.9.0_rc2-prefix-dirs.patch 4030 BLAKE2B e2cb3f630e4178ea93d5fcc7e14b529d79d84c71663054d45d32c42003c0914003ea55edaece22ac6ca29561b6740be477b0accb71f673969c910eec2d58c5a6 SHA512 116073dd2d63861cb33b7b92d07adbdfe74e05864f488be8df3a6f5b92bee76c518770ad31972323e0ed5d8c07505c7fe18105573e7f5ebeb79b193297dd2ca0 +AUX cmake.vim 217 BLAKE2B 5d2cf8b4101a7204fd27a9f21d82fea4d86fc4eeed54e062b543452dc574e73d1c80167c83eb482d9eec310950ac811ba35d3eeb97b51958f12f3adf575ddbe7 SHA512 2f7e9e949f8f3030a0dfcef56f4effea703ee60555c22f6a2d1dfeaf3334f33a3e88910c666f704e4ab60cde4ebb509c7d85d812a3c1627010e52fc757f15cdf +DIST cmake-3.15.0-rc1.tar.gz 9249478 BLAKE2B 784ea9bad5e7305ad4df8584518a7144410a03de278b804d700aa5e472cbbb58b85185ef8ef74635fd1cd4e8562d851dfdd2bf390c542ffe41ff48e9b36a1ef1 SHA512 44c636f63acc21a5bb9cbd3166422bb158ed901608ef5f00c51e6fd0de450a795fa4cae8b96167c43ce734fdcb65ff37a04060975cf1049fdbf4dd2c58748e95 +EBUILD cmake-3.15.0_rc1.ebuild 6110 BLAKE2B b57621ae4d5ae7d395a7fa7563e18742a3253730cfe1d2967445c08ac7bbb976faef5cf24cf29e08a59ebe650ddc3119789b9e7bd86c87b4bf184f1bb9d6e5e9 SHA512 e9ae8d7460f1c95f06ea940dfad036e571687b35105ed4d7c23d5c4e896f52b378960b7a8d55efed91517ffd5fc016561996d8ea077cbb6d01d922956af595cd diff --git a/dev-util/cmake/cmake-3.15.0_rc1.ebuild b/dev-util/cmake/cmake-3.15.0_rc1.ebuild new file mode 100644 index 0000000..b9aad2b --- /dev/null +++ b/dev-util/cmake/cmake-3.15.0_rc1.ebuild @@ -0,0 +1,224 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_MAKEFILE_GENERATOR="emake" +CMAKE_REMOVE_MODULES="no" +inherit bash-completion-r1 elisp-common flag-o-matic toolchain-funcs virtualx xdg cmake-utils + +MY_P="${P/_/-}" + +DESCRIPTION="Cross platform Make" +HOMEPAGE="https://cmake.org/" +SRC_URI="https://cmake.org/files/v$(ver_cut 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 ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="doc emacs system-jsoncpp ncurses qt5 test" + +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}" +BDEPEND=" + doc? ( + dev-python/requests + 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.14.0_rc3-prefix-dirs.patch + # Next patch requires new work from prefix people + #"${FILESDIR}"/${PN}-3.1.0-darwin-isysroot.patch + + # handle gentoo packaging in find modules + #"${FILESDIR}"/${PN}-3.14.0_rc1-FindBLAS.patch + "${FILESDIR}"/${PN}-3.14.0_rc1-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. + grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< "${MAKEOPTS}" > /dev/null + if [[ $? -eq 0 ]] ; then + par_arg=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< "${MAKEOPTS}" | tail -n1 | grep -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 + # 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 + # TestUpload, which requires network access + "${BUILD_DIR}"/bin/ctest \ + -j "$(makeopts_jobs)" \ + --test-load "$(makeopts_loadavg)" \ + ${ctestargs} \ + -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|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 "$(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 \>=${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)" + -DBUILD_TESTING=$(usex test) + ) + + 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_preinst() { + use qt5 && xdg_pkg_preinst +} + +pkg_postinst() { + use emacs && elisp-site-regen + use qt5 && xdg_pkg_postinst +} + +pkg_postrm() { + use emacs && elisp-site-regen + use qt5 && xdg_pkg_postrm +} diff --git a/dev-util/cmake/files/50cmake-gentoo.el b/dev-util/cmake/files/50cmake-gentoo.el new file mode 100644 index 0000000..e4a1a6d --- /dev/null +++ b/dev-util/cmake/files/50cmake-gentoo.el @@ -0,0 +1,4 @@ +(add-to-list 'load-path "@SITELISP@") +(autoload 'cmake-mode "cmake-mode" "Major mode for editing CMake files." t) +(add-to-list 'auto-mode-alist '("CMakeLists\\.txt\\'" . cmake-mode)) +(add-to-list 'auto-mode-alist '("\\.cmake\\'" . cmake-mode)) diff --git a/dev-util/cmake/files/cmake-2.8.10.2-FindPythonLibs.patch b/dev-util/cmake/files/cmake-2.8.10.2-FindPythonLibs.patch new file mode 100644 index 0000000..5f9c266 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.10.2-FindPythonLibs.patch @@ -0,0 +1,24 @@ +diff --git a/Modules/FindPythonLibs.cmake b/Modules/FindPythonLibs.cmake +index bffa9fb..8fc90ee 100644 +--- a/Modules/FindPythonLibs.cmake ++++ b/Modules/FindPythonLibs.cmake +@@ -74,6 +74,19 @@ set(_Python_VERSIONS + ${_PYTHON_FIND_OTHER_VERSIONS} + ) + ++# Gentoo portage requires that you use exactly the given python version ++if (CMAKE_GENTOO_BUILD OR CMAKE_BUILD_TYPE STREQUAL Gentoo) ++ execute_process(COMMAND python -c "import sys; sys.stdout.write('.'.join([str(x) for x in sys.version_info[:2]]))" ++ OUTPUT_VARIABLE _Gentoo_Python_VERSION) ++ list(FIND _Python_VERSIONS "${_Gentoo_Python_VERSION}" _Gentoo_Python_INDEX) ++ if (_Gentoo_Python_INDEX EQUAL -1) ++ # the current Gentoo python version is not compatible with what is requested ++ set(_Python_VERSIONS) ++ else () ++ set(_Python_VERSIONS "${_Gentoo_Python_VERSION}") ++ endif () ++endif() ++ + unset(_PYTHON_FIND_OTHER_VERSIONS) + unset(_PYTHON1_VERSIONS) + unset(_PYTHON2_VERSIONS) diff --git a/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch b/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch new file mode 100644 index 0000000..342a431 --- /dev/null +++ b/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch @@ -0,0 +1,43 @@ +--- a/Modules/FindBLAS.cmake ++++ b/Modules/FindBLAS.cmake +@@ -4,6 +4,10 @@ + # + # Find BLAS library + # ++# Version modified for Gentoo Linux. ++# If a valid PkgConfig configuration is found, this overrides and cancels ++# all further checks. ++# + # This module finds an installed fortran library that implements the + # BLAS linear-algebra interface (see http://www.netlib.org/blas/). The + # list of libraries searched for is taken from the autoconf macro file, +@@ -50,6 +54,23 @@ + # (To distribute this file outside of CMake, substitute the full + # License text for the above reference.) + ++# first, try PkgConfig ++# ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(PC_BLAS blas) ++if(PC_BLAS_FOUND) ++ foreach(PC_LIB ${PC_BLAS_LIBRARIES}) ++ find_library(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_BLAS_LIBRARY_DIRS} ) ++ if (NOT ${PC_LIB}_LIBRARY) ++ message(FATAL_ERROR "Something is wrong in your pkg-config file - lib ${PC_LIB} not found in ${PC_BLAS_LIBRARY_DIRS}") ++ endif (NOT ${PC_LIB}_LIBRARY) ++ list(APPEND BLAS_LIBRARIES ${${PC_LIB}_LIBRARY}) ++ endforeach(PC_LIB) ++ find_package_handle_standard_args(BLAS DEFAULT_MSG BLAS_LIBRARIES) ++ mark_as_advanced(BLAS_LIBRARIES) ++else(PC_BLAS_FOUND) ++message(STATUS "No PkgConfig configuration for BLAS found; starting more extensive search.") ++ + include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake) + +@@ -688,3 +709,5 @@ + endif() + + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) ++ ++endif(PC_BLAS_FOUND) diff --git a/dev-util/cmake/files/cmake-3.0.2-FindLAPACK.patch b/dev-util/cmake/files/cmake-3.0.2-FindLAPACK.patch new file mode 100644 index 0000000..321f053 --- /dev/null +++ b/dev-util/cmake/files/cmake-3.0.2-FindLAPACK.patch @@ -0,0 +1,43 @@ +--- a/Modules/FindLAPACK.cmake ++++ b/Modules/FindLAPACK.cmake +@@ -4,6 +4,10 @@ + # + # Find LAPACK library + # ++# Version modified for Gentoo Linux. ++# If a valid PkgConfig configuration is found, this overrides and cancels ++# all further checks. ++# + # This module finds an installed fortran library that implements the + # LAPACK linear-algebra interface (see http://www.netlib.org/lapack/). + # +@@ -140,6 +144,23 @@ + + endmacro() + ++# ++# first, try PkgConfig ++# ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(PC_LAPACK lapack) ++if(PC_LAPACK_FOUND) ++ foreach(PC_LIB ${PC_LAPACK_LIBRARIES}) ++ find_library(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_LAPACK_LIBRARY_DIRS} ) ++ if (NOT ${PC_LIB}_LIBRARY) ++ message(FATAL_ERROR "Something is wrong in your pkg-config file - lib ${PC_LIB} not found in ${PC_LAPACK_LIBRARY_DIRS}") ++ endif (NOT ${PC_LIB}_LIBRARY) ++ list(APPEND LAPACK_LIBRARIES ${${PC_LIB}_LIBRARY}) ++ endforeach(PC_LIB) ++ find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARIES) ++ mark_as_advanced(LAPACK_LIBRARIES) ++else(PC_LAPACK_FOUND) ++message(STATUS "No PkgConfig configuration for LAPACK found; starting more extensive search.") + + set(LAPACK_LINKER_FLAGS) + set(LAPACK_LIBRARIES) +@@ -348,3 +369,5 @@ + endif() + + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) ++ ++endif(PC_LAPACK_FOUND) diff --git a/dev-util/cmake/files/cmake-3.1.0-darwin-isysroot.patch b/dev-util/cmake/files/cmake-3.1.0-darwin-isysroot.patch new file mode 100644 index 0000000..1f3599b --- /dev/null +++ b/dev-util/cmake/files/cmake-3.1.0-darwin-isysroot.patch @@ -0,0 +1,48 @@ +Do not detect Xcode and set -isysroot for its SDK, since that messes up +our toolchain, and hence makes any compilation fail, bug #445308 + +--- a/Modules/Platform/Darwin-Initialize.cmake ++++ b/Modules/Platform/Darwin-Initialize.cmake +@@ -1,16 +1,16 @@ + # Ask xcode-select where to find /Developer or fall back to ancient location. +-execute_process(COMMAND xcode-select -print-path +- OUTPUT_VARIABLE _stdout +- OUTPUT_STRIP_TRAILING_WHITESPACE +- ERROR_VARIABLE _stderr +- RESULT_VARIABLE _failed) +-if(NOT _failed AND IS_DIRECTORY ${_stdout}) +- set(OSX_DEVELOPER_ROOT ${_stdout}) +-elseif(IS_DIRECTORY "/Developer") +- set(OSX_DEVELOPER_ROOT "/Developer") +-else() ++#execute_process(COMMAND xcode-select -print-path ++# OUTPUT_VARIABLE _stdout ++# OUTPUT_STRIP_TRAILING_WHITESPACE ++# ERROR_VARIABLE _stderr ++# RESULT_VARIABLE _failed) ++#if(NOT _failed AND IS_DIRECTORY ${_stdout}) ++# set(OSX_DEVELOPER_ROOT ${_stdout}) ++#elseif(IS_DIRECTORY "/Developer") ++# set(OSX_DEVELOPER_ROOT "/Developer") ++#else() + set(OSX_DEVELOPER_ROOT "") +-endif() ++#endif() + + execute_process(COMMAND sw_vers -productVersion + OUTPUT_VARIABLE CURRENT_OSX_VERSION +@@ -91,10 +91,10 @@ + # CMAKE_OSX_DEPLOYMENT_TARGET + + # Set cache variable - end user may change this during ccmake or cmake-gui configure. +-if(_CURRENT_OSX_VERSION VERSION_GREATER 10.3) +- set(CMAKE_OSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}" CACHE STRING +- "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.") +-endif() ++#if(_CURRENT_OSX_VERSION VERSION_GREATER 10.3) ++# set(CMAKE_OSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}" CACHE STRING ++# "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.") ++#endif() + + #---------------------------------------------------------------------------- + # CMAKE_OSX_SYSROOT diff --git a/dev-util/cmake/files/cmake-3.11.0_rc2-FindBLAS.patch b/dev-util/cmake/files/cmake-3.11.0_rc2-FindBLAS.patch new file mode 100644 index 0000000..6bad45b --- /dev/null +++ b/dev-util/cmake/files/cmake-3.11.0_rc2-FindBLAS.patch @@ -0,0 +1,23 @@ +--- a/Modules/FindBLAS.cmake ++++ b/Modules/FindBLAS.cmake +@@ -4,6 +4,10 @@ + # + # Find BLAS library + # ++# Version modified for Gentoo Linux. ++# If a valid PkgConfig configuration is found, this overrides and cancels ++# all further checks. ++# + # This module finds an installed fortran library that implements the + # BLAS linear-algebra interface (see http://www.netlib.org/blas/). The + # list of libraries searched for is taken from the autoconf macro file, +@@ -50,6 +54,9 @@ + # (To distribute this file outside of CMake, substitute the full + # License text for the above reference.) + ++# first, try PkgConfig ++set(BLA_PREFER_PKGCONFIG On) ++ + include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake) + diff --git a/dev-util/cmake/files/cmake-3.11.4-fix-boost-detection.patch b/dev-util/cmake/files/cmake-3.11.4-fix-boost-detection.patch new file mode 100644 index 0000000..bcf229a --- /dev/null +++ b/dev-util/cmake/files/cmake-3.11.4-fix-boost-detection.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/660980 + +--- cmake-3.11.4/Modules/FindBoost.cmake ++++ cmake-3.11.4/Modules/FindBoost.cmake +@@ -1680,7 +1680,7 @@ + list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}${COMPONENT_PYTHON_VERSION_MAJOR}-py${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}") + list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-py${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}") + # Gentoo +- list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}") ++ list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-${COMPONENT_PYTHON_VERSION_MAJOR}.${COMPONENT_PYTHON_VERSION_MINOR}") + # RPMs + list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}") + endif() diff --git a/dev-util/cmake/files/cmake-3.11.4-libuv-1.21.patch b/dev-util/cmake/files/cmake-3.11.4-libuv-1.21.patch new file mode 100644 index 0000000..664c39a --- /dev/null +++ b/dev-util/cmake/files/cmake-3.11.4-libuv-1.21.patch @@ -0,0 +1,28 @@ +From 92c4b3d900a24512967a960f108d985c819fdf00 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Sat, 23 Jun 2018 20:30:07 +0200 +Subject: [PATCH] FindLibUV: Also check uv/version.h for version detection + +Starting with libuv 1.21.0, libuv's headers were moved into a uv/ directory. +Make FindLibUV aware of the file's new location for configuration to work. + +Upstream change: https://github.com/libuv/libuv/pull/1429 +--- + Source/Modules/FindLibUV.cmake | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Source/Modules/FindLibUV.cmake b/Source/Modules/FindLibUV.cmake +index ba13d75..0554d62 100644 +--- a/Source/Modules/FindLibUV.cmake ++++ b/Source/Modules/FindLibUV.cmake +@@ -63,6 +63,8 @@ mark_as_advanced(LibUV_INCLUDE_DIR) + set(_LibUV_H_REGEX "#[ \t]*define[ \t]+UV_VERSION_(MAJOR|MINOR|PATCH)[ \t]+[0-9]+") + if(LibUV_INCLUDE_DIR AND EXISTS "${LibUV_INCLUDE_DIR}/uv-version.h") + file(STRINGS "${LibUV_INCLUDE_DIR}/uv-version.h" _LibUV_H REGEX "${_LibUV_H_REGEX}") ++elseif(LibUV_INCLUDE_DIR AND EXISTS "${LibUV_INCLUDE_DIR}/uv/version.h") ++ file(STRINGS "${LibUV_INCLUDE_DIR}/uv/version.h" _LibUV_H REGEX "${_LibUV_H_REGEX}") + elseif(LibUV_INCLUDE_DIR AND EXISTS "${LibUV_INCLUDE_DIR}/uv.h") + file(STRINGS "${LibUV_INCLUDE_DIR}/uv.h" _LibUV_H REGEX "${_LibUV_H_REGEX}") + else() +-- +libgit2 0.27.0 diff --git a/dev-util/cmake/files/cmake-3.13.4-prefix-dirs.patch b/dev-util/cmake/files/cmake-3.13.4-prefix-dirs.patch new file mode 100644 index 0000000..bb60aaf --- /dev/null +++ b/dev-util/cmake/files/cmake-3.13.4-prefix-dirs.patch @@ -0,0 +1,127 @@ +From b1f045122fb210728081ae2165197aebff4ee498 Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Fri, 9 Jun 2017 01:47:55 +0200 +Subject: [PATCH] Set some proper paths to make cmake find our tools. + +The ebuild now adds an extra / at the end of $EPREFIX so that it is +never the empty string (so that CMAKE_SYSTEM_PREFIX_PATH remains +correct) + +Original patch by Heiko Przybyl. +Updated by Chris Reffett (cmake-2.8.8) +Updated by Johannes Huber (cmake-2.8.9) +Updated by Michael Palimaka (cmake-2.8.10) +Updated by Chris Reffett (cmake-2.8.11) +Updated by Michael Palimaka (cmake-3.0.0) +Updated by Lars Wendler (cmake-3.9.0_rc2) +--- + Modules/Platform/Darwin.cmake | 12 ++++++++---- + Modules/Platform/UnixPaths.cmake | 29 ++++++++++++++++++++++++----- + 2 files changed, 32 insertions(+), 9 deletions(-) + +Index: cmake-3.13.3/Modules/Platform/Darwin.cmake +=================================================================== +--- cmake-3.13.3.orig/Modules/Platform/Darwin.cmake ++++ cmake-3.13.3/Modules/Platform/Darwin.cmake +@@ -108,9 +108,9 @@ set(CMAKE_C_FRAMEWORK_SEARCH_FLAG -F) + set(CMAKE_CXX_FRAMEWORK_SEARCH_FLAG -F) + set(CMAKE_Fortran_FRAMEWORK_SEARCH_FLAG -F) + +-# default to searching for frameworks first ++# default to searching for frameworks last + if(NOT DEFINED CMAKE_FIND_FRAMEWORK) +- set(CMAKE_FIND_FRAMEWORK FIRST) ++ set(CMAKE_FIND_FRAMEWORK LAST) + endif() + + # Older OS X linkers do not report their framework search path +@@ -132,6 +132,8 @@ endif() + + # set up the default search directories for frameworks + set(CMAKE_SYSTEM_FRAMEWORK_PATH ++ @GENTOO_PORTAGE_EPREFIX@Frameworks ++ @GENTOO_PORTAGE_EPREFIX@usr/lib + ~/Library/Frameworks + ) + if(_CMAKE_OSX_SYSROOT_PATH) +@@ -178,13 +180,15 @@ if(CMAKE_OSX_SYSROOT) + endif() + endif() + +-# default to searching for application bundles first ++# default to searching for application bundles last + if(NOT DEFINED CMAKE_FIND_APPBUNDLE) +- set(CMAKE_FIND_APPBUNDLE FIRST) ++ set(CMAKE_FIND_APPBUNDLE LAST) + endif() + # set up the default search directories for application bundles + set(_apps_paths) + foreach(_path ++ @GENTOO_PORTAGE_EPREFIX@Applications ++ @GENTOO_PORTAGE_EPREFIX@usr/bin + "~/Applications" + "/Applications" + "${OSX_DEVELOPER_ROOT}/../Applications" # Xcode 4.3+ +Index: cmake-3.13.3/Modules/Platform/UnixPaths.cmake +=================================================================== +--- cmake-3.13.3.orig/Modules/Platform/UnixPaths.cmake ++++ cmake-3.13.3/Modules/Platform/UnixPaths.cmake +@@ -23,7 +23,8 @@ get_filename_component(_CMAKE_INSTALL_DI + # search types. + list(APPEND CMAKE_SYSTEM_PREFIX_PATH + # Standard +- /usr/local /usr / ++ @GENTOO_PORTAGE_EPREFIX@usr/local @GENTOO_PORTAGE_EPREFIX@usr @GENTOO_PORTAGE_EPREFIX@ ++ @GENTOO_HOST@/usr/local /usr / + + # CMake install location + "${_CMAKE_INSTALL_DIR}" +@@ -50,23 +51,41 @@ list(APPEND CMAKE_SYSTEM_PREFIX_PATH + + # List common include file locations not under the common prefixes. + list(APPEND CMAKE_SYSTEM_INCLUDE_PATH +- # X11 +- /usr/include/X11 ++ @GENTOO_PORTAGE_EPREFIX@usr/include + ) + + list(APPEND CMAKE_SYSTEM_LIBRARY_PATH +- # X11 +- /usr/lib/X11 ++ @GENTOO_PORTAGE_GCCLIBDIR@/gcc ++ @GENTOO_PORTAGE_GCCLIBDIR@ ++ @GENTOO_PORTAGE_EPREFIX@usr/lib64 ++ @GENTOO_PORTAGE_EPREFIX@usr/libx32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib ++ @GENTOO_PORTAGE_EPREFIX@lib ++ ) ++ ++list(APPEND CMAKE_SYSTEM_PROGRAM_PATH ++ @GENTOO_PORTAGE_EPREFIX@usr/bin ++ @GENTOO_PORTAGE_EPREFIX@bin + ) + + list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES +- /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64 ++ @GENTOO_PORTAGE_GCCLIBDIR@/gcc ++ @GENTOO_PORTAGE_GCCLIBDIR@ ++ @GENTOO_PORTAGE_EPREFIX@usr/lib64 ++ @GENTOO_PORTAGE_EPREFIX@usr/libx32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib ++ @GENTOO_PORTAGE_EPREFIX@lib ++ @GENTOO_HOST@/lib /usr/lib /usr/lib32 /usr/lib64 /usr/libx32 + ) + + list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES +- /usr/include ++ @GENTOO_PORTAGE_EPREFIX@usr/include ++ @GENTOO_HOST@/usr/include + ) + list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES +- /usr/include ++ @GENTOO_PORTAGE_EPREFIX@usr/include ++ @GENTOO_HOST@/usr/include + ) + list(APPEND CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES diff --git a/dev-util/cmake/files/cmake-3.14.0_rc1-FindBLAS.patch b/dev-util/cmake/files/cmake-3.14.0_rc1-FindBLAS.patch new file mode 100644 index 0000000..3a308f5 --- /dev/null +++ b/dev-util/cmake/files/cmake-3.14.0_rc1-FindBLAS.patch @@ -0,0 +1,37 @@ +From 12b2c3ad6a5c5c7f67afe87fec3f81761de0b909 Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Sun, 10 Feb 2019 22:54:51 +0100 +Subject: [PATCH] Prefer pkgconfig in FindBLAS + +--- + Modules/FindBLAS.cmake | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake +index 0aa4f5035b..7b67c95f1f 100644 +--- a/Modules/FindBLAS.cmake ++++ b/Modules/FindBLAS.cmake +@@ -7,6 +7,10 @@ FindBLAS + + Find BLAS library + ++Version modified for Gentoo Linux. ++If a valid PkgConfig configuration is found, this overrides and cancels ++all further checks. ++ + This module finds an installed fortran library that implements the + BLAS linear-algebra interface (see http://www.netlib.org/blas/). The + list of libraries searched for is taken from the autoconf macro file, +@@ -85,6 +89,9 @@ This module defines the following variables: + find_package(BLAS) + #]=======================================================================] + ++# first, try PkgConfig ++set(BLA_PREFER_PKGCONFIG On) ++ + include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake) +-- +2.20.1 + diff --git a/dev-util/cmake/files/cmake-3.14.0_rc1-FindLAPACK.patch b/dev-util/cmake/files/cmake-3.14.0_rc1-FindLAPACK.patch new file mode 100644 index 0000000..ebd83f3 --- /dev/null +++ b/dev-util/cmake/files/cmake-3.14.0_rc1-FindLAPACK.patch @@ -0,0 +1,55 @@ +From 6d4d97b328f48862923bb55c1c0976b1d532dcc3 Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Sun, 10 Feb 2019 23:01:53 +0100 +Subject: [PATCH] Prefer pkgconfig in FindLAPACK + +--- + Modules/FindLAPACK.cmake | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/Modules/FindLAPACK.cmake b/Modules/FindLAPACK.cmake +index d6646eaacf..ef5f324670 100644 +--- a/Modules/FindLAPACK.cmake ++++ b/Modules/FindLAPACK.cmake +@@ -7,6 +7,10 @@ FindLAPACK + + Find LAPACK library + ++Version modified for Gentoo Linux. ++If a valid PkgConfig configuration is found, this overrides and cancels ++all further checks. ++ + This module finds an installed fortran library that implements the + LAPACK linear-algebra interface (see http://www.netlib.org/lapack/). + +@@ -181,6 +185,21 @@ endif() + + endmacro() + ++# first, try PkgConfig ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(PC_LAPACK lapack) ++if(PC_LAPACK_FOUND) ++ foreach(PC_LIB ${PC_LAPACK_LIBRARIES}) ++ find_library(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_LAPACK_LIBRARY_DIRS} ) ++ if (NOT ${PC_LIB}_LIBRARY) ++ message(FATAL_ERROR "Something is wrong in your pkg-config file - lib ${PC_LIB} not found in ${PC_LAPACK_LIBRARY_DIRS}") ++ endif (NOT ${PC_LIB}_LIBRARY) ++ list(APPEND LAPACK_LIBRARIES ${${PC_LIB}_LIBRARY}) ++ endforeach(PC_LIB) ++ find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARIES) ++ mark_as_advanced(LAPACK_LIBRARIES) ++else(PC_LAPACK_FOUND) ++message(STATUS "No PkgConfig configuration for LAPACK found; starting more extensive search.") + + set(LAPACK_LINKER_FLAGS) + set(LAPACK_LIBRARIES) +@@ -428,3 +447,5 @@ endif() + + cmake_pop_check_state() + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) ++ ++endif(PC_LAPACK_FOUND) +-- +2.20.1 + diff --git a/dev-util/cmake/files/cmake-3.14.0_rc3-prefix-dirs.patch b/dev-util/cmake/files/cmake-3.14.0_rc3-prefix-dirs.patch new file mode 100644 index 0000000..d03b175 --- /dev/null +++ b/dev-util/cmake/files/cmake-3.14.0_rc3-prefix-dirs.patch @@ -0,0 +1,140 @@ +From 8ab270bf43f038bba4f992031508b065fa83f390 Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Fri, 1 Mar 2019 23:11:41 +0100 +Subject: [PATCH] Set some proper paths to make cmake find our tools. + +The ebuild now adds an extra / at the end of $EPREFIX so that it is +never the empty string (so that CMAKE_SYSTEM_PREFIX_PATH remains +correct) + +Original patch by Heiko Przybyl. +Updated by Chris Reffett (cmake-2.8.8) +Updated by Johannes Huber (cmake-2.8.9) +Updated by Michael Palimaka (cmake-2.8.10) +Updated by Chris Reffett (cmake-2.8.11) +Updated by Michael Palimaka (cmake-3.0.0) +Updated by Lars Wendler (cmake-3.9.0_rc2) +Updated by Benda Xu (cmake-3.13.4) +Updated by Lars Wendler (cmake-3.14.0_rc1) +Updated by Lars Wendler (cmake-3.14.0_rc2) +Updated by Lars Wendler (cmake-3.14.0_rc3 +--- + Modules/Platform/Darwin.cmake | 12 +++++++---- + Modules/Platform/UnixPaths.cmake | 35 ++++++++++++++++++++++++-------- + 2 files changed, 35 insertions(+), 12 deletions(-) + +diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake +index 5590433a3b..b04383e51d 100644 +--- a/Modules/Platform/Darwin.cmake ++++ b/Modules/Platform/Darwin.cmake +@@ -116,9 +116,9 @@ set(CMAKE_C_FRAMEWORK_SEARCH_FLAG -F) + set(CMAKE_CXX_FRAMEWORK_SEARCH_FLAG -F) + set(CMAKE_Fortran_FRAMEWORK_SEARCH_FLAG -F) + +-# default to searching for frameworks first ++# default to searching for frameworks last + if(NOT DEFINED CMAKE_FIND_FRAMEWORK) +- set(CMAKE_FIND_FRAMEWORK FIRST) ++ set(CMAKE_FIND_FRAMEWORK LAST) + endif() + + # Older OS X linkers do not report their framework search path +@@ -140,6 +140,8 @@ endif() + + # set up the default search directories for frameworks + set(CMAKE_SYSTEM_FRAMEWORK_PATH ++ @GENTOO_PORTAGE_EPREFIX@Frameworks ++ @GENTOO_PORTAGE_EPREFIX@usr/lib + ~/Library/Frameworks + ) + if(_CMAKE_OSX_SYSROOT_PATH) +@@ -186,13 +188,15 @@ if(CMAKE_OSX_SYSROOT) + endif() + endif() + +-# default to searching for application bundles first ++# default to searching for application bundles last + if(NOT DEFINED CMAKE_FIND_APPBUNDLE) +- set(CMAKE_FIND_APPBUNDLE FIRST) ++ set(CMAKE_FIND_APPBUNDLE LAST) + endif() + # set up the default search directories for application bundles + set(_apps_paths) + foreach(_path ++ @GENTOO_PORTAGE_EPREFIX@Applications ++ @GENTOO_PORTAGE_EPREFIX@usr/bin + "~/Applications" + "/Applications" + "${OSX_DEVELOPER_ROOT}/../Applications" # Xcode 4.3+ +diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake +index 97f744d521..8d11827371 100644 +--- a/Modules/Platform/UnixPaths.cmake ++++ b/Modules/Platform/UnixPaths.cmake +@@ -23,7 +23,8 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH) + # search types. + list(APPEND CMAKE_SYSTEM_PREFIX_PATH + # Standard +- /usr/local /usr / ++ @GENTOO_PORTAGE_EPREFIX@usr/local @GENTOO_PORTAGE_EPREFIX@usr @GENTOO_PORTAGE_EPREFIX@ ++ @GENTOO_HOST@/usr/local /usr / + + # CMake install location + "${_CMAKE_INSTALL_DIR}" +@@ -50,17 +51,33 @@ list(APPEND CMAKE_SYSTEM_PREFIX_PATH + + # List common include file locations not under the common prefixes. + list(APPEND CMAKE_SYSTEM_INCLUDE_PATH +- # X11 +- /usr/include/X11 ++ @GENTOO_PORTAGE_EPREFIX@usr/include + ) + + list(APPEND CMAKE_SYSTEM_LIBRARY_PATH +- # X11 +- /usr/lib/X11 ++ @GENTOO_PORTAGE_GCCLIBDIR@/gcc ++ @GENTOO_PORTAGE_GCCLIBDIR@ ++ @GENTOO_PORTAGE_EPREFIX@usr/lib64 ++ @GENTOO_PORTAGE_EPREFIX@usr/libx32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib ++ @GENTOO_PORTAGE_EPREFIX@lib ++ ) ++ ++list(APPEND CMAKE_SYSTEM_PROGRAM_PATH ++ @GENTOO_PORTAGE_EPREFIX@usr/bin ++ @GENTOO_PORTAGE_EPREFIX@bin + ) + + list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES +- /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64 ++ @GENTOO_PORTAGE_GCCLIBDIR@/gcc ++ @GENTOO_PORTAGE_GCCLIBDIR@ ++ @GENTOO_PORTAGE_EPREFIX@usr/lib64 ++ @GENTOO_PORTAGE_EPREFIX@usr/libx32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib ++ @GENTOO_PORTAGE_EPREFIX@lib ++ @GENTOO_HOST@/lib /usr/lib /usr/lib32 /usr/lib64 /usr/libx32 + ) + + if(CMAKE_SYSROOT_COMPILE) +@@ -73,11 +90,13 @@ endif() + # parsing the implicit directory information from compiler output. + set(_CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES_INIT + ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES} +- "${_cmake_sysroot_compile}/usr/include" ++ @GENTOO_PORTAGE_EPREFIX@usr/include ++ @GENTOO_HOST@/usr/include + ) + set(_CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES_INIT + ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES} +- "${_cmake_sysroot_compile}/usr/include" ++ @GENTOO_PORTAGE_EPREFIX@usr/include ++ @GENTOO_HOST@/usr/include + ) + set(_CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES_INIT + ${CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES} +-- +2.21.0 + diff --git a/dev-util/cmake/files/cmake-3.4.0_rc1-darwin-bundle.patch b/dev-util/cmake/files/cmake-3.4.0_rc1-darwin-bundle.patch new file mode 100644 index 0000000..2808ed7 --- /dev/null +++ b/dev-util/cmake/files/cmake-3.4.0_rc1-darwin-bundle.patch @@ -0,0 +1,25 @@ +Don't use .so for modules on darwin/macos. Use .bundle instead. +Patch by Heiko Przybyl + +Forward-ported from 2.8.10 to 3.4.0-rc1 + +--- cmake-3.4.0-rc1/Modules/Platform/Darwin.cmake ++++ cmake-3.4.0-rc1/Modules/Platform/Darwin.cmake +@@ -26,7 +26,7 @@ + set(CMAKE_SHARED_LIBRARY_PREFIX "lib") + set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib") + set(CMAKE_SHARED_MODULE_PREFIX "lib") +-set(CMAKE_SHARED_MODULE_SUFFIX ".so") ++set(CMAKE_SHARED_MODULE_SUFFIX ".bundle") + set(CMAKE_MODULE_EXISTS 1) + set(CMAKE_DL_LIBS "") + +@@ -53,7 +53,7 @@ + set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -Wl,-headerpad_max_install_names") + set(CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,") + set(CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,") +-set(CMAKE_FIND_LIBRARY_SUFFIXES ".tbd" ".dylib" ".so" ".a") ++set(CMAKE_FIND_LIBRARY_SUFFIXES ".tbd" ".dylib" ".bundle" ".a") + + # hack: if a new cmake (which uses CMAKE_INSTALL_NAME_TOOL) runs on an old build tree + # (where install_name_tool was hardcoded) and where CMAKE_INSTALL_NAME_TOOL isn't in the cache diff --git a/dev-util/cmake/files/cmake-3.5.2-FindQt4.patch b/dev-util/cmake/files/cmake-3.5.2-FindQt4.patch new file mode 100644 index 0000000..2f2764d --- /dev/null +++ b/dev-util/cmake/files/cmake-3.5.2-FindQt4.patch @@ -0,0 +1,45 @@ +Ensure that the correct version of Qt is always used. + +With the introduction qt-4.8.6, Qt binaries were moved from /usr/bin to +/usr/$(get_libdir)/qt4/bin, leaving behind in their place symlinks to qtchooser. + +There is no guarantee to which version of Qt these symlinks might point, so it +is necessary to find the correct version explicitly. + +Once qmake is found, it is queried for the correct location of all other items. + +Gentoo-bug: 547222 + +--- a/Modules/FindQt4.cmake ++++ b/Modules/FindQt4.cmake +@@ -482,13 +482,23 @@ + + get_filename_component(qt_install_version "[HKEY_CURRENT_USER\\Software\\trolltech\\Versions;DefaultQtVersion]" NAME) + +- find_program(QT_QMAKE_EXECUTABLE NAMES ${QMAKE_NAME} +- PATHS +- ENV QTDIR +- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]" +- PATH_SUFFIXES bin +- DOC "The qmake executable for the Qt installation to use" +- ) ++ if(CMAKE_GENTOO_BUILD OR CMAKE_BUILD_TYPE STREQUAL Gentoo) ++ find_program(QT_QMAKE_EXECUTABLE NAMES ${QMAKE_NAME} ++ PATHS ++ $ENV{EPREFIX}/usr/${CMAKE_INSTALL_LIBDIR}/qt4/bin ++ $ENV{EPREFIX}/usr/bin ++ NO_DEFAULT_PATH ++ DOC "The qmake executable for the Qt installation to use" ++ ) ++ else() ++ find_program(QT_QMAKE_EXECUTABLE NAMES ${QMAKE_NAME} ++ PATHS ++ ENV QTDIR ++ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]" ++ PATH_SUFFIXES bin ++ DOC "The qmake executable for the Qt installation to use" ++ ) ++ endif() + + set(major 0) + if (QT_QMAKE_EXECUTABLE) diff --git a/dev-util/cmake/files/cmake-3.8.0_rc2-FindBoost-python.patch b/dev-util/cmake/files/cmake-3.8.0_rc2-FindBoost-python.patch new file mode 100644 index 0000000..441650b --- /dev/null +++ b/dev-util/cmake/files/cmake-3.8.0_rc2-FindBoost-python.patch @@ -0,0 +1,95 @@ +From 7d3a5c466bf14a0c12edc6ece359012b723e39bc Mon Sep 17 00:00:00 2001 +From: Michael Palimaka +Date: Thu, 23 Mar 2017 11:36:39 +0100 +Subject: [PATCH] Fix detection of PYTHON_ABI-versioned Boost Python libraries + +Gentoo-bug: 400969 +Gentoo-bug: 613442 +--- + Modules/FindBoost.cmake | 42 ++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 42 insertions(+) + +diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake +index e795aadcc..11269c30b 100644 +--- a/Modules/FindBoost.cmake ++++ b/Modules/FindBoost.cmake +@@ -1481,6 +1481,16 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + set( _boost_docstring_release "Boost ${COMPONENT} library (release)") + set( _boost_docstring_debug "Boost ${COMPONENT} library (debug)") + ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ # If a certain version of python has already been selected ensure we select the corresponding boost python version. ++ if(PYTHON_EXECUTABLE) ++ set(GENTOO_PYTHON_EXECUTABLE "${PYTHON_EXECUTABLE}") ++ else() ++ set(GENTOO_PYTHON_EXECUTABLE "python") ++ endif() ++ execute_process(COMMAND "${GENTOO_PYTHON_EXECUTABLE}" -c "import sys; sys.stdout.write('.'.join(str(x) for x in sys.version_info[:2]))" OUTPUT_VARIABLE _python_version) ++ endif() ++ + # Compute component-specific hints. + set(_Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT "") + if(${COMPONENT} STREQUAL "mpi" OR ${COMPONENT} STREQUAL "mpi_python" OR +@@ -1529,6 +1539,15 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_RELEASE_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version} ) ++ endif() ++ + if(_boost_STATIC_RUNTIME_WORKAROUND) + set(_boost_RELEASE_STATIC_ABI_TAG "-s${_boost_RELEASE_ABI_TAG}") + list(APPEND _boost_RELEASE_NAMES +@@ -1536,6 +1555,13 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_RELEASE_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ) ++ endif() + endif() + if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread") + _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_RELEASE_NAMES ${_boost_RELEASE_NAMES}) +@@ -1571,6 +1597,15 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_DEBUG_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version} ) ++ endif() + if(_boost_STATIC_RUNTIME_WORKAROUND) + set(_boost_DEBUG_STATIC_ABI_TAG "-s${_boost_DEBUG_ABI_TAG}") + list(APPEND _boost_DEBUG_NAMES +@@ -1578,6 +1613,13 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ) ++ if(${COMPONENT} STREQUAL "python" OR ${COMPONENT} STREQUAL "mpi_python") ++ list(APPEND _boost_DEBUG_NAMES ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ++ ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_python_version}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ) ++ endif() + endif() + if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread") + _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_DEBUG_NAMES ${_boost_DEBUG_NAMES}) +-- +2.12.1 + diff --git a/dev-util/cmake/files/cmake-3.9.0_rc2-FindImageMagick.patch b/dev-util/cmake/files/cmake-3.9.0_rc2-FindImageMagick.patch new file mode 100644 index 0000000..ce63988 --- /dev/null +++ b/dev-util/cmake/files/cmake-3.9.0_rc2-FindImageMagick.patch @@ -0,0 +1,47 @@ +From f51ccd38ed85e5799b2f0a88829eb6a40574ab05 Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Fri, 9 Jun 2017 02:07:11 +0200 +Subject: [PATCH] Find more variants of ImageMagick + +--- + Modules/FindImageMagick.cmake | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/Modules/FindImageMagick.cmake b/Modules/FindImageMagick.cmake +index 7d5534bc2..488d7e0bf 100644 +--- a/Modules/FindImageMagick.cmake ++++ b/Modules/FindImageMagick.cmake +@@ -196,24 +196,30 @@ foreach(component ${ImageMagick_FIND_COMPONENTS} + if(component STREQUAL "Magick++") + FIND_IMAGEMAGICK_API(Magick++ Magick++.h + Magick++ CORE_RL_Magick++_ ++ Magick++-6.Q64 Magick++-6.Q64HDRI Magick++-6.Q32 Magick++-6.Q32HDRI + Magick++-Q8 Magick++-Q16 Magick++-Q16HDRI Magick++-Q8HDRI + Magick++-6.Q16 Magick++-6.Q8 Magick++-6.Q16HDRI Magick++-6.Q8HDRI ++ Magick++-7.Q64 Magick++-7.Q64HDRI Magick++-7.Q32 Magick++-7.Q32HDRI + Magick++-7.Q16 Magick++-7.Q8 Magick++-7.Q16HDRI Magick++-7.Q8HDRI + ) + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_Magick++_LIBRARY) + elseif(component STREQUAL "MagickWand") + FIND_IMAGEMAGICK_API(MagickWand "wand/MagickWand.h;MagickWand/MagickWand.h" + Wand MagickWand CORE_RL_wand_ ++ MagickWand-6.Q64 MagickWand-6.Q64HDRI MagickWand-6.Q32 MagickWand-6.Q32HDRI + MagickWand-Q16 MagickWand-Q8 MagickWand-Q16HDRI MagickWand-Q8HDRI + MagickWand-6.Q16 MagickWand-6.Q8 MagickWand-6.Q16HDRI MagickWand-6.Q8HDRI ++ MagickWand-7.Q64 MagickWand-7.Q64HDRI MagickWand-7.Q32 MagickWand-7.Q32HDRI + MagickWand-7.Q16 MagickWand-7.Q8 MagickWand-7.Q16HDRI MagickWand-7.Q8HDRI + ) + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickWand_LIBRARY) + elseif(component STREQUAL "MagickCore") + FIND_IMAGEMAGICK_API(MagickCore "magick/MagickCore.h;MagickCore/MagickCore.h" + Magick MagickCore CORE_RL_magick_ ++ MagickCore-6.Q64 MagickCore-6.Q64HDRI MagickCore-6.Q32 MagickCore-6.Q32HDRI + MagickCore-Q16 MagickCore-Q8 MagickCore-Q16HDRI MagickCore-Q8HDRI + MagickCore-6.Q16 MagickCore-6.Q8 MagickCore-6.Q16HDRI MagickCore-6.Q8HDRI ++ MagickCore-7.Q64 MagickCore-7.Q64HDRI MagickCore-7.Q32 MagickCore-7.Q32HDRI + MagickCore-7.Q16 MagickCore-7.Q8 MagickCore-7.Q16HDRI MagickCore-7.Q8HDRI + ) + list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickCore_LIBRARY) +-- +2.13.1 + diff --git a/dev-util/cmake/files/cmake-3.9.0_rc2-FindPythonInterp.patch b/dev-util/cmake/files/cmake-3.9.0_rc2-FindPythonInterp.patch new file mode 100644 index 0000000..242392d --- /dev/null +++ b/dev-util/cmake/files/cmake-3.9.0_rc2-FindPythonInterp.patch @@ -0,0 +1,43 @@ +From 325652950ecc5d72f0a6ac843889a048fe9e32cf Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Fri, 9 Jun 2017 02:08:03 +0200 +Subject: [PATCH] Don't mess with python versions too much + +--- + Modules/FindPythonInterp.cmake | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/Modules/FindPythonInterp.cmake b/Modules/FindPythonInterp.cmake +index 64b98a879..73bd35b56 100644 +--- a/Modules/FindPythonInterp.cmake ++++ b/Modules/FindPythonInterp.cmake +@@ -64,6 +64,11 @@ if(PythonInterp_FIND_VERSION) + else() + set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON3_VERSIONS} ${_PYTHON2_VERSIONS} ${_PYTHON1_VERSIONS}) + endif() ++ ++if (CMAKE_GENTOO_BUILD OR CMAKE_BUILD_TYPE STREQUAL Gentoo) ++ set(_Python_NAMES python) ++endif() ++ + find_program(PYTHON_EXECUTABLE NAMES ${_Python_NAMES}) + + # Set up the versions we know about, in the order we will search. Always add +@@ -88,12 +93,13 @@ unset(_PYTHON2_VERSIONS) + unset(_PYTHON3_VERSIONS) + + # Search for newest python version if python executable isn't found +-if(NOT PYTHON_EXECUTABLE) ++if(NOT PYTHON_EXECUTABLE AND NOT (CMAKE_GENTOO_BUILD OR CMAKE_BUILD_TYPE STREQUAL Gentoo)) + foreach(_CURRENT_VERSION IN LISTS _Python_VERSIONS) + set(_Python_NAMES python${_CURRENT_VERSION}) + if(CMAKE_HOST_WIN32) + list(APPEND _Python_NAMES python) + endif() ++ + find_program(PYTHON_EXECUTABLE + NAMES ${_Python_NAMES} + PATHS +-- +2.13.1 + diff --git a/dev-util/cmake/files/cmake-3.9.0_rc2-prefix-dirs.patch b/dev-util/cmake/files/cmake-3.9.0_rc2-prefix-dirs.patch new file mode 100644 index 0000000..f4e9a27 --- /dev/null +++ b/dev-util/cmake/files/cmake-3.9.0_rc2-prefix-dirs.patch @@ -0,0 +1,126 @@ +From b1f045122fb210728081ae2165197aebff4ee498 Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Fri, 9 Jun 2017 01:47:55 +0200 +Subject: [PATCH] Set some proper paths to make cmake find our tools. + +The ebuild now adds an extra / at the end of $EPREFIX so that it is +never the empty string (so that CMAKE_SYSTEM_PREFIX_PATH remains +correct) + +Original patch by Heiko Przybyl. +Updated by Chris Reffett (cmake-2.8.8) +Updated by Johannes Huber (cmake-2.8.9) +Updated by Michael Palimaka (cmake-2.8.10) +Updated by Chris Reffett (cmake-2.8.11) +Updated by Michael Palimaka (cmake-3.0.0) +Updated by Lars Wendler (cmake-3.9.0_rc2) +--- + Modules/Platform/Darwin.cmake | 12 ++++++++---- + Modules/Platform/UnixPaths.cmake | 29 ++++++++++++++++++++++++----- + 2 files changed, 32 insertions(+), 9 deletions(-) + +diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake +index 727baa6e1..543d9e034 100644 +--- a/Modules/Platform/Darwin.cmake ++++ b/Modules/Platform/Darwin.cmake +@@ -108,9 +108,9 @@ set(CMAKE_C_FRAMEWORK_SEARCH_FLAG -F) + set(CMAKE_CXX_FRAMEWORK_SEARCH_FLAG -F) + set(CMAKE_Fortran_FRAMEWORK_SEARCH_FLAG -F) + +-# default to searching for frameworks first ++# default to searching for frameworks last + if(NOT DEFINED CMAKE_FIND_FRAMEWORK) +- set(CMAKE_FIND_FRAMEWORK FIRST) ++ set(CMAKE_FIND_FRAMEWORK LAST) + endif() + + # Older OS X linkers do not report their framework search path +@@ -132,6 +132,8 @@ endif() + + # set up the default search directories for frameworks + set(CMAKE_SYSTEM_FRAMEWORK_PATH ++ @GENTOO_PORTAGE_EPREFIX@Frameworks ++ @GENTOO_PORTAGE_EPREFIX@usr/lib + ~/Library/Frameworks + ) + if(_CMAKE_OSX_SYSROOT_PATH) +@@ -178,13 +180,15 @@ if(CMAKE_OSX_SYSROOT) + endif() + endif() + +-# default to searching for application bundles first ++# default to searching for application bundles last + if(NOT DEFINED CMAKE_FIND_APPBUNDLE) +- set(CMAKE_FIND_APPBUNDLE FIRST) ++ set(CMAKE_FIND_APPBUNDLE LAST) + endif() + # set up the default search directories for application bundles + set(_apps_paths) + foreach(_path ++ @GENTOO_PORTAGE_EPREFIX@Applications ++ @GENTOO_PORTAGE_EPREFIX@usr/bin + "~/Applications" + "/Applications" + "${OSX_DEVELOPER_ROOT}/../Applications" # Xcode 4.3+ +diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake +index 5687653cf..be7695898 100644 +--- a/Modules/Platform/UnixPaths.cmake ++++ b/Modules/Platform/UnixPaths.cmake +@@ -23,6 +23,7 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH) + # search types. + list(APPEND CMAKE_SYSTEM_PREFIX_PATH + # Standard ++ @GENTOO_PORTAGE_EPREFIX@usr/local @GENTOO_PORTAGE_EPREFIX@usr @GENTOO_PORTAGE_EPREFIX@ + /usr/local /usr / + + # CMake install location +@@ -50,23 +51,41 @@ list(APPEND CMAKE_SYSTEM_PREFIX_PATH + + # List common include file locations not under the common prefixes. + list(APPEND CMAKE_SYSTEM_INCLUDE_PATH +- # X11 +- /usr/include/X11 ++ @GENTOO_PORTAGE_EPREFIX@usr/include + ) + + list(APPEND CMAKE_SYSTEM_LIBRARY_PATH +- # X11 +- /usr/lib/X11 ++ @GENTOO_PORTAGE_GCCLIBDIR@/gcc ++ @GENTOO_PORTAGE_GCCLIBDIR@ ++ @GENTOO_PORTAGE_EPREFIX@usr/lib64 ++ @GENTOO_PORTAGE_EPREFIX@usr/libx32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib ++ @GENTOO_PORTAGE_EPREFIX@lib ++ ) ++ ++list(APPEND CMAKE_SYSTEM_PROGRAM_PATH ++ @GENTOO_PORTAGE_EPREFIX@usr/bin ++ @GENTOO_PORTAGE_EPREFIX@bin + ) + + list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES +- /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64 ++ @GENTOO_PORTAGE_GCCLIBDIR@/gcc ++ @GENTOO_PORTAGE_GCCLIBDIR@ ++ @GENTOO_PORTAGE_EPREFIX@usr/lib64 ++ @GENTOO_PORTAGE_EPREFIX@usr/libx32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib32 ++ @GENTOO_PORTAGE_EPREFIX@usr/lib ++ @GENTOO_PORTAGE_EPREFIX@lib ++ /lib /usr/lib /usr/lib32 /usr/lib64 /usr/libx32 + ) + + list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES ++ @GENTOO_PORTAGE_EPREFIX@usr/include + /usr/include + ) + list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES ++ @GENTOO_PORTAGE_EPREFIX@usr/include + /usr/include + ) + +-- +2.13.1 + diff --git a/dev-util/cmake/files/cmake.vim b/dev-util/cmake/files/cmake.vim new file mode 100644 index 0000000..5cecd7d --- /dev/null +++ b/dev-util/cmake/files/cmake.vim @@ -0,0 +1,3 @@ +autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in runtime! indent/cmake.vim +autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in setf cmake +autocmd BufRead,BufNewFile *.ctest,*.ctest.in setf cmake