diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-07-17 19:04:28 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-07-17 19:04:28 +0100 |
commit | 514d1bbe260df2521fe60f1a3ec87cfcfde1a829 (patch) | |
tree | 555c194dbeb0fb2ac4ad3cde7c0f6a80fd330ce2 /sci-libs/pastix | |
parent | 4df3bf9762850b34cd1ead5c80374d1a0fc3362e (diff) |
gentoo resync : 17.07.2021
Diffstat (limited to 'sci-libs/pastix')
-rw-r--r-- | sci-libs/pastix/Manifest | 13 | ||||
-rw-r--r-- | sci-libs/pastix/files/pastix-6.0.3-cmake-examples-optional.patch | 170 | ||||
-rw-r--r-- | sci-libs/pastix/files/pastix-6.0.3-cmake-installdirs.patch | 424 | ||||
-rw-r--r-- | sci-libs/pastix/files/pastix-6.0.3-cmake-python-optional.patch | 64 | ||||
-rw-r--r-- | sci-libs/pastix/files/pastix-6.0.3-cmake-spm-project.patch | 12 | ||||
-rw-r--r-- | sci-libs/pastix/files/pastix-6.0.3-multiple-coeftabMemory.patch | 11 | ||||
-rw-r--r-- | sci-libs/pastix/metadata.xml | 8 | ||||
-rw-r--r-- | sci-libs/pastix/pastix-5.2.2.22-r1.ebuild | 4 | ||||
-rw-r--r-- | sci-libs/pastix/pastix-5.2.3.ebuild | 10 | ||||
-rw-r--r-- | sci-libs/pastix/pastix-6.0.3.ebuild | 87 |
10 files changed, 791 insertions, 12 deletions
diff --git a/sci-libs/pastix/Manifest b/sci-libs/pastix/Manifest index 4ac8b8f3e799..4a559ccbe1c3 100644 --- a/sci-libs/pastix/Manifest +++ b/sci-libs/pastix/Manifest @@ -1,7 +1,14 @@ AUX pastix-5.2.2.22-isnan-floating-point-cast.patch 1901 BLAKE2B 3bb02c4898367e02091793064ba23b329913d8567eeb721bc0de0e70acb63e4ab5345ebde859bf6c8b3b8796a6bad1d722cc51b9f5f41cd046974defa0f3e026 SHA512 23b3e4854afb459e0f68c4322bd85db6addc6ec043bb9c404a9a60667de6b01bb17c3d7795f8fd5dacaa0b5db6c45a6f1e1358590c77326610bc271903b920ee AUX pastix-5.2.2.22-nosmp-undefined-variable.patch 494 BLAKE2B 06a9e3933d0a181f535ad2922c3b39375d50b81abc572a1363e5e1130e3647083940ffc929e40cf93d35e364eb7e36d84d57a53bd9fe247ff8f7fefde93a08f7 SHA512 c12719176b352b396cc58d7a4474955df0cb01459edce1b2f220c6352d99bf608d39c3b4d6b54b0ae8b4643879ed79b7a5fbd03b746dba0bf4cc265d81d6d38e +AUX pastix-6.0.3-cmake-examples-optional.patch 5248 BLAKE2B eb6e08274d2bbac53c4fe02497880f61a83eb357dc95ec6ea1049322556010a0e5514d8c6d0f273b00b7b46047394edf2108ee14ef0cde65f99ebe1eb2160786 SHA512 00c214c45cf4a1c06ca4dcf3cffde9915de67f2656b0712ca23f6ff2c4aa29845f37fd7940d011fbbba170d3a47b6d74ec6cb165474c2eb30a292374e0d52953 +AUX pastix-6.0.3-cmake-installdirs.patch 13450 BLAKE2B 9c7535b4074496a97d0673fad73e7729f34c71ad992441fa2dbc1d8801b6cf1d74773872b71fad5dec8f21ac26065abf0e7de12cbec2c9a52098be6368dd7b31 SHA512 89de15236d23fb8e7f9d064789e2a6314a615803a41deeb08f22f4ee5aea92263da939ce967310fd93a5cd89051c0f0a0d3df71b0ea4968cefbec3c5cf5185fe +AUX pastix-6.0.3-cmake-python-optional.patch 1861 BLAKE2B 5097879c1481ce7514903a182007d0d87a9e59a350f72ebba21b5719e893308617416c3661058744f7a83009cb6c7d8949ba6e57966e0a798aa4b1c96aa1f928 SHA512 ecff70d902a4424b4ee996b563e54b7190ee1d3324ef7079fafdef2f23abbc9a18899f827156ed4145a3d977f5b6c980acafb96f479be693b6658f7d21e5cced +AUX pastix-6.0.3-cmake-spm-project.patch 319 BLAKE2B 11d63d28bb5e843571306321a0c3153eac0cfa5150918db2ae019d8defda1689dd41d584bbd866f4016f3f98102c61a4bb5a18419f88bfc197cd3659afb95311 SHA512 58aebfea042443daf75fb155c39d44e5a2d4ffdc27043b66a6c6089613363b0613ab8ac9e11cde1b749e87ec160aaa0355a0c3a2bb01fbedb43c4d28951e7747 +AUX pastix-6.0.3-multiple-coeftabMemory.patch 260 BLAKE2B 968d32d2994afca84fcee7bc4b93aa7cf77dda2d66c2617095ee191572fb9c37d631e83954efdb53aba0997b426f85a6529d40a3c8f85f62de684548cc760447 SHA512 2f73d7f2ebbc92b46f13e0bed42ed76fd6831af5706988e5111971adb3ba46d8bca9fd563f40cb8a10fae1a65e180c2f1866b51ab0c4c95ef801c590513301f2 +DIST pastix-6.0.3.tar.gz 1793579 BLAKE2B 9e0ee71c80b2c93c6762c1a824b2e1262fd1a9f406194fb99eeecbfc172cf82f497d23a541b56c44e5487c3c228cab781f47f683ee04c6cdf426da6126750a69 SHA512 5bf8dfa6ed02ee7e236c63e21c80bd45af807b465b21a8c0520b1328e179095f1416f925be9f8b5ec0e8078ca9bc4398bf0d091fdc8e9ea51b9af12a06d9a544 DIST pastix_5.2.2.22.tar.bz2 2664470 BLAKE2B b1fbd12bf2c882aa8fd2c4891a6890df4bdc4488cedca2a7861e676ec5678063927f2e4a4edc47aa7ca0422b283f8f012aa1032af7212fe39f4c55e7f0f7adc4 SHA512 15ecdb10b5229e40f744c1ad54be7cac6560cb92e90df1937c90ca7da290df6bdb6f24a1e1c54197731b9df3e0dcc0b9fa39750479fcf03a0c08c304c5b9df70 DIST pastix_5.2.3.tar.bz2 2246903 BLAKE2B b13cb31bbc2aeb122e932b2a934598ec975a55f327483bf1383280976584858426c56982f6980b52f32f04e05c6e6c8de1cf35e378e61a7be9dddb705b1c033a SHA512 69acffac1be8c756886783c2a6307269ab4d14abfc4a77268b3d14995e53b16084c298446812484233d9d52c317490d6ad67788166adf367075e6c8442147b95 -EBUILD pastix-5.2.2.22-r1.ebuild 3653 BLAKE2B 2fde445d7fa06f9c7f38fd61d23550df25a3c5b414eb309c7b2a5ebaac6ff844052e8cf612ba5d6e308c970e6d2d5d317b52a62365bec4fecd2e70614595fbf5 SHA512 884c7d5eec941cc2fc55597a62d674ec239a62ea3d66ec9811671b2841dcb0723937298abc9599011fc431bc8cf2c27aea9ea396936e78edccd4e8d4c19d57bb -EBUILD pastix-5.2.3.ebuild 3340 BLAKE2B f8f0da2f1af8e8736c7697d1aabfa8d98975a743d1a3166233db6af4652c94baac68704c3817736f5b64c19bb407f2b345596af9d690852ee97623fceb8bee05 SHA512 9c31a8358f22cf6350da37a10a50e2963b48023d1c93d51039d1068cce46c8f8bab8b871cc4c35692b97342c9ab1d9c4938137b0bd440f2b8a0e0e47a0b350ad -MISC metadata.xml 1055 BLAKE2B 237a5db431f2c60ea448c9627f943e88a7fd50509884af078c1de5b9ed51317806d815cf8f8ad9c1f85272077438df2d8c76e26fa9a1c9133bb17f3b1cd056ed SHA512 42f9f1f03c4a2df46918ef461d814ca3c0e80e0fa5420327a45d6ca7ec87dd3f14ad0e5a4384b49aebae971578a425b475fa0e1ed6b73370afb743222765bfde +EBUILD pastix-5.2.2.22-r1.ebuild 3654 BLAKE2B d70d097c0a3f21422e40544bd0fc0ccd672df019c19400f4df5e2c6670c7c8fd69574a9bb60c88ac93a23ddb103503b68fe5013713a3f03f21e891207451b542 SHA512 c7c15a392edd6ff9e60b3e87b3878b17bcacb8fa506451f72347eb7c8d2a62c2eab7cef4aab640b5ba712b51a9cca6f7729c316f9159943f44105774d8195cfe +EBUILD pastix-5.2.3.ebuild 3357 BLAKE2B c93431fa3f05b734306c3bbb4013cbdd8b4de61ddf215a64ebda59243a7ea04ebced5a88347be628576dc45edcdbc9f4f095e209785e62c7d3bc9b80670a7489 SHA512 ad8ba565ac13098b3b06c4f0d8572250bf3848b79422f9aa6ccace31012dc9323b634404fbbe99bc5e66fe93d31c37ab4bc855d6fa7bd86a8b99267473badfa9 +EBUILD pastix-6.0.3.ebuild 2387 BLAKE2B 4a925c57aa18beb437a145329e079413357ed6000606017a01ce4551dfb027abf452ae19addea10785dca0b8041597977ddbb5cf75743e860766d42a28916f94 SHA512 a753e8e4ce38ab3fcf4fb04aca8230aa9e9464854e8535cb020571a68b13f52efe472b7f2e3013f0fb1a26e7a766cbd2f4fb0bf0aad260e919eebbba69193a90 +MISC metadata.xml 1382 BLAKE2B 6645d0fa68bd78ec49fab235ec144026bde5af864fc07ec2f0a912fb30ff4fa7cc0fe2fc0998c110b78a1838347a4e8f1c9895285cc901bb47bcc32d0cfcd18f SHA512 c65101556a21a4f3348766deb2ad4593ebdfaf76e372886a438efc2f8b9d9f7291ee173b8339ddd245fce393f8e26f632fe184ef1585645d830649218987ff40 diff --git a/sci-libs/pastix/files/pastix-6.0.3-cmake-examples-optional.patch b/sci-libs/pastix/files/pastix-6.0.3-cmake-examples-optional.patch new file mode 100644 index 000000000000..5f0701168271 --- /dev/null +++ b/sci-libs/pastix/files/pastix-6.0.3-cmake-examples-optional.patch @@ -0,0 +1,170 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -94,6 +94,9 @@ + "Build PaStiX with PaRSEC runtime support" OFF) + + # Internal options ++option(INSTALL_EXAMPLES ++ "Install example code" OFF) ++ + option(PASTIX_GENERATE_MODEL + "Enable performances profiling for model generation" OFF) + +--- a/example/CMakeLists.txt ++++ b/example/CMakeLists.txt +@@ -38,15 +38,18 @@ + ) + set (example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/c") + ++if (BUILD_TESTING) + foreach (_file ${EXAMPLES}) + get_filename_component(_name_we ${_file} NAME_WE) + add_executable(${_name_we} ${_file}) + target_link_libraries(${_name_we} pastix) + target_link_libraries(${_name_we} ${BLAS_LIBRARIES}) +- +- install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} ) +- install(FILES ${_file} DESTINATION ${example_install_dir} ) + endforeach() ++endif() ++ ++if (INSTALL_EXAMPLES) ++ ++install(FILES ${EXAMPLES} DESTINATION ${example_install_dir} ) + + ### Install a makefile for user compilation test + set( EXAMPLE_LIBS ${DEPS_LIBRARIES} ) +@@ -61,4 +64,6 @@ + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile" + DESTINATION ${example_install_dir}) + ++endif (INSTALL_EXAMPLES) ++ + include(CTestLists.txt) +--- a/example/old/CMakeLists.txt ++++ b/example/old/CMakeLists.txt +@@ -15,14 +15,17 @@ + ) + set (example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/c/old") + ++if (BUILD_TESTING) + foreach (_file ${EXAMPLES}) + get_filename_component(_name_we ${_file} NAME_WE) + add_executable("old_${_name_we}" ${_file}) + target_link_libraries("old_${_name_we}" pastix) +- +- install(TARGETS old_${_name_we} RUNTIME DESTINATION ${example_install_dir} ) +- install(FILES ${_file} DESTINATION ${example_install_dir} ) + endforeach() ++endif() ++ ++if (INSTALL_EXAMPLES) ++ ++install(FILES ${EXAMPLES} DESTINATION ${example_install_dir} ) + + ### Install a makefile for user compilation test + set( EXAMPLE_LIBS +@@ -36,3 +39,4 @@ + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile" + DESTINATION ${example_install_dir} ) + ++endif (INSTALL_EXAMPLES) +--- a/spm/wrappers/fortran90/CMakeLists.txt ++++ b/spm/wrappers/fortran90/CMakeLists.txt +@@ -43,15 +43,19 @@ + ) + set ( example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/fortran" ) + ++if (BUILD_TESTING) + foreach (_file ${EXAMPLES}) + get_filename_component(_name_we ${_file} NAME_WE) + add_executable(${_name_we} examples/${_file}) + target_link_libraries(${_name_we} spmf) + +- install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} ) +- install(FILES examples/${_file} DESTINATION ${example_install_dir} ) +- + add_test(fortran_${_name_we} ./${_name_we}) + + endforeach() ++endif() + ++if (INSTALL_EXAMPLES) ++ foreach (_file ${EXAMPLES}) ++ install(FILES examples/${_file} DESTINATION ${example_install_dir} ) ++ endforeach() ++endif() +--- a/spm/wrappers/python/CMakeLists.txt ++++ b/spm/wrappers/python/CMakeLists.txt +@@ -31,11 +31,13 @@ + DESTINATION "${Python_SITELIB}/spm" ) + + # Install python examples ++if (INSTALL_EXAMPLES) + install(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/spm_driver.py + ${CMAKE_CURRENT_SOURCE_DIR}/spm_scipy.py + DESTINATION "${CMAKE_INSTALL_DOCDIR}/examples/python" + ) ++endif() + + ## CTest execution + set( PYTHON_TESTS +--- a/wrappers/fortran90/CMakeLists.txt ++++ b/wrappers/fortran90/CMakeLists.txt +@@ -45,14 +45,13 @@ + ) + set ( example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/fortran" ) + ++if (BUILD_TESTING) ++ + foreach (_file ${EXAMPLES}) + get_filename_component(_name_we ${_file} NAME_WE) + add_executable(${_name_we} examples/${_file}) + target_link_libraries(${_name_we} pastixf spmf) + +- install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} ) +- install(FILES examples/${_file} DESTINATION ${example_install_dir} ) +- + add_test(fortran_${_name_we} ./${_name_we}) + + endforeach() +@@ -66,10 +65,16 @@ + add_executable(${_name_we} examples/${_file}) + target_link_libraries(${_name_we} pastixf spmf) + +-install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} ) +-install(FILES examples/${_file} DESTINATION ${example_install_dir} ) +-install(FILES examples/test_seq.in DESTINATION ${example_install_dir} ) +-install(FILES examples/test_mt.in DESTINATION ${example_install_dir} ) ++endif (BUILD_TESTING) ++ ++if (INSTALL_EXAMPLES) ++ foreach (_file ${EXAMPLES}) ++ install(FILES examples/${_file} DESTINATION ${example_install_dir} ) ++ endforeach() ++ install(FILES examples/fmultilap.f90 DESTINATION ${example_install_dir} ) ++ install(FILES examples/test_seq.in DESTINATION ${example_install_dir} ) ++ install(FILES examples/test_mt.in DESTINATION ${example_install_dir} ) ++endif() + + # Add OpenMP if available + find_package(OpenMP) +--- a/wrappers/python/CMakeLists.txt ++++ b/wrappers/python/CMakeLists.txt +@@ -32,6 +32,7 @@ + DESTINATION "${Python_SITELIB}/pypastix" ) + + # Install python examples ++if (INSTALL_EXAMPLES) + install(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/examples/simple.py + ${CMAKE_CURRENT_SOURCE_DIR}/examples/simple_obj.py +@@ -39,6 +40,7 @@ + ${CMAKE_CURRENT_SOURCE_DIR}/examples/schur_obj.py + DESTINATION "${CMAKE_INSTALL_DOCDIR}/examples/python" + ) ++endif() + + ## CTest execution + set( PYTHON_TESTS diff --git a/sci-libs/pastix/files/pastix-6.0.3-cmake-installdirs.patch b/sci-libs/pastix/files/pastix-6.0.3-cmake-installdirs.patch new file mode 100644 index 000000000000..a586981f37e7 --- /dev/null +++ b/sci-libs/pastix/files/pastix-6.0.3-cmake-installdirs.patch @@ -0,0 +1,424 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,6 +13,7 @@ + + include(CMakeDependentOption) + include(CheckFunctionExists) ++include(GNUInstallDirs) + + # The current version number + set(PASTIX_VERSION_MAJOR 6) +@@ -516,7 +517,7 @@ + configure_file ( + "${CMAKE_CURRENT_SOURCE_DIR}/include/pastix/config.h.in" + "${PROJECT_INCLUDE_DIR}/pastix/config.h") +-install(FILES "${PROJECT_INCLUDE_DIR}/pastix/config.h" DESTINATION include/pastix) ++install(FILES "${PROJECT_INCLUDE_DIR}/pastix/config.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pastix) + + include_directories("${CMAKE_CURRENT_SOURCE_DIR}") + include_directories("${CMAKE_CURRENT_BINARY_DIR}") +@@ -844,9 +845,9 @@ + # endforeach() + + install(TARGETS pastix +- RUNTIME DESTINATION bin +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + # Install header files + set(PASTIX_HDRS +@@ -861,8 +862,8 @@ + ) + install(FILES + include/pastix.h +- DESTINATION include ) +-install(FILES ${PASTIX_HDRS} DESTINATION include/pastix ) ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) ++install(FILES ${PASTIX_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pastix ) + + ## Executable and tests + enable_testing() +@@ -934,8 +935,6 @@ + "${CMAKE_CURRENT_SOURCE_DIR}/pastixf.pc.in" + PROJECTNAME PASTIX ) + +-generate_env_file( PROJECTNAME PASTIX ) +- + ############################################################# + # + # Build documentation +--- a/cmake_modules/morse_cmake/modules/GenPkgConfig.cmake ++++ b/cmake_modules/morse_cmake/modules/GenPkgConfig.cmake +@@ -196,7 +196,7 @@ + # ------------ + install(FILES + "${CMAKE_BINARY_DIR}/lib/pkgconfig/${fname}.pc" +- DESTINATION lib/pkgconfig ) ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" ) + + endforeach() + +@@ -232,7 +232,7 @@ + # installation + # ------------ + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${LONAME}_env.sh" +- DESTINATION bin) ++ DESTINATION ${CMAKE_INSTALL_BINDIR}) + + endmacro(generate_env_file) + +--- a/example/CMakeLists.txt ++++ b/example/CMakeLists.txt +@@ -36,6 +36,7 @@ + simple.c + step-by-step.c + ) ++set (example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/c") + + foreach (_file ${EXAMPLES}) + get_filename_component(_name_we ${_file} NAME_WE) +@@ -43,8 +44,8 @@ + target_link_libraries(${_name_we} pastix) + target_link_libraries(${_name_we} ${BLAS_LIBRARIES}) + +- install(TARGETS ${_name_we} RUNTIME DESTINATION examples ) +- install(FILES ${_file} DESTINATION examples ) ++ install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} ) ++ install(FILES ${_file} DESTINATION ${example_install_dir} ) + endforeach() + + ### Install a makefile for user compilation test +@@ -58,6 +59,6 @@ + "${CMAKE_CURRENT_SOURCE_DIR}/Makefile.in" + "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile" @ONLY) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile" +- DESTINATION examples) ++ DESTINATION ${example_install_dir}) + + include(CTestLists.txt) +--- a/example/old/CMakeLists.txt ++++ b/example/old/CMakeLists.txt +@@ -13,14 +13,15 @@ + simple.c + step-by-step.c + ) ++set (example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/c/old") + + foreach (_file ${EXAMPLES}) + get_filename_component(_name_we ${_file} NAME_WE) + add_executable("old_${_name_we}" ${_file}) + target_link_libraries("old_${_name_we}" pastix) + +- install(TARGETS old_${_name_we} RUNTIME DESTINATION examples/old ) +- install(FILES ${_file} DESTINATION examples/old ) ++ install(TARGETS old_${_name_we} RUNTIME DESTINATION ${example_install_dir} ) ++ install(FILES ${_file} DESTINATION ${example_install_dir} ) + endforeach() + + ### Install a makefile for user compilation test +@@ -33,5 +34,5 @@ + "${CMAKE_CURRENT_SOURCE_DIR}/Makefile.in" + "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile" @ONLY) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile" +- DESTINATION examples/old ) ++ DESTINATION ${example_install_dir} ) + +--- a/kernels/CMakeLists.txt ++++ b/kernels/CMakeLists.txt +@@ -149,8 +149,8 @@ + + ### Install library + install(TARGETS pastix_kernels +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + ### Add generated files to the global property + add_documented_files( +--- a/kernels/gpus/CMakeLists.txt ++++ b/kernels/gpus/CMakeLists.txt +@@ -66,8 +66,8 @@ + # ${cuda_generated_files}) + # cuda_add_cublas_to_target( pastix_cucores_sm${_smtarget} ) + # install(TARGETS pastix_cucores_sm${_smtarget} +-# LIBRARY DESTINATION lib +-# ARCHIVE DESTINATION lib ) ++# LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++# ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) + # # if( NOT CMAKE_BUILD_SHARED_LIBS ) + # # target_link_libraries( pastix_cucores pastix_cucores_sm${_smtarget} ) + # # endif() +@@ -79,7 +79,7 @@ + cuda_add_cublas_to_target( pastix_kernels_cuda ) + + install(TARGETS pastix_kernels_cuda +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib ) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) + + cuda_build_clean_target() +--- a/sopalin/parsec/CMakeLists.txt ++++ b/sopalin/parsec/CMakeLists.txt +@@ -114,8 +114,8 @@ + endif (MPI_C_FOUND) + + install(TARGETS pastix_parsec +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + ### Add non-generated documented files to the global property + add_documented_files( +--- a/sopalin/starpu/CMakeLists.txt ++++ b/sopalin/starpu/CMakeLists.txt +@@ -96,8 +96,8 @@ + endif (MPI_C_FOUND) + + install(TARGETS pastix_starpu +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + ### Add non-generated documented files to the global property + add_documented_files( +--- a/spm/CMakeLists.txt ++++ b/spm/CMakeLists.txt +@@ -139,7 +139,7 @@ + configure_file ( + "${CMAKE_CURRENT_SOURCE_DIR}/include/spm_config.h.in" + "${CMAKE_CURRENT_BINARY_DIR}/include/spm_config.h") +-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/include/spm_config.h" DESTINATION include) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/include/spm_config.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + include_directories(include) + include_directories("${CMAKE_CURRENT_BINARY_DIR}/include") +@@ -231,14 +231,14 @@ + endif (MPI_C_FOUND) + + install(TARGETS spm +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + install(FILES + include/spm.h + include/spm_const.h + include/spm_datatypes.h +- DESTINATION include ) ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) + + ### Build pkg-config and environment file + include(GenPkgConfig) +@@ -251,8 +251,6 @@ + "${CMAKE_CURRENT_SOURCE_DIR}/tools/spmf.pc.in" + PROJECTNAME SPM ) + +-generate_env_file( PROJECTNAME SPM ) +- + ### Add documented files to the global property + add_documented_files( + DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +--- a/spm/cmake_modules/morse_cmake/modules/GenPkgConfig.cmake ++++ b/spm/cmake_modules/morse_cmake/modules/GenPkgConfig.cmake +@@ -196,7 +196,7 @@ + # ------------ + install(FILES + "${CMAKE_BINARY_DIR}/lib/pkgconfig/${fname}.pc" +- DESTINATION lib/pkgconfig ) ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" ) + + endforeach() + +@@ -232,7 +232,7 @@ + # installation + # ------------ + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${LONAME}_env.sh" +- DESTINATION bin) ++ DESTINATION ${CMAKE_INSTALL_BINDIR}) + + endmacro(generate_env_file) + +--- a/spm/wrappers/fortran90/CMakeLists.txt ++++ b/spm/wrappers/fortran90/CMakeLists.txt +@@ -12,7 +12,7 @@ + + # Coherce CMake to install the generated .mod files + set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/mod_files) +-install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION include) ++install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + add_library( spmf + src/spm_enums.F90 +@@ -30,9 +30,9 @@ + + target_link_libraries( spmf spm ) + install(TARGETS spmf +- RUNTIME DESTINATION bin +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib ) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) + + # + # Add examples +@@ -41,14 +41,15 @@ + spm_driver.f90 + spm_user.f90 + ) ++set ( example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/fortran" ) + + foreach (_file ${EXAMPLES}) + get_filename_component(_name_we ${_file} NAME_WE) + add_executable(${_name_we} examples/${_file}) + target_link_libraries(${_name_we} spmf) + +- install(TARGETS ${_name_we} RUNTIME DESTINATION examples ) +- install(FILES examples/${_file} DESTINATION examples ) ++ install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} ) ++ install(FILES examples/${_file} DESTINATION ${example_install_dir} ) + + add_test(fortran_${_name_we} ./${_name_we}) + +--- a/spm/wrappers/python/CMakeLists.txt ++++ b/spm/wrappers/python/CMakeLists.txt +@@ -9,6 +9,8 @@ + # + ### + ++find_package(Python COMPONENTS Interpreter REQUIRED) ++ + # Configure enum.py + if (SPM_INT64) + set(SPM_PYTHON_INTEGER c_int64) +@@ -26,23 +28,20 @@ + ${CMAKE_CURRENT_SOURCE_DIR}/spm/__spm__.py + ${CMAKE_CURRENT_SOURCE_DIR}/spm/spm.py + ${CMAKE_CURRENT_SOURCE_DIR}/spm/enum.py +- DESTINATION lib/python/spm ) ++ DESTINATION "${Python_SITELIB}/spm" ) + + # Install python examples + install(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/spm_driver.py + ${CMAKE_CURRENT_SOURCE_DIR}/spm_scipy.py +- DESTINATION examples ++ DESTINATION "${CMAKE_INSTALL_DOCDIR}/examples/python" + ) + + ## CTest execution +-find_package(PythonInterp QUIET) +-if (PYTHONINTERP_FOUND) + set( PYTHON_TESTS + spm_driver spm_scipy ) + + foreach(example ${PYTHON_TESTS} ) + add_test(python_${example} ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${example}.py) + endforeach() +-endif() + +--- a/wrappers/fortran90/CMakeLists.txt ++++ b/wrappers/fortran90/CMakeLists.txt +@@ -12,7 +12,7 @@ + + # Coherce CMake to install the generated .mod files + set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/mod_files) +-install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION include) ++install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + add_library( pastixf + src/pastix_enums.F90 +@@ -30,9 +30,9 @@ + + target_link_libraries( pastixf pastix ) + install(TARGETS pastixf +- RUNTIME DESTINATION bin +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib ) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) + + # + # Add examples +@@ -43,14 +43,15 @@ + fstep-by-step.f90 + fmultidof.f90 + ) ++set ( example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/fortran" ) + + foreach (_file ${EXAMPLES}) + get_filename_component(_name_we ${_file} NAME_WE) + add_executable(${_name_we} examples/${_file}) + target_link_libraries(${_name_we} pastixf spmf) + +- install(TARGETS ${_name_we} RUNTIME DESTINATION examples ) +- install(FILES examples/${_file} DESTINATION examples ) ++ install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} ) ++ install(FILES examples/${_file} DESTINATION ${example_install_dir} ) + + add_test(fortran_${_name_we} ./${_name_we}) + +@@ -65,10 +66,10 @@ + add_executable(${_name_we} examples/${_file}) + target_link_libraries(${_name_we} pastixf spmf) + +-install(TARGETS ${_name_we} RUNTIME DESTINATION examples ) +-install(FILES examples/${_file} DESTINATION examples ) +-install(FILES examples/test_seq.in DESTINATION examples ) +-install(FILES examples/test_mt.in DESTINATION examples ) ++install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} ) ++install(FILES examples/${_file} DESTINATION ${example_install_dir} ) ++install(FILES examples/test_seq.in DESTINATION ${example_install_dir} ) ++install(FILES examples/test_mt.in DESTINATION ${example_install_dir} ) + + # Add OpenMP if available + find_package(OpenMP) +--- a/wrappers/python/CMakeLists.txt ++++ b/wrappers/python/CMakeLists.txt +@@ -9,6 +9,8 @@ + # + ### + ++find_package(Python COMPONENTS Interpreter REQUIRED) ++ + # Configure enum.py + if (PASTIX_INT64) + set(PASTIX_PYTHON_INTEGER c_int64) +@@ -27,7 +29,7 @@ + ${CMAKE_CURRENT_SOURCE_DIR}/examples/pypastix/pastix.py + ${CMAKE_CURRENT_SOURCE_DIR}/examples/pypastix/enum.py + ${CMAKE_CURRENT_SOURCE_DIR}/examples/pypastix/solver.py +- DESTINATION lib/python/pypastix ) ++ DESTINATION "${Python_SITELIB}/pypastix" ) + + # Install python examples + install(FILES +@@ -35,12 +37,10 @@ + ${CMAKE_CURRENT_SOURCE_DIR}/examples/simple_obj.py + ${CMAKE_CURRENT_SOURCE_DIR}/examples/schur.py + ${CMAKE_CURRENT_SOURCE_DIR}/examples/schur_obj.py +- DESTINATION examples ++ DESTINATION "${CMAKE_INSTALL_DOCDIR}/examples/python" + ) + + ## CTest execution +-find_package(PythonInterp QUIET) +-if (PYTHONINTERP_FOUND) + set( PYTHON_TESTS + simple step-by-step schur simple_obj schur_obj ) + +@@ -57,5 +57,4 @@ + set_tests_properties( python_${example} PROPERTIES + ENVIRONMENT "${TEST_ENV_LIST}" ) + endforeach() +-endif() + diff --git a/sci-libs/pastix/files/pastix-6.0.3-cmake-python-optional.patch b/sci-libs/pastix/files/pastix-6.0.3-cmake-python-optional.patch new file mode 100644 index 000000000000..71d356fae2f1 --- /dev/null +++ b/sci-libs/pastix/files/pastix-6.0.3-cmake-python-optional.patch @@ -0,0 +1,64 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -100,6 +100,9 @@ + option(PASTIX_WITH_FORTRAN + "Enable Fortran files/interface/examples to be compiled" ON) + ++option(PASTIX_WITH_PYTHON ++ "Install Python wrapper and examples" ON) ++ + cmake_dependent_option(PASTIX_DISTRIBUTED + "Enable the distributed interface (requires PASTIX_WITH_MPI)" OFF "PASTIX_WITH_MPI" OFF) + +--- a/spm/CMakeLists.txt ++++ b/spm/CMakeLists.txt +@@ -83,6 +83,13 @@ + "Enable Fortran files/interface/examples to be compiled" ON) + endif() + ++if ( DEFINED PASTIX_WITH_PYTHON ) ++ set( SPM_WITH_PYTHON ${PASTIX_WITH_PYTHON} ) ++else() ++ option(SPM_WITH_PYTHON ++ "Install Python wrapper and examples" ON) ++endif() ++ + if (SPM_WITH_FORTRAN) + include(FortranCInterface) + FortranCInterface_HEADER(src/FCmangle.h +--- a/spm/wrappers/CMakeLists.txt ++++ b/spm/wrappers/CMakeLists.txt +@@ -13,8 +13,10 @@ + add_subdirectory( fortran90 ) + endif() + +-if (BUILD_SHARED_LIBS) +- add_subdirectory( python ) +-else() +- message(STATUS "--- Python wrapper is disabled with static libraries") +-endif() ++if (SPM_WITH_PYTHON) ++ if (BUILD_SHARED_LIBS) ++ add_subdirectory( python ) ++ else (BUILD_SHARED_LIBS) ++ message(FATAL_ERROR "--- Python wrapper requested but it cannot be built with static libraries") ++ endif (BUILD_SHARED_LIBS) ++endif (SPM_WITH_PYTHON) +--- a/wrappers/CMakeLists.txt ++++ b/wrappers/CMakeLists.txt +@@ -13,8 +13,10 @@ + add_subdirectory( fortran90 ) + endif() + +-if (BUILD_SHARED_LIBS) +- add_subdirectory( python ) +-else() +- message(STATUS "--- Python wrapper is disabled with static libraries") +-endif() ++if (PASTIX_WITH_PYTHON) ++ if (BUILD_SHARED_LIBS) ++ add_subdirectory( python ) ++ else (BUILD_SHARED_LIBS) ++ message(FATAL_ERROR "--- Python wrapper requested but it cannot be built with static libraries") ++ endif (BUILD_SHARED_LIBS) ++endif (PASTIX_WITH_PYTHON) diff --git a/sci-libs/pastix/files/pastix-6.0.3-cmake-spm-project.patch b/sci-libs/pastix/files/pastix-6.0.3-cmake-spm-project.patch new file mode 100644 index 000000000000..f2ca9a5699d1 --- /dev/null +++ b/sci-libs/pastix/files/pastix-6.0.3-cmake-spm-project.patch @@ -0,0 +1,12 @@ +--- a/spm/CMakeLists.txt ++++ b/spm/CMakeLists.txt +@@ -8,9 +8,6 @@ + # @date 2013-06-24 + # + ### +-cmake_minimum_required (VERSION 3.0) +-project (SPM C Fortran) +- + # Check if compiled independently or within another project + if ( ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) + set( BUILD_AS_SUBPROJECT OFF ) diff --git a/sci-libs/pastix/files/pastix-6.0.3-multiple-coeftabMemory.patch b/sci-libs/pastix/files/pastix-6.0.3-multiple-coeftabMemory.patch new file mode 100644 index 000000000000..84dfdd4cc101 --- /dev/null +++ b/sci-libs/pastix/files/pastix-6.0.3-multiple-coeftabMemory.patch @@ -0,0 +1,11 @@ +--- a/sopalin/coeftab.h ++++ b/sopalin/coeftab.h +@@ -41,7 +41,7 @@ + /** + * @brief List of functions to compute the memory gain in low-rank per precision. + */ +-coeftab_fct_memory_t coeftabMemory[4]; ++extern coeftab_fct_memory_t coeftabMemory[4]; + + /** + * @} diff --git a/sci-libs/pastix/metadata.xml b/sci-libs/pastix/metadata.xml index 387eff2e8edd..1a653c7ffd2f 100644 --- a/sci-libs/pastix/metadata.xml +++ b/sci-libs/pastix/metadata.xml @@ -17,7 +17,11 @@ block structure of the incomplete factors. </longdescription> <use> - <flag name="int64">Build the 64 bits integer library</flag> - <flag name="starpu">Build and link with <pkg>dev-libs/starpu</pkg></flag> + <flag name="cuda">Enable GPU support using CUDA kernels</flag> + <flag name="fortran">Install the Fortran interface</flag> + <flag name="int64">Use 64- rather than 32-bit integer representation</flag> + <flag name="metis">Enable matrix ordering with <pkg>sci-libs/metis</pkg></flag> + <flag name="scotch">Enable matrix ordering with <pkg>sci-libs/scotch</pkg></flag> + <flag name="starpu">Enable support for ther <pkg>dev-libs/starpu</pkg> runtime</flag> </use> </pkgmetadata> diff --git a/sci-libs/pastix/pastix-5.2.2.22-r1.ebuild b/sci-libs/pastix/pastix-5.2.2.22-r1.ebuild index 4e3808900012..16806da1420a 100644 --- a/sci-libs/pastix/pastix-5.2.2.22-r1.ebuild +++ b/sci-libs/pastix/pastix-5.2.2.22-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -23,7 +23,7 @@ PID=35070 #SRC_URI="https://gforge.inria.fr/frs/download.php/${PID}/${MYPN}_${PPV}${CID}.tar.bz2" DESCRIPTION="Parallel solver for very large sparse linear systems" -HOMEPAGE="http://pastix.gforge.inria.fr" +HOMEPAGE="https://pastix.gforge.inria.fr" SRC_URI="https://gforge.inria.fr/frs/download.php/${PID}/${PN}_${PV}.tar.bz2" LICENSE="CeCILL-C" diff --git a/sci-libs/pastix/pastix-5.2.3.ebuild b/sci-libs/pastix/pastix-5.2.3.ebuild index 3cd36ee0e4bd..767d81754b5e 100644 --- a/sci-libs/pastix/pastix-5.2.3.ebuild +++ b/sci-libs/pastix/pastix-5.2.3.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 inherit fortran-2 toolchain-funcs @@ -16,12 +16,12 @@ inherit fortran-2 toolchain-funcs # package id: change every version, see the link on inriaforge PID=218 DESCRIPTION="Parallel solver for very large sparse linear systems" -HOMEPAGE="http://pastix.gforge.inria.fr" +HOMEPAGE="https://pastix.gforge.inria.fr" SRC_URI="https://gforge.inria.fr/frs/download.php/latestfile/${PID}/${PN}_${PV}.tar.bz2" LICENSE="CeCILL-C" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" IUSE="doc int64 mpi +smp starpu static-libs" RDEPEND=" @@ -30,8 +30,8 @@ RDEPEND=" virtual/blas mpi? ( virtual/mpi ) starpu? ( dev-libs/starpu:0= )" -DEPEND="${RDEPEND} - virtual/pkgconfig" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" S="${WORKDIR}/${PN}_${PV}/src" diff --git a/sci-libs/pastix/pastix-6.0.3.ebuild b/sci-libs/pastix/pastix-6.0.3.ebuild new file mode 100644 index 000000000000..a711d69037f3 --- /dev/null +++ b/sci-libs/pastix/pastix-6.0.3.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{9,10} ) + +inherit cmake fortran-2 python-single-r1 + +# package id: changes every version, see the link on inriaforge +PID=38205 +DESCRIPTION="Parallel solver for very large sparse linear systems" +HOMEPAGE="https://pastix.gforge.inria.fr" +SRC_URI="https://gforge.inria.fr/frs/download.php/file/${PID}/${P}.tar.gz" + +LICENSE="CeCILL-C" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="cuda examples +fortran int64 metis mpi +python +scotch starpu test" + +RESTRICT="!test? ( test )" + +# REQUIRED_USE explanation: +# 1. Not a typo, Python is needed at build time regardless of whether +# the bindings are to be installed or not +# 2. While not enforced by upstream build scripts, having no ordering at all +# results in rather spectacular test and runtime failures. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + || ( metis scotch )" + +RDEPEND="sys-apps/hwloc:0= + virtual/blas + virtual/cblas + virtual/lapack + virtual/lapacke + cuda? ( dev-util/nvidia-cuda-toolkit ) + metis? ( sci-libs/metis[int64(+)=] ) + mpi? ( + virtual/mpi[fortran] + metis? ( sci-libs/parmetis ) + ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + ') + ) + scotch? ( >=sci-libs/scotch-6.1.0-r1:0=[int64=,mpi?] ) + starpu? ( >=dev-libs/starpu-1.3.0:0= )" +DEPEND="${RDEPEND}" +BDEPEND="${PYTHON_DEPS} + virtual/pkgconfig + test? ( ${RDEPEND} )" + +PATCHES=( + "${FILESDIR}"/${PN}-6.0.3-cmake-installdirs.patch + "${FILESDIR}"/${PN}-6.0.3-cmake-examples-optional.patch + "${FILESDIR}"/${PN}-6.0.3-cmake-python-optional.patch + "${FILESDIR}"/${PN}-6.0.3-cmake-spm-project.patch + "${FILESDIR}"/${PN}-6.0.3-multiple-coeftabMemory.patch +) + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS=yes + -DINSTALL_EXAMPLES=$(usex examples) + -DPASTIX_INT64=$(usex int64) + -DPASTIX_ORDERING_METIS=$(usex metis) + -DPASTIX_ORDERING_SCOTCH=$(usex scotch) + -DPASTIX_WITH_CUDA=$(usex cuda) + -DPASTIX_WITH_FORTRAN=$(usex fortran) + -DPASTIX_WITH_MPI=$(usex mpi) + -DPASTIX_WITH_PYTHON=$(usex python) + -DPASTIX_WITH_STARPU=$(usex starpu) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + use python && python_optimize +} |