diff options
author | Kurt Kanzenbach <kurt@kmk-computers.de> | 2020-03-26 20:54:14 +0100 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2020-03-28 16:21:18 +0200 |
commit | d5ad9cb37baba095c84c5ad507d43624542c740a (patch) | |
tree | 1c8cfadd80944ad5a43a321e537d2ec21a665f28 /sci-libs/libgeodecomp | |
parent | sys-cluster/hpx: Sync live ebuild (diff) | |
download | gentoo-d5ad9cb37baba095c84c5ad507d43624542c740a.tar.gz gentoo-d5ad9cb37baba095c84c5ad507d43624542c740a.tar.bz2 gentoo-d5ad9cb37baba095c84c5ad507d43624542c740a.zip |
sci-libs/libgeodecomp: Fix compile issues against hpx v1.4
Adding patches to fix compile issues and warnings against
>=sys-cluster/hpx-1.4.
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de>
Closes: https://github.com/gentoo/gentoo/pull/15137
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'sci-libs/libgeodecomp')
3 files changed, 282 insertions, 1 deletions
diff --git a/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20200314-hpx.patch b/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20200314-hpx.patch new file mode 100644 index 000000000000..9f71ea087c69 --- /dev/null +++ b/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20200314-hpx.patch @@ -0,0 +1,246 @@ +From fe581cc24805288c6c1a9b26a4b72748906f16c8 Mon Sep 17 00:00:00 2001 +From: Kurt Kanzenbach <kurt@kmk-computers.de> +Date: Thu, 26 Mar 2020 15:58:46 +0100 +Subject: [PATCH] hpx: Remove use of deprecated header + +The current hpx version is v1.4. Remove the usage of deprecated hpx headers and +make it compile again. + +Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de> +--- + src/libgeodecomp/communication/hpxreceiver.h | 5 ++--- + src/libgeodecomp/communication/hpxserializationwrapper.h | 8 ++++---- + .../communication/test/parallel_hpx_4/hpxreceivertest.h | 5 ++--- + src/libgeodecomp/geometry/coord.h | 4 ++-- + src/libgeodecomp/io/mocksteerer.h | 5 +++++ + src/libgeodecomp/io/mockwriter.h | 5 +++++ + src/libgeodecomp/misc/clonable.h | 2 +- + src/libgeodecomp/misc/nonpodtestcell.h | 2 +- + src/libgeodecomp/parallelization/hpxsimulator.cpp | 2 +- + src/libgeodecomp/parallelization/hpxsimulator.h | 9 ++++----- + src/libgeodecomp/storage/displacedgrid.h | 4 ++-- + src/libgeodecomp/storage/grid.h | 4 ++-- + src/libgeodecomp/storage/patchprovider.h | 3 ++- + .../storage/test/unit/reorderingunstructuredgridtest.h | 4 ++-- + 14 files changed, 35 insertions(+), 27 deletions(-) + +diff --git a/src/libgeodecomp/communication/hpxreceiver.h b/src/libgeodecomp/communication/hpxreceiver.h +index 1a0baf9bbdee..beb657b88bbc 100644 +--- a/src/libgeodecomp/communication/hpxreceiver.h ++++ b/src/libgeodecomp/communication/hpxreceiver.h +@@ -10,10 +10,9 @@ + + #include <hpx/include/components.hpp> + #include <hpx/include/lcos.hpp> +-#include <hpx/lcos/broadcast.hpp> +-#include <hpx/lcos/local/receive_buffer.hpp> ++#include <hpx/collectives/broadcast.hpp> ++#include <hpx/local_lcos/receive_buffer.hpp> + #include <hpx/runtime/get_ptr.hpp> +-#include <hpx/util/unwrapped.hpp> + #include <libgeodecomp/communication/hpxserializationwrapper.h> + #include <libgeodecomp/misc/stringops.h> + +diff --git a/src/libgeodecomp/communication/hpxserializationwrapper.h b/src/libgeodecomp/communication/hpxserializationwrapper.h +index 5ebf06c4cf7c..0afb145840a6 100644 +--- a/src/libgeodecomp/communication/hpxserializationwrapper.h ++++ b/src/libgeodecomp/communication/hpxserializationwrapper.h +@@ -10,10 +10,10 @@ + * just pull in this header. + */ + #include <libgeodecomp/communication/hpxserialization.h> +-#include <hpx/runtime/serialization/map.hpp> +-#include <hpx/runtime/serialization/serialize.hpp> +-#include <hpx/runtime/serialization/shared_ptr.hpp> +-#include <hpx/runtime/serialization/vector.hpp> ++#include <hpx/serialization/map.hpp> ++#include <hpx/serialization/serialize.hpp> ++#include <hpx/serialization/shared_ptr.hpp> ++#include <hpx/serialization/vector.hpp> + + #endif + +diff --git a/src/libgeodecomp/communication/test/parallel_hpx_4/hpxreceivertest.h b/src/libgeodecomp/communication/test/parallel_hpx_4/hpxreceivertest.h +index ab16a0947546..b2f9c6d47559 100644 +--- a/src/libgeodecomp/communication/test/parallel_hpx_4/hpxreceivertest.h ++++ b/src/libgeodecomp/communication/test/parallel_hpx_4/hpxreceivertest.h +@@ -1,9 +1,8 @@ + #include <cxxtest/TestSuite.h> + #include <hpx/hpx.hpp> +-#include <hpx/lcos/broadcast.hpp> ++#include <hpx/collectives/broadcast.hpp> + #include <hpx/runtime/components/component_factory.hpp> +-#include <hpx/runtime/serialization/serialize_buffer.hpp> +-#include <hpx/util/unwrapped.hpp> ++#include <hpx/serialization/serialize_buffer.hpp> + #include <libgeodecomp/communication/hpxreceiver.h> + #include <libgeodecomp/misc/stringops.h> + +diff --git a/src/libgeodecomp/geometry/coord.h b/src/libgeodecomp/geometry/coord.h +index 5df21310d3ee..8772980c52df 100644 +--- a/src/libgeodecomp/geometry/coord.h ++++ b/src/libgeodecomp/geometry/coord.h +@@ -10,8 +10,8 @@ + #ifdef LIBGEODECOMP_WITH_HPX + #include <libgeodecomp/misc/cudaboostworkaround.h> + #include <hpx/config.hpp> +-#include <hpx/runtime/serialization/array.hpp> +-#include <hpx/runtime/serialization/serialize.hpp> ++#include <hpx/serialization/array.hpp> ++#include <hpx/serialization/serialize.hpp> + #endif + + // For Intel MPI we need to source mpi.h before stdio.h: +diff --git a/src/libgeodecomp/io/mocksteerer.h b/src/libgeodecomp/io/mocksteerer.h +index 4ab2d28c5097..e20d0d5bb6bf 100644 +--- a/src/libgeodecomp/io/mocksteerer.h ++++ b/src/libgeodecomp/io/mocksteerer.h +@@ -4,6 +4,11 @@ + #include <sstream> + #include <libgeodecomp/io/steerer.h> + ++#ifdef LIBGEODECOMP_WITH_HPX ++#include <hpx/include/threads.hpp> ++#include <hpx/concurrency/spinlock.hpp> ++#endif ++ + namespace LibGeoDecomp { + + namespace MockSteererHelpers { +diff --git a/src/libgeodecomp/io/mockwriter.h b/src/libgeodecomp/io/mockwriter.h +index 4d6d13c93acb..36cb7e1e1ae6 100644 +--- a/src/libgeodecomp/io/mockwriter.h ++++ b/src/libgeodecomp/io/mockwriter.h +@@ -8,6 +8,11 @@ + #include <libgeodecomp/misc/clonable.h> + #include <libgeodecomp/misc/testcell.h> + ++#ifdef LIBGEODECOMP_WITH_HPX ++#include <hpx/include/threads.hpp> ++#include <hpx/concurrency/spinlock.hpp> ++#endif ++ + #include <sstream> + + namespace LibGeoDecomp { +diff --git a/src/libgeodecomp/misc/clonable.h b/src/libgeodecomp/misc/clonable.h +index 8162513826b8..a1dccbf94bd3 100644 +--- a/src/libgeodecomp/misc/clonable.h ++++ b/src/libgeodecomp/misc/clonable.h +@@ -5,7 +5,7 @@ + + #ifdef LIBGEODECOMP_WITH_HPX + #include <libgeodecomp/misc/cudaboostworkaround.h> +-#include <hpx/runtime/serialization/base_object.hpp> ++#include <hpx/serialization/base_object.hpp> + #endif + + namespace LibGeoDecomp { +diff --git a/src/libgeodecomp/misc/nonpodtestcell.h b/src/libgeodecomp/misc/nonpodtestcell.h +index 66453ce80ba7..1618c8359b90 100644 +--- a/src/libgeodecomp/misc/nonpodtestcell.h ++++ b/src/libgeodecomp/misc/nonpodtestcell.h +@@ -11,7 +11,7 @@ + #endif + + #ifdef LIBGEODECOMP_WITH_HPX +-#include <hpx/runtime/serialization/set.hpp> ++#include <hpx/serialization/set.hpp> + #endif + + namespace LibGeoDecomp { +diff --git a/src/libgeodecomp/parallelization/hpxsimulator.cpp b/src/libgeodecomp/parallelization/hpxsimulator.cpp +index 6e2fb6c78519..0329d6815913 100644 +--- a/src/libgeodecomp/parallelization/hpxsimulator.cpp ++++ b/src/libgeodecomp/parallelization/hpxsimulator.cpp +@@ -3,7 +3,7 @@ + + #include <libgeodecomp/parallelization/hpxsimulator.h> + #include <hpx/include/lcos.hpp> +-#include <hpx/lcos/broadcast.hpp> ++#include <hpx/collectives/broadcast.hpp> + + namespace LibGeoDecomp { + namespace HpxSimulatorHelpers { +diff --git a/src/libgeodecomp/parallelization/hpxsimulator.h b/src/libgeodecomp/parallelization/hpxsimulator.h +index 1ccdf883e915..15b5a3628f9d 100644 +--- a/src/libgeodecomp/parallelization/hpxsimulator.h ++++ b/src/libgeodecomp/parallelization/hpxsimulator.h +@@ -6,11 +6,10 @@ + + #include <libgeodecomp/misc/cudaboostworkaround.h> + #include <hpx/config.hpp> +-#include <hpx/runtime/serialization/set.hpp> +-#include <hpx/runtime/serialization/string.hpp> +-#include <hpx/runtime/serialization/vector.hpp> +-#include <hpx/include/lcos.hpp> +-#include <hpx/lcos/broadcast.hpp> ++#include <hpx/serialization/set.hpp> ++#include <hpx/serialization/string.hpp> ++#include <hpx/serialization/vector.hpp> ++#include <hpx/collectives/broadcast.hpp> + + #include <libgeodecomp/communication/hpxserializationwrapper.h> + #include <libgeodecomp/geometry/partitions/stripingpartition.h> +diff --git a/src/libgeodecomp/storage/displacedgrid.h b/src/libgeodecomp/storage/displacedgrid.h +index 5c72e520ce48..a8831053fedc 100644 +--- a/src/libgeodecomp/storage/displacedgrid.h ++++ b/src/libgeodecomp/storage/displacedgrid.h +@@ -19,8 +19,8 @@ + #ifdef LIBGEODECOMP_WITH_HPX + #include <libgeodecomp/misc/cudaboostworkaround.h> + #include <libgeodecomp/communication/hpxserializationwrapper.h> +-#include <hpx/runtime/serialization/input_archive.hpp> +-#include <hpx/runtime/serialization/output_archive.hpp> ++#include <hpx/serialization/input_archive.hpp> ++#include <hpx/serialization/output_archive.hpp> + #endif + + namespace LibGeoDecomp { +diff --git a/src/libgeodecomp/storage/grid.h b/src/libgeodecomp/storage/grid.h +index 6e218696f625..821b02002c87 100644 +--- a/src/libgeodecomp/storage/grid.h ++++ b/src/libgeodecomp/storage/grid.h +@@ -26,8 +26,8 @@ + #ifdef LIBGEODECOMP_WITH_HPX + #include <libgeodecomp/misc/cudaboostworkaround.h> + #include <libgeodecomp/communication/hpxserializationwrapper.h> +-#include <hpx/runtime/serialization/input_archive.hpp> +-#include <hpx/runtime/serialization/output_archive.hpp> ++#include <hpx/serialization/input_archive.hpp> ++#include <hpx/serialization/output_archive.hpp> + #endif + + namespace LibGeoDecomp { +diff --git a/src/libgeodecomp/storage/patchprovider.h b/src/libgeodecomp/storage/patchprovider.h +index 71fda8091e95..66aa67f214fa 100644 +--- a/src/libgeodecomp/storage/patchprovider.h ++++ b/src/libgeodecomp/storage/patchprovider.h +@@ -2,7 +2,8 @@ + #define LIBGEODECOMP_STORAGE_PATCHPROVIDER_H + + #ifdef LIBGEODECOMP_WITH_HPX +-#include <hpx/lcos/local/spinlock.hpp> ++#include <hpx/include/threads.hpp> ++#include <hpx/synchronization/spinlock.hpp> + #include <mutex> + #endif + +diff --git a/src/libgeodecomp/storage/test/unit/reorderingunstructuredgridtest.h b/src/libgeodecomp/storage/test/unit/reorderingunstructuredgridtest.h +index d89146a4bf69..7cb5203dae44 100644 +--- a/src/libgeodecomp/storage/test/unit/reorderingunstructuredgridtest.h ++++ b/src/libgeodecomp/storage/test/unit/reorderingunstructuredgridtest.h +@@ -19,8 +19,8 @@ + #ifdef LIBGEODECOMP_WITH_HPX + #include <libgeodecomp/misc/cudaboostworkaround.h> + #include <libgeodecomp/communication/hpxserializationwrapper.h> +-#include <hpx/runtime/serialization/input_archive.hpp> +-#include <hpx/runtime/serialization/output_archive.hpp> ++#include <hpx/serialization/input_archive.hpp> ++#include <hpx/serialization/output_archive.hpp> + #endif + + using namespace LibGeoDecomp; +-- +2.24.1 + diff --git a/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20200314-warnings.patch b/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20200314-warnings.patch new file mode 100644 index 000000000000..2a7acd0c655b --- /dev/null +++ b/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20200314-warnings.patch @@ -0,0 +1,33 @@ +From 87e1918e13fa3f3124e945a0ea12cfb339ddf303 Mon Sep 17 00:00:00 2001 +From: Kurt Kanzenbach <kurt@kmk-computers.de> +Date: Thu, 26 Mar 2020 16:05:02 +0100 +Subject: [PATCH] hpx: receiver: Remove std::move() call + +This fixes the following warning: + +|/home/kurt/git/libgeodecomp/src/libgeodecomp/communication/hpxreceiver.h:138:29: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move] +| 138 | return std::move(vec); + +The compiler should be smart enough to optimize the correct way :). + +Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de> +--- + src/libgeodecomp/communication/hpxreceiver.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libgeodecomp/communication/hpxreceiver.h b/src/libgeodecomp/communication/hpxreceiver.h +index beb657b88bbc..28de314d5ef5 100644 +--- a/src/libgeodecomp/communication/hpxreceiver.h ++++ b/src/libgeodecomp/communication/hpxreceiver.h +@@ -135,7 +135,7 @@ public: + vec << receiver->get(i).get(); + } + +- return std::move(vec); ++ return vec; + } + + private: +-- +2.24.1 + diff --git a/sci-libs/libgeodecomp/libgeodecomp-0.5.0_pre20200314.ebuild b/sci-libs/libgeodecomp/libgeodecomp-0.5.0_pre20200314.ebuild index a14dc9c0714a..90abc7144a36 100644 --- a/sci-libs/libgeodecomp/libgeodecomp-0.5.0_pre20200314.ebuild +++ b/sci-libs/libgeodecomp/libgeodecomp-0.5.0_pre20200314.ebuild @@ -43,8 +43,10 @@ DEPEND="${RDEPEND} S="${WORKDIR}/libgeodecomp-${MY_COMMIT}" PATCHES=( - "${FILESDIR}/${P}-mpi.patch" + "${FILESDIR}/${P}-hpx.patch" "${FILESDIR}/${P}-libdir.patch" + "${FILESDIR}/${P}-mpi.patch" + "${FILESDIR}/${P}-warnings.patch" ) src_prepare() { |