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 - 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 1.1.1-9 - rebuild (gcc5)