Package: guix-patches;
Reported by: Ashvith Shetty <ashvithshetty10 <at> gmail.com>
Date: Tue, 6 Aug 2024 11:03:01 UTC
Severity: normal
Tags: patch
Message #17 received at 72494 <at> debbugs.gnu.org (full text, mbox):
From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> To: 72494 <at> debbugs.gnu.org Cc: Ashvith Shetty <ashvithshetty10 <at> gmail.com> Subject: [PATCH v1] gnu: Add C3 1.6.1. Date: Wed, 7 Aug 2024 01:02:28 +0530
* gnu/packages/c3.scm (c3c-bootstrap): New variable. Change-Id: Ib87f17f9178307af669bb6213403ddf1efd09386 --- gnu/packages/c3.scm | 58 +++++++++++++++++++ outgoing/0000-cover-letter.patch | 22 ++++++++ outgoing/0001-gnu-Add-C3-1.6.1.patch | 84 ++++++++++++++++++++++++++++ 3 files changed, 164 insertions(+) create mode 100644 gnu/packages/c3.scm create mode 100644 outgoing/0000-cover-letter.patch create mode 100644 outgoing/0001-gnu-Add-C3-1.6.1.patch diff --git a/gnu/packages/c3.scm b/gnu/packages/c3.scm new file mode 100644 index 0000000000..bd8bf89b17 --- /dev/null +++ b/gnu/packages/c3.scm @@ -0,0 +1,58 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10 <at> gmail.com> +;;; +;;; 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 <http://www.gnu.org/licenses/>. + +(define-module (gnu packages c3) + #: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 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)))) diff --git a/outgoing/0000-cover-letter.patch b/outgoing/0000-cover-letter.patch new file mode 100644 index 0000000000..6fe6a1dbc7 --- /dev/null +++ b/outgoing/0000-cover-letter.patch @@ -0,0 +1,22 @@ +From 35f4ae97ed57fff79575fa8acd83d8c1077acd4c Mon Sep 17 00:00:00 2001 +Message-ID: <cover.1722933384.git.ashvithshetty10 <at> gmail.com> +From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> +Date: Tue, 6 Aug 2024 14:06:24 +0530 +Subject: [PATCH 0/1] Add C3 + +This patch series adds C3, which 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. + +Tests have been disabled, as I was not able to figure out on how to make it work, but I would appreciate it, if anyone is willing to improve this patch series. + +Ashvith Shetty (1): + gnu: Add C3 1.6.1. + + gnu/packages/c3.scm | 59 +++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 59 insertions(+) + create mode 100644 gnu/packages/c3.scm + + +base-commit: b20956651a53a8f23828fdeb6945e1a31e6997a8 +-- +2.45.2 + diff --git a/outgoing/0001-gnu-Add-C3-1.6.1.patch b/outgoing/0001-gnu-Add-C3-1.6.1.patch new file mode 100644 index 0000000000..93fcedbb28 --- /dev/null +++ b/outgoing/0001-gnu-Add-C3-1.6.1.patch @@ -0,0 +1,84 @@ +From 35f4ae97ed57fff79575fa8acd83d8c1077acd4c Mon Sep 17 00:00:00 2001 +Message-ID: <35f4ae97ed57fff79575fa8acd83d8c1077acd4c.1722933384.git.ashvithshetty10 <at> gmail.com> +In-Reply-To: <cover.1722933384.git.ashvithshetty10 <at> gmail.com> +References: <cover.1722933384.git.ashvithshetty10 <at> gmail.com> +From: Ashvith Shetty <ashvithshetty10 <at> gmail.com> +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 <ashvithshetty10 <at> gmail.com> ++;;; ++;;; 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 <http://www.gnu.org/licenses/>. ++ ++(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 + -- 2.45.2
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.