kkofler pushed to avogadro (f20). "build against Eigen3 (patch from Debian) (..more)"

notifications at fedoraproject.org notifications at fedoraproject.org
Sun Mar 29 03:22:13 UTC 2015


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

* 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
- -devel: add missing Requires: eigen3-devel (eigen2-devel was missing before)

I'm applying this to F20 because I want Kalzium to stop building with 2
versions of Eigen, a recipe for chaos and conflicts. Current versions of
Kalzium require Eigen3.

diff --git a/avogadro-1.0.3-eigen3.patch b/avogadro-1.0.3-eigen3.patch
new file mode 100644
index 0000000..743bd0b
--- /dev/null
+++ b/avogadro-1.0.3-eigen3.patch
@@ -0,0 +1,101 @@
+Description: migrate from eigen2 to eigen3
+Applied-Upstream: https://github.com/cryos/avogadro/commit/3cc14da0f92e6ea0bd763e97b5711c4afe56a7cd
+Author: Anton Gladky <gladk at debian.org>
+Bug-Debian: http://bugs.debian.org/728610
+Last-Update: 2013-11-03
+
+--- a/avogadro.prf.in
++++ b/avogadro.prf.in
+@@ -3,6 +3,6 @@
+ INCLUDEPATH += . \
+                $$AVOGADRO_PREFIX/include \
+                @OPENBABEL2_INCLUDE_DIR@ \
+-               @EIGEN2_INCLUDE_DIR@
++               @EIGEN3_INCLUDE_DIR@
+ LIBS += -L$$AVOGADRO_PREFIX/lib -lavogadro \
+         -L$$OPENBABEL_PREFIX/lib -lopenbabel
+--- a/avogadro/src/CMakeLists.txt
++++ b/avogadro/src/CMakeLists.txt
+@@ -19,7 +19,7 @@
+ include_directories(
+   ${CMAKE_CURRENT_SOURCE_DIR}
+   ${OPENBABEL2_INCLUDE_DIR}
+-  ${EIGEN2_INCLUDE_DIR}
++  ${EIGEN3_INCLUDE_DIR}
+   ${CMAKE_CURRENT_BINARY_DIR}
+ )
+ 
+--- a/cmake/modules/AvogadroUse.cmake
++++ b/cmake/modules/AvogadroUse.cmake
+@@ -16,8 +16,9 @@
+ 
+ # 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)
+-include_directories(${EIGEN2_INCLUDE_DIR})
++find_package(Eigen3 REQUIRED)
++include_directories(${EIGEN3_INCLUDE_DIR})
++add_definitions(-DEIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API)
+ if(Avogadro_ENABLE_GLSL)
+   find_package(GLEW)
+   if(GLEW_FOUND)
+--- a/libavogadro/src/CMakeLists.txt
++++ b/libavogadro/src/CMakeLists.txt
+@@ -14,7 +14,7 @@
+   "${libavogadro_BINARY_DIR}/include;${tmp_include_dirs}")
+ include_directories(
+   ${CMAKE_CURRENT_BINARY_DIR}
+-  ${EIGEN2_INCLUDE_DIR}
++  ${EIGEN3_INCLUDE_DIR}
+   ${OPENBABEL2_INCLUDE_DIR}
+ )
+ 
+--- a/libavogadro/tests/CMakeLists.txt
++++ b/libavogadro/tests/CMakeLists.txt
+@@ -14,7 +14,7 @@
+ include_directories(
+   ${CMAKE_SOURCE_DIR}
+   ${CMAKE_CURRENT_BINARY_DIR}
+-  ${EIGEN2_INCLUDE_DIR}
++  ${EIGEN3_INCLUDE_DIR}
+   ${OPENBABEL2_INCLUDE_DIR}
+   ${BOOST_PYTHON_INCLUDES}
+   ${PYTHON_INCLUDE_PATH}
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -192,7 +192,7 @@
+ find_package(Qt4 REQUIRED) # find and setup Qt4 for this project
+ find_package(OpenGL REQUIRED) # find and setup OpenGL
+ find_package(Linguist) # find and setup Linguist
+-find_package(Eigen2 REQUIRED) # find and setup Eigen2
++find_package(Eigen3 REQUIRED) # find and setup Eigen3
+ find_package(ZLIB REQUIRED)
+ find_package(OpenBabel2 REQUIRED) # find and setup OpenBabel
+ 
+@@ -427,7 +427,6 @@
+ 
+ # Install the find modules we require to be present
+ install(FILES
+-  "${CMAKE_MODULE_PATH}/FindEigen2.cmake"
+   "${CMAKE_MODULE_PATH}/FindGLEW.cmake"
+   DESTINATION "${Avogadro_PLUGIN_INSTALL_DIR}/cmake")
+ 
+--- a/libavogadro/CMakeLists.txt
++++ b/libavogadro/CMakeLists.txt
+@@ -3,6 +3,7 @@
+ # We probably want to adopt the libtool scheme once we hit 1.0.0
+ set(SOVERSION 0)
+ 
++add_definitions(-DEIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API)
+ if (WIN32)
+   add_definitions( -DWIN32 )
+   # add definitions for OB in WIN32
+--- a/avogadro/CMakeLists.txt
++++ b/avogadro/CMakeLists.txt
+@@ -6,5 +6,6 @@
+   add_definitions( -DUSING_OBDLL -DUSING_DYNAMIC_LIBS )
+ endif (WIN32)
+ 
++add_definitions(-DEIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API)
+ # tell cmake to process CMakeLists.txt in that subdirectory
+ add_subdirectory(src)
diff --git a/avogadro.spec b/avogadro.spec
index 4f22ea9..95ec1d5 100644
--- a/avogadro.spec
+++ b/avogadro.spec
@@ -5,7 +5,7 @@
 
 Name:           avogadro
 Version:        1.0.3
-Release:        19%{?dist}
+Release:        20%{?dist}
 Summary:        An advanced molecular editor for chemical purposes
 
 Group:          Applications/Editors
@@ -16,6 +16,8 @@ Source0:        http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.
 Patch0:         avogadro-1.0.3-mkspecs-dir.patch
 # Remove -Wl,-s from the compiler flags, fixes -debuginfo (#700080)
 Patch1:         avogadro-1.0.3-no-strip.patch
+# port from Eigen2 to Eigen3, from Debian (Anton Gladky)
+Patch2:         avogadro-1.0.3-eigen3.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -24,7 +26,7 @@ BuildRequires:  cmake >= 2.6.0
 BuildRequires:  desktop-file-utils
 BuildRequires:  docbook-utils
 BuildRequires:  numpy
-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)
@@ -57,6 +59,7 @@ Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
 # all this stuff is in the link interface in AvogadroLibraryDeps.cmake
 # ... and it probably shouldn't.  FIXME -- rex
 Requires:       qt4-devel glew-devel python-devel boost-devel
+Requires:       eigen3-devel
 
 %description devel
 This package contains files to develop applications using 
@@ -67,6 +70,7 @@ Avogadros libraries.
 %setup -q
 %patch0 -p1 -b .mkspecs-dir
 %patch1 -p1 -b .no-strip
+%patch2 -p1 -b .eigen3
 
 # nuke unpatched copy, use working version included in cmake instead -- Rex
 rm -f cmake/modules/FindPythonLibs.cmake
@@ -150,6 +154,10 @@ 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
+- -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
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
 
-- 
cgit v0.10.2


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


More information about the scm-commits mailing list