Diff ceres-solver-2.1.0-r1 with a ceres-solver-2.2.0-r1

/usr/portage/sci-libs/ceres-solver/ceres-solver-2.2.0-r1.ebuild 2024-12-25 14:59:52.707270181 +0300
1
# Copyright 1999-2023 Gentoo Authors
1
# Copyright 1999-2024 Gentoo Authors
2 2
# Distributed under the terms of the GNU General Public License v2
3 3

  
4 4
EAPI=8
5 5

  
6
PYTHON_COMPAT=( python3_{9..11} )
6
PYTHON_COMPAT=( python3_{10..12} )
7 7
DOCS_BUILDER="sphinx"
8 8
DOCS_DEPEND="dev-python/sphinx-rtd-theme"
9 9
DOCS_DIR="docs/source"
10
inherit cmake-multilib python-any-r1 docs toolchain-funcs
10
inherit cmake-multilib cuda flag-o-matic python-any-r1 docs
11 11

  
12 12
DESCRIPTION="Nonlinear least-squares minimizer"
13 13
HOMEPAGE="http://ceres-solver.org/"
14 14
SRC_URI="http://ceres-solver.org/${P}.tar.gz"
15 15

  
16
LICENSE="sparse? ( BSD ) !sparse? ( LGPL-2.1 ) cxsparse? ( BSD )"
16
LICENSE="sparse? ( BSD ) !sparse? ( LGPL-2.1 )"
17 17
SLOT="0/1"
18 18
KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
19
IUSE="cxsparse examples gflags lapack openmp +schur sparse test"
19
IUSE="examples cuda gflags lapack +schur sparse test"
20 20

  
21 21
REQUIRED_USE="test? ( gflags ) sparse? ( lapack ) abi_x86_32? ( !sparse !lapack )"
22 22
RESTRICT="!test? ( test )"
......
28 28
"
29 29
RDEPEND="
30 30
	dev-cpp/glog[gflags?,${MULTILIB_USEDEP}]
31
	cxsparse? ( sci-libs/cxsparse )
31
	cuda? ( dev-util/nvidia-cuda-toolkit:= )
32 32
	lapack? ( virtual/lapack )
33 33
	sparse? (
34 34
		sci-libs/amd
......
45 45

  
46 46
PATCHES=(
47 47
	"${FILESDIR}/${PN}-2.0.0-system-mathjax.patch"
48
	"${FILESDIR}/${PN}-2.2.0-include-algorithm.patch"
48 49
)
49 50

  
50
pkg_pretend() {
51
	[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
52
}
53

  
54
pkg_setup() {
55
	[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
56
	use doc && python-any-r1_pkg_setup
57
}
58

  
59 51
src_prepare() {
60 52
	cmake_src_prepare
61 53

  
54
	filter-lto
55

  
62 56
	# search paths work for prefix
63 57
	sed -e "s:/usr:${EPREFIX}/usr:g" \
64 58
		-i cmake/*.cmake || die
......
69 63
}
70 64

  
71 65
src_configure() {
72
	# CUSTOM_BLAS=OFF EIGENSPARSE=OFF MINIGLOG=OFF CXX11=OFF
66
	# CUSTOM_BLAS=OFF EIGENSPARSE=OFF MINIGLOG=OFF
73 67
	local mycmakeargs=(
74 68
		-DBUILD_BENCHMARKS=OFF
75 69
		-DBUILD_EXAMPLES=$(usex examples)
......
78 72
		-DGFLAGS=$(usex gflags)
79 73
		-DLAPACK=$(usex lapack)
80 74
		-DSCHUR_SPECIALIZATIONS=$(usex schur)
81
		-DCXSPARSE=$(usex cxsparse)
82 75
		-DSUITESPARSE=$(usex sparse)
83 76
		-DEigen3_DIR=/usr/$(get_libdir)/cmake/eigen3
84
		-DCERES_THREADING_MODEL=$(usex openmp OPENMP CXX_THREADS)
85
	)
86 77

  
87
	use doc && mycmakeargs+=(
88
		-DCERES_DOCS_INSTALL_DIR="${EPREFIX}"/usr/share/doc/${PF}
78
		-DBUILD_SHARED_LIBS="yes"
79
		-DEIGENMETIS="yes"
80
		-DEIGENSPARSE="yes"
81
		-DMINIGLOG="no"
82
		-DCUSTOM_BLAS="yes"
83
		-DUSE_CUDA="$(usex cuda)"
89 84
	)
90
	use sparse || use cxsparse || mycmakeargs+=( -DEIGENSPARSE=ON )
85

  
86
	if use cuda; then
87
		: "${CUDAHOSTCXX:=$(cuda_gccdir)}"
88
		: "${CUDAARCHS:=all}"
89
		export CUDAHOSTCXX
90
		export CUDAARCHS
91
	fi
92

  
93
	use sparse || mycmakeargs+=( -DEIGENSPARSE=ON )
91 94

  
92 95
	cmake-multilib_src_configure
93 96
}
94 97

  
98
src_test() {
99
	use cuda && cuda_add_sandbox -w
100
	cmake_src_test
101
}
102

  
95 103
src_install() {
96 104
	cmake-multilib_src_install
97 105

  
Thank you!