kkofler pushed to avogadro (master). "build against Eigen3 (patch from OpenMandriva) (..more)"

notifications at fedoraproject.org notifications at fedoraproject.org
Sun Mar 29 03:08:20 UTC 2015


>From b739830b8e816c88afefa6640674270f9a6db20e Mon Sep 17 00:00:00 2001
From: Kevin Kofler <Kevin at tigcc.ticalc.org>
Date: Sun, 29 Mar 2015 05:07:53 +0200
Subject: build against Eigen3 (patch from OpenMandriva)

* Sun Mar 29 2015 Kevin Kofler <Kevin at tigcc.ticalc.org> - 1.1.1-10
- apply OpenMandriva patch to fix Eigen3 support
- build against Eigen3: change BuildRequires, pkgconfig_eigen patch

diff --git a/avogadro-1.1.1-eigen3.patch b/avogadro-1.1.1-eigen3.patch
new file mode 100644
index 0000000..dc07d69
--- /dev/null
+++ b/avogadro-1.1.1-eigen3.patch
@@ -0,0 +1,51 @@
+--- avogadro-1.1.1/CMakeLists.txt.omv~	2014-01-30 13:58:22.999443609 +0100
++++ avogadro-1.1.1/CMakeLists.txt	2014-01-30 13:59:31.086106925 +0100
+@@ -230,13 +230,15 @@ if(NOT Linguist_FOUND)
+   message(WARNING " Qt4 Linguist not found, please install it if you want Avogadro translations")
+ endif()
+ 
+-find_package(Eigen3) # find and setup Eigen3 if available
++find_package(Eigen3 REQUIRED) # find and setup Eigen3 if available
+ if(NOT EIGEN3_FOUND)
+    message(STATUS "Cannot find Eigen3, trying Eigen2")
+-   find_package(Eigen2 REQUIRED) # Some version is required
++   find_package(Eigen2) # Some version is required
+ else()
+ # Use Stage10 Eigen3 support
+    set (EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API TRUE)
++   add_definitions (-DEIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API)
++   set (EIGEN2_INCLUDE_DIR ${EIGEN3_INCLUDE_DIR})
+ endif()
+ 
+ find_package(ZLIB REQUIRED)
+--- avogadro-1.1.1/libavogadro/src/extensions/qtaim/CMakeLists.txt.omv~	2014-01-30 14:12:33.859401753 +0100
++++ avogadro-1.1.1/libavogadro/src/extensions/qtaim/CMakeLists.txt	2014-01-30 14:15:07.652727522 +0100
+@@ -4,6 +4,8 @@ set(LINK_LIBS avogadro)
+ set(PLUGIN_LABEL extensions)
+ set(PLUGIN_TARGET extensions)
+ 
++add_definitions(-DEIGEN2_SUPPORT_STAGE20_RESOLVE_API_CONFLICTS -std=gnu++11)
++
+ set(qtaimextension_SRCS
+     qtaimextension.cpp
+ #    qtaimdialog.cpp
+--- avogadro-1.1.1/libavogadro/src/extensions/surfaces/openqube/CMakeLists.txt.omv~	2014-01-30 13:59:05.889441500 +0100
++++ avogadro-1.1.1/libavogadro/src/extensions/surfaces/openqube/CMakeLists.txt	2014-01-30 13:59:08.832774688 +0100
+@@ -1,5 +1,5 @@
+ find_package(Qt4 4.6 REQUIRED)
+-find_package(Eigen2 REQUIRED)
++find_package(Eigen3 REQUIRED)
+ 
+ include_directories(${QT_INCLUDE_DIR} ${EIGEN2_INCLUDE_DIR})
+ 
+--- avogadro-1.1.1/cmake/modules/AvogadroUse.cmake.orig	2014-10-13 20:13:59.909828034 +0100
++++ avogadro-1.1.1/cmake/modules/AvogadroUse.cmake	2014-10-13 20:15:09.492822908 +0100
+@@ -12,7 +12,7 @@
+ 
+ # Add the Avogadro modules directory to the CMake module path
+ set(CMAKE_MODULE_PATH ${Avogadro_PLUGIN_DIR}/cmake ${CMAKE_MODULE_PATH})
+-find_package(Eigen2 REQUIRED)
++find_package(Eigen3 REQUIRED)
+ include_directories(${EIGEN2_INCLUDE_DIR})
+ if(Avogadro_ENABLE_GLSL)
+   find_package(GLEW)
diff --git a/avogadro-1.1.1-pkgconfig_eigen.patch b/avogadro-1.1.1-pkgconfig_eigen.patch
index a5b2af4..93dbe2f 100644
--- a/avogadro-1.1.1-pkgconfig_eigen.patch
+++ b/avogadro-1.1.1-pkgconfig_eigen.patch
@@ -5,4 +5,4 @@ diff -up avogadro-1.1.1/avogadro.pc.in.eigen avogadro-1.1.1/avogadro.pc.in
  Version: @Avogadro_VERSION_FULL@
  Libs: -L${libdir} -lavogadro
  Cflags: -I${pkgincludedir}
-+Requires.private: eigen2
++Requires.private: eigen3
diff --git a/avogadro.spec b/avogadro.spec
index 5112815..a56ec23 100644
--- a/avogadro.spec
+++ b/avogadro.spec
@@ -5,7 +5,7 @@
 
 Name:           avogadro
 Version:        1.1.1
-Release:        9%{?dist}
+Release:        10%{?dist}
 Summary:        An advanced molecular editor for chemical purposes
 
 License:        GPLv2
@@ -18,25 +18,27 @@ Patch0:         avogadro-1.1.1-mkspecs-dir.patch
 # Remove -Wl,-s from the compiler flags, fixes -debuginfo (#700080)
 Patch1:         avogadro-1.1.1-no-strip.patch
 # avogadro.pc missing eigen dependency
-Patch2:          avogadro-1.1.1-pkgconfig_eigen.patch
+Patch2:         avogadro-1.1.1-pkgconfig_eigen.patch
 
 ## upstream fixes
 # fix FTBFS on arm
-Patch3:          0029-Fix-compilation-on-ARM-where-qreal-can-be-defined-as.patch
+Patch3:         0029-Fix-compilation-on-ARM-where-qreal-can-be-defined-as.patch
 
 ## upstreamable
 # fix build with cmake-3.2+
 # https://sourceforge.net/p/avogadro/bugs/746/
 Patch10:        avogadro-cmake-3.2.patch
 
+# fix Eigen3 support, from OpenMandriva (Bernhard Rosenkränzer, Crispin Boylan)
+# disables Eigen2 support, so probably not upstreamable as is
+Patch11:        avogadro-1.1.1-eigen3.patch
+
 BuildRequires:  boost-devel >= 1.35
 BuildRequires:  cmake >= 2.6.0
 BuildRequires:  desktop-file-utils
 BuildRequires:  docbook-utils
 BuildRequires:  numpy
-# can theoretically use eigen3, but currently ftbfs if it is found -- rex
-BuildConflicts: eigen3-devel
-BuildRequires:  pkgconfig(eigen2) >= 2.0.3
+BuildRequires:  pkgconfig(eigen3)
 BuildRequires:  pkgconfig(glew) >= 1.5.0
 BuildRequires:  pkgconfig(openbabel-2.0) >= 2.2.2
 BuildRequires:  pkgconfig(QtGui) pkgconfig(QtNetwork) pkgconfig(QtOpenGL)
@@ -74,9 +76,10 @@ Avogadro libraries.
 %setup -q
 %patch0 -p1 -b .mkspecs-dir
 %patch1 -p1 -b .no-strip
-%patch2 -p1 -b .pkgconfig_eigen2
+%patch2 -p1 -b .pkgconfig_eigen
 %patch3 -p1 -b .qreal
 %patch10 -p1 -b .cmake_x11
+%patch11 -p1 -b .eigen3
 
 
 %build
@@ -147,6 +150,10 @@ xvfb-run -a dbus-launch --exit-with-session make test ARGS="--output-on-failure"
 
 
 %changelog
+* Sun Mar 29 2015 Kevin Kofler <Kevin at tigcc.ticalc.org> - 1.1.1-10
+- apply OpenMandriva patch to fix Eigen3 support
+- build against Eigen3: change BuildRequires, pkgconfig_eigen patch
+
 * Wed Mar 25 2015 Rex Dieter <rdieter at fedoraproject.org> 1.1.1-9
 - rebuild (gcc5)
 
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/avogadro.git/commit/?h=master&id=b739830b8e816c88afefa6640674270f9a6db20e


More information about the scm-commits mailing list