From aa74d8382b940a619abbdcb1020b1f8599ca264b Mon Sep 17 00:00:00 2001 From: Benda Xu Date: Sun, 27 Jan 2019 08:44:15 +0800 Subject: dev-util/cmake: remove host directories in Platform/UnixPaths.cmake Although needed in prefix-rpath, the host directories cause bugs for prefix-standalone and introduce duplications for gx86. gx86 duplication example: ... list(APPEND CMAKE_SYSTEM_PREFIX_PATH # Standard /usr/local /usr / /usr/local /usr / ... Closes: https://bugs.gentoo.org/676372 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Benda Xu --- dev-util/cmake/cmake-3.13.4.ebuild | 3 +- .../cmake/files/cmake-3.13.4-prefix-dirs.patch | 127 +++++++++++++++++++++ 2 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 dev-util/cmake/files/cmake-3.13.4-prefix-dirs.patch (limited to 'dev-util/cmake') diff --git a/dev-util/cmake/cmake-3.13.4.ebuild b/dev-util/cmake/cmake-3.13.4.ebuild index 00a140db85df..9acfa35ba61d 100644 --- a/dev-util/cmake/cmake-3.13.4.ebuild +++ b/dev-util/cmake/cmake-3.13.4.ebuild @@ -50,7 +50,7 @@ SITEFILE="50${PN}-gentoo.el" PATCHES=( # prefix "${FILESDIR}"/${PN}-3.4.0_rc1-darwin-bundle.patch - "${FILESDIR}"/${PN}-3.9.0_rc2-prefix-dirs.patch + "${FILESDIR}"/${PN}-3.13.4-prefix-dirs.patch "${FILESDIR}"/${PN}-3.1.0-darwin-isysroot.patch # handle gentoo packaging in find modules @@ -143,6 +143,7 @@ src_prepare() { # Add gcc libs to the default link paths sed -i \ -e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \ + -e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \ -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \ Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed" if ! has_version \>=${CATEGORY}/${PN}-3.4.0_rc1 ; then 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 000000000000..bb60aaf35196 --- /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 -- cgit v1.2.3-65-gdbad