kkofler pushed to avogadro (f20). "backport FindEigen3.cmake from Avogadro 1.1.1 (no system copy on F20)"
notifications at fedoraproject.org
notifications at fedoraproject.org
Sun Mar 29 03:39:41 UTC 2015
>From 0346bd896cc565d5b800b7c9b28240dfb98ba374 Mon Sep 17 00:00:00 2001
From: Kevin Kofler <Kevin at tigcc.ticalc.org>
Date: Sun, 29 Mar 2015 05:39:31 +0200
Subject: backport FindEigen3.cmake from Avogadro 1.1.1 (no system copy on F20)
diff --git a/avogadro-1.0.3-findeigen3.patch b/avogadro-1.0.3-findeigen3.patch
new file mode 100644
index 0000000..d15d4f5
--- /dev/null
+++ b/avogadro-1.0.3-findeigen3.patch
@@ -0,0 +1,96 @@
+diff -Nur avogadro-1.0.3-eigen3/cmake/modules/FindEigen3.cmake avogadro-1.0.3-findeigen3/cmake/modules/FindEigen3.cmake
+--- avogadro-1.0.3-eigen3/cmake/modules/FindEigen3.cmake 1970-01-01 01:00:00.000000000 +0100
++++ avogadro-1.0.3-findeigen3/cmake/modules/FindEigen3.cmake 2013-12-06 16:50:04.000000000 +0100
+@@ -0,0 +1,81 @@
++# - Try to find Eigen3 lib
++#
++# This module supports requiring a minimum version, e.g. you can do
++# find_package(Eigen3 3.1.2)
++# to require version 3.1.2 or newer of Eigen3.
++#
++# Once done this will define
++#
++# EIGEN3_FOUND - system has eigen lib with correct version
++# EIGEN3_INCLUDE_DIR - the eigen include directory
++# EIGEN3_VERSION - eigen version
++
++# Copyright (c) 2006, 2007 Montel Laurent, <montel at kde.org>
++# Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael at free.fr>
++# Copyright (c) 2009 Benoit Jacob <jacob.benoit.1 at gmail.com>
++# Redistribution and use is allowed according to the terms of the 2-clause BSD license.
++
++if(NOT Eigen3_FIND_VERSION)
++ if(NOT Eigen3_FIND_VERSION_MAJOR)
++ set(Eigen3_FIND_VERSION_MAJOR 2)
++ endif(NOT Eigen3_FIND_VERSION_MAJOR)
++ if(NOT Eigen3_FIND_VERSION_MINOR)
++ set(Eigen3_FIND_VERSION_MINOR 91)
++ endif(NOT Eigen3_FIND_VERSION_MINOR)
++ if(NOT Eigen3_FIND_VERSION_PATCH)
++ set(Eigen3_FIND_VERSION_PATCH 0)
++ endif(NOT Eigen3_FIND_VERSION_PATCH)
++
++ set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}")
++endif(NOT Eigen3_FIND_VERSION)
++
++macro(_eigen3_check_version)
++ file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header)
++
++ string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}")
++ set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}")
++ string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}")
++ set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}")
++ string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}")
++ set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}")
++
++ set(EIGEN3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION})
++ if(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
++ set(EIGEN3_VERSION_OK FALSE)
++ else(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
++ set(EIGEN3_VERSION_OK TRUE)
++ endif(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
++
++ if(NOT EIGEN3_VERSION_OK)
++
++ message(STATUS "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIR}, "
++ "but at least version ${Eigen3_FIND_VERSION} is required")
++ endif(NOT EIGEN3_VERSION_OK)
++endmacro(_eigen3_check_version)
++
++if (EIGEN3_INCLUDE_DIR)
++
++ # in cache already
++ _eigen3_check_version()
++ set(EIGEN3_FOUND ${EIGEN3_VERSION_OK})
++
++else (EIGEN3_INCLUDE_DIR)
++
++ find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
++ PATHS
++ ${CMAKE_INSTALL_PREFIX}/include
++ ${KDE4_INCLUDE_DIR}
++ PATH_SUFFIXES eigen3 eigen
++ )
++
++ if(EIGEN3_INCLUDE_DIR)
++ _eigen3_check_version()
++ endif(EIGEN3_INCLUDE_DIR)
++
++ include(FindPackageHandleStandardArgs)
++ find_package_handle_standard_args(Eigen3 DEFAULT_MSG EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK)
++
++ mark_as_advanced(EIGEN3_INCLUDE_DIR)
++
++endif(EIGEN3_INCLUDE_DIR)
++
+diff -Nur avogadro-1.0.3-eigen3/CMakeLists.txt avogadro-1.0.3-findeigen3/CMakeLists.txt
+--- avogadro-1.0.3-eigen3/CMakeLists.txt 2015-03-29 05:32:51.000000000 +0200
++++ avogadro-1.0.3-findeigen3/CMakeLists.txt 2015-03-29 05:35:55.000000000 +0200
+@@ -427,6 +427,7 @@
+
+ # Install the find modules we require to be present
+ install(FILES
++ "${CMAKE_MODULE_PATH}/FindEigen3.cmake"
+ "${CMAKE_MODULE_PATH}/FindGLEW.cmake"
+ DESTINATION "${Avogadro_PLUGIN_INSTALL_DIR}/cmake")
+
diff --git a/avogadro.spec b/avogadro.spec
index 95ec1d5..d0c0814 100644
--- a/avogadro.spec
+++ b/avogadro.spec
@@ -18,6 +18,9 @@ Patch0: avogadro-1.0.3-mkspecs-dir.patch
Patch1: avogadro-1.0.3-no-strip.patch
# port from Eigen2 to Eigen3, from Debian (Anton Gladky)
Patch2: avogadro-1.0.3-eigen3.patch
+# backport FindEigen3.cmake from Avogadro 1.1.1
+# (The Debian patch relies on a system copy, which is not available on F20.)
+Patch3: avogadro-1.0.3-findeigen3.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -71,6 +74,7 @@ Avogadros libraries.
%patch0 -p1 -b .mkspecs-dir
%patch1 -p1 -b .no-strip
%patch2 -p1 -b .eigen3
+%patch3 -p1 -b .findeigen3
# nuke unpatched copy, use working version included in cmake instead -- Rex
rm -f cmake/modules/FindPythonLibs.cmake
@@ -156,6 +160,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Sun Mar 29 2015 Kevin Kofler <Kevin at tigcc.ticalc.org> - 1.0.3-20
- apply Debian patch to use Eigen3 instead of Eigen2, build against Eigen3
+- backport FindEigen3.cmake from Avogadro 1.1.1 (no system copy on F20)
- -devel: add missing Requires: eigen3-devel (eigen2-devel was missing before)
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.0.3-19
--
cgit v0.10.2
http://pkgs.fedoraproject.org/cgit/avogadro.git/commit/?h=f20&id=0346bd896cc565d5b800b7c9b28240dfb98ba374
More information about the scm-commits
mailing list