commit:     1e8d06d20e2c73ce5419dfdb95edc306e0164d7b
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Sun Jan  4 06:20:51 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jan  4 18:28:37 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e8d06d2

sci-libs/spglib: add 2.7.0

python bindings:
add missing dev-python/setuptools-scm
upstream migrated the python API to use pybind11
use multi-python
enable py3.14

skip tests for examples, the testsuites are already quite extensive

Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/45246
Closes: https://github.com/gentoo/gentoo/pull/45246
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-libs/spglib/Manifest            |   1 +
 sci-libs/spglib/spglib-2.7.0.ebuild | 107 ++++++++++++++++++++++++++++++++++++
 2 files changed, 108 insertions(+)

diff --git a/sci-libs/spglib/Manifest b/sci-libs/spglib/Manifest
index 27ce15eb9729..85217d000783 100644
--- a/sci-libs/spglib/Manifest
+++ b/sci-libs/spglib/Manifest
@@ -1 +1,2 @@
 DIST spglib-2.6.0.tar.gz 2438640 BLAKE2B 
99befe83edf51fbffdb815315e89e5bc9a882298e08ca79631ce2fbb17d302be529b6f4f326d60ee07bef330b8f217aa0111acaa1ec8f0562f2fb12be498db24
 SHA512 
a70a318dcfb0cfffca1d68605ec3afea6c5ff18ada6a4a1c0ea1c09f23ab8585d093aaf322939bc83cff28e8bb3b1b42ec65edce9208e4f69288504326e4cf2f
+DIST spglib-2.7.0.tar.gz 2442495 BLAKE2B 
ddba5b5ea401b277b45c1e3b9b3df91da68f56d89eecf8e5f8be5aefd22df841fa79f4638cfe857005000b8c6095e192e052fc38b8d760f19bd3bff32908d16a
 SHA512 
38b5e5c50bdda2c530f0b3f24d0f89e12965d0c2d1067e6d8501e677926c49de875fbcbd548185724427c0969aa6df328cc86dd077d3c692630b3cd26fa66476

diff --git a/sci-libs/spglib/spglib-2.7.0.ebuild 
b/sci-libs/spglib/spglib-2.7.0.ebuild
new file mode 100644
index 000000000000..e54eec676a24
--- /dev/null
+++ b/sci-libs/spglib/spglib-2.7.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYTHON_COMPAT=( python3_{11..14} )
+FORTRAN_NEEDED=fortran
+inherit cmake distutils-r1 fortran-2 toolchain-funcs
+
+DESCRIPTION="Spglib is a C library for finding and handling crystal symmetries"
+HOMEPAGE="https://github.com/spglib/spglib/";
+SRC_URI="https://github.com/spglib/spglib/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/2"
+KEYWORDS="~amd64 ~x86"
+IUSE="fortran openmp python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       python? (
+               ${PYTHON_DEPS}
+               dev-python/numpy[${PYTHON_USEDEP}]
+               dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+               $(python_gen_cond_dep '
+                       dev-python/typing-extensions[${PYTHON_USEDEP}]
+               ' 3.11 3.12)
+       )
+"
+DEPEND="
+       ${RDEPEND}
+       python? ( dev-python/pybind11[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+       python? (
+               ${DISTUTILS_DEPS}
+               ${PYTHON_DEPS}
+               dev-python/setuptools-scm[${PYTHON_USEDEP}]
+               test? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+       )
+       test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.6.0-pyproject.patch
+       "${FILESDIR}"/${PN}-2.6.0-dist_sources.patch
+)
+
+distutils_enable_tests pytest
+
+pkg_pretend() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+       use fortran && fortran-2_pkg_setup
+       use python && python_setup
+}
+
+src_prepare() {
+       cmake_src_prepare
+       use python && distutils-r1_src_prepare
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_SKIP_RPATH=ON
+               -DSPGLIB_SHARED_LIBS=ON
+               -DSPGLIB_USE_OMP="$(usex openmp)"
+               -DSPGLIB_WITH_Fortran="$(usex fortran)"
+               -DSPGLIB_WITH_Python="$(usex python)"
+               -DSPGLIB_WITH_TESTS="$(usex test)"
+       )
+       cmake_src_configure
+}
+
+src_compile() {
+       cmake_src_compile
+       use python && distutils-r1_src_compile
+}
+
+src_test() {
+       CMAKE_SKIP_TESTS=(
+               # the testsuites are already quite extensive
+               example-*
+       )
+       local -x LD_LIBRARY_PATH="${BUILD_DIR}:${BUILD_DIR}/fortran"
+       cmake_src_test
+       use python && distutils-r1_src_test
+}
+
+python_install() {
+       distutils-r1_python_install
+
+       # remove duplicate headers/lib
+       rm -r "${ED}"/$(python_get_sitedir)/spglib/{$(get_libdir),include} || 
die
+}
+
+src_install() {
+       cmake_src_install
+       use python && distutils-r1_src_install
+}

Reply via email to