commit: 11e9156df52334ff9ffa97bc8aac0457bcbf2112 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Mon Sep 29 16:53:46 2025 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Tue Sep 30 04:53:08 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=11e9156d
sci-libs/alglib: add 3.20.0, bump EAPI 7 -> 8, fix build w/ cmake-4 This bump is moving headers into an alglib subdir. I did not find any Changelogs available so even though 4.05.0 is available, last version <4 is as high as I am willing to go to keep this in ::gentoo. CMakelists.txt improvements over 3.8.2: - Use Fedora CMakeLists.txt as template, bump to 3.10 min req ver - Make PROJECT_VERSION and SOVERSION configurable as cmake arguments - Use BUILD_TESTING standard CTest switch Closes: https://bugs.gentoo.org/957965 Closes: https://bugs.gentoo.org/957966 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> sci-libs/alglib/Manifest | 1 + sci-libs/alglib/alglib-3.20.0.ebuild | 38 +++++++++++++++++++++++ sci-libs/alglib/files/CMakeLists.txt-3.20.0 | 47 +++++++++++++++++++++++++++++ 3 files changed, 86 insertions(+) diff --git a/sci-libs/alglib/Manifest b/sci-libs/alglib/Manifest index 7b791354efa4..e8e789134217 100644 --- a/sci-libs/alglib/Manifest +++ b/sci-libs/alglib/Manifest @@ -1 +1,2 @@ DIST alglib-3.17.0.cpp.gpl.tgz 3065026 BLAKE2B bc939568a6bfb5e2717995e31b9d7cb485885217ff8d15c2bea3185b1ef62536766f80e02d43999c016e24b10181bddd4ad4ff27611ab19ebcc778a5cb15d55e SHA512 0e4b943b03707950813aea707ae3569ce75a22216c9a4b256b646db16609995b3b63a958b0b8fbe3d7d623d5ac03efbe7c4b1589961f2ca9cdefbd7e1cc0c721 +DIST alglib-3.20.0.cpp.gpl.tgz 3325551 BLAKE2B bfc62cada202ed6becfd01a62cd6e9b46f500e0e4670e30422581880b825cdf3fcdc1b4b3197c0ce3a5a28c580eab83889b0c70769a38a78d9ed7e116e7cd013 SHA512 badd8789ab561d3345d7b3d75aa95732f5d0e1e44125ee4d8c2b3f89ef2ec44137206b9e869a89daeafd1e1f8efbd8240ad1cbde7ba8002748de9d8f525b970e diff --git a/sci-libs/alglib/alglib-3.20.0.ebuild b/sci-libs/alglib/alglib-3.20.0.ebuild new file mode 100644 index 000000000000..c5db3fb1f9a4 --- /dev/null +++ b/sci-libs/alglib/alglib-3.20.0.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ALGLIB_SOVER=$(ver_cut 1-2) +inherit cmake flag-o-matic + +DESCRIPTION="Numerical analysis and data processing library" +HOMEPAGE="https://www.alglib.net/" +SRC_URI="https://www.alglib.net/translator/re/${P}.cpp.gpl.tgz" +S="${WORKDIR}"/${PN}-cpp + +LICENSE="GPL-2+" +SLOT="0/${ALGLIB_SOVER}" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="test" +RESTRICT="!test? ( test )" + +src_prepare() { + cp "${FILESDIR}"/CMakeLists.txt-3.20.0 CMakeLists.txt || die + cmake_src_prepare +} + +src_configure() { + # bug #862666 + append-flags -fno-strict-aliasing + filter-lto + + use x86 && append-cflags -ffloat-store + + local mycmakeargs=( + -DALGLIB_VERSION=${PV} + -DALGLIB_SOVERSION=${ALGLIB_SOVER} + -DBUILD_TESTING=$(usex test) + ) + cmake_src_configure +} diff --git a/sci-libs/alglib/files/CMakeLists.txt-3.20.0 b/sci-libs/alglib/files/CMakeLists.txt-3.20.0 new file mode 100644 index 000000000000..cc5ebb1f8993 --- /dev/null +++ b/sci-libs/alglib/files/CMakeLists.txt-3.20.0 @@ -0,0 +1,47 @@ +cmake_minimum_required(VERSION 3.10) + +# Based on: https://src.fedoraproject.org/rpms/alglib/blob/rawhide/f/CMakeLists.txt + +set(ALGLIB_VERSION "" CACHE STRING "Package version") +set(ALGLIB_SOVERSION "" CACHE STRING "Shared library target ABI version") + +project(alglib + VERSION ${ALGLIB_VERSION} + LANGUAGES CXX +) + +include(GNUInstallDirs) +include(CTest) + +file(GLOB_RECURSE HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/*.h) +file(GLOB_RECURSE SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/*.cpp) + +add_library(alglib SHARED ${SRC}) +set_target_properties(alglib PROPERTIES + SOVERSION ${ALGLIB_SOVERSION} + VERSION ${PROJECT_VERSION} +) +target_include_directories(alglib PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src> +) + +install(TARGETS alglib) +install(FILES ${HDR} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alglib) + +if (BUILD_TESTING) + foreach(test IN ITEMS + test_c + test_i + # test_x + ) + add_executable(${test} tests/${test}.cpp) + target_compile_definitions(${test} PRIVATE + AE_USE_ALLOC_COUNTER + AE_DEBUG4POSIX + ) + target_link_libraries(${test} PRIVATE alglib) + add_test(NAME ${test} + COMMAND ${test} + ) + endforeach() +endif()
