commit: bb6af6b0d70b6cfbea63d618bae8de69477c045c Author: Matthias Maier <tamiko <AT> gentoo <DOT> org> AuthorDate: Wed Jul 16 01:45:22 2025 +0000 Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org> CommitDate: Wed Jul 16 01:55:09 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb6af6b0
sci-libs/libsc: add 2.8.7 Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org> sci-libs/libsc/Manifest | 1 + .../libsc/files/libsc-2.8.7-fix_build_system.patch | 25 +++++++++ .../libsc/files/libsc-2.8.7-fix_cmake_path.patch | 46 ++++++++++++++++ sci-libs/libsc/files/libsc-2.8.7-set_version.patch | 48 +++++++++++++++++ sci-libs/libsc/libsc-2.8.7.ebuild | 61 ++++++++++++++++++++++ 5 files changed, 181 insertions(+) diff --git a/sci-libs/libsc/Manifest b/sci-libs/libsc/Manifest index 0c7356f87676..2eb96e886d79 100644 --- a/sci-libs/libsc/Manifest +++ b/sci-libs/libsc/Manifest @@ -1 +1,2 @@ DIST libsc-2.8.6.tar.gz 436045 BLAKE2B e0c9911ece10703d70686c5fa67700ed28f2ad2cfa6fc5e8f31c18fadb3e85c82a062520765589f71fbb8b69f2ebc9d07803488e8b0eae50d3146cefddb6c1ad SHA512 9e8d9256fafce3a583a9dc850308020ae614434e94146dc81bd1b8a3130e6ff55eb094d97fe48bf2b9205ea16906503313f1ebf4f3386db92d6cf0bac50c2d74 +DIST libsc-2.8.7.tar.gz 469486 BLAKE2B f1e2cc5b16f9e5c21e6355f63503478047bc206ce213b38f91ee1a7a7b05c485c4318f5b4aa63a83b7afee1850e5b4910a755556ce3b614d1ce7f2ec3df5a352 SHA512 03295c612c2d6f775d019203d333f0662b2b9d4a4dcbd29bc1821ca7b94dcefd2ad6cc8433212fa9fea3380b70c7be7a44de89c9fa01f3c815fcf3dfb04e5fc4 diff --git a/sci-libs/libsc/files/libsc-2.8.7-fix_build_system.patch b/sci-libs/libsc/files/libsc-2.8.7-fix_build_system.patch new file mode 100644 index 000000000000..c1c391f5804f --- /dev/null +++ b/sci-libs/libsc/files/libsc-2.8.7-fix_build_system.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8599616..c283281 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -11,6 +11,8 @@ HOMEPAGE_URL https://www.p4est.org/ + DESCRIPTION "The SC library supports parallel scientific applications." + VERSION ${PROJECT_VERSION}) + ++set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++ + include(GNUInstallDirs) + include(cmake/config.cmake) # options.cmake before config.cmake to determine user intent + include(cmake/compilers.cmake) # compilers.cmake must be AFTER find_package() calls in config.cmake in general +@@ -71,7 +73,10 @@ TYPE INCLUDE + FILES_MATCHING PATTERN "*.h" + ) + +-install(TARGETS sc EXPORT ${PROJECT_NAME}-targets) ++install(TARGETS sc EXPORT ${PROJECT_NAME}-targets ++ARCHIVE DESTINATION ${library_reldir} ++LIBRARY DESTINATION ${library_reldir} ++) + + add_subdirectory(src) + diff --git a/sci-libs/libsc/files/libsc-2.8.7-fix_cmake_path.patch b/sci-libs/libsc/files/libsc-2.8.7-fix_cmake_path.patch new file mode 100644 index 000000000000..cbca12807f61 --- /dev/null +++ b/sci-libs/libsc/files/libsc-2.8.7-fix_cmake_path.patch @@ -0,0 +1,46 @@ +diff --git a/cmake/install.cmake b/cmake/install.cmake +index 03c9f04..84a1156 100644 +--- a/cmake/install.cmake ++++ b/cmake/install.cmake +@@ -4,7 +4,7 @@ include(CMakePackageConfigHelpers) + + configure_package_config_file(${CMAKE_CURRENT_LIST_DIR}/config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake +-INSTALL_DESTINATION cmake ++INSTALL_DESTINATION ${library_reldir}/cmake/SC + ) + + write_basic_package_version_file( +@@ -14,13 +14,13 @@ COMPATIBILITY SameMajorVersion + + install(EXPORT ${PROJECT_NAME}-targets + NAMESPACE ${PROJECT_NAME}:: +-DESTINATION cmake ++DESTINATION ${library_reldir}/cmake/SC + ) + + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake +-DESTINATION cmake ++DESTINATION ${library_reldir}/cmake/SC + ) + + export(EXPORT ${PROJECT_NAME}-targets +diff --git a/cmake/pkgconf.cmake b/cmake/pkgconf.cmake +index 8fb4783..557d920 100644 +--- a/cmake/pkgconf.cmake ++++ b/cmake/pkgconf.cmake +@@ -20,11 +20,4 @@ set(pc_filename libsc-${git_version}.pc) + configure_file(${CMAKE_CURRENT_LIST_DIR}/pkgconf.pc.in ${pc_filename} @ONLY) + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${pc_filename} +- DESTINATION lib/pkgconfig) +- +-set(pc_target ${pc_filename}) +-set(pc_link lib/pkgconfig/libsc.pc) +- +-install(CODE " +- file(CREATE_LINK ${pc_target} \${CMAKE_INSTALL_PREFIX}/${pc_link} SYMBOLIC) +-") ++ DESTINATION ${library_reldir}/pkgconfig) diff --git a/sci-libs/libsc/files/libsc-2.8.7-set_version.patch b/sci-libs/libsc/files/libsc-2.8.7-set_version.patch new file mode 100644 index 000000000000..138a5439518b --- /dev/null +++ b/sci-libs/libsc/files/libsc-2.8.7-set_version.patch @@ -0,0 +1,48 @@ +diff --git a/cmake/git.cmake b/cmake/git.cmake +index 10e8d14..0ab2893 100644 +--- a/cmake/git.cmake ++++ b/cmake/git.cmake +@@ -1,39 +1,6 @@ + # --- extract version from Git + +-set(PROJECT_MAJOR 0) +-set(PROJECT_MINOR 0) +-set(PROJECT_PATCH 0) +-set(PROJECT_VERSION 0.0.0) +-find_program(GIT_VERSION_GEN NAMES git-version-gen +- PATHS ${CMAKE_CURRENT_SOURCE_DIR}/build-aux NO_DEFAULT_PATH) +-if(GIT_VERSION_GEN) +- execute_process(COMMAND ${GIT_VERSION_GEN} .tarball-version +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +- RESULT_VARIABLE _err +- OUTPUT_VARIABLE git_version +- OUTPUT_STRIP_TRAILING_WHITESPACE) +-endif() +-if(_err EQUAL 0) +- if(git_version MATCHES +- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.].*") +- set(PROJECT_MAJOR "${CMAKE_MATCH_1}") +- set(PROJECT_MINOR "${CMAKE_MATCH_2}") +- set(PROJECT_PATCH "${CMAKE_MATCH_3}") +- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}.${PROJECT_PATCH}.999) +- elseif(git_version MATCHES +- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") +- set(PROJECT_MAJOR "${CMAKE_MATCH_1}") +- set(PROJECT_MINOR "${CMAKE_MATCH_2}") +- set(PROJECT_PATCH "${CMAKE_MATCH_3}") +- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}.${PROJECT_PATCH}) +- elseif(git_version MATCHES +- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") +- set(PROJECT_MAJOR "${CMAKE_MATCH_1}") +- set(PROJECT_MINOR "${CMAKE_MATCH_2}") +- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}) +- elseif(git_version MATCHES +- "^(0|[1-9][0-9]*)") +- set(PROJECT_MAJOR "${CMAKE_MATCH_1}") +- set(PROJECT_VERSION ${PROJECT_MAJOR}) +- endif() +-endif() ++set(PROJECT_MAJOR 2) ++set(PROJECT_MINOR 8) ++set(PROJECT_PATCH 7) ++set(PROJECT_VERSION 2.8.7) diff --git a/sci-libs/libsc/libsc-2.8.7.ebuild b/sci-libs/libsc/libsc-2.8.7.ebuild new file mode 100644 index 000000000000..78a43c675e10 --- /dev/null +++ b/sci-libs/libsc/libsc-2.8.7.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Support for parallel scientific applications" +HOMEPAGE="http://www.p4est.org/" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git" + EGIT_BRANCH="develop" +else + SRC_URI="https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" +IUSE="debug examples mpi threads" + +RDEPEND=" + sys-apps/util-linux + sys-libs/zlib + virtual/blas + virtual/lapack + mpi? ( virtual/mpi[romio] )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${P}-set_version.patch + "${FILESDIR}"/${P}-fix_build_system.patch + "${FILESDIR}"/${P}-fix_cmake_path.patch +) + +src_configure() { + # avoid using debug codepaths that are manually enabled with the + # RelWithDebInfo build type + local CMAKE_BUILD_TYPE="Release" + + local mycmakeargs=( + -Dmpi="$(usex mpi)" + -Dlibrary_reldir="$(get_libdir)" + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + +# rm -r "${ED}"/usr/include/getopt.h \ +# "${ED}"/usr/include/getopt_int.h \ +# "${ED}"/usr/include/sc_builtin || die "rm failed" + + mv "${ED}"/usr/share/docs/SC/* "${ED}"/usr/share/doc/${PF}/ || die "mv failed" + rm -r "${ED}"/usr/share/docs || die "rm failed" +}
