[arch-commits] Commit in avogadro/repos (7 files)

Ionut Biru ibiru at archlinux.org
Sat Mar 3 08:08:40 UTC 2012


    Date: Saturday, March 3, 2012 @ 03:08:40
  Author: ibiru
Revision: 151802

db-move: moved avogadro from [staging] to [testing] (i686)

Added:
  avogadro/repos/testing-i686/
  avogadro/repos/testing-i686/PKGBUILD
    (from rev 151799, avogadro/repos/staging-i686/PKGBUILD)
  avogadro/repos/testing-i686/avogadro.install
    (from rev 151799, avogadro/repos/staging-i686/avogadro.install)
  avogadro/repos/testing-i686/fix-boost.patch
    (from rev 151799, avogadro/repos/staging-i686/fix-boost.patch)
  avogadro/repos/testing-i686/fix-opengl-headers.patch
    (from rev 151799, avogadro/repos/staging-i686/fix-opengl-headers.patch)
  avogadro/repos/testing-i686/replace-qt4_automoc-with-qt4_wrap_cpp.patch
    (from rev 151799, avogadro/repos/staging-i686/replace-qt4_automoc-with-qt4_wrap_cpp.patch)
Deleted:
  avogadro/repos/staging-i686/

---------------------------------------------+
 PKGBUILD                                    |   45 +
 avogadro.install                            |   11 
 fix-boost.patch                             |   33 +
 fix-opengl-headers.patch                    |   53 +
 replace-qt4_automoc-with-qt4_wrap_cpp.patch |  778 ++++++++++++++++++++++++++
 5 files changed, 920 insertions(+)

Copied: avogadro/repos/testing-i686/PKGBUILD (from rev 151799, avogadro/repos/staging-i686/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2012-03-03 08:08:40 UTC (rev 151802)
@@ -0,0 +1,45 @@
+# $Id$
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+# Contributor: Nick B <Shirakawasuna at gmail _dot_com>
+
+pkgname=avogadro
+pkgver=1.0.3
+pkgrel=5
+pkgdesc="An advanced molecular editor based on Qt"
+arch=('i686' 'x86_64')
+url="http://avogadro.openmolecules.net/wiki/Main_Page"
+license=('GPL2')
+depends=('eigen2' 'openbabel' 'python2-pyqt' 'boost-libs' 'glew' 'python2-numpy')
+makedepends=('cmake' 'boost')
+install=avogadro.install
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+        'replace-qt4_automoc-with-qt4_wrap_cpp.patch'
+        'fix-boost.patch'
+        'fix-opengl-headers.patch')
+md5sums=('92c2702c1980f70fb6d87a1a58147911'
+         'aec516daab066c15326a9681f8f15abc'
+         '46282e4709429447e44a0a54d51ad2ec'
+         'f420bfd22e3d5d8fcddc625cf5e711f6')
+
+build() {
+  cd "${srcdir}"/${pkgname}-${pkgver}
+  patch -p1 -i "${srcdir}"/replace-qt4_automoc-with-qt4_wrap_cpp.patch
+  patch -p1 -i "${srcdir}"/fix-boost.patch
+  patch -p1 -i "${srcdir}"/fix-opengl-headers.patch
+
+  cd "${srcdir}"
+  mkdir build
+  cd build
+  cmake ../${pkgname}-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DPYTHON_EXECUTABLE=/usr/bin/python2 \
+    -DQT_MKSPECS_RELATIVE=share/qt/mkspecs
+  make
+}
+
+package() {
+  cd "${srcdir}/build"
+  make DESTDIR="${pkgdir}" install
+}

Copied: avogadro/repos/testing-i686/avogadro.install (from rev 151799, avogadro/repos/staging-i686/avogadro.install)
===================================================================
--- testing-i686/avogadro.install	                        (rev 0)
+++ testing-i686/avogadro.install	2012-03-03 08:08:40 UTC (rev 151802)
@@ -0,0 +1,11 @@
+post_install() {
+  update-desktop-database -q
+}
+
+post_upgrade() {
+  post_install $1
+}
+
+post_remove() {
+  post_install $1
+}

Copied: avogadro/repos/testing-i686/fix-boost.patch (from rev 151799, avogadro/repos/staging-i686/fix-boost.patch)
===================================================================
--- testing-i686/fix-boost.patch	                        (rev 0)
+++ testing-i686/fix-boost.patch	2012-03-03 08:08:40 UTC (rev 151802)
@@ -0,0 +1,33 @@
+--- avogadro-1.0.3/libavogadro/src/CMakeLists.txt~	2011-11-29 18:33:01.777291627 +0000
++++ avogadro-1.0.3/libavogadro/src/CMakeLists.txt	2011-11-29 18:33:23.480814612 +0000
+@@ -149,7 +149,7 @@
+   endforeach(P_ITEM ${PYTHON_SRCS})
+ endif(NOT ENABLE_PYTHON OR NOT ALL_PYTHON_FOUND)
+ 
+-QT4_WRAP_CPP(libavogadro_MOC_SRCS ${libavogadro_MOC_HDRS})
++QT4_WRAP_CPP(libavogadro_MOC_SRCS ${libavogadro_MOC_HDRS} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
+ 
+ # you have to add link_directories before you add the target
+ if(ENABLE_PYTHON AND ALL_PYTHON_FOUND)
+--- avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt~	2011-11-29 18:37:15.449506548 +0000
++++ avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt	2011-11-29 18:37:52.729831744 +0000
+@@ -11,7 +11,7 @@
+ # use all cpp files in this directory
+ FILE(GLOB wrapper_SRCS "*.cpp")
+ 
+-QT4_WRAP_CPP(MOC_SRCS moleculelist.h)
++QT4_WRAP_CPP(MOC_SRCS moleculelist.h OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
+ 
+ ADD_LIBRARY(python-module MODULE ${wrapper_SRCS} ${MOC_SRCS})
+ SET_TARGET_PROPERTIES(python-module PROPERTIES OUTPUT_NAME Avogadro)
+--- avogadro-1.0.3/libavogadro/CMakeLists.txt~	2011-11-29 19:41:34.066938217 +0000
++++ avogadro-1.0.3/libavogadro/CMakeLists.txt	2011-11-29 19:42:53.084320315 +0000
+@@ -18,7 +18,7 @@
+   # Assume all MOC stuff is in the headers, replace .cpp and use qt4_wrap_cpp
+   # We should probably scan the header to verify the Q_OBJECT macro is used
+   string(REPLACE ".cpp" ".h" hdr_list "${src_list}")
+-  qt4_wrap_cpp(moc_files ${hdr_list})
++  qt4_wrap_cpp(moc_files ${hdr_list} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
+   # Now sort out the ui and qrc files, process them as appropriate
+   set(ui_plugin_files)
+   set(qrc_plugin_files)

Copied: avogadro/repos/testing-i686/fix-opengl-headers.patch (from rev 151799, avogadro/repos/staging-i686/fix-opengl-headers.patch)
===================================================================
--- testing-i686/fix-opengl-headers.patch	                        (rev 0)
+++ testing-i686/fix-opengl-headers.patch	2012-03-03 08:08:40 UTC (rev 151802)
@@ -0,0 +1,53 @@
+--- avogadro-1.0.3/libavogadro/src/camera.cpp~	2012-02-27 18:35:52.109999585 +0000
++++ avogadro-1.0.3/libavogadro/src/camera.cpp	2012-02-27 18:36:27.103053453 +0000
+@@ -25,6 +25,8 @@
+ #include "camera.h"
+ #include "glwidget.h"
+ #include <avogadro/molecule.h>
++#include <Eigen/LU>
++#include <GL/glu.h>
+ 
+ using namespace Eigen;
+ 
+--- avogadro-1.0.3/libavogadro/src/glpainter_p.cpp~	2012-02-27 18:37:28.535894209 +0000
++++ avogadro-1.0.3/libavogadro/src/glpainter_p.cpp	2012-02-27 18:37:46.912413557 +0000
+@@ -42,6 +42,7 @@
+ #include <QColor>
+ #include <QVarLengthArray>
+ #include <Eigen/Geometry>
++#include <GL/glu.h>
+ 
+ namespace Avogadro
+ {
+--- avogadro-1.0.3/libavogadro/src/glwidget.cpp~	2012-02-27 18:37:55.099014598 +0000
++++ avogadro-1.0.3/libavogadro/src/glwidget.cpp	2012-02-27 18:38:30.805395066 +0000
+@@ -70,6 +70,8 @@
+ 
+ #include <openbabel/mol.h>
+ 
++#include <GL/glu.h>
++
+ using namespace OpenBabel;
+ using namespace Eigen;
+ 
+--- avogadro-1.0.3/libavogadro/src/extensions/povpainter.cpp~	2012-02-27 18:36:53.646173944 +0000
++++ avogadro-1.0.3/libavogadro/src/extensions/povpainter.cpp	2012-02-27 18:37:10.739370227 +0000
+@@ -36,6 +36,7 @@
+ #include <QFile>
+ #include <QDebug>
+ #include <Eigen/Geometry>
++#include <GL/glu.h>
+ 
+ namespace Avogadro
+ {
+--- avogadro-1.0.3/libavogadro/src/tools/selectrotatetool.cpp~	2012-02-27 18:38:47.491928000 +0000
++++ avogadro-1.0.3/libavogadro/src/tools/selectrotatetool.cpp	2012-02-27 18:39:05.735115136 +0000
+@@ -44,6 +44,8 @@
+ #include <QComboBox>
+ #include <QDebug>
+ 
++#include <GL/glu.h>
++
+ using namespace std;
+ using namespace OpenBabel;
+ using namespace Eigen;

Copied: avogadro/repos/testing-i686/replace-qt4_automoc-with-qt4_wrap_cpp.patch (from rev 151799, avogadro/repos/staging-i686/replace-qt4_automoc-with-qt4_wrap_cpp.patch)
===================================================================
--- testing-i686/replace-qt4_automoc-with-qt4_wrap_cpp.patch	                        (rev 0)
+++ testing-i686/replace-qt4_automoc-with-qt4_wrap_cpp.patch	2012-03-03 08:08:40 UTC (rev 151802)
@@ -0,0 +1,778 @@
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/CMakeLists.txt avogadro-1.0.3-edit/libavogadro/src/CMakeLists.txt
+--- avogadro-1.0.3/libavogadro/src/CMakeLists.txt	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/CMakeLists.txt	2011-11-29 18:49:58.520790652 +0100
+@@ -75,6 +75,42 @@
+   zmatrix.h
+ )
+ 
++SET(libavogadro_MOC_HDRS
++  animation.h
++  atom.h
++  bond.h
++  color.h
++  colorbutton.h
++  colors/elementcolor.h
++  cube.h
++  elementdetail_p.h
++  elementtranslator.h
++  engine.h
++  engines/bsdyengine.h
++  extension.h
++  fragment.h
++  glwidget.h
++  mesh.h
++  molecule.h
++  moleculefile.h
++  moleculefile_p.h
++  periodictablescene_p.h
++  periodictableview.h
++  plotwidget.h
++  plugin.h
++  pluginmanager.h
++  primitive.h
++  protein.h
++  pythonengine_p.h
++  pythonerror.h
++  pythonextension_p.h
++  pythontool_p.h
++  residue.h
++  tool.h
++  toolgroup.h
++  zmatrix.h
++)
++
+ set(libavogadro_SRCS ${libavogadro_SRCS} ${libavogadro_UIS})
+ # Also add in the qtiocompressor class
+ #set(libavogadro_SRCS ${libavogadro_SRCS} ../qtiocompressor/qtiocompressor.cpp)
+@@ -113,7 +148,7 @@
+   endforeach(P_ITEM ${PYTHON_SRCS})
+ endif(NOT ENABLE_PYTHON OR NOT ALL_PYTHON_FOUND)
+ 
+-qt4_automoc(${libavogadro_SRCS})
++QT4_WRAP_CPP(libavogadro_MOC_SRCS ${libavogadro_MOC_HDRS})
+ 
+ # you have to add link_directories before you add the target
+ if(ENABLE_PYTHON AND ALL_PYTHON_FOUND)
+@@ -149,7 +184,7 @@
+     COMMAND ${CMAKE_COMMAND} -E ${header_cmd} "${from}" "${to}")
+ endforeach(headerFile ${libavogadro_HDRS})
+ 
+-add_library(avogadro SHARED ${libavogadro_SRCS} ${libavogadro_QM} ${pythontool_RC_SRCS})
++add_library(avogadro SHARED ${libavogadro_SRCS} ${libavogadro_MOC_SRCS} ${libavogadro_QM} ${pythontool_RC_SRCS})
+ set_target_properties(avogadro
+   PROPERTIES VERSION ${Avogadro_VERSION_FULL} SOVERSION 1 )
+ target_link_libraries(avogadro ${AVO_LINK_LIBRARIES})
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/animation.cpp avogadro-1.0.3-edit/libavogadro/src/animation.cpp
+--- avogadro-1.0.3/libavogadro/src/animation.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/animation.cpp	2011-11-29 18:48:47.967839537 +0100
+@@ -224,5 +224,3 @@
+   }
+ 
+ } // end namespace Avogadro
+-
+-#include "animation.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/atom.cpp avogadro-1.0.3-edit/libavogadro/src/atom.cpp
+--- avogadro-1.0.3/libavogadro/src/atom.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/atom.cpp	2011-11-29 18:48:39.561218412 +0100
+@@ -293,5 +293,3 @@
+    }
+ 
+  } // End namespace Avogadro
+-
+-#include "atom.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/bond.cpp avogadro-1.0.3-edit/libavogadro/src/bond.cpp
+--- avogadro-1.0.3/libavogadro/src/bond.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/bond.cpp	2011-11-29 18:49:00.067773985 +0100
+@@ -166,5 +166,3 @@
+   }
+ 
+ } // End namespace Avogadro
+-
+-#include "bond.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/color.cpp avogadro-1.0.3-edit/libavogadro/src/color.cpp
+--- avogadro-1.0.3/libavogadro/src/color.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/color.cpp	2011-11-29 18:49:05.207746140 +0100
+@@ -152,5 +152,3 @@
+     return "Generic Color";
+   }
+ }
+-
+-#include "color.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/colorbutton.cpp avogadro-1.0.3-edit/libavogadro/src/colorbutton.cpp
+--- avogadro-1.0.3/libavogadro/src/colorbutton.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/colorbutton.cpp	2011-11-29 18:49:11.987709410 +0100
+@@ -94,5 +94,3 @@
+   }
+ 
+ } // end namespace
+-
+-#include "colorbutton.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/colors/elementcolor.cpp avogadro-1.0.3-edit/libavogadro/src/colors/elementcolor.cpp
+--- avogadro-1.0.3/libavogadro/src/colors/elementcolor.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/colors/elementcolor.cpp	2011-11-29 18:50:11.077389292 +0100
+@@ -63,7 +63,5 @@
+ 
+ }
+ 
+-#include "elementcolor.moc"
+ //this is a static color plugin...
+ //Q_EXPORT_PLUGIN2(elementcolor, Avogadro::ElementColorFactory)
+-
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/cube.cpp avogadro-1.0.3-edit/libavogadro/src/cube.cpp
+--- avogadro-1.0.3/libavogadro/src/cube.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/cube.cpp	2011-11-29 18:50:26.357306516 +0100
+@@ -322,5 +322,3 @@
+   }
+ 
+ } // End namespace Avogadro
+-
+-#include "cube.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/elementdetail_p.cpp avogadro-1.0.3-edit/libavogadro/src/elementdetail_p.cpp
+--- avogadro-1.0.3/libavogadro/src/elementdetail_p.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/elementdetail_p.cpp	2011-11-29 18:50:37.680578505 +0100
+@@ -132,5 +132,3 @@
+   }
+ 
+ } // End namespace Avogadro
+-
+-#include "elementdetail_p.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/elementtranslator.cpp avogadro-1.0.3-edit/libavogadro/src/elementtranslator.cpp
+--- avogadro-1.0.3/libavogadro/src/elementtranslator.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/elementtranslator.cpp	2011-11-29 18:50:48.160521729 +0100
+@@ -401,5 +401,3 @@
+   }
+ 
+ } // End namespace Avogadro
+-
+-#include "elementtranslator.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/engine.cpp avogadro-1.0.3-edit/libavogadro/src/engine.cpp
+--- avogadro-1.0.3/libavogadro/src/engine.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/engine.cpp	2011-11-29 18:50:54.397154610 +0100
+@@ -377,5 +377,3 @@
+       return m_molecule->bonds();
+   }
+ }
+-
+-#include "engine.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/engines/bsdyengine.cpp avogadro-1.0.3-edit/libavogadro/src/engines/bsdyengine.cpp
+--- avogadro-1.0.3/libavogadro/src/engines/bsdyengine.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/engines/bsdyengine.cpp	2011-11-29 18:51:18.733689435 +0100
+@@ -442,7 +442,5 @@
+   }
+ 
+ }
+-
+-#include "bsdyengine.moc"
+ // This is a static engine...
+ // Q_EXPORT_PLUGIN2( bsdyengine, Avogadro::BSDYEngineFactory )
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/extension.cpp avogadro-1.0.3-edit/libavogadro/src/extension.cpp
+--- avogadro-1.0.3/libavogadro/src/extension.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/extension.cpp	2011-11-29 18:51:56.360152261 +0100
+@@ -80,5 +80,3 @@
+   }
+ 
+ }
+-
+-#include "extension.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/fragment.cpp avogadro-1.0.3-edit/libavogadro/src/fragment.cpp
+--- avogadro-1.0.3/libavogadro/src/fragment.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/fragment.cpp	2011-11-29 18:52:01.906788880 +0100
+@@ -82,5 +82,3 @@
+   }
+ 
+ } // End namespace Avogadro
+-
+-#include "fragment.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/glwidget.cpp avogadro-1.0.3-edit/libavogadro/src/glwidget.cpp
+--- avogadro-1.0.3/libavogadro/src/glwidget.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/glwidget.cpp	2011-11-29 18:52:14.346721486 +0100
+@@ -1966,5 +1966,3 @@
+     d->updateCache = true;
+   }
+ }
+-
+-#include "glwidget.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/mesh.cpp avogadro-1.0.3-edit/libavogadro/src/mesh.cpp
+--- avogadro-1.0.3/libavogadro/src/mesh.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/mesh.cpp	2011-11-29 18:52:23.033341093 +0100
+@@ -231,5 +231,3 @@
+   }
+ 
+ } // End namespace Avogadro
+-
+-#include "mesh.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/molecule.cpp avogadro-1.0.3-edit/libavogadro/src/molecule.cpp
+--- avogadro-1.0.3/libavogadro/src/molecule.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/molecule.cpp	2011-11-29 18:52:33.573283993 +0100
+@@ -1575,5 +1575,3 @@
+   }
+ 
+ } // End namespace Avogadro
+-
+-#include "molecule.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/moleculefile.cpp avogadro-1.0.3-edit/libavogadro/src/moleculefile.cpp
+--- avogadro-1.0.3/libavogadro/src/moleculefile.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/moleculefile.cpp	2011-11-29 18:56:26.728687548 +0100
+@@ -22,23 +22,14 @@
+   02110-1301, USA.
+  **********************************************************************/
+ 
+-#include "moleculefile.h"
++#include "moleculefile_p.h"
+ 
+ #include <avogadro/molecule.h>
+ 
+-#include <QFile>
+ #include <QFileInfo>
+-#include <QStringList>
+-#include <QThread>
+ #include <QDebug>
+ #include <QPointer>
+ 
+-#include <openbabel/mol.h>
+-#include <openbabel/obconversion.h>
+-
+-// Included in obconversion.h
+-//#include <iostream>
+-
+ namespace Avogadro {
+ 
+   using OpenBabel::OBConversion;
+@@ -578,164 +569,6 @@
+     return false;
+   }
+ 
+-  class ReadFileThread : public QThread
+-  {
+-    //    Q_OBJECT 
+-
+-    public:
+-      ReadFileThread(MoleculeFile *moleculeFile) : m_moleculeFile(moleculeFile)
+-      {
+-      }
+-      
+-      void addConformer(const OpenBabel::OBMol &conformer)
+-      {
+-        unsigned int numAtoms = conformer.NumAtoms();
+-        std::vector<Eigen::Vector3d> *coords = new std::vector<Eigen::Vector3d>(numAtoms);
+-        for (unsigned int i = 0; i < numAtoms; ++i)
+-          coords->push_back(Eigen::Vector3d(conformer.GetAtom(i+1)->GetVector().AsArray()));
+-        m_moleculeFile->m_conformers.push_back(coords);
+-      }
+-
+-      void detectConformers(unsigned int c, const OpenBabel::OBMol &first, const OpenBabel::OBMol &current)
+-      {
+-        if (!c) {
+-          // this is the first molecule read
+-          m_moleculeFile->setConformerFile(true);
+-          addConformer(current);
+-          return;
+-        }
+-
+-        if (!m_moleculeFile->isConformerFile())
+-          return;
+-
+-        // as long as we are not sure if this really is a 
+-        // conformer/trajectory file, add the conformers
+-        addConformer(current);
+-
+-        // performance: check only certain molecule 1-10,20,50
+-        switch (c) {
+-          case 1:
+-          case 2:
+-          case 3:
+-          case 4:
+-          case 5:
+-          case 6:
+-          case 7:
+-          case 8:
+-          case 9:
+-          case 10:
+-          case 20:
+-          case 50:
+-            break;
+-          default:
+-            return;
+-        }
+-
+-        if (first.NumAtoms() != current.NumAtoms()) {
+-          m_moleculeFile->setConformerFile(false);
+-          m_moleculeFile->m_conformers.clear();
+-          return;
+-        }
+-
+-        for (unsigned int i = 0; i < first.NumAtoms(); ++i) {
+-          OpenBabel::OBAtom *firstAtom = first.GetAtom(i+1);
+-          OpenBabel::OBAtom *currentAtom = current.GetAtom(i+1);
+-          if (firstAtom->GetAtomicNum() != currentAtom->GetAtomicNum()) {
+-            m_moleculeFile->setConformerFile(false);
+-            m_moleculeFile->m_conformers.clear();
+-            return;
+-          }    
+-        }
+-      }
+-
+-      void run()
+-      {
+-        // Check that the file can be read from disk
+-        if (!MoleculeFile::canOpen(m_moleculeFile->m_fileName, QFile::ReadOnly | QFile::Text)) {
+-          // Cannot read the file
+-          m_moleculeFile->m_error.append(QObject::tr("File %1 cannot be opened for reading.")
+-                                         .arg(m_moleculeFile->m_fileName));
+-          return;
+-        }
+- 
+-        // Construct the OpenBabel objects, set the file type
+-        OpenBabel::OBConversion conv;
+-        OpenBabel::OBFormat *inFormat;
+-        if (!m_moleculeFile->m_fileType.isEmpty() && !conv.SetInFormat(m_moleculeFile->m_fileType.toAscii().data())) {
+-          // Input format not supported
+-          m_moleculeFile->m_error.append(
+-              QObject::tr("File type '%1' is not supported for reading.").arg(m_moleculeFile->m_fileType));
+-          return;
+-        } else {
+-          inFormat = conv.FormatFromExt(m_moleculeFile->m_fileName.toAscii().data());
+-          if (!inFormat || !conv.SetInFormat(inFormat)) {
+-            // Input format not supported
+-            m_moleculeFile->m_error.append(QObject::tr("File type for file '%1' is not supported for reading.")
+-                                           .arg(m_moleculeFile->m_fileName));
+-            return;
+-          }
+-        }
+-
+-        // set any options
+-        if (!m_moleculeFile->m_fileOptions.isEmpty()) {
+-          foreach(const QString &option,
+-              m_moleculeFile->m_fileOptions.split('\n', QString::SkipEmptyParts)) {
+-            conv.AddOption(option.toAscii().data(), OBConversion::INOPTIONS);
+-          }
+-        }
+-
+-        // Now attempt to read the molecule in
+-        ifstream ifs;
+-        ifs.open(m_moleculeFile->m_fileName.toLocal8Bit()); // This handles utf8 file names etc
+-        if (!ifs) // Should not happen, already checked file could be opened
+-          return;
+-      
+-        // read all molecules
+-        OpenBabel::OBMol firstOBMol, currentOBMol;
+-        unsigned int c = 0;
+-        conv.SetInStream(&ifs);
+-        m_moleculeFile->streamposRef().push_back(ifs.tellg());
+-        while (ifs.good() && conv.Read(&currentOBMol)) {
+-          if (!c)
+-            firstOBMol = currentOBMol;
+-
+-          if (c > 20 && !m_moleculeFile->isConformerFile())
+-            m_moleculeFile->setFirstReady(true);
+-
+-          // detect conformer/trajectory files
+-          detectConformers(c, firstOBMol, currentOBMol);
+-          // store information about molecule
+-          m_moleculeFile->streamposRef().push_back(ifs.tellg());
+-          m_moleculeFile->titlesRef().append(currentOBMol.GetTitle());
+-          // increment count
+-          ++c;
+-        }
+-        m_moleculeFile->streamposRef().pop_back();
+-
+-        // signle molecule files are not conformer files
+-        if (c == 1) {
+-          m_moleculeFile->setConformerFile(false);
+-          m_moleculeFile->m_conformers.clear();
+-        }
+-
+-        // check for empty titles
+-        for (int i = 0; i < m_moleculeFile->titlesRef().size(); ++i) {
+-          if (!m_moleculeFile->titlesRef()[i].isEmpty())
+-            continue;
+-
+-          QString title;
+-          if (m_moleculeFile->isConformerFile())
+-            title = tr("Conformer %1").arg(i+1);
+-          else
+-            title = tr("Molecule %1").arg(i+1);
+-        
+-          m_moleculeFile->titlesRef()[i] = title;
+-        }
+-      }
+-
+-      MoleculeFile *m_moleculeFile;
+-  }; // end ReadFileThread class
+-
+   MoleculeFile* MoleculeFile::readFile(const QString &fileName,
+       const QString &fileType, const QString &fileOptions, bool wait)
+   {
+@@ -794,6 +627,3 @@
+   }
+ 
+ } // end namespace Avogadro
+-
+-#include "moleculefile.moc"
+-
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/moleculefile_p.h avogadro-1.0.3-edit/libavogadro/src/moleculefile_p.h
+--- avogadro-1.0.3/libavogadro/src/moleculefile_p.h	1970-01-01 01:00:00.000000000 +0100
++++ avogadro-1.0.3-edit/libavogadro/src/moleculefile_p.h	2011-11-29 18:57:43.108273764 +0100
+@@ -0,0 +1,202 @@
++/**********************************************************************
++  MoleculeFile - Class representing molecule file.
++
++  Copyright (C) 2009 Marcus Hanwell, Tim Vandermeersch
++
++  This file is part of the Avogadro molecular editor project.
++  For more information, see <http://avogadro.openmolecules.net/>
++
++  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 MOLECULEFILE_P_H
++#define MOLECULEFILE_P_H
++
++#include "moleculefile.h"
++
++#include <openbabel/mol.h>
++#include <openbabel/obconversion.h>
++
++#include <QFile>
++#include <QStringList>
++#include <QThread>
++
++namespace Avogadro {
++
++  using OpenBabel::OBConversion;
++  using std::ifstream;
++
++class ReadFileThread : public QThread
++{
++      Q_OBJECT
++
++  public:
++    ReadFileThread(MoleculeFile *moleculeFile) : m_moleculeFile(moleculeFile)
++    {
++    }
++
++    void addConformer(const OpenBabel::OBMol &conformer)
++    {
++      unsigned int numAtoms = conformer.NumAtoms();
++      std::vector<Eigen::Vector3d> *coords = new std::vector<Eigen::Vector3d>(numAtoms);
++      for (unsigned int i = 0; i < numAtoms; ++i)
++        coords->push_back(Eigen::Vector3d(conformer.GetAtom(i+1)->GetVector().AsArray()));
++      m_moleculeFile->m_conformers.push_back(coords);
++    }
++
++    void detectConformers(unsigned int c, const OpenBabel::OBMol &first, const OpenBabel::OBMol &current)
++    {
++      if (!c) {
++        // this is the first molecule read
++        m_moleculeFile->setConformerFile(true);
++        addConformer(current);
++        return;
++      }
++
++      if (!m_moleculeFile->isConformerFile())
++        return;
++
++      // as long as we are not sure if this really is a
++      // conformer/trajectory file, add the conformers
++      addConformer(current);
++
++      // performance: check only certain molecule 1-10,20,50
++      switch (c) {
++        case 1:
++        case 2:
++        case 3:
++        case 4:
++        case 5:
++        case 6:
++        case 7:
++        case 8:
++        case 9:
++        case 10:
++        case 20:
++        case 50:
++          break;
++        default:
++          return;
++      }
++
++      if (first.NumAtoms() != current.NumAtoms()) {
++        m_moleculeFile->setConformerFile(false);
++        m_moleculeFile->m_conformers.clear();
++        return;
++      }
++
++      for (unsigned int i = 0; i < first.NumAtoms(); ++i) {
++        OpenBabel::OBAtom *firstAtom = first.GetAtom(i+1);
++        OpenBabel::OBAtom *currentAtom = current.GetAtom(i+1);
++        if (firstAtom->GetAtomicNum() != currentAtom->GetAtomicNum()) {
++          m_moleculeFile->setConformerFile(false);
++          m_moleculeFile->m_conformers.clear();
++          return;
++        }
++      }
++    }
++
++    void run()
++    {
++      // Check that the file can be read from disk
++      if (!MoleculeFile::canOpen(m_moleculeFile->m_fileName, QFile::ReadOnly | QFile::Text)) {
++        // Cannot read the file
++        m_moleculeFile->m_error.append(QObject::tr("File %1 cannot be opened for reading.")
++                                       .arg(m_moleculeFile->m_fileName));
++        return;
++      }
++
++      // Construct the OpenBabel objects, set the file type
++      OpenBabel::OBConversion conv;
++      OpenBabel::OBFormat *inFormat;
++      if (!m_moleculeFile->m_fileType.isEmpty() && !conv.SetInFormat(m_moleculeFile->m_fileType.toAscii().data())) {
++        // Input format not supported
++        m_moleculeFile->m_error.append(
++            QObject::tr("File type '%1' is not supported for reading.").arg(m_moleculeFile->m_fileType));
++        return;
++      } else {
++        inFormat = conv.FormatFromExt(m_moleculeFile->m_fileName.toAscii().data());
++        if (!inFormat || !conv.SetInFormat(inFormat)) {
++          // Input format not supported
++          m_moleculeFile->m_error.append(QObject::tr("File type for file '%1' is not supported for reading.")
++                                         .arg(m_moleculeFile->m_fileName));
++          return;
++        }
++      }
++
++      // set any options
++      if (!m_moleculeFile->m_fileOptions.isEmpty()) {
++        foreach(const QString &option,
++            m_moleculeFile->m_fileOptions.split('\n', QString::SkipEmptyParts)) {
++          conv.AddOption(option.toAscii().data(), OBConversion::INOPTIONS);
++        }
++      }
++
++      // Now attempt to read the molecule in
++      ifstream ifs;
++      ifs.open(m_moleculeFile->m_fileName.toLocal8Bit()); // This handles utf8 file names etc
++      if (!ifs) // Should not happen, already checked file could be opened
++        return;
++
++      // read all molecules
++      OpenBabel::OBMol firstOBMol, currentOBMol;
++      unsigned int c = 0;
++      conv.SetInStream(&ifs);
++      m_moleculeFile->streamposRef().push_back(ifs.tellg());
++      while (ifs.good() && conv.Read(&currentOBMol)) {
++        if (!c)
++          firstOBMol = currentOBMol;
++
++        if (c > 20 && !m_moleculeFile->isConformerFile())
++          m_moleculeFile->setFirstReady(true);
++
++        // detect conformer/trajectory files
++        detectConformers(c, firstOBMol, currentOBMol);
++        // store information about molecule
++        m_moleculeFile->streamposRef().push_back(ifs.tellg());
++        m_moleculeFile->titlesRef().append(currentOBMol.GetTitle());
++        // increment count
++        ++c;
++      }
++      m_moleculeFile->streamposRef().pop_back();
++
++      // signle molecule files are not conformer files
++      if (c == 1) {
++        m_moleculeFile->setConformerFile(false);
++        m_moleculeFile->m_conformers.clear();
++      }
++
++      // check for empty titles
++      for (int i = 0; i < m_moleculeFile->titlesRef().size(); ++i) {
++        if (!m_moleculeFile->titlesRef()[i].isEmpty())
++          continue;
++
++        QString title;
++        if (m_moleculeFile->isConformerFile())
++          title = tr("Conformer %1").arg(i+1);
++        else
++          title = tr("Molecule %1").arg(i+1);
++
++        m_moleculeFile->titlesRef()[i] = title;
++      }
++    }
++
++    MoleculeFile *m_moleculeFile;
++};
++
++} // end namespace Avogadro
++
++#endif // MOLECULEFILE_P_H
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/periodictablescene_p.cpp avogadro-1.0.3-edit/libavogadro/src/periodictablescene_p.cpp
+--- avogadro-1.0.3/libavogadro/src/periodictablescene_p.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/periodictablescene_p.cpp	2011-11-29 18:52:50.259860261 +0100
+@@ -213,5 +213,3 @@
+   }
+ 
+ } // End namespace Avogadro
+-
+-#include "periodictablescene_p.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/periodictableview.cpp avogadro-1.0.3-edit/libavogadro/src/periodictableview.cpp
+--- avogadro-1.0.3/libavogadro/src/periodictableview.cpp     2011-11-29 19:30:25.130970122 +0000
++++ avogadro-1.0.3-edit/libavogadro/src/periodictableview.cpp        2011-11-29 18:52:50.259860261 +0100
+@@ -69,4 +69,3 @@
+ 
+ } // End namespace Avogadro
+ 
+-#include "periodictableview.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/plotwidget.cpp avogadro-1.0.3-edit/libavogadro/src/plotwidget.cpp
+--- avogadro-1.0.3/libavogadro/src/plotwidget.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/plotwidget.cpp	2011-11-29 18:53:09.389756626 +0100
+@@ -27,7 +27,6 @@
+  **********************************************************************/
+ 
+ #include "plotwidget.h"
+-#include "plotwidget.moc"
+ 
+ #include <math.h>
+ #include <QDebug>
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/plugin.cpp avogadro-1.0.3-edit/libavogadro/src/plugin.cpp
+--- avogadro-1.0.3/libavogadro/src/plugin.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/plugin.cpp	2011-11-29 18:53:16.016387394 +0100
+@@ -65,5 +65,3 @@
+   }
+ 
+ } // end namespace Avogadro
+-
+-#include "plugin.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pluginmanager.cpp avogadro-1.0.3-edit/libavogadro/src/pluginmanager.cpp
+--- avogadro-1.0.3/libavogadro/src/pluginmanager.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/pluginmanager.cpp	2011-11-29 18:53:23.569679807 +0100
+@@ -784,5 +784,3 @@
+   }
+ 
+ }
+-
+-#include "pluginmanager.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/primitive.cpp avogadro-1.0.3-edit/libavogadro/src/primitive.cpp
+--- avogadro-1.0.3/libavogadro/src/primitive.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/primitive.cpp	2011-11-29 18:53:29.139649631 +0100
+@@ -77,5 +77,3 @@
+   }
+ 
+ }
+-
+-#include "primitive.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/protein.cpp avogadro-1.0.3-edit/libavogadro/src/protein.cpp
+--- avogadro-1.0.3/libavogadro/src/protein.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/protein.cpp	2011-11-29 18:53:37.952935219 +0100
+@@ -978,5 +978,3 @@
+   }
+ 
+ } // End namespace Avogadro
+-
+-#include "protein.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt avogadro-1.0.3-edit/libavogadro/src/python/CMakeLists.txt
+--- avogadro-1.0.3/libavogadro/src/python/CMakeLists.txt	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/python/CMakeLists.txt	2011-11-29 18:58:02.354836165 +0100
+@@ -11,9 +11,9 @@
+ # use all cpp files in this directory
+ FILE(GLOB wrapper_SRCS "*.cpp")
+ 
+-qt4_automoc(moleculelist.cpp)
++QT4_WRAP_CPP(MOC_SRCS moleculelist.h)
+ 
+-ADD_LIBRARY(python-module MODULE ${wrapper_SRCS})
++ADD_LIBRARY(python-module MODULE ${wrapper_SRCS} ${MOC_SRCS})
+ SET_TARGET_PROPERTIES(python-module PROPERTIES OUTPUT_NAME Avogadro)
+ SET_TARGET_PROPERTIES(python-module PROPERTIES PREFIX "")
+ if (WIN32)
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/python/moleculelist.cpp avogadro-1.0.3-edit/libavogadro/src/python/moleculelist.cpp
+--- avogadro-1.0.3/libavogadro/src/python/moleculelist.cpp     2011-11-29 19:26:07.562214311 +0100
++++ avogadro-1.0.3-edit/libavogadro/src/python/moleculelist.cpp      2011-11-29 19:26:14.538843182 +0100
+@@ -70,4 +70,3 @@
+ 
+ }
+ 
+-#include "moleculelist.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythonengine_p.cpp avogadro-1.0.3-edit/libavogadro/src/pythonengine_p.cpp
+--- avogadro-1.0.3/libavogadro/src/pythonengine_p.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/pythonengine_p.cpp	2011-11-29 18:53:45.492894371 +0100
+@@ -289,5 +289,3 @@
+ 
+ 
+ }
+-
+-#include "pythonengine_p.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythonerror.cpp avogadro-1.0.3-edit/libavogadro/src/pythonerror.cpp
+--- avogadro-1.0.3/libavogadro/src/pythonerror.cpp     2011-11-29 19:24:26.949426045 +0100
++++ avogadro-1.0.3-edit/libavogadro/src/pythonerror.cpp      2011-11-29 19:24:41.176015640 +0100
+@@ -112,4 +112,3 @@
+ 
+ } // namespace
+ 
+-#include "pythonerror.moc"
+
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythonextension_p.cpp avogadro-1.0.3-edit/libavogadro/src/pythonextension_p.cpp
+--- avogadro-1.0.3/libavogadro/src/pythonextension_p.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/pythonextension_p.cpp	2011-11-29 18:53:54.082847836 +0100
+@@ -340,5 +340,3 @@
+   }
+ 
+ }
+-
+-#include "pythonextension_p.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/pythontool_p.cpp avogadro-1.0.3-edit/libavogadro/src/pythontool_p.cpp
+--- avogadro-1.0.3/libavogadro/src/pythontool_p.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/pythontool_p.cpp	2011-11-29 18:54:02.269470152 +0100
+@@ -344,5 +344,3 @@
+   }
+ 
+ }
+-
+-#include "pythontool_p.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/residue.cpp avogadro-1.0.3-edit/libavogadro/src/residue.cpp
+--- avogadro-1.0.3/libavogadro/src/residue.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/residue.cpp	2011-11-29 18:54:14.316071557 +0100
+@@ -160,6 +160,3 @@
+   }
+ 
+ } // End namespace Avogadro
+-
+- #include "residue.moc"
+-
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/tool.cpp avogadro-1.0.3-edit/libavogadro/src/tool.cpp
+--- avogadro-1.0.3/libavogadro/src/tool.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/tool.cpp	2011-11-29 18:55:05.515794184 +0100
+@@ -117,5 +117,3 @@
+   }
+ 
+ } // end namespace Avogadro
+-
+-#include "tool.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/toolgroup.cpp avogadro-1.0.3-edit/libavogadro/src/toolgroup.cpp
+--- avogadro-1.0.3/libavogadro/src/toolgroup.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/toolgroup.cpp	2011-11-29 18:55:11.699094018 +0100
+@@ -206,5 +206,3 @@
+   }
+ 
+ } // end namespace Avogadro
+-
+-#include "toolgroup.moc"
+diff -U 3 -H -d -r -N -- avogadro-1.0.3/libavogadro/src/zmatrix.cpp avogadro-1.0.3-edit/libavogadro/src/zmatrix.cpp
+--- avogadro-1.0.3/libavogadro/src/zmatrix.cpp	2011-04-25 07:22:18.000000000 +0200
++++ avogadro-1.0.3-edit/libavogadro/src/zmatrix.cpp	2011-11-29 18:55:17.209064168 +0100
+@@ -149,5 +149,3 @@
+ 
+ 
+ } // End namespace Avogadro
+-
+-#include "zmatrix.moc"




More information about the arch-commits mailing list