gnu: reducelcs: Fix build with gcc-14.

* gnu/packages/maths.scm (reducelcs): Fix build with gcc14.
[origin]: Use git-version and git-file-name.
[arguments]<#:phases>: Add patch-source phase.

Change-Id: I906d899700ec9805c2c4a080cb303c6e9e90a271
Signed-off-by: Andreas Enge <andreas@enge.fr>
This commit is contained in:
Hugo Buddelmeijer 2025-09-26 11:04:23 +02:00 committed by Andreas Enge
parent 9a59e74bee
commit 3c96d9fb1e
No known key found for this signature in database
GPG key ID: F7D5C9BF765C61E3

View file

@ -8210,33 +8210,44 @@ instruction sets. Thus, an application written with Vc can be compiled for:
(revision "1")) (revision "1"))
(package (package
(name "reducelcs") (name "reducelcs")
(version (string-append "1.0-" revision "." (string-take commit 7))) (version (git-version "1.0" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/gdv/Reduce-Expand-for-LCS") (url "https://github.com/gdv/Reduce-Expand-for-LCS")
(commit commit))) (commit commit)))
(file-name (string-append name "-" version "-checkout")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1rllzcfwc042c336mhq262a8ha90x6afq30kvk60r7i4761j4yjm")))) "1rllzcfwc042c336mhq262a8ha90x6afq30kvk60r7i4761j4yjm"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs (list openlibm))
(list openlibm))
(arguments (arguments
`(#:tests? #f ; no tests (list
#:tests? #f ; no tests
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(delete 'configure) ; No configure script exists. (delete 'configure) ; No configure script exists.
(add-after 'unpack 'patch-source
;; See: <https://github.com/gdv/Reduce-Expand-for-LCS/pull/1>
(lambda _
(substitute* "Approximation.c"
(("char min_alphabet,max_alphabet;\n$" all)
(string-append all "
int ExactLcs2(char lcs[MAXLEN], char *seq1, char *seq2);")))
(substitute* "GenerateInstances.c"
(("#include <float.h>" all)
(string-append all "
#include <time.h>
#include <string.h>")))))
(replace 'install ; No install phase exists. (replace 'install ; No install phase exists.
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(install-file "Approximation" bin) (install-file "Approximation" bin)
(install-file "CollectResults" bin) (install-file "CollectResults" bin)
(install-file "GenerateInstances" bin) (install-file "GenerateInstances" bin)))))))
#t))))))
(synopsis "Approximate Longest Commons Subsequence computation tool") (synopsis "Approximate Longest Commons Subsequence computation tool")
(description (description
"@code{reduceLCS} is an implementation of the Reduce-Expand "@code{reduceLCS} is an implementation of the Reduce-Expand