commit ceeadc8ec393253653f510d9da9db9098c3c4cfb Author: andreili Date: Sat Jun 24 23:45:39 2023 +0200 Initial commit. diff --git a/dev-cpp/or-tools/Manifest b/dev-cpp/or-tools/Manifest new file mode 100644 index 0000000..cc7bcbb --- /dev/null +++ b/dev-cpp/or-tools/Manifest @@ -0,0 +1 @@ +EBUILD or-tools-9999.ebuild 652 BLAKE2B 40b9a246d71cd9d708d99d1a0a3afb9006260005577b68abd6afb4e5442306825d428f3cc2c365b8f099990873b4d732d4607b16bdcd7a32fd3fc052afb22dc1 SHA512 b2654321531a0c50a68522ca61bdba7132f33b92b52b4c2954e71f2c66d7003050df719572ce0cb0e2dd2ccba556836d7d8937515e309acd58bf5f4b8a4750c3 diff --git a/dev-cpp/or-tools/or-tools-9999.ebuild b/dev-cpp/or-tools/or-tools-9999.ebuild new file mode 100644 index 0000000..5a4075d --- /dev/null +++ b/dev-cpp/or-tools/or-tools-9999.ebuild @@ -0,0 +1,36 @@ +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +inherit cmake python-any-r1 git-r3 + +DESCRIPTION="Google Optimization Tools" + +#SRC_URI="https://github.com/The-OpenROAD-Project/OpenROAD/archive/refs/tags/v${PV}.tar.gz" +#S="${WORKDIR}/OpenROAD-${PV}" +EGIT_REPO_URI="https://github.com/google/or-tools.git" +EGIT_SUBMODULES=( '*' ) + +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86" +SLOT="0" +IUSE="" + +DEPEND=" + dev-libs/protobuf + dev-cpp/abseil-cpp + dev-libs/re2 + sci-libs/coinor-cbc +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-util/cmake +" + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/" + -DUSE_SCIP=OFF + ) + cmake_src_configure +} diff --git a/metadata/layout.conf b/metadata/layout.conf new file mode 100644 index 0000000..c673a95 --- /dev/null +++ b/metadata/layout.conf @@ -0,0 +1,2 @@ +masters = gentoo +auto-sync = false diff --git a/profiles/categories b/profiles/categories new file mode 100644 index 0000000..7309dc2 --- /dev/null +++ b/profiles/categories @@ -0,0 +1,3 @@ +dev-cpp +sci-electronics +sci-libs diff --git a/profiles/repo_name b/profiles/repo_name new file mode 100644 index 0000000..d99ec68 --- /dev/null +++ b/profiles/repo_name @@ -0,0 +1 @@ +andreil diff --git a/sci-electronics/openroad/Manifest b/sci-electronics/openroad/Manifest new file mode 100644 index 0000000..da0909a --- /dev/null +++ b/sci-electronics/openroad/Manifest @@ -0,0 +1,4 @@ +AUX openroad_build.patch 21914 BLAKE2B 8788cb36b6bb10b0980a8635ff376cf04aceeff00946bf00d5d1fbe4589c9e27c171eeb8d6940e56b658b2e91baca0cadaa073e57d9a288a4dc4618bb6b8237a SHA512 574602d115497b216d7866d281249a1c7f7e738b0b87f2e13f4add463cf93a424edc022f6e634a56bc897fec03e25315afde10633b772b982daa6bec4b7d2344 +AUX openroad_build1.patch 8442 BLAKE2B 4dd9e5d99b55937289a59b0510697f6a600b0eb3917cfe02bc8b271fa818198081940999152a9d782753ea78cec8c42ed4ea92d7541a04b7533c5acb3294e0d3 SHA512 0ff3e8b01c40386e916053592f41d1a8e746a00aeae763accce5af92efd835e1fd6815efa70ff7b3a23692b5ad1965e8839aa23e72be0d28f26859dfd47d0ac4 +AUX openroad_build_fix.patch 21139 BLAKE2B 20092858234d951ab70a4377a58c6724042988bb2172af06d3649b03907884150a9a4d3e3f194b644fd41c9ec82178c351963dd47dc0705ee5e828eaf921eade SHA512 3c44242fc22bb264957311cc43c25aed00c4fc38fc1015e9aef0ec6f57dc4bd01dd221dd74ff57d829ac87e30c16afb2d278a8bf6812efe0c6446310d183f375 +EBUILD openroad-9999.ebuild 1091 BLAKE2B fb58b14e0b34347321f1e392fdba5a7478b66b05a253c0035c0e3eb10bd3579e02fd4f8ebbb601aed8476de781eea519397761a84c168d7355d98205f8584d40 SHA512 21ff775a6f8ac7b6cbca179b2cd0ab32091e0096cd8db48c249df86bb184c2c84d7275880485301d686d07d4544124436895b57b7f905a56285a41dc743c992f diff --git a/sci-electronics/openroad/files/openroad_build.patch b/sci-electronics/openroad/files/openroad_build.patch new file mode 100644 index 0000000..7e4c808 --- /dev/null +++ b/sci-electronics/openroad/files/openroad_build.patch @@ -0,0 +1,538 @@ +diff -Naur openroad-2.0_or/src/odb/src/defout/CMakeLists.txt openroad-2.0/src/odb/src/defout/CMakeLists.txt +--- openroad-2.0_or/src/odb/src/defout/CMakeLists.txt 2023-03-23 10:22:03.737758944 +0100 ++++ openroad-2.0/src/odb/src/defout/CMakeLists.txt 2023-03-23 10:19:36.508599562 +0100 +@@ -1,4 +1,4 @@ +-add_library(defout ++add_library(defout STATIC + defout.cpp + defout_impl.cpp + ) +diff -Naur openroad-2.0_or/src/odb/src/lefout/CMakeLists.txt openroad-2.0/src/odb/src/lefout/CMakeLists.txt +--- openroad-2.0_or/src/odb/src/lefout/CMakeLists.txt 2023-03-23 10:22:10.718671670 +0100 ++++ openroad-2.0/src/odb/src/lefout/CMakeLists.txt 2023-03-23 10:19:50.669422527 +0100 +@@ -1,4 +1,4 @@ +-add_library(lefout ++add_library(lefout STATIC + lefout.cpp + ) + +diff -Naur openroad-2.0_or/src/odb/src/zutil/CMakeLists.txt openroad-2.0/src/odb/src/zutil/CMakeLists.txt +--- openroad-2.0_or/src/odb/src/zutil/CMakeLists.txt 2023-03-23 10:21:25.659234991 +0100 ++++ openroad-2.0/src/odb/src/zutil/CMakeLists.txt 2023-03-23 10:21:34.254127540 +0100 +@@ -1,4 +1,4 @@ +-add_library(zutil ++add_library(zutil STATIC + parse.cpp + poly_decomp.cpp + util.cpp +--- openroad-9999_or/src/mpl2/CMakeLists.txt 2023-04-21 13:58:49.157986959 +0200 ++++ openroad-9999/src/mpl2/CMakeLists.txt 2023-04-21 13:59:17.817978356 +0200 +@@ -93,4 +93,6 @@ + gui + ) + +-add_subdirectory(test/cpp) +\ No newline at end of file ++if (ENABLE_TESTS) ++ add_subdirectory(test/cpp) ++endif() +diff -Naur openroad-9999_or/src/cts/src/HTreeBuilder.cpp openroad-9999/src/cts/src/HTreeBuilder.cpp +--- openroad-9999_or/src/cts/src/HTreeBuilder.cpp 2023-04-21 14:06:49.517807229 +0200 ++++ openroad-9999/src/cts/src/HTreeBuilder.cpp 2023-04-21 14:29:09.637380968 +0200 +@@ -201,7 +201,7 @@ + if (topLevelSinks.size() <= min_clustering_sinks_ + || !(options_->getSinkClustering())) { + Box sinkRegionDbu = clock_.computeSinkRegion(); +- logger_->info(CTS, 23, " Original sink region: {}.", sinkRegionDbu); ++ //logger_->info(CTS, 23, " Original sink region: {}.", sinkRegionDbu); + + sinkRegion_ = sinkRegionDbu.normalize(1.0 / wireSegmentUnit_); + } else { +@@ -218,7 +218,7 @@ + } + sinkRegion_ = clock_.computeSinkRegionClustered(topLevelSinksClustered_); + } +- logger_->info(CTS, 24, " Normalized sink region: {}.", sinkRegion_); ++ //logger_->info(CTS, 24, " Normalized sink region: {}.", sinkRegion_); + logger_->info(CTS, 25, " Width: {:.4f}.", sinkRegion_.getWidth()); + logger_->info(CTS, 26, " Height: {:.4f}.", sinkRegion_.getHeight()); + } +diff -Naur openroad-9999_or/src/drt/src/db/tech/frConstraint.h openroad-9999/src/drt/src/db/tech/frConstraint.h +--- openroad-9999_or/src/drt/src/db/tech/frConstraint.h 2023-04-21 14:06:49.537807219 +0200 ++++ openroad-9999/src/drt/src/db/tech/frConstraint.h 2023-04-21 14:52:29.356918592 +0200 +@@ -552,7 +552,7 @@ + numCuts, + width, + cutDistance, +- connection, ++ int(connection), + length, + distance); + } +@@ -2163,7 +2163,7 @@ + "{} edgeLength {} includeLShape {} minLength {} exceptNotch {} " + "notchLength {} exceptSameNet {} exceptSameMetal {} sameXY {} " + "cornerToCorner {}", +- cornerType, ++ int(cornerType), + sameMask, + within, + eolWidth, +diff -Naur openroad-9999_or/src/drt/src/dr/FlexDR.cpp openroad-9999/src/drt/src/dr/FlexDR.cpp +--- openroad-9999_or/src/drt/src/dr/FlexDR.cpp 2023-04-21 14:06:49.537807219 +0200 ++++ openroad-9999/src/drt/src/dr/FlexDR.cpp 2023-04-21 14:59:11.916792299 +0200 +@@ -610,7 +610,7 @@ + " Completing {}% with {} violations.", + prev_perc, + getDesign()->getTopBlock()->getNumMarkers()); +- logger_->report(" {}.", t); ++ // logger_->report(" {}.", int(t)); + } + } + } +@@ -637,7 +637,7 @@ + for (int i = 0; i < distWorkerBatches.size(); i++) + sendWorkers(distWorkerBatches.at(i), workersInBatch); + } +- logger_->report(" Received Batches:{}.", t); ++ //logger_->report(" Received Batches:{}.", t); + std::vector> workers; + router_->getWorkerResults(workers); + { +@@ -649,7 +649,7 @@ + workers.at(i).second); + } + } +- logger_->report(" Deserialized Batches:{}.", t); ++ //logger_->report(" Deserialized Batches:{}.", t); + } + } + } +@@ -680,7 +680,7 @@ + logger_->report(" Completing {}% with {} violations.", + prev_perc, + getDesign()->getTopBlock()->getNumMarkers()); +- logger_->report(" {}.", t); ++ //logger_->report(" {}.", t); + } + } + } +diff -Naur openroad-9999_or/src/drt/src/dr/FlexDR_conn.cpp openroad-9999/src/drt/src/dr/FlexDR_conn.cpp +--- openroad-9999_or/src/drt/src/dr/FlexDR_conn.cpp 2023-04-21 14:06:49.537807219 +0200 ++++ openroad-9999/src/drt/src/dr/FlexDR_conn.cpp 2023-04-21 14:54:54.186868308 +0200 +@@ -1004,8 +1004,8 @@ + if (ps->isBeginTruncated() + && ((currEnd < ps->high() && currEndPs->isEndTruncated()) + || (currEnd > ps->high() && ps->isEndTruncated()))) { +- logger_->warn( +- DRT, 6001, "Path segs were not split: {} and {}", *ps, *currEndPs); ++ /*logger_->warn( ++ DRT, 6001, "Path segs were not split: {} and {}", *ps, *currEndPs);*/ + } + hasOverlap = true; + // update local variables +diff -Naur openroad-9999_or/src/drt/src/pa/FlexPA_graphics.cpp openroad-9999/src/drt/src/pa/FlexPA_graphics.cpp +--- openroad-9999_or/src/drt/src/pa/FlexPA_graphics.cpp 2023-04-21 14:06:49.537807219 +0200 ++++ openroad-9999/src/drt/src/pa/FlexPA_graphics.cpp 2023-04-21 15:04:32.356718780 +0200 +@@ -305,7 +305,7 @@ + logger_->info(DRT, + 292, + "Marker {} at ({}, {}) ({}, {}).", +- marker->getConstraint()->typeId(), ++ int(marker->getConstraint()->typeId()), + bbox.xMin(), + bbox.yMin(), + bbox.xMax(), +@@ -349,7 +349,7 @@ + logger_->info(DRT, + 281, + "Marker {} at ({}, {}) ({}, {}).", +- marker->getConstraint()->typeId(), ++ int(marker->getConstraint()->typeId()), + bbox.xMin(), + bbox.yMin(), + bbox.xMax(), +diff -Naur openroad-9999_or/src/grt/src/fastroute/src/utility.cpp openroad-9999/src/grt/src/fastroute/src/utility.cpp +--- openroad-9999_or/src/grt/src/fastroute/src/utility.cpp 2023-04-21 14:06:49.637807168 +0200 ++++ openroad-9999/src/grt/src/fastroute/src/utility.cpp 2023-04-21 14:21:46.027519928 +0200 +@@ -1431,7 +1431,7 @@ + edge.n2, + nodes[edge.n2].x, + nodes[edge.n2].y, +- edge.route.type); ++ int(edge.route.type)); + if (edge.len > 0) { + std::string edge_rpt; + for (int i = 0; i <= edge.route.routelen; i++) { +diff -Naur openroad-9999_or/src/dst/src/BalancerConnection.cc openroad-9999/src/dst/src/BalancerConnection.cc +--- openroad-9999_or/src/dst/src/BalancerConnection.cc 2023-04-21 14:06:49.537807219 +0200 ++++ openroad-9999/src/dst/src/BalancerConnection.cc 2023-04-21 14:33:16.107305933 +0200 +@@ -133,13 +133,13 @@ + failure = false; + break; + } +- logger_->warn(utl::DST, ++ /*logger_->warn(utl::DST, + 204, + "Exception thrown: {}. worker with ip \"{}\" and " + "port \"{}\" will be pushed back the queue.", + ex.what(), + workerAddress, +- port); ++ port);*/ + owner_->punishWorker(workerAddress, port); + failed_workers_trials++; + if (failed_workers_trials == MAX_FAILED_WORKERS_TRIALS) { +diff -Naur openroad-9999_or/src/dst/src/LoadBalancer.cc openroad-9999/src/dst/src/LoadBalancer.cc +--- openroad-9999_or/src/dst/src/LoadBalancer.cc 2023-04-21 14:06:49.537807219 +0200 ++++ openroad-9999/src/dst/src/LoadBalancer.cc 2023-04-21 14:32:36.557316577 +0200 +@@ -43,11 +43,11 @@ + logger_->info(utl::DST, 7, "Processed {} jobs", jobs_); + auto copy = workers_; + while (!copy.empty()) { +- auto worker = copy.top(); ++ /*auto worker = copy.top(); + logger_->report("Worker {}/{} handled {} jobs", + worker.ip, + worker.port, +- worker.priority); ++ worker.priority);*/ + copy.pop(); + } + } +diff -Naur openroad-9999_or/src/mpl/src/ParquetFP/src/Annealer.h openroad-9999/src/mpl/src/ParquetFP/src/Annealer.h +--- openroad-9999_or/src/mpl/src/ParquetFP/src/Annealer.h 2023-03-23 14:05:52.021882291 +0100 ++++ openroad-9999/src/mpl/src/ParquetFP/src/Annealer.h 2023-03-23 17:22:11.421619529 +0100 +@@ -63,12 +63,12 @@ + Annealer() : BaseAnnealer(), _sp(NULL), _spEval(NULL) {} + + public: +- Annealer(const Command_Line* const params, DB* const db); ++ Annealer(const Command_Line* const params, DB* const db): BaseAnnealer(),_sp(NULL), _spEval(NULL) {} + +- virtual ~Annealer(); +- void parseConfig(); ++ virtual ~Annealer() {} ++ void parseConfig() {} + +- virtual bool go(); ++ virtual bool go() {} + void anneal(); + virtual bool packOneBlock() { return true; } + +@@ -76,8 +76,8 @@ + virtual void compactSoln(bool minWL, + bool fixedOutline, + float reqdH, +- float reqdW); +- virtual void takePlfromDB(); // takeSPformDB() + eval() ++ float reqdW) {} ++ virtual void takePlfromDB() {} // takeSPformDB() + eval() + void takeSPfromDB(); // converts the present pl to a seq-pair + + void eval(); // just evaluate the current SP and set up required +diff -Naur openroad-9999_or/CMakeLists.txt openroad-9999/CMakeLists.txt +--- openroad-9999_or/CMakeLists.txt 2023-04-21 15:41:59.615941386 +0200 ++++ openroad-9999/CMakeLists.txt 2023-04-21 15:51:13.955748347 +0200 +@@ -60,6 +60,8 @@ + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) + endif() + ++get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS) ++ + # Allow to use external shared boost libraries + option(USE_SYSTEM_BOOST "Use system shared Boost libraries" OFF) + +diff -Naur openroad-9999_or/src/dbSta/src/CMakeLists.txt openroad-9999/src/dbSta/src/CMakeLists.txt +--- openroad-9999_or/src/dbSta/src/CMakeLists.txt 2023-04-21 15:41:59.365941472 +0200 ++++ openroad-9999/src/dbSta/src/CMakeLists.txt 2023-04-21 17:59:51.078718782 +0200 +@@ -35,7 +35,7 @@ + + include("openroad") + +-add_library(dbSta_lib ++add_library(dbSta_lib STATIC + dbNetwork.cc + dbSdcNetwork.cc + dbReadVerilog.cc +diff -Naur openroad-9999_or/src/dbSta/src/dbReadVerilog.cc openroad-9999/src/dbSta/src/dbReadVerilog.cc +--- openroad-9999_or/src/dbSta/src/dbReadVerilog.cc 2023-04-21 15:41:59.365941472 +0200 ++++ openroad-9999/src/dbSta/src/dbReadVerilog.cc 2023-04-21 15:45:45.655855300 +0200 +@@ -118,7 +118,7 @@ + void + initDbVerilogNetwork(ord::OpenRoad* openroad) + { +- openroad->getVerilogNetwork()->init(openroad->getDbNetwork()); ++// openroad->getVerilogNetwork()->init(openroad->getDbNetwork()); + } + + void +diff -Naur openroad-9999_or/src/dft/src/architect/CMakeLists.txt openroad-9999/src/dft/src/architect/CMakeLists.txt +--- openroad-9999_or/src/dft/src/architect/CMakeLists.txt 2023-04-21 15:41:59.365941472 +0200 ++++ openroad-9999/src/dft/src/architect/CMakeLists.txt 2023-04-21 17:59:38.175234868 +0200 +@@ -1,4 +1,4 @@ +-add_library(dft_architect_lib ++add_library(dft_architect_lib STATIC + # Keep sorted + ScanArchitect.cpp + ScanArchitectHeuristic.cpp +diff -Naur openroad-9999_or/src/dft/src/cells/CMakeLists.txt openroad-9999/src/dft/src/cells/CMakeLists.txt +--- openroad-9999_or/src/dft/src/cells/CMakeLists.txt 2023-04-21 15:41:59.365941472 +0200 ++++ openroad-9999/src/dft/src/cells/CMakeLists.txt 2023-04-21 18:00:01.978830679 +0200 +@@ -1,4 +1,4 @@ +-add_library(dft_cells_lib ++add_library(dft_cells_lib STATIC + # Keep sorted + OneBitScanCell.cpp + ScanCell.cpp +diff -Naur openroad-9999_or/src/dft/src/clock_domain/CMakeLists.txt openroad-9999/src/dft/src/clock_domain/CMakeLists.txt +--- openroad-9999_or/src/dft/src/clock_domain/CMakeLists.txt 2023-04-21 15:41:59.365941472 +0200 ++++ openroad-9999/src/dft/src/clock_domain/CMakeLists.txt 2023-04-21 18:00:11.568867245 +0200 +@@ -1,4 +1,4 @@ +-add_library(dft_clock_domain_lib ++add_library(dft_clock_domain_lib STATIC + # Keep sorted + ClockDomain.cpp + ) +diff -Naur openroad-9999_or/src/dft/src/config/CMakeLists.txt openroad-9999/src/dft/src/config/CMakeLists.txt +--- openroad-9999_or/src/dft/src/config/CMakeLists.txt 2023-04-21 15:41:59.365941472 +0200 ++++ openroad-9999/src/dft/src/config/CMakeLists.txt 2023-04-21 18:00:30.119403139 +0200 +@@ -1,4 +1,4 @@ +-add_library(dft_config_lib ++add_library(dft_config_lib STATIC + # Keep sorted + DftConfig.cpp + ScanArchitectConfig.cpp +diff -Naur openroad-9999_or/src/dft/src/replace/CMakeLists.txt openroad-9999/src/dft/src/replace/CMakeLists.txt +--- openroad-9999_or/src/dft/src/replace/CMakeLists.txt 2023-04-21 15:41:59.365941472 +0200 ++++ openroad-9999/src/dft/src/replace/CMakeLists.txt 2023-04-21 18:00:39.759381757 +0200 +@@ -1,4 +1,4 @@ +-add_library(dft_replace_lib ++add_library(dft_replace_lib STATIC + # Keep sorted + ScanReplace.cpp + ) +diff -Naur openroad-9999_or/src/dft/src/utils/CMakeLists.txt openroad-9999/src/dft/src/utils/CMakeLists.txt +--- openroad-9999_or/src/dft/src/utils/CMakeLists.txt 2023-04-21 15:41:59.365941472 +0200 ++++ openroad-9999/src/dft/src/utils/CMakeLists.txt 2023-04-21 18:00:49.507931838 +0200 +@@ -1,5 +1,4 @@ +- +-add_library(dft_utils_lib ++add_library(dft_utils_lib STATIC + # Keep sorted + Utils.cpp + ) +diff -Naur openroad-9999_or/src/dpl/CMakeLists.txt openroad-9999/src/dpl/CMakeLists.txt +--- openroad-9999_or/src/dpl/CMakeLists.txt 2023-04-21 15:41:59.375941467 +0200 ++++ openroad-9999/src/dpl/CMakeLists.txt 2023-04-21 18:01:03.078139371 +0200 +@@ -39,7 +39,7 @@ + include("openroad") + + +-add_library(dpl_lib ++add_library(dpl_lib STATIC + src/Opendp.cpp + src/dbToOpendp.cpp + src/Grid.cpp +diff -Naur openroad-9999_or/src/grt/src/fastroute/CMakeLists.txt openroad-9999/src/grt/src/fastroute/CMakeLists.txt +--- openroad-9999_or/src/grt/src/fastroute/CMakeLists.txt 2023-04-21 15:41:59.485941428 +0200 ++++ openroad-9999/src/grt/src/fastroute/CMakeLists.txt 2023-04-21 18:01:14.338218780 +0200 +@@ -34,7 +34,7 @@ + ## POSSIBILITY OF SUCH DAMAGE. + ################################################################################ + +-add_library(FastRoute4.1 ++add_library(FastRoute4.1 STATIC + src/FastRoute.cpp + src/RSMT.cpp + src/RipUp.cpp +diff -Naur openroad-9999_or/src/mpl/src/ParquetFP/CMakeLists.txt openroad-9999/src/mpl/src/ParquetFP/CMakeLists.txt +--- openroad-9999_or/src/mpl/src/ParquetFP/CMakeLists.txt 2023-04-21 15:41:59.485941428 +0200 ++++ openroad-9999/src/mpl/src/ParquetFP/CMakeLists.txt 2023-04-21 18:08:10.814536239 +0200 +@@ -36,7 +36,7 @@ + LANGUAGES CXX + ) + +-add_library(ParquetFP ++add_library(ParquetFP STATIC + src/AnalytSolve.cxx + src/baseannealer.cxx + src/basepacking.cxx +@@ -74,4 +74,3 @@ + PUBLIC + src + ) +- +diff -Naur openroad-9999_or/src/mpl2/CMakeLists.txt openroad-9999/src/mpl2/CMakeLists.txt +--- openroad-9999_or/src/mpl2/CMakeLists.txt 2023-04-21 15:41:59.495941425 +0200 ++++ openroad-9999/src/mpl2/CMakeLists.txt 2023-04-21 18:02:13.365753142 +0200 +@@ -41,7 +41,7 @@ + + find_package(ortools REQUIRED) + +-add_library(mpl2_lib ++add_library(mpl2_lib STATIC + src/rtl_mp.cpp + src/hier_rtlmp.cpp + src/object.cpp +diff -Naur openroad-9999_or/src/odb/CMakeLists.txt openroad-9999/src/odb/CMakeLists.txt +--- openroad-9999_or/src/odb/CMakeLists.txt 2023-04-21 15:41:59.495941425 +0200 ++++ openroad-9999/src/odb/CMakeLists.txt 2023-04-21 18:07:30.576698573 +0200 +@@ -86,4 +86,4 @@ + target_link_libraries(parseTest + odb + ) +-endif() +\ No newline at end of file ++endif() +diff -Naur openroad-9999_or/src/odb/src/cdl/CMakeLists.txt openroad-9999/src/odb/src/cdl/CMakeLists.txt +--- openroad-9999_or/src/odb/src/cdl/CMakeLists.txt 2023-04-21 15:41:59.495941425 +0200 ++++ openroad-9999/src/odb/src/cdl/CMakeLists.txt 2023-04-21 18:02:43.090025816 +0200 +@@ -1,4 +1,4 @@ +-add_library(cdl ++add_library(cdl STATIC + cdl.cpp + ) + +diff -Naur openroad-9999_or/src/odb/src/def/CMakeLists.txt openroad-9999/src/odb/src/def/CMakeLists.txt +--- openroad-9999_or/src/odb/src/def/CMakeLists.txt 2023-04-21 15:41:59.495941425 +0200 ++++ openroad-9999/src/odb/src/def/CMakeLists.txt 2023-04-21 18:02:59.486064599 +0200 +@@ -13,7 +13,7 @@ + COMPILE_FLAGS "--name-prefix=defyy" + ) + +-add_library(def ++add_library(def STATIC + def/defiAlias.cpp + def/defiAssertion.cpp + def/defiBlockage.cpp +@@ -50,7 +50,7 @@ + ${BISON_def_parser_OUTPUT_SOURCE} + ) + +-add_library(defzlib ++add_library(defzlib STATIC + defzlib/defzlib.cpp + ) + +diff -Naur openroad-9999_or/src/odb/src/lef/CMakeLists.txt openroad-9999/src/odb/src/lef/CMakeLists.txt +--- openroad-9999_or/src/odb/src/lef/CMakeLists.txt 2023-04-21 15:41:59.495941425 +0200 ++++ openroad-9999/src/odb/src/lef/CMakeLists.txt 2023-04-21 18:03:24.243031853 +0200 +@@ -11,7 +11,7 @@ + ############################################################ + # Create a library for LEF + ############################################################ +-add_library(lef ++add_library(lef STATIC + lef/crypt.cpp + lef/lefiArray.cpp + lef/lefiCrossTalk.cpp +@@ -37,7 +37,7 @@ + ${BISON_lef_parser_OUTPUT_SOURCE} + ) + +-add_library(lefzlib ++add_library(lefzlib STATIC + lefzlib/lefzlib.cpp + ) + +diff -Naur openroad-9999_or/src/odb/src/lefin/CMakeLists.txt openroad-9999/src/odb/src/lefin/CMakeLists.txt +--- openroad-9999_or/src/odb/src/lefin/CMakeLists.txt 2023-04-21 15:41:59.495941425 +0200 ++++ openroad-9999/src/odb/src/lefin/CMakeLists.txt 2023-04-21 18:03:35.672994838 +0200 +@@ -1,4 +1,4 @@ +-add_library(lefin ++add_library(lefin STATIC + lefin.cpp + reader.cpp + lefTechLayerSpacingEolParser.cpp +diff -Naur openroad-9999_or/src/odb/src/swig/common/CMakeLists.txt openroad-9999/src/odb/src/swig/common/CMakeLists.txt +--- openroad-9999_or/src/odb/src/swig/common/CMakeLists.txt 2023-04-21 15:41:59.495941425 +0200 ++++ openroad-9999/src/odb/src/swig/common/CMakeLists.txt 2023-04-21 18:03:46.926574448 +0200 +@@ -1,4 +1,4 @@ +-add_library(odb_swig_common ++add_library(odb_swig_common STATIC + swig_common.cpp + ) + +diff -Naur openroad-9999_or/src/odb/src/tm/CMakeLists.txt openroad-9999/src/odb/src/tm/CMakeLists.txt +--- openroad-9999_or/src/odb/src/tm/CMakeLists.txt 2023-04-21 15:41:59.495941425 +0200 ++++ openroad-9999/src/odb/src/tm/CMakeLists.txt 2023-04-21 18:03:57.626194045 +0200 +@@ -1,4 +1,4 @@ +-add_library(tm ++add_library(tm STATIC + ZFactory.cpp + ) + +diff -Naur openroad-9999_or/src/par/CMakeLists.txt openroad-9999/src/par/CMakeLists.txt +--- openroad-9999_or/src/par/CMakeLists.txt 2023-04-21 15:41:59.505941422 +0200 ++++ openroad-9999/src/par/CMakeLists.txt 2023-04-21 18:04:16.189408183 +0200 +@@ -37,7 +37,7 @@ + + find_package(ortools REQUIRED) + +-add_library(par_lib ++add_library(par_lib STATIC + src/PartitionMgr.cpp + src/TritonPart.cpp + src/TPHypergraph.cpp +diff -Naur openroad-9999_or/src/ppl/src/munkres/CMakeLists.txt openroad-9999/src/ppl/src/munkres/CMakeLists.txt +--- openroad-9999_or/src/ppl/src/munkres/CMakeLists.txt 2023-04-21 15:41:59.515941419 +0200 ++++ openroad-9999/src/ppl/src/munkres/CMakeLists.txt 2023-04-21 18:04:25.519277232 +0200 +@@ -1,6 +1,6 @@ + project(Munkres) + +-add_library(Munkres ++add_library(Munkres STATIC + src/Hungarian.cpp + ) + +@@ -8,4 +8,3 @@ + PUBLIC + src + ) +- +diff -Naur openroad-9999_or/src/rcx/src/CMakeLists.txt openroad-9999/src/rcx/src/CMakeLists.txt +--- openroad-9999_or/src/rcx/src/CMakeLists.txt 2023-04-21 15:41:59.525941416 +0200 ++++ openroad-9999/src/rcx/src/CMakeLists.txt 2023-04-21 18:04:34.589210494 +0200 +@@ -33,7 +33,7 @@ + + include("openroad") + +-add_library(rcx_lib ++add_library(rcx_lib STATIC + ext.cpp + extBench.cpp + extBenchDB.cpp +diff -Naur openroad-9999_or/src/odb/src/db/CMakeLists.txt openroad-9999/src/odb/src/db/CMakeLists.txt +--- openroad-9999_or/src/odb/src/db/CMakeLists.txt 2023-04-21 18:31:25.848987915 +0200 ++++ openroad-9999/src/odb/src/db/CMakeLists.txt 2023-04-21 18:31:45.894498140 +0200 +@@ -1,4 +1,4 @@ +-add_library(db ++add_library(db STATIC + dbBTerm.cpp + dbStream.cpp + dbBTermItr.cpp +diff -Naur openroad-9999_or/src/sta/CMakeLists.txt openroad-9999/src/sta/CMakeLists.txt +--- openroad-9999_or/src/sta/CMakeLists.txt 2023-04-21 18:31:25.908987528 +0200 ++++ openroad-9999/src/sta/CMakeLists.txt 2023-04-21 18:32:18.699014507 +0200 +@@ -473,7 +473,7 @@ + # compatibility with configure + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${STA_HOME}/app) + +-add_library(OpenSTA) ++add_library(OpenSTA STATIC) + + target_sources(OpenSTA + PRIVATE +@@ -564,10 +564,10 @@ + install(TARGETS sta DESTINATION bin) + + # library +-install(TARGETS OpenSTA DESTINATION lib) ++#install(TARGETS OpenSTA DESTINATION lib) + + # include +-install(DIRECTORY include/sta DESTINATION include) ++#install(DIRECTORY include/sta DESTINATION include) + + ################################################################ diff --git a/sci-electronics/openroad/files/openroad_build1.patch b/sci-electronics/openroad/files/openroad_build1.patch new file mode 100644 index 0000000..abe733c --- /dev/null +++ b/sci-electronics/openroad/files/openroad_build1.patch @@ -0,0 +1,187 @@ +diff -Naur openroad-9999_or/src/cts/src/HTreeBuilder.cpp openroad-9999/src/cts/src/HTreeBuilder.cpp +--- openroad-9999_or/src/cts/src/HTreeBuilder.cpp 2023-04-21 14:06:49.517807229 +0200 ++++ openroad-9999/src/cts/src/HTreeBuilder.cpp 2023-04-21 14:29:09.637380968 +0200 +@@ -201,7 +201,7 @@ + if (topLevelSinks.size() <= min_clustering_sinks_ + || !(options_->getSinkClustering())) { + Box sinkRegionDbu = clock_.computeSinkRegion(); +- logger_->info(CTS, 23, " Original sink region: {}.", sinkRegionDbu); ++ //logger_->info(CTS, 23, " Original sink region: {}.", sinkRegionDbu); + + sinkRegion_ = sinkRegionDbu.normalize(1.0 / wireSegmentUnit_); + } else { +@@ -218,7 +218,7 @@ + } + sinkRegion_ = clock_.computeSinkRegionClustered(topLevelSinksClustered_); + } +- logger_->info(CTS, 24, " Normalized sink region: {}.", sinkRegion_); ++ //logger_->info(CTS, 24, " Normalized sink region: {}.", sinkRegion_); + logger_->info(CTS, 25, " Width: {:.4f}.", sinkRegion_.getWidth()); + logger_->info(CTS, 26, " Height: {:.4f}.", sinkRegion_.getHeight()); + } +diff -Naur openroad-9999_or/src/drt/src/db/tech/frConstraint.h openroad-9999/src/drt/src/db/tech/frConstraint.h +--- openroad-9999_or/src/drt/src/db/tech/frConstraint.h 2023-04-21 14:06:49.537807219 +0200 ++++ openroad-9999/src/drt/src/db/tech/frConstraint.h 2023-04-21 14:52:29.356918592 +0200 +@@ -552,7 +552,7 @@ + numCuts, + width, + cutDistance, +- connection, ++ int(connection), + length, + distance); + } +@@ -2163,7 +2163,7 @@ + "{} edgeLength {} includeLShape {} minLength {} exceptNotch {} " + "notchLength {} exceptSameNet {} exceptSameMetal {} sameXY {} " + "cornerToCorner {}", +- cornerType, ++ int(cornerType), + sameMask, + within, + eolWidth, +diff -Naur openroad-9999_or/src/drt/src/dr/FlexDR.cpp openroad-9999/src/drt/src/dr/FlexDR.cpp +--- openroad-9999_or/src/drt/src/dr/FlexDR.cpp 2023-04-21 14:06:49.537807219 +0200 ++++ openroad-9999/src/drt/src/dr/FlexDR.cpp 2023-04-21 14:59:11.916792299 +0200 +@@ -610,7 +610,7 @@ + " Completing {}% with {} violations.", + prev_perc, + getDesign()->getTopBlock()->getNumMarkers()); +- logger_->report(" {}.", t); ++ // logger_->report(" {}.", int(t)); + } + } + } +@@ -637,7 +637,7 @@ + for (int i = 0; i < distWorkerBatches.size(); i++) + sendWorkers(distWorkerBatches.at(i), workersInBatch); + } +- logger_->report(" Received Batches:{}.", t); ++ //logger_->report(" Received Batches:{}.", t); + std::vector> workers; + router_->getWorkerResults(workers); + { +@@ -649,7 +649,7 @@ + workers.at(i).second); + } + } +- logger_->report(" Deserialized Batches:{}.", t); ++ //logger_->report(" Deserialized Batches:{}.", t); + } + } + } +@@ -680,7 +680,7 @@ + logger_->report(" Completing {}% with {} violations.", + prev_perc, + getDesign()->getTopBlock()->getNumMarkers()); +- logger_->report(" {}.", t); ++ //logger_->report(" {}.", t); + } + } + } +diff -Naur openroad-9999_or/src/drt/src/dr/FlexDR_conn.cpp openroad-9999/src/drt/src/dr/FlexDR_conn.cpp +--- openroad-9999_or/src/drt/src/dr/FlexDR_conn.cpp 2023-04-21 14:06:49.537807219 +0200 ++++ openroad-9999/src/drt/src/dr/FlexDR_conn.cpp 2023-04-21 14:54:54.186868308 +0200 +@@ -1004,8 +1004,8 @@ + if (ps->isBeginTruncated() + && ((currEnd < ps->high() && currEndPs->isEndTruncated()) + || (currEnd > ps->high() && ps->isEndTruncated()))) { +- logger_->warn( +- DRT, 6001, "Path segs were not split: {} and {}", *ps, *currEndPs); ++ /*logger_->warn( ++ DRT, 6001, "Path segs were not split: {} and {}", *ps, *currEndPs);*/ + } + hasOverlap = true; + // update local variables +diff -Naur openroad-9999_or/src/drt/src/pa/FlexPA_graphics.cpp openroad-9999/src/drt/src/pa/FlexPA_graphics.cpp +--- openroad-9999_or/src/drt/src/pa/FlexPA_graphics.cpp 2023-04-21 14:06:49.537807219 +0200 ++++ openroad-9999/src/drt/src/pa/FlexPA_graphics.cpp 2023-04-21 15:04:32.356718780 +0200 +@@ -305,7 +305,7 @@ + logger_->info(DRT, + 292, + "Marker {} at ({}, {}) ({}, {}).", +- marker->getConstraint()->typeId(), ++ int(marker->getConstraint()->typeId()), + bbox.xMin(), + bbox.yMin(), + bbox.xMax(), +@@ -349,7 +349,7 @@ + logger_->info(DRT, + 281, + "Marker {} at ({}, {}) ({}, {}).", +- marker->getConstraint()->typeId(), ++ int(marker->getConstraint()->typeId()), + bbox.xMin(), + bbox.yMin(), + bbox.xMax(), +diff -Naur openroad-9999_or/src/grt/src/fastroute/src/utility.cpp openroad-9999/src/grt/src/fastroute/src/utility.cpp +--- openroad-9999_or/src/grt/src/fastroute/src/utility.cpp 2023-04-21 14:06:49.637807168 +0200 ++++ openroad-9999/src/grt/src/fastroute/src/utility.cpp 2023-04-21 14:21:46.027519928 +0200 +@@ -1431,7 +1431,7 @@ + edge.n2, + nodes[edge.n2].x, + nodes[edge.n2].y, +- edge.route.type); ++ int(edge.route.type)); + if (edge.len > 0) { + std::string edge_rpt; + for (int i = 0; i <= edge.route.routelen; i++) { +diff -Naur openroad-9999_or/src/dst/src/BalancerConnection.cc openroad-9999/src/dst/src/BalancerConnection.cc +--- openroad-9999_or/src/dst/src/BalancerConnection.cc 2023-04-21 14:06:49.537807219 +0200 ++++ openroad-9999/src/dst/src/BalancerConnection.cc 2023-04-21 14:33:16.107305933 +0200 +@@ -133,13 +133,13 @@ + failure = false; + break; + } +- logger_->warn(utl::DST, ++ /*logger_->warn(utl::DST, + 204, + "Exception thrown: {}. worker with ip \"{}\" and " + "port \"{}\" will be pushed back the queue.", + ex.what(), + workerAddress, +- port); ++ port);*/ + owner_->punishWorker(workerAddress, port); + failed_workers_trials++; + if (failed_workers_trials == MAX_FAILED_WORKERS_TRIALS) { +diff -Naur openroad-9999_or/src/dst/src/LoadBalancer.cc openroad-9999/src/dst/src/LoadBalancer.cc +--- openroad-9999_or/src/dst/src/LoadBalancer.cc 2023-04-21 14:06:49.537807219 +0200 ++++ openroad-9999/src/dst/src/LoadBalancer.cc 2023-04-21 14:32:36.557316577 +0200 +@@ -43,11 +43,11 @@ + logger_->info(utl::DST, 7, "Processed {} jobs", jobs_); + auto copy = workers_; + while (!copy.empty()) { +- auto worker = copy.top(); ++ /*auto worker = copy.top(); + logger_->report("Worker {}/{} handled {} jobs", + worker.ip, + worker.port, +- worker.priority); ++ worker.priority);*/ + copy.pop(); + } + } +diff -Naur openroad-9999_or/src/dbSta/src/dbReadVerilog.cc openroad-9999/src/dbSta/src/dbReadVerilog.cc +--- openroad-9999_or/src/dbSta/src/dbReadVerilog.cc 2023-04-21 15:41:59.365941472 +0200 ++++ openroad-9999/src/dbSta/src/dbReadVerilog.cc 2023-04-21 15:45:45.655855300 +0200 +@@ -118,7 +118,7 @@ + void + initDbVerilogNetwork(ord::OpenRoad* openroad) + { +- openroad->getVerilogNetwork()->init(openroad->getDbNetwork()); ++// openroad->getVerilogNetwork()->init(openroad->getDbNetwork()); + } + + void +diff -Naur openroad-9999_or/src/sta/power/Vcd.hh openroad-9999/src/sta/power/Vcd.hh +--- openroad-9999_or/src/sta/power/Vcd.hh 2023-05-15 00:07:10.449868297 +0200 ++++ openroad-9999/src/sta/power/Vcd.hh 2023-05-15 00:07:37.216534307 +0200 +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + #include "StaState.hh" + diff --git a/sci-electronics/openroad/files/openroad_build_fix.patch b/sci-electronics/openroad/files/openroad_build_fix.patch new file mode 100644 index 0000000..d7cb773 --- /dev/null +++ b/sci-electronics/openroad/files/openroad_build_fix.patch @@ -0,0 +1,535 @@ +diff -Naur openroad-2.0_or/src/odb/src/db/CMakeLists.txt openroad-2.0/src/odb/src/db/CMakeLists.txt +--- openroad-2.0_or/src/odb/src/db/CMakeLists.txt 2023-03-23 10:21:52.264902374 +0100 ++++ openroad-2.0/src/odb/src/db/CMakeLists.txt 2023-03-23 10:19:20.622798162 +0100 +@@ -1,4 +1,4 @@ +-add_library(db ++add_library(db STATIC + dbBTerm.cpp + dbStream.cpp + dbBTermItr.cpp +diff -Naur openroad-2.0_or/src/odb/src/defout/CMakeLists.txt openroad-2.0/src/odb/src/defout/CMakeLists.txt +--- openroad-2.0_or/src/odb/src/defout/CMakeLists.txt 2023-03-23 10:22:03.737758944 +0100 ++++ openroad-2.0/src/odb/src/defout/CMakeLists.txt 2023-03-23 10:19:36.508599562 +0100 +@@ -1,4 +1,4 @@ +-add_library(defout ++add_library(defout STATIC + defout.cpp + defout_impl.cpp + ) +diff -Naur openroad-2.0_or/src/odb/src/lefout/CMakeLists.txt openroad-2.0/src/odb/src/lefout/CMakeLists.txt +--- openroad-2.0_or/src/odb/src/lefout/CMakeLists.txt 2023-03-23 10:22:10.718671670 +0100 ++++ openroad-2.0/src/odb/src/lefout/CMakeLists.txt 2023-03-23 10:19:50.669422527 +0100 +@@ -1,4 +1,4 @@ +-add_library(lefout ++add_library(lefout STATIC + lefout.cpp + ) + +diff -Naur openroad-2.0_or/src/odb/src/zutil/CMakeLists.txt openroad-2.0/src/odb/src/zutil/CMakeLists.txt +--- openroad-2.0_or/src/odb/src/zutil/CMakeLists.txt 2023-03-23 10:21:25.659234991 +0100 ++++ openroad-2.0/src/odb/src/zutil/CMakeLists.txt 2023-03-23 10:21:34.254127540 +0100 +@@ -1,4 +1,4 @@ +-add_library(zutil ++add_library(zutil STATIC + parse.cpp + poly_decomp.cpp + util.cpp + +diff -Naur openroad-9999_or/src/dst/src/BalancerConnection.cc openroad-9999/src/dst/src/BalancerConnection.cc +--- openroad-9999_or/src/dst/src/BalancerConnection.cc 2023-03-23 11:45:12.634389153 +0100 ++++ openroad-9999/src/dst/src/BalancerConnection.cc 2023-03-23 12:24:56.558586000 +0100 +@@ -133,21 +133,21 @@ + failure = false; + break; + } +- logger_->warn(utl::DST, ++ /*logger_->warn(utl::DST, + 204, + "Exception thrown: {}. worker with ip \"{}\" and " + "port \"{}\" will be pushed back the queue.", + ex.what(), + workerAddress, +- port); ++ port);*/ + owner_->punishWorker(workerAddress, port); + failed_workers_trials++; + if (failed_workers_trials == MAX_FAILED_WORKERS_TRIALS) { +- logger_->warn(utl::DST, ++/* logger_->warn(utl::DST, + 205, + "Maximum of {} failing workers reached, " + "relaying error to leader.", +- failed_workers_trials); ++ failed_workers_trials);*/ + break; + } + owner_->getNextWorker(workerAddress, port); +diff -Naur openroad-9999_or/src/dst/src/LoadBalancer.cc openroad-9999/src/dst/src/LoadBalancer.cc +--- openroad-9999_or/src/dst/src/LoadBalancer.cc 2023-03-23 11:45:12.634389153 +0100 ++++ openroad-9999/src/dst/src/LoadBalancer.cc 2023-03-23 12:19:04.019993338 +0100 +@@ -44,10 +44,10 @@ + auto copy = workers_; + while (!copy.empty()) { + auto worker = copy.top(); +- logger_->report("Worker {}/{} handled {} jobs", ++ /* logger_->report("Worker {}/{} handled {} jobs", + worker.ip, + worker.port, +- worker.priority); ++ worker.priority);*/ + copy.pop(); + } + } +diff -Naur openroad-9999_or/src/grt/src/fastroute/CMakeLists.txt openroad-9999/src/grt/src/fastroute/CMakeLists.txt +--- openroad-9999_or/src/grt/src/fastroute/CMakeLists.txt 2023-03-23 11:45:12.906385753 +0100 ++++ openroad-9999/src/grt/src/fastroute/CMakeLists.txt 2023-03-23 12:39:39.528547356 +0100 +@@ -53,6 +53,8 @@ + ../../include + ) + ++set_property(TARGET FastRoute4.1 PROPERTY POSITION_INDEPENDENT_CODE ON) ++ + target_link_libraries(FastRoute4.1 + PRIVATE + utl +diff -Naur openroad-9999_or/src/grt/src/fastroute/src/utility.cpp openroad-9999/src/grt/src/fastroute/src/utility.cpp +--- openroad-9999_or/src/grt/src/fastroute/src/utility.cpp 2023-03-23 11:45:12.906385753 +0100 ++++ openroad-9999/src/grt/src/fastroute/src/utility.cpp 2023-03-23 12:06:03.043756885 +0100 +@@ -1423,7 +1423,7 @@ + const TreeEdge edge = sttrees_[netID].edges[edgeID]; + const auto& nodes = sttrees_[netID].nodes; + +- logger_->report("edge {}: n1 {} ({}, {})-> n2 {}({}, {}), routeType {}", ++ /*logger_->report("edge {}: n1 {} ({}, {})-> n2 {}({}, {}), routeType {}", + edgeID, + edge.n1, + nodes[edge.n1].x, +@@ -1431,7 +1431,7 @@ + edge.n2, + nodes[edge.n2].x, + nodes[edge.n2].y, +- edge.route.type); ++ edge.route.type);*/ + if (edge.len > 0) { + std::string edge_rpt; + for (int i = 0; i <= edge.route.routelen; i++) { +diff -Naur openroad-9999_or/src/utl/include/utl/Logger.h openroad-9999/src/utl/include/utl/Logger.h +--- openroad-9999_or/src/utl/include/utl/Logger.h 2023-03-23 11:45:13.124383027 +0100 ++++ openroad-9999/src/utl/include/utl/Logger.h 2023-03-23 12:58:26.050463894 +0100 +@@ -118,7 +118,7 @@ + template + inline void report(const std::string& message, const Args&... args) + { +- logger_->log(spdlog::level::level_enum::off, FMT_RUNTIME(message), args...); ++ //logger_->log(spdlog::level::level_enum::off, FMT_RUNTIME(message), args...); + } + + // Do NOT call this directly, use the debugPrint macro instead (defined +@@ -130,13 +130,13 @@ + const Args&... args) + { + // Message counters do NOT apply to debug messages. +- logger_->log(spdlog::level::level_enum::debug, ++ /*logger_->log(spdlog::level::level_enum::debug, + FMT_RUNTIME("[{} {}-{}] " + message), + level_names[spdlog::level::level_enum::debug], + tool_names_[tool], + group, + args...); +- logger_->flush(); ++ logger_->flush();*/ + } + + template +@@ -249,22 +249,22 @@ + auto& counter = message_counters_[tool][id]; + auto count = counter++; + if (count < max_message_print) { +- logger_->log(level, ++ /*logger_->log(level, + FMT_RUNTIME("[{} {}-{:04d}] " + message), + level_names[level], + tool_names_[tool], + id, +- args...); ++ args...);*/ + return; + } + + if (count == max_message_print) { +- logger_->log(level, ++/* logger_->log(level, + "[{} {}-{:04d}] message limit reached, " + "this message will no longer print", + level_names[level], + tool_names_[tool], +- id); ++ id);*/ + } else { + counter--; // to avoid counter overflow + } +diff -Naur openroad-9999_or/src/mpl/src/ParquetFP/src/Annealer.h openroad-9999/src/mpl/src/ParquetFP/src/Annealer.h +--- openroad-9999_or/src/mpl/src/ParquetFP/src/Annealer.h 2023-03-23 14:05:52.021882291 +0100 ++++ openroad-9999/src/mpl/src/ParquetFP/src/Annealer.h 2023-03-23 17:22:11.421619529 +0100 +@@ -63,12 +63,12 @@ + Annealer() : BaseAnnealer(), _sp(NULL), _spEval(NULL) {} + + public: +- Annealer(const Command_Line* const params, DB* const db); ++ Annealer(const Command_Line* const params, DB* const db): BaseAnnealer(),_sp(NULL), _spEval(NULL) {} + +- virtual ~Annealer(); +- void parseConfig(); ++ virtual ~Annealer() {} ++ void parseConfig() {} + +- virtual bool go(); ++ virtual bool go() {} + void anneal(); + virtual bool packOneBlock() { return true; } + +@@ -76,8 +76,8 @@ + virtual void compactSoln(bool minWL, + bool fixedOutline, + float reqdH, +- float reqdW); +- virtual void takePlfromDB(); // takeSPformDB() + eval() ++ float reqdW) {} ++ virtual void takePlfromDB() {} // takeSPformDB() + eval() + void takeSPfromDB(); // converts the present pl to a seq-pair + + void eval(); // just evaluate the current SP and set up required +diff -Naur openroad-9999_or/src/dpl/CMakeLists.txt openroad-9999/src/dpl/CMakeLists.txt +--- openroad-9999_or/src/dpl/CMakeLists.txt 2023-03-23 17:39:20.233757607 +0100 ++++ openroad-9999/src/dpl/CMakeLists.txt 2023-03-23 17:51:02.776974608 +0100 +@@ -39,7 +39,7 @@ + include("openroad") + + +-add_library(dpl_lib ++add_library(dpl_lib STATIC + src/Opendp.cpp + src/dbToOpendp.cpp + src/Grid.cpp +diff -Naur openroad-9999_or/src/grt/src/fastroute/CMakeLists.txt openroad-9999/src/grt/src/fastroute/CMakeLists.txt +--- openroad-9999_or/src/grt/src/fastroute/CMakeLists.txt 2023-03-23 17:39:20.554753594 +0100 ++++ openroad-9999/src/grt/src/fastroute/CMakeLists.txt 2023-03-23 17:51:19.270768408 +0100 +@@ -34,7 +34,7 @@ + ## POSSIBILITY OF SUCH DAMAGE. + ################################################################################ + +-add_library(FastRoute4.1 ++add_library(FastRoute4.1 STATIC + src/FastRoute.cpp + src/RSMT.cpp + src/RipUp.cpp +diff -Naur openroad-9999_or/src/gui/CMakeLists.txt openroad-9999/src/gui/CMakeLists.txt +--- openroad-9999_or/src/gui/CMakeLists.txt 2023-03-23 17:39:20.566753444 +0100 ++++ openroad-9999/src/gui/CMakeLists.txt 2023-03-23 17:51:28.322655243 +0100 +@@ -75,7 +75,7 @@ + + else() + message(STATUS "GUI is not enabled") +- add_library(gui ++ add_library(gui STATIC + src/stub.cpp + src/stub_heatMap.cpp + ) +diff -Naur openroad-9999_or/src/mpl/src/ParquetFP/CMakeLists.txt openroad-9999/src/mpl/src/ParquetFP/CMakeLists.txt +--- openroad-9999_or/src/mpl/src/ParquetFP/CMakeLists.txt 2023-03-23 17:39:20.570753394 +0100 ++++ openroad-9999/src/mpl/src/ParquetFP/CMakeLists.txt 2023-03-23 17:50:32.687350780 +0100 +@@ -36,7 +36,7 @@ + LANGUAGES CXX + ) + +-add_library(ParquetFP ++add_library(ParquetFP STATIC + src/AnalytSolve.cxx + src/baseannealer.cxx + src/basepacking.cxx +@@ -74,4 +74,3 @@ + PUBLIC + src + ) +- +diff -Naur openroad-9999_or/src/odb/src/cdl/CMakeLists.txt openroad-9999/src/odb/src/cdl/CMakeLists.txt +--- openroad-9999_or/src/odb/src/cdl/CMakeLists.txt 2023-03-23 17:39:20.581753257 +0100 ++++ openroad-9999/src/odb/src/cdl/CMakeLists.txt 2023-03-23 17:47:36.996547218 +0100 +@@ -1,4 +1,4 @@ +-add_library(cdl ++add_library(cdl STATIC + cdl.cpp + ) + +diff -Naur openroad-9999_or/src/odb/src/def/CMakeLists.txt openroad-9999/src/odb/src/def/CMakeLists.txt +--- openroad-9999_or/src/odb/src/def/CMakeLists.txt 2023-03-23 17:39:20.593753107 +0100 ++++ openroad-9999/src/odb/src/def/CMakeLists.txt 2023-03-23 17:49:13.935335316 +0100 +@@ -13,7 +13,7 @@ + COMPILE_FLAGS "--name-prefix=defyy" + ) + +-add_library(def ++add_library(def STATIC + def/defiAlias.cpp + def/defiAssertion.cpp + def/defiBlockage.cpp +@@ -50,7 +50,7 @@ + ${BISON_def_parser_OUTPUT_SOURCE} + ) + +-add_library(defzlib ++add_library(defzlib STATIC + defzlib/defzlib.cpp + ) + +diff -Naur openroad-9999_or/src/odb/src/defin/CMakeLists.txt openroad-9999/src/odb/src/defin/CMakeLists.txt +--- openroad-9999_or/src/odb/src/defin/CMakeLists.txt 2023-03-23 17:39:20.593753107 +0100 ++++ openroad-9999/src/odb/src/defin/CMakeLists.txt 2023-03-23 17:47:54.686326065 +0100 +@@ -1,4 +1,4 @@ +-add_library(defin ++add_library(defin STATIC + definNet.cpp + definSNet.cpp + definComponent.cpp +diff -Naur openroad-9999_or/src/odb/src/lef/CMakeLists.txt openroad-9999/src/odb/src/lef/CMakeLists.txt +--- openroad-9999_or/src/odb/src/lef/CMakeLists.txt 2023-03-23 17:39:20.597753057 +0100 ++++ openroad-9999/src/odb/src/lef/CMakeLists.txt 2023-03-23 17:49:37.258043742 +0100 +@@ -11,7 +11,7 @@ + ############################################################ + # Create a library for LEF + ############################################################ +-add_library(lef ++add_library(lef STATIC + lef/crypt.cpp + lef/lefiArray.cpp + lef/lefiCrossTalk.cpp +@@ -37,7 +37,7 @@ + ${BISON_lef_parser_OUTPUT_SOURCE} + ) + +-add_library(lefzlib ++add_library(lefzlib STATIC + lefzlib/lefzlib.cpp + ) + +diff -Naur openroad-9999_or/src/odb/src/lefin/CMakeLists.txt openroad-9999/src/odb/src/lefin/CMakeLists.txt +--- openroad-9999_or/src/odb/src/lefin/CMakeLists.txt 2023-03-23 17:39:20.598753044 +0100 ++++ openroad-9999/src/odb/src/lefin/CMakeLists.txt 2023-03-23 17:49:46.559927453 +0100 +@@ -1,4 +1,4 @@ +-add_library(lefin ++add_library(lefin STATIC + lefin.cpp + reader.cpp + lefTechLayerSpacingEolParser.cpp +diff -Naur openroad-9999_or/src/odb/src/swig/common/CMakeLists.txt openroad-9999/src/odb/src/swig/common/CMakeLists.txt +--- openroad-9999_or/src/odb/src/swig/common/CMakeLists.txt 2023-03-23 17:39:20.598753044 +0100 ++++ openroad-9999/src/odb/src/swig/common/CMakeLists.txt 2023-03-23 17:48:46.532677897 +0100 +@@ -1,4 +1,4 @@ +-add_library(odb_swig_common ++add_library(odb_swig_common STATIC + swig_common.cpp + ) + +diff -Naur openroad-9999_or/src/odb/src/tm/CMakeLists.txt openroad-9999/src/odb/src/tm/CMakeLists.txt +--- openroad-9999_or/src/odb/src/tm/CMakeLists.txt 2023-03-23 17:39:20.598753044 +0100 ++++ openroad-9999/src/odb/src/tm/CMakeLists.txt 2023-03-23 17:49:58.709775559 +0100 +@@ -1,4 +1,4 @@ +-add_library(tm ++add_library(tm STATIC + ZFactory.cpp + ) + +diff -Naur openroad-9999_or/src/ppl/src/munkres/CMakeLists.txt openroad-9999/src/ppl/src/munkres/CMakeLists.txt +--- openroad-9999_or/src/ppl/src/munkres/CMakeLists.txt 2023-03-23 17:39:20.639752532 +0100 ++++ openroad-9999/src/ppl/src/munkres/CMakeLists.txt 2023-03-23 17:52:05.390191835 +0100 +@@ -1,6 +1,6 @@ + project(Munkres) + +-add_library(Munkres ++add_library(Munkres STATIC + src/Hungarian.cpp + ) + +diff -Naur openroad-9999_or/src/rcx/src/CMakeLists.txt openroad-9999/src/rcx/src/CMakeLists.txt +--- openroad-9999_or/src/rcx/src/CMakeLists.txt 2023-03-23 17:39:20.677752057 +0100 ++++ openroad-9999/src/rcx/src/CMakeLists.txt 2023-03-23 18:05:05.920433865 +0100 +@@ -33,7 +33,7 @@ + + include("openroad") + +-add_library(rcx_lib ++add_library(rcx_lib STATIC + ext.cpp + extBench.cpp + extBenchDB.cpp +diff -Naur openroad-9999_or/src/sta/CMakeLists.txt openroad-9999/src/sta/CMakeLists.txt +--- openroad-9999_or/src/sta/CMakeLists.txt 2023-03-23 17:39:20.764750969 +0100 ++++ openroad-9999/src/sta/CMakeLists.txt 2023-03-23 18:22:22.433475668 +0100 +@@ -557,7 +557,12 @@ + install(TARGETS sta DESTINATION bin) + + # library +-install(TARGETS OpenSTA DESTINATION lib) ++get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS) ++if (${LIB64} STREQUAL "TRUE") ++ install(TARGETS OpenSTA DESTINATION lib64) ++else() ++ install(TARGETS OpenSTA DESTINATION lib) ++endif() + + # include + install(DIRECTORY include/sta DESTINATION include) +diff -Naur openroad-9999_or/src/upf/src/CMakeLists.txt openroad-9999/src/upf/src/CMakeLists.txt +--- openroad-9999_or/src/upf/src/CMakeLists.txt 2023-03-23 17:39:20.773750856 +0100 ++++ openroad-9999/src/upf/src/CMakeLists.txt 2023-03-23 17:48:26.645926515 +0100 +@@ -35,7 +35,7 @@ + + include("openroad") + +-add_library(upf_lib ++add_library(upf_lib STATIC + upf.cpp + ) + +diff -Naur openroad-9999_or/src/utl/CMakeLists.txt openroad-9999/src/utl/CMakeLists.txt +--- openroad-9999_or/src/utl/CMakeLists.txt 2023-03-23 17:39:20.774750844 +0100 ++++ openroad-9999/src/utl/CMakeLists.txt 2023-03-23 17:52:33.266843329 +0100 +@@ -65,7 +65,7 @@ + ) + endif() + +-add_library(utl_lib ++add_library(utl_lib STATIC + src/Metrics.cpp + src/CFileUtils.cpp + src/ScopedTemporaryFile.cpp +diff -Naur openroad-9999_or/third-party/abc/CMakeLists.txt openroad-9999/third-party/abc/CMakeLists.txt +--- openroad-9999_or/third-party/abc/CMakeLists.txt 2023-03-26 14:58:26.804651212 +0200 ++++ openroad-9999/third-party/abc/CMakeLists.txt 2023-03-26 15:00:54.912799606 +0200 +@@ -103,7 +103,7 @@ + set(ABC_MAIN_SRC src/base/main/main.c) + list(REMOVE_ITEM ABC_SRC ${ABC_MAIN_SRC}) + +-add_library(libabc EXCLUDE_FROM_ALL ${ABC_SRC}) ++add_library(libabc STATIC EXCLUDE_FROM_ALL ${ABC_SRC}) + abc_properties(libabc PUBLIC) + set_property(TARGET libabc PROPERTY OUTPUT_NAME abc) + +@@ -111,7 +111,7 @@ + target_link_libraries(abc PRIVATE libabc) + abc_properties(abc PRIVATE) + +-add_library(libabc-pic EXCLUDE_FROM_ALL ${ABC_SRC}) ++add_library(libabc-pic STATIC EXCLUDE_FROM_ALL ${ABC_SRC}) + abc_properties(libabc-pic PUBLIC) + set_property(TARGET libabc-pic PROPERTY POSITION_INDEPENDENT_CODE ON) + set_property(TARGET libabc-pic PROPERTY OUTPUT_NAME abc-pic) +diff -Naur openroad-9999_or/src/mpl2/CMakeLists.txt openroad-9999/src/mpl2/CMakeLists.txt +--- openroad-9999_or/src/mpl2/CMakeLists.txt 2023-04-17 23:05:11.449824569 +0200 ++++ openroad-9999/src/mpl2/CMakeLists.txt 2023-04-17 23:05:18.249678283 +0200 +@@ -41,7 +41,7 @@ + + find_package(ortools REQUIRED) + +-add_library(mpl2_lib ++add_library(mpl2_lib STATIC + src/rtl_mp.cpp + src/hier_rtlmp.cpp + src/object.cpp +@@ -93,4 +93,4 @@ + gui + ) + +-add_subdirectory(test/cpp) +\ No newline at end of file ++#add_subdirectory(test/cpp) +\ No newline at end of file +diff -Naur openroad-9999_or/src/dft/CMakeLists.txt openroad-9999/src/dft/CMakeLists.txt +--- openroad-9999_or/src/dft/CMakeLists.txt 2023-04-17 23:12:44.372130910 +0200 ++++ openroad-9999/src/dft/CMakeLists.txt 2023-04-17 23:12:52.872278949 +0200 +@@ -104,4 +104,4 @@ + add_subdirectory(src/config) + add_subdirectory(src/replace) + add_subdirectory(src/utils) +-add_subdirectory(test/cpp) ++#add_subdirectory(test/cpp) + +diff -Naur openroad-9999_or/src/dbSta/src/CMakeLists.txt openroad-9999/src/dbSta/src/CMakeLists.txt +--- openroad-9999_or/src/dbSta/src/CMakeLists.txt 2023-04-17 23:34:36.949536731 +0200 ++++ openroad-9999/src/dbSta/src/CMakeLists.txt 2023-04-17 23:36:30.408541243 +0200 +@@ -35,7 +35,7 @@ + + include("openroad") + +-add_library(dbSta_lib ++add_library(dbSta_lib STATIC + dbNetwork.cc + dbSdcNetwork.cc + dbReadVerilog.cc +diff -Naur openroad-9999_or/src/dft/src/architect/CMakeLists.txt openroad-9999/src/dft/src/architect/CMakeLists.txt +--- openroad-9999_or/src/dft/src/architect/CMakeLists.txt 2023-04-17 23:34:36.949536731 +0200 ++++ openroad-9999/src/dft/src/architect/CMakeLists.txt 2023-04-17 23:35:06.235215241 +0200 +@@ -1,4 +1,4 @@ +-add_library(dft_architect_lib ++add_library(dft_architect_lib STATIC + # Keep sorted + ScanArchitect.cpp + ScanArchitectHeuristic.cpp +diff -Naur openroad-9999_or/src/dft/src/cells/CMakeLists.txt openroad-9999/src/dft/src/cells/CMakeLists.txt +--- openroad-9999_or/src/dft/src/cells/CMakeLists.txt 2023-04-17 23:34:36.949536731 +0200 ++++ openroad-9999/src/dft/src/cells/CMakeLists.txt 2023-04-17 23:35:12.725276693 +0200 +@@ -1,4 +1,4 @@ +-add_library(dft_cells_lib ++add_library(dft_cells_lib STATIC + # Keep sorted + OneBitScanCell.cpp + ScanCell.cpp +diff -Naur openroad-9999_or/src/dft/src/clock_domain/CMakeLists.txt openroad-9999/src/dft/src/clock_domain/CMakeLists.txt +--- openroad-9999_or/src/dft/src/clock_domain/CMakeLists.txt 2023-04-17 23:34:36.949536731 +0200 ++++ openroad-9999/src/dft/src/clock_domain/CMakeLists.txt 2023-04-17 23:35:22.795447936 +0200 +@@ -1,4 +1,4 @@ +-add_library(dft_clock_domain_lib ++add_library(dft_clock_domain_lib STATIC + # Keep sorted + ClockDomain.cpp + ) +diff -Naur openroad-9999_or/src/dft/src/config/CMakeLists.txt openroad-9999/src/dft/src/config/CMakeLists.txt +--- openroad-9999_or/src/dft/src/config/CMakeLists.txt 2023-04-17 23:34:36.949536731 +0200 ++++ openroad-9999/src/dft/src/config/CMakeLists.txt 2023-04-17 23:35:33.125542139 +0200 +@@ -1,4 +1,4 @@ +-add_library(dft_config_lib ++add_library(dft_config_lib STATIC + # Keep sorted + DftConfig.cpp + ScanArchitectConfig.cpp +diff -Naur openroad-9999_or/src/dft/src/replace/CMakeLists.txt openroad-9999/src/dft/src/replace/CMakeLists.txt +--- openroad-9999_or/src/dft/src/replace/CMakeLists.txt 2023-04-17 23:34:36.949536731 +0200 ++++ openroad-9999/src/dft/src/replace/CMakeLists.txt 2023-04-17 23:35:40.691890450 +0200 +@@ -1,4 +1,4 @@ +-add_library(dft_replace_lib ++add_library(dft_replace_lib STATIC + # Keep sorted + ScanReplace.cpp + ) +diff -Naur openroad-9999_or/src/dft/src/utils/CMakeLists.txt openroad-9999/src/dft/src/utils/CMakeLists.txt +--- openroad-9999_or/src/dft/src/utils/CMakeLists.txt 2023-04-17 23:34:36.949536731 +0200 ++++ openroad-9999/src/dft/src/utils/CMakeLists.txt 2023-04-17 23:35:52.132006797 +0200 +@@ -1,5 +1,5 @@ + +-add_library(dft_utils_lib ++add_library(dft_utils_lib STATIC + # Keep sorted + Utils.cpp + ) +diff -Naur openroad-9999_or/src/par/CMakeLists.txt openroad-9999/src/par/CMakeLists.txt +--- openroad-9999_or/src/par/CMakeLists.txt 2023-04-17 23:34:37.099542578 +0200 ++++ openroad-9999/src/par/CMakeLists.txt 2023-04-17 23:36:10.398133131 +0200 +@@ -37,7 +37,7 @@ + + find_package(ortools REQUIRED) + +-add_library(par_lib ++add_library(par_lib STATIC + src/PartitionMgr.cpp + src/TritonPart.cpp + src/TPHypergraph.cpp diff --git a/sci-electronics/openroad/openroad-9999.ebuild b/sci-electronics/openroad/openroad-9999.ebuild new file mode 100644 index 0000000..2179c2d --- /dev/null +++ b/sci-electronics/openroad/openroad-9999.ebuild @@ -0,0 +1,58 @@ +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +inherit cmake python-any-r1 git-r3 + +DESCRIPTION="Hardware design requires too much effort, cost and time" +HOMEPAGE="https://theopenroadproject.org/" + +#SRC_URI="https://github.com/The-OpenROAD-Project/OpenROAD/archive/refs/tags/v${PV}.tar.gz" +#S="${WORKDIR}/OpenROAD-${PV}" +EGIT_REPO_URI="https://github.com/The-OpenROAD-Project/OpenROAD.git" +EGIT_SUBMODULES=( '*' ) + +PATCHES=( + "${FILESDIR}"/${PN}_build1.patch +) + + +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86" +SLOT="0" +IUSE="test" + +DEPEND=" + dev-libs/spdlog + dev-cpp/eigen + sci-libs/lemon + dev-cpp/gtest + dev-cpp/or-tools + dev-lang/swig + dev-libs/boost +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-util/cmake +" + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/" +# -DUSE_SYSTEM_ABC=true + -DUSE_SYSTEM_BOOST=true + -DCMAKE_CXX_FLAGS="-fPIC -DFMT_DEPRECATED_OSTREAM=1" + -DCMAKE_BUILD_TYPE="RELEASE" + -DBUILD_SHARED_LIBS=NO + ) + if use test; then + mycmakeargs+=( + -DENABLE_TESTS=ON + ) + else + mycmakeargs+=( + -DENABLE_TESTS=OFF + ) + fi + cmake_src_configure +} diff --git a/sci-electronics/sky130-meta/Manifest b/sci-electronics/sky130-meta/Manifest new file mode 100644 index 0000000..73dab4b --- /dev/null +++ b/sci-electronics/sky130-meta/Manifest @@ -0,0 +1 @@ +EBUILD sky130-meta-0.ebuild 475 BLAKE2B d36e4ed9f622cadf6533c4b07ed03ae528487989466c16ac0964dfd0d776fc3420ac059906ebb72a706430bfe559694070599216ffc361fddcbca2db33f09b59 SHA512 94fb1f3efe8913e42135e7b36b129e7941d73010c79bffebd2a0c5e0bab564b847e75c8992c0d35f946cbd8a256b2d004f6e8aa82c213e947c68abe7be157712 diff --git a/sci-electronics/sky130-meta/sky130-meta-0.ebuild b/sci-electronics/sky130-meta/sky130-meta-0.ebuild new file mode 100644 index 0000000..17daac2 --- /dev/null +++ b/sci-electronics/sky130-meta/sky130-meta-0.ebuild @@ -0,0 +1,21 @@ +EAPI=7 + +inherit multilib-build + +DESCRIPTION="Meta-package for Google SKY130 programm" + +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +IUSE="" + +DEPEND="sci-electronics/magic + sci-electronics/openroad + sci-electronics/xschem + sci-electronics/ngspice + sci-electronics/xyce + app-containers/docker + app-containers/docker-cli + dev-python/pip + sci-electronics/gtkwave[lzma(+)]" + +RDEPEND="${DEPEND}" diff --git a/sci-electronics/xschem/Manifest b/sci-electronics/xschem/Manifest new file mode 100644 index 0000000..9b3bf75 --- /dev/null +++ b/sci-electronics/xschem/Manifest @@ -0,0 +1 @@ +EBUILD xschem-9999.ebuild 464 BLAKE2B 7e22a2fb12e89be329d97b496f198839b93dc5ba9b9b623747798104350a02e94a35a948729ff4ab3a65d48d9800ad109109ba5fa6f1fba6797da6ecac4b3036 SHA512 74d1713a1910ae371c4569dfa52ba69e482e6c8cecd1e8a1be0abb1dd7482a80e7b5d849b4913b4778d416f901b16689f2937b2a4cd118d5e2aa5f532163f94f diff --git a/sci-electronics/xschem/xschem-9999.ebuild b/sci-electronics/xschem/xschem-9999.ebuild new file mode 100644 index 0000000..da21ea7 --- /dev/null +++ b/sci-electronics/xschem/xschem-9999.ebuild @@ -0,0 +1,28 @@ +EAPI=8 + +inherit git-r3 + +DESCRIPTION="A schematic editor for VLSI/Asic/Analog custom designs" +HOMEPAGE="http://repo.hu/projects/xschem/index.html" + +EGIT_REPO_URI="https://github.com/StefanSchippers/xschem.git" +EGIT_SUBMODULES=( '*' ) + +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86" +SLOT="0" +IUSE="" + +DEPEND=" + dev-lang/tcl + x11-libs/cairo + x11-libs/libxcb + x11-libs/libXpm + x11-terms/xterm +" +RDEPEND=" + ${DEPEND} +" + +src_configure() { + ./configure --prefix=/usr +} diff --git a/sci-electronics/xyce/Manifest b/sci-electronics/xyce/Manifest new file mode 100644 index 0000000..c9d5ae3 --- /dev/null +++ b/sci-electronics/xyce/Manifest @@ -0,0 +1,3 @@ +AUX cuda_fix.patch 554 BLAKE2B f0609fd0faf38a8bfc15da8ad12c66070f9de6d9f1e1c3748903d1b5fd61ef401c3a0f149a7502b29d9fdd5d8054d0a7367a41734d8e76dbafd5f304a72429f2 SHA512 1c30ca126e4328e86a4fc10f1de9b7686ceca1403b2892f95b0b110df8becfd07540912d0bc6bc92726d1890157d7c8e137db2bad16e37057c2a4c9a42c22c7b +AUX install_fix.patch 5981 BLAKE2B c2b4a069e82ff5d06967c517934856565d4110f139f4e47a84d45cbc021a7a4e207cb3500fe9a75ae1ce7c958aba78c82c9a1920d65be1d9d98adffee6d44f41 SHA512 3a50ad0def026700993d6d6ad84098d9fd1702c08eea7375bad81854a7af5b94b49914af2e2f1a5e46855c8539df6d22f2aae32a37885f80c51e35505c91c843 +EBUILD xyce-9999.ebuild 2133 BLAKE2B b9140b8cf5142cceb1231833f3e22123adc248c6aa1fdb9f8814282e491adc27e858f2646f1f86293e55d09178992f1bae4403f644049c517b5160dba67ded29 SHA512 abd3923c33633540b9af1c2af456eac959b9436813f8ac43af0e97218e8eed7e08f8e989fc4a13ee39895d8d99e169e658cfc0b247cffe5fb5a3192f912c9986 diff --git a/sci-electronics/xyce/files/cuda_fix.patch b/sci-electronics/xyce/files/cuda_fix.patch new file mode 100644 index 0000000..08bb75c --- /dev/null +++ b/sci-electronics/xyce/files/cuda_fix.patch @@ -0,0 +1,12 @@ +diff -Naur xyce-9999_or/CMakeLists.txt xyce-9999/CMakeLists.txt +--- xyce-9999_or/CMakeLists.txt 2023-06-24 23:07:37.945271060 +0200 ++++ xyce-9999/CMakeLists.txt 2023-06-24 23:07:47.805157816 +0200 +@@ -13,7 +13,7 @@ + # system and sets up some critical variables. Therefore, make an initial call + # to "project" with "NONE" as the compiler set, then find Trilinos, then set up + # the compilers and call project again. +-project(Xyce NONE) ++project(Xyce CXX) + + # Disable Kokkos warning about not supporting C++ extensions + set(CMAKE_CXX_EXTENSIONS OFF) diff --git a/sci-electronics/xyce/files/install_fix.patch b/sci-electronics/xyce/files/install_fix.patch new file mode 100644 index 0000000..945b81b --- /dev/null +++ b/sci-electronics/xyce/files/install_fix.patch @@ -0,0 +1,124 @@ +diff -Naur xyce-9999_or/cmake/CPackConfig.cmake xyce-9999/cmake/CPackConfig.cmake +--- xyce-9999_or/cmake/CPackConfig.cmake 2023-05-15 12:38:38.177693416 +0200 ++++ xyce-9999/cmake/CPackConfig.cmake 2023-05-15 12:39:49.513921635 +0200 +@@ -1,7 +1,7 @@ + ## Installation and CPack + # copyright, readme, license, etc. + install ( FILES ${Xyce_SOURCE_DIR}/distribution/README.TXT +- DESTINATION doc ++ DESTINATION ${CMAKE_INSTALL_DOCDIR} + OPTIONAL ) + + +diff -Naur xyce-9999_or/cmake/trilinos/AMD/CMakeLists.txt xyce-9999/cmake/trilinos/AMD/CMakeLists.txt +--- xyce-9999_or/cmake/trilinos/AMD/CMakeLists.txt 2023-05-15 12:38:38.177693416 +0200 ++++ xyce-9999/cmake/trilinos/AMD/CMakeLists.txt 2023-05-15 12:43:28.645636710 +0200 +@@ -60,7 +60,7 @@ + + set_property(TARGET amd PROPERTY POSITION_INDEPENDENT_CODE ON) + +-install(TARGETS amd DESTINATION lib) ++install(TARGETS amd DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(FILES + ${SuiteSparsePath}/AMD/Include/amd.h + ${SuiteSparsePath}/SuiteSparse_config/SuiteSparse_config.h +diff -Naur xyce-9999_or/src/CMakeLists.txt xyce-9999/src/CMakeLists.txt +--- xyce-9999_or/src/CMakeLists.txt 2023-05-15 12:38:38.204359928 +0200 ++++ xyce-9999/src/CMakeLists.txt 2023-05-15 12:41:52.479724497 +0200 +@@ -167,7 +167,7 @@ + # using different logical target names the two targets will remove each other's + # files. This can be prevented by setting the CLEAN_DIRECT_OUTPUT property to 1." + +-install(TARGETS XyceLib DESTINATION lib EXPORT XyceLibTarget) ++install(TARGETS XyceLib DESTINATION ${CMAKE_INSTALL_LIBDIR} EXPORT XyceLibTarget) + install(TARGETS Xyce DESTINATION bin EXPORT XyceTarget) + + # Add header files needed by other codes to link against libxyce.* +diff -Naur xyce-9999_or/utils/SimulinkInterface/CMakeLists.txt xyce-9999/utils/SimulinkInterface/CMakeLists.txt +--- xyce-9999_or/utils/SimulinkInterface/CMakeLists.txt 2023-05-15 12:38:38.211026556 +0200 ++++ xyce-9999/utils/SimulinkInterface/CMakeLists.txt 2023-05-15 12:43:45.132168085 +0200 +@@ -5,7 +5,7 @@ + target_include_directories(xyce_sfunction PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + ${Matlab_INCLUDE_DIRS} "${Matlab_ROOT_DIR}/simulink/include") +- install(TARGETS xyce_sfunction DESTINATION lib) ++ install(TARGETS xyce_sfunction DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(FILES XyceBlocks.slx DESTINATION share/simulink) + + matlab_add_mex( NAME xyce2nLv_sfunction MODULE SRC xyce2nLv_sfunction.cpp LINK_TO XyceLib ) +diff -Naur xyce-9999_or/utils/XyceCInterface/CMakeLists.txt xyce-9999/utils/XyceCInterface/CMakeLists.txt +--- xyce-9999_or/utils/XyceCInterface/CMakeLists.txt 2023-05-15 12:38:38.211026556 +0200 ++++ xyce-9999/utils/XyceCInterface/CMakeLists.txt 2023-05-15 12:43:08.092469721 +0200 +@@ -5,7 +5,7 @@ + target_sources( xycecinterface PRIVATE N_CIR_XyceCInterface.C PUBLIC N_CIR_XyceCInterface.h ) + target_include_directories( xycecinterface PUBLIC $ ) + target_link_libraries(xycecinterface XyceLib ) +-install(TARGETS xycecinterface DESTINATION lib ) ++install(TARGETS xycecinterface DESTINATION ${CMAKE_INSTALL_LIBDIR} ) + install(FILES N_CIR_XyceCInterface.h DESTINATION include) + + + +diff -Naur xyce-9999_or/src/CMakeLists.txt xyce-9999/src/CMakeLists.txt +--- xyce-9999_or/src/CMakeLists.txt 2023-05-26 18:32:42.704669936 +0200 ++++ xyce-9999/src/CMakeLists.txt 2023-05-26 18:37:51.203869009 +0200 +@@ -328,10 +328,10 @@ + configure_package_config_file( + cmake/XyceConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/cmake/XyceConfig.cmake +- INSTALL_DESTINATION lib/cmake ++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake + ) + +-set(ConfigPackageLocation lib/cmake/Xyce) ++set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/Xyce) + install(EXPORT XyceLibTarget + FILE + XyceTargets.cmake +diff -Naur xyce-9999_or/CMakeLists.txt xyce-9999/CMakeLists.txt +--- xyce-9999_or/CMakeLists.txt 2023-06-15 12:10:16.293228331 +0200 ++++ xyce-9999/CMakeLists.txt 2023-06-15 12:35:46.624756996 +0200 +@@ -15,6 +15,9 @@ + # the compilers and call project again. + project(Xyce NONE) + ++# Disable Kokkos warning about not supporting C++ extensions ++set(CMAKE_CXX_EXTENSIONS OFF) ++ + # A TriBITS project that performs a coupled build with Trilinos, like Charon, + # changes the names of all the Trilinos variables. Therefore, we have to jump + # through a bunch of hoops to take that use case into account. Here we set a +diff -Naur xyce-9999_or/cmake/tps.cmake xyce-9999/cmake/tps.cmake +--- xyce-9999_or/cmake/tps.cmake 2023-06-15 12:10:16.259895400 +0200 ++++ xyce-9999/cmake/tps.cmake 2023-06-15 12:42:55.076301530 +0200 +@@ -107,8 +107,8 @@ + # Search for required TPL packages + + message(STATUS "Looking for BLAS and LAPACK via Trilinos") +-list(FIND Trilinos_TPL_LIST BLAS BLAS_IN_Trilinos) +-list(FIND Trilinos_TPL_LIST LAPACK LAPACK_IN_Trilinos) ++list(FIND BLAS::all_libs BLAS BLAS_IN_Trilinos) ++list(FIND LAPACK::all_libs LAPACK LAPACK_IN_Trilinos) + if ((BLAS_IN_Trilinos GREATER -1) AND (LAPACK_IN_Trilinos GREATER -1)) + message(STATUS "Looking for BLAS and LAPACK via Trilinos - found") + else() +@@ -117,7 +117,7 @@ + "Enable the following in the Trilinos build:\n" + " -D TPL_ENABLE_BLAS=ON\n" + " -D TPL_ENABLE_LAPACK=ON") +- set(Trilinos_IS_MISSING_FEATURES TRUE) ++# set(Trilinos_IS_MISSING_FEATURES TRUE) + endif() + + # Search for required features +diff -Naur xyce-9999_or/src/LinearAlgebraServicesPKG/N_LAS_TransformTool.C xyce-9999/src/LinearAlgebraServicesPKG/N_LAS_TransformTool.C +--- xyce-9999_or/src/LinearAlgebraServicesPKG/N_LAS_TransformTool.C 2023-06-15 19:12:44.585504630 +0200 ++++ xyce-9999/src/LinearAlgebraServicesPKG/N_LAS_TransformTool.C 2023-06-15 19:16:03.513134501 +0200 +@@ -53,6 +53,7 @@ + #include + #endif + #endif ++#include + + #ifdef Xyce_AMD + #include diff --git a/sci-electronics/xyce/xyce-9999.ebuild b/sci-electronics/xyce/xyce-9999.ebuild new file mode 100644 index 0000000..1c50bf9 --- /dev/null +++ b/sci-electronics/xyce/xyce-9999.ebuild @@ -0,0 +1,96 @@ +EAPI=8 + +inherit git-r3 cmake + +DESCRIPTION="The Xyce Parallel Electronic Simulator is a SPICE-compatible circuit simulator" +HOMEPAGE="https://xyce.sandia.gov/about-xyce/" + +CMAKE_MAKEFILE_GENERATOR=emake + +EGIT_REPO_URI="https://github.com/Xyce/Xyce.git" +EGIT_COMMIT="2d93caa9358b276e774ab5906bac6a6b2d563c81" +EGIT_SUBMODULES=( '*' ) + +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86" +SLOT="0" +IUSE="cuda openmp" + +DEPEND=" + sci-libs/fftw + sci-libs/suitesparse + virtual/blas + sci-libs/trilinos + openmp? ( virtual/mpi[nullmpi(+)] ) + cuda? ( >=dev-util/nvidia-cuda-toolkit-3.2 ) + dev-perl/XML-LibXML +" +RDEPEND=" + ${DEPEND} +" + +PATCHES=( + "${FILESDIR}"/install_fix.patch + "${FILESDIR}"/cuda_fix.patch +) + +#src_prepare() { + #./bootstrap + #autoheader + #libtoolize --force --copy + #aclocal -I config + #automake --foreign --add-missing --copy + #autoconf + #autoheader +# eapply_user +# eautoreconf +#} + +src_configure() { + #econf \ + # LDFLAGS="-L${PREFIX}/lib64/trilinos ${LDFLAGS}" \ + # --enable-fftw \ + # --enable-stokhos \ + # --enable-amesos2 \ + # --enable-mpi \ + # --enable-superlu \ + # --enable-shylu \ + # --enable-curl \ + # --disable-amd +# ./configure --prefix=/usr + local mycmakeargs=( +# -DCMAKE_INSTALL_PREFIX=/usr + -DXyce_PARALLEL_MPI="$(usex openmp)" + #-DXyce_VERBOSE_LINEAR=True + #-DXyce_DEBUG_CIRCUIT=True + #-DXyce_OP_START=True + #-DXyce_TOPOLOGY=True + #-DXyce_VERBOSE_CONDUCTANCE=True + #-DXyce_VERBOSE_NONLINEAR=True + #-DXyce_VERBOSE_NOX=True + #-DXyce_VERBOSE_TIME=True + -DTrilinos_DIR="${PREFIX}/lib64/cmake/Trilinos" + ) + if use openmp; then + [ ! -z "${CC}"] && export OMPI_CC="${CC}" MPICH_CC="${CC}" && tc-export OMPI_CC MPICH_CC + [ ! -z "${CXX}"] && export OMPI_CXX="${CXX}" MPICH_CXX="${CXX}" && tc-export OMPI_CXX MPICH_CXX + export CC=mpicc CXX=mpicxx && tc-export CC CXX + fi + if use cuda; then + mycmakeargs+=( + -DCMAKE_C_COMPILER=gcc + -DCMAKE_CXX_COMPILER=nvcc_wrapper + -DCMAKE_CXX_FLAGS:STRING="-allow-unsupported-compiler" + ) + export CXX=nvcc_wrapper + fi + CPPFLAGS="-std=c++14" cmake_src_configure +} + +#src_install() { +# eninja install +# rm -rf "${D}"/usr/doc +#} + +pkg_preinst() { + rm -rf "${D}"/usr/doc +} diff --git a/sci-libs/trilinos/Manifest b/sci-libs/trilinos/Manifest new file mode 100644 index 0000000..35751aa --- /dev/null +++ b/sci-libs/trilinos/Manifest @@ -0,0 +1,12 @@ +AUX gcc-13.patch 627 BLAKE2B dd45523c61b5f328a04ab7397d2bfbf345a15eff1c0290390111b15f67f541d74811c100d9d9930c6a9f2b8da980de0c7ad04ef7067d1d08852102185fba1e60 SHA512 0c0e6d41025f3e331883cf2b3dd21ad5420f74f16d3222a9de17e61386cbd0fa7cfc3ab10beaa983ba42b44a9cfbfa51ab040c4e964a1aa8de47ecb4b7edd750 +AUX v13-gcc-13.patch 2199 BLAKE2B 588a656312a38f3034651bc0d286635be4815312cd4c57411a03b7ba8e1e863c8758f114e5f09085468a6801c35f26300dd26f15871f5546428ec9aad698c7da SHA512 84d7a7911b59e985c03d1d6d189d59193ced479464e0c3c07c1dce1caed5cc2a1d76563724a1c09ef15bd0f2a8a98b581d5091a5b2c99861ecdaa3237264e295 +AUX v14-gcc13.patch 629 BLAKE2B a61ff618e63e4fc5675670e4b2f53fffc67bba6fe74f8ccfbad69bd9694ef8982b7769a809e634152851fcc47b1cd0d1269458c11e0a8eddfd8acf9917f3b1c2 SHA512 57293c2d8c3a3b869df37d9723db55af82050c76ec2881480ea543c6f1f452cc74c6f24bc2bf682de082902ed1c61b05769d6e5a3da6c7e92b1f595265bcbb8c +AUX v14.patch 2101 BLAKE2B 2c888edcddb386f9256cb0fc85c0386ca1d24c0cfaaa1af08778e802c0fce058f29bc0a63912d46044c8cfa82025e1ba8086c75444d2ec003e2ff4b90543160e SHA512 436a472f9fa5d43c52e12d8d7ebfc961a82e9e9a893c61113980906fcdfff1ec4b38bb2fb5df4b239c8485931b8fad720eda5f19da1c61096e874c0f7f357945 +AUX xyce.patch 1991 BLAKE2B 94c0b1a5afc67c0897c51506a8ae3ba82e821e2ededba960907dfac50109e685858d09dce4322fae1c569f7d53ab6ffec8dcc8f0f00b90242f860467399858a0 SHA512 dde23513862d8a79767ecadb3be076fa6f83e0c6867e98e4ea936d37d18c435fd0200197b38deec757eefab076338274f3788c18e73288744739c9f4de47560f +DIST trilinos-13.4.0-patches-r0.tar.xz 8740 BLAKE2B 333ab9ff1acb2f4b08007c7b99b96f023f6c742e4f991fc0ab9dd6595be7e3e319a77d5e329790cedca72d7a9060df837549d28e8a6cb4b8a838570d455ae356 SHA512 f30c16801cadec2a612ab2f7d3ca05c5ddfdfc513343a182562253cdfb58d38fa8b771ab07f7bc6bcb2505d146469da2ddda478f74447de746d5eca850da123e +DIST trilinos-13.4.1.tar.gz 168720416 BLAKE2B 5201c36aa998045f4eab99b67fce25f9a2f2a9524b8ca1147cd8db9ccc306e3df61336df3b2ee981317c8defbae2df9e36546a0e5ddfed3142213e437e4dfba0 SHA512 9c0fb3af2fa625cd0af1309bfa61c212e12657820707348c81355d506e07f540da5e42aa30237fbc80adf257bb636029345f248abaf7ef96fcdaed1c28ec3a19 +DIST trilinos-14.0.0.tar.gz 179086187 BLAKE2B 0e0c3e3fa4b88164cd7e90720ec42eb007f8e89734e5537a7eba1f17754faf30c21fa1d77f7e8a7968bdb8bb230596a1adc74f8170577fd7b4eccb2e88c5b8f6 SHA512 b08fcf4f6bf2605267c44c038f352949e5bfe14b853de77e4c80e28f66c088ead1699b1e49f8475f1b98ce5a21238b98a299e760f1373e585c78b65120fa18e5 +DIST trilinos-14.2.0.tar.gz 178867695 BLAKE2B 07ff61775399014091aae9c14ad12a69ab19853bc3489c15775490aa3f6e8ae868ac4e90bf046d10bf1ecb1d5558992f0afb0ce656f947336559fcf10085c038 SHA512 c676ff2b59904dc05a0ff434dd164bc96076999a5851c160c5851c124d3c519dd0cc3f088eba19f2000c7d1c2377f4efb2b2b8f9f3ee641b2180f3b99b28ea0b +EBUILD trilinos-13.4.1.ebuild 9560 BLAKE2B bf029cfd7877ab5377dd8ea76eccc7bfac400500ffefcc01fcb78a11e096a17cd0dd140a9e04686d13ee82f33b96dc35795480faae57411e5fad1d016b30c7d4 SHA512 3819f3abf8889a48ab4e62302cfe6018269d13a0505ee057763cdebbf1fd7d3bf0247b81216b89a372a2d1abb38ac6ed49c28ff07ad84a8a32f28f2b107a691b +EBUILD trilinos-14.0.0.ebuild 8451 BLAKE2B d0ca1847ca3f964424304eb9c1abb21d96c7406310d8bccf2049b4aa5267c23878b88352bbd7c23640fa63d903ffa024240e29b988645fbb6cf216bd41ab996b SHA512 cb6774f526e18edf8f94c17f5444982181da7bfefcd18befa8204f97c2ec999209aaeaef9e16df3c567537e891aa905121569183873e2b70883609b7cf2b69bb +EBUILD trilinos-14.2.0.ebuild 8702 BLAKE2B 466091ee4bdc6c27d4efedbd253654a5efefeb3007d0e0e3ebc11b880ccd9ac43fa95cd867b95fe42eb83237381c2e1f444b16e205c777b896e9ebd8a9a27e84 SHA512 38ce37748a95fe9256d0766aa325df0589975cd740be141bf59dc9e9c93b1304df9866d81d56a0e3cef3cc4a59b718b7c3b7635993c183eb7d4d061947742fd1 diff --git a/sci-libs/trilinos/files/gcc-13.patch b/sci-libs/trilinos/files/gcc-13.patch new file mode 100644 index 0000000..4d2fd06 --- /dev/null +++ b/sci-libs/trilinos/files/gcc-13.patch @@ -0,0 +1,11 @@ +diff -Naur Trilinos-trilinos-release-13-4-1_or/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp Trilinos-trilinos-release-13-4-1/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp +--- Trilinos-trilinos-release-13-4-1_or/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp 2023-05-13 23:56:33.699073588 +0200 ++++ Trilinos-trilinos-release-13-4-1/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp 2023-05-13 23:56:59.079010911 +0200 +@@ -43,6 +43,7 @@ + #define TEUCHOS_BIG_UINT_DECL_HPP + + #include ++#include + + /*! \file Teuchos_BigUIntDecl.hpp + \brief Arbitrary-precision unsigned integer declaration. diff --git a/sci-libs/trilinos/files/v13-gcc-13.patch b/sci-libs/trilinos/files/v13-gcc-13.patch new file mode 100644 index 0000000..26f5f25 --- /dev/null +++ b/sci-libs/trilinos/files/v13-gcc-13.patch @@ -0,0 +1,50 @@ +diff -Naur Trilinos-trilinos-release-13-4-1_or/packages/kokkos/core/src/impl/Kokkos_MemoryPool.cpp Trilinos-trilinos-release-13-4-1/packages/kokkos/core/src/impl/Kokkos_MemoryPool.cpp +--- Trilinos-trilinos-release-13-4-1_or/packages/kokkos/core/src/impl/Kokkos_MemoryPool.cpp 2023-06-11 21:27:20.637681333 +0200 ++++ Trilinos-trilinos-release-13-4-1/packages/kokkos/core/src/impl/Kokkos_MemoryPool.cpp 2023-06-11 21:28:23.316933920 +0200 +@@ -46,6 +46,7 @@ + + #include + #include ++#include + + //---------------------------------------------------------------------------- + //---------------------------------------------------------------------------- +diff -Naur Trilinos-trilinos-release-13-4-1_or/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp Trilinos-trilinos-release-13-4-1/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp +--- Trilinos-trilinos-release-13-4-1_or/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp 2023-06-12 22:13:54.653058491 +0200 ++++ Trilinos-trilinos-release-13-4-1/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp 2023-06-12 22:22:22.234504055 +0200 +@@ -49,6 +49,8 @@ + using ExecSpace = Kokkos::Experimental::HIP; + #elif defined(KOKKOS_ENABLE_OPENMP) + using ExecSpace = Kokkos::OpenMP; ++#elif defined(KOKKOS_ENABLE_THREADS) ++using ExecSpace = Kokkos::Threads; + #else + using ExecSpace = Kokkos::Serial; + #endif +@@ -59,6 +61,8 @@ + using HostExecSpace = Kokkos::Serial; + #elif defined(KOKKOS_ENABLE_OPENMP) + using HostExecSpace = Kokkos::OpenMP; ++#elif defined(KOKKOS_ENABLE_THREADS) ++using HostExecSpace = Kokkos::Threads; + #else + using HostExecSpace = Kokkos::Serial; + #endif +@@ -69,6 +73,8 @@ + using MemSpace = Kokkos::Experimental::HIPSpace; + #elif defined(KOKKOS_ENABLE_OPENMP) + using MemSpace = Kokkos::OpenMP; ++#elif defined(KOKKOS_ENABLE_THREADS) ++using MemSpace = Kokkos::Threads; + #else + using MemSpace = Kokkos::HostSpace; + #endif +@@ -83,6 +89,8 @@ + using UVMMemSpace = Kokkos::Experimental::HIPHostPinnedSpace; + #elif defined(KOKKOS_ENABLE_OPENMP) + using UVMMemSpace = Kokkos::OpenMP; ++#elif defined(KOKKOS_ENABLE_THREADS) ++using UVMMemSpace = Kokkos::Threads; + #else + using UVMMemSpace = Kokkos::HostSpace; + #endif diff --git a/sci-libs/trilinos/files/v14-gcc13.patch b/sci-libs/trilinos/files/v14-gcc13.patch new file mode 100644 index 0000000..2eaf2af --- /dev/null +++ b/sci-libs/trilinos/files/v14-gcc13.patch @@ -0,0 +1,11 @@ +diff -Naur Trilinos-trilinos-release-14-0-0_or/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp Trilinos-trilinos-release-14-0-0/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp +--- Trilinos-trilinos-release-14-0-0_or/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp 2023-06-14 22:54:06.565526085 +0200 ++++ Trilinos-trilinos-release-14-0-0/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp 2023-06-14 22:54:26.028613299 +0200 +@@ -43,6 +43,7 @@ + #define TEUCHOS_BIG_UINT_DECL_HPP + + #include ++#include + + /*! \file Teuchos_BigUIntDecl.hpp + \brief Arbitrary-precision unsigned integer declaration. diff --git a/sci-libs/trilinos/files/v14.patch b/sci-libs/trilinos/files/v14.patch new file mode 100644 index 0000000..632a687 --- /dev/null +++ b/sci-libs/trilinos/files/v14.patch @@ -0,0 +1,67 @@ +diff -Naur Trilinos-trilinos-release-14-0-0_or/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp Trilinos-trilinos-release-14-0-0/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp +--- Trilinos-trilinos-release-14-0-0_or/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp 2023-06-14 23:24:20.313033330 +0200 ++++ Trilinos-trilinos-release-14-0-0/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp 2023-06-14 23:31:11.551230025 +0200 +@@ -39,36 +39,21 @@ + namespace stk { + namespace ngp { + +-#ifdef KOKKOS_ENABLE_CUDA +-using ExecSpace = Kokkos::Cuda; +-#elif defined(KOKKOS_ENABLE_HIP) +-using ExecSpace = Kokkos::Experimental::HIP; +-#elif defined(KOKKOS_ENABLE_OPENMP) +-using ExecSpace = Kokkos::OpenMP; +-#else +-using ExecSpace = Kokkos::Serial; +-#endif ++using ExecSpace = Kokkos::DefaultExecutionSpace; + +-#ifdef KOKKOS_ENABLE_CUDA +-using HostExecSpace = Kokkos::Serial; +-#elif defined(KOKKOS_ENABLE_HIP) +-using HostExecSpace = Kokkos::Serial; +-#elif defined(KOKKOS_ENABLE_OPENMP) +-using HostExecSpace = Kokkos::OpenMP; +-#else +-using HostExecSpace = Kokkos::Serial; +-#endif ++using HostExecSpace = Kokkos::DefaultHostExecutionSpace; + + #ifdef KOKKOS_ENABLE_CUDA + using MemSpace = Kokkos::CudaSpace; + #elif defined(KOKKOS_ENABLE_HIP) +-using MemSpace = Kokkos::Experimental::HIPSpace; +-#elif defined(KOKKOS_ENABLE_OPENMP) +-using MemSpace = Kokkos::OpenMP; ++using MemSpace = Kokkos::HIPSpace; + #else +-using MemSpace = Kokkos::HostSpace; ++using MemSpace = ExecSpace::memory_space; + #endif + ++#ifdef KOKKOS_HAS_SHARED_SPACE ++using UVMMemSpace = Kokkos::SharedSpace; ++#else + #ifdef KOKKOS_ENABLE_CUDA + #ifdef KOKKOS_ENABLE_CUDA_UVM + using UVMMemSpace = Kokkos::CudaUVMSpace; +@@ -82,7 +67,11 @@ + #else + using UVMMemSpace = Kokkos::HostSpace; + #endif ++#endif + ++#ifdef KOKKOS_HAS_SHARED_SPACE ++using HostPinnedSpace = Kokkos::SharedHostPinnedSpace; ++#else + #ifdef KOKKOS_ENABLE_CUDA + using HostPinnedSpace = Kokkos::CudaHostPinnedSpace; + #elif defined(KOKKOS_ENABLE_HIP) +@@ -90,6 +79,7 @@ + #else + using HostPinnedSpace = MemSpace; + #endif ++#endif + + #ifdef KOKKOS_ENABLE_HIP + template diff --git a/sci-libs/trilinos/files/xyce.patch b/sci-libs/trilinos/files/xyce.patch new file mode 100644 index 0000000..b7f11f6 --- /dev/null +++ b/sci-libs/trilinos/files/xyce.patch @@ -0,0 +1,48 @@ +diff -Naur Trilinos-trilinos-release-13-4-1_or/packages/amesos/src/Amesos_CSparse.cpp Trilinos-trilinos-release-13-4-1/packages/amesos/src/Amesos_CSparse.cpp +--- Trilinos-trilinos-release-13-4-1_or/packages/amesos/src/Amesos_CSparse.cpp 2023-05-14 12:45:09.733199042 +0200 ++++ Trilinos-trilinos-release-13-4-1/packages/amesos/src/Amesos_CSparse.cpp 2023-05-14 12:45:57.463182638 +0200 +@@ -26,7 +26,7 @@ + // *********************************************************************** + // @HEADER + +-#ifdef HAVE_AMESOS_CSPARSE ++//#ifdef HAVE_AMESOS_CSPARSE + #include "Amesos_CSparse.h" + #include "Epetra_Map.h" + #include "Epetra_Import.h" +@@ -134,8 +134,8 @@ + + if (Comm().MyPID() == 0) + { +- csMatrix.p = (ptrdiff_t *) malloc((SerialMatrix().NumMyRows()+1)*sizeof(ptrdiff_t)); +- csMatrix.i = (ptrdiff_t *) malloc(SerialMatrix().NumMyNonzeros()*sizeof(ptrdiff_t)); ++ csMatrix.p = (int*)(ptrdiff_t *) malloc((SerialMatrix().NumMyRows()+1)*sizeof(ptrdiff_t)); ++ csMatrix.i = (int*)(ptrdiff_t *) malloc(SerialMatrix().NumMyNonzeros()*sizeof(ptrdiff_t)); + csMatrix.x = (double *) malloc(SerialMatrix().NumMyNonzeros()*sizeof(double)); + csMatrix.nzmax = SerialMatrix().NumMyNonzeros(); + csMatrix.m = SerialMatrix().NumMyRows(); +@@ -525,4 +525,4 @@ + AMESOS_RETURN(error); + } + +-#endif ++//#endif +diff -Naur Trilinos-trilinos-release-13-4-1_or/packages/amesos/src/Amesos_CSparse.h Trilinos-trilinos-release-13-4-1/packages/amesos/src/Amesos_CSparse.h +--- Trilinos-trilinos-release-13-4-1_or/packages/amesos/src/Amesos_CSparse.h 2023-05-14 12:45:09.733199042 +0200 ++++ Trilinos-trilinos-release-13-4-1/packages/amesos/src/Amesos_CSparse.h 2023-05-14 12:45:22.143194802 +0200 +@@ -28,7 +28,7 @@ + + #ifndef AMESOS_CSPARSE_H + #define AMESOS_CSPARSE_H +-#ifdef HAVE_AMESOS_CSPARSE ++//#ifdef HAVE_AMESOS_CSPARSE + + #include "Amesos_ConfigDefs.h" + #include "Amesos_BaseSolver.h" +@@ -212,5 +212,5 @@ + + }; // class Amesos_CSparse + +-#endif ++//#endif + #endif // AMESOS_CSPARSE_H diff --git a/sci-libs/trilinos/trilinos-13.4.1.ebuild b/sci-libs/trilinos/trilinos-13.4.1.ebuild new file mode 100644 index 0000000..ead5560 --- /dev/null +++ b/sci-libs/trilinos/trilinos-13.4.1.ebuild @@ -0,0 +1,314 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_MAKEFILE_GENERATOR=emake +inherit cmake toolchain-funcs + +DESCRIPTION="Scientific library collection for large scale problems" +HOMEPAGE="http://trilinos.sandia.gov/" +MY_PV="${PV//\./-}" +PATCHSET="r0" +SRC_URI="https://github.com/${PN}/Trilinos/archive/${PN}-release-${MY_PV}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~tamiko/distfiles/${PN}-13.4.0-patches-${PATCHSET}.tar.xz" + +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +LICENSE="BSD LGPL-2.1" +SLOT="0" + +IUSE=" + adolc all-packages arprec clp cuda eigen glpk gtest hdf5 hwloc hypre + matio metis mkl mumps netcdf openmp petsc qd scalapack scotch sparse + superlu taucs tbb test threads tvmet yaml zlib X superlu_dist +" + +# TODO: fix export cmake function for tests +RESTRICT="test" + +RDEPEND=" + !dev-cpp/kokkos + dev-libs/boost:= + sys-libs/binutils-libs:= + virtual/blas + virtual/lapack + virtual/mpi + adolc? ( sci-libs/adolc ) + arprec? ( sci-libs/arprec ) + clp? ( sci-libs/coinor-clp ) + cuda? ( >=dev-util/nvidia-cuda-toolkit-3.2 ) + eigen? ( dev-cpp/eigen:3 ) + glpk? ( sci-mathematics/glpk ) + gtest? ( dev-cpp/gtest ) + hdf5? ( sci-libs/hdf5:=[mpi] ) + hypre? ( sci-libs/hypre:= ) + hwloc? ( sys-apps/hwloc:= ) + matio? ( sci-libs/matio ) + mkl? ( sci-libs/mkl ) + metis? ( sci-libs/metis ) + mumps? ( sci-libs/mumps ) + netcdf? ( sci-libs/netcdf:= ) + petsc? ( sci-mathematics/petsc ) + qd? ( sci-libs/qd ) + scalapack? ( sci-libs/scalapack ) + scotch? ( sci-libs/scotch:= ) + sparse? ( sci-libs/cxsparse sci-libs/umfpack ) + superlu? ( <=sci-libs/superlu-5.0 ) + superlu_dist? ( > "${T}"/99trilinos <<- EOF + LDPATH="${EPREFIX}/usr/$(get_libdir)/trilinos" + PATH="${EPREFIX}/usr/$(get_libdir)/trilinos/bin" + EOF + doenvd "${T}"/99trilinos +} diff --git a/sci-libs/trilinos/trilinos-14.0.0.ebuild b/sci-libs/trilinos/trilinos-14.0.0.ebuild new file mode 100644 index 0000000..4982d25 --- /dev/null +++ b/sci-libs/trilinos/trilinos-14.0.0.ebuild @@ -0,0 +1,285 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_MAKEFILE_GENERATOR=emake +inherit cmake toolchain-funcs + +DESCRIPTION="Scientific library collection for large scale problems" +HOMEPAGE="http://trilinos.sandia.gov/" +MY_PV="${PV//\./-}" +PATCHSET="r0" +SRC_URI="https://github.com/${PN}/Trilinos/archive/${PN}-release-${MY_PV}.tar.gz -> ${P}.tar.gz" + +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +LICENSE="BSD LGPL-2.1" +SLOT="0" + +IUSE=" + adolc all-packages arprec clp cuda eigen glpk gtest hdf5 hwloc hypre + matio metis mkl mumps netcdf openmp petsc qd scalapack scotch sparse + superlu taucs tbb test threads tvmet yaml zlib X +" + +# TODO: fix export cmake function for tests +RESTRICT="test" + +RDEPEND=" + !dev-cpp/kokkos + dev-libs/boost:= + sys-libs/binutils-libs:= + virtual/blas + virtual/lapack + virtual/mpi + adolc? ( sci-libs/adolc ) + arprec? ( sci-libs/arprec ) + clp? ( sci-libs/coinor-clp ) + cuda? ( >=dev-util/nvidia-cuda-toolkit-3.2 ) + eigen? ( dev-cpp/eigen:3 ) + glpk? ( sci-mathematics/glpk ) + gtest? ( dev-cpp/gtest ) + hdf5? ( sci-libs/hdf5:=[mpi] ) + hypre? ( sci-libs/hypre:= ) + hwloc? ( sys-apps/hwloc:= ) + matio? ( sci-libs/matio ) + mkl? ( sci-libs/mkl ) + metis? ( sci-libs/metis ) + mumps? ( sci-libs/mumps ) + netcdf? ( sci-libs/netcdf:= ) + petsc? ( sci-mathematics/petsc ) + qd? ( sci-libs/qd ) + scalapack? ( sci-libs/scalapack ) + scotch? ( sci-libs/scotch:= ) + sparse? ( sci-libs/cxsparse sci-libs/umfpack ) + superlu? ( > "${T}"/99trilinos <<- EOF + LDPATH="${EPREFIX}/usr/$(get_libdir)/trilinos" + PATH="${EPREFIX}/usr/$(get_libdir)/trilinos/bin" + EOF + doenvd "${T}"/99trilinos +} diff --git a/sci-libs/trilinos/trilinos-14.2.0.ebuild b/sci-libs/trilinos/trilinos-14.2.0.ebuild new file mode 100644 index 0000000..98bdda9 --- /dev/null +++ b/sci-libs/trilinos/trilinos-14.2.0.ebuild @@ -0,0 +1,297 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_MAKEFILE_GENERATOR=emake +inherit cmake toolchain-funcs + +DESCRIPTION="Scientific library collection for large scale problems" +HOMEPAGE="http://trilinos.sandia.gov/" +MY_PV="${PV//\./-}" +PATCHSET="r0" +SRC_URI="https://github.com/${PN}/Trilinos/archive/${PN}-release-${MY_PV}.tar.gz -> ${P}.tar.gz" + +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +LICENSE="BSD LGPL-2.1" +SLOT="0" + +IUSE=" + adolc all-packages arprec clp cuda eigen glpk gtest hdf5 hwloc hypre + matio metis mkl mumps netcdf openmp petsc qd scalapack scotch sparse + superlu taucs tbb test threads tvmet yaml zlib X +" + +# TODO: fix export cmake function for tests +RESTRICT="test" + +RDEPEND=" + !dev-cpp/kokkos + dev-libs/boost:= + sys-libs/binutils-libs:= + virtual/blas + virtual/lapack + virtual/mpi + adolc? ( sci-libs/adolc ) + arprec? ( sci-libs/arprec ) + clp? ( sci-libs/coinor-clp ) + cuda? ( >=dev-util/nvidia-cuda-toolkit-3.2 ) + eigen? ( dev-cpp/eigen:3 ) + glpk? ( sci-mathematics/glpk ) + gtest? ( dev-cpp/gtest ) + hdf5? ( sci-libs/hdf5:=[mpi] ) + hypre? ( sci-libs/hypre:= ) + hwloc? ( sys-apps/hwloc:= ) + matio? ( sci-libs/matio ) + mkl? ( sci-libs/mkl ) + metis? ( sci-libs/metis ) + mumps? ( sci-libs/mumps ) + netcdf? ( sci-libs/netcdf:= ) + petsc? ( sci-mathematics/petsc ) + qd? ( sci-libs/qd ) + scalapack? ( sci-libs/scalapack ) + scotch? ( sci-libs/scotch:= ) + sparse? ( sci-libs/cxsparse sci-libs/umfpack ) + superlu? ( > "${T}"/99trilinos <<- EOF + LDPATH="${EPREFIX}/usr/$(get_libdir)/trilinos" + PATH="${EPREFIX}/usr/$(get_libdir)/trilinos/bin" + EOF + doenvd "${T}"/99trilinos +}