sci-electronics/kicad: Fix configuration issue with >=CMake-3.11
authorZoltan Puskas <zoltan@sinustrom.info>
Mon, 16 Apr 2018 00:55:14 +0000 (17:55 -0700)
committerAndreas Sturmlechner <asturm@gentoo.org>
Wed, 16 May 2018 09:03:07 +0000 (11:03 +0200)
KiCad had a legacy redefinition of the CHECK_CXX_SYMBOL_EXISTS macro,
that is not needed since CMake-2.8.6. Upstream fix:
https://github.com/KiCad/kicad-source-mirror/commit/2e0b75c058d676f427328506bbf3bc10079da117
Also fixed src_configure().

Partial merge of https://github.com/gentoo/gentoo/pull/8020

Closes: https://bugs.gentoo.org/652204
Closes: https://bugs.gentoo.org/652736

Package-Manager: Portage-2.3.28, Repoman-2.3.9

sci-electronics/kicad/files/kicad-cmake-checkcxxsymbolexists.patch [new file with mode: 0644]
sci-electronics/kicad/kicad-4.0.5-r1.ebuild
sci-electronics/kicad/kicad-4.0.6.ebuild
sci-electronics/kicad/kicad-4.0.7.ebuild

diff --git a/sci-electronics/kicad/files/kicad-cmake-checkcxxsymbolexists.patch b/sci-electronics/kicad/files/kicad-cmake-checkcxxsymbolexists.patch
new file mode 100644 (file)
index 0000000..b2a1eeb
--- /dev/null
@@ -0,0 +1,46 @@
+diff -Naur kicad-4.0.7.orig/CMakeModules/CheckCXXSymbolExists.cmake kicad-4.0.7/CMakeModules/CheckCXXSymbolExists.cmake
+--- kicad-4.0.7.orig/CMakeModules/CheckCXXSymbolExists.cmake   2017-08-28 07:31:31.000000000 -0700
++++ kicad-4.0.7/CMakeModules/CheckCXXSymbolExists.cmake        1969-12-31 16:00:00.000000000 -0800
+@@ -1,42 +0,0 @@
+-# - Check if a symbol exists as a function, variable, or macro in C++
+-# CHECK_CXX_SYMBOL_EXISTS(<symbol> <files> <variable>)
+-#
+-# Check that the <symbol> is available after including given header
+-# <files> and store the result in a <variable>.  Specify the list
+-# of files in one argument as a semicolon-separated list.
+-# CHECK_CXX_SYMBOL_EXISTS() can be used to check in C++ files, as opposed
+-# to CHECK_SYMBOL_EXISTS(), which works only for C.
+-#
+-# If the header files define the symbol as a macro it is considered
+-# available and assumed to work.  If the header files declare the
+-# symbol as a function or variable then the symbol must also be
+-# available for linking.  If the symbol is a type or enum value
+-# it will not be recognized (consider using CheckTypeSize or
+-# CheckCSourceCompiles).
+-#
+-# The following variables may be set before calling this macro to
+-# modify the way the check is run:
+-#
+-#  CMAKE_REQUIRED_FLAGS = string of compile command line flags
+-#  CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+-#  CMAKE_REQUIRED_INCLUDES = list of include directories
+-#  CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+-
+-#=============================================================================
+-# Copyright 2003-2011 Kitware, Inc.
+-#
+-# Distributed under the OSI-approved BSD License (the "License");
+-# see accompanying file Copyright.txt for details.
+-#
+-# This software is distributed WITHOUT ANY WARRANTY; without even the
+-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+-# See the License for more information.
+-#=============================================================================
+-# (To distribute this file outside of CMake, substitute the full
+-#  License text for the above reference.)
+-
+-include(CheckSymbolExists)
+-
+-macro(CHECK_CXX_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
+-  _CHECK_SYMBOL_EXISTS("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.cxx" "${SYMBOL}" "${FILES}" "${VARIABLE}" )
+-endmacro()
index da56b49911ba9799b096e8f3ed2947fb12056de4..2e59e1a1d631876ef9172bf17825a34d39f16a92 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -62,9 +62,12 @@ pkg_setup() {
 
 src_prepare() {
        xdg_src_prepare
+       cmake-utils_src_prepare
 
        # Patch to work with >=boost 1.61
        eapply "${FILESDIR}/${PN}-boost-1.61.patch"
+       # Patch to work with >=cmake 3.11
+       eapply "${FILESDIR}/${PN}-cmake-checkcxxsymbolexists.patch"
 
        # Remove cvpcb desktop file as it does nothing
        rm "resources/linux/mime/applications/cvpcb.desktop" || die
@@ -127,8 +130,6 @@ src_prepare() {
 src_configure() {
        local mycmakeargs=(
                -DKICAD_DOCS="/usr/share/doc/${PF}"
-               -DKICAD_HELP="/usr/share/doc/${PF}/help"
-               -DwxUSE_UNICODE=ON
                -DKICAD_SKIP_BOOST=ON
                -DBUILD_GITHUB_PLUGIN="$(usex github)"
                -DKICAD_SCRIPTING="$(usex python)"
@@ -138,6 +139,7 @@ src_configure() {
                -DCMAKE_CXX_FLAGS="-std=c++11"
        )
        use python && mycmakeargs+=(
+               -DwxUSE_UNICODE=ON
                -DPYTHON_DEST="$(python_get_sitedir)"
                -DPYTHON_EXECUTABLE="${PYTHON}"
                -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
index da56b49911ba9799b096e8f3ed2947fb12056de4..2e59e1a1d631876ef9172bf17825a34d39f16a92 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -62,9 +62,12 @@ pkg_setup() {
 
 src_prepare() {
        xdg_src_prepare
+       cmake-utils_src_prepare
 
        # Patch to work with >=boost 1.61
        eapply "${FILESDIR}/${PN}-boost-1.61.patch"
+       # Patch to work with >=cmake 3.11
+       eapply "${FILESDIR}/${PN}-cmake-checkcxxsymbolexists.patch"
 
        # Remove cvpcb desktop file as it does nothing
        rm "resources/linux/mime/applications/cvpcb.desktop" || die
@@ -127,8 +130,6 @@ src_prepare() {
 src_configure() {
        local mycmakeargs=(
                -DKICAD_DOCS="/usr/share/doc/${PF}"
-               -DKICAD_HELP="/usr/share/doc/${PF}/help"
-               -DwxUSE_UNICODE=ON
                -DKICAD_SKIP_BOOST=ON
                -DBUILD_GITHUB_PLUGIN="$(usex github)"
                -DKICAD_SCRIPTING="$(usex python)"
@@ -138,6 +139,7 @@ src_configure() {
                -DCMAKE_CXX_FLAGS="-std=c++11"
        )
        use python && mycmakeargs+=(
+               -DwxUSE_UNICODE=ON
                -DPYTHON_DEST="$(python_get_sitedir)"
                -DPYTHON_EXECUTABLE="${PYTHON}"
                -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
index 5f15284ffd5de9c573dd83f9821700087fe7db90..d7108063bd58386a0c105947ccfd37496c3800d8 100644 (file)
@@ -72,6 +72,8 @@ src_prepare() {
 
        # Patch to work with >=boost 1.61
        eapply "${FILESDIR}/${PN}-boost-1.61.patch"
+       # Patch to work with >=cmake 3.11
+       eapply "${FILESDIR}/${PN}-cmake-checkcxxsymbolexists.patch"
 
        # Remove cvpcb desktop file as it does nothing
        rm "resources/linux/mime/applications/cvpcb.desktop" || die
@@ -128,8 +130,6 @@ src_prepare() {
 src_configure() {
        local mycmakeargs=(
                -DKICAD_DOCS="/usr/share/doc/${PF}"
-               -DKICAD_HELP="/usr/share/doc/${PF}/help"
-               -DwxUSE_UNICODE=ON
                -DKICAD_SKIP_BOOST=ON
                -DBUILD_GITHUB_PLUGIN="$(usex github)"
                -DKICAD_SCRIPTING="$(usex python)"
@@ -139,6 +139,7 @@ src_configure() {
                -DCMAKE_CXX_FLAGS="-std=c++11"
        )
        use python && mycmakeargs+=(
+               -DwxUSE_UNICODE=ON
                -DPYTHON_DEST="$(python_get_sitedir)"
                -DPYTHON_EXECUTABLE="${PYTHON}"
                -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"