diff --git a/packages/sda/package.py b/packages/sda/package.py index b9c9a1981f7b94267158c85732fc23e8f72f2eb8..de6e3bace4522da2783f785ca5e45defdd701c0b 100644 --- a/packages/sda/package.py +++ b/packages/sda/package.py @@ -32,6 +32,8 @@ class Sda(MakefilePackage): conflicts('%gcc@:9.3', when='@7.3.3d') conflicts('%intel') + patch('sda-7.3.3d.patch', when='@7.3.3d') + build_directory = 'src' build_jobs = 1 diff --git a/packages/sda/sda-7.3.3d.patch b/packages/sda/sda-7.3.3d.patch new file mode 100644 index 0000000000000000000000000000000000000000..b6332398f7d76e49d9679088cb2f139d53aeda63 --- /dev/null +++ b/packages/sda/sda-7.3.3d.patch @@ -0,0 +1,56 @@ +diff --color -pur sda_flex-7.3.3d_orig/dtgrid/tools/dtgrid2UHBD.cpp sda_flex-7.3.3d/dtgrid/tools/dtgrid2UHBD.cpp +--- sda_flex-7.3.3d_orig/dtgrid/tools/dtgrid2UHBD.cpp 2023-07-20 11:25:04.702987370 +0200 ++++ sda_flex-7.3.3d/dtgrid/tools/dtgrid2UHBD.cpp 2023-07-20 11:26:35.851693745 +0200 +@@ -69,9 +69,7 @@ void write_uhbd_binary_header(FILE * out + } + + /*void print_slice_grid(DTGrid3D <float,int> * dtGrid, int k){ +- std::string slice_n, out_name; +- slice_n = static_cast<std::ostringstream*>( &(std::ostringstream() << k) )->str(); +- out_name = "exclusion" + slice_n + "slice_dt.txt"; ++ std::string out_name = "exclusion" + std::to_string(k) + "slice_dt.txt"; + + std::ofstream excl_slice; + excl_slice.open (out_name.c_str(), std::ios::out); +diff --color -pur sda_flex-7.3.3d_orig/dtgrid/tools/UHBDgrd.hpp sda_flex-7.3.3d/dtgrid/tools/UHBDgrd.hpp +--- sda_flex-7.3.3d_orig/dtgrid/tools/UHBDgrd.hpp 2023-07-20 11:25:04.702987370 +0200 ++++ sda_flex-7.3.3d/dtgrid/tools/UHBDgrd.hpp 2023-07-20 11:27:02.731900942 +0200 +@@ -291,9 +291,7 @@ UHBD<T1>::~UHBD() + */ + template <typename T1> + void UHBD<T1>::print_slice_grid(int k){ +- std::string slice_n, out_name; +- slice_n = static_cast<std::ostringstream*>( &(std::ostringstream() << k) )->str(); +- out_name = "exclusion" + slice_n + "slice.txt"; ++ std::string out_name = "exclusion" + std::to_string(k) + "slice.txt"; + + std::ofstream excl_slice; + excl_slice.open (out_name.c_str(), std::ios::out); +diff --color -pur sda_flex-7.3.3d_orig/src/tools/DT-Grid/tools/dtgrid2UHBD.cpp sda_flex-7.3.3d/src/tools/DT-Grid/tools/dtgrid2UHBD.cpp +--- sda_flex-7.3.3d_orig/src/tools/DT-Grid/tools/dtgrid2UHBD.cpp 2023-07-20 11:25:04.962989395 +0200 ++++ sda_flex-7.3.3d/src/tools/DT-Grid/tools/dtgrid2UHBD.cpp 2023-07-20 11:27:30.508114563 +0200 +@@ -69,9 +69,7 @@ void write_uhbd_binary_header(FILE * out + } + + /*void print_slice_grid(DTGrid3D <float,int> * dtGrid, int k){ +- std::string slice_n, out_name; +- slice_n = static_cast<std::ostringstream*>( &(std::ostringstream() << k) )->str(); +- out_name = "exclusion" + slice_n + "slice_dt.txt"; ++ std::string out_name = "exclusion" + std::to_string(k) + "slice_dt.txt"; + + std::ofstream excl_slice; + excl_slice.open (out_name.c_str(), std::ios::out); +diff --color -pur sda_flex-7.3.3d_orig/src/tools/DT-Grid/tools/UHBDgrd.hpp sda_flex-7.3.3d/src/tools/DT-Grid/tools/UHBDgrd.hpp +--- sda_flex-7.3.3d_orig/src/tools/DT-Grid/tools/UHBDgrd.hpp 2023-07-20 11:25:04.962989395 +0200 ++++ sda_flex-7.3.3d/src/tools/DT-Grid/tools/UHBDgrd.hpp 2023-07-20 11:28:08.516406125 +0200 +@@ -291,9 +291,7 @@ UHBD<T1>::~UHBD() + */ + template <typename T1> + void UHBD<T1>::print_slice_grid(int k){ +- std::string slice_n, out_name; +- slice_n = static_cast<std::ostringstream*>( &(std::ostringstream() << k) )->str(); +- out_name = "exclusion" + slice_n + "slice.txt"; ++ std::string out_name = "exclusion" + std::to_string(k) + "slice.txt"; + + std::ofstream excl_slice; + excl_slice.open (out_name.c_str(), std::ios::out);