From ee6185ffa2e80cf1f6313e184867777426c72730 Mon Sep 17 00:00:00 2001 From: Antonio Trande Date: Nov 13 2021 12:06:33 +0000 Subject: Obsoleted by upgrading to openbabel3 | Replaced by avogadro2 --- diff --git a/.gitignore b/.gitignore deleted file mode 100644 index c523a07..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/avogadro-1.0.3.tar.bz2 -/avogadro-1.1.1.tar.bz2 -/avogadro-1.2.0.tar.gz diff --git a/avogadro-1.1.1-Q_MOC_RUN.patch b/avogadro-1.1.1-Q_MOC_RUN.patch deleted file mode 100644 index d146d4a..0000000 --- a/avogadro-1.1.1-Q_MOC_RUN.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff -up avogadro-1.1.1/libavogadro/src/pythonengine_p.h.Q_MOC_RUN avogadro-1.1.1/libavogadro/src/pythonengine_p.h ---- avogadro-1.1.1/libavogadro/src/pythonengine_p.h.Q_MOC_RUN 2013-12-06 09:50:04.000000000 -0600 -+++ avogadro-1.1.1/libavogadro/src/pythonengine_p.h 2016-01-25 13:29:52.576196449 -0600 -@@ -27,7 +27,9 @@ - - #include - #include -+#ifndef Q_MOC_RUN - #include -+#endif - - namespace Avogadro { - -diff -up avogadro-1.1.1/libavogadro/src/pythonextension_p.h.Q_MOC_RUN avogadro-1.1.1/libavogadro/src/pythonextension_p.h ---- avogadro-1.1.1/libavogadro/src/pythonextension_p.h.Q_MOC_RUN 2013-12-06 09:50:04.000000000 -0600 -+++ avogadro-1.1.1/libavogadro/src/pythonextension_p.h 2016-01-25 13:29:52.576196449 -0600 -@@ -29,7 +29,9 @@ - #include - #include - #include -+#ifndef Q_MOC_RUN - #include -+#endif - - #include - #include -diff -up avogadro-1.1.1/libavogadro/src/pythoninterpreter.h.Q_MOC_RUN avogadro-1.1.1/libavogadro/src/pythoninterpreter.h ---- avogadro-1.1.1/libavogadro/src/pythoninterpreter.h.Q_MOC_RUN 2013-12-06 09:50:04.000000000 -0600 -+++ avogadro-1.1.1/libavogadro/src/pythoninterpreter.h 2016-01-25 13:34:36.911051943 -0600 -@@ -26,7 +26,9 @@ - #define PYTHONINTERPRETER_H - - #include -+#ifndef Q_MOC_RUN - #include -+#endif - #include - #include - -diff -up avogadro-1.1.1/libavogadro/src/pythonscript.h.Q_MOC_RUN avogadro-1.1.1/libavogadro/src/pythonscript.h ---- avogadro-1.1.1/libavogadro/src/pythonscript.h.Q_MOC_RUN 2013-12-06 09:50:04.000000000 -0600 -+++ avogadro-1.1.1/libavogadro/src/pythonscript.h 2016-01-25 13:34:27.048952883 -0600 -@@ -27,7 +27,9 @@ - #define PYTHONSCRIPT_H - - #include -+#ifndef Q_MOC_RUN - #include -+#endif - - #include "pythonerror.h" - -diff -up avogadro-1.1.1/libavogadro/src/pythontool_p.h.Q_MOC_RUN avogadro-1.1.1/libavogadro/src/pythontool_p.h ---- avogadro-1.1.1/libavogadro/src/pythontool_p.h.Q_MOC_RUN 2013-12-06 09:50:04.000000000 -0600 -+++ avogadro-1.1.1/libavogadro/src/pythontool_p.h 2016-01-25 13:29:52.576196449 -0600 -@@ -27,7 +27,9 @@ - - #include - #include -+#ifndef Q_MOC_RUN - #include -+#endif - - #include - #include diff --git a/avogadro-1.1.1-mkspecs-dir.patch b/avogadro-1.1.1-mkspecs-dir.patch deleted file mode 100644 index 45c6164..0000000 --- a/avogadro-1.1.1-mkspecs-dir.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up avogadro-1.1.1/CMakeLists.txt.mkspecs-dir avogadro-1.1.1/CMakeLists.txt ---- avogadro-1.1.1/CMakeLists.txt.mkspecs-dir 2014-01-24 23:43:01.618510517 -0600 -+++ avogadro-1.1.1/CMakeLists.txt 2014-01-24 23:44:03.236844746 -0600 -@@ -547,7 +547,7 @@ if(QT_MKSPECS_DIR AND INSTALL_QMAKE_PRF) - # ) - install(FILES - "${CMAKE_CURRENT_BINARY_DIR}/avogadro.prf" -- DESTINATION "${CMAKE_INSTALL_PREFIX}/${QT_MKSPECS_RELATIVE}/features" -+ DESTINATION "${QT_MKSPECS_DIR}/features" - ) - # endif ("${QT_MKSPECS_DIR}" MATCHES ^$"${CMAKE_INSTALL_PREFIX}/") - else() diff --git a/avogadro-1.1.1-no-strip.patch b/avogadro-1.1.1-no-strip.patch deleted file mode 100644 index 490dd58..0000000 --- a/avogadro-1.1.1-no-strip.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up avogadro-1.1.1/CMakeLists.txt.no-strip avogadro-1.1.1/CMakeLists.txt ---- avogadro-1.1.1/CMakeLists.txt.no-strip 2014-01-24 23:14:44.473840038 -0600 -+++ avogadro-1.1.1/CMakeLists.txt 2014-01-24 23:15:46.869166459 -0600 -@@ -114,7 +114,7 @@ if (CMAKE_COMPILER_IS_GNUCXX) - endif() - # Set up additional build flags for particular build types. These will be added to CMAKE_CXX_FLAGS, - # they will not replace them. -- set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG -DQT_NO_DEBUG_OUTPUT -Wl,-s") -+ set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG -DQT_NO_DEBUG_OUTPUT") - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO - "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${CMAKE_CXX_FLAGS_WARN}") - set(CMAKE_CXX_FLAGS_DEBUG "-g3 -fno-inline ${CMAKE_CXX_FLAGS_WARN}") diff --git a/avogadro-1.1.1-qt.patch b/avogadro-1.1.1-qt.patch deleted file mode 100644 index 7c3ac7c..0000000 --- a/avogadro-1.1.1-qt.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up avogadro-1.1.1/libavogadro/tests/moleculefiletest.cpp.qt avogadro-1.1.1/libavogadro/tests/moleculefiletest.cpp ---- avogadro-1.1.1/libavogadro/tests/moleculefiletest.cpp.qt 2013-12-06 16:50:04.000000000 +0100 -+++ avogadro-1.1.1/libavogadro/tests/moleculefiletest.cpp 2016-02-21 23:54:57.391691551 +0100 -@@ -151,7 +151,7 @@ void MoleculeFileTest::readFile() - OBConversion conv; - conv.SetOutFormat("sdf"); - std::ofstream ofs(filename.toAscii().data()); -- QVERIFY( ofs ); -+ QVERIFY( ofs.good() ); - // write the molecule 4 times... - conv.Write(&mol, &ofs); - conv.Write(&mol, &ofs); -@@ -171,7 +171,7 @@ void MoleculeFileTest::readFile() - - - ofs.open(filename.toAscii().data()); -- QVERIFY( ofs ); -+ QVERIFY( ofs.good() ); - // write the molecule 4 times... - conv.Write(&mol, &ofs); - conv.Write(&mol, &ofs); diff --git a/avogadro-1.2.0-Allow_plot_axis_width_to_be_changed.patch b/avogadro-1.2.0-Allow_plot_axis_width_to_be_changed.patch deleted file mode 100644 index 4840b75..0000000 --- a/avogadro-1.2.0-Allow_plot_axis_width_to_be_changed.patch +++ /dev/null @@ -1,111 +0,0 @@ -From df7fc323a61d22e25d62fa048b6d6fc90aad5697 Mon Sep 17 00:00:00 2001 -From: Patrick Avery -Date: Sat, 25 Nov 2017 13:39:09 -0500 -Subject: [PATCH] Allow plot axis width to be changed. - -This adds a function that allows the plot axis width to -be changed. ---- - libavogadro/src/plotwidget.cpp | 16 ++++++++++++++-- - libavogadro/src/plotwidget.h | 18 ++++++++++++------ - 2 files changed, 26 insertions(+), 8 deletions(-) - -diff --git a/libavogadro/src/plotwidget.cpp b/libavogadro/src/plotwidget.cpp -index 6766fc8b7..9e253e85e 100644 ---- a/libavogadro/src/plotwidget.cpp -+++ b/libavogadro/src/plotwidget.cpp -@@ -61,7 +61,8 @@ namespace Avogadro { - cBackground( Qt::black ), cForeground( Qt::white ), cGrid( Qt::gray ), - showGrid( false ), showObjectToolTip( true ), useAntialias( false ), - font( QFont() ), followingMouse(false), jailedInDefaults(false), -- labelShiftDirection(None) -+ labelShiftDirection(None), -+ axisWidth(1) - { - // create the axes and setting their default properties - PlotAxis *leftAxis = new PlotAxis(); -@@ -131,6 +132,9 @@ namespace Avogadro { - // Wether can move away default limits rectangle - bool jailedInDefaults; - Direction labelShiftDirection; -+ -+ // The width of the axes and tick markers. Default is 1. -+ int axisWidth; - }; - - PlotWidget::PlotWidget( QWidget * parent ) -@@ -542,6 +546,12 @@ namespace Avogadro { - update(); - } - -+ void PlotWidget::setAxisWidth( int w ) -+ { -+ d->axisWidth = w; -+ update(); -+ } -+ - void PlotWidget::setShowGrid( bool show ) { - d->showGrid = show; - update(); -@@ -1533,7 +1543,9 @@ namespace Avogadro { - } - } - -- p->setPen( foregroundColor() ); -+ QPen pen(foregroundColor()); -+ pen.setWidth(d->axisWidth); -+ p->setPen(pen); - p->setBrush( Qt::NoBrush ); - - /*** BottomAxis ***/ -diff --git a/libavogadro/src/plotwidget.h b/libavogadro/src/plotwidget.h -index b1141ed20..a179c5564 100644 ---- a/libavogadro/src/plotwidget.h -+++ b/libavogadro/src/plotwidget.h -@@ -124,19 +124,19 @@ namespace Avogadro { - RightAxis, ///< the right axis - TopAxis ///< the top axis - }; -- -+ - /** - * The four directions for label shift. - */ - enum Direction - { - None = 0, -- Left, ///< -+ Left, ///< - Down, ///< -- Right, ///< -- Up ///< -+ Right, ///< -+ Up ///< - }; -- -+ - /** - *@return suggested minimum size for the plot widget - */ -@@ -373,6 +373,12 @@ namespace Avogadro { - */ - void setAntialiasing( bool b ); - -+ /** -+ * Set the axis and tick marker widths. Default width is 1. -+ * @param w The width of the plot axes and tick markers. -+ */ -+ void setAxisWidth( int w ); -+ - /** - * @return the number of pixels to the left of the plot area. - * -@@ -606,7 +612,7 @@ namespace Avogadro { - * @sa selectPoint() clearAndSelectPoint() selectPoints() clearAndSelectPoints() clearSelection() - */ - void setPointFollowMouse(bool b); -- -+ - /** - * Don't permit moving away from default limits - */ diff --git a/avogadro-1.2.0-libmsymfloat.patch b/avogadro-1.2.0-libmsymfloat.patch deleted file mode 100644 index ff1d8b2..0000000 --- a/avogadro-1.2.0-libmsymfloat.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -crB avogadro-1.2.0/libavogadro/src/extensions/symmetry/libmsym/src/orbital.c avogadro-1.2.0-fixed/libavogadro/src/extensions/symmetry/libmsym/src/orbital.c -*** avogadro-1.2.0/libavogadro/src/extensions/symmetry/libmsym/src/orbital.c 2016-06-08 11:19:45.000000000 -0300 ---- avogadro-1.2.0-fixed/libavogadro/src/extensions/symmetry/libmsym/src/orbital.c 2016-09-13 11:57:50.181291665 -0300 -*************** -*** 67,79 **** - } - case 2 : { - //o->v = dpolynomial[m+l]; -! char *d = (signbit(m) == 1 ? "-" : "+"); - snprintf(o->name, sizeof(o->name), "%dd%d%s",n,abs(m),d); - break; - } - default : { - char t = 'f' - 3 + l; -! char *d = (signbit(m) == 1 ? "-" : "+"); - snprintf(o->name, sizeof(o->name), "%d%c%d%s",n,t,abs(m),d); - } - } ---- 67,79 ---- - } - case 2 : { - //o->v = dpolynomial[m+l]; -! char *d = (signbit((float) m) == 1 ? "-" : "+"); - snprintf(o->name, sizeof(o->name), "%dd%d%s",n,abs(m),d); - break; - } - default : { - char t = 'f' - 3 + l; -! char *d = (signbit((float) m) == 1 ? "-" : "+"); - snprintf(o->name, sizeof(o->name), "%d%c%d%s",n,t,abs(m),d); - } - } diff --git a/avogadro-1.2.0-pkgconfig_eigen.patch b/avogadro-1.2.0-pkgconfig_eigen.patch deleted file mode 100644 index 93dbe2f..0000000 --- a/avogadro-1.2.0-pkgconfig_eigen.patch +++ /dev/null @@ -1,8 +0,0 @@ -diff -up avogadro-1.1.1/avogadro.pc.in.eigen avogadro-1.1.1/avogadro.pc.in ---- avogadro-1.1.1/avogadro.pc.in.eigen 2013-12-06 09:50:04.000000000 -0600 -+++ avogadro-1.1.1/avogadro.pc.in 2014-01-25 00:37:45.732007852 -0600 -@@ -9,3 +9,4 @@ Description: Avogadro libraries - Version: @Avogadro_VERSION_FULL@ - Libs: -L${libdir} -lavogadro - Cflags: -I${pkgincludedir} -+Requires.private: eigen3 diff --git a/avogadro-cmake-3.2.patch b/avogadro-cmake-3.2.patch deleted file mode 100644 index 10e56a7..0000000 --- a/avogadro-cmake-3.2.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: avogadro-1.1.1/CMakeLists.txt -=================================================================== ---- avogadro-1.1.1.orig/CMakeLists.txt -+++ avogadro-1.1.1/CMakeLists.txt -@@ -225,7 +225,7 @@ - - find_package(Qt4 4.6.0 REQUIRED) # find and setup Qt4 for this project - find_package(OpenGL REQUIRED) # find and setup OpenGL --find_package(X11) # find and setup X11 (not required for Mac and Windows) -+find_package(X11 REQUIRED) # find and setup X11 - find_package(Linguist) # find and setup Linguist - if(NOT Linguist_FOUND) - message(WARNING " Qt4 Linguist not found, please install it if you want Avogadro translations") diff --git a/avogadro.appdata.xml b/avogadro.appdata.xml deleted file mode 100644 index 4f34013..0000000 --- a/avogadro.appdata.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - avogadro.desktop - CC0-1.0 - A molecular builder and visualization tool - Avogadro - GPL-2.0 - - Education - Chemistry - - -

- An advanced molecular editor designed for - cross-platform use in computational chemistry, - molecular modeling, bioinformatics, materials science, - and related areas, which offers flexible rendering and - a powerful plugin architecture.

-
- http://avogadro.cc/wiki/Main_Page - http://sourceforge.net/p/avogadro/bugs/ - - - http://avogadro.cc/w/images/thumb/1/1d/Avogadro-Benzene.png/788px-Avogadro-Benzene.png - Benzene - - - http://avogadro.cc/w/images/thumb/b/bb/HBondBuilding.png/798px-HBondBuilding.png - H Bond Building - - - http://avogadro.cc/w/images/d/d8/Protein.png - Protein - - - http://avogadro.cc/w/images/c/c6/ColorNanotube.png - Nanotube - - - sagitter_at_fedoraproject.org -
diff --git a/avogadro.spec b/avogadro.spec deleted file mode 100644 index 05337ea..0000000 --- a/avogadro.spec +++ /dev/null @@ -1,593 +0,0 @@ -# Avogadro supports Python2 only - -%undefine _ld_as_needed - -# Filter private libraries -%global __provides_exclude ^(%%(find %{buildroot}%{_libdir}/avogadro -name '*.so' | xargs -n1 basename | sort -u | paste -s -d '|' -)) -%global __requires_exclude ^(%%(find %{buildroot}%{_libdir}/avogadro -name '*.so' | xargs -n1 basename | sort -u | paste -s -d '|' -)) - -Name: avogadro -Version: 1.2.0 -Release: 35%{?dist} -Summary: An advanced molecular editor for chemical purposes -License: GPLv2 -URL: http://avogadro.openmolecules.net/ -Source0: https://github.com/cryos/avogadro/archive/%{version}/%{name}-%{version}.tar.gz -Source1: %{name}.appdata.xml - -## upstreamable patches -# Fix qmake mkspecs installation directory -Patch0: %{name}-1.1.1-mkspecs-dir.patch -# Remove -Wl,-s from the compiler flags, fixes -debuginfo (#700080) -Patch1: %{name}-1.1.1-no-strip.patch -# avogadro.pc missing eigen dependency -Patch2: %{name}-%{version}-pkgconfig_eigen.patch - -## upstreamable -# fix build with cmake-3.2+ -# https://sourceforge.net/p/avogadro/bugs/746/ -Patch10: %{name}-cmake-3.2.patch - -# fix build with recent boost -Patch12: %{name}-1.1.1-Q_MOC_RUN.patch - -# fix build with recent Qt -Patch14: %{name}-1.1.1-qt.patch - -Patch15: %{name}-%{version}-libmsymfloat.patch - -# Backport commit ca0094cb670513ac6d6da4d67ddcbc8e1d503592 for eigen3 >= 3.3.0 support, -# slightly improved, see https://github.com/cryos/avogadro/pull/894 -Patch16: %{name}_eigen3.patch - -Patch18: %{name}-%{version}-Allow_plot_axis_width_to_be_changed.patch - -BuildRequires: boost-devel -BuildRequires: cmake -BuildRequires: desktop-file-utils -BuildRequires: docbook-utils, docbook-utils-pdf -BuildRequires: gcc-c++, gcc -BuildRequires: pkgconfig(eigen3) -BuildRequires: pkgconfig(glew) >= 1.5.0 -BuildRequires: pkgconfig(openbabel-2.0) >= 2.2.2 -BuildRequires: pkgconfig(QtGui) pkgconfig(QtNetwork) pkgconfig(QtOpenGL) -BuildRequires: doxygen -BuildRequires: libappstream-glib -BuildRequires: make -BuildRequires: patchelf -%if 0%{?ENABLE_TESTS:1} -BuildRequires: dbus-x11 xorg-x11-server-Xvfb -%endif - -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Requires: povray%{?_isa} - -%description -An advanced molecular editor designed for -cross-platform use in computational chemistry, -molecular modeling, bioinformatics, materials science, -and related areas, which offers flexible rendering and -a powerful plugin architecture. - -%package libs -Summary: Shared libraries for Avogadro -%description libs -This package contains the shared libraries for the -molecular editor Avogadro. - -%package devel -Summary: Development files for Avogadro -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -%description devel -This package contains files to develop applications using -Avogadro libraries. - -%package i18n -Summary: Language packs for Avogadro -BuildArch: noarch -Requires: %{name} = %{version}-%{release} -%description i18n -Language packs for Avogadro. - -%prep -%autosetup -n %{name}-%{version} -p1 - -#Fix permissions -find . -type f -name "*.h" -exec chmod 0644 '{}' \; -find . -type f -name "*.cc" -exec chmod 0644 '{}' \; -find . -type f -name "*.c" -exec chmod 0644 '{}' \; - -sed -e 's|@LIB_INSTALL_DIR@|lib@LIB_SUFFIX@|g' -i avogadro.pc.in - -%build -mkdir -p build -export LDFLAGS="%{__global_ldflags} -lm" -export CXXFLAGS="%{optflags} -Wno-cpp -I../libavogadro/src" -%cmake -B build -DCMAKE_BUILD_TYPE:STRING=Release \ - -Wno-dev -Wno-cpp \ - -DENABLE_GLSL:BOOL=ON \ - -DENABLE_PYTHON:BOOL=OFF \ - -DENABLE_RPATH:BOOL=OFF \ - -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \ - -DCMAKE_SKIP_RPATH:BOOL=YES \ - -DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="$LDFLAGS" \ - -DENABLE_VERSIONED_PLUGIN_DIR:BOOL=OFF \ - -DLIB_INSTALL_DIR:STRING=%{_libdir} \ - -D18N_INSTALL_DIR:STRING=share/avogadro/i18n \ - -DAvogadro_PLUGIN_INSTALL_DIR:STRING=%{_lib}/avogadro/plugins \ - -DINSTALL_LIB_DIR:STRING=%{_lib}/avogadro \ - -DAvogadro_STATIC_PLUGINS:STRING="bsdyengine;navigatetool;elementcolor" \ - -DENABLE_THREADEDGL:BOOL=ON \ - -DINSTALL_CMAKE_DIR:PATH=%{_lib}/libmsym/cmake -%make_build -C build - - -%install -%make_install -C build - -patchelf --remove-rpath %{buildroot}%{_bindir}/avogadro -patchelf --remove-rpath %{buildroot}%{_bindir}/qube - -# Install/check appdata file. -install -pm 644 -D %{SOURCE1} \ - %{buildroot}%{_metainfodir}/avogadro.appdata.xml -appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml -# - -rm -rf %{buildroot}%{_datadir}/libavogadro/*.rpmmoved - -%find_lang libavogadro --with-qt --without-mo -%find_lang avogadro --with-qt --without-mo - -%check -# Version key is wrong and useless -desktop-file-edit --remove-key=Version --remove-category=Education %{buildroot}%{_datadir}/applications/avogadro.desktop -desktop-file-validate %{buildroot}%{_datadir}/applications/avogadro.desktop - -%ldconfig_scriptlets libs - -## Replacement of directories with symlinks -## https://fedoraproject.org/wiki/Packaging:Scriptlets?rd=Packaging:ScriptletSnippets#The_.25pretrans_Scriptlet -## https://fedoraproject.org/wiki/Packaging:Directory_Replacement -%pretrans libs -p -print("Replacement of out position directories with symlinks to the python's directories") -path = "/usr/share/libavogadro/extensionScripts" -st = posix.stat(path) -if st and st.type == "directory" then - status = os.rename(path, path .. ".rpmmoved") - if not status then - suffix = 0 - while not status do - suffix = suffix + 1 - status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) - end - os.rename(path, path .. ".rpmmoved") - end -end -path = "/usr/share/libavogadro/engineScripts" -st = posix.stat(path) -if st and st.type == "directory" then - status = os.rename(path, path .. ".rpmmoved") - if not status then - suffix = 0 - while not status do - suffix = suffix + 1 - status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) - end - os.rename(path, path .. ".rpmmoved") - end -end - -%files -f avogadro.lang -%{_bindir}/avogadro -%{_bindir}/avopkg -%{_bindir}/qube -%dir %{_datadir}/avogadro -%{_datadir}/avogadro/builder/ -%{_datadir}/avogadro/crystals/ -%{_datadir}/avogadro/fragments/ -%{_datadir}/pixmaps/avogadro-icon.png -%{_datadir}/applications/avogadro.desktop -%{_metainfodir}/avogadro.appdata.xml -%{_mandir}/man1/avogadro.1* -%{_mandir}/man1/avopkg.1* - -%files devel -%{_includedir}/avogadro/ -%{_includedir}/libmsym/ -%{_libdir}/libavogadro.so -%{_libdir}/libavogadro_OpenQube.so -%{_libdir}/pkgconfig/avogadro.pc -%{_libdir}/avogadro/*.cmake -%{_libdir}/avogadro/cmake/ -%{_libdir}/libmsym/cmake/ -%{_qt4_prefix}/mkspecs/features/avogadro.prf - -%files libs -f libavogadro.lang -%doc AUTHORS README -%license COPYING -%{_datadir}/libavogadro/ -%{_libdir}/libavogadro.so.1* -%{_libdir}/libavogadro_OpenQube.so.0* -%{_libdir}/avogadro/ - -%files i18n -%dir %{_datadir}/avogadro -%{_datadir}/avogadro/i18n/ - -%changelog -* Wed Jul 21 2021 Fedora Release Engineering - 1.2.0-35 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jan 26 2021 Fedora Release Engineering - 1.2.0-34 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Sat Aug 01 2020 Fedora Release Engineering - 1.2.0-33 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 1.2.0-32 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jan 28 2020 Fedora Release Engineering - 1.2.0-31 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Mon Jan 20 2020 Antonio Trande - 1.2.0-30 -- Remove SIP dependency (Python enterely disabled) - -* Sun Jan 19 2020 Antonio Trande - 1.2.0-29 -- Remove explicit sip-api requirement - -* Fri Nov 15 2019 Antonio Trande - 1.2.0-28 -- Fix desktop file's categories -- Remove rpmmoved files - -* Fri Nov 15 2019 Antonio Trande - 1.2.0-27 -- Remove all Python2 references - -* Wed Jul 24 2019 Fedora Release Engineering - 1.2.0-26 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu May 02 2019 Antonio Trande - 1.2.0-25 -- Add more specific CMake variables -- Add two patches from upstream - -* Thu Jan 31 2019 Fedora Release Engineering - 1.2.0-24 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sun Jan 27 2019 Jonathan Wakely - 1.2.0-23 -- Rebuilt for Boost 1.69 - -* Thu Jan 24 2019 Jonathan Wakely - 1.2.0-22 -- Rebuilt for Boost 1.69 - -* Thu Aug 23 2018 Nicolas Chauvet - 1.2.0-21 -- Rebuilt for glew 2.1.0 - -* Sat Aug 04 2018 Antonio Trande - 1.2.0-20 -- Replacement of out-position directories with symlinks to the python's directories via scriptlet - -* Wed Aug 01 2018 Antonio Trande - 1.2.0-19 -- Install Python modules in python_sitearch - -* Thu Jul 19 2018 Antonio Trande - 1.2.0-18 -- Add 'povray' dependency (bz#1556808) - -* Thu Jul 12 2018 Fedora Release Engineering - 1.2.0-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue May 01 2018 Jonathan Wakely - 1.2.0-16 -- Add BuildRequires: boost-python2-devel - -* Thu Feb 15 2018 Antonio Trande - 1.2.0-15 -- Use %%ldconfig_scriptlets - -* Wed Feb 07 2018 Fedora Release Engineering - 1.2.0-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Jan 23 2018 Jonathan Wakely - 1.2.0-13 -- Rebuilt for Boost 1.66 - -* Wed Jan 03 2018 Sandro Mani - 1.2.0-12 -* Build against eigen3 - -* Wed Dec 20 2017 Antonio Trande - 1.2.0-11 -- Appdata file moved into metainfo data directory - -* Wed Aug 02 2017 Fedora Release Engineering - 1.2.0-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 1.2.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Tue Jul 18 2017 Jonathan Wakely - 1.2.0-8 -- Rebuilt for Boost 1.64 - -* Wed Jul 05 2017 Rex Dieter - 1.2.0-7 -- rebuild (sip) - -* Tue Feb 07 2017 Kalev Lember - 1.2.0-6 -- Rebuilt for Boost 1.63 - -* Tue Jan 10 2017 Orion Poplawski - 1.2.0-5 -- Rebuild for glew 2.0.0 - -* Sun Jan 01 2017 Rex Dieter - 1.2.0-4 -- rebuild (sip) - -* Thu Dec 22 2016 Sandro Mani - 1.2.0-3 -- Build against eigen2 (upstream does not support eigen3 >= 3.3.0) - -* Fri Oct 14 2016 Dominik Mierzejewski - 1.2.0-2 -- rebuild for openbabel-2.4.1 - -* Tue Sep 27 2016 Antonio Trande - 1.2.0-1 -- Update to 1.2.0 (bz#1347064) (bz#1347416) -- Make an i18n sub-package -- Patches updated -- Install an appdata file - -* Tue Jul 19 2016 Fedora Release Engineering - 1.1.1-19 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Sat Feb 20 2016 Dominik Mierzejewski - 1.1.1-18 -- Rebuild for openbabel -- Fix build (gcc-6/Qt?) - -* Wed Feb 03 2016 Fedora Release Engineering - 1.1.1-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Jan 14 2016 Adam Jackson - 1.1.1-16 -- Rebuild for glew 1.13 - -* Thu Aug 27 2015 Jonathan Wakely - 1.1.1-15 -- Rebuilt for Boost 1.59 - -* Wed Jul 29 2015 Fedora Release Engineering - 1.1.1-14 -- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 - -* Wed Jul 22 2015 David Tardon - 1.1.1-13 -- rebuild for Boost 1.58 - -* Wed Jun 17 2015 Fedora Release Engineering - 1.1.1-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Thu Apr 16 2015 Rex Dieter 1.1.1-11 -- rebuild (gcc5) - -* 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) - -* Wed Feb 25 2015 Rex Dieter 1.1.1-8 -- rebuild (gcc5) - -* Tue Jan 27 2015 Petr Machata - 1.1.1-7 -- Rebuild for boost 1.57.0 - -* Mon Sep 22 2014 Rex Dieter 1.1.1-6 -- pull in upstream fix for qreal/arm issues - -* Fri Aug 15 2014 Fedora Release Engineering - 1.1.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Fedora Release Engineering - 1.1.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Fri May 23 2014 Petr Machata - 1.1.1-3 -- Rebuild for boost 1.55.0 - -* Sun Mar 16 2014 Rex Dieter 1.1.1-2 -- rebuild(sip) - -* Sat Jan 25 2014 Rex Dieter 1.1.1-1 -- avogadro-1.1.1 -- ExcludeArch: arm - -* Mon Nov 18 2013 Dave Airlie - 1.0.3-21 -- rebuilt for GLEW 1.10 - -* Wed Oct 16 2013 Rex Dieter 1.0.3-20 -- rebuild (sip) - -* Sat Aug 03 2013 Fedora Release Engineering - 1.0.3-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Sat Jul 27 2013 pmachata@redhat.com - 1.0.3-18 -- Rebuild for boost 1.54.0 - -* Mon Jun 17 2013 Rex Dieter 1.0.3-17 -- rebuild (sip) - -* Mon Feb 11 2013 Rex Dieter 1.0.3-16 -- drop boost patch, qt/moc has workaround now - -* Sun Feb 10 2013 Denis Arnaud - 1.0.3-15 -- Rebuild for Boost-1.53.0 - -* Sat Feb 09 2013 Denis Arnaud - 1.0.3-14.1 -- Rebuild for Boost-1.53.0 - -* Thu Dec 13 2012 Adam Jackson - 1.0.3-13.1 -- Rebuild for glew 1.9.0 - -* Mon Oct 01 2012 Rex Dieter 1.0.3-12 -- rebuild (sip) - -* Thu Aug 09 2012 Rex Dieter - 1.0.3-11 -- rebuild (boost) - -* Fri Jul 27 2012 Rex Dieter - 1.0.3-10 -- rebuild (glew) -- pkgconfig-style deps - -* Wed Jul 18 2012 Fedora Release Engineering - 1.0.3-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Tue Feb 28 2012 Fedora Release Engineering - 1.0.3-8 -- Rebuilt for c++ ABI breakage - -* Thu Jan 12 2012 Fedora Release Engineering - 1.0.3-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Fri Dec 23 2011 Rex Dieter 1.0.3-6 -- rebuild (sip/PyQt4) - -* Tue Nov 22 2011 Peter Robinson - 1.0.3-5 -- Rebuild for boost 1.48 - -* Thu Jul 21 2011 Rex Dieter 1.0.3-4 -- rebuild (boost) - -* Mon Jun 20 2011 ajax@redhat.com - 1.0.3-3 -- Rebuild for new glew soname - -* Wed Apr 27 2011 Kevin Kofler - 1.0.3-2 -- remove -Wl,-s from the compiler flags, fixes -debuginfo (#700080) - -* Tue Apr 26 2011 Kevin Kofler - 1.0.3-1 -- update to 1.0.3 -- drop all patches (fixed upstream) -- fix qmake mkspecs installation directory (broken in 1.0.3) - -* Fri Apr 08 2011 Jaroslav Reznik - 1.0.1-15 -- rebuild for new boost (1.46.1) - -* Tue Mar 22 2011 Kevin Kofler - 1.0.1-14 -- fix forcefield extension with OpenBabel 2.3.0 (#680292, upstream patch) -- fix autooptimization tool with OpenBabel 2.3.0 (#680292, patch by lg) - -* Mon Feb 07 2011 Fedora Release Engineering - 1.0.1-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Mon Feb 07 2011 Thomas Spura - 1.0.1-12 -- rebuild for new boost - -* Thu Nov 25 2010 Kevin Kofler - 1.0.1-11 -- rebuild for new openbabel (2.3.0) - -* Tue Nov 23 2010 Kevin Kofler - 1.0.1-10 -- fix crash with current SIP and Python 2.7 (#642248) - -* Wed Sep 29 2010 jkeating - 1.0.1-9 -- Rebuilt for gcc bug 634757 - -* Tue Sep 14 2010 Kevin Kofler - 1.0.1-8 -- fix FTBFS with SIP 4.11 (Gentoo#335644) - -* Thu Sep 09 2010 Rex Dieter - 1.0.1-7 -- rebuild(sip) - -* Sun Aug 22 2010 Kevin Kofler - 1.0.1-6 -- -devel: Requires: glew-devel python-devel boost-devel - -* Sun Aug 22 2010 Kevin Kofler - 1.0.1-5 -- use CMAKE_SKIP_RPATH because we end up with rpaths otherwise -- disable tests because they don't work in Koji anyway - -* Sun Aug 22 2010 Kevin Kofler - 1.0.1-4 -- fix paths in AvogadroConfig.cmake -- fix packaging of translations - -* Wed Aug 04 2010 Rahul Sundaram - 1.0.1-3 -- Rebuild for Boost soname bump - -* Wed Jul 21 2010 David Malcolm - 1.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild - -* Mon May 24 2010 Rex Dieter - 1.0.1-1 -- avogadro-1.0.1 -- -devel: move cmake-related files here -- -devel: Req: qt4-devel -- %%files: track lib sonames -- %%check section - -* Wed Feb 10 2010 Kevin Kofler - 1.0.0-6 -- reenable plugin builds and libs subpackage -- fix their build with sip 4.10 - -* Fri Jan 08 2010 Sebastian Dziallas - 1.0.0-5 -- disable plugin builds and libs subpackage - -* Thu Jan 07 2010 Rex Dieter - 1.0.0-4 -- rebuild (sip) - -* Mon Nov 23 2009 Rex Dieter - 1.0.0-3 -- rebuild (for qt-4.6.0-rc1, f13+) - -* Mon Nov 16 2009 Rex Dieter - 1.0.0-2 -- -libs: Requires: sip-api(%%_sip_api_major) >= %%_sip_api (#538124) -- Requires: %%{name}-libs ... - -* Thu Oct 29 2009 Sebastian Dziallas 1.0.0-1 -- update to new upstream release - -* Tue Oct 20 2009 Rex Dieter 0.9.8-3 -- rebuild (eigen2) - -* Sat Sep 26 2009 Sebastian Dziallas 0.9.8-2 -- fix typo in file list - -* Sat Sep 26 2009 Sebastian Dziallas 0.9.8-1 -- update to new upstream release -- enable python and glsl support again - -* Fri Jul 24 2009 Fedora Release Engineering - 0.9.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Sat Jun 06 2009 Sebastian Dziallas 0.9.6-1 -- new upstream release to fix issue with qt 4.5.0 and earlier - -* Wed Jun 03 2009 Sebastian Dziallas 0.9.5-3 -- remove remaining python parts -- fix files section finally - -* Wed Jun 03 2009 Sebastian Dziallas 0.9.5-2 -- disable python and glsl for now -- fix files section - -* Wed Jun 03 2009 Sebastian Dziallas 0.9.5-1 -- update to new release - -* Tue May 12 2009 Sebastian Dziallas 0.9.4-1 -- update to new release - -* Fri Apr 10 2009 Sebastian Dziallas 0.9.3-1 -- update to new release - -* Sat Mar 21 2009 Sebastian Dziallas 0.9.2-2 -- get desktop file properly installed - -* Sat Mar 14 2009 Sebastian Dziallas 0.9.2-1 -- update to new release - -* Wed Feb 25 2009 Sebastian Dziallas 0.9.1-1 -- update to new release - -* Mon Feb 23 2009 Fedora Release Engineering - 0.9.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Thu Jan 22 2009 Sebastian Dziallas 0.9.0-1 -- update to new release - -* Sun Sep 14 2008 Sebastian Dziallas 0.8.1-6 -- add handbook to docs - -* Sun Sep 14 2008 Sebastian Dziallas 0.8.1-5 -- add build requirements and fix group names - -* Wed Aug 13 2008 Sebastian Dziallas 0.8.1-4 -- fix typos - -* Sat Aug 9 2008 Sebastian Dziallas 0.8.1-3 -- reorganize spec file - -* Sat Aug 9 2008 Sebastian Dziallas 0.8.1-2 -- rename shared library package and structure spec file - -* Sun Aug 3 2008 Sebastian Dziallas 0.8.1-1 -- initial pacakging release based on PackMan release - diff --git a/avogadro_eigen3.patch b/avogadro_eigen3.patch deleted file mode 100644 index e2b3693..0000000 --- a/avogadro_eigen3.patch +++ /dev/null @@ -1,896 +0,0 @@ -diff -rupN avogadro-1.2.0/avogadro/src/CMakeLists.txt avogadro-1.2.0-new/avogadro/src/CMakeLists.txt ---- avogadro-1.2.0/avogadro/src/CMakeLists.txt 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/avogadro/src/CMakeLists.txt 2018-01-03 14:47:08.649568522 +0100 -@@ -22,15 +22,9 @@ include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ) - --if(EIGEN3_FOUND) -- include_directories( -- ${EIGEN3_INCLUDE_DIR} -- ) --elseif(EIGEN2_FOUND) -- include_directories( -- ${EIGEN2_INCLUDE_DIR} -- ) --endif(EIGEN3_FOUND) -+include_directories( -+ ${EIGEN3_INCLUDE_DIR} -+) - - if(GLEW_FOUND) - include_directories(${GLEW_INCLUDE_DIR}) -diff -rupN avogadro-1.2.0/avogadro/src/mainwindow.cpp avogadro-1.2.0-new/avogadro/src/mainwindow.cpp ---- avogadro-1.2.0/avogadro/src/mainwindow.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/avogadro/src/mainwindow.cpp 2018-01-03 14:45:25.170574246 +0100 -@@ -115,7 +115,6 @@ - #include - - #include --#include - #define USEQUAT - // This is a "hidden" exported Qt function on the Mac for Qt-4.x. - #ifdef Q_WS_MAC -@@ -2775,7 +2774,7 @@ protected: - linearGoal.row(1) = linearGoal.row(2).cross(linearGoal.row(0)); - - // calculate the translation matrix -- Transform3d goal(linearGoal); -+ Projective3d goal(linearGoal); - - goal.pretranslate(- 3.0 * (d->glWidget->radius() + CAMERA_NEAR_DISTANCE) * Vector3d::UnitZ()); - -@@ -2840,7 +2839,7 @@ protected: - Matrix3d linearGoal = Matrix3d::Identity(); - - // calculate the translation matrix -- Transform3d goal(linearGoal); -+ Projective3d goal(linearGoal); - - goal.pretranslate(- 3.0 * (d->glWidget->radius() + CAMERA_NEAR_DISTANCE) * Vector3d::UnitZ()); - -diff -rupN avogadro-1.2.0/CMakeLists.txt avogadro-1.2.0-new/CMakeLists.txt ---- avogadro-1.2.0/CMakeLists.txt 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/CMakeLists.txt 2018-01-03 14:48:31.478563940 +0100 -@@ -231,14 +231,7 @@ 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 --if(NOT EIGEN3_FOUND) -- message(STATUS "Cannot find Eigen3, trying Eigen2") -- find_package(Eigen2 REQUIRED) # Some version is required --else() --# Use Stage10 Eigen3 support -- set (EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API TRUE) --endif() -+find_package(Eigen3 REQUIRED) # find and setup Eigen3 - - find_package(ZLIB REQUIRED) - find_package(OpenBabel2 REQUIRED) # find and setup OpenBabel -@@ -473,7 +466,6 @@ install(FILES - - # Install the find modules we require to be present - install(FILES -- "${CMAKE_MODULE_PATH}/FindEigen2.cmake" - "${CMAKE_MODULE_PATH}/FindEigen3.cmake" - "${CMAKE_MODULE_PATH}/FindGLEW.cmake" - DESTINATION "${Avogadro_PLUGIN_INSTALL_DIR}/cmake") -diff -rupN avogadro-1.2.0/libavogadro/src/camera.cpp avogadro-1.2.0-new/libavogadro/src/camera.cpp ---- avogadro-1.2.0/libavogadro/src/camera.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/camera.cpp 2018-01-03 14:45:25.171574246 +0100 -@@ -47,7 +47,7 @@ namespace Avogadro - - CameraPrivate() {}; - -- Eigen::Transform3d modelview, projection; -+ Eigen::Projective3d modelview, projection; - const GLWidget *parent; - double angleOfViewY; - double orthoScale; -@@ -169,20 +169,20 @@ namespace Avogadro - - double Camera::distance(const Eigen::Vector3d & point) const - { -- return ( d->modelview * point ).norm(); -+ return ( d->modelview * point.homogeneous() ).head<3>().norm(); - } - -- void Camera::setModelview(const Eigen::Transform3d &matrix) -+ void Camera::setModelview(const Eigen::Projective3d &matrix) - { - d->modelview = matrix; - } - -- const Eigen::Transform3d & Camera::modelview() const -+ const Eigen::Projective3d & Camera::modelview() const - { - return d->modelview; - } - -- Eigen::Transform3d & Camera::modelview() -+ Eigen::Projective3d & Camera::modelview() - { - return d->modelview; - } -diff -rupN avogadro-1.2.0/libavogadro/src/camera.h avogadro-1.2.0-new/libavogadro/src/camera.h ---- avogadro-1.2.0/libavogadro/src/camera.h 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/camera.h 2018-01-03 14:45:25.171574246 +0100 -@@ -101,16 +101,16 @@ namespace Avogadro { - double angleOfViewY() const; - /** Sets 4x4 "modelview" matrix representing the camera orientation and position. - * @param matrix the matrix to copy from -- * @sa Eigen::Transform3d & modelview(), applyModelview() */ -- void setModelview(const Eigen::Transform3d &matrix); -+ * @sa Eigen::Projective3d & modelview(), applyModelview() */ -+ void setModelview(const Eigen::Projective3d &matrix); - /** @return a constant reference to the 4x4 "modelview" matrix representing - * the camera orientation and position -- * @sa setModelview(), Eigen::Transform3d & modelview() */ -- const Eigen::Transform3d & modelview() const; -+ * @sa setModelview(), Eigen::Projective3d & modelview() */ -+ const Eigen::Projective3d & modelview() const; - /** @return a non-constant reference to the 4x4 "modelview" matrix representing - * the camera orientation and position -- * @sa setModelview(), const Eigen::Transform3d & modelview() const */ -- Eigen::Transform3d & modelview(); -+ * @sa setModelview(), const Eigen::Projective3d & modelview() const */ -+ Eigen::Projective3d & modelview(); - /** Calls gluPerspective() or glOrtho() with parameters automatically chosen - * for rendering the GLWidget's molecule with this camera. Should be called - * only in GL_PROJECTION matrix mode. Example code is given -@@ -342,7 +342,7 @@ namespace Avogadro { - * @return {x/w, y/w, z/w} vector - */ - Eigen::Vector3d V4toV3DivW(const Eigen::Vector4d & v4) { -- return v4.start<3>()/v4.w(); -+ return v4.head<3>()/v4.w(); - } - }; - -diff -rupN avogadro-1.2.0/libavogadro/src/CMakeLists.txt avogadro-1.2.0-new/libavogadro/src/CMakeLists.txt ---- avogadro-1.2.0/libavogadro/src/CMakeLists.txt 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/CMakeLists.txt 2018-01-03 14:48:09.786565140 +0100 -@@ -14,15 +14,9 @@ include_directories( - ${OPENBABEL2_INCLUDE_DIR} - ) - --if(EIGEN3_FOUND) -- include_directories( -- ${EIGEN3_INCLUDE_DIR} -- ) --elseif(EIGEN2_FOUND) -- include_directories( -- ${EIGEN2_INCLUDE_DIR} -- ) --endif(EIGEN3_FOUND) -+include_directories( -+ ${EIGEN3_INCLUDE_DIR} -+) - - # I think this is necessary now in order to tell the linker where openbabel is - link_directories(${OPENBABEL2_LIBRARY_DIRS}) -diff -rupN avogadro-1.2.0/libavogadro/src/engines/wireengine.cpp avogadro-1.2.0-new/libavogadro/src/engines/wireengine.cpp ---- avogadro-1.2.0/libavogadro/src/engines/wireengine.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/engines/wireengine.cpp 2018-01-03 14:45:25.171574246 +0100 -@@ -109,7 +109,7 @@ namespace Avogadro { - const Camera *camera = pd->camera(); - - // perform a rough form of frustum culling -- Eigen::Vector3d transformedPos = pd->camera()->modelview() * v; -+ Eigen::Vector3d transformedPos = (pd->camera()->modelview() * v.homogeneous()).head<3>(); - double dot = transformedPos.z() / transformedPos.norm(); - if(dot > -0.8) - return true; -@@ -167,7 +167,7 @@ namespace Avogadro { - map = pd->colorMap(); // fall back to global color map - - // perform a rough form of frustum culling -- Eigen::Vector3d transformedEnd1 = pd->camera()->modelview() * v1; -+ Eigen::Vector3d transformedEnd1 = (pd->camera()->modelview() * v1.homogeneous()).head<3>(); - double dot = transformedEnd1.z() / transformedEnd1.norm(); - if(dot > -0.8) - return true; // i.e., don't bother rendering -diff -rupN avogadro-1.2.0/libavogadro/src/extensions/crystallography/crystallographyextension.cpp avogadro-1.2.0-new/libavogadro/src/extensions/crystallography/crystallographyextension.cpp ---- avogadro-1.2.0/libavogadro/src/extensions/crystallography/crystallographyextension.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/extensions/crystallography/crystallographyextension.cpp 2018-01-03 14:45:25.172574245 +0100 -@@ -1989,7 +1989,7 @@ namespace Avogadro - // fix coordinates - // Apply COB matrix: - Eigen::Matrix3d invCob; -- cob.computeInverse(&invCob); -+ invCob = cob.inverse(); - for (QList::iterator - it = fcoords.begin(), - it_end = fcoords.end(); -diff -rupN avogadro-1.2.0/libavogadro/src/extensions/crystallography/ui/ceviewoptionswidget.cpp avogadro-1.2.0-new/libavogadro/src/extensions/crystallography/ui/ceviewoptionswidget.cpp ---- avogadro-1.2.0/libavogadro/src/extensions/crystallography/ui/ceviewoptionswidget.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/extensions/crystallography/ui/ceviewoptionswidget.cpp 2018-01-03 14:45:25.173574245 +0100 -@@ -139,7 +139,7 @@ namespace Avogadro - { - // View into a Miller plane - Camera *camera = m_glWidget->camera(); -- Eigen::Transform3d modelView; -+ Eigen::Projective3d modelView; - modelView.setIdentity(); - - // OK, so we want to rotate to look along the normal at the plane -diff -rupN avogadro-1.2.0/libavogadro/src/extensions/orca/orcaanalysedialog.cpp avogadro-1.2.0-new/libavogadro/src/extensions/orca/orcaanalysedialog.cpp ---- avogadro-1.2.0/libavogadro/src/extensions/orca/orcaanalysedialog.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/extensions/orca/orcaanalysedialog.cpp 2018-01-03 14:45:25.173574245 +0100 -@@ -41,7 +41,6 @@ - #include - - #include --#include - - #include - -diff -rupN avogadro-1.2.0/libavogadro/src/extensions/orca/orcainputdialog.cpp avogadro-1.2.0-new/libavogadro/src/extensions/orca/orcainputdialog.cpp ---- avogadro-1.2.0/libavogadro/src/extensions/orca/orcainputdialog.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/extensions/orca/orcainputdialog.cpp 2018-01-03 14:45:25.174574245 +0100 -@@ -33,7 +33,6 @@ - #include - - #include --#include - - #include - -diff -rupN avogadro-1.2.0/libavogadro/src/extensions/qtaim/qtaimmathutilities.cpp avogadro-1.2.0-new/libavogadro/src/extensions/qtaim/qtaimmathutilities.cpp ---- avogadro-1.2.0/libavogadro/src/extensions/qtaim/qtaimmathutilities.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/extensions/qtaim/qtaimmathutilities.cpp 2018-01-03 14:45:25.174574245 +0100 -@@ -28,6 +28,7 @@ - - #include - #include -+#include - - namespace Avogadro { - namespace QTAIMMathUtilities { -diff -rupN avogadro-1.2.0/libavogadro/src/extensions/qtaim/qtaimwavefunctionevaluator.cpp avogadro-1.2.0-new/libavogadro/src/extensions/qtaim/qtaimwavefunctionevaluator.cpp ---- avogadro-1.2.0/libavogadro/src/extensions/qtaim/qtaimwavefunctionevaluator.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/extensions/qtaim/qtaimwavefunctionevaluator.cpp 2018-01-03 14:45:25.186574245 +0100 -@@ -35,21 +35,21 @@ namespace Avogadro - m_nprim=wfn.numberOfGaussianPrimitives(); - m_nnuc=wfn.numberOfNuclei(); - -- m_nucxcoord=Map >(wfn.xNuclearCoordinates(),m_nnuc); -- m_nucycoord=Map >(wfn.yNuclearCoordinates(),m_nnuc); -- m_nuczcoord=Map >(wfn.zNuclearCoordinates(),m_nnuc); -- m_nucz=Map >(wfn.nuclearCharges(),m_nnuc); -- m_X0=Map >(wfn.xGaussianPrimitiveCenterCoordinates(),m_nprim,1); -- m_Y0=Map >(wfn.yGaussianPrimitiveCenterCoordinates(),m_nprim,1); -- m_Z0=Map >(wfn.zGaussianPrimitiveCenterCoordinates(),m_nprim,1); -- m_xamom=Map >(wfn.xGaussianPrimitiveAngularMomenta(),m_nprim,1); -- m_yamom=Map >(wfn.yGaussianPrimitiveAngularMomenta(),m_nprim,1); -- m_zamom=Map >(wfn.zGaussianPrimitiveAngularMomenta(),m_nprim,1); -- m_alpha=Map >(wfn.gaussianPrimitiveExponentCoefficients(),m_nprim,1); -+ m_nucxcoord=Map >(wfn.xNuclearCoordinates(),m_nnuc); -+ m_nucycoord=Map >(wfn.yNuclearCoordinates(),m_nnuc); -+ m_nuczcoord=Map >(wfn.zNuclearCoordinates(),m_nnuc); -+ m_nucz=Map >(wfn.nuclearCharges(),m_nnuc); -+ m_X0=Map >(wfn.xGaussianPrimitiveCenterCoordinates(),m_nprim,1); -+ m_Y0=Map >(wfn.yGaussianPrimitiveCenterCoordinates(),m_nprim,1); -+ m_Z0=Map >(wfn.zGaussianPrimitiveCenterCoordinates(),m_nprim,1); -+ m_xamom=Map >(wfn.xGaussianPrimitiveAngularMomenta(),m_nprim,1); -+ m_yamom=Map >(wfn.yGaussianPrimitiveAngularMomenta(),m_nprim,1); -+ m_zamom=Map >(wfn.zGaussianPrimitiveAngularMomenta(),m_nprim,1); -+ m_alpha=Map >(wfn.gaussianPrimitiveExponentCoefficients(),m_nprim,1); - // TODO Implement screening for unoccupied molecular orbitals. -- m_occno=Map >(wfn.molecularOrbitalOccupationNumbers(),m_nmo,1); -- m_orbe=Map >(wfn.molecularOrbitalEigenvalues(),m_nmo,1); -- m_coef=Map >(wfn.molecularOrbitalCoefficients(),m_nmo,m_nprim); -+ m_occno=Map >(wfn.molecularOrbitalOccupationNumbers(),m_nmo,1); -+ m_orbe=Map >(wfn.molecularOrbitalEigenvalues(),m_nmo,1); -+ m_coef=Map >(wfn.molecularOrbitalCoefficients(),m_nmo,m_nprim); - m_totalEnergy=wfn.totalEnergy(); - m_virialRatio=wfn.virialRatio(); - -diff -rupN avogadro-1.2.0/libavogadro/src/extensions/surfaces/openqube/CMakeLists.txt avogadro-1.2.0-new/libavogadro/src/extensions/surfaces/openqube/CMakeLists.txt ---- avogadro-1.2.0/libavogadro/src/extensions/surfaces/openqube/CMakeLists.txt 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/extensions/surfaces/openqube/CMakeLists.txt 2018-01-03 14:47:58.215565780 +0100 -@@ -1,13 +1,6 @@ - find_package(Qt4 4.6 REQUIRED) --find_package(Eigen3) --if(NOT EIGEN3_FOUND) -- message(STATUS "Cannot find Eigen3, trying Eigen2") -- find_package(Eigen2 REQUIRED) --else() -- set (EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API TRUE) --endif() - --include_directories(${QT_INCLUDE_DIR} ${EIGEN2_INCLUDE_DIR}) -+include_directories(${QT_INCLUDE_DIR} ${EIGEN3_INCLUDE_DIR}) - - # Headers for our public API - set(openqube_HDRS -diff -rupN avogadro-1.2.0/libavogadro/src/extensions/surfaces/openqube/gamessukout.cpp avogadro-1.2.0-new/libavogadro/src/extensions/surfaces/openqube/gamessukout.cpp ---- avogadro-1.2.0/libavogadro/src/extensions/surfaces/openqube/gamessukout.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/extensions/surfaces/openqube/gamessukout.cpp 2018-01-03 14:45:25.176574245 +0100 -@@ -19,6 +19,7 @@ - using Eigen::Vector3d; - using std::vector; - -+#include - #include - - namespace OpenQube -diff -rupN avogadro-1.2.0/libavogadro/src/extensions/surfaces/openqube/slaterset.cpp avogadro-1.2.0-new/libavogadro/src/extensions/surfaces/openqube/slaterset.cpp ---- avogadro-1.2.0/libavogadro/src/extensions/surfaces/openqube/slaterset.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/extensions/surfaces/openqube/slaterset.cpp 2018-01-03 14:45:25.187574245 +0100 -@@ -25,9 +25,9 @@ - - #include "cube.h" - --#include - #include - #include -+#include - - #include - -@@ -250,7 +250,9 @@ bool SlaterSet::initialize() - - SelfAdjointEigenSolver s(m_overlap); - MatrixXd p = s.eigenvectors(); -- MatrixXd m = p * s.eigenvalues().cwise().inverse().cwise().sqrt().asDiagonal() * p.inverse(); -+ -+ MatrixXd m = p * s.eigenvalues().array().inverse().sqrt().matrix().asDiagonal() * p.inverse(); -+ - m_normalized = m * m_eigenVectors; - - if (!(m_overlap*m*m).isIdentity()) -diff -rupN avogadro-1.2.0/libavogadro/src/glpainter_p.cpp avogadro-1.2.0-new/libavogadro/src/glpainter_p.cpp ---- avogadro-1.2.0/libavogadro/src/glpainter_p.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/glpainter_p.cpp 2018-01-03 14:45:25.177574245 +0100 -@@ -789,13 +789,13 @@ namespace Avogadro - } else { - points[theta-1] = Eigen::AngleAxisd(theta * (M_PI / 180.0) / 2, n) * u; - } -- points[theta-1] = d->widget->camera()->modelview() * (origin + points[theta-1]); -+ points[theta-1] = (d->widget->camera()->modelview() * (origin + points[theta-1]).homogeneous()).head<3>(); - } - - // Get vectors representing the points' positions in terms of the model view. -- Eigen::Vector3d _origin = d->widget->camera()->modelview() * origin; -- Eigen::Vector3d _direction1 = d->widget->camera()->modelview() * (origin+u); -- Eigen::Vector3d _direction2 = d->widget->camera()->modelview() * (origin+v); -+ Eigen::Vector3d _origin = (d->widget->camera()->modelview() * origin.homogeneous()).head<3>(); -+ Eigen::Vector3d _direction1 = (d->widget->camera()->modelview() * (origin+u).homogeneous()).head<3>(); -+ Eigen::Vector3d _direction2 = (d->widget->camera()->modelview() * (origin+v).homogeneous()).head<3>(); - - glPushAttrib(GL_ALL_ATTRIB_BITS); - glPushMatrix(); -@@ -880,12 +880,12 @@ namespace Avogadro - } else { - points[theta-1] = Eigen::AngleAxisd(theta * (M_PI / 180.0) / 2, n) * u; - } -- points[theta-1] = d->widget->camera()->modelview() * (origin + points[theta-1]); -+ points[theta-1] = (d->widget->camera()->modelview() * (origin + points[theta-1]).homogeneous()).head<3>(); - } - - // Get vectors representing the points' positions in terms of the model view. -- Eigen::Vector3d _direction1 = d->widget->camera()->modelview() * (origin + u); -- Eigen::Vector3d _direction2 = d->widget->camera()->modelview() * (origin + v); -+ Eigen::Vector3d _direction1 = (d->widget->camera()->modelview() * (origin + u).homogeneous()).head<3>(); -+ Eigen::Vector3d _direction2 = (d->widget->camera()->modelview() * (origin + v).homogeneous()).head<3>(); - - glPushAttrib(GL_ALL_ATTRIB_BITS); - glPushMatrix(); -diff -rupN avogadro-1.2.0/libavogadro/src/glwidget.cpp avogadro-1.2.0-new/libavogadro/src/glwidget.cpp ---- avogadro-1.2.0/libavogadro/src/glwidget.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/glwidget.cpp 2018-01-03 14:45:25.178574245 +0100 -@@ -765,7 +765,7 @@ namespace Avogadro { - GLfloat fogColor[4]= {static_cast(d->background.redF()), static_cast(d->background.greenF()), - static_cast(d->background.blueF()), static_cast(d->background.alphaF())}; - glFogfv(GL_FOG_COLOR, fogColor); -- Vector3d distance = camera()->modelview() * d->center; -+ Vector3d distance = (camera()->modelview() * d->center.homogeneous()).head<3>(); - double distanceToCenter = distance.norm(); - glFogf(GL_FOG_DENSITY, 1.0); - glHint(GL_FOG_HINT, GL_NICEST); -@@ -1711,7 +1711,7 @@ namespace Avogadro { - - if (d->renderModelViewDebug) { - // Model view matrix: -- const Eigen::Transform3d &modelview = d->camera->modelview(); -+ const Eigen::Projective3d &modelview = d->camera->modelview(); - y += d->pd->painter()->drawText - (x, y, tr("ModelView row 1: %L1 %L2 %L3 %L4") - .arg(modelview(0, 0), 6, 'f', 2, ' ') -diff -rupN avogadro-1.2.0/libavogadro/src/leastsquares.h avogadro-1.2.0-new/libavogadro/src/leastsquares.h ---- avogadro-1.2.0/libavogadro/src/leastsquares.h 1970-01-01 01:00:00.000000000 +0100 -+++ avogadro-1.2.0-new/libavogadro/src/leastsquares.h 2018-01-03 14:45:25.187574245 +0100 -@@ -0,0 +1,74 @@ -+/********************************************************************** -+ LeastSquares - Least squares functions removed from Eigen2 codebase -+ -+ Copyright (C) 2006-2009 Benoit Jacob -+ -+ This file is part of the Avogadro molecular editor project. -+ For more information, see -+ -+ Avogadro is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ Avogadro is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -+ 02110-1301, USA. -+ **********************************************************************/ -+ -+#ifndef LEASTSQUARES_H -+#define LEASTSQUARES_H -+ -+#include -+ -+namespace Avogadro -+{ -+ -+template -+void fitHyperplane(int numPoints, -+ VectorType **points, -+ HyperplaneType *result, -+ typename Eigen::NumTraits::Real* soundness = 0) -+{ -+ typedef typename VectorType::Scalar Scalar; -+ typedef Eigen::Matrix CovMatrixType; -+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(VectorType) -+ assert(numPoints >= 1); -+ int size = points[0]->size(); -+ assert(size+1 == result->coeffs().size()); -+ -+ // compute the mean of the data -+ VectorType mean = VectorType::Zero(size); -+ for(int i = 0; i < numPoints; ++i) -+ mean += *(points[i]); -+ mean /= numPoints; -+ -+ // compute the covariance matrix -+ CovMatrixType covMat = CovMatrixType::Zero(size, size); -+ VectorType remean = VectorType::Zero(size); -+ for(int i = 0; i < numPoints; ++i) -+ { -+ VectorType diff = (*(points[i]) - mean).conjugate(); -+ covMat += diff * diff.adjoint(); -+ } -+ -+ // now we just have to pick the eigen vector with smallest eigen value -+ Eigen::SelfAdjointEigenSolver eig(covMat); -+ result->normal() = eig.eigenvectors().col(0); -+ if (soundness) -+ *soundness = eig.eigenvalues().coeff(0)/eig.eigenvalues().coeff(1); -+ -+ // let's compute the constant coefficient such that the -+ // plane pass trough the mean point: -+ result->offset() = - (result->normal().array() * mean.array()).sum(); -+} -+ -+} // end namespace Avogadro -+ -+#endif -diff -rupN avogadro-1.2.0/libavogadro/src/molecule.cpp avogadro-1.2.0-new/libavogadro/src/molecule.cpp ---- avogadro-1.2.0/libavogadro/src/molecule.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/molecule.cpp 2018-01-03 14:45:25.188574245 +0100 -@@ -36,9 +36,9 @@ - #include "primitivelist.h" - #include "residue.h" - #include "zmatrix.h" -+#include "leastsquares.h" - - #include --#include - - #include - -@@ -1908,7 +1908,8 @@ namespace Avogadro{ - } - d->center /= static_cast(nAtoms); - Eigen::Hyperplane planeCoeffs; -- Eigen::fitHyperplane(numAtoms(), atomPositions, &planeCoeffs); -+ fitHyperplane(numAtoms(), atomPositions, &planeCoeffs); -+ - delete[] atomPositions; - d->normalVector = planeCoeffs.normal(); - } -diff -rupN avogadro-1.2.0/libavogadro/src/navigate.cpp avogadro-1.2.0-new/libavogadro/src/navigate.cpp ---- avogadro-1.2.0/libavogadro/src/navigate.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/navigate.cpp 2018-01-03 14:45:25.179574245 +0100 -@@ -40,7 +40,7 @@ namespace Avogadro { - void Navigate::zoom(GLWidget *widget, const Eigen::Vector3d &goal, - double delta) - { -- Vector3d transformedGoal = widget->camera()->modelview() * goal; -+ Vector3d transformedGoal = (widget->camera()->modelview() * goal.homogeneous()).head<3>(); - double distanceToGoal = transformedGoal.norm(); - - double t = ZOOM_SPEED * delta; -diff -rupN avogadro-1.2.0/libavogadro/src/python/camera.cpp avogadro-1.2.0-new/libavogadro/src/python/camera.cpp ---- avogadro-1.2.0/libavogadro/src/python/camera.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/python/camera.cpp 2018-01-03 14:45:25.181574245 +0100 -@@ -10,7 +10,7 @@ using namespace Avogadro; - void export_Camera() - { - -- const Eigen::Transform3d& (Camera::*modelview_ptr)() const = &Camera::modelview; -+ const Eigen::Projective3d& (Camera::*modelview_ptr)() const = &Camera::modelview; - Eigen::Vector3d (Camera::*unProject_ptr1)(const Eigen::Vector3d&) const = &Camera::unProject; - Eigen::Vector3d (Camera::*unProject_ptr2)(const QPoint&, const Eigen::Vector3d&) const = &Camera::unProject; - Eigen::Vector3d (Camera::*unProject_ptr3)(const QPoint&) const = &Camera::unProject; -diff -rupN avogadro-1.2.0/libavogadro/src/python/eigen.cpp avogadro-1.2.0-new/libavogadro/src/python/eigen.cpp ---- avogadro-1.2.0/libavogadro/src/python/eigen.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/python/eigen.cpp 2018-01-03 14:45:25.182574245 +0100 -@@ -305,9 +305,9 @@ template <> struct ScalarTraits - struct innerclass - { - // -- // Eigen::Transform3d --> python array (4x4) -+ // Eigen::Projective3d --> python array (4x4) - // -- static PyObject* convert(Eigen::Transform3d const &trans) -+ static PyObject* convert(Eigen::Projective3d const &trans) - { - npy_intp dims[2] = { 4, 4 }; - PyObject *result = PyArray_SimpleNew(2, dims, PyArray_DOUBLE); -@@ -321,9 +321,9 @@ template <> struct ScalarTraits - return incref(result); - } - // -- // Eigen::Transform3d* --> python array (4x4) -+ // Eigen::Projective3d* --> python array (4x4) - // -- static PyObject* convert(Eigen::Transform3d *trans) -+ static PyObject* convert(Eigen::Projective3d *trans) - { - npy_intp dims[2] = { 4, 4 }; - PyObject *result = PyArray_SimpleNew(2, dims, PyArray_DOUBLE); -@@ -337,9 +337,9 @@ template <> struct ScalarTraits - return incref(result); - } - // -- // const Eigen::Transform3d* --> python array (4x4) -+ // const Eigen::Projective3d* --> python array (4x4) - // -- static PyObject* convert(const Eigen::Transform3d *trans) -+ static PyObject* convert(const Eigen::Projective3d *trans) - { - npy_intp dims[2] = { 4, 4 }; - PyObject *result = PyArray_SimpleNew(2, dims, PyArray_DOUBLE); -@@ -358,10 +358,10 @@ template <> struct ScalarTraits - Transform3d_to_python_array() - { - #ifndef WIN32 -- to_python_converter(); -+ to_python_converter(); - #endif -- to_python_converter(); -- to_python_converter(); -+ to_python_converter(); -+ to_python_converter(); - } - - }; -@@ -373,17 +373,17 @@ template <> struct ScalarTraits - // Insert an rvalue from_python converter at the tail of the - // chain. Used for implicit conversions - // -- // python array --> Eigen::Transform3d -+ // python array --> Eigen::Projective3d - // - // used for: - // -- // void function(Eigen::Transform3d vec) -- // void function(Eigen::Transform3d & vec) -- // void function(const Eigen::Transform3d & vec) -+ // void function(Eigen::Projective3d vec) -+ // void function(Eigen::Projective3d & vec) -+ // void function(const Eigen::Projective3d & vec) - // -- converter::registry::push_back( &convertible, &construct, type_id() ); -+ converter::registry::push_back( &convertible, &construct, type_id() ); - -- converter::registry::insert( &convert, type_id() ); -+ converter::registry::insert( &convert, type_id() ); - } - - static void* convert(PyObject *obj_ptr) -@@ -401,7 +401,7 @@ template <> struct ScalarTraits - throw_error_already_set(); // the 1D array does not have exactly 3 elements - - double *values = reinterpret_cast(array->data); -- Eigen::Transform3d *c_obj = new Eigen::Transform3d(); -+ Eigen::Projective3d *c_obj = new Eigen::Projective3d(); - double *dataPtr = c_obj->data(); - - for (int i = 0; i < 16; ++i) -@@ -432,7 +432,7 @@ template <> struct ScalarTraits - // I think this is a better way to get at the double array, where is this - // deleted though? Does Boost::Python do it? - double *values = reinterpret_cast(array->data); -- Eigen::Transform3d *storage = new Eigen::Transform3d(); -+ Eigen::Projective3d *storage = new Eigen::Projective3d(); - double *dataPtr = storage->data(); - - for (int i = 0; i < 16; ++i) -@@ -467,21 +467,21 @@ class EigenUnitTestHelper - void set_vector3d_ptr(Eigen::Vector3d* vec) { m_vector3d = *vec; } - void set_const_vector3d_ptr(const Eigen::Vector3d* const vec) { m_vector3d = *vec; } - -- //Eigen::Transform3d transform3d() { return m_transform3d; } -- //Eigen::Transform3d& transform3d_ref() { return m_transform3d; } -- const Eigen::Transform3d& const_transform3d_ref() { return m_transform3d; } -- Eigen::Transform3d* transform3d_ptr() { return &m_transform3d; } -- const Eigen::Transform3d* const_transform3d_ptr() { return &m_transform3d; } -- -- //void set_transform3d(Eigen::Transform3d vec) { m_transform3d = vec; } -- //void set_transform3d_ref(Eigen::Transform3d& vec) { m_transform3d = vec; } -- void set_const_transform3d_ref(const Eigen::Transform3d& vec) { m_transform3d = vec; } -- void set_transform3d_ptr(Eigen::Transform3d* vec) { m_transform3d = *vec; } -- void set_const_transform3d_ptr(const Eigen::Transform3d* const vec) { m_transform3d = *vec; } -+ //Eigen::Projective3d transform3d() { return m_transform3d; } -+ //Eigen::Projective3d& transform3d_ref() { return m_transform3d; } -+ const Eigen::Projective3d& const_transform3d_ref() { return m_transform3d; } -+ Eigen::Projective3d* transform3d_ptr() { return &m_transform3d; } -+ const Eigen::Projective3d* const_transform3d_ptr() { return &m_transform3d; } -+ -+ //void set_transform3d(Eigen::Projective3d vec) { m_transform3d = vec; } -+ //void set_transform3d_ref(Eigen::Projective3d& vec) { m_transform3d = vec; } -+ void set_const_transform3d_ref(const Eigen::Projective3d& vec) { m_transform3d = vec; } -+ void set_transform3d_ptr(Eigen::Projective3d* vec) { m_transform3d = *vec; } -+ void set_const_transform3d_ptr(const Eigen::Projective3d* const vec) { m_transform3d = *vec; } - - private: - Eigen::Vector3d m_vector3d; -- Eigen::Transform3d m_transform3d; -+ Eigen::Projective3d m_transform3d; - - }; - #endif -@@ -529,7 +529,7 @@ void export_Eigen() - Vector3x_to_python_array(); - Vector3x_from_python_array(); - -- // Eigen::Transform3d -+ // Eigen::Projective3d - Transform3d_to_python_array(); - Transform3d_from_python_array(); - -diff -rupN avogadro-1.2.0/libavogadro/src/tools/bondcentrictool.cpp avogadro-1.2.0-new/libavogadro/src/tools/bondcentrictool.cpp ---- avogadro-1.2.0/libavogadro/src/tools/bondcentrictool.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/tools/bondcentrictool.cpp 2018-01-03 14:45:25.188574245 +0100 -@@ -578,8 +578,13 @@ namespace Avogadro { - - Vector3d clicked = *m_clickedAtom->pos(); - -- Vector3d axis = Vector3d(0, 0, ((widget->camera()->modelview() * other).z() >= -- (widget->camera()->modelview() * center).z() ? -1 : 1)); -+ Eigen::Vector4d otherTransformedHomog = widget->camera()->modelview() * other.homogeneous(); -+ Vector3d otherTransformed = otherTransformedHomog.hnormalized(); -+ Eigen::Vector4d centerTransformedHomog = (widget->camera()->modelview() * center.homogeneous()); -+ Vector3d centerTransformed = centerTransformedHomog.hnormalized(); -+ -+ Vector3d axis = Vector3d(0, 0, (otherTransformed.z() >= -+ centerTransformed.z() ? -1 : 1)); - - Vector3d centerProj = widget->camera()->project(center); - centerProj -= Vector3d(0,0,centerProj.z()); -@@ -673,8 +678,13 @@ namespace Avogadro { - - Vector3d clicked = *m_clickedAtom->pos(); - -- Vector3d axis = Vector3d(0, 0, ((widget->camera()->modelview() * other).z() >= -- (widget->camera()->modelview() * center).z() ? -1 : 1)); -+ Eigen::Vector4d otherTransformedHomog = (widget->camera()->modelview() * other.homogeneous()); -+ Vector3d otherTransformed = otherTransformedHomog.hnormalized(); -+ Eigen::Vector4d centerTransformedHomog = (widget->camera()->modelview() * center.homogeneous()); -+ Vector3d centerTransformed = centerTransformedHomog.hnormalized(); -+ -+ Vector3d axis = Vector3d(0, 0, (otherTransformed.z() >= -+ centerTransformed.z() ? -1 : 1)); - - Vector3d centerProj = widget->camera()->project(center); - centerProj -= Vector3d(0,0,centerProj.z()); -@@ -1362,10 +1372,10 @@ namespace Avogadro { - - planeVec = length * (planeVec / planeVec.norm()); - -- Vector3d topLeft = widget->camera()->modelview() * (left + planeVec); -- Vector3d topRight = widget->camera()->modelview() * (right + planeVec); -- Vector3d botRight = widget->camera()->modelview() * (right - planeVec); -- Vector3d botLeft = widget->camera()->modelview() * (left - planeVec); -+ Vector3d topLeft = (widget->camera()->modelview() * (left + planeVec).homogeneous()).head<3>(); -+ Vector3d topRight = (widget->camera()->modelview() * (right + planeVec).homogeneous()).head<3>(); -+ Vector3d botRight = (widget->camera()->modelview() * (right - planeVec).homogeneous()).head<3>(); -+ Vector3d botLeft = (widget->camera()->modelview() * (left - planeVec).homogeneous()).head<3>(); - - float alpha = 0.4; - double lineWidth = 1.5; -@@ -1444,10 +1454,10 @@ namespace Avogadro { - C = D + ((C-D).normalized() * minWidth); - } - -- Vector3d topLeft = widget->camera()->modelview() * D; -- Vector3d topRight = widget->camera()->modelview() * C; -- Vector3d botRight = widget->camera()->modelview() * B; -- Vector3d botLeft = widget->camera()->modelview() * A; -+ Vector3d topLeft = (widget->camera()->modelview() * D.homogeneous()).head<3>(); -+ Vector3d topRight = (widget->camera()->modelview() * C.homogeneous()).head<3>(); -+ Vector3d botRight = (widget->camera()->modelview() * B.homogeneous()).head<3>(); -+ Vector3d botLeft = (widget->camera()->modelview() * A.homogeneous()).head<3>(); - - float alpha = 0.4; - double lineWidth = 1.5; -@@ -1506,12 +1516,12 @@ namespace Avogadro { - Vector3d positionVector) - { - //Rotate skeleton around a particular axis and center point -- Eigen::Transform3d rotation; -+ Eigen::Projective3d rotation; - rotation = Eigen::AngleAxisd(angle, rotationVector); - rotation.pretranslate(centerVector); - rotation.translate(-centerVector); - -- return rotation*positionVector; -+ return (rotation*positionVector.homogeneous()).head<3>(); - } - - // ########## showAnglesChanged ########## -diff -rupN avogadro-1.2.0/libavogadro/src/tools/manipulatetool.cpp avogadro-1.2.0-new/libavogadro/src/tools/manipulatetool.cpp ---- avogadro-1.2.0/libavogadro/src/tools/manipulatetool.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/tools/manipulatetool.cpp 2018-01-03 14:45:25.180574245 +0100 -@@ -40,7 +40,6 @@ - #include - - using Eigen::Vector3d; --using Eigen::Transform3d; - using Eigen::AngleAxisd; - - namespace Avogadro { -@@ -138,7 +137,7 @@ namespace Avogadro { - double yRotate = m_settingsWidget->yRotateSpinBox->value() * DEG_TO_RAD; - double zRotate = m_settingsWidget->zRotateSpinBox->value() * DEG_TO_RAD; - -- Eigen::Transform3d rotation; -+ Eigen::Projective3d rotation; - rotation.matrix().setIdentity(); - rotation.translation() = center; - rotation.rotate(AngleAxisd(xRotate, Vector3d::UnitX()) -@@ -152,12 +151,12 @@ namespace Avogadro { - if (p->type() == Primitive::AtomType) { - Atom *atom = static_cast(p); - tempPos = translate + *(atom->pos()); -- atom->setPos(rotation * tempPos); -+ atom->setPos((rotation * tempPos.homogeneous()).head<3>()); - } - } else { - foreach(Atom *atom, widget->molecule()->atoms()) { - tempPos = translate + *(atom->pos()); -- atom->setPos(rotation * tempPos); -+ atom->setPos((rotation * tempPos.homogeneous()).head<3>()); - } - } - -@@ -199,7 +198,7 @@ namespace Avogadro { - widget->setCursor(Qt::SizeVerCursor); - - // Move the selected atom(s) in to or out of the screen -- Vector3d transformedGoal = widget->camera()->modelview() * *goal; -+ Vector3d transformedGoal = (widget->camera()->modelview() * goal->homogeneous()).head<3>(); - double distanceToGoal = transformedGoal.norm(); - - double t = ZOOM_SPEED * delta; -@@ -255,7 +254,7 @@ namespace Avogadro { - - // Rotate the selected atoms about the center - // rotate only selected primitives -- Transform3d fragmentRotation; -+ Eigen::Projective3d fragmentRotation; - fragmentRotation.matrix().setIdentity(); - fragmentRotation.translation() = *center; - fragmentRotation.rotate( -@@ -266,7 +265,7 @@ namespace Avogadro { - - foreach(Primitive *p, widget->selectedPrimitives()) - if (p->type() == Primitive::AtomType) -- static_cast(p)->setPos(fragmentRotation * *static_cast(p)->pos()); -+ static_cast(p)->setPos((fragmentRotation * static_cast(p)->pos()->homogeneous()).head<3>()); - widget->molecule()->update(); - } - -@@ -274,7 +273,7 @@ namespace Avogadro { - double delta) const - { - // Tilt the selected atoms about the center -- Transform3d fragmentRotation; -+ Eigen::Projective3d fragmentRotation; - fragmentRotation.matrix().setIdentity(); - fragmentRotation.translation() = *center; - fragmentRotation.rotate(AngleAxisd(delta * ROTATION_SPEED, widget->camera()->backTransformedZAxis())); -@@ -282,7 +281,7 @@ namespace Avogadro { - - foreach(Primitive *p, widget->selectedPrimitives()) - if (p->type() == Primitive::AtomType) -- static_cast(p)->setPos(fragmentRotation * *static_cast(p)->pos()); -+ static_cast(p)->setPos((fragmentRotation * static_cast(p)->pos()->homogeneous()).head<3>()); - widget->molecule()->update(); - } - -diff -rupN avogadro-1.2.0/libavogadro/src/tools/navigatetool.cpp avogadro-1.2.0-new/libavogadro/src/tools/navigatetool.cpp ---- avogadro-1.2.0/libavogadro/src/tools/navigatetool.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/tools/navigatetool.cpp 2018-01-03 14:45:25.180574245 +0100 -@@ -92,7 +92,8 @@ namespace Avogadro { - double sumOfWeights = 0.; - QList atoms = widget->molecule()->atoms(); - foreach (Atom *atom, atoms) { -- Vector3d transformedAtomPos = widget->camera()->modelview() * *atom->pos(); -+ Vector3d transformedAtomPos = (widget->camera()->modelview() * -+ atom->pos()->homogeneous()).head<3>(); - double atomDistance = transformedAtomPos.norm(); - double dot = transformedAtomPos.z() / atomDistance; - double weight = exp(-30. * (1. + dot)); -diff -rupN avogadro-1.2.0/libavogadro/src/tools/skeletontree.cpp avogadro-1.2.0-new/libavogadro/src/tools/skeletontree.cpp ---- avogadro-1.2.0/libavogadro/src/tools/skeletontree.cpp 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/tools/skeletontree.cpp 2018-01-03 14:45:25.181574245 +0100 -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - - using namespace Eigen; - using namespace std; -@@ -221,7 +222,7 @@ namespace Avogadro { - { - if (m_rootNode) { - //Rotate skeleton around a particular axis and center point -- Eigen::Transform3d rotation; -+ Eigen::Projective3d rotation; - rotation = Eigen::AngleAxisd(angle, rotationAxis); - rotation.pretranslate(centerVector); - rotation.translate(-centerVector); -@@ -248,11 +249,11 @@ namespace Avogadro { - // ########## recursiveRotate ########## - - void SkeletonTree::recursiveRotate(Node* n, -- const Eigen::Transform3d &rotationMatrix) -+ const Eigen::Projective3d &rotationMatrix) - { - // Update the root node with the new position - Atom* a = n->atom(); -- a->setPos(rotationMatrix * (*a->pos())); -+ a->setPos((rotationMatrix * (*a->pos()).homogeneous()).head<3>()); - a->update(); - - // Now update the children -diff -rupN avogadro-1.2.0/libavogadro/src/tools/skeletontree.h avogadro-1.2.0-new/libavogadro/src/tools/skeletontree.h ---- avogadro-1.2.0/libavogadro/src/tools/skeletontree.h 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/src/tools/skeletontree.h 2018-01-03 14:45:25.181574245 +0100 -@@ -230,7 +230,7 @@ namespace Avogadro { - * @param centerVector Center location to rotate around. - */ - void recursiveRotate(Node* n, -- const Eigen::Transform3d &rotationMatrix); -+ const Eigen::Projective3d &rotationMatrix); - - }; - } // End namespace Avogadro -diff -rupN avogadro-1.2.0/libavogadro/tests/CMakeLists.txt avogadro-1.2.0-new/libavogadro/tests/CMakeLists.txt ---- avogadro-1.2.0/libavogadro/tests/CMakeLists.txt 2016-06-08 16:19:45.000000000 +0200 -+++ avogadro-1.2.0-new/libavogadro/tests/CMakeLists.txt 2018-01-03 14:46:31.890570555 +0100 -@@ -13,7 +13,7 @@ set_directory_properties(PROPERTIES INCL - include_directories( - ${CMAKE_SOURCE_DIR} - ${CMAKE_CURRENT_BINARY_DIR} -- ${EIGEN2_INCLUDE_DIR} -+ ${EIGEN3_INCLUDE_DIR} - ${OPENBABEL2_INCLUDE_DIR} - ${BOOST_PYTHON_INCLUDES} - ${PYTHON_INCLUDE_PATH} diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..7f18d58 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Obsoleted by upgrading to openbabel3 | Replaced by avogadro2 diff --git a/sources b/sources deleted file mode 100644 index 1d25cab..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (avogadro-1.2.0.tar.gz) = 5b4da7864e94e80dfb31dbcfe4806648cc078445a17939b99ce8f2f7c54a474c771bd7aa9e851b4b6783fd2042c8f17202cc34631f77e93cca6e8be53c22543f