commit: a8209eecb0d622a6c1630b4e67a4692cbb666612 Author: Ivan Lloro <ivan.lloro.boada <AT> gmail <DOT> com> AuthorDate: Sat Dec 20 17:41:00 2025 +0000 Commit: David Roman <davidroman96 <AT> gmail <DOT> com> CommitDate: Sat Dec 20 17:41:00 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a8209eec
sci-physics/openmodelica: add 1.26.0 Signed-off-by: Ivan Lloro <ivan.lloro.boada <AT> gmail.com> sci-physics/openmodelica/Manifest | 9 + .../openmodelica/openmodelica-1.26.0.ebuild | 197 +++++++++++++++++++++ 2 files changed, 206 insertions(+) diff --git a/sci-physics/openmodelica/Manifest b/sci-physics/openmodelica/Manifest index f64401269b..7cbfe94d1d 100644 --- a/sci-physics/openmodelica/Manifest +++ b/sci-physics/openmodelica/Manifest @@ -1,9 +1,18 @@ DIST OMBootstrapping_openmodelica-1.25.5.tar.gz 3346859 BLAKE2B 77adf8b217c670828fcdb0b26c9135de5add5955437caaa40b0f47ebc2cd393d83c87f26f71baebe7f01ad8025f74953d436a97aa5c7698c78e761b6330d1677 SHA512 27bbfd4a05beb15c1cc835defa9cbb95194c83f71ca9acd347f44ca48a6d8db2d5c8b357d652fd31e6617777313d9512799c1523652402a06380469a73a858e1 +DIST OMBootstrapping_openmodelica-1.26.0.tar.gz 3346859 BLAKE2B 77adf8b217c670828fcdb0b26c9135de5add5955437caaa40b0f47ebc2cd393d83c87f26f71baebe7f01ad8025f74953d436a97aa5c7698c78e761b6330d1677 SHA512 27bbfd4a05beb15c1cc835defa9cbb95194c83f71ca9acd347f44ca48a6d8db2d5c8b357d652fd31e6617777313d9512799c1523652402a06380469a73a858e1 DIST OMCompiler-3rdParty_openmodelica-1.25.5.tar.gz 50291363 BLAKE2B 67a692f4d9a456aa729b84014c32c2487679ea55c681819fbb1c0affd946c12653358ab4fed43ba1ca32f5c49de3bbe61cbe00d80210ec4efb9302b6d89b4e10 SHA512 1b55ed5087b45697242035a215858c39bd325d31d45e51d3cb8ca0c264c39c36c52b93fb42d4197345bb7e38ad025170881cd2fe42284a5484d019452a5ea9d3 +DIST OMCompiler-3rdParty_openmodelica-1.26.0.tar.gz 50291363 BLAKE2B 67a692f4d9a456aa729b84014c32c2487679ea55c681819fbb1c0affd946c12653358ab4fed43ba1ca32f5c49de3bbe61cbe00d80210ec4efb9302b6d89b4e10 SHA512 1b55ed5087b45697242035a215858c39bd325d31d45e51d3cb8ca0c264c39c36c52b93fb42d4197345bb7e38ad025170881cd2fe42284a5484d019452a5ea9d3 DIST OMOptim_openmodelica-1.25.5.tar.gz 4022842 BLAKE2B 13acd91f4570fde97fa668e826bea5f8c04ce71360ee675ae02f05f6e391b8d62260e74cc420d56f2c1bcbedf037745370ebc1819f347cf32a5ad0a4205670c5 SHA512 901c036312623f6ef5af198e0b2dbdd97cef7f88ac1dfa9682dad920ffc1c49f992eefba2d67d65901f375bc12f7095b2123586c1b37d96586e25e50c49b4168 +DIST OMOptim_openmodelica-1.26.0.tar.gz 4022842 BLAKE2B 13acd91f4570fde97fa668e826bea5f8c04ce71360ee675ae02f05f6e391b8d62260e74cc420d56f2c1bcbedf037745370ebc1819f347cf32a5ad0a4205670c5 SHA512 901c036312623f6ef5af198e0b2dbdd97cef7f88ac1dfa9682dad920ffc1c49f992eefba2d67d65901f375bc12f7095b2123586c1b37d96586e25e50c49b4168 DIST OMSens_Qt_openmodelica-1.25.5.tar.gz 211321 BLAKE2B 3966cc6b020f14ee2ecef8905fe580d929b685c5138a8cbaabb1d64c90f53bc55ebee364980ad925937a0b57bf6e85c1d808f32decf9cb45a9e13879c53849ca SHA512 ee258fe3dfc3a3c2015f6d6b9067514ea901c17dd84158c89bef34ede0488bfeb92826d558aa699537c89df81cccfb34aaed440cdaf39974a04357c32d78dcae +DIST OMSens_Qt_openmodelica-1.26.0.tar.gz 211321 BLAKE2B 3966cc6b020f14ee2ecef8905fe580d929b685c5138a8cbaabb1d64c90f53bc55ebee364980ad925937a0b57bf6e85c1d808f32decf9cb45a9e13879c53849ca SHA512 ee258fe3dfc3a3c2015f6d6b9067514ea901c17dd84158c89bef34ede0488bfeb92826d558aa699537c89df81cccfb34aaed440cdaf39974a04357c32d78dcae DIST OMSens_openmodelica-1.25.5.tar.gz 8870338 BLAKE2B 8c62f6527915a1a09d8dfb3cbf880fb3cd0d89aa51128c98ef19fc41ef5eab7bd72061a457f68296d2fcbfc49bf906538dbb27742369393355db4d637bff2d35 SHA512 db48d41a471c504fc104d4ff69e56e7974ff0913fbde7110da3dddf7f5074cb0446256fe8f3dde845fca8946a95050fff48ec0b60174c505d524c3a203f58e79 +DIST OMSens_openmodelica-1.26.0.tar.gz 8870338 BLAKE2B 8c62f6527915a1a09d8dfb3cbf880fb3cd0d89aa51128c98ef19fc41ef5eab7bd72061a457f68296d2fcbfc49bf906538dbb27742369393355db4d637bff2d35 SHA512 db48d41a471c504fc104d4ff69e56e7974ff0913fbde7110da3dddf7f5074cb0446256fe8f3dde845fca8946a95050fff48ec0b60174c505d524c3a203f58e79 DIST OMSimulator-3rdParty_openmodelica-1.25.5.tar.gz 6423970 BLAKE2B 1e7463a59d83b4e4866f38cdfb920c89c1bf838ee9fe2c0333a03112b86d18a81fd669f4a9c12303accc25e6f8e76bcdb223ace99bd5cbf333a65b1b92898c44 SHA512 c59d6364d9bf7e152b881c67dca754550bdda384bbc590902fc1c7778cd9fc6594251e36b5608dcb22d8a19513739c81e1ca3564ca0b31c7d412bbc8311ff535 +DIST OMSimulator-3rdParty_openmodelica-1.26.0.tar.gz 6423970 BLAKE2B 1e7463a59d83b4e4866f38cdfb920c89c1bf838ee9fe2c0333a03112b86d18a81fd669f4a9c12303accc25e6f8e76bcdb223ace99bd5cbf333a65b1b92898c44 SHA512 c59d6364d9bf7e152b881c67dca754550bdda384bbc590902fc1c7778cd9fc6594251e36b5608dcb22d8a19513739c81e1ca3564ca0b31c7d412bbc8311ff535 DIST OMSimulator_openmodelica-1.25.5.tar.gz 95027227 BLAKE2B 18f063d63fe59e49d17c872fc0e1b25a6d0f9c6471d7f427fc67cae065fb562188f590fe5be145f1d9370d45ba692a62188c30f55d0b5ce336864ff88e6c4872 SHA512 ba4243f85529d4d61abef809d559c5628d6983c5ce7a404fa2b94d3d9918b7c0c258b2e0503eae4e756747a6932f869b5a14028ad28433719bab4c65310ccb92 +DIST OMSimulator_openmodelica-1.26.0.tar.gz 95027227 BLAKE2B 18f063d63fe59e49d17c872fc0e1b25a6d0f9c6471d7f427fc67cae065fb562188f590fe5be145f1d9370d45ba692a62188c30f55d0b5ce336864ff88e6c4872 SHA512 ba4243f85529d4d61abef809d559c5628d6983c5ce7a404fa2b94d3d9918b7c0c258b2e0503eae4e756747a6932f869b5a14028ad28433719bab4c65310ccb92 DIST OpenModelica-common_openmodelica-1.25.5.tar.gz 36221 BLAKE2B 5cf5ae4cc88fba4794d81667bdb18a6cb2f563f9a1c849abb2c4f69b634e7a0d58201a00b3b06c545a92151de2a9655473cd66a2f9ca2ac075aa5a29e773ee22 SHA512 860afedf9a1ef9eb453d0d34151e59828b138902b5e815b92fdcd710a920aa206aee4cd89b9cb8e504242b9ce4c64413b01f78d04a8150940da11d5139f64f1b +DIST OpenModelica-common_openmodelica-1.26.0.tar.gz 36221 BLAKE2B 5cf5ae4cc88fba4794d81667bdb18a6cb2f563f9a1c849abb2c4f69b634e7a0d58201a00b3b06c545a92151de2a9655473cd66a2f9ca2ac075aa5a29e773ee22 SHA512 860afedf9a1ef9eb453d0d34151e59828b138902b5e815b92fdcd710a920aa206aee4cd89b9cb8e504242b9ce4c64413b01f78d04a8150940da11d5139f64f1b DIST openmodelica-1.25.5.tar.gz 148304171 BLAKE2B 8b30c4c149c73973fbfc3985a9d92783006fd5dc6efbb05f7e235aa745fba9e7cccad02a39f17b22d21e78707eb79ed890a3e7c07103a77152310f2fd6772df3 SHA512 c06230f1c9049b5b574ee9e4f54301763f1c63253bc82ceea45ac116dade00641cb7eaf51db5cfbe1d9c08c4d85135243e9c15743f375bdc692c8d02e0493355 +DIST openmodelica-1.26.0.tar.gz 148304171 BLAKE2B 8b30c4c149c73973fbfc3985a9d92783006fd5dc6efbb05f7e235aa745fba9e7cccad02a39f17b22d21e78707eb79ed890a3e7c07103a77152310f2fd6772df3 SHA512 c06230f1c9049b5b574ee9e4f54301763f1c63253bc82ceea45ac116dade00641cb7eaf51db5cfbe1d9c08c4d85135243e9c15743f375bdc692c8d02e0493355 diff --git a/sci-physics/openmodelica/openmodelica-1.26.0.ebuild b/sci-physics/openmodelica/openmodelica-1.26.0.ebuild new file mode 100644 index 0000000000..34526ec21e --- /dev/null +++ b/sci-physics/openmodelica/openmodelica-1.26.0.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit cmake desktop xdg fortran-2 + +DESCRIPTION="Open-source Modelica-based modeling and simulation environment" +HOMEPAGE="https://openmodelica.org/" + +declare -A commit +commit[OpenModelica]="38bef66da59e57597a6a5f482695e6c37ca09940" +commit[OMCompiler-3rdParty]="05b2332389883ff2a6021ecdf2e13d5a00ebf286" +# See line 10 in OMCompiler/Compiler/boot/CMakeLists.txt +commit[OMBootstrapping]="04d16f7461e5401321f0f72613daf466ae2f76be" +commit[OMSens]="093ad1134cf572ea73a9c7f834614e53ba5ea878" +commit[OMSens_Qt]="bab329ae897ce28621dc45a34cc9cc7dad1aa002" +commit[OMSimulator]="86e9635bda23ffc87a33c90bfbbc6ee7192cbb7a" +commit[OMSimulator-3rdParty]="4ee9733a8fa6de86ce6fc18d775de4efbd7aae9f" +commit[OMOptim]="f1036f43db18c5015da259771004cfb80e08a110" +commit[OpenModelica-common]="6e6d4fd78c74da79ef079ee412d5325eb3b60166" + +SRC_URI=" + https://github.com/OpenModelica/OpenModelica/archive/${commit[OpenModelica]}.tar.gz + -> ${P}.tar.gz + https://github.com/OpenModelica/OMCompiler-3rdParty/archive/${commit[OMCompiler-3rdParty]}.tar.gz + -> OMCompiler-3rdParty_${P}.tar.gz + https://github.com/OpenModelica/OMBootstrapping/archive/${commit[OMBootstrapping]}.tar.gz + -> OMBootstrapping_${P}.tar.gz + https://github.com/OpenModelica/OMSens/archive/${commit[OMSens]}.tar.gz + -> OMSens_${P}.tar.gz + https://github.com/OpenModelica/OMSens_Qt/archive/${commit[OMSens_Qt]}.tar.gz + -> OMSens_Qt_${P}.tar.gz + https://github.com/OpenModelica/OMSimulator/archive/${commit[OMSimulator]}.tar.gz + -> OMSimulator_${P}.tar.gz + https://github.com/OpenModelica/OMSimulator-3rdParty/archive/${commit[OMSimulator-3rdParty]}.tar.gz + -> OMSimulator-3rdParty_${P}.tar.gz + https://github.com/OpenModelica/OMOptim/archive/${commit[OMOptim]}.tar.gz + -> OMOptim_${P}.tar.gz + https://github.com/OpenModelica/OpenModelica-common/archive/${commit[OpenModelica-common]}.tar.gz + -> OpenModelica-common_${P}.tar.gz + +" + +LICENSE="OSMC-PL GPL-3 AGPL-3 BSD EPL-1.0 public-domain BSD-with-attribution LGPL-2.1+ LGPL-2 Apache-2.0 Boost-1.0 Modelica-1.1 Modelica-2 MIT WTFPL-2" +SLOT="0" +KEYWORDS="~amd64" +IUSE="static-libs" +REQUIRED_USE="|| ( static-libs )" + +RDEPEND=" + >=app-text/asciidoc-10.2.1 + >=app-text/doxygen-1.13.2 + >=dev-libs/boost-1.88.0-r1 + >=dev-games/openscenegraph-3.6.5-r118 + dev-lang/python:3.12 + >=dev-libs/expat-2.7.3 + >=dev-libs/icu-77.1 + >=dev-libs/libxml2-2.14.6 + >=dev-python/kiwisolver-1.4.9 + >=dev-python/matplotlib-3.10.3 + >=dev-python/numpy-2.3.1 + >=dev-python/pandas-2.3.0 + >=dev-python/pillow-11.3.0 + >=dev-python/pytest-8.4.2 + >=dev-python/six-1.17.0 + >=dev-python/sphinx-8.2.3-r2 + dev-qt/qt5compat:6 + dev-qt/qtbase:6 + dev-qt/qtdeclarative:6 + dev-qt/qtpositioning:6 + dev-qt/qtsvg:6 + dev-qt/qtwebchannel:6 + dev-qt/qtwebengine:6 + >=net-misc/curl-8.16.0-r1 + >=net-misc/omniORB-4.3.0 + >=sci-libs/hdf5-1.14.6-r2 + >=sys-apps/hwloc-2.11.2-r1 + >=sys-devel/flex-2.6.4-r6 + >=sys-libs/ncurses-6.4_p20240414 + >=sys-libs/readline-8.3_p1 + >=virtual/blas-3.8 + >=virtual/jdk-17 + >=virtual/lapack-3.10 + >=virtual/libiconv-0-r2 + >=virtual/libintl-0-r2 + >=virtual/opencl-3-r5 + >=virtual/opengl-8 + >=virtual/pkgconfig-3 +" + +BDEPEND=" + dev-util/ccache + >=media-gfx/imagemagick-7.1.1.25-r1[png] +" + +DEPEND="${RDEPEND}" + +src_unpack() { + default + + mv "${WORKDIR}/OpenModelica-${commit[OpenModelica]}" "${S}" || die + rmdir "${S}/OMCompiler/3rdParty" || die + mv "${WORKDIR}/OMCompiler-3rdParty-${commit[OMCompiler-3rdParty]}" "${S}/OMCompiler/3rdParty" || die + rmdir "${S}/OMSens" || die + + # OMOptim depends on a working CORBA interface (which fails to compile) supplied by OmniORB. + # For compilation trials remember setting -DOM_OMC_USE_CORBA=ON. + #rmdir "${S}/OMOptim" || die + #mv "${WORKDIR}/OMOptim-${commit[OMOptim]}" "${S}/OMOptim" || die + #rmdir "${S}/OMOptim/common" || die + #cp -a "${WORKDIR}/OpenModelica-common-${commit[OpenModelica-common]}" "${S}/OMOptim/common" || die + + mv "${WORKDIR}/OMSens-${commit[OMSens]}" "${S}/OMSens" || die + rmdir "${S}/OMSens_Qt" || die + mv "${WORKDIR}/OMSens_Qt-${commit[OMSens_Qt]}" "${S}/OMSens_Qt" || die + rmdir "${S}/OMSens_Qt/common" || die + mv "${WORKDIR}/OpenModelica-common-${commit[OpenModelica-common]}" "${S}/OMSens_Qt/common" || die + rmdir "${S}/OMSimulator" || die + mv "${WORKDIR}/OMSimulator-${commit[OMSimulator]}" "${S}/OMSimulator" || die + rmdir "${S}/OMSimulator/3rdParty" || die + mv "${WORKDIR}/OMSimulator-3rdParty-${commit[OMSimulator-3rdParty]}" "${S}/OMSimulator/3rdParty" || die + mv "OMBootstrapping-${commit[OMBootstrapping]}" "${S}/OMCompiler/Compiler/boot/bomc" || die + touch "${S}/OMCompiler/Compiler/boot/bomc/sources.tar.gz" || die + +} + +src_configure() { + local mycmakeargs=( + -DOM_OMEDIT_ENABLE_QTWEBENGINE=ON + -DBUILD_SHARED_LIBS=OFF + -DOM_ENABLE_ENCRYPTION=OFF + -DOM_USE_CCACHE=ON + -DOM_ENABLE_GUI_CLIENTS=ON + -DOM_OMC_ENABLE_FORTRAN=ON + -DOM_OMC_ENABLE_IPOPT=ON + -DOM_OMC_ENABLE_CPP_RUNTIME=ON + -DOM_OMC_USE_CORBA=OFF + -DOM_OMC_USE_LAPACK=ON + -DOM_OMEDIT_INSTALL_RUNTIME_DLLS=ON + -DOM_OMEDIT_ENABLE_TESTS=OFF + -DOM_OMEDIT_ENABLE_QTWEBENGINE=ON + -DOM_QT_MAJOR_VERSION=6 + ) + cmake_src_configure +} + +src_compile() { + # [2024-07-15] + # OMSens is disabled in "${S}/CMakeLists.txt" (## omc_add_subdirectory(OMSens)) due to lack of a + # working "${S}/OMSens/CMakeLists.txt". So, we compile it manually. + pushd OMSens/fortran_interface > /dev/null || die + ${FC} -fPIC -c Rutf.for Rut.for Curvif.for || die + # BUG: Undefined symbol curvif_ in + # ${S}/OMSens/fortran_interface/curvif_simplified.cpython-312-x86_64-linux-gnu.so + # See with nm -D or objdump -tT + # ${S}/OMSens/fortran_interface/curvif_simplified.cpython-312-x86_64-linux-gnu.so + # This bug causes "Vectorial Parameter Based Sensitivity Analysis" in OMSens to fail. + f2py --verbose -c -I. Curvif.o Rutf.o Rut.o -m curvif_simplified curvif_simplified.pyf Curvif_simplified.f90 || die + popd > /dev/null || die + + cmake_src_compile +} + +src_install() { + cmake_src_install + + # [2024-07-15] + # OMSens is disabled in "${S}/CMakeLists.txt" (## omc_add_subdirectory(OMSens)) due to lack of a + # working "${S}/OMSens/CMakeLists.txt". So, we install it manually. + cp -a "${WORKDIR}"/"${P}"/OMSens "${ED}"/usr/share/ || die + rm -fr "${ED}"/usr/share/OMSens/{old,.git,.gitignore,CMakeLists.txt,.jenkins,Jenkinsfile,Makefile.omdev.mingw,Makefile.unix} || die + rm -fr "${ED}"/usr/share/OMSens/{README.md,setup.py,testing} || die + + newicon -s scalable OMShell/OMShell/OMShellGUI/Resources/omshell-large.svg omshell.svg + newicon -s scalable OMNotebook/OMNotebook/OMNotebookGUI/Resources/OMNotebook_icon.svg OMNotebook.svg + magick convert OMEdit/OMEditLIB/Resources/icons/omedit.ico[0] -thumbnail 256x256 -flatten \ + OMEdit/OMEditLIB/Resources/icons/omedit_icon.png || die + newicon -s 256 OMEdit/OMEditLIB/Resources/icons/omedit_icon.png omedit.png + + make_desktop_entry "OMEdit %F" OMedit omedit "Physics;" "MimeType=text/x-modelica;" + make_desktop_entry OMShell OMShell omshell "Physics;" + make_desktop_entry "OMNotebook %f" OMNotebook OMNotebook "Physics;" + + # Fix libraries + if [[ $(get_libdir) != "lib" ]]; then + mv "${ED}"/usr/lib/omc/* "${ED}"/usr/$(get_libdir)/omc/ || die + rmdir "${ED}"/usr/lib/omc/ || die + dosym -r /usr/$(get_libdir)/omc /usr/lib/omc + fi + dosym -r /usr/include/omc/ParModelica /usr/include/ParModelica + + # Documentation housekeeping & QA + mv "${ED}"/usr/share/doc/omc "${ED}"/usr/share/doc/"${PF}" || die + rm -fr "${ED}"/usr/doc "${ED}"/usr/share/{zmq,cmake,cminpack} "${ED}"/tmp || die + + ewarn "Upstream has deprecated OMTLMSimulator and, therefore, it has not been installed. Use OMSimulator/SSP instead." +}
