summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenda Xu <heroxbd@gentoo.org>2019-01-27 08:44:15 +0800
committerBenda Xu <heroxbd@gentoo.org>2019-02-03 17:54:01 +0800
commitaa74d8382b940a619abbdcb1020b1f8599ca264b (patch)
tree1dfb245870d351e9817796899b49ccb85e050c58 /dev-util/cmake
parentnet-proxy/tayga: adopt the package and support RFC 7757. (diff)
downloadgentoo-aa74d8382b940a619abbdcb1020b1f8599ca264b.tar.gz
gentoo-aa74d8382b940a619abbdcb1020b1f8599ca264b.tar.bz2
gentoo-aa74d8382b940a619abbdcb1020b1f8599ca264b.zip
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 <heroxbd@gentoo.org>
Diffstat (limited to 'dev-util/cmake')
-rw-r--r--dev-util/cmake/cmake-3.13.4.ebuild3
-rw-r--r--dev-util/cmake/files/cmake-3.13.4-prefix-dirs.patch127
2 files changed, 129 insertions, 1 deletions
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 <polynomial-c@gentoo.org>
+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