gnu: Add make-llvm procedure.

* gnu/packages/llvm.scm (make-llvm): New procedure.
(llvm-15): Rewrite using make-llvm.

Change-Id: I8f7d7bd5cf8bbe86af8f4a75bf8aec09074c07dc
This commit is contained in:
Efraim Flashner 2025-01-26 16:01:30 +02:00
parent b821b3bedc
commit deb3562384
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -594,11 +594,12 @@ output), and Binutils.")
(sha256 (base32 (assoc-ref %llvm-monorepo-hashes version))) (sha256 (base32 (assoc-ref %llvm-monorepo-hashes version)))
(patches (map search-patch (assoc-ref %llvm-patches version))))) (patches (map search-patch (assoc-ref %llvm-patches version)))))
;;; TODO: Make the base llvm all other LLVM inherit from on core-updates. ;; A base llvm package that can be used for creating other llvm packages.
(define-public llvm-15 (define make-llvm
(mlambda (version)
(package (package
(name "llvm") (name "llvm")
(version "15.0.7") (version version)
(source (llvm-monorepo version)) (source (llvm-monorepo version))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "opt-viewer")) (outputs '("out" "opt-viewer"))
@ -661,7 +662,10 @@ front-ends derived from GCC 4.0.1. A new front-end for the C family of
languages is in development. The compiler infrastructure includes mirror sets languages is in development. The compiler infrastructure includes mirror sets
of programming tools as well as libraries with equivalent functionality.") of programming tools as well as libraries with equivalent functionality.")
(license license:asl2.0) (license license:asl2.0)
(properties `((release-monitoring-url . ,%llvm-release-monitoring-url))))) (properties `((release-monitoring-url . ,%llvm-release-monitoring-url))))))
(define-public llvm-15
(make-llvm "15.0.7"))
(define-public llvm-14 (define-public llvm-14
(package (package