From patchwork Sat Nov 16 09:13:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: dan X-Patchwork-Id: 70443 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2D97727BBE9; Sat, 16 Nov 2024 09:14:27 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 160D627BBE2 for ; Sat, 16 Nov 2024 09:14:25 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tCEsW-0007TJ-Iz; Sat, 16 Nov 2024 04:14:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tCEsU-0007T7-Vt for guix-patches@gnu.org; Sat, 16 Nov 2024 04:14:03 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tCEsU-0003lU-NX for guix-patches@gnu.org; Sat, 16 Nov 2024 04:14:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:Subject; bh=JiLVDWOgrM8WU/IU7rKWaijahobU8/ntKJx34AHEONA=; b=CUIa5jnrt4uDhCiWMm+t7ZqCfLioED3Edgu3JaSTf5T5PNpoDOfQYaSAOsr8sRTDuNR24XTNnO5/wLtbD/+NwTacSDYa2xFc04QeTuWjGCqnuNNMPzwalY8urkcX9SwRXbghjwmAjaubRBAPQPw940bMgnZxkpmr1AZVbVpdAVNzjhBh1H4E8oY3RP82m+isCkbBkrgP4pAlns/OoaEYnXRExsQG7+O//otxpQ4hDEzxCrraw3Ra6uCRaHHCdwavzVnMtCjq31dSVSQO87gDynuvCki448l37vrBxjsPJNTu6igHXGfdOJmKHAqOiCneDttrORyqoTexbMo9yEGiKg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tCEsU-0007at-Ia for guix-patches@gnu.org; Sat, 16 Nov 2024 04:14:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#74380] [PATCH 1/2] gnu: Add llvm-19. Resent-From: dan Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 16 Nov 2024 09:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 74380 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 74380@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.173174844029172 (code B ref -1); Sat, 16 Nov 2024 09:14:02 +0000 Received: (at submit) by debbugs.gnu.org; 16 Nov 2024 09:14:00 +0000 Received: from localhost ([127.0.0.1]:52091 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tCEsS-0007aS-2U for submit@debbugs.gnu.org; Sat, 16 Nov 2024 04:14:00 -0500 Received: from lists.gnu.org ([209.51.188.17]:43674) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tCEsP-0007aG-CI for submit@debbugs.gnu.org; Sat, 16 Nov 2024 04:13:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tCEsO-0007Sh-Rk for guix-patches@gnu.org; Sat, 16 Nov 2024 04:13:56 -0500 Received: from fhigh-b8-smtp.messagingengine.com ([202.12.124.159]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tCEsM-0003kj-Mn for guix-patches@gnu.org; Sat, 16 Nov 2024 04:13:56 -0500 Received: from phl-compute-09.internal (phl-compute-09.phl.internal [10.202.2.49]) by mailfhigh.stl.internal (Postfix) with ESMTP id 5AF48254012D for ; Sat, 16 Nov 2024 04:13:51 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-09.internal (MEProxy); Sat, 16 Nov 2024 04:13:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dan.games; h=cc :content-transfer-encoding:content-type:date:date:from:from :in-reply-to:message-id:mime-version:reply-to:subject:subject:to :to; s=fm1; t=1731748431; x=1731834831; bh=JiLVDWOgrM8WU/IU7rKWa ijahobU8/ntKJx34AHEONA=; b=SJSdHaxstdVDu6Px8dBIiet2ZuRmOo/xtaa0N KsK3luCSK9fFVjFGj046eh8Ng0CrSE/XIMIzaqRQJI/cGhwvywF1K4Bolf4ZNonm oCHpBYgHulpmnxGvfXra2pH44eTTmhx8PaT6wH7Qa6EqcYJOzxZZYm5erNU/MvaK 7MArn0Whe+Nt02MsDyySrpeBHjRnziZk+aNrb7BjtDTWQ9g9lb5yD52oyAQpG6Hk hiUnYUFIogwqdoJ66Eaae6wKei47HFZmZpEJH9HEh06IQuQt507ty6CykVvbzNAQ eNym+cN9Ct0a2Ve0gVL+ya8FdDVShMMD+otjjV1+8OzkOREug== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:feedback-id:feedback-id:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1731748431; x=1731834831; bh=JiLVDWOgrM8WU/IU7rKWaijahobU8/ntKJx 34AHEONA=; b=fZS187GIDx6R4DOvoleDmwCBSiaVUYG/NSSoj+CJNYyMu6unH1C Oa8CSiH587VOwRHNpSuPBP9ZWdH4mAILhxsiMkTY1WrnuZFePjviNzvJ0lMbojTI s/XLiEw65GaDkMkTqWKKNHeLHVm7MmX0uPXRNplwkgbiecNRm6vl8Y/vH/Y2VaK7 PxjePiEx6b4yHjbe+HB0WfaceTcDHvsPBS0Ix9YZoslVsiJ+htgWDtRfpaUY94gj LqgpRDUBLE9qCEPbI3HUla2xrUq5HM8MZcDuLX+tJNI+pJTjzq5v6eA4SQrmeV1K HXq9xGmqOtzXu3E1lQ/MLDdvBjNmeNkcukA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrvdeiucetufdoteggodetrfdotffvucfrrh hofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfurfetoffk rfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkofgggf estdekredtredttdenucfhrhhomhepuggrnhcuoehisegurghnrdhgrghmvghsqeenucgg tffrrghtthgvrhhnpeduuefgkeevudejudetgfekhfeigfehffefheelvddtffehtedvje evkeejkefgkeenucffohhmrghinhepghhithhhuhgsrdgtohhmnecuvehluhhsthgvrhfu ihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepihesuggrnhdrghgrmhgvshdpnh gspghrtghpthhtohepuddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepghhuihig qdhprghttghhvghssehgnhhurdhorhhg X-ME-Proxy: Feedback-ID: i3b5946ed:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Sat, 16 Nov 2024 04:13:49 -0500 (EST) From: dan Date: Sat, 16 Nov 2024 17:13:26 +0800 Message-ID: X-Mailer: git-send-email 2.46.0 MIME-Version: 1.0 Received-SPF: pass client-ip=202.12.124.159; envelope-from=i@dan.games; helo=fhigh-b8-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/llvm.scm (clang-runtime-from-llvm)[native-inputs]: When building clang-runtime-19 or newer use gcc-14. (clang-from-llvm)[#:configure-flags]: When building clang-19 or newer, pass in USE_DEPRECATED_GCC_INSTALL_PREFIX. (%llvm-monorepo-hashes): Add entry for llvm-19. (llvm-19, clang-runtime-19, clang-19, libomp-19, clang-toolchain-19): New variables. Change-Id: I55630c3ecd2e6caa4237f28ac9f41726ed09eec4 --- gnu/packages/llvm.scm | 59 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) base-commit: 3e8d3d80f41e016cdfe80e488a78c2351c94fef8 diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index c6566a3339..1b3fd27dd6 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -154,7 +154,12 @@ (define* (clang-runtime-from-llvm llvm (llvm-monorepo (package-version llvm)))) (build-system cmake-build-system) (native-inputs - (cond ((version>=? version "18") + (cond ((version>=? version "19") + ;; TODO: Remove this when GCC 14 is the default. + ;; libfuzzer fails to build with GCC 13 + (modify-inputs (package-native-inputs llvm) + (prepend gcc-14))) + ((version>=? version "18") ;; TODO: Remove this when GCC 13 is the default. ;; libfuzzer fails to build with GCC 12 (modify-inputs (package-native-inputs llvm) @@ -261,6 +266,11 @@ (define* (clang-from-llvm llvm clang-runtime `(#:configure-flags (list "-DCLANG_INCLUDE_TESTS=True" + ;; TODO: Use --gcc-install-dir when GCC_INSTALL_PREFIX is + ;; removed. See: https://github.com/llvm/llvm-project/pull/77537 + ,@(if (version>=? version "19") + '("-DUSE_DEPRECATED_GCC_INSTALL_PREFIX=ON") + '()) ;; Find libgcc_s, crtbegin.o, and crtend.o. (string-append "-DGCC_INSTALL_PREFIX=" (assoc-ref %build-inputs "gcc-lib")) @@ -552,7 +562,8 @@ (define %llvm-monorepo-hashes ("15.0.7" . "12sggw15sxq1krh1mfk3c1f07h895jlxbcifpwk3pznh4m1rjfy2") ("16.0.6" . "0jxmapg7shwkl88m4mqgfjv4ziqdmnppxhjz6vz51ycp2x4nmjky") ("17.0.6" . "1a7rq3rgw5vxm8y39fyzr4kv7w97lli4a0c1qrkchwk8p0n07hgh") - ("18.1.8" . "1l9wm0g9jrpdf309kxjx7xrzf13h81kz8bbp0md14nrz38qll9la"))) + ("18.1.8" . "1l9wm0g9jrpdf309kxjx7xrzf13h81kz8bbp0md14nrz38qll9la") + ("19.1.3" . "051miidbiqz4d2m1kk5w2am0hayjymbvc9pgjcjq7cadwbap8k1m"))) (define %llvm-patches '(("14.0.6" . ("clang-14.0-libc-search-path.patch" @@ -565,6 +576,8 @@ (define %llvm-patches ("17.0.6" . ("clang-17.0-libc-search-path.patch" "clang-17.0-link-dsymutil-latomic.patch")) ("18.1.8" . ("clang-18.0-libc-search-path.patch" + "clang-17.0-link-dsymutil-latomic.patch")) + ("19.1.3" . ("clang-18.0-libc-search-path.patch" "clang-17.0-link-dsymutil-latomic.patch")))) (define (llvm-monorepo version) @@ -1536,6 +1549,48 @@ (define-public libomp-18 (define-public clang-toolchain-18 (make-clang-toolchain clang-18 libomp-18)) +(define-public llvm-19 + (package + (inherit llvm-15) + (version "19.1.3") + (source (llvm-monorepo version)) + (arguments + (substitute-keyword-arguments (package-arguments llvm-15) + ;; The build daemon goes OOM on i686-linux on this phase. + ((#:phases phases #~'%standard-phases) + (if (target-x86-32?) + #~(modify-phases #$phases + (delete 'make-dynamic-linker-cache)) + phases)))))) + +(define-public clang-runtime-19 + (clang-runtime-from-llvm llvm-19)) + +(define-public clang-19 + (clang-from-llvm + llvm-19 clang-runtime-19 + #:tools-extra + (origin + (method url-fetch) + (uri (llvm-uri "clang-tools-extra" + (package-version llvm-19))) + (sha256 + (base32 + "0ig3syx0m9hcjzr4yl568jv2rz3haadgr9nhv8jv0gspx55ywn33"))))) + +(define-public libomp-19 + (package + (inherit libomp-15) + (version (package-version llvm-19)) + (source (llvm-monorepo version)) + (native-inputs + (modify-inputs (package-native-inputs libomp-15) + (replace "clang" clang-19) + (replace "llvm" llvm-19))))) + +(define-public clang-toolchain-19 + (make-clang-toolchain clang-19 libomp-19)) + ;; Default LLVM and Clang version. (define-public libomp libomp-13) (define-public llvm llvm-13)