From 16a591db007a56c29fa6c17df43fdcf3af96b13b Mon Sep 17 00:00:00 2001 From: sagitter Date: Sep 27 2016 21:15:20 +0000 Subject: Update to 1.2.0 (bz#1347064) (bz#1347416) --- diff --git a/.gitignore b/.gitignore index 8956c91..c523a07 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /avogadro-1.0.3.tar.bz2 /avogadro-1.1.1.tar.bz2 +/avogadro-1.2.0.tar.gz diff --git a/0029-Fix-compilation-on-ARM-where-qreal-can-be-defined-as.patch b/0029-Fix-compilation-on-ARM-where-qreal-can-be-defined-as.patch deleted file mode 100644 index cc45aa5..0000000 --- a/0029-Fix-compilation-on-ARM-where-qreal-can-be-defined-as.patch +++ /dev/null @@ -1,221 +0,0 @@ -From 6f1a111bab5798a4289187bdf747c3be4e176534 Mon Sep 17 00:00:00 2001 -From: Scott Tincman -Date: Wed, 19 Mar 2014 14:38:21 -0400 -Subject: [PATCH 29/58] Fix compilation on ARM, where qreal can be defined as a - float - -Change-Id: I0121913aa03b3a449bfa45b9337bc4c5f586799b ---- - libavogadro/src/extensions/qtaim/qtaimcubature.cpp | 78 +++++++++++----------- - 1 file changed, 39 insertions(+), 39 deletions(-) - -diff --git a/libavogadro/src/extensions/qtaim/qtaimcubature.cpp b/libavogadro/src/extensions/qtaim/qtaimcubature.cpp -index ce15190..439250f 100644 ---- a/libavogadro/src/extensions/qtaim/qtaimcubature.cpp -+++ b/libavogadro/src/extensions/qtaim/qtaimcubature.cpp -@@ -1150,17 +1150,17 @@ QList QTAIMEvaluateProperty(QList variantList) - */ - qint64 counter=0; - QString wfnFileName=variantList.at(counter).toString(); counter++; -- qreal x0=variantList.at(counter).toDouble(); counter++; -- qreal y0=variantList.at(counter).toDouble(); counter++; -- qreal z0=variantList.at(counter).toDouble(); counter++; -+ qreal x0=variantList.at(counter).toReal(); counter++; -+ qreal y0=variantList.at(counter).toReal(); counter++; -+ qreal z0=variantList.at(counter).toReal(); counter++; - - qint64 nncp=variantList.at(counter).toLongLong(); counter++; - QList ncpList; - for( qint64 n=0 ; n < nncp ; ++n ) - { -- qreal x=variantList.at(counter).toDouble(); counter++; -- qreal y=variantList.at(counter).toDouble(); counter++; -- qreal z=variantList.at(counter).toDouble(); counter++; -+ qreal x=variantList.at(counter).toReal(); counter++; -+ qreal y=variantList.at(counter).toReal(); counter++; -+ qreal z=variantList.at(counter).toReal(); counter++; - - ncpList.append(QVector3D(x,y,z)); - } -@@ -1189,7 +1189,7 @@ QList QTAIMEvaluateProperty(QList variantList) - - QList valueList; - -- double initialElectronDensity=eval.electronDensity( Eigen::Vector3d(x0,y0,z0) ); -+ qreal initialElectronDensity=eval.electronDensity( Matrix(x0,y0,z0) ); - - // if less than some small value, then return zero for all integrands. - if( initialElectronDensity < 1.e-5 ) -@@ -1254,7 +1254,7 @@ QList QTAIMEvaluateProperty(QList variantList) - { - if( modeList.at(m) == 0 ) - { -- valueList.append(eval.electronDensity( Eigen::Vector3d(x0,y0,z0) )); -+ valueList.append(eval.electronDensity( Matrix(x0,y0,z0) )); - } - else - { -@@ -1292,9 +1292,9 @@ void property_v(unsigned int /* ndim */, unsigned int npts, const double *xyz, v - QList ncpList; - for( qint64 i=0 ; i < nncp ; ++i ) - { -- qreal x=paramVariantList.at(counter).toDouble(); counter++; -- qreal y=paramVariantList.at(counter).toDouble(); counter++; -- qreal z=paramVariantList.at(counter).toDouble(); counter++; -+ qreal x=paramVariantList.at(counter).toReal(); counter++; -+ qreal y=paramVariantList.at(counter).toReal(); counter++; -+ qreal z=paramVariantList.at(counter).toReal(); counter++; - - ncpList.append(QVector3D(x,y,z)); - } -@@ -1419,17 +1419,17 @@ QList QTAIMEvaluatePropertyRTP(QList variantList) - */ - qint64 counter=0; - QString wfnFileName=variantList.at(counter).toString(); counter++; -- qreal r0=variantList.at(counter).toDouble(); counter++; -- qreal t0=variantList.at(counter).toDouble(); counter++; -- qreal p0=variantList.at(counter).toDouble(); counter++; -+ qreal r0=variantList.at(counter).toReal(); counter++; -+ qreal t0=variantList.at(counter).toReal(); counter++; -+ qreal p0=variantList.at(counter).toReal(); counter++; - - qint64 nncp=variantList.at(counter).toLongLong(); counter++; - QList ncpList; - for( qint64 n=0 ; n < nncp ; ++n ) - { -- qreal x=variantList.at(counter).toDouble(); counter++; -- qreal y=variantList.at(counter).toDouble(); counter++; -- qreal z=variantList.at(counter).toDouble(); counter++; -+ qreal x=variantList.at(counter).toReal(); counter++; -+ qreal y=variantList.at(counter).toReal(); counter++; -+ qreal z=variantList.at(counter).toReal(); counter++; - - ncpList.append(QVector3D(x,y,z)); - } -@@ -1472,7 +1472,7 @@ QList QTAIMEvaluatePropertyRTP(QList variantList) - - QList valueList; - -- double initialElectronDensity=eval.electronDensity( Eigen::Vector3d(x0,y0,z0) ); -+ qreal initialElectronDensity=eval.electronDensity( Matrix(x0,y0,z0) ); - - // if less than some small value, then return zero for all integrands. - if( initialElectronDensity < 1.e-5 ) -@@ -1540,7 +1540,7 @@ QList QTAIMEvaluatePropertyRTP(QList variantList) - { - valueList.append( - -- r0*r0*sin(t0)*eval.electronDensity( Eigen::Vector3d(x0,y0,z0) ) -+ r0*r0*sin(t0)*eval.electronDensity( Matrix(x0,y0,z0) ) - - ); - } -@@ -1580,9 +1580,9 @@ void property_v_rtp(unsigned int /* ndim */, unsigned int npts, const double *xy - QList ncpList; - for( qint64 i=0 ; i < nncp ; ++i ) - { -- qreal x=paramVariantList.at(counter).toDouble(); counter++; -- qreal y=paramVariantList.at(counter).toDouble(); counter++; -- qreal z=paramVariantList.at(counter).toDouble(); counter++; -+ qreal x=paramVariantList.at(counter).toReal(); counter++; -+ qreal y=paramVariantList.at(counter).toReal(); counter++; -+ qreal z=paramVariantList.at(counter).toReal(); counter++; - - ncpList.append(QVector3D(x,y,z)); - } -@@ -1691,16 +1691,16 @@ void property_r(unsigned int ndim, const double *xyz, void *param, - QString wfnFileName=paramVariantList.at(counter).toString(); counter++; - - qreal r=xyz[0]; -- qreal t=paramVariantList.at(counter).toDouble(); counter++; -- qreal p=paramVariantList.at(counter).toDouble(); counter++; -+ qreal t=paramVariantList.at(counter).toReal(); counter++; -+ qreal p=paramVariantList.at(counter).toReal(); counter++; - - qint64 nncp=paramVariantList.at(counter).toLongLong(); counter++; - QList ncpList; - for( qint64 i=0 ; i < nncp ; ++i ) - { -- qreal x=paramVariantList.at(counter).toDouble(); counter++; -- qreal y=paramVariantList.at(counter).toDouble(); counter++; -- qreal z=paramVariantList.at(counter).toDouble(); counter++; -+ qreal x=paramVariantList.at(counter).toReal(); counter++; -+ qreal y=paramVariantList.at(counter).toReal(); counter++; -+ qreal z=paramVariantList.at(counter).toReal(); counter++; - - ncpList.append(QVector3D(x,y,z)); - } -@@ -1738,7 +1738,7 @@ void property_r(unsigned int ndim, const double *xyz, void *param, - { - if( mode==0 ) - { -- fval[m]=r*r*eval.electronDensity( Eigen::Vector3d(x,y,z) ); -+ fval[m]=r*r*eval.electronDensity( Matrix(x,y,z) ); - } - } - -@@ -1771,16 +1771,16 @@ QList QTAIMEvaluatePropertyTP(QList variantList) - */ - qint64 counter=0; - QString wfnFileName=variantList.at(counter).toString(); counter++; -- qreal t=variantList.at(counter).toDouble(); counter++; -- qreal p=variantList.at(counter).toDouble(); counter++; -+ qreal t=variantList.at(counter).toReal(); counter++; -+ qreal p=variantList.at(counter).toReal(); counter++; - - qint64 nncp=variantList.at(counter).toLongLong(); counter++; - QList ncpList; - for( qint64 n=0 ; n < nncp ; ++n ) - { -- qreal x=variantList.at(counter).toDouble(); counter++; -- qreal y=variantList.at(counter).toDouble(); counter++; -- qreal z=variantList.at(counter).toDouble(); counter++; -+ qreal x=variantList.at(counter).toReal(); counter++; -+ qreal y=variantList.at(counter).toReal(); counter++; -+ qreal z=variantList.at(counter).toReal(); counter++; - - ncpList.append(QVector3D(x,y,z)); - } -@@ -1846,7 +1846,7 @@ QList QTAIMEvaluatePropertyTP(QList variantList) - qreal x=xyzl(0); - qreal y=xyzl(1); - qreal z=xyzl(2); -- qreal leftElectronDensity=eval.electronDensity( Eigen::Vector3d(x,y,z) ); -+ qreal leftElectronDensity=eval.electronDensity( Matrix(x,y,z) ); - - if( leftElectronDensity < 1.e-5 ) - { -@@ -1896,7 +1896,7 @@ QList QTAIMEvaluatePropertyTP(QList variantList) - x=xyzr(0); - y=xyzr(1); - z=xyzr(2); -- qreal rightElectronDensity=eval.electronDensity( Eigen::Vector3d(x,y,z) ); -+ qreal rightElectronDensity=eval.electronDensity( Matrix(x,y,z) ); - - if( rightElectronDensity < 1.e-5 ) - { -@@ -1959,7 +1959,7 @@ QList QTAIMEvaluatePropertyTP(QList variantList) - x=xyzm(0); - y=xyzm(1); - z=xyzm(2); -- qreal midpointElectronDensity=eval.electronDensity( Eigen::Vector3d(x,y,z) ); -+ qreal midpointElectronDensity=eval.electronDensity( Matrix(x,y,z) ); - - if( midpointElectronDensity < 1.e-5 ) - { -@@ -2092,9 +2092,9 @@ void property_v_tp(unsigned int /* ndim */, unsigned int npts, const double *xyz - QList ncpList; - for( qint64 i=0 ; i < nncp ; ++i ) - { -- qreal x=paramVariantList.at(counter).toDouble(); counter++; -- qreal y=paramVariantList.at(counter).toDouble(); counter++; -- qreal z=paramVariantList.at(counter).toDouble(); counter++; -+ qreal x=paramVariantList.at(counter).toReal(); counter++; -+ qreal y=paramVariantList.at(counter).toReal(); counter++; -+ qreal z=paramVariantList.at(counter).toReal(); counter++; - - ncpList.append(QVector3D(x,y,z)); - } --- -1.9.3 - diff --git a/avogadro-1.1.1-eigen3.patch b/avogadro-1.1.1-eigen3.patch deleted file mode 100644 index dc07d69..0000000 --- a/avogadro-1.1.1-eigen3.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- avogadro-1.1.1/CMakeLists.txt.omv~ 2014-01-30 13:58:22.999443609 +0100 -+++ avogadro-1.1.1/CMakeLists.txt 2014-01-30 13:59:31.086106925 +0100 -@@ -230,13 +230,15 @@ if(NOT Linguist_FOUND) - message(WARNING " Qt4 Linguist not found, please install it if you want Avogadro translations") - endif() - --find_package(Eigen3) # find and setup Eigen3 if available -+find_package(Eigen3 REQUIRED) # find and setup Eigen3 if available - if(NOT EIGEN3_FOUND) - message(STATUS "Cannot find Eigen3, trying Eigen2") -- find_package(Eigen2 REQUIRED) # Some version is required -+ find_package(Eigen2) # Some version is required - else() - # Use Stage10 Eigen3 support - set (EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API TRUE) -+ add_definitions (-DEIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API) -+ set (EIGEN2_INCLUDE_DIR ${EIGEN3_INCLUDE_DIR}) - endif() - - find_package(ZLIB REQUIRED) ---- avogadro-1.1.1/libavogadro/src/extensions/qtaim/CMakeLists.txt.omv~ 2014-01-30 14:12:33.859401753 +0100 -+++ avogadro-1.1.1/libavogadro/src/extensions/qtaim/CMakeLists.txt 2014-01-30 14:15:07.652727522 +0100 -@@ -4,6 +4,8 @@ set(LINK_LIBS avogadro) - set(PLUGIN_LABEL extensions) - set(PLUGIN_TARGET extensions) - -+add_definitions(-DEIGEN2_SUPPORT_STAGE20_RESOLVE_API_CONFLICTS -std=gnu++11) -+ - set(qtaimextension_SRCS - qtaimextension.cpp - # qtaimdialog.cpp ---- avogadro-1.1.1/libavogadro/src/extensions/surfaces/openqube/CMakeLists.txt.omv~ 2014-01-30 13:59:05.889441500 +0100 -+++ avogadro-1.1.1/libavogadro/src/extensions/surfaces/openqube/CMakeLists.txt 2014-01-30 13:59:08.832774688 +0100 -@@ -1,5 +1,5 @@ - find_package(Qt4 4.6 REQUIRED) --find_package(Eigen2 REQUIRED) -+find_package(Eigen3 REQUIRED) - - include_directories(${QT_INCLUDE_DIR} ${EIGEN2_INCLUDE_DIR}) - ---- avogadro-1.1.1/cmake/modules/AvogadroUse.cmake.orig 2014-10-13 20:13:59.909828034 +0100 -+++ avogadro-1.1.1/cmake/modules/AvogadroUse.cmake 2014-10-13 20:15:09.492822908 +0100 -@@ -12,7 +12,7 @@ - - # Add the Avogadro modules directory to the CMake module path - set(CMAKE_MODULE_PATH ${Avogadro_PLUGIN_DIR}/cmake ${CMAKE_MODULE_PATH}) --find_package(Eigen2 REQUIRED) -+find_package(Eigen3 REQUIRED) - include_directories(${EIGEN2_INCLUDE_DIR}) - if(Avogadro_ENABLE_GLSL) - find_package(GLEW) diff --git a/avogadro-1.2.0-eigen3.patch b/avogadro-1.2.0-eigen3.patch new file mode 100644 index 0000000..a78d58a --- /dev/null +++ b/avogadro-1.2.0-eigen3.patch @@ -0,0 +1,53 @@ +--- avogadro-1.2.0/CMakeLists.txt.omv~ 2014-01-30 13:58:22.999443609 +0100 ++++ avogadro-1.2.0/CMakeLists.txt 2014-01-30 13:59:31.086106925 +0100 +@@ -231,13 +231,15 @@ + message(WARNING " Qt4 Linguist not found, please install it if you want Avogadro translations") + endif() + +-find_package(Eigen3) # find and setup Eigen3 if available ++find_package(Eigen3 REQUIRED) # find and setup Eigen3 if available + if(NOT EIGEN3_FOUND) + message(STATUS "Cannot find Eigen3, trying Eigen2") +- find_package(Eigen2 REQUIRED) # Some version is required ++ find_package(Eigen2) # Some version is required + else() + # Use Stage10 Eigen3 support + set (EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API TRUE) ++ add_definitions (-DEIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API) ++ set (EIGEN2_INCLUDE_DIR ${EIGEN3_INCLUDE_DIR}) + endif() + + find_package(ZLIB REQUIRED) +--- avogadro-1.2.0/libavogadro/src/extensions/qtaim/CMakeLists.txt.omv~ 2014-01-30 14:12:33.859401753 +0100 ++++ avogadro-1.2.0/libavogadro/src/extensions/qtaim/CMakeLists.txt 2014-01-30 14:15:07.652727522 +0100 +@@ -4,6 +4,8 @@ + set(PLUGIN_LABEL extensions) + set(PLUGIN_TARGET extensions) + ++add_definitions(-DEIGEN2_SUPPORT_STAGE20_RESOLVE_API_CONFLICTS -std=gnu++11) ++ + set(qtaimextension_SRCS + qtaimextension.cpp + # qtaimdialog.cpp +--- avogadro-1.2.0/libavogadro/src/extensions/surfaces/openqube/CMakeLists.txt.omv~ 2014-01-30 13:59:05.889441500 +0100 ++++ avogadro-1.2.0/libavogadro/src/extensions/surfaces/openqube/CMakeLists.txt 2014-01-30 13:59:08.832774688 +0100 +@@ -2,7 +2,7 @@ + find_package(Eigen3) + if(NOT EIGEN3_FOUND) + message(STATUS "Cannot find Eigen3, trying Eigen2") +- find_package(Eigen2 REQUIRED) ++ find_package(Eigen3 REQUIRED) + else() + set (EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API TRUE) + endif() +--- avogadro-1.2.0/cmake/modules/AvogadroUse.cmake.orig 2014-10-13 20:13:59.909828034 +0100 ++++ avogadro-1.2.0/cmake/modules/AvogadroUse.cmake 2014-10-13 20:15:09.492822908 +0100 +@@ -20,7 +20,7 @@ + # If Eigen3 wasn't found, find Eigen2. It will be required. + else(EIGEN3_FOUND) + message("Eigen3 not found. Trying to find Eigen2...") +- find_package(Eigen2 REQUIRED) ++ find_package(Eigen3 REQUIRED) + include_directories(${EIGEN2_INCLUDE_DIR}) + endif(EIGEN3_FOUND) + diff --git a/avogadro-1.2.0-libmsymfloat.patch b/avogadro-1.2.0-libmsymfloat.patch new file mode 100644 index 0000000..ff1d8b2 --- /dev/null +++ b/avogadro-1.2.0-libmsymfloat.patch @@ -0,0 +1,32 @@ +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-cmake-3.2.patch b/avogadro-cmake-3.2.patch index 1c6a38d..10e56a7 100644 --- a/avogadro-cmake-3.2.patch +++ b/avogadro-cmake-3.2.patch @@ -2,10 +2,11 @@ Index: avogadro-1.1.1/CMakeLists.txt =================================================================== --- avogadro-1.1.1.orig/CMakeLists.txt +++ avogadro-1.1.1/CMakeLists.txt -@@ -225,6 +225,7 @@ set(I18N_LANGUAGE "" CACHE STRING "Build +@@ -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) diff --git a/avogadro.appdata.xml b/avogadro.appdata.xml new file mode 100644 index 0000000..4f34013 --- /dev/null +++ b/avogadro.appdata.xml @@ -0,0 +1,41 @@ + + + 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 index 6149cad..9ab43b9 100644 --- a/avogadro.spec +++ b/avogadro.spec @@ -1,56 +1,55 @@ -%{!?python2_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} - %define ENABLE_TESTS -DENABLE_TESTS:BOOL=ON Name: avogadro -Version: 1.1.1 -Release: 19%{?dist} +Version: 1.2.0 +Release: 1%{?dist} Summary: An advanced molecular editor for chemical purposes License: GPLv2 URL: http://avogadro.openmolecules.net/ -Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2 +Source0: https://sourceforge.net/projects/avogadro/files/avogadro/1.2.0//%{name}-%{version}.tar.gz +Source1: avogadro.appdata.xml ## upstreamable patches # Fix qmake mkspecs installation directory -Patch0: avogadro-1.1.1-mkspecs-dir.patch +Patch0: %{name}-1.1.1-mkspecs-dir.patch # Remove -Wl,-s from the compiler flags, fixes -debuginfo (#700080) -Patch1: avogadro-1.1.1-no-strip.patch +Patch1: %{name}-1.1.1-no-strip.patch # avogadro.pc missing eigen dependency -Patch2: avogadro-1.1.1-pkgconfig_eigen.patch - -## upstream fixes -# fix FTBFS on arm -Patch3: 0029-Fix-compilation-on-ARM-where-qreal-can-be-defined-as.patch +Patch2: %{name}-1.1.1-pkgconfig_eigen.patch ## upstreamable # fix build with cmake-3.2+ # https://sourceforge.net/p/avogadro/bugs/746/ -Patch10: avogadro-cmake-3.2.patch +Patch10: %{name}-cmake-3.2.patch # fix Eigen3 support, from OpenMandriva (Bernhard Rosenkränzer, Crispin Boylan) # disables Eigen2 support, so probably not upstreamable as is -Patch11: avogadro-1.1.1-eigen3.patch +Patch11: %{name}-1.2.0-eigen3.patch # fix build with recent boost -Patch12: avogadro-1.1.1-Q_MOC_RUN.patch +Patch12: %{name}-1.1.1-Q_MOC_RUN.patch # fix build (with recent swig/linker/python?) -Patch13: avogadro-1.1.1-python_openbabel.patch +Patch13: %{name}-1.1.1-python_openbabel.patch # fix build with recent Qt -Patch14: avogadro-1.1.1-qt.patch +Patch14: %{name}-1.1.1-qt.patch + +Patch15: %{name}-1.2.0-libmsymfloat.patch BuildRequires: boost-devel >= 1.35 BuildRequires: cmake >= 2.6.0 BuildRequires: desktop-file-utils BuildRequires: docbook-utils -BuildRequires: numpy +BuildRequires: numpy, gcc-c++ +BuildRequires: python2-devel 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: sip-devel +BuildRequires: libappstream-glib %if 0%{?ENABLE_TESTS:1} BuildRequires: dbus-x11 xorg-x11-server-Xvfb %endif @@ -79,30 +78,45 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} 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 %setup -q %patch0 -p1 -b .mkspecs-dir %patch1 -p1 -b .no-strip %patch2 -p1 -b .pkgconfig_eigen -%patch3 -p1 -b .qreal %patch10 -p1 -b .cmake_x11 %patch11 -p1 -b .eigen3 %patch12 -p1 -b .Q_MOC_RUN %patch13 -p1 -b .python_openbabel %patch14 -p1 -b .qt +%patch15 -p1 -b .libmsymfloat +## Remove spurious executable permissions +for i in `find . -perm /755 -type f \( -name "*.cpp" -o -name "*.h" -o -name "*.c" \)`; do + chmod a-x $i +done %build mkdir -p %{_target_platform} pushd %{_target_platform} -%{cmake} \ +export LDFLAGS="%{__global_ldflags} -lm -Wl,--as-needed" +export CXXFLAGS="%{optflags} -I../../libavogadro/src" +%{cmake} -DCMAKE_BUILD_TYPE:STRING=Release \ + -Wno-dev \ %{?ENABLE_TESTS} \ -DENABLE_GLSL:BOOL=ON \ -DENABLE_PYTHON:BOOL=ON \ -DENABLE_RPATH:BOOL=OFF \ -DENABLE_VERSIONED_PLUGIN_DIR:BOOL=OFF \ - .. + -DINSTALL_LIB_DIR:PATH=%{_lib}/avogadro/extensions \ + -DENABLE_THREADEDGL:BOOL=ON \ + -DINSTALL_CMAKE_DIR:PATH=%{_lib}/libmsym/cmake .. popd make %{?_smp_mflags} -C %{_target_platform} @@ -110,57 +124,72 @@ make %{?_smp_mflags} -C %{_target_platform} %install make install/fast DESTDIR=%{buildroot} -C %{_target_platform} +# Install/check appdata file. +install -pm 644 -D %{SOURCE1} \ + %{buildroot}%{_datadir}/appdata/avogadro.appdata.xml +appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/*.appdata.xml +# + %find_lang libavogadro --with-qt --without-mo %find_lang avogadro --with-qt --without-mo - %check -desktop-file-validate %{buildroot}%{_datadir}/applications/avogadro.desktop +# Version key is wrong and useless +desktop-file-edit --remove-key=Version %{buildroot}%{_datadir}/applications/avogadro.desktop + +# Tests %if 0%{?ENABLE_TESTS:1} xvfb-run -a dbus-launch --exit-with-session make test ARGS="--output-on-failure" -C %{_target_platform} ||: %endif +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig %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 +%{_datadir}/appdata/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 -%post libs -p /sbin/ldconfig -%postun libs -p /sbin/ldconfig - %files libs -f libavogadro.lang -%doc AUTHORS ChangeLog COPYING -# package python bits elsewhere/separately? -- rex +%doc AUTHORS README +%license COPYING %{python2_sitearch}/Avogadro.so %{_datadir}/libavogadro/ -%dir %{_datadir}/avogadro/ -%dir %{_datadir}/avogadro/i18n/ %{_libdir}/libavogadro.so.1* %{_libdir}/libavogadro_OpenQube.so.0* -%dir %{_libdir}/avogadro/ -%{_libdir}/avogadro/colors/ -%{_libdir}/avogadro/extensions/ -%{_libdir}/avogadro/engines/ -%{_libdir}/avogadro/tools/ +%{_libdir}/avogadro/ +%files i18n +%dir %{_datadir}/avogadro +%{_datadir}/avogadro/i18n/ %changelog +* 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 diff --git a/sources b/sources index 55ddfe1..b6ee746 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1223bb18f50dccd2c60538aa90d58c7a avogadro-1.1.1.tar.bz2 +3206068fc27bd3b717c568ee72f1e5ec avogadro-1.2.0.tar.gz