The package rpms/votca-xtp.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/votca-xtp.git/commit/?id=753d8b40...
https://src.fedoraproject.org/cgit/rpms/votca-xtp.git/commit/?id=4a67a87c...
https://src.fedoraproject.org/cgit/rpms/votca-xtp.git/commit/?id=ea5a8cc7....
Change:
-%ifarch armv7hl ppc64le s390x
+%ifarch s390x
+%ifarch armv7hl ppc64le s390x
Thanks.
Full change:
============
commit cced478e0ba52f4a554a609587d533f8d0e257a9
Author: Christoph Junghans <junghans(a)lanl.gov>
Date: Sat Apr 18 07:58:46 2020 -0600
Version bump to v1.6 (bug #1825475)
diff --git a/.gitignore b/.gitignore
index e4f5bde..2a787dd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@
/votca-xtp-1.5.1.tar.gz
/votca-xtp-1.6_rc1.tar.gz
/votca-xtp-1.6_rc2.tar.gz
+/votca-xtp-1.6.tar.gz
diff --git a/381.patch b/381.patch
deleted file mode 100644
index c2d184e..0000000
--- a/381.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9fc2c3c4bbaf2287c9e13d77132e39d6bf688228 Mon Sep 17 00:00:00 2001
-From: Christoph Junghans <junghans(a)lanl.gov>
-Date: Mon, 10 Feb 2020 16:20:03 -0700
-Subject: [PATCH] vxc_grid: fix build on 32-bit
-
----
- src/libxtp/grids/vxc_grid.cc | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/libxtp/grids/vxc_grid.cc b/src/libxtp/grids/vxc_grid.cc
-index 7379aa236..d4c4549af 100644
---- a/src/libxtp/grids/vxc_grid.cc
-+++ b/src/libxtp/grids/vxc_grid.cc
-@@ -178,13 +178,15 @@ Index Vxc_Grid::UpdateOrder(LebedevGrid&
sphericalgridofElement, Index maxorder,
- } else if ((r >= PruningIntervals[0]) && (r < PruningIntervals[1])) {
- order = sphericalgridofElement.getOrderFromIndex(4);
- } else if ((r >= PruningIntervals[1]) && (r < PruningIntervals[2])) {
-+ constexpr Index maximum = 4;
- order =
-- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 4l));
-+ sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, maximum));
- } else if ((r >= PruningIntervals[2]) && (r < PruningIntervals[3])) {
- order = maxorder;
- } else {
-+ constexpr Index maximum = 1;
- order =
-- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 1l));
-+ sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, maximum));
- }
- }
- return order;
diff --git a/sources b/sources
index ceec0f9..507d2b2 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (votca-xtp-1.6_rc2.tar.gz) =
90bc34216fedb575379b8d1114b20ddced8e5d5792234bc89dba7bc2af8e5231c014f4bad0e9c3ed8ead9a199c6718d03ef7773c2cf9a76bf56d939415a26240
+SHA512 (votca-xtp-1.6.tar.gz) =
cb99c31fe7f1af53b8ccf50cc9cc304ed5c5b5d1a165e1a72a456c0bbf5ac8bb9263c9eff829acc74be348192afbf80fd4d80a2c20d1dd5d7f909b1b50368670
diff --git a/votca-xtp.spec b/votca-xtp.spec
index 76a786e..4fc5813 100644
--- a/votca-xtp.spec
+++ b/votca-xtp.spec
@@ -1,13 +1,12 @@
Name: votca-xtp
-Version: 1.6~rc2
-%global uversion 1.6_rc2
+Version: 1.6
+%global uversion %{version}
%global sover 6
Release: 1%{?dist}
Summary: VOTCA excitation and charge properties module
License: ASL 2.0
URL:
http://www.votca.org
Source0:
https://github.com/votca/xtp/archive/v%{uversion}.tar.gz#/%{name}-%{uvers...
-Patch0: 381.patch
BuildRequires: gcc-c++
BuildRequires: cmake3
@@ -68,7 +67,6 @@ This package contains architecture independent data files for VOTCA
XTP.
%prep
%setup -qn xtp-%{uversion}
-%patch0 -p1
%build
mkdir %{_target_platform}
@@ -101,6 +99,10 @@ make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1
%{?testargs}
%{_libdir}/libvotca_xtp.so
%changelog
+* Sat Apr 18 2020 Christoph Junghans <junghans(a)votca.org> - 1.6-1
+- Version bump to v1.6 (bug #1825475)
+- Drop 381.patch - merged upstream
+
* Mon Feb 10 2020 Christoph Junghans <junghans(a)votca.org> - 1.6~rc2-1
- Version bump to 1.6~rc2
- Drop 345.patch & 347.patch - merged upstream
commit 753d8b403e27fade343e3acfa074cd1240864dd3
Author: Christoph Junghans <junghans(a)lanl.gov>
Date: Mon Feb 10 18:04:36 2020 -0700
Version bump to 1.6~rc2
diff --git a/.gitignore b/.gitignore
index be8b55e..e4f5bde 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@
/votca-xtp-manual-1.5.1.pdf
/votca-xtp-1.5.1.tar.gz
/votca-xtp-1.6_rc1.tar.gz
+/votca-xtp-1.6_rc2.tar.gz
diff --git a/345.patch b/345.patch
deleted file mode 100644
index 544a8ce..0000000
--- a/345.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From f3d2b33ed8162f1aeceb8255bb2c22e8c141021a Mon Sep 17 00:00:00 2001
-From: Jens <jenswehner(a)gmail.com>
-Date: Mon, 9 Dec 2019 18:32:51 +0100
-Subject: [PATCH] do not read empty vectors
-
----
- include/votca/xtp/checkpointreader.h | 9 +++++++++
- src/libxtp/dftcoupling.cc | 1 -
- 2 files changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/include/votca/xtp/checkpointreader.h b/include/votca/xtp/checkpointreader.h
-index 31f6bde58..f8893a7d9 100644
---- a/include/votca/xtp/checkpointreader.h
-+++ b/include/votca/xtp/checkpointreader.h
-@@ -167,6 +167,9 @@ class CheckpointReader {
- hsize_t matCols = dims[1];
-
- matrix.derived().resize(matRows, matCols);
-+ if (matrix.size() == 0) {
-+ return;
-+ }
-
- hsize_t matColSize = matrix.derived().outerStride();
-
-@@ -205,6 +208,9 @@ class CheckpointReader {
- dp.getSimpleExtentDims(dims, nullptr);
-
- v.resize(dims[0]);
-+ if (v.empty()) {
-+ return;
-+ }
- try {
- dataset.read(&(v[0]), *dataType);
- } catch (H5::Exception&) {
-@@ -227,6 +233,9 @@ class CheckpointReader {
- dp.getSimpleExtentDims(dims, nullptr);
-
- std::vector<char*> temp(dims[0]);
-+ if (temp.empty()) {
-+ return;
-+ }
- try {
- dataset.read(temp.data(), *dataType);
- } catch (H5::Exception&) {
-diff --git a/src/libxtp/dftcoupling.cc b/src/libxtp/dftcoupling.cc
-index 0aa1ee913..8f5d16371 100644
---- a/src/libxtp/dftcoupling.cc
-+++ b/src/libxtp/dftcoupling.cc
-@@ -21,7 +21,6 @@
- #include <votca/xtp/dftcoupling.h>
-
- #include <boost/format.hpp>
--#include <boost/progress.hpp>
- #include <votca/tools/constants.h>
-
- namespace votca {
diff --git a/347.patch b/347.patch
deleted file mode 100644
index 6f36f1a..0000000
--- a/347.patch
+++ /dev/null
@@ -1,385 +0,0 @@
-From 92d357ce55b903bc2f72b7993a2806b3ef86a39a Mon Sep 17 00:00:00 2001
-From: Jens <jenswehner(a)gmail.com>
-Date: Tue, 10 Dec 2019 18:16:42 +0100
-Subject: [PATCH 1/6] converted long to votca::Index
-
----
- include/votca/xtp/bseoperator_btda.h | 2 +-
- include/votca/xtp/dipoledipoleinteraction.h | 2 +-
- src/libxtp/davidsonsolver.cc | 2 +-
- src/libxtp/kmccalculator.cc | 2 +-
- src/libxtp/matrixfreeoperator.cc | 4 ++--
- src/libxtp/md2qmengine.cc | 4 ++--
- src/libxtp/segmentmapper.cc | 26 ++++++++++-----------
- 7 files changed, 21 insertions(+), 21 deletions(-)
-
-diff --git a/include/votca/xtp/bseoperator_btda.h b/include/votca/xtp/bseoperator_btda.h
-index 24dc275a8..c36f5b1bc 100644
---- a/include/votca/xtp/bseoperator_btda.h
-+++ b/include/votca/xtp/bseoperator_btda.h
-@@ -46,7 +46,7 @@ class HamiltonianOperator
- // Required typedefs, constants, and method:
- using Scalar = double;
- using RealScalar = double;
-- using StorageIndex = long;
-+ using StorageIndex = votca::Index;
- enum {
- ColsAtCompileTime = Eigen::Dynamic,
- MaxColsAtCompileTime = Eigen::Dynamic,
-diff --git a/include/votca/xtp/dipoledipoleinteraction.h
b/include/votca/xtp/dipoledipoleinteraction.h
-index a4f5d0f09..14fea937f 100644
---- a/include/votca/xtp/dipoledipoleinteraction.h
-+++ b/include/votca/xtp/dipoledipoleinteraction.h
-@@ -43,7 +43,7 @@ class DipoleDipoleInteraction
- // Required typedefs, constants, and method:
- using Scalar = double;
- using RealScalar = double;
-- using StorageIndex = long;
-+ using StorageIndex = votca::Index;
- enum {
- ColsAtCompileTime = Eigen::Dynamic,
- MaxColsAtCompileTime = Eigen::Dynamic,
-diff --git a/src/libxtp/davidsonsolver.cc b/src/libxtp/davidsonsolver.cc
-index e939ade41..0acb194c5 100644
---- a/src/libxtp/davidsonsolver.cc
-+++ b/src/libxtp/davidsonsolver.cc
-@@ -185,7 +185,7 @@ void DavidsonSolver::set_size_update(std::string update_size) {
- }
- }
-
--long DavidsonSolver::getSizeUpdate(Index neigen) const {
-+Index DavidsonSolver::getSizeUpdate(Index neigen) const {
- Index size_update;
- switch (this->_davidson_update) {
- case UPDATE::MIN:
-diff --git a/src/libxtp/kmccalculator.cc b/src/libxtp/kmccalculator.cc
-index be579cd3f..8538cdd1e 100644
---- a/src/libxtp/kmccalculator.cc
-+++ b/src/libxtp/kmccalculator.cc
-@@ -94,7 +94,7 @@ void KMCCalculator::LoadGraph(Topology& top) {
- _nodes[pair->Seg2()->getId()].AddEventfromQmPair(*pair, _nodes,
- rates.rate21);
- }
-- _RandomVariable.setMaxInt(long(_nodes.size()));
-+ _RandomVariable.setMaxInt(Index(_nodes.size()));
- cout << " Rates for " << _nodes.size() << " sites
are computed." << endl;
- WriteRatestoFile(_ratefile, nblist);
-
-diff --git a/src/libxtp/matrixfreeoperator.cc b/src/libxtp/matrixfreeoperator.cc
-index 9221d59f2..9a7d1b894 100644
---- a/src/libxtp/matrixfreeoperator.cc
-+++ b/src/libxtp/matrixfreeoperator.cc
-@@ -26,7 +26,7 @@ Eigen::RowVectorXd MatrixFreeOperator::OperatorRow(Index) const {
- return Eigen::RowVectorXd::Zero(0);
- }
-
--Eigen::MatrixXd MatrixFreeOperator::OperatorBlock(long, long) const {
-+Eigen::MatrixXd MatrixFreeOperator::OperatorBlock(Index, Index) const {
- return Eigen::MatrixXd::Zero(0, 0);
- }
-
-@@ -89,7 +89,7 @@ Eigen::MatrixXd MatrixFreeOperator::get_full_matrix() const {
- }
-
- // get the size
--long MatrixFreeOperator::size() const { return this->_size; }
-+Index MatrixFreeOperator::size() const { return this->_size; }
-
- // set the size
- void MatrixFreeOperator::set_size(Index size) { this->_size = size; }
-diff --git a/src/libxtp/md2qmengine.cc b/src/libxtp/md2qmengine.cc
-index e63b8912d..fac371402 100644
---- a/src/libxtp/md2qmengine.cc
-+++ b/src/libxtp/md2qmengine.cc
-@@ -69,7 +69,7 @@ void Md2QmEngine::CheckMappingFile(tools::Property& topology_map)
const {
- }
- }
-
--long Md2QmEngine::DetermineAtomNumOffset(
-+Index Md2QmEngine::DetermineAtomNumOffset(
- const csg::Molecule* mol, const std::vector<Index>& atom_ids_map) const {
- std::vector<Index> IDs;
- IDs.reserve(mol->BeadCount());
-@@ -132,7 +132,7 @@ Topology Md2QmEngine::map(const csg::Topology& top) const {
- xtptop.setBox(top.getBox() * tools::conv::nm2bohr, top.getBoxType());
-
- // which segmentname does an atom belong to molname atomid
-- std::map<std::string, std::map<long, std::string> > MolToSegMap;
-+ std::map<std::string, std::map<Index, std::string> > MolToSegMap;
-
- // which atomids belong to molname
- std::map<std::string, std::vector<Index> > MolToAtomIds;
-diff --git a/src/libxtp/segmentmapper.cc b/src/libxtp/segmentmapper.cc
-index 2422ad62b..074ab93f9 100644
---- a/src/libxtp/segmentmapper.cc
-+++ b/src/libxtp/segmentmapper.cc
-@@ -229,7 +229,7 @@ void SegmentMapper<AtomContainer>::LoadMappingFile(const
std::string& mapfile) {
- }
-
- template <class AtomContainer>
--std::pair<long, std::string>
SegmentMapper<AtomContainer>::StringToMapIndex(
-+std::pair<Index, std::string>
SegmentMapper<AtomContainer>::StringToMapIndex(
- const std::string& map_string) const {
- tools::Tokenizer tok(map_string, ":");
- std::vector<std::string> result = tok.ToVector();
-@@ -237,10 +237,10 @@ std::pair<long, std::string>
SegmentMapper<AtomContainer>::StringToMapIndex(
- throw std::runtime_error("Entry " + map_string +
- " is not properly formatted.");
- }
-- return std::pair<long, std::string>(std::stoi(result[0]), result[1]);
-+ return std::pair<Index, std::string>(std::stoi(result[0]), result[1]);
- }
- template <class AtomContainer>
--std::pair<long, std::string> SegmentMapper<AtomContainer>::StringToMDIndex(
-+std::pair<Index, std::string>
SegmentMapper<AtomContainer>::StringToMDIndex(
- const std::string& md_string) const {
- tools::Tokenizer tok(md_string, ":");
- std::vector<std::string> result = tok.ToVector();
-@@ -255,18 +255,18 @@ std::pair<long, std::string>
SegmentMapper<AtomContainer>::StringToMDIndex(
- throw std::runtime_error("Atom entry " + md_string +
- " is not well formatted");
- }
-- return std::pair<long, std::string>(atomid, result[1]);
-+ return std::pair<Index, std::string>(atomid, result[1]);
- }
-
- template <class AtomContainer>
--std::pair<long, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange(
-+std::pair<Index, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange(
- const std::vector<Index>& seg) const {
- Index max_res_id = *std::max_element(seg.begin(), seg.end());
- Index min_res_id = *std::min_element(seg.begin(), seg.end());
-- return std::pair<long, Index>(min_res_id, max_res_id);
-+ return std::pair<Index, Index>(min_res_id, max_res_id);
- }
- template <class AtomContainer>
--std::pair<long, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange(
-+std::pair<Index, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange(
- const Segment& seg) const {
- Index max_res_id = std::max_element(seg.begin(), seg.end(),
- [](const Atom& a, const Atom& b) {
-@@ -279,7 +279,7 @@ std::pair<long, Index>
SegmentMapper<AtomContainer>::CalcAtomIdRange(
- return a.getId() < b.getId();
- })
- ->getId();
-- return std::pair<long, Index>(min_res_id, max_res_id);
-+ return std::pair<Index, Index>(min_res_id, max_res_id);
- }
-
- template <class AtomContainer>
-@@ -294,7 +294,7 @@ void SegmentMapper<AtomContainer>::PlaceMapAtomonMD(
- }
-
- template <class AtomContainer>
--long SegmentMapper<AtomContainer>::FindVectorIndexFromAtomId(
-+Index SegmentMapper<AtomContainer>::FindVectorIndexFromAtomId(
- Index atomid, const std::vector<mapAtom*>& fragment_mapatoms) const {
- Index i = 0;
- for (; i < Index(fragment_mapatoms.size()); i++) {
-@@ -415,7 +415,7 @@ AtomContainer SegmentMapper<AtomContainer>::map(
- "Could not find a Segment of name: " + seg.getType() + " in
mapfile.");
- }
- Seginfo seginfo = _segment_info.at(seg.getType());
-- if (long(seginfo.mdatoms.size()) != seg.size()) {
-+ if (Index(seginfo.mdatoms.size()) != seg.size()) {
- throw std::runtime_error(
- "Segment '" + seg.getType() +
- "' does not contain the same number of atoms as mapping file: " +
-@@ -423,8 +423,8 @@ AtomContainer SegmentMapper<AtomContainer>::map(
- std::to_string(seg.size()));
- }
-
-- std::pair<long, Index> minmax_map = seginfo.minmax;
-- std::pair<long, Index> minmax = CalcAtomIdRange(seg);
-+ std::pair<Index, Index> minmax_map = seginfo.minmax;
-+ std::pair<Index, Index> minmax = CalcAtomIdRange(seg);
-
- if ((minmax_map.first - minmax_map.second) !=
- (minmax.first - minmax.second)) {
-@@ -442,7 +442,7 @@ AtomContainer SegmentMapper<AtomContainer>::map(
- AtomContainer Result(seg.getType(), seg.getId());
- Result.LoadFromFile(coordfilename);
-
-- if (long(seginfo.mapatoms.size()) != Result.size()) {
-+ if (Index(seginfo.mapatoms.size()) != Result.size()) {
- throw std::runtime_error(
- _mapatom_xml.at("tag") + "Segment '" + seg.getType() +
- "' does not contain the same number of atoms as mapping file: " +
-
-From 4088885e4d32ddaa8d93f76d7d42fff7ba756852 Mon Sep 17 00:00:00 2001
-From: Jens <jenswehner(a)gmail.com>
-Date: Tue, 10 Dec 2019 20:35:30 +0100
-Subject: [PATCH 2/6] fix constants
-
----
- .../numerical_integration/numerical_integrations.cc | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/src/libxtp/numerical_integration/numerical_integrations.cc
b/src/libxtp/numerical_integration/numerical_integrations.cc
-index e2018c283..a35e871b5 100644
---- a/src/libxtp/numerical_integration/numerical_integrations.cc
-+++ b/src/libxtp/numerical_integration/numerical_integrations.cc
-@@ -571,13 +571,15 @@ Index NumericalIntegration::UpdateOrder(LebedevGrid&
sphericalgridofElement,
- } else if ((r >= PruningIntervals[0]) && (r < PruningIntervals[1])) {
- order = sphericalgridofElement.getOrderFromIndex(4);
- } else if ((r >= PruningIntervals[1]) && (r < PruningIntervals[2])) {
-- order =
-- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 4l));
-+ constexpr Index maximum = 4;
-+ order = sphericalgridofElement.getOrderFromIndex(
-+ std::max(maxindex - 1, maximum));
- } else if ((r >= PruningIntervals[2]) && (r < PruningIntervals[3])) {
- order = maxorder;
- } else {
-- order =
-- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 1l));
-+ constexpr Index minimum = 1;
-+ order = sphericalgridofElement.getOrderFromIndex(
-+ std::max(maxindex - 1, minimum));
- }
- }
- return order;
-
-From 99a0caa43b1ccb46213685acb767e03d822a96d6 Mon Sep 17 00:00:00 2001
-From: Christoph Junghans <junghans(a)lanl.gov>
-Date: Tue, 10 Dec 2019 17:17:55 -0700
-Subject: [PATCH 3/6] NWChem::WriteBackgroundCharges: long -> Index
-
----
- src/libxtp/qmpackages/nwchem.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libxtp/qmpackages/nwchem.cc b/src/libxtp/qmpackages/nwchem.cc
-index 60ca41ce1..3c7854bed 100644
---- a/src/libxtp/qmpackages/nwchem.cc
-+++ b/src/libxtp/qmpackages/nwchem.cc
-@@ -62,7 +62,7 @@ void NWChem::WriteChargeOption() {
- }
- }
-
--long NWChem::WriteBackgroundCharges(ofstream& nw_file) {
-+Index NWChem::WriteBackgroundCharges(ofstream& nw_file) {
-
- Index numberofcharges = 0;
- boost::format fmt("%1$+1.7f %2$+1.7f %3$+1.7f %4$+1.7f");
-
-From 2d126ef4cd5d9ef94dd8ca2ebca81921ab29c2f8 Mon Sep 17 00:00:00 2001
-From: Jens <jenswehner(a)gmail.com>
-Date: Wed, 11 Dec 2019 14:26:23 +0100
-Subject: [PATCH 4/6] another long
-
----
- include/votca/xtp/segmentmapper.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/votca/xtp/segmentmapper.h b/include/votca/xtp/segmentmapper.h
-index 66f722850..da61a6aa1 100644
---- a/include/votca/xtp/segmentmapper.h
-+++ b/include/votca/xtp/segmentmapper.h
-@@ -47,7 +47,7 @@ class SegmentMapper {
- using mapAtom = typename std::iterator_traits<
- typename AtomContainer::iterator>::value_type;
-
-- typedef std::pair<long, std::string> atom_id;
-+ typedef std::pair<Index, std::string> atom_id;
-
- struct FragInfo {
- std::vector<double> _weights;
-
-From 6345500a55fc90951e2bc790a8b7dfa93840c89a Mon Sep 17 00:00:00 2001
-From: Jens <jenswehner(a)gmail.com>
-Date: Wed, 11 Dec 2019 16:20:35 +0100
-Subject: [PATCH 5/6] more longs
-
----
- include/votca/xtp/segmentmapper.h | 6 +++---
- src/libxtp/qmpackages/gaussian.cc | 6 +++---
- src/libxtp/symmetric_matrix.cc | 2 +-
- 3 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/include/votca/xtp/segmentmapper.h b/include/votca/xtp/segmentmapper.h
-index da61a6aa1..f717c0198 100644
---- a/include/votca/xtp/segmentmapper.h
-+++ b/include/votca/xtp/segmentmapper.h
-@@ -57,7 +57,7 @@ class SegmentMapper {
- };
-
- struct Seginfo {
-- std::pair<long, Index> minmax;
-+ std::pair<Index, Index> minmax;
- std::vector<Index> mdatoms;
- std::vector<FragInfo> fragments;
- bool map2md;
-@@ -86,8 +86,8 @@ class SegmentMapper {
- const std::vector<const Atom*>& fragment_mdatoms)
const;
-
- Logger& _log;
-- std::pair<long, Index> CalcAtomIdRange(const Segment& seg) const;
-- std::pair<long, Index> CalcAtomIdRange(const std::vector<Index>& seg)
const;
-+ std::pair<Index, Index> CalcAtomIdRange(const Segment& seg) const;
-+ std::pair<Index, Index> CalcAtomIdRange(const std::vector<Index>& seg)
const;
-
- atom_id StringToMapIndex(const std::string& map_string) const;
-
-diff --git a/src/libxtp/qmpackages/gaussian.cc b/src/libxtp/qmpackages/gaussian.cc
-index b3f9fed6d..eb91c4a9b 100644
---- a/src/libxtp/qmpackages/gaussian.cc
-+++ b/src/libxtp/qmpackages/gaussian.cc
-@@ -515,8 +515,8 @@ void Gaussian::CleanUp() {
- * Reads in the MO coefficients from a GAUSSIAN fort.7 file
- */
- bool Gaussian::ParseMOsFile(Orbitals& orbitals) {
-- std::map<long, std::vector<double> > coefficients;
-- std::map<long, double> energies;
-+ std::map<Index, std::vector<double> > coefficients;
-+ std::map<Index, double> energies;
-
- std::string line;
- Index levels = 0;
-@@ -576,7 +576,7 @@ bool Gaussian::ParseMOsFile(Orbitals& orbitals) {
-
- // some sanity checks
- XTP_LOG(Log::info, *_pLog) << "Energy levels: " << levels
<< flush;
-- std::map<long, std::vector<double> >::iterator iter =
coefficients.begin();
-+ std::map<Index, std::vector<double> >::iterator iter =
coefficients.begin();
- basis_size = Index(iter->second.size());
-
- for (const auto& row : coefficients) {
-diff --git a/src/libxtp/symmetric_matrix.cc b/src/libxtp/symmetric_matrix.cc
-index 68aeb3fe8..0a5e6a0ef 100644
---- a/src/libxtp/symmetric_matrix.cc
-+++ b/src/libxtp/symmetric_matrix.cc
-@@ -121,7 +121,7 @@ Eigen::MatrixXd Symmetric_Matrix::UpperMatrix() const {
- return result;
- }
-
--long Symmetric_Matrix::index(Index i, Index j) const {
-+Index Symmetric_Matrix::index(Index i, Index j) const {
- Index index;
- if (i >= j) {
- index = (i * (i + 1)) / 2 + j;
-
-From 798e28beafe667e1d34a863c10a1c679afc92985 Mon Sep 17 00:00:00 2001
-From: Christoph Junghans <junghans(a)lanl.gov>
-Date: Wed, 11 Dec 2019 09:00:13 -0700
-Subject: [PATCH 6/6] threecenter_rep: Index fix
-
----
- src/libxtp/threecenter_rep.cc | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/libxtp/threecenter_rep.cc b/src/libxtp/threecenter_rep.cc
-index bde5201bd..f77b55198 100644
---- a/src/libxtp/threecenter_rep.cc
-+++ b/src/libxtp/threecenter_rep.cc
-@@ -141,8 +141,9 @@ bool TCMatrix::FillThreeCenterRepBlock(Eigen::Tensor<double,
3>& threec_block,
- const Eigen::Vector3d wmp = W - P;
- const Eigen::Vector3d wmc = W - pos_gamma;
-
-+ constexpr Index maximum = 2;
- Eigen::Tensor<double, 3> R_temp(ncombined, ngamma,
-- std::max(2l, mmax + 1));
-+ std::max(maximum, mmax + 1));
- R_temp.setZero();
-
- const Eigen::VectorXd FmT = AOTransform::XIntegrate(mmax + 1, U);
diff --git a/381.patch b/381.patch
new file mode 100644
index 0000000..c2d184e
--- /dev/null
+++ b/381.patch
@@ -0,0 +1,31 @@
+From 9fc2c3c4bbaf2287c9e13d77132e39d6bf688228 Mon Sep 17 00:00:00 2001
+From: Christoph Junghans <junghans(a)lanl.gov>
+Date: Mon, 10 Feb 2020 16:20:03 -0700
+Subject: [PATCH] vxc_grid: fix build on 32-bit
+
+---
+ src/libxtp/grids/vxc_grid.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/libxtp/grids/vxc_grid.cc b/src/libxtp/grids/vxc_grid.cc
+index 7379aa236..d4c4549af 100644
+--- a/src/libxtp/grids/vxc_grid.cc
++++ b/src/libxtp/grids/vxc_grid.cc
+@@ -178,13 +178,15 @@ Index Vxc_Grid::UpdateOrder(LebedevGrid&
sphericalgridofElement, Index maxorder,
+ } else if ((r >= PruningIntervals[0]) && (r < PruningIntervals[1])) {
+ order = sphericalgridofElement.getOrderFromIndex(4);
+ } else if ((r >= PruningIntervals[1]) && (r < PruningIntervals[2])) {
++ constexpr Index maximum = 4;
+ order =
+- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 4l));
++ sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, maximum));
+ } else if ((r >= PruningIntervals[2]) && (r < PruningIntervals[3])) {
+ order = maxorder;
+ } else {
++ constexpr Index maximum = 1;
+ order =
+- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 1l));
++ sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, maximum));
+ }
+ }
+ return order;
diff --git a/sources b/sources
index fbd5acd..ceec0f9 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (votca-xtp-1.6_rc1.tar.gz) =
0b54eddcf944967b1d41f75f4887eba9edc3be18b94d319e93e795a24f58a2877d7f60afd806290eacb41d329d1b1206ebaab83874d6be2d5b026f06dbc19dfd
+SHA512 (votca-xtp-1.6_rc2.tar.gz) =
90bc34216fedb575379b8d1114b20ddced8e5d5792234bc89dba7bc2af8e5231c014f4bad0e9c3ed8ead9a199c6718d03ef7773c2cf9a76bf56d939415a26240
diff --git a/votca-xtp.spec b/votca-xtp.spec
index ea1f6b3..76a786e 100644
--- a/votca-xtp.spec
+++ b/votca-xtp.spec
@@ -1,17 +1,13 @@
-%global _rcname rc1
-%global _rc _%%_rcname
-
Name: votca-xtp
-Version: 1.6
+Version: 1.6~rc2
+%global uversion 1.6_rc2
%global sover 6
-Release: 0.3%{?_rcname}%{?dist}
+Release: 1%{?dist}
Summary: VOTCA excitation and charge properties module
License: ASL 2.0
URL:
http://www.votca.org
-Source0:
https://github.com/votca/xtp/archive/v%{version}%{?_rc}.tar.gz#/%{name}-%...
-Patch0:
https://github.com/votca/xtp/pull/345.patch
-Patch1:
https://github.com/votca/xtp/pull/347.patch
-Patch2: disable-out-of-mem-tests.patch
+Source0:
https://github.com/votca/xtp/archive/v%{uversion}.tar.gz#/%{name}-%{uvers...
+Patch0: 381.patch
BuildRequires: gcc-c++
BuildRequires: cmake3
@@ -71,12 +67,8 @@ coarse-graining of various systems. The core is written in C++.
This package contains architecture independent data files for VOTCA XTP.
%prep
-%setup -qn xtp-%{version}%{?_rc}
+%setup -qn xtp-%{uversion}
%patch0 -p1
-%patch1 -p1
-%ifarch armv7hl i686 s390x
-%patch2 -p1
-%endif
%build
mkdir %{_target_platform}
@@ -88,11 +80,7 @@ pushd %{_target_platform}
%make_install -C%{_target_platform}
%check
-%ifarch armv7hl ppc64le s390x
-#
https://github.com/votca/xtp/issues/340
-%global testargs ARGS='-E unit_test_gw'
-%endif
-make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testargs}}
+make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs}
%ldconfig_scriptlets libs
@@ -113,6 +101,11 @@ make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1
%{?testargs:%{testarg
%{_libdir}/libvotca_xtp.so
%changelog
+* Mon Feb 10 2020 Christoph Junghans <junghans(a)votca.org> - 1.6~rc2-1
+- Version bump to 1.6~rc2
+- Drop 345.patch & 347.patch - merged upstream
+- Add 381.patch to fix 32-bit build
+
* Fri Jan 31 2020 Fedora Release Engineering <releng(a)fedoraproject.org> -
1.6-0.3rc1
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
commit ff9e851d286090f0b7e5d9cc420a7d409f5ddd86
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 31 03:23:15 2020 +0000
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/votca-xtp.spec b/votca-xtp.spec
index a004dd1..ea1f6b3 100644
--- a/votca-xtp.spec
+++ b/votca-xtp.spec
@@ -4,7 +4,7 @@
Name: votca-xtp
Version: 1.6
%global sover 6
-Release: 0.2%{?_rcname}%{?dist}
+Release: 0.3%{?_rcname}%{?dist}
Summary: VOTCA excitation and charge properties module
License: ASL 2.0
URL:
http://www.votca.org
@@ -113,6 +113,9 @@ make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1
%{?testargs:%{testarg
%{_libdir}/libvotca_xtp.so
%changelog
+* Fri Jan 31 2020 Fedora Release Engineering <releng(a)fedoraproject.org> -
1.6-0.3rc1
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
* Thu Dec 12 2019 Christoph Junghans <junghans(a)votca.org> - 1.6-0.2rc1
- Added upstream 347.patch to fix 32bit builds
- Added upstream 345.patch to fix failing tests
commit ea5a8cc7b65c327b8a164f37447d1c2ecef6f5b3
Author: Christoph Junghans <junghans(a)lanl.gov>
Date: Fri Dec 13 15:23:15 2019 -0700
fix 32bit builds
diff --git a/345.patch b/345.patch
new file mode 100644
index 0000000..544a8ce
--- /dev/null
+++ b/345.patch
@@ -0,0 +1,56 @@
+From f3d2b33ed8162f1aeceb8255bb2c22e8c141021a Mon Sep 17 00:00:00 2001
+From: Jens <jenswehner(a)gmail.com>
+Date: Mon, 9 Dec 2019 18:32:51 +0100
+Subject: [PATCH] do not read empty vectors
+
+---
+ include/votca/xtp/checkpointreader.h | 9 +++++++++
+ src/libxtp/dftcoupling.cc | 1 -
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/include/votca/xtp/checkpointreader.h b/include/votca/xtp/checkpointreader.h
+index 31f6bde58..f8893a7d9 100644
+--- a/include/votca/xtp/checkpointreader.h
++++ b/include/votca/xtp/checkpointreader.h
+@@ -167,6 +167,9 @@ class CheckpointReader {
+ hsize_t matCols = dims[1];
+
+ matrix.derived().resize(matRows, matCols);
++ if (matrix.size() == 0) {
++ return;
++ }
+
+ hsize_t matColSize = matrix.derived().outerStride();
+
+@@ -205,6 +208,9 @@ class CheckpointReader {
+ dp.getSimpleExtentDims(dims, nullptr);
+
+ v.resize(dims[0]);
++ if (v.empty()) {
++ return;
++ }
+ try {
+ dataset.read(&(v[0]), *dataType);
+ } catch (H5::Exception&) {
+@@ -227,6 +233,9 @@ class CheckpointReader {
+ dp.getSimpleExtentDims(dims, nullptr);
+
+ std::vector<char*> temp(dims[0]);
++ if (temp.empty()) {
++ return;
++ }
+ try {
+ dataset.read(temp.data(), *dataType);
+ } catch (H5::Exception&) {
+diff --git a/src/libxtp/dftcoupling.cc b/src/libxtp/dftcoupling.cc
+index 0aa1ee913..8f5d16371 100644
+--- a/src/libxtp/dftcoupling.cc
++++ b/src/libxtp/dftcoupling.cc
+@@ -21,7 +21,6 @@
+ #include <votca/xtp/dftcoupling.h>
+
+ #include <boost/format.hpp>
+-#include <boost/progress.hpp>
+ #include <votca/tools/constants.h>
+
+ namespace votca {
diff --git a/347.patch b/347.patch
new file mode 100644
index 0000000..6f36f1a
--- /dev/null
+++ b/347.patch
@@ -0,0 +1,385 @@
+From 92d357ce55b903bc2f72b7993a2806b3ef86a39a Mon Sep 17 00:00:00 2001
+From: Jens <jenswehner(a)gmail.com>
+Date: Tue, 10 Dec 2019 18:16:42 +0100
+Subject: [PATCH 1/6] converted long to votca::Index
+
+---
+ include/votca/xtp/bseoperator_btda.h | 2 +-
+ include/votca/xtp/dipoledipoleinteraction.h | 2 +-
+ src/libxtp/davidsonsolver.cc | 2 +-
+ src/libxtp/kmccalculator.cc | 2 +-
+ src/libxtp/matrixfreeoperator.cc | 4 ++--
+ src/libxtp/md2qmengine.cc | 4 ++--
+ src/libxtp/segmentmapper.cc | 26 ++++++++++-----------
+ 7 files changed, 21 insertions(+), 21 deletions(-)
+
+diff --git a/include/votca/xtp/bseoperator_btda.h b/include/votca/xtp/bseoperator_btda.h
+index 24dc275a8..c36f5b1bc 100644
+--- a/include/votca/xtp/bseoperator_btda.h
++++ b/include/votca/xtp/bseoperator_btda.h
+@@ -46,7 +46,7 @@ class HamiltonianOperator
+ // Required typedefs, constants, and method:
+ using Scalar = double;
+ using RealScalar = double;
+- using StorageIndex = long;
++ using StorageIndex = votca::Index;
+ enum {
+ ColsAtCompileTime = Eigen::Dynamic,
+ MaxColsAtCompileTime = Eigen::Dynamic,
+diff --git a/include/votca/xtp/dipoledipoleinteraction.h
b/include/votca/xtp/dipoledipoleinteraction.h
+index a4f5d0f09..14fea937f 100644
+--- a/include/votca/xtp/dipoledipoleinteraction.h
++++ b/include/votca/xtp/dipoledipoleinteraction.h
+@@ -43,7 +43,7 @@ class DipoleDipoleInteraction
+ // Required typedefs, constants, and method:
+ using Scalar = double;
+ using RealScalar = double;
+- using StorageIndex = long;
++ using StorageIndex = votca::Index;
+ enum {
+ ColsAtCompileTime = Eigen::Dynamic,
+ MaxColsAtCompileTime = Eigen::Dynamic,
+diff --git a/src/libxtp/davidsonsolver.cc b/src/libxtp/davidsonsolver.cc
+index e939ade41..0acb194c5 100644
+--- a/src/libxtp/davidsonsolver.cc
++++ b/src/libxtp/davidsonsolver.cc
+@@ -185,7 +185,7 @@ void DavidsonSolver::set_size_update(std::string update_size) {
+ }
+ }
+
+-long DavidsonSolver::getSizeUpdate(Index neigen) const {
++Index DavidsonSolver::getSizeUpdate(Index neigen) const {
+ Index size_update;
+ switch (this->_davidson_update) {
+ case UPDATE::MIN:
+diff --git a/src/libxtp/kmccalculator.cc b/src/libxtp/kmccalculator.cc
+index be579cd3f..8538cdd1e 100644
+--- a/src/libxtp/kmccalculator.cc
++++ b/src/libxtp/kmccalculator.cc
+@@ -94,7 +94,7 @@ void KMCCalculator::LoadGraph(Topology& top) {
+ _nodes[pair->Seg2()->getId()].AddEventfromQmPair(*pair, _nodes,
+ rates.rate21);
+ }
+- _RandomVariable.setMaxInt(long(_nodes.size()));
++ _RandomVariable.setMaxInt(Index(_nodes.size()));
+ cout << " Rates for " << _nodes.size() << " sites
are computed." << endl;
+ WriteRatestoFile(_ratefile, nblist);
+
+diff --git a/src/libxtp/matrixfreeoperator.cc b/src/libxtp/matrixfreeoperator.cc
+index 9221d59f2..9a7d1b894 100644
+--- a/src/libxtp/matrixfreeoperator.cc
++++ b/src/libxtp/matrixfreeoperator.cc
+@@ -26,7 +26,7 @@ Eigen::RowVectorXd MatrixFreeOperator::OperatorRow(Index) const {
+ return Eigen::RowVectorXd::Zero(0);
+ }
+
+-Eigen::MatrixXd MatrixFreeOperator::OperatorBlock(long, long) const {
++Eigen::MatrixXd MatrixFreeOperator::OperatorBlock(Index, Index) const {
+ return Eigen::MatrixXd::Zero(0, 0);
+ }
+
+@@ -89,7 +89,7 @@ Eigen::MatrixXd MatrixFreeOperator::get_full_matrix() const {
+ }
+
+ // get the size
+-long MatrixFreeOperator::size() const { return this->_size; }
++Index MatrixFreeOperator::size() const { return this->_size; }
+
+ // set the size
+ void MatrixFreeOperator::set_size(Index size) { this->_size = size; }
+diff --git a/src/libxtp/md2qmengine.cc b/src/libxtp/md2qmengine.cc
+index e63b8912d..fac371402 100644
+--- a/src/libxtp/md2qmengine.cc
++++ b/src/libxtp/md2qmengine.cc
+@@ -69,7 +69,7 @@ void Md2QmEngine::CheckMappingFile(tools::Property& topology_map)
const {
+ }
+ }
+
+-long Md2QmEngine::DetermineAtomNumOffset(
++Index Md2QmEngine::DetermineAtomNumOffset(
+ const csg::Molecule* mol, const std::vector<Index>& atom_ids_map) const {
+ std::vector<Index> IDs;
+ IDs.reserve(mol->BeadCount());
+@@ -132,7 +132,7 @@ Topology Md2QmEngine::map(const csg::Topology& top) const {
+ xtptop.setBox(top.getBox() * tools::conv::nm2bohr, top.getBoxType());
+
+ // which segmentname does an atom belong to molname atomid
+- std::map<std::string, std::map<long, std::string> > MolToSegMap;
++ std::map<std::string, std::map<Index, std::string> > MolToSegMap;
+
+ // which atomids belong to molname
+ std::map<std::string, std::vector<Index> > MolToAtomIds;
+diff --git a/src/libxtp/segmentmapper.cc b/src/libxtp/segmentmapper.cc
+index 2422ad62b..074ab93f9 100644
+--- a/src/libxtp/segmentmapper.cc
++++ b/src/libxtp/segmentmapper.cc
+@@ -229,7 +229,7 @@ void SegmentMapper<AtomContainer>::LoadMappingFile(const
std::string& mapfile) {
+ }
+
+ template <class AtomContainer>
+-std::pair<long, std::string>
SegmentMapper<AtomContainer>::StringToMapIndex(
++std::pair<Index, std::string>
SegmentMapper<AtomContainer>::StringToMapIndex(
+ const std::string& map_string) const {
+ tools::Tokenizer tok(map_string, ":");
+ std::vector<std::string> result = tok.ToVector();
+@@ -237,10 +237,10 @@ std::pair<long, std::string>
SegmentMapper<AtomContainer>::StringToMapIndex(
+ throw std::runtime_error("Entry " + map_string +
+ " is not properly formatted.");
+ }
+- return std::pair<long, std::string>(std::stoi(result[0]), result[1]);
++ return std::pair<Index, std::string>(std::stoi(result[0]), result[1]);
+ }
+ template <class AtomContainer>
+-std::pair<long, std::string> SegmentMapper<AtomContainer>::StringToMDIndex(
++std::pair<Index, std::string>
SegmentMapper<AtomContainer>::StringToMDIndex(
+ const std::string& md_string) const {
+ tools::Tokenizer tok(md_string, ":");
+ std::vector<std::string> result = tok.ToVector();
+@@ -255,18 +255,18 @@ std::pair<long, std::string>
SegmentMapper<AtomContainer>::StringToMDIndex(
+ throw std::runtime_error("Atom entry " + md_string +
+ " is not well formatted");
+ }
+- return std::pair<long, std::string>(atomid, result[1]);
++ return std::pair<Index, std::string>(atomid, result[1]);
+ }
+
+ template <class AtomContainer>
+-std::pair<long, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange(
++std::pair<Index, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange(
+ const std::vector<Index>& seg) const {
+ Index max_res_id = *std::max_element(seg.begin(), seg.end());
+ Index min_res_id = *std::min_element(seg.begin(), seg.end());
+- return std::pair<long, Index>(min_res_id, max_res_id);
++ return std::pair<Index, Index>(min_res_id, max_res_id);
+ }
+ template <class AtomContainer>
+-std::pair<long, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange(
++std::pair<Index, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange(
+ const Segment& seg) const {
+ Index max_res_id = std::max_element(seg.begin(), seg.end(),
+ [](const Atom& a, const Atom& b) {
+@@ -279,7 +279,7 @@ std::pair<long, Index>
SegmentMapper<AtomContainer>::CalcAtomIdRange(
+ return a.getId() < b.getId();
+ })
+ ->getId();
+- return std::pair<long, Index>(min_res_id, max_res_id);
++ return std::pair<Index, Index>(min_res_id, max_res_id);
+ }
+
+ template <class AtomContainer>
+@@ -294,7 +294,7 @@ void SegmentMapper<AtomContainer>::PlaceMapAtomonMD(
+ }
+
+ template <class AtomContainer>
+-long SegmentMapper<AtomContainer>::FindVectorIndexFromAtomId(
++Index SegmentMapper<AtomContainer>::FindVectorIndexFromAtomId(
+ Index atomid, const std::vector<mapAtom*>& fragment_mapatoms) const {
+ Index i = 0;
+ for (; i < Index(fragment_mapatoms.size()); i++) {
+@@ -415,7 +415,7 @@ AtomContainer SegmentMapper<AtomContainer>::map(
+ "Could not find a Segment of name: " + seg.getType() + " in
mapfile.");
+ }
+ Seginfo seginfo = _segment_info.at(seg.getType());
+- if (long(seginfo.mdatoms.size()) != seg.size()) {
++ if (Index(seginfo.mdatoms.size()) != seg.size()) {
+ throw std::runtime_error(
+ "Segment '" + seg.getType() +
+ "' does not contain the same number of atoms as mapping file: " +
+@@ -423,8 +423,8 @@ AtomContainer SegmentMapper<AtomContainer>::map(
+ std::to_string(seg.size()));
+ }
+
+- std::pair<long, Index> minmax_map = seginfo.minmax;
+- std::pair<long, Index> minmax = CalcAtomIdRange(seg);
++ std::pair<Index, Index> minmax_map = seginfo.minmax;
++ std::pair<Index, Index> minmax = CalcAtomIdRange(seg);
+
+ if ((minmax_map.first - minmax_map.second) !=
+ (minmax.first - minmax.second)) {
+@@ -442,7 +442,7 @@ AtomContainer SegmentMapper<AtomContainer>::map(
+ AtomContainer Result(seg.getType(), seg.getId());
+ Result.LoadFromFile(coordfilename);
+
+- if (long(seginfo.mapatoms.size()) != Result.size()) {
++ if (Index(seginfo.mapatoms.size()) != Result.size()) {
+ throw std::runtime_error(
+ _mapatom_xml.at("tag") + "Segment '" + seg.getType() +
+ "' does not contain the same number of atoms as mapping file: " +
+
+From 4088885e4d32ddaa8d93f76d7d42fff7ba756852 Mon Sep 17 00:00:00 2001
+From: Jens <jenswehner(a)gmail.com>
+Date: Tue, 10 Dec 2019 20:35:30 +0100
+Subject: [PATCH 2/6] fix constants
+
+---
+ .../numerical_integration/numerical_integrations.cc | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/src/libxtp/numerical_integration/numerical_integrations.cc
b/src/libxtp/numerical_integration/numerical_integrations.cc
+index e2018c283..a35e871b5 100644
+--- a/src/libxtp/numerical_integration/numerical_integrations.cc
++++ b/src/libxtp/numerical_integration/numerical_integrations.cc
+@@ -571,13 +571,15 @@ Index NumericalIntegration::UpdateOrder(LebedevGrid&
sphericalgridofElement,
+ } else if ((r >= PruningIntervals[0]) && (r < PruningIntervals[1])) {
+ order = sphericalgridofElement.getOrderFromIndex(4);
+ } else if ((r >= PruningIntervals[1]) && (r < PruningIntervals[2])) {
+- order =
+- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 4l));
++ constexpr Index maximum = 4;
++ order = sphericalgridofElement.getOrderFromIndex(
++ std::max(maxindex - 1, maximum));
+ } else if ((r >= PruningIntervals[2]) && (r < PruningIntervals[3])) {
+ order = maxorder;
+ } else {
+- order =
+- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 1l));
++ constexpr Index minimum = 1;
++ order = sphericalgridofElement.getOrderFromIndex(
++ std::max(maxindex - 1, minimum));
+ }
+ }
+ return order;
+
+From 99a0caa43b1ccb46213685acb767e03d822a96d6 Mon Sep 17 00:00:00 2001
+From: Christoph Junghans <junghans(a)lanl.gov>
+Date: Tue, 10 Dec 2019 17:17:55 -0700
+Subject: [PATCH 3/6] NWChem::WriteBackgroundCharges: long -> Index
+
+---
+ src/libxtp/qmpackages/nwchem.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libxtp/qmpackages/nwchem.cc b/src/libxtp/qmpackages/nwchem.cc
+index 60ca41ce1..3c7854bed 100644
+--- a/src/libxtp/qmpackages/nwchem.cc
++++ b/src/libxtp/qmpackages/nwchem.cc
+@@ -62,7 +62,7 @@ void NWChem::WriteChargeOption() {
+ }
+ }
+
+-long NWChem::WriteBackgroundCharges(ofstream& nw_file) {
++Index NWChem::WriteBackgroundCharges(ofstream& nw_file) {
+
+ Index numberofcharges = 0;
+ boost::format fmt("%1$+1.7f %2$+1.7f %3$+1.7f %4$+1.7f");
+
+From 2d126ef4cd5d9ef94dd8ca2ebca81921ab29c2f8 Mon Sep 17 00:00:00 2001
+From: Jens <jenswehner(a)gmail.com>
+Date: Wed, 11 Dec 2019 14:26:23 +0100
+Subject: [PATCH 4/6] another long
+
+---
+ include/votca/xtp/segmentmapper.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/votca/xtp/segmentmapper.h b/include/votca/xtp/segmentmapper.h
+index 66f722850..da61a6aa1 100644
+--- a/include/votca/xtp/segmentmapper.h
++++ b/include/votca/xtp/segmentmapper.h
+@@ -47,7 +47,7 @@ class SegmentMapper {
+ using mapAtom = typename std::iterator_traits<
+ typename AtomContainer::iterator>::value_type;
+
+- typedef std::pair<long, std::string> atom_id;
++ typedef std::pair<Index, std::string> atom_id;
+
+ struct FragInfo {
+ std::vector<double> _weights;
+
+From 6345500a55fc90951e2bc790a8b7dfa93840c89a Mon Sep 17 00:00:00 2001
+From: Jens <jenswehner(a)gmail.com>
+Date: Wed, 11 Dec 2019 16:20:35 +0100
+Subject: [PATCH 5/6] more longs
+
+---
+ include/votca/xtp/segmentmapper.h | 6 +++---
+ src/libxtp/qmpackages/gaussian.cc | 6 +++---
+ src/libxtp/symmetric_matrix.cc | 2 +-
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/include/votca/xtp/segmentmapper.h b/include/votca/xtp/segmentmapper.h
+index da61a6aa1..f717c0198 100644
+--- a/include/votca/xtp/segmentmapper.h
++++ b/include/votca/xtp/segmentmapper.h
+@@ -57,7 +57,7 @@ class SegmentMapper {
+ };
+
+ struct Seginfo {
+- std::pair<long, Index> minmax;
++ std::pair<Index, Index> minmax;
+ std::vector<Index> mdatoms;
+ std::vector<FragInfo> fragments;
+ bool map2md;
+@@ -86,8 +86,8 @@ class SegmentMapper {
+ const std::vector<const Atom*>& fragment_mdatoms)
const;
+
+ Logger& _log;
+- std::pair<long, Index> CalcAtomIdRange(const Segment& seg) const;
+- std::pair<long, Index> CalcAtomIdRange(const std::vector<Index>& seg)
const;
++ std::pair<Index, Index> CalcAtomIdRange(const Segment& seg) const;
++ std::pair<Index, Index> CalcAtomIdRange(const std::vector<Index>& seg)
const;
+
+ atom_id StringToMapIndex(const std::string& map_string) const;
+
+diff --git a/src/libxtp/qmpackages/gaussian.cc b/src/libxtp/qmpackages/gaussian.cc
+index b3f9fed6d..eb91c4a9b 100644
+--- a/src/libxtp/qmpackages/gaussian.cc
++++ b/src/libxtp/qmpackages/gaussian.cc
+@@ -515,8 +515,8 @@ void Gaussian::CleanUp() {
+ * Reads in the MO coefficients from a GAUSSIAN fort.7 file
+ */
+ bool Gaussian::ParseMOsFile(Orbitals& orbitals) {
+- std::map<long, std::vector<double> > coefficients;
+- std::map<long, double> energies;
++ std::map<Index, std::vector<double> > coefficients;
++ std::map<Index, double> energies;
+
+ std::string line;
+ Index levels = 0;
+@@ -576,7 +576,7 @@ bool Gaussian::ParseMOsFile(Orbitals& orbitals) {
+
+ // some sanity checks
+ XTP_LOG(Log::info, *_pLog) << "Energy levels: " << levels
<< flush;
+- std::map<long, std::vector<double> >::iterator iter =
coefficients.begin();
++ std::map<Index, std::vector<double> >::iterator iter =
coefficients.begin();
+ basis_size = Index(iter->second.size());
+
+ for (const auto& row : coefficients) {
+diff --git a/src/libxtp/symmetric_matrix.cc b/src/libxtp/symmetric_matrix.cc
+index 68aeb3fe8..0a5e6a0ef 100644
+--- a/src/libxtp/symmetric_matrix.cc
++++ b/src/libxtp/symmetric_matrix.cc
+@@ -121,7 +121,7 @@ Eigen::MatrixXd Symmetric_Matrix::UpperMatrix() const {
+ return result;
+ }
+
+-long Symmetric_Matrix::index(Index i, Index j) const {
++Index Symmetric_Matrix::index(Index i, Index j) const {
+ Index index;
+ if (i >= j) {
+ index = (i * (i + 1)) / 2 + j;
+
+From 798e28beafe667e1d34a863c10a1c679afc92985 Mon Sep 17 00:00:00 2001
+From: Christoph Junghans <junghans(a)lanl.gov>
+Date: Wed, 11 Dec 2019 09:00:13 -0700
+Subject: [PATCH 6/6] threecenter_rep: Index fix
+
+---
+ src/libxtp/threecenter_rep.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/libxtp/threecenter_rep.cc b/src/libxtp/threecenter_rep.cc
+index bde5201bd..f77b55198 100644
+--- a/src/libxtp/threecenter_rep.cc
++++ b/src/libxtp/threecenter_rep.cc
+@@ -141,8 +141,9 @@ bool TCMatrix::FillThreeCenterRepBlock(Eigen::Tensor<double,
3>& threec_block,
+ const Eigen::Vector3d wmp = W - P;
+ const Eigen::Vector3d wmc = W - pos_gamma;
+
++ constexpr Index maximum = 2;
+ Eigen::Tensor<double, 3> R_temp(ncombined, ngamma,
+- std::max(2l, mmax + 1));
++ std::max(maximum, mmax + 1));
+ R_temp.setZero();
+
+ const Eigen::VectorXd FmT = AOTransform::XIntegrate(mmax + 1, U);
diff --git a/disable-out-of-mem-tests.patch b/disable-out-of-mem-tests.patch
new file mode 100644
index 0000000..d725980
--- /dev/null
+++ b/disable-out-of-mem-tests.patch
@@ -0,0 +1,11 @@
+--- xtp-1.6_rc1/src/tests/CMakeLists.txt.orig 2019-12-12 16:19:54.861949296 -0700
++++ xtp-1.6_rc1/src/tests/CMakeLists.txt 2019-12-12 16:20:07.454059121 -0700
+@@ -34,7 +34,7 @@
+ list(APPEND test_cases test_rpa_h2p)
+ list(APPEND test_cases test_segment)
+ list(APPEND test_cases test_aoshell)
+- list(APPEND test_cases test_sphere_lebedev_rule)
++# list(APPEND test_cases test_sphere_lebedev_rule)
+ list(APPEND test_cases test_sphere_lebedev_rule_fine)
+ list(APPEND test_cases test_sphere_lebedev_rule_xfine)
+ list(APPEND test_cases test_statetracker)
diff --git a/votca-xtp.spec b/votca-xtp.spec
index aa10aea..a004dd1 100644
--- a/votca-xtp.spec
+++ b/votca-xtp.spec
@@ -4,11 +4,14 @@
Name: votca-xtp
Version: 1.6
%global sover 6
-Release: 1%{?_rcname}%{?dist}
+Release: 0.2%{?_rcname}%{?dist}
Summary: VOTCA excitation and charge properties module
License: ASL 2.0
URL:
http://www.votca.org
Source0:
https://github.com/votca/xtp/archive/v%{version}%{?_rc}.tar.gz#/%{name}-%...
+Patch0:
https://github.com/votca/xtp/pull/345.patch
+Patch1:
https://github.com/votca/xtp/pull/347.patch
+Patch2: disable-out-of-mem-tests.patch
BuildRequires: gcc-c++
BuildRequires: cmake3
@@ -24,9 +27,6 @@ BuildRequires: votca-csg = %{version}
Requires: %{name}-common = %{version}-%{release}
Requires: %{name}-libs%{_isa} = %{version}-%{release}
-#
https://github.com/votca/xtp/issues/339
-ExcludeArch: armv7hl i686
-
%description
Versatile Object-oriented Toolkit for Coarse-graining Applications (VOTCA) is
a package intended to reduce the amount of routine work when doing systematic
@@ -72,6 +72,11 @@ This package contains architecture independent data files for VOTCA
XTP.
%prep
%setup -qn xtp-%{version}%{?_rc}
+%patch0 -p1
+%patch1 -p1
+%ifarch armv7hl i686 s390x
+%patch2 -p1
+%endif
%build
mkdir %{_target_platform}
@@ -83,12 +88,9 @@ pushd %{_target_platform}
%make_install -C%{_target_platform}
%check
-%ifarch s390x
+%ifarch armv7hl ppc64le s390x
#
https://github.com/votca/xtp/issues/340
-%global testargs ARGS='-E
\\(unit_test_statetracker\\|unit_test_segment\\|unit_test_gw\\)'
-%else
-#
https://github.com/votca/xtp/issues/338
-%global testargs ARGS='-E \\(unit_test_statetracker\\|unit_test_segment\\)'
+%global testargs ARGS='-E unit_test_gw'
%endif
make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testargs}}
@@ -111,7 +113,11 @@ make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1
%{?testargs:%{testarg
%{_libdir}/libvotca_xtp.so
%changelog
-* Thu Dec 05 2019 Christoph Junghans <junghans(a)votca.org> - 1.6-1
+* Thu Dec 12 2019 Christoph Junghans <junghans(a)votca.org> - 1.6-0.2rc1
+- Added upstream 347.patch to fix 32bit builds
+- Added upstream 345.patch to fix failing tests
+
+* Thu Dec 05 2019 Christoph Junghans <junghans(a)votca.org> - 1.6-0.1rc1
- Version bump to 1.6_rc1 (bug #1779897)
* Fri Nov 22 2019 Christoph Junghans <junghans(a)votca.org> - 1.5.1-1
commit 4a67a87cd14bf2df6e1b3ffdfea9396c3ceed65e
Author: Christoph Junghans <junghans(a)lanl.gov>
Date: Thu Dec 5 14:06:00 2019 -0700
Version bump to 1.6_rc1 (bug #1779897)
diff --git a/.gitignore b/.gitignore
index cf14ff7..be8b55e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,4 @@
/votca-xtp-manual-1.5.pdf
/votca-xtp-manual-1.5.1.pdf
/votca-xtp-1.5.1.tar.gz
+/votca-xtp-1.6_rc1.tar.gz
diff --git a/sources b/sources
index 2ffbc77..fbd5acd 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-SHA512 (votca-xtp-manual-1.5.1.pdf) =
b410ddad0566933a2c9ad386fb6f4df0e71b316a84bce8c841e94df8f438959f0967ade63d1146549d453c2ecdb48e3d8b1fd147e53888e1717c6db3d07ba061
-SHA512 (votca-xtp-1.5.1.tar.gz) =
8fb6891e84d4d685e26287344554b705c607e7cb9f497c00ac9cd8328e50210c56706abdb7004b83d4addbfbc7b35c3526b4feabf75f681362b3b7a39c54b668
+SHA512 (votca-xtp-1.6_rc1.tar.gz) =
0b54eddcf944967b1d41f75f4887eba9edc3be18b94d319e93e795a24f58a2877d7f60afd806290eacb41d329d1b1206ebaab83874d6be2d5b026f06dbc19dfd
diff --git a/votca-xtp.spec b/votca-xtp.spec
index 56692eb..aa10aea 100644
--- a/votca-xtp.spec
+++ b/votca-xtp.spec
@@ -1,28 +1,32 @@
-#global _rcname rc1
-#global _rc _%%_rcname
+%global _rcname rc1
+%global _rc _%%_rcname
Name: votca-xtp
-Version: 1.5.1
+Version: 1.6
+%global sover 6
Release: 1%{?_rcname}%{?dist}
Summary: VOTCA excitation and charge properties module
License: ASL 2.0
URL:
http://www.votca.org
Source0:
https://github.com/votca/xtp/archive/v%{version}%{?_rc}.tar.gz#/%{name}-%...
-Source1:
https://github.com/votca/xtp/releases/download/v%{version}%{?_rc}/votca-x...
BuildRequires: gcc-c++
BuildRequires: cmake3
BuildRequires: eigen3-devel
BuildRequires: libxc-devel
-BuildRequires: ceres-solver-devel
BuildRequires: hdf5-devel
+BuildRequires: fftw-devel
BuildRequires: pkgconfig
BuildRequires: boost-devel
BuildRequires: votca-csg-devel = %{version}
+BuildRequires: votca-csg = %{version}
Requires: %{name}-common = %{version}-%{release}
Requires: %{name}-libs%{_isa} = %{version}-%{release}
+#
https://github.com/votca/xtp/issues/339
+ExcludeArch: armv7hl i686
+
%description
Versatile Object-oriented Toolkit for Coarse-graining Applications (VOTCA) is
a package intended to reduce the amount of routine work when doing systematic
@@ -66,60 +70,33 @@ coarse-graining of various systems. The core is written in C++.
This package contains architecture independent data files for VOTCA XTP.
-%package doc
-Summary: Architecture independent doc files for VOTCA XTP
-BuildArch: noarch
-Requires: votca-csg-common = %{version}
-
-%description doc
-Versatile Object-oriented Toolkit for Coarse-graining Applications (VOTCA) is
-a package intended to reduce the amount of routine work when doing systematic
-coarse-graining of various systems. The core is written in C++.
-
-This package contains architecture independent documentation for VOTCA XTP.
-
%prep
%setup -qn xtp-%{version}%{?_rc}
-%if 0%{?rhel}
-sed -i '/Boost/s/1.57.0/1.53.0/' src/tests/CMakeLists.txt CMakeLists.txt
-%endif
%build
mkdir %{_target_platform}
pushd %{_target_platform}
-%if 0%{?rhel}
-export CXXFLAGS="%optflags -DBOOST_NO_CXX11_SCOPED_ENUMS"
-%endif
%{cmake3} .. -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING=ON
%make_build
%install
%make_install -C%{_target_platform}
-sed -i -e '1s@env @@' %{buildroot}/%{_bindir}/xtp_*
-
-mkdir -p %{buildroot}%{_docdir}/%{name}
-cp %{S:1} %{buildroot}%{_docdir}/%{name}
%check
-%if 0%{?rhel}
-# some bug in old boost regex
-%global testargs ARGS='-E
\\(unit_test_espfit\\|unit_test_orbitals\\|unit_test_qmstate\\)'
-%ifarch ppc64le
-# Boost testing broken on ppc64le
-%global testargs ARGS='-E .'
-%endif
+%ifarch s390x
+#
https://github.com/votca/xtp/issues/340
+%global testargs ARGS='-E
\\(unit_test_statetracker\\|unit_test_segment\\|unit_test_gw\\)'
+%else
+#
https://github.com/votca/xtp/issues/338
+%global testargs ARGS='-E \\(unit_test_statetracker\\|unit_test_segment\\)'
%endif
make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testargs}}
%ldconfig_scriptlets libs
%files
-%{_bindir}/xtp_*
-
-%files doc
%doc CHANGELOG.md NOTICE README.md
-%license LICENSE.md
-%{_docdir}/%{name}
+%{_bindir}/xtp_*
%files common
%license LICENSE.md
@@ -127,14 +104,16 @@ make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1
%{?testargs:%{testarg
%files libs
%license LICENSE.md
-%{_libdir}/libvotca_xtp.so.*
+%{_libdir}/libvotca_xtp.so.%{sover}
%files devel
%{_includedir}/votca/xtp/
%{_libdir}/libvotca_xtp.so
-%{_libdir}/pkgconfig/libvotca_xtp.pc
%changelog
+* Thu Dec 05 2019 Christoph Junghans <junghans(a)votca.org> - 1.6-1
+- Version bump to 1.6_rc1 (bug #1779897)
+
* Fri Nov 22 2019 Christoph Junghans <junghans(a)votca.org> - 1.5.1-1
- Version bump to 1.5.1 (bug #1774855)