From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 1C3E3158042 for ; Sun, 20 Oct 2024 12:00:51 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 32B59E0844; Sun, 20 Oct 2024 12:00:50 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 0EEFAE0844 for ; Sun, 20 Oct 2024 12:00:50 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id DB8623430A4 for ; Sun, 20 Oct 2024 12:00:48 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id E2A5F1ACF for ; Sun, 20 Oct 2024 12:00:46 +0000 (UTC) From: "Andrew Ammerlaan" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andrew Ammerlaan" Message-ID: <1729425421.dfb63cf60c75563bf69670cd168a16d2d4d8324c.andrewammerlaan@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/kissfft/ X-VCS-Repository: repo/gentoo X-VCS-Files: sci-libs/kissfft/kissfft-131.1.0-r2.ebuild sci-libs/kissfft/kissfft-9999.ebuild sci-libs/kissfft/metadata.xml X-VCS-Directories: sci-libs/kissfft/ X-VCS-Committer: andrewammerlaan X-VCS-Committer-Name: Andrew Ammerlaan X-VCS-Revision: dfb63cf60c75563bf69670cd168a16d2d4d8324c X-VCS-Branch: master Date: Sun, 20 Oct 2024 12:00:46 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 233fe45b-61b9-43b7-8cb7-1bb849b4b905 X-Archives-Hash: 315c4437227c978949f41ba689c30bb3 commit: dfb63cf60c75563bf69670cd168a16d2d4d8324c Author: Violet Purcell inventati org> AuthorDate: Sat Oct 19 16:06:31 2024 +0000 Commit: Andrew Ammerlaan gentoo org> CommitDate: Sun Oct 20 11:57:01 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dfb63cf6 sci-libs/kissfft: allow parallel installation of multiple datatypes KissFFT can be built for five different primary datatypes: float, double, int16_t, int32_t, and SIMD. Currently, we build the float datatype by default and instead use SIMD if cpu_flags_x86_sse is enabled. This can lead to awkwardness in programs that expect KissFFT to be built with a specific data type, such as media-sound/TauonMusicBox in GURU, which currently is forced to depend on sci-libs/kissfft[-cpu_flags_x86_sse], which forces a rather irritating package.use entry for anyone on an amd64 CPU who has set CPU_FLAGS_X86 accordingly. Instead, always build the float datatype, and additionally build the SIMD datatype based on cpu_flags_x86_sse. Also add USE flags to enable the building of the double, int16_t, and int32_t variants, which may enable more unbundling of KissFFT from other packages. Signed-off-by: Violet Purcell inventati.org> Closes: https://github.com/gentoo/gentoo/pull/39045 Signed-off-by: Andrew Ammerlaan gentoo.org> ...ssfft-9999.ebuild => kissfft-131.1.0-r2.ebuild} | 28 ++++++++++++++++++---- sci-libs/kissfft/kissfft-9999.ebuild | 28 ++++++++++++++++++---- sci-libs/kissfft/metadata.xml | 3 +++ 3 files changed, 51 insertions(+), 8 deletions(-) diff --git a/sci-libs/kissfft/kissfft-9999.ebuild b/sci-libs/kissfft/kissfft-131.1.0-r2.ebuild similarity index 71% copy from sci-libs/kissfft/kissfft-9999.ebuild copy to sci-libs/kissfft/kissfft-131.1.0-r2.ebuild index 14e039c7eec1..8d8b1bb59f38 100644 --- a/sci-libs/kissfft/kissfft-9999.ebuild +++ b/sci-libs/kissfft/kissfft-131.1.0-r2.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{9..12} ) -inherit cmake python-any-r1 toolchain-funcs +inherit cmake multibuild python-any-r1 toolchain-funcs DESCRIPTION="A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid" HOMEPAGE="https://github.com/mborgerding/kissfft" @@ -20,7 +20,7 @@ fi LICENSE="BSD" SLOT="0" -IUSE="alloca cpu_flags_x86_sse openmp test tools" +IUSE="alloca cpu_flags_x86_sse double int16 int32 openmp test tools" RESTRICT="!test? ( test )" DEPEND=" @@ -46,18 +46,38 @@ pkg_pretend() { } pkg_setup() { + MULTIBUILD_VARIANTS=( + float + $(usev double) + $(usev int16 int16_t) + $(usev int32 int32_t) + $(usev cpu_flags_x86_sse simd) + ) + use test && python-any-r1_pkg_setup [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp } -src_configure() { +kissfft_configure() { local mycmakeargs=( -DKISSFFT_OPENMP=$(usex openmp 1 0) -DKISSFFT_TEST=$(usex test) -DKISSFFT_TOOLS=$(usex tools) -DKISSFFT_USE_ALLOCA=$(usex alloca) - -DKISSFFT_DATATYPE=$(usex cpu_flags_x86_sse simd float) + -DKISSFFT_DATATYPE=${MULTIBUILD_VARIANT} ) cmake_src_configure } + +src_configure() { + multibuild_foreach_variant kissfft_configure +} + +src_compile() { + multibuild_foreach_variant cmake_src_compile +} + +src_install() { + multibuild_foreach_variant cmake_src_install +} diff --git a/sci-libs/kissfft/kissfft-9999.ebuild b/sci-libs/kissfft/kissfft-9999.ebuild index 14e039c7eec1..8d8b1bb59f38 100644 --- a/sci-libs/kissfft/kissfft-9999.ebuild +++ b/sci-libs/kissfft/kissfft-9999.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{9..12} ) -inherit cmake python-any-r1 toolchain-funcs +inherit cmake multibuild python-any-r1 toolchain-funcs DESCRIPTION="A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid" HOMEPAGE="https://github.com/mborgerding/kissfft" @@ -20,7 +20,7 @@ fi LICENSE="BSD" SLOT="0" -IUSE="alloca cpu_flags_x86_sse openmp test tools" +IUSE="alloca cpu_flags_x86_sse double int16 int32 openmp test tools" RESTRICT="!test? ( test )" DEPEND=" @@ -46,18 +46,38 @@ pkg_pretend() { } pkg_setup() { + MULTIBUILD_VARIANTS=( + float + $(usev double) + $(usev int16 int16_t) + $(usev int32 int32_t) + $(usev cpu_flags_x86_sse simd) + ) + use test && python-any-r1_pkg_setup [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp } -src_configure() { +kissfft_configure() { local mycmakeargs=( -DKISSFFT_OPENMP=$(usex openmp 1 0) -DKISSFFT_TEST=$(usex test) -DKISSFFT_TOOLS=$(usex tools) -DKISSFFT_USE_ALLOCA=$(usex alloca) - -DKISSFFT_DATATYPE=$(usex cpu_flags_x86_sse simd float) + -DKISSFFT_DATATYPE=${MULTIBUILD_VARIANT} ) cmake_src_configure } + +src_configure() { + multibuild_foreach_variant kissfft_configure +} + +src_compile() { + multibuild_foreach_variant cmake_src_compile +} + +src_install() { + multibuild_foreach_variant cmake_src_install +} diff --git a/sci-libs/kissfft/metadata.xml b/sci-libs/kissfft/metadata.xml index 9cc777a3ea9c..5ffd94eab047 100644 --- a/sci-libs/kissfft/metadata.xml +++ b/sci-libs/kissfft/metadata.xml @@ -7,6 +7,9 @@ Use alloca(3) instead of malloc(3) for memory management + Build library for primary data type of double + Build library for primary data type of int16_t + Build library for primary data type of int32_t Build command line tools