From 35f4ae97ed57fff79575fa8acd83d8c1077acd4c Mon Sep 17 00:00:00 2001 Message-ID: <35f4ae97ed57fff79575fa8acd83d8c1077acd4c.1722933384.git.ashvithshetty10@gmail.com> In-Reply-To: References: From: Ashvith Shetty Date: Tue, 6 Aug 2024 12:19:24 +0530 Subject: [PATCH 1/1] gnu: Add C3 1.6.1. * gnu/packages/c3.scm (c3c-bootstrap): New variable. Change-Id: Ib87f17f9178307af669bb6213403ddf1efd09386 --- gnu/packages/c3.scm | 59 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 gnu/packages/c3.scm diff --git a/gnu/packages/c3.scm b/gnu/packages/c3.scm new file mode 100644 index 0000000000..431b1c0aa4 --- /dev/null +++ b/gnu/packages/c3.scm @@ -0,0 +1,59 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2024 Ashvith Shetty +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages c3) + #:use-module (gnu packages curl) + #:use-module (gnu packages libffi) + #:use-module (gnu packages llvm) + #:use-module (guix build-system cmake) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix licenses) + #:use-module (guix packages)) + +(define-public c3c-bootstrap + (package + (name "c3c") + (version "0.6.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/c3lang/c3c") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xjl3yghyqmqv9118nhcix3xywlpdirqc0dlmdaghdkja0wr19rw")) + (snippet #~(begin + (use-modules (guix build utils)) + (substitute* "CMakeLists.txt" + (("\\$\\{LLVM_LIBRARY_DIRS\\}") + (string-append #$lld-18 "/lib/ " + #$llvm-18 "/lib/"))))))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags '("-DCMAKE_INSTALL_LIBDIR=lib") + ;; TODO: Fix test + #:tests? #f)) + (inputs (list curl libffi llvm-18 lld-18)) + (synopsis "Compiler for the C3 language") + (description + "C3 is a programming language that builds on the syntax and semantics of the C language, with the goal of evolving it while still retaining familiarity for C programmers.") + (home-page "https://c3-lang.org/") + (supported-systems '("x86_64-linux" "aarch64-linux" "riscv64-linux")) + (license (list lgpl3 expat)))) -- 2.45.2