Install this version:
emerge -a =sci-libs/casadi-3.7.0
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =sci-libs/casadi-3.7.0
Or alternatively:
emerge --autounmask-write -a =sci-libs/casadi-3.7.0
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 3.7.0 | 8 | ~amd64 | 0 |
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..14} )
CMAKE_MAKEFILE_GENERATOR=emake
inherit python-single-r1 cmake git-r3
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
if [[ ${PV} == *9999* ]]; then
:
else
EGIT_COMMIT="${PV}"
KEYWORDS="~amd64"
fi
EGIT_BLASFEO_REPO_URI="https://github.com/giaf/blasfeo.git"
EGIT_BLASFEO_COMMIT="edf92b396adddd9e548b9786f87ad290a0971329"
EGIT_HPIPM_REPO_URI="https://github.com/jgillis/hpipm.git"
EGIT_HPIPM_COMMIT="0e0c9f4e0d4081dceafa9b37c396db50bce0e81a"
EGIT_FATROP_REPO_URI="https://github.com/jgillis/fatrop.git"
EGIT_FATROP_COMMIT="1d5a830f3926a8a07cdf78d33115c4b30ced0e4e"
EGIT_FATROP_BRANCH="ocp_c_interface2"
EGIT_SUPERSCS_REPO_URI="https://github.com/jgillis/scs.git"
EGIT_SUPERSCS_COMMIT="4d2d1bd03ed4cf93e684a880b233760ce34ca69c"
EGIT_SUPERSCS_BRANCH="main"
EGIT_OSQP_REPO_URI="https://github.com/osqp/osqp.git"
EGIT_OSQP_COMMIT="v0.6.2"
EGIT_EIGEN3_REPO_URI="https://gitlab.com/libeigen/eigen.git"
EGIT_EIGEN3_COMMIT="3.4.0"
EGIT_SIMDE_REPO_URI="https://github.com/simd-everywhere/simde.git"
EGIT_SIMDE_COMMIT="v0.7.2"
EGIT_PROXQP_REPO_URI="https://github.com/Simple-Robotics/proxsuite.git"
EGIT_PROXQP_COMMIT="v0.3.2"
EGIT_LAPACK_REPO_URI="https://github.com/xianyi/OpenBLAS.git"
EGIT_LAPACK_COMMIT="v0.3.21"
EGIT_TRLIB_REPO_URI="https://github.com/jgillis/trlib.git"
EGIT_TRLIB_COMMIT="c7632b8b14152e78bc21721a3bd1a2432586b824"
EGIT_SLEQP_REPO_URI="https://github.com/jgillis/sleqp.git"
EGIT_SLEQP_BRANCH="patch-1"
EGIT_IPOPT_REPO_URI="https://github.com/jgillis/Ipopt-1.git"
EGIT_IPOPT_COMMIT="3.14.11.mod"
EGIT_BONMIN_REPO_URI="https://github.com/coin-or/Bonmin.git"
EGIT_BONMIN_COMMIT="releases/1.8.9"
EGIT_CBC_REPO_URI="https://github.com/coin-or/Cbc.git"
EGIT_CBC_COMMIT="releases/2.10.11"
EGIT_CLP_REPO_URI="https://github.com/coin-or/Clp.git"
EGIT_CLP_COMMIT="releases/1.17.9"
EGIT_COINUTILS_REPO_URI="https://github.com/coin-or/CoinUtils.git"
EGIT_COINUTILS_COMMIT="releases/2.11.10"
EGIT_CGL_REPO_URI="https://github.com/coin-or/Cgl.git"
EGIT_CGL_COMMIT="releases/0.60.8"
EGIT_OSI_REPO_URI="https://github.com/coin-or/Osi.git"
EGIT_OSI_COMMIT="releases/0.108.9"
EGIT_MUMPS_REPO_URI="https://github.com/coin-or-tools/ThirdParty-Mumps.git"
EGIT_MUMPS_COMMIT="releases/3.0.2"
EGIT_METIS_REPO_URI="https://github.com/coin-or-tools/ThirdParty-Metis.git"
EGIT_METIS_COMMIT="releases/2.0.0"
EGIT_SPRAL_REPO_URI="https://github.com/ralna/spral.git"
EGIT_SPRAL_COMMIT="d385d2c9e858366d257cafaaf05760ffa6543e26"
EGIT_SPRAL_BRANCH="master"
EGIT_HIGHS_REPO_URI="https://github.com/ERGO-Code/HiGHS"
EGIT_HIGHS_COMMIT="v1.6.0"
EGIT_DAQP_REPO_URI="https://github.com/jgillis/daqp.git"
EGIT_DAQP_BRANCH="master"
EGIT_ALPAQA_REPO_URI="https://github.com/jgillis/alpaqa"
EGIT_ALPAQA_BRANCH="develop"
EGIT_EXTERNAL_REPOS=( alpaqa blasfeo bonmin cbc clp daqp eigen3 fatrop highs hpipm ipopt lapack mumps osqp proxqp simde sleqp spral superscs trlib )
DESCRIPTION="CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs."
HOMEPAGE="https://casadi.org"
LICENSE="LGPL-3"
SLOT="0"
IUSE="alpaqa ampl blasfeo blocksqp bonmin cbc clp cplex csparse daqp dsdp gurobi eigen3 fatrop highs hpipm hsl +ipopt knitro +lapack +mumps octave osqp proxqp +python qpoases simde sleqp snopt spral sundials superscs system-csparse +system-eigen3 +system-ipopt +system-lapack +system-metis +system-mumps system-sundials +system-xml trlib +xml worhp"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
system-csparse? ( sci-libs/csparse )
system-eigen3? ( dev-cpp/eigen )
system-ipopt? ( sci-libs/ipopt )
system-lapack? ( virtual/lapack virtual/blas )
system-metis? ( sci-libs/metis )
system-mumps? ( sci-libs/mumps[metis,-mpi] )
octave? ( >=sci-mathematics/octave-6 )
python? (
${PYTHON_DEPS}
)
system-sundials? ( sci-libs/sundials[lapack?] )
system-xml? ( dev-libs/tinyxml2 )
"
DEPEND="${RDEPEND}"
BDEPEND="python? ( dev-lang/swig )"
REQUIRED_USE="
hpipm? ( blasfeo )
fatrop? ( blasfeo )
proxqp? ( eigen3 simde )
ipopt? ( mumps )
bonmin? ( ipopt cbc )
cbc? ( clp )
clp? ( mumps lapack )
mumps? ( lapack )
spral? ( lapack )
hsl? ( lapack )
alpaqa? ( eigen3 )
system-mumps? ( system-metis )
"
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_unpack() {
git-r3_src_unpack
for proj in "${EGIT_EXTERNAL_REPOS[@]}"; do
if use ${proj} && ( ! in_iuse system-${proj} || ( in_iuse system-${proj} && ! use system-${proj} ) ); then
(
unset EGIT_COMMIT EGIT_BRANCH EGIT_REPO_URI EGIT_CHECKOUT_DIR
eval EGIT_REPO_URI=\${EGIT_${proj^^}_REPO_URI}
eval EGIT_BRANCH=\${EGIT_${proj^^}_BRANCH}
[[ -z ${EGIT_BRANCH} ]] && unset EGIT_BRANCH
eval EGIT_COMMIT=\${EGIT_${proj^^}_COMMIT}
[[ -z ${EGIT_COMMIT} ]] && unset EGIT_COMMIT
EGIT_CHECKOUT_DIR="${WORKDIR}/external_projects/${proj}"
git-r3_src_unpack
)
fi
done
if use mumps && ! use system-metis ; then
(
unset EGIT_COMMIT EGIT_BRANCH EGIT_REPO_URI EGIT_CHECKOUT_DIR
EGIT_REPO_URI=${EGIT_METIS_REPO_URI}
EGIT_COMMIT=${EGIT_METIS_COMMIT}
EGIT_CHECKOUT_DIR="${WORKDIR}/external_projects/metis"
git-r3_src_unpack
)
fi
if use clp || use cbc; then
(
unset EGIT_COMMIT EGIT_BRANCH EGIT_REPO_URI EGIT_CHECKOUT_DIR
EGIT_REPO_URI=${EGIT_COINUTILS_REPO_URI}
EGIT_COMMIT=${EGIT_COINUTILS_COMMIT}
EGIT_CHECKOUT_DIR="${WORKDIR}/external_projects/coinutils"
git-r3_src_unpack
)
fi
}
src_prepare() {
sed -i 's/dmumps_seq/dmumps/' cmake/FindMUMPS.cmake
if use system-mumps ; then
eapply "${FILESDIR}"/${P}-mumps-no-mpi-fix.patch
fi
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
# Author does not know how to use LIB_PREFIX/LIB_SUFFIX pair in cmake
-DLIB_PREFIX=/usr/$(get_libdir)
-DENABLE_EXPORT_ALL=ON
-DWITH_OCTAVE=$(usex octave)
-DWITH_MATLAB=OFF
-DWITH_THREAD=ON
-DWITH_PYTHON=$(usex python)
-DWITH_PYTHON3=$(usex python)
-DWITH_ALPAQA=$(usex alpaqa)
-DWITH_AMPL=$(usex ampl)
-DWITH_BUILD_ALPAQA=$(usex alpaqa)
-DWITH_BLASFEO=$(usex blasfeo)
-DWITH_BUILD_BLASFEO=$(usex blasfeo)
-DWITH_BONMIN=$(usex bonmin)
-DWITH_BUILD_BONMIN=$(usex bonmin)
-DWITH_BLOCKSQP=$(usex blocksqp)
-DWITH_CBC=$(usex cbc)
-DWITH_BUILD_CBC=$(usex cbc)
-DWITH_CLP=$(usex clp)
-DWITH_BUILD_CLP=$(usex clp)
-DWITH_CPLEX=$(usex cplex)
-DWITH_CSPARSE=$(usex csparse)
-DWITH_BUILD_CSPARSE=$(usex system-csparse OFF ON)
-DWITH_DAQP=$(usex daqp)
-DWITH_BUILD_DAQP=$(usex daqp)
-DWITH_DSDP=$(usex dsdp)
-DWITH_BUILD_DSDP=$(usex dsdp)
-DWITH_EIGEN3=$(usex eigen3)
-DWITH_BUILD_EIGEN3=$(usex system-eigen3 OFF ON)
-DWITH_FATROP=$(usex fatrop)
-DWITH_BUILD_FATROP=$(usex fatrop)
-DWITH_HIGHS=$(usex highs)
-DWITH_BUILD_HIGHS=$(usex highs)
-DWITH_HPIPM=$(usex hpipm)
-DWITH_BUILD_HPIPM=$(usex hpipm)
-DWITH_HSL=$(usex hsl)
-DWITH_BUILD_HSL=$(usex hsl)
-DWITH_GUROBI=$(usex gurobi)
-DWITH_IPOPT=$(usex ipopt)
-DWITH_BUILD_IPOPT=$(usex system-ipopt OFF ON)
-DWITH_KNITRO=$(usex knitro)
-DWITH_LAPACK=$(usex lapack)
-DWITH_BUILD_LAPACK=$(usex system-lapack OFF ON)
-DWITH_BUILD_METIS=$(usex system-metis OFF ON)
-DWITH_MUMPS=$(usex mumps)
-DWITH_BUILD_MUMPS=$(usex system-mumps OFF ON)
-DWITH_OSQP=$(usex osqp)
-DWITH_BUILD_OSQP=$(usex osqp)
-DWITH_PROXQP=$(usex proxqp)
-DWITH_BUILD_PROXQP=$(usex proxqp)
-DWITH_QPOASES=$(usex qpoases)
-DWITH_SIMDE=$(usex simde)
-DWITH_BUILD_SIMDE=$(usex simde)
-DWITH_SLEQP=$(usex sleqp)
-DWITH_BUILD_SLEQP=$(usex sleqp)
-DWITH_SNOPT=$(usex snopt)
-DWITH_SPRAL=$(usex spral)
-DWITH_BUILD_SPRAL=$(usex spral)
-DWITH_SUNDIALS=$(usex sundials)
-DWITH_BUILD_SUNDIALS=$(usex system-sundials OFF ON)
-DWITH_SUPERSCS=$(usex superscs)
-DWITH_BUILD_SUPERSCS=$(usex superscs)
-DWITH_TRLIB=$(usex trlib)
-DWITH_BUILD_TRLIB=$(usex trlib)
-DWITH_TINYXML=$(usex xml)
-DWITH_WORHP=$(usex worhp)
-DWITH_BUILD_TINYXML=$(usex system-xml OFF ON)
)
cmake_src_configure
}
src_install() {
cmake_src_install
use python && python_optimize
}
Manage flags for this package:
euse -i <flag> -p sci-libs/casadi |
euse -E <flag> -p sci-libs/casadi |
euse -D <flag> -p sci-libs/casadi
system-csparse? ( sci-libs/csparse ) system-eigen3? ( dev-cpp/eigen ) system-ipopt? ( sci-libs/ipopt ) system-lapack? ( virtual/lapack virtual/blas ) system-metis? ( sci-libs/metis ) system-mumps? ( sci-libs/mumps[metis,-mpi] ) octave? ( >=sci-mathematics/octave-6 ) python? ( ) system-sundials? ( sci-libs/sundials[lapack?] ) system-xml? ( dev-libs/tinyxml2 )
system-csparse? ( sci-libs/csparse ) system-eigen3? ( dev-cpp/eigen ) system-ipopt? ( sci-libs/ipopt ) system-lapack? ( virtual/lapack virtual/blas ) system-metis? ( sci-libs/metis ) system-mumps? ( sci-libs/mumps[metis,-mpi] ) octave? ( >=sci-mathematics/octave-6 ) python? ( ) system-sundials? ( sci-libs/sundials[lapack?] ) system-xml? ( dev-libs/tinyxml2 )
python? ( dev-lang/swig )