sci-libs/libsc: add 2.8.7

Signed-off-by: Matthias Maier <tamiko@gentoo.org>
This commit is contained in:
Matthias Maier
2025-07-15 20:45:22 -05:00
parent f851dc82b8
commit bb6af6b0d7
5 changed files with 181 additions and 0 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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"
}