From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 07 03:06:51 2021 Received: (at submit) by debbugs.gnu.org; 7 Sep 2021 07:06:51 +0000 Received: from localhost ([127.0.0.1]:55327 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNVBy-0007uf-W0 for submit@debbugs.gnu.org; Tue, 07 Sep 2021 03:06:51 -0400 Received: from lists.gnu.org ([209.51.188.17]:55278) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNTZY-0002vz-L5 for submit@debbugs.gnu.org; Tue, 07 Sep 2021 01:23:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42564) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNTZY-0008VC-FJ for guix-patches@gnu.org; Tue, 07 Sep 2021 01:23:04 -0400 Received: from mail-qt1-x82d.google.com ([2607:f8b0:4864:20::82d]:44563) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mNTZU-0004HJ-0z for guix-patches@gnu.org; Tue, 07 Sep 2021 01:23:01 -0400 Received: by mail-qt1-x82d.google.com with SMTP id r21so6995086qtw.11 for ; Mon, 06 Sep 2021 22:22:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=M+rA8+3Q2/reHSlhbHhBlqj72CCeyLhcHpj9j7Qi7kw=; b=SwCI4aN1EUHaIe7x3WjxQCJlqZ9d9yyj+f7hzCEgqJI9ZbxxNqDnURLhJbfACxl2Ym z8Za7i4IB33cGmp9WCJ9V2nuflpAzgpSKflBNyD+Tx2dBcEFEHf1X89Aig9VzuxmH36W OmkZ3NWkUCs2qnCJIniTFIsjWnQADlc3rCDl7E1TqxEXc8ZYq0U+UrU+RmOXrctQ5Ann R6tL1tt0GIgm1vX7qw/bnQf+b4t6diqG5o6azRzK0asLLBkFFr6kxIimz7NKPzXxQCBQ EojknJFBgGUzovfofxuGezU8kC3UBmcyQHXzvkc3QFS3Gqp8dr1AMYDZ0bi3qrxmDQCA ipBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=M+rA8+3Q2/reHSlhbHhBlqj72CCeyLhcHpj9j7Qi7kw=; b=Hrzn7SieRsUPHLa55VFLUhNN4T2E10GUPF3eXWHF1NXaKdlBgTUtaVNWzKzinmDgHW 8kMfpV7lJ3IqpHO9DYffXXvLFGCMZRrTspsUr+qlCP53A9YEyZIBpBoxxYwPB1xje4C9 VGnJ1gRatRVP6tFkRH2/53IChK4L0jAonqQDJ4RJ1eiqfByEyl8r9urkzDxYUYPmq3Qu qs+TVGCJTp1L4qyihe9F+KyBNZ3C2mwKVCkh8gQ16RbJFOKyozLG3WbLdDK4L/PdIWHU z/CCjQVtNRxRcv7XfWJQsnaEuMrDe2isHXxOqEvdQDoKJILODqjFp7l7G06sLBCP0M/r 4ucQ== X-Gm-Message-State: AOAM53113Px++iK2T4pNH9RCDKJxl6+QlUWlethGMKwhFmWvSzu6PaN0 TyLr9cC68kOeV0Pt2JZaPs+16R8q2Yk31Q== X-Google-Smtp-Source: ABdhPJwrRFsMQSc1brvQZr8zHh/67SmU77+iUvCbNh/tAo240vGFOtUhlRoeIjhyKsEMzJrvl5aq3w== X-Received: by 2002:ac8:24e:: with SMTP id o14mr13972082qtg.42.1630992178103; Mon, 06 Sep 2021 22:22:58 -0700 (PDT) Received: from localhost.localdomain ([2601:5c6:8000:98:4364:bb79:1fd4:2c19]) by smtp.gmail.com with ESMTPSA id s16sm6630184qtq.31.2021.09.06.22.22.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Sep 2021 22:22:57 -0700 (PDT) From: Andrew Patterson To: guix-patches@gnu.org Subject: [PATCH] Add zig Date: Tue, 7 Sep 2021 01:22:28 -0400 Message-Id: <20210907052228.20761-1-andrewpatt7@gmail.com> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::82d; envelope-from=andrewpatt7@gmail.com; helo=mail-qt1-x82d.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 07 Sep 2021 03:06:50 -0400 Cc: Andrew Patterson X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) --- Note that this is a minor version behind; zig 0.8.0 depends on all the clang headers version 12.x, and the current version of lld is 11.x. gnu/packages/zig.scm | 73 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 gnu/packages/zig.scm diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm new file mode 100644 index 0000000000..bb8af0c98d --- /dev/null +++ b/gnu/packages/zig.scm @@ -0,0 +1,73 @@ +(define-module (gnu packages zig) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module ((guix licenses) #:prefix l:) + #:use-module (guix build utils) + #:use-module (gnu packages) + #:use-module (gnu packages llvm) + #:use-module (guix utils)) + +;; Zig versions depend on specific LLVM major versions; should be able to update +;; to 0.8.x with lld@12 +(define-public zig + (package + (name "zig") + (version "0.7.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ziglang/zig") + (commit version))) + (sha256 + (base32 + "0gq8xjqr3n38i2adkv9vf936frac80wh72dvhh4m5s66yafmhphg")))) + (build-system cmake-build-system) + (inputs + `(("llvm" ,llvm-11) + ("clang-toolchain" ,clang-toolchain-11) + ("lld" ,lld))) ; is currently version 11 + (arguments + `(#:tests? #f + #:phases (modify-phases %standard-phases + (add-before 'install 'set-cachedir + (lambda* _ ;; See [[https://github.com/ziglang/zig/issues/6810]] + (setenv "XDG_CACHE_HOME" "/tmp/")))))) + (home-page "https://ziglang.org/") + (synopsis + "Programming language for maintaining robust, optimal, and reusable software") + (description + "Zig is a general-purpose programming language and toolchain for +maintaining robust, optimal, and reusable software. + +⚡ A Simple Language + +Focus on debugging your application rather than debugging your programming +language knowledge. +@itemize @bullet +@item No hidden control flow. +@item No hidden memory allocations. +@item No preprocessor, no macros. +@end itemize + +⚡ Comptime + +A fresh approach to metaprogramming based on compile-time code execution and +lazy evaluation. +@itemize @bullet +@item Call any function at compile-time. +@item Manipulate types as values without runtime overhead. +@item Comptime emulates the target architecture. +@end itemize + +⚡ Performance Meets Safety + +Write fast, clear code capable of handling all error conditions. +@itemize @bullet +@item The language gracefully guides your error handling logic. +@item Configurable runtime checks help you strike a balance between performance +and safety guarantees. +@item Take advantage of vector types to express SIMD instructions portably. +@end itemize") + (license l:expat))) -- 2.33.0 From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 07 13:21:33 2021 Received: (at 50449) by debbugs.gnu.org; 7 Sep 2021 17:21:33 +0000 Received: from localhost ([127.0.0.1]:57539 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNemq-0001sA-Q4 for submit@debbugs.gnu.org; Tue, 07 Sep 2021 13:21:33 -0400 Received: from mail-qt1-f180.google.com ([209.85.160.180]:45761) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNemo-0001rq-UO for 50449@debbugs.gnu.org; Tue, 07 Sep 2021 13:21:31 -0400 Received: by mail-qt1-f180.google.com with SMTP id s32so8552189qtc.12 for <50449@debbugs.gnu.org>; Tue, 07 Sep 2021 10:21:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3ERwgVvWoxHjO9SWbghbc6mhdzkgGIom1gL9E0GO3qc=; b=KgI/dnbVUfNem0FFLGUii2frKlzG9pVDxI6RomxcoCHdAuHMuDrscoe50aRpa+JbYe 9tgEiVTFb6QQH50VTY8C6pmD+9jK2Q9/33tMbbEj8FHDxBxaTrNueDjm7pJb1z3psYMf hLbnMUUOJn+68Y2Rcs1ZkORYBnq8p11MmITaSyQSept9oHCTJnrWR3zLTr6I727/gQ4I 3XmzckPqXJlNYl282JwJH/8xiz5TNCYtPDKT4EJjF4xJozVlA4xtPIx8+KWY+JG18/vN siDImqhy5RFTV8Ha6e4X3dxGK93dMPxilBzF5RbEz+J4rkSHxyU08FoI9xMICSbMLrRN O2MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3ERwgVvWoxHjO9SWbghbc6mhdzkgGIom1gL9E0GO3qc=; b=MQwfQugLuAhdSKvotxJI9IBARqNf6rr3gHZsRU4kWoSc8m/Y2zkpFVjzM8Kz0XZsVO Wvq1PB/8wb/WVN/jnOLzS3crD5aU1VlDriXUrCdOIJseYHlZKCTuYDQnIODTBuyEEpkI 1UGemP0oQcxS6golGYlbvkXdQzT2eWWO6gf9l4EWUO5dDniveGOrKKwnhZhNr3XEQcSP sh86ACk/TIlwWiTAVYWZwI/mt3G0xlp+GubW4r4PRwS2eUpK2TomJ1fznkVWpc5uyHgk 6tP8JWkzzZ5Mt4vhvu/cevqzJeMbYMd/w5yAVyUzMVy5abfD0I3YZ3NO8/NQrivB2jbS 8w0g== X-Gm-Message-State: AOAM530Dlsb4d0mijwWkIrVFp3kgvhUlM9awyEi7O7AFTlQC/fYrGUic y9Uv6k+F3jds76zbOsP3SI3CP91JfAg= X-Google-Smtp-Source: ABdhPJx1uU5HV3GCem7hyfYJWOYB6/VYUOXsWnSMufdXIqTNOG5XH3q3//W8u8L/jb0B13uQHBnJlg== X-Received: by 2002:ac8:5981:: with SMTP id e1mr16194699qte.358.1631035285140; Tue, 07 Sep 2021 10:21:25 -0700 (PDT) Received: from kalantha.lynchburg.edu ([161.115.86.198]) by smtp.gmail.com with ESMTPSA id h70sm9450075qke.54.2021.09.07.10.21.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Sep 2021 10:21:24 -0700 (PDT) From: Andrew Patterson To: 50449@debbugs.gnu.org Subject: [PATCH] Add zig Date: Tue, 7 Sep 2021 13:21:05 -0400 Message-Id: <20210907172105.8681-1-andrewpatt7@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 50449 Cc: Andrew Patterson X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) --- I forgot the copyright header last time; here it is with it. gnu/packages/zig.scm | 91 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 gnu/packages/zig.scm diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm new file mode 100644 index 0000000000..59056a1f88 --- /dev/null +++ b/gnu/packages/zig.scm @@ -0,0 +1,91 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Andrew Patterson +;;; +;;; 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 zig) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module ((guix licenses) #:prefix l:) + #:use-module (guix build utils) + #:use-module (gnu packages) + #:use-module (gnu packages llvm) + #:use-module (guix utils)) + +;; Zig versions depend on specific LLVM major versions; should be able to update +;; to 0.8.x with lld@12 +(define-public zig + (package + (name "zig") + (version "0.7.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ziglang/zig") + (commit version))) + (sha256 + (base32 + "0gq8xjqr3n38i2adkv9vf936frac80wh72dvhh4m5s66yafmhphg")))) + (build-system cmake-build-system) + (inputs + `(("llvm" ,llvm-11) + ("clang-toolchain" ,clang-toolchain-11) + ("lld" ,lld))) ; is currently version 11 + (arguments + `(#:tests? #f + #:phases (modify-phases %standard-phases + (add-before 'install 'set-cachedir + (lambda* _ ;; See [[https://github.com/ziglang/zig/issues/6810]] + (setenv "XDG_CACHE_HOME" "/tmp/")))))) + (home-page "https://ziglang.org/") + (synopsis + "Programming language for maintaining robust, optimal, and reusable software") + (description + "Zig is a general-purpose programming language and toolchain for +maintaining robust, optimal, and reusable software. + +⚡ A Simple Language + +Focus on debugging your application rather than debugging your programming +language knowledge. +@itemize @bullet +@item No hidden control flow. +@item No hidden memory allocations. +@item No preprocessor, no macros. +@end itemize + +⚡ Comptime + +A fresh approach to metaprogramming based on compile-time code execution and +lazy evaluation. +@itemize @bullet +@item Call any function at compile-time. +@item Manipulate types as values without runtime overhead. +@item Comptime emulates the target architecture. +@end itemize + +⚡ Performance Meets Safety + +Write fast, clear code capable of handling all error conditions. +@itemize @bullet +@item The language gracefully guides your error handling logic. +@item Configurable runtime checks help you strike a balance between performance +and safety guarantees. +@item Take advantage of vector types to express SIMD instructions portably. +@end itemize") + (license l:expat))) -- 2.33.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 06:11:57 2021 Received: (at 50449) by debbugs.gnu.org; 8 Sep 2021 10:11:58 +0000 Received: from localhost ([127.0.0.1]:58723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNuYf-0001jM-G0 for submit@debbugs.gnu.org; Wed, 08 Sep 2021 06:11:57 -0400 Received: from mail-qt1-f170.google.com ([209.85.160.170]:44616) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNuYd-0001j9-HX for 50449@debbugs.gnu.org; Wed, 08 Sep 2021 06:11:56 -0400 Received: by mail-qt1-f170.google.com with SMTP id r21so1323275qtw.11 for <50449@debbugs.gnu.org>; Wed, 08 Sep 2021 03:11:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3w3pXynqyMpK+dZuCGGAxLDLrI75vLHna6aKcVw2CJM=; b=hHZDi8qLNHZ86gOBypo9JDUu5m3tJ8MSbA3RjRqPFe3oM4H0QRQYjerSLN8stJ4Hwx VbWxFIfH8dC4HbjS+2kaOAJoVj9DkVFjXwXFAdCgP31zvp7G4BrQ/F60BaOB6e+8duuK lxD8OKYXg7J8zRWU36Ik+ohr4VynDvr7rdSo5xmCgs9C7Xx0HeNBVcviqm6sNAeNn1CX LCtW3Cr3tlu1iLWeK4ErbxQVF0y+J6AZTqXfdAPq+WSNaruiWkm3NRo+IZzpXP6u4JFq gs7JR4hPOsRKKZbISV4ci/y4tyzJwbUquqO2FD0R7TIPk9LiWsACi9+llnVUWsjO+HPN wXDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3w3pXynqyMpK+dZuCGGAxLDLrI75vLHna6aKcVw2CJM=; b=NXNBcx2d9hiQvdDzXrdo2yM1N0873uyMK9wsNaOyn7RHOhukC7RTQI9/Ua1XvVy3xB 5cKI19tFqzpR37HiLyvxG1U9nPwdLoreE9f4cxIDl6F3rBLGOqCJebAzgwY6Zd8NWITe N+6O3+QlBN1XexG+FWJzu4+JXcq3g3TKYe8QZN/RfIOMhCGRNNz1qrnUuX9TDOOMqv2b cbP4UhMW6OfVSvstUs87HBuQ5WnNQ+gvftj+mphibJ3W0EyOGmb8hK8m2Q38OpoIhTlc ZUT2D5aKT22/B5LnX1x2oNPObFhLtH6nKaqA1AeM9GskjAQPowaQPInvlFR2g4YntLL1 r7qA== X-Gm-Message-State: AOAM531SQnxTEyMDUGgg8xeP/0MTm9usRi/IrOFYnInSlgFGbDLHH1g4 VuO3pPupPxEQrDYzJsU2eSxq/T0ZGdNSWg== X-Google-Smtp-Source: ABdhPJwXMd9pN4UEXcPCxPYwHiIcrjrRgioa6fUvlPSjNgHmZQ6jVG6tPlKJaDkqUU1teE51SP1oxA== X-Received: by 2002:ac8:4818:: with SMTP id g24mr2779563qtq.328.1631095909803; Wed, 08 Sep 2021 03:11:49 -0700 (PDT) Received: from localhost.localdomain ([2601:5c6:8000:98:4364:bb79:1fd4:2c19]) by smtp.gmail.com with ESMTPSA id o4sm1187269qti.24.2021.09.08.03.11.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Sep 2021 03:11:48 -0700 (PDT) From: Andrew Patterson To: 50449@debbugs.gnu.org Subject: [PATCH] Add zig Date: Wed, 8 Sep 2021 06:11:24 -0400 Message-Id: <20210908101125.31895-1-andrewpatt7@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210907172105.8681-1-andrewpatt7@gmail.com> References: <20210907172105.8681-1-andrewpatt7@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 50449 Cc: Andrew Patterson X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) --- Confusion between my main guix install and what I'm working on led to issues. Current status as to the Submitting Paches checklist in the info page: 1. That's the hash for 0.7.1 2. I've added a synopsis and description 3. I don't know what ~guix lint~'s complaint that "the source file name should contain the package name" means; otherwise, it's fine 4. It builds on x64 linux. 5. I haven't tried to build it on other platforms; the inputs might need to be native-inputs, but I'm not sure 6. It has a bundled libc, but that's because zig has a c compiler built in for some reason. 7. The ~guix size~ output seems reasonable. 8. There shouldn't be any dependent packages, since it's new. 9. ~guix build --rounds=2 zig~ worked fine. 10. Not relevant. 11. The patch is all adding zig. 12. I wrote the patch in emacs, so the indentation should be fine. 13. I don't think there are mirror urls for github? gnu/packages/zig.scm | 91 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 gnu/packages/zig.scm diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm new file mode 100644 index 0000000000..ba48fcf51f --- /dev/null +++ b/gnu/packages/zig.scm @@ -0,0 +1,91 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Andrew Patterson +;;; +;;; 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 zig) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module ((guix licenses) #:prefix l:) + #:use-module (guix build utils) + #:use-module (gnu packages) + #:use-module (gnu packages llvm) + #:use-module (guix utils)) + +;; Zig versions depend on specific LLVM major versions; should be able to update +;; to 0.8.x with lld@12 +(define-public zig + (package + (name "zig") + (version "0.7.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ziglang/zig") + (commit version))) + (sha256 + (base32 + "1z6c4ym9jmga46cw2arn7zv2drcpmrf3vw139gscxp27n7q2z5md")))) + (build-system cmake-build-system) + (inputs + `(("llvm" ,llvm-11) + ("clang-toolchain" ,clang-toolchain-11) + ("lld" ,lld))) ; is currently version 11 + (arguments + `(#:tests? #f + #:phases (modify-phases %standard-phases + (add-before 'install 'set-cachedir + (lambda* _ ;; See [[https://github.com/ziglang/zig/issues/6810]] + (setenv "XDG_CACHE_HOME" "/tmp/")))))) + (home-page "https://ziglang.org/") + (synopsis + "Programming language for maintaining robust, optimal, and reusable software") + (description + "Zig is a general-purpose programming language and toolchain for +maintaining robust, optimal, and reusable software. + +⚡ A Simple Language + +Focus on debugging your application rather than debugging your programming +language knowledge. +@itemize @bullet +@item No hidden control flow. +@item No hidden memory allocations. +@item No preprocessor, no macros. +@end itemize + +⚡ Comptime + +A fresh approach to metaprogramming based on compile-time code execution and +lazy evaluation. +@itemize @bullet +@item Call any function at compile-time. +@item Manipulate types as values without runtime overhead. +@item Comptime emulates the target architecture. +@end itemize + +⚡ Performance Meets Safety + +Write fast, clear code capable of handling all error conditions. +@itemize @bullet +@item The language gracefully guides your error handling logic. +@item Configurable runtime checks help you strike a balance between performance +and safety guarantees. +@item Take advantage of vector types to express SIMD instructions portably. +@end itemize") + (license l:expat))) -- 2.33.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 18:16:18 2021 Received: (at control) by debbugs.gnu.org; 8 Sep 2021 22:16:18 +0000 Received: from localhost ([127.0.0.1]:33706 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mO5re-0003SI-Is for submit@debbugs.gnu.org; Wed, 08 Sep 2021 18:16:18 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:52949) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mO5rb-0003S3-0W for control@debbugs.gnu.org; Wed, 08 Sep 2021 18:16:16 -0400 Received: by mail-wm1-f68.google.com with SMTP id e26so2848007wmk.2 for ; Wed, 08 Sep 2021 15:16:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:user-agent:mime-version :content-transfer-encoding; bh=FqX9lkPy828XQeOGom34TLtbAJdPxHEowfy842Rvnr0=; b=O7NgRmitjssVSK7f1H7ppQzwnmnRZ+0ol71mkQYKpDa556sBpwR3F/d06VZQr5oVLN OygkERhqTA+t+VvMf+H7q72xUyLTVhyUKin/MIWFcphormxxflDDc0/euiWFRVLE7Emp seYpju3naDEkefgKst4XXX+1TLWp3d4tLymQ10j4MYXQX9wNEFWnHU6Q8xDDomubBRL9 7eHOMymJTGQH/LZUhw5BwX1six73Dz+FQHxE+1We3eLX8XQ+iHs32msbSQhkSNE7YK62 TSQpasj6WbwpTsA2a6uogJI/701Zqa6B/9k0K24ZY4s7GH9Rn7JdfR8ITfvJhGnWqsLh SHgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:user-agent :mime-version:content-transfer-encoding; bh=FqX9lkPy828XQeOGom34TLtbAJdPxHEowfy842Rvnr0=; b=EnTNm6RZA4RrvsMmfRoAaxanRKWfPyhLKJMIMtHzdtFxkzxOcdEIBCIpHK7qM5RAzb RZ2/dWHiQtVBMuf3hKKWMlcQE396FgnQERkPz68rvva6ErP/aH9Juteu3L4ad6IJIbcU 2S35dY9L6FeIDE6QtzlRi8z28V5sT3Cj3qBhfq2yEsWYghoVk6ZzD0MAwhWNrVGoFVmR aGxRiYJ9d3KpthS63UEktgToJ//iLtctq/7oY65vPMLauxa54VodeV9Wg7wBdB24pKzP 1wo3vAake9CQvYINdbFSxSxrfaeqvw7jWnQ1Y9WUs4YahlQlL8TJvCz3EkPulXQRjxra vL5Q== X-Gm-Message-State: AOAM533EKSsvUUcVLrjDKxilVXlpyp3CH4epjTxkty4K5nGoVMMBaf8N msatx9wuvg06/Af+/t0NxJ2RrxUGSFI= X-Google-Smtp-Source: ABdhPJxorLI1UIxlDzre4XhVrKrvqJ+Z5AO4evL67Br27AlG4gohca4Zre0RgwZbwfT9QsnFB+p/sg== X-Received: by 2002:a1c:2bc6:: with SMTP id r189mr5705020wmr.183.1631139369109; Wed, 08 Sep 2021 15:16:09 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id z6sm294084wmp.1.2021.09.08.15.16.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Sep 2021 15:16:08 -0700 (PDT) Message-ID: Subject: Re: [PATCH] Add zig From: Liliana Marie Prikler To: control@debbugs.gnu.org Date: Thu, 09 Sep 2021 00:16:07 +0200 Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control Cc: Andrew Patterson X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) merge 47006 50449 thanks Hi Andrew, there is sadly no lack of package definitions for Zig, but rather a lack in review (and somewhat related a confidence to push them). IIRC, our currently best approach is the one written by Léo Le Bouter back in March, but Maxime Devos raised legitimate concerns regarding cross- compilation that so far (again, to my knowledge) have not been addressed in any package definition. When it comes to packaging 0.8.x, there is a patch for lld waiting in the mailing list as well [1], but it has to jump through some hoops to compile and is thus somewhat lacking in what I call for lack of a better word "prettiness". Greetings [1] http://issues.guix.gnu.org/49471 From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 21:53:19 2021 Received: (at 50449) by debbugs.gnu.org; 9 Sep 2021 01:53:19 +0000 Received: from localhost ([127.0.0.1]:33800 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mO9Fe-0002XK-Tv for submit@debbugs.gnu.org; Wed, 08 Sep 2021 21:53:19 -0400 Received: from mail-qk1-f176.google.com ([209.85.222.176]:43605) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mO9Fc-0002Wj-Bv for 50449@debbugs.gnu.org; Wed, 08 Sep 2021 21:53:18 -0400 Received: by mail-qk1-f176.google.com with SMTP id ay33so203711qkb.10 for <50449@debbugs.gnu.org>; Wed, 08 Sep 2021 18:53:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=references:user-agent:from:to:cc:subject:date:in-reply-to :message-id:mime-version; bh=QmfEXa/HJrL/gJ8K+S/DowkFRxMzLQSN745vAZljDdc=; b=e2eHCGsV61Z54Hqdnb7tHJBDFNq4vYIKrShJQI8b3Oed4Ct+EdLQh+xmLXsPNCAQBs L2nNLHwEQOpzu6fM1FZZF+ueagkw7nN5zWlnVPUJUyMvGtCoAvejywAtAIHOklakpplk L69va6S2SB3Bcu6HNZU72KlT23QrnDOHtN7m2ephOpRpbr2tCX2klh8G6nqGVRqrqyWA 9VIdUphnxkRJPxgalviaXYlLEdZ5+urniqSj5Ydp0DjirAvysyC9HmiKPNsTefF5RLJZ GRyTfsAJ6Se2rJuHcxmrXi9d7B/FbckBDaCkzbQpNAdgiOREma3yvO7PJpd9MiQ5oaZm nu9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:references:user-agent:from:to:cc:subject:date :in-reply-to:message-id:mime-version; bh=QmfEXa/HJrL/gJ8K+S/DowkFRxMzLQSN745vAZljDdc=; b=Ja7FSye3HpFQ41gBIxu5n96TRp3Yp3sJEtyAy2nLgHzK7Pshvj0YqQH1rD6ghZNg2O +GmWLefMQTVuC3m5Rw8ieQMqToFGmXIIGb9UVSAKSIjD6Cf4owmMqSxz+tBY3kXB7EeY mu7BCsf/FmTQNn/TsM3eWtdpKbDoqqmThbnWFbIVXwq4K9MLy+YyOjSmsRV5t+HwwENI JMUSa44yBNQMCbPuhWj/4R1G0aTiG4vAIIXagJv0BrjqTm3LMAq2fhoHGSizI2v+Qepw O9xjGXfWoflu65UcYMqL3q9Xf5F6qRG4k66lJp09z2o7E4XREydpsuLg7+eF0BTmOZoo 3+6A== X-Gm-Message-State: AOAM530nekqObp1zOv8uUq4RYNjUbSSrJHXdiBKaprvkMHiUc+Wdv4hH q3CCpI9mfmV8vr0UMrzb9ok= X-Google-Smtp-Source: ABdhPJwnoO80qlsGK9Eb0ZN2awo71vaSsBOjsRguivtsgi+6P9jmgLboqS6YVE2P3TL2YMxMUkI38w== X-Received: by 2002:a37:e307:: with SMTP id y7mr592970qki.211.1631152390766; Wed, 08 Sep 2021 18:53:10 -0700 (PDT) Received: from kalantha ([2601:5c6:8000:98:4364:bb79:1fd4:2c19]) by smtp.gmail.com with ESMTPSA id d68sm333353qke.19.2021.09.08.18.53.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Sep 2021 18:53:10 -0700 (PDT) References: User-agent: mu4e 1.6.5; emacs 27.2 From: Andrew Patterson To: 50449@debbugs.gnu.org Subject: Re: [PATCH] Add zig Date: Wed, 08 Sep 2021 21:43:01 -0400 In-reply-to: Message-ID: <878s06y0oq.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 50449 Cc: Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Thanks for the input, and sorry for not looking through the existing bugs first. I'll look at the merged issues(?), and I'll watch for the lld version bump, but I probably won't add much to this in the foreseeable future. -- Andrew Patterson From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 09 12:31:44 2021 Received: (at 50449) by debbugs.gnu.org; 9 Sep 2021 16:31:44 +0000 Received: from localhost ([127.0.0.1]:36083 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOMxj-0005Gh-Eq for submit@debbugs.gnu.org; Thu, 09 Sep 2021 12:31:44 -0400 Received: from out2.migadu.com ([188.165.223.204]:16399) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOMxR-0005Fv-L0; Thu, 09 Sep 2021 12:31:30 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mgsn.dev; s=key1; t=1631205082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5s6eo89ClVLVY8grlwiyp7CBX0+U/WcZBA0gUzzkZ1c=; b=jlJvxjpMc2xZEemd7BsAxCTtaEjUBQ6y4PJByFR2XiXHtoEK+uDG2+8lgOT5aD6iN3W+Oj 1xVISX7zmdo1hYJckr6oqsvCrG365C33rXIu7QBJXxt4OdmzjJJ7inr81CLOtY8xiic3BC 9/2iErtJOoZzBfPWJpfWsYJGs/PaNGo= From: Sarah Morgensen To: Liliana Prikler Subject: Re: [bug#47006] [PATCH 2/2] gnu: Add zig. References: <7e0456e51a420958dc9a2809f1e52e2ad444ace6.1631195387.git.liliana.prikler@gmail.com> Date: Thu, 09 Sep 2021 09:31:13 -0700 In-Reply-To: <7e0456e51a420958dc9a2809f1e52e2ad444ace6.1631195387.git.liliana.prikler@gmail.com> (Liliana Prikler's message of "Thu, 9 Sep 2021 15:32:22 +0200 (2 hours, 26 minutes, 18 seconds ago)") Message-ID: <86tuitn226.fsf@mgsn.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: iskarian@mgsn.dev X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 50449 Cc: 47006@debbugs.gnu.org, 50449@debbugs.gnu.org, maximedevos@telenet.be, efraim@flashner.co.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Liliana, Thanks for taking a look at the recent patch and sending an updated one. I've been tinkering with the recent zig patch as well, so I have a few comments. Liliana Prikler writes: > * gnu/packages/zig.scm: New file. > * gnu/local.mk (GNU_SYSTEM_MODULES): Add it here. > --- > gnu/local.mk | 1 + > gnu/packages/zig.scm | 83 ++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 84 insertions(+) > create mode 100644 gnu/packages/zig.scm > > diff --git a/gnu/local.mk b/gnu/local.mk > index 2a56c4a9e2..710e5bd9df 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -598,6 +598,7 @@ GNU_SYSTEM_MODULES =3D \ > %D%/packages/xdisorg.scm \ > %D%/packages/xorg.scm \ > %D%/packages/xfce.scm \ > + %D%/packages/zig.scm \ > %D%/packages/zile.scm \ > %D%/packages/zwave.scm \ > \ > diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm > new file mode 100644 > index 0000000000..8b9a863b4d > --- /dev/null > +++ b/gnu/packages/zig.scm > @@ -0,0 +1,83 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright =C2=A9 2021 Leo Prikler > +;;; > +;;; 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 zig) > + #:use-module (guix packages) > + #:use-module (guix git-download) > + #:use-module ((guix licenses) #:prefix license:) > + #:use-module (guix build-system cmake) > + #:use-module (gnu packages) > + #:use-module (gnu packages llvm)) > + > +(define-public zig > + (package > + (name "zig") > + (version "0.8.1") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/ziglang/zig.git") > + (commit version))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 "147qx7xgj0r353wh5ragzn6kmm1vrf31i8038z3zqwjnqqgqxi6c"))= )) > + (build-system cmake-build-system) > + ;; Zig is based on and builds itself using the Clang toolchain, > + ;; so add it both as inputs and native-inputs. > + (inputs > + `(("clang" ,clang-12) > + ("lld" ,lld-12) > + ("llvm" ,llvm-12))) > + (native-inputs > + `(("clang" ,clang-12) > + ("lld" ,lld-12) > + ("llvm" ,llvm-12))) Zig is perfectly happy compiling itself with GCC, and I believe it's the default. I'm pretty sure it either needs no native tools, or only llvm, but I wasn't able to test without compiling a whole GCC cross-toolchain. For cross compiling, you will also need to add "-DZIG_TARGET_TRIPLE=3D" to configure flags, and you might want to look into adding "-DZIG_TARGET_MCPU" (should take the same values as LLVM's -mcpu) to change the baseline CPU for ARM systems since we build for ARM7 by default. > + (arguments > + `(#:tests? #f ; no check target Did you mean to leave this in? ;) > + #:phases > + (modify-phases %standard-phases > + (add-after 'unpack 'save-unpack-dir > + (lambda _ > + ;; HACK: Passing unpacked source directory to 'check phase. > + (setenv "ZIG_SOURCE_DIR" (getcwd)) > + #t)) > + (add-after 'configure 'set-home > + (lambda _ > + (setenv "HOME" (getcwd)) ; zig writes to $HOME/.cache > + #t)) > + (delete 'check) > + (add-after 'install 'check > + (lambda* (#:key outputs tests? #:allow-other-keys) > + (when tests? > + (with-directory-excursion (getenv "ZIG_SOURCE_DIR") > + (invoke (string-append (assoc-ref outputs) "out") "/bin= /zig" > + "build" "test")))))))) Full tests take quite a while, (it's supposed to be "an hour or two") so it may eventually be a good idea to limit what we test, such as using "-Dskip-release", which tests without optimization. IMO that should be enough for catching any Guix-based issues with Zig. > + (synopsis "General purpose programming language and toolchain") > + (description "Zig is a general-purpose programming language and > +toolchain. Among other features it provides > +@itemize > +@item an Optional type instead of null pointers, > +@item manual memory management, > +@item generic data structures and functions, > +@item compile-time reflection and compile-time code execution, > +@item integration with C using zig as a C compiler, and > +@item concurrency via async functions. > +@end itemize") > + (home-page "https://github.com/ziglang/zig") > + (license license:expat))) I don't know if it affects the license, but Zig bundles the source for *many* components, such as glibc, musl, mingw, wasi, and from LLVM: libcxx, libcxxabi, libunwind, and tsan. Zig doesn't seem to honor LIBRARY_PATH, but oddly enough it honors NIX_LDFLAGS and NIX_CFLAGS_COMPILE, so if we want it to see external libraries, something like this is needed: --8<---------------cut here---------------start------------->8--- (add-after 'check 'wrap-binary (lambda* (#:key outputs #:allow-other-keys) ;; TODO: test with 'zig cc' (wrap-program (string-append (assoc-ref outputs "out") "/bin/z= ig") `("NIX_LDFLAGS" prefix ("${LIBRARY_PATH:+-L${LIBRARY_PATH//:/ -L}}")) `("NIX_CFLAGS_COMPILE" prefix (,(string-append "${CPLUS_INCLUDE_PATH:+-isystem " "${CPLUS_INCLUDE_PATH//:/ -isystem }}")))))) --8<---------------cut here---------------end--------------->8--- I haven't tested this with 'zig cc', but this worked for compiling [0]. [0] https://github.com/andrewrk/tetris Hope that helps, -- Sarah From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 09 14:18:32 2021 Received: (at 50449) by debbugs.gnu.org; 9 Sep 2021 18:18:32 +0000 Received: from localhost ([127.0.0.1]:36212 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOOd5-0008EE-Ip for submit@debbugs.gnu.org; Thu, 09 Sep 2021 14:18:32 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:46831) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOOd2-0008Dv-K1; Thu, 09 Sep 2021 14:18:29 -0400 Received: by mail-wr1-f66.google.com with SMTP id x6so3813152wrv.13; Thu, 09 Sep 2021 11:18:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=hj/aNg2ICl+UmCECRdLU6bUL0jZMIeas0ndmLBneWOs=; b=RDnYwXKdO76xXajTox9N+9jFJ3+Q9qrUZz80Dgnk1nBrNCAat1W95F3YeS0u82x0dh b5VvQY4o0IdQtGWat9L4QEMSv+YDRtvdlZf6fyOjt+ERugp2lwfsOuGLoXPql9XGrurh IAKq0rMzKGs5FG38AM1/SakhBiLoFQN3C6+sTdvfPXIG1xQ2I7tbGIA++3d2zmZiajJt AfH4U2Q09YwvWNRzS46cPOUPwMwNZlIKNMbmIO3UiLtj7d8cSEmS7P6X8QYAc8WTPHGJ 5bmnjBrnvY+EIgAfHDo1DnZ9UGNxXInhtCoOA2PbVZbDuMo9of4tdr3x5oSqIrRwG5tl FMIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=hj/aNg2ICl+UmCECRdLU6bUL0jZMIeas0ndmLBneWOs=; b=cmYbLkEAYI9hGyWhA9btj6x3ZNxeB9pG0ZZNVMN5LywOTqwiW5F4yA42egLXw7aAaR FpgNO4PtoXnYEvfCJXRVOJHipwqsfBvQA016oRMyVPPFHCYoy/uVOCOt9q8bbz5uNRdr k5/RH1ULyPQHeqiEnXO9Y4OtEC4HxbqetTORQ8mfTPjaN6DaQg9ynlV7YIZhiYIz4IV7 tl8I/d26QqfH6kfQDxvQ3UXIGkherPGTpFdOTywcmL2cxnOr3i3RrqG7fwm1NRAl29F4 fjTkkreQL+mJhT5xZ3c7IHMEaPxVmRuVLDpiKgg91p/9dOeABMqN6QfZdmFI3NH29qwc Qm7A== X-Gm-Message-State: AOAM532uPc/CvBcyi2wSOx2x+NRn57e4nGBXDZbQv5ETsjFhIikmpG64 5Z0CcyZfiHY8XakWvWI40UA= X-Google-Smtp-Source: ABdhPJysInJUkHrTvwhpHlrfWAOyvBucgyFFLM2joOVW7u7RmVJoQmB/0LhIPZilaVq66iZ7teVLpA== X-Received: by 2002:adf:e6c5:: with SMTP id y5mr5297173wrm.198.1631211502629; Thu, 09 Sep 2021 11:18:22 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id u26sm2687551wrd.32.2021.09.09.11.18.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Sep 2021 11:18:22 -0700 (PDT) Message-ID: <374c149b13a2c350f35811e6bc29c57cc56829e4.camel@gmail.com> Subject: Re: [bug#47006] [PATCH 2/2] gnu: Add zig. From: Liliana Marie Prikler To: Sarah Morgensen Date: Thu, 09 Sep 2021 20:18:20 +0200 In-Reply-To: <86tuitn226.fsf@mgsn.dev> References: <7e0456e51a420958dc9a2809f1e52e2ad444ace6.1631195387.git.liliana.prikler@gmail.com> <86tuitn226.fsf@mgsn.dev> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 50449 Cc: 47006@debbugs.gnu.org, 50449@debbugs.gnu.org, maximedevos@telenet.be, efraim@flashner.co.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Sarah, Am Donnerstag, den 09.09.2021, 09:31 -0700 schrieb Sarah Morgensen: > Liliana Prikler writes: > > > * gnu/packages/zig.scm: New file. > > * gnu/local.mk (GNU_SYSTEM_MODULES): Add it here. > > --- > > gnu/local.mk | 1 + > > gnu/packages/zig.scm | 83 > > ++++++++++++++++++++++++++++++++++++++++++++ > > 2 files changed, 84 insertions(+) > > create mode 100644 gnu/packages/zig.scm > > > > diff --git a/gnu/local.mk b/gnu/local.mk > > index 2a56c4a9e2..710e5bd9df 100644 > > --- a/gnu/local.mk > > +++ b/gnu/local.mk > > @@ -598,6 +598,7 @@ GNU_SYSTEM_MODULES = > > \ > > %D%/packages/xdisorg.scm \ > > %D%/packages/xorg.scm \ > > %D%/packages/xfce.scm \ > > + %D%/packages/zig.scm \ > > %D%/packages/zile.scm \ > > %D%/packages/zwave.scm \ > > \ > > diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm > > new file mode 100644 > > index 0000000000..8b9a863b4d > > --- /dev/null > > +++ b/gnu/packages/zig.scm > > @@ -0,0 +1,83 @@ > > +;;; GNU Guix --- Functional package management for GNU > > +;;; Copyright © 2021 Leo Prikler > > +;;; > > +;;; 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 zig) > > + #:use-module (guix packages) > > + #:use-module (guix git-download) > > + #:use-module ((guix licenses) #:prefix license:) > > + #:use-module (guix build-system cmake) > > + #:use-module (gnu packages) > > + #:use-module (gnu packages llvm)) > > + > > +(define-public zig > > + (package > > + (name "zig") > > + (version "0.8.1") > > + (source > > + (origin > > + (method git-fetch) > > + (uri (git-reference > > + (url "https://github.com/ziglang/zig.git") > > + (commit version))) > > + (file-name (git-file-name name version)) > > + (sha256 > > + (base32 > > "147qx7xgj0r353wh5ragzn6kmm1vrf31i8038z3zqwjnqqgqxi6c")))) > > + (build-system cmake-build-system) > > + ;; Zig is based on and builds itself using the Clang > > toolchain, > > + ;; so add it both as inputs and native-inputs. > > + (inputs > > + `(("clang" ,clang-12) > > + ("lld" ,lld-12) > > + ("llvm" ,llvm-12))) > > + (native-inputs > > + `(("clang" ,clang-12) > > + ("lld" ,lld-12) > > + ("llvm" ,llvm-12))) > > Zig is perfectly happy compiling itself with GCC, and I believe it's > the default. I'm pretty sure it either needs no native tools, or > only llvm, but I wasn't able to test without compiling a whole GCC > cross-toolchain. > > For cross compiling, you will also need to add "-DZIG_TARGET_TRIPLE=" > to configure flags, and you might want to look into adding > "-DZIG_TARGET_MCPU" (should take the same values as LLVM's -mcpu) to > change the baseline CPU for ARM systems since we build for ARM7 by > default. I don't think we set mcpu for LLVM or Clang, so that one should be fine. As for ZIG_TARGET_TRIPLET and the native inputs, do you have an amended patch already lying around? > > + (arguments > > + `(#:tests? #f ; no check target > > Did you mean to leave this in? ;) Pretty sure that was a copypaste error at some point, good catch. > > + #:phases > > + (modify-phases %standard-phases > > + (add-after 'unpack 'save-unpack-dir > > + (lambda _ > > + ;; HACK: Passing unpacked source directory to 'check > > phase. > > + (setenv "ZIG_SOURCE_DIR" (getcwd)) > > + #t)) > > + (add-after 'configure 'set-home > > + (lambda _ > > + (setenv "HOME" (getcwd)) ; zig writes to > > $HOME/.cache > > + #t)) > > + (delete 'check) > > + (add-after 'install 'check > > + (lambda* (#:key outputs tests? #:allow-other-keys) > > + (when tests? > > + (with-directory-excursion (getenv "ZIG_SOURCE_DIR") > > + (invoke (string-append (assoc-ref outputs) "out") > > "/bin/zig" > > + "build" "test")))))))) > > Full tests take quite a while, (it's supposed to be "an hour or two") > so it may eventually be a good idea to limit what we test, such as > using "-Dskip-release", which tests without optimization. IMO that > should be enough for catching any Guix-based issues with Zig. Is that a configure flag or a test flag? > > + (synopsis "General purpose programming language and > > toolchain") > > + (description "Zig is a general-purpose programming language > > and > > +toolchain. Among other features it provides > > +@itemize > > +@item an Optional type instead of null pointers, > > +@item manual memory management, > > +@item generic data structures and functions, > > +@item compile-time reflection and compile-time code execution, > > +@item integration with C using zig as a C compiler, and > > +@item concurrency via async functions. > > +@end itemize") > > + (home-page "https://github.com/ziglang/zig") > > + (license license:expat))) > > I don't know if it affects the license, but Zig bundles the source > for *many* components, such as glibc, musl, mingw, wasi, and from > LLVM: libcxx, libcxxabi, libunwind, and tsan. Good catch, could we unbundle some/all of those? > Zig doesn't seem to honor LIBRARY_PATH, but oddly enough it honors > NIX_LDFLAGS and NIX_CFLAGS_COMPILE, so if we want it to see external > libraries, something like this is needed: > > --8<---------------cut here---------------start------------->8--- > (add-after 'check 'wrap-binary > (lambda* (#:key outputs #:allow-other-keys) > ;; TODO: test with 'zig cc' > (wrap-program (string-append (assoc-ref outputs "out") > "/bin/zig") > `("NIX_LDFLAGS" prefix > ("${LIBRARY_PATH:+-L${LIBRARY_PATH//:/ -L}}")) > `("NIX_CFLAGS_COMPILE" prefix > (,(string-append > "${CPLUS_INCLUDE_PATH:+-isystem " > "${CPLUS_INCLUDE_PATH//:/ -isystem }}")))))) > --8<---------------cut here---------------end--------------->8--- That is rather inelegant. I'd prefer we patch zig to honor LIBRARY_PATH, CPLUS_INCLUDE_FLAGS and what other important environment variables we find. Thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 23 20:17:39 2021 Received: (at 50449) by debbugs.gnu.org; 24 Sep 2021 00:17:39 +0000 Received: from localhost ([127.0.0.1]:56269 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mTYuG-0007OK-8x for submit@debbugs.gnu.org; Thu, 23 Sep 2021 20:17:39 -0400 Received: from out1.migadu.com ([91.121.223.63]:21150) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mTYuD-0007O9-Jt for 50449@debbugs.gnu.org; Thu, 23 Sep 2021 20:17:35 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mgsn.dev; s=key1; t=1632442652; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=X0R3eVGS0BB2iv0KyovzHZxgFQvTanPIX5prgjEMlC8=; b=WVi4CddpebeuxcIf18Nbu6v3yfGV37vQU+3CGXWcgSV0+KkzVBrmnNC4JUldEzSUKxP3xJ 2N/t0C8GUuvPY+X/w/mDuwUyucNnIUY9rgr1TM6DTfhXmeTuvmu2g0XXHfQkF/lds+UyVK SFTf+WqHmG6PU7mnsTHyW+pMoTOrdnE= From: Sarah Morgensen To: Liliana Marie Prikler Subject: Re: [bug#47006] [WIP PATCH v2 2/2] gnu: Add zig. References: <0f6c5b692df8d06a0d7adddc9e5abf93894a366f.1631226695.git.liliana.prikler@gmail.com> <86wnnmnceg.fsf@mgsn.dev> <865yv6mmk2.fsf@mgsn.dev> <93454096d15aed82b9bf4b1401a0fddcb156f2b7.camel@gmail.com> <86czpdl8ns.fsf@mgsn.dev> <7b114e500e29364f44b0080e0f782255e92be74f.camel@gmail.com> Date: Thu, 23 Sep 2021 17:17:28 -0700 In-Reply-To: <7b114e500e29364f44b0080e0f782255e92be74f.camel@gmail.com> (Liliana Marie Prikler's message of "Tue, 14 Sep 2021 18:17:14 +0200 (1 week, 2 days, 7 hours ago)") Message-ID: <867df6kesn.fsf@mgsn.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: iskarian@mgsn.dev X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 50449 Cc: 50449@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Liliana, I just thought I'd send a note that lld (and the LLVM toolchain) is now 12.0.1 in master (see a7283c1d14). Liliana Marie Prikler writes: > Hi, > > Am Sonntag, den 12.09.2021, 15:40 -0700 schrieb Sarah Morgensen: >> > > + (patches >> > > + (search-patches >> > > + "zig-disable-libc-note-test.patch" >> > Is this test really necessary to skip that test? If not, let's try >> > to use the command line for that. >>=20 >> We could use "-Dskip-compile-errors", but that also skips ~600 other >> test cases. > Point taken, let's keep it then. > >> > > + ;; XXX: Remove the following patch when updating LLVM >> > > to 12.0.1. >> > > + "zig-disable-MIPS-tests.patch" >> > There's a patch for LLVM 12.0.1 waiting in the ML and we could >> > potentially bump lld to 12.0.1 regardless. (Can LLVM components be >> > mix-matched like that?) >>=20 >> I have no idea if they *can*, but I'm pretty sure they're not >> intended to be, as LLVM wants you to build everything together in one >> big blob. > Fair enough, I've tried to rebase this based on Andr=C3=A1s patch > regardless. In some sense this counts as a review of #50486, but I > obviously haven't tested all the problematic packages that would keep > it from being merged, like mesa. > >> > > + "zig-fix-cross-native-execution.patch" >> > IIUC this is weaker than "-Dskip-non-native". Is there a reason to >> > include specifically these non-native tests? >>=20 >> Yes, as I wrote in the patch header, it fixes the behavior of 'zig >> run' and 'zig test' when the target is cross-native. Would we want >> to stick to upstream, even if it's buggy? > I'm not particularly sure about 'zig run', but imo we should simply > supply the correct linker in cross-native and not worry about upstream > bugs in the negative case. > >> We might want to add "-Dskip-non-native" anyway as it speeds up tests >> by an order of magnitude, in which case tests will succeed without >> the patch. It looks their CI uses it "-Dskip-non-native" as well, >> and I suppose there's not a whole lot Guix can do to mess up Zig's >> cross-compiling anyway, since it's pretty self-contained... > Did that. > >> > > + (native-search-paths >> > > + (list >> > > + (search-path-specification >> > > + (variable "ZIG_INCLUDE_DIRS") >> > > + ;; XXX: It doesn't seem as though Zig can distinguish >> > > between >> > > C and C++ >> > > + ;; include paths, so provide both. >> > > + (files '("include/c++" "include"))) >> > > + (search-path-specification >> > > + ;; TODO: Might be confused with "ZIG_LIB_DIR"... Maybe >> > > use >> > > + ;; "ZIG_INCLUDE_PATH" and "ZIG_LIBRARY_PATH"? >> > > + (variable "ZIG_LIB_DIRS") >> > > + (files '("lib" "lib64"))))) >> > You can rewrite "zig-use-explicit-paths.patch" in-place with Emacs' >> > query-replace and/or sed (or even just manually, there are no lines >> > to add or remove) if you disagree with my environment variable >> > naming choice. Just make sure you don't accidentally break diff by >> > deleting trailing space. >> > Another potential naming choice would be to prefix everything with >> > ZIG_LIBC_ rather than simply ZIG_. Of course I thought about that >> > only after sending my previous mail ^^" >>=20 >> Ah, I meant to mention it in my last e-mail but I forgot. I didn't >> want to just go changing it on you without discussing it. >>=20 >> As far as I can tell, there's no such thing as a "Zig library" or a >> "Zig header"; these are for including system C headers and >> libraries. So, I would just go with LIBRARY_PATH and >> CPLUS_INCLUDE_PATH unless we anticipate needing to tell Zig something >> different than what we tell GCC/Clang. Furthermore, the in- >> development 'zig cc' command is intended to be a drop-in replacement >> for GCC/Clang, so it should probably honor the same environment >> variables. > Fair enough, I now have zig search the paths that would normally be > expected to be accordingly set. This leads to doubly adding > "/include", but I suppose that's fine as we risk not including the > right things in a C only context otherwise. > > Regards > > [2. text/x-patch; v4-0001-gnu-lld-Update-to-12.0.1.patch]... > > [3. text/x-patch; v4-0002-gnu-Add-zig.patch]... -- Sarah From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 24 03:44:24 2021 Received: (at 50449) by debbugs.gnu.org; 24 Sep 2021 07:44:24 +0000 Received: from localhost ([127.0.0.1]:56648 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mTfsd-0005A4-JR for submit@debbugs.gnu.org; Fri, 24 Sep 2021 03:44:24 -0400 Received: from mail-wr1-f68.google.com ([209.85.221.68]:37468) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mTfsb-00059l-Ml; Fri, 24 Sep 2021 03:44:22 -0400 Received: by mail-wr1-f68.google.com with SMTP id t8so24568260wrq.4; Fri, 24 Sep 2021 00:44:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:references:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=dmKkhf8yDjYxIiGtajWAczR1wL2ouID7J6hvR9Vzdyg=; b=NunEyT+Ssqvoz1PzBogBR2KsT2vgaVoGT5jk98YxSowPRhU51h4JYCy1cqix7FKxJE Ht57+jMD5rVJUwq7LRwsdcfpe6AupyRV8QRa7w9E0r0fHPzsbqbDfdWGFsm56gf31joB E1/prqGDNYhX7S8uOGit0a5AdwuQwRzpKvMydd8LY8rAlT9ee0IDyQKxyHNXSWYJHlJd 7nOrVh/Zw/BGOCOBHIUmyhoZl/5VhVk00MtZFyVog9rKOfhRbwcc6a3bBAbgobH4/B08 LaJkP64OHMIH5aeD9w/Cdn22e8sl+kkS/L9w/21Ze+OGZSQKOQVmKyf7Iy7Kbwtzr5wa 8Qug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:in-reply-to:references:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=dmKkhf8yDjYxIiGtajWAczR1wL2ouID7J6hvR9Vzdyg=; b=RIf7hn8nJvnj8gFpgSBNVlxTp/WGGQejRcbJIBJA0QdXxeE7ea3e5YiENo0hYXmYPe uyON5NmRSFfMLk4uaWl4gTrIWk5AVpBiVNEiBi/a4E7KIQv0L9FQ62tJQcQbgGekxks3 xo2f6Q2wBPiM0bWqHrQzssq5YS3cabJhozELUwhR4+g+3zWfT3XHTLa92EU9lPKdmshA 3j88ZjzZcln3Myu3H5H5lcEayIAfzkB+sg4o4zXiYHzOJUjnGlr5QEkX9U2onnsn8VBU J/p7eOiyeXewuLk5qcXUuYSzieFjAZx/iJW37kTz3glYc3pNfbW8kiR28teMJ6AyNVLh 4vtQ== X-Gm-Message-State: AOAM533sG1yWaY/O9Fd9CTVV/kw3Kf9PVhjAmswRkukne3cGjsuRpG1z 06KG8mImXa4jAyCoMEFEcNU= X-Google-Smtp-Source: ABdhPJyD23HOqp7HUN/bo16Z6j0fx6PkbsHnorIielFza2CZ0fd/vKFoZH1cfolj84BfTg7FRqfhUg== X-Received: by 2002:a05:600c:21c8:: with SMTP id x8mr528287wmj.163.1632469454693; Fri, 24 Sep 2021 00:44:14 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id q7sm7896897wrc.55.2021.09.24.00.44.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Sep 2021 00:44:14 -0700 (PDT) In-Reply-To: <867df6kesn.fsf@mgsn.dev> References: <867df6kesn.fsf@mgsn.dev> From: Liliana Prikler Date: Thu, 9 Sep 2021 15:32:22 +0200 Subject: [PATCH v5] gnu: Add zig. to: Sarah Morgensen Content-Transfer-Encoding: 8bit Message-ID: <5ab728b993bf511df7d71cb6781fc10c58aaff6d.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 3.1 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/patches/zig-disable-libc-note-test.patch, gnu/packages/patches/zig-use-system-paths.patch: New files. * gnu/packages/zig.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES, dist_patch_DA [...] Content analysis details: (3.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.68 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.68 listed in wl.mailspike.net] 1.0 PP_MIME_FAKE_ASCII_TEXT BODY: MIME text/plain claims to be ASCII but isn't X-Debbugs-Envelope-To: 50449 Cc: 47006@debbugs.gnu.org, =?UTF-8?Q?Andr=C3=A1s_V=C3=B6r=C3=B6sk=C5=91i?= , 50449@debbugs.gnu.org, maximedevos@telenet.be, efraim@flashner.co.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/patches/zig-disable-libc-note-test.patch, gnu/packages/patches/zig-use-system-paths.patch: New files. * gnu/packages/zig.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES, dist_patch_DA [...] Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.68 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.68 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 1.0 PP_MIME_FAKE_ASCII_TEXT BODY: MIME text/plain claims to be ASCII but isn't -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/patches/zig-disable-libc-note-test.patch, gnu/packages/patches/zig-use-system-paths.patch: New files. * gnu/packages/zig.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES, dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 3 + .../patches/zig-disable-libc-note-test.patch | 31 ++++ .../patches/zig-use-system-paths.patch | 143 ++++++++++++++++++ gnu/packages/zig.scm | 104 +++++++++++++ 4 files changed, 281 insertions(+) create mode 100644 gnu/packages/patches/zig-disable-libc-note-test.patch create mode 100644 gnu/packages/patches/zig-use-system-paths.patch create mode 100644 gnu/packages/zig.scm diff --git a/gnu/local.mk b/gnu/local.mk index ba87264948..e8df88d7fe 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -598,6 +598,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/xdisorg.scm \ %D%/packages/xorg.scm \ %D%/packages/xfce.scm \ + %D%/packages/zig.scm \ %D%/packages/zile.scm \ %D%/packages/zwave.scm \ \ @@ -1904,6 +1905,8 @@ dist_patch_DATA = \ %D%/packages/patches/ytfzf-updates.patch \ %D%/packages/patches/ytnef-CVE-2021-3403.patch \ %D%/packages/patches/ytnef-CVE-2021-3404.patch \ + %D%/packages/patches/zig-disable-libc-note-test.patch \ + %D%/packages/patches/zig-use-system-paths.patch \ %D%/packages/patches/zstd-CVE-2021-24031_CVE-2021-24032.patch \ %D%/packages/patches/zziplib-CVE-2018-16548.patch diff --git a/gnu/packages/patches/zig-disable-libc-note-test.patch b/gnu/packages/patches/zig-disable-libc-note-test.patch new file mode 100644 index 0000000000..971ae53912 --- /dev/null +++ b/gnu/packages/patches/zig-disable-libc-note-test.patch @@ -0,0 +1,31 @@ +This test fails with "error.CompilationIncorrectlySucceeded". + +diff --git a/test/compile_errors.zig b/test/compile_errors.zig +index fd1255c..20d5548 100644 +--- a/test/compile_errors.zig ++++ b/test/compile_errors.zig +@@ -2751,15 +2751,15 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { + "tmp.zig:3:5: error: dependency on libc must be explicitly specified in the build command", + }); + +- cases.addTest("libc headers note", +- \\const c = @cImport(@cInclude("stdio.h")); +- \\export fn entry() void { +- \\ _ = c.printf("hello, world!\n"); +- \\} +- , &[_][]const u8{ +- "tmp.zig:1:11: error: C import failed", +- "tmp.zig:1:11: note: libc headers not available; compilation does not link against libc", +- }); ++// cases.addTest("libc headers note", ++// \\const c = @cImport(@cInclude("stdio.h")); ++// \\export fn entry() void { ++// \\ _ = c.printf("hello, world!\n"); ++// \\} ++// , &[_][]const u8{ ++// "tmp.zig:1:11: error: C import failed", ++// "tmp.zig:1:11: note: libc headers not available; compilation does not link against libc", ++// }); + } + + cases.addTest("comptime vector overflow shows the index", diff --git a/gnu/packages/patches/zig-use-system-paths.patch b/gnu/packages/patches/zig-use-system-paths.patch new file mode 100644 index 0000000000..ed122dac22 --- /dev/null +++ b/gnu/packages/patches/zig-use-system-paths.patch @@ -0,0 +1,143 @@ +This patch replaces the OS-specific detection mechanism by one that solely +relies on environment variables. This has the benefit that said environment +variables can be used as search paths in Guix. + +Index: zig-0.8.1/lib/std/zig/system.zig +=================================================================== +--- zig-0.8.1.orig/lib/std/zig/system.zig ++++ zig-0.8.1/lib/std/zig/system.zig +@@ -39,101 +39,57 @@ pub const NativePaths = struct { + }; + errdefer self.deinit(); + +- var is_nix = false; +- if (process.getEnvVarOwned(allocator, "NIX_CFLAGS_COMPILE")) |nix_cflags_compile| { +- defer allocator.free(nix_cflags_compile); +- +- is_nix = true; +- var it = mem.tokenize(nix_cflags_compile, " "); ++ // TODO: Support cross-compile paths? ++ if (process.getEnvVarOwned(allocator, "C_INCLUDE_PATH")) |c_include_path| { ++ defer allocator.free(c_include_path); ++ var it = mem.tokenize(c_include_path, ":"); + while (true) { +- const word = it.next() orelse break; +- if (mem.eql(u8, word, "-isystem")) { +- const include_path = it.next() orelse { +- try self.addWarning("Expected argument after -isystem in NIX_CFLAGS_COMPILE"); +- break; +- }; +- try self.addIncludeDir(include_path); +- } else { +- if (mem.startsWith(u8, word, "-frandom-seed=")) { +- continue; +- } +- try self.addWarningFmt("Unrecognized C flag from NIX_CFLAGS_COMPILE: {s}", .{word}); +- } ++ const dir = it.next() orelse break; ++ try self.addIncludeDir(dir); + } + } else |err| switch (err) { + error.InvalidUtf8 => {}, + error.EnvironmentVariableNotFound => {}, + error.OutOfMemory => |e| return e, + } +- if (process.getEnvVarOwned(allocator, "NIX_LDFLAGS")) |nix_ldflags| { +- defer allocator.free(nix_ldflags); + +- is_nix = true; +- var it = mem.tokenize(nix_ldflags, " "); ++ if (process.getEnvVarOwned(allocator, "CPLUS_INCLUDE_PATH")) |cplus_include_path| { ++ defer allocator.free(cplus_include_path); ++ var it = mem.tokenize(cplus_include_path, ":"); + while (true) { +- const word = it.next() orelse break; +- if (mem.eql(u8, word, "-rpath")) { +- const rpath = it.next() orelse { +- try self.addWarning("Expected argument after -rpath in NIX_LDFLAGS"); +- break; +- }; +- try self.addRPath(rpath); +- } else if (word.len > 2 and word[0] == '-' and word[1] == 'L') { +- const lib_path = word[2..]; +- try self.addLibDir(lib_path); +- } else { +- try self.addWarningFmt("Unrecognized C flag from NIX_LDFLAGS: {s}", .{word}); +- break; +- } ++ const dir = it.next() orelse break; ++ try self.addIncludeDir(dir); + } + } else |err| switch (err) { + error.InvalidUtf8 => {}, + error.EnvironmentVariableNotFound => {}, + error.OutOfMemory => |e| return e, + } +- if (is_nix) { +- return self; +- } +- +- if (comptime Target.current.isDarwin()) { +- try self.addIncludeDir("/usr/include"); +- try self.addIncludeDir("/usr/local/include"); + +- try self.addLibDir("/usr/lib"); +- try self.addLibDir("/usr/local/lib"); +- +- try self.addFrameworkDir("/Library/Frameworks"); +- try self.addFrameworkDir("/System/Library/Frameworks"); +- +- return self; ++ if (process.getEnvVarOwned(allocator, "LIBRARY_PATH")) |library_path| { ++ defer allocator.free(library_path); ++ var it = mem.tokenize(library_path, ":"); ++ while (true) { ++ const dir = it.next() orelse break; ++ try self.addLibDir(dir); ++ } ++ } else |err| switch (err) { ++ error.InvalidUtf8 => {}, ++ error.EnvironmentVariableNotFound => {}, ++ error.OutOfMemory => |e| return e, + } + +- if (native_target.os.tag != .windows) { +- const triple = try native_target.linuxTriple(allocator); +- const qual = native_target.cpu.arch.ptrBitWidth(); +- +- // TODO: $ ld --verbose | grep SEARCH_DIR +- // the output contains some paths that end with lib64, maybe include them too? +- // TODO: what is the best possible order of things? +- // TODO: some of these are suspect and should only be added on some systems. audit needed. +- +- try self.addIncludeDir("/usr/local/include"); +- try self.addLibDirFmt("/usr/local/lib{d}", .{qual}); +- try self.addLibDir("/usr/local/lib"); +- +- try self.addIncludeDirFmt("/usr/include/{s}", .{triple}); +- try self.addLibDirFmt("/usr/lib/{s}", .{triple}); +- +- try self.addIncludeDir("/usr/include"); +- try self.addLibDirFmt("/lib{d}", .{qual}); +- try self.addLibDir("/lib"); +- try self.addLibDirFmt("/usr/lib{d}", .{qual}); +- try self.addLibDir("/usr/lib"); +- +- // example: on a 64-bit debian-based linux distro, with zlib installed from apt: +- // zlib.h is in /usr/include (added above) +- // libz.so.1 is in /lib/x86_64-linux-gnu (added here) +- try self.addLibDirFmt("/lib/{s}", .{triple}); ++ if (process.getEnvVarOwned(allocator, "DYLD_FRAMEWORK_PATH")) |dyld_framework_path| { ++ defer allocator.free(dyld_framework_path); ++ var it = mem.tokenize(dyld_framework_path, ":"); ++ while (true) { ++ const dir = it.next() orelse break; ++ try self.addFrameworkDir(dir); ++ } ++ } else |err| switch (err) { ++ error.InvalidUtf8 => {}, ++ error.EnvironmentVariableNotFound => {}, ++ error.OutOfMemory => |e| return e, + } + + return self; diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm new file mode 100644 index 0000000000..ef5fe04c86 --- /dev/null +++ b/gnu/packages/zig.scm @@ -0,0 +1,104 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Liliana Prikler +;;; Copyright © 2021 Sarah Morgensen +;;; +;;; 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 zig) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system cmake) + #:use-module (gnu packages) + #:use-module (gnu packages llvm)) + +(define-public zig + (package + (name "zig") + (version "0.8.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ziglang/zig.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "147qx7xgj0r353wh5ragzn6kmm1vrf31i8038z3zqwjnqqgqxi6c")) + (patches + (search-patches + "zig-disable-libc-note-test.patch" + "zig-use-system-paths.patch")))) + (build-system cmake-build-system) + (inputs + `(("clang" ,clang-12) ; Clang propagates llvm. + ("lld" ,lld-12))) + ;; Zig compiles fine with GCC, but also needs native LLVM libraries. + (native-inputs + `(("llvm" ,llvm-12))) + (arguments + `(#:configure-flags + (list ,@(if (%current-target-system) + (string-append "-DZIG_TARGET_TRIPLE=" + (%current-target-system)) + '())) + #:out-of-source? #f ; for tests + #:phases + (modify-phases %standard-phases + (add-after 'configure 'set-cache-dir + (lambda _ + ;; Set cache dir, otherwise Zig looks for `$HOME/.cache'. + (setenv "ZIG_GLOBAL_CACHE_DIR" + (string-append (getcwd) "/zig-cache")))) + (delete 'check) + (add-after 'install 'check + (lambda* (#:key outputs tests? #:allow-other-keys) + (when tests? + (invoke (string-append (assoc-ref outputs "out") "/bin/zig") + ;; Testing the standard library takes >7.5GB RAM, and + ;; will fail if it is OOM-killed. The 'test-toolchain' + ;; target skips standard library and doc tests. + "build" "test-toolchain" + ;; Stage 2 is experimental, not what we run with `zig', + ;; and stage 2 tests require a lot of RAM. + "-Dskip-stage2-tests" + ;; Non-native tests try to link and execute non-native + ;; binaries. + "-Dskip-non-native"))))))) + (native-search-paths + (list + (search-path-specification + (variable "C_INCLUDE_PATH") + (files '("include"))) + (search-path-specification + (variable "CPLUS_INCLUDE_PATH") + (files '("include/c++" "include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (files '("lib" "lib64"))))) + (synopsis "General purpose programming language and toolchain") + (description "Zig is a general-purpose programming language and +toolchain. Among other features it provides +@itemize +@item an Optional type instead of null pointers, +@item manual memory management, +@item generic data structures and functions, +@item compile-time reflection and compile-time code execution, +@item integration with C using zig as a C compiler, and +@item concurrency via async functions. +@end itemize") + (home-page "https://github.com/ziglang/zig") + (license license:expat))) -- 2.33.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 31 04:07:11 2021 Received: (at 50449) by debbugs.gnu.org; 31 Oct 2021 08:07:11 +0000 Received: from localhost ([127.0.0.1]:58907 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mh5ry-0004X9-Ut for submit@debbugs.gnu.org; Sun, 31 Oct 2021 04:07:11 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:38592) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mh5rw-0004Ws-L9; Sun, 31 Oct 2021 04:07:09 -0400 Received: by mail-wm1-f68.google.com with SMTP id a20-20020a1c7f14000000b003231d13ee3cso14982029wmd.3; Sun, 31 Oct 2021 01:07:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=K167F52GvV9eIv8sIqUdIQSlSWX3UaKokLDmvTGaxXE=; b=MMcnU/o+//ZSVcPAB3PsBH3LJ25loehiIdBgyMoof53evEQ+A8Bpl2bLwwv2e8ECyx b5XF9ZTL1t7N0kcBI1Tow5G06yRpwjufvPqxoeU9n48TfSD/G/3Pr93ggwvTdL8PBb6u PugS+EpMAh9ElC051NnJIu/8O4krPFJPM3dyhGKiBC0aUTBzf+Xiz94tOOQXD7SMW/ZD lTHJVZsBTZOpKB9XsMNiaYe97BHRBBjnRK5xXENIpq/h1+KB1oSsXmi9ds59XpW6aG6L VP4OGqJygCPwp8mJ8yMBkK8CU5MgJeVcMeNL0yNY+3c2UlfQoxNEo61/rbA1meBqSKje GO7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=K167F52GvV9eIv8sIqUdIQSlSWX3UaKokLDmvTGaxXE=; b=VbjTm3tg7TNSLXEmrY2n2HTy4U4blOxeOaD2RgFJzHHI9hR4OlsLpfFpj6UeyoNwJ8 qClooNZo50HBrmokJ78L41gr19+uFkwvHUCDIPU5jt3PLc0o9fe7v2ijEGWFYs1aLVbd hUU9KL1QRVsGFRDTf83EPIOhFxjWzaISpkvE1+X9DbsQf2xZYXYDyUadFRpSM5Q9g4Yu MvhoN+SkY2W29ZRIwLgHmQlrsf/HlgGVDpJlrg8sDcuclW8UT98DlSza+rRIYfs7NA/P gTdrX6c5cQHxW0kLpmoYbBWcfiiGzL7L0U5PMVR3pbMgcdnHrBW9z9fxS2uDMoqr/T8q BiuQ== X-Gm-Message-State: AOAM5333XU7qPyaoZbq6xCBeZZHd3RmnKwWcuu3HnYBtDp4UNC12pKQw vZxFqsLOUizNiPkA2xKpXEU= X-Google-Smtp-Source: ABdhPJxi34mlyEDgAnqFgfNHTQWn0l95a/WAVseq4Lvk1jkw2do9Rq0wAK3TjYszdd0Ib8shTzaRHA== X-Received: by 2002:a7b:cf0f:: with SMTP id l15mr20184638wmg.92.1635667622884; Sun, 31 Oct 2021 01:07:02 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id s24sm178400wmj.26.2021.10.31.01.07.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Oct 2021 01:07:02 -0700 (PDT) Message-ID: Subject: Re: [PATCH v5] gnu: Add zig. From: Liliana Marie Prikler To: Sarah Morgensen Date: Sun, 31 Oct 2021 09:06:59 +0100 In-Reply-To: <5ab728b993bf511df7d71cb6781fc10c58aaff6d.camel@gmail.com> References: <867df6kesn.fsf@mgsn.dev> <5ab728b993bf511df7d71cb6781fc10c58aaff6d.camel@gmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 50449 Cc: 47006@debbugs.gnu.org, =?UTF-8?Q?Andr=C3=A1s_V=C3=B6r=C3=B6sk=C5=91i?= , 50449@debbugs.gnu.org, maximedevos@telenet.be, efraim@flashner.co.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) I've now pushed this with the following change: Am Donnerstag, den 09.09.2021, 15:32 +0200 schrieb Liliana Prikler: > + ("lld" ,lld-12))) lld is lld. Thanks, everyone, and enjoy your zig. From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 31 04:20:58 2021 Received: (at control) by debbugs.gnu.org; 31 Oct 2021 08:20:58 +0000 Received: from localhost ([127.0.0.1]:58919 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mh65K-0004r4-KZ for submit@debbugs.gnu.org; Sun, 31 Oct 2021 04:20:58 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:42537) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mh65J-0004qr-3C for control@debbugs.gnu.org; Sun, 31 Oct 2021 04:20:57 -0400 Received: by mail-wr1-f67.google.com with SMTP id v17so23498371wrv.9 for ; Sun, 31 Oct 2021 01:20:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:date:user-agent:mime-version :content-transfer-encoding; bh=AIZXZbl2Al1jPq3beNmwMDAy+q916ihQonubDRoy7LA=; b=TsFpInmmAVek1VioTQax9zyNCZwV0fOuX9G3Ffkhb0l6m0zdcTVSD8NCcSkJOVamaP CEk2wluHjdRwu/NjBKMzMSyVIZRHlB47lpNIERg4VMLeYT5op0Bv3PzffYJpGZY1448W KOV565hY4SmrRgs84NBl07zlgG8iQeqYI4m5fMwRQJG+Sgmj1r1AEEey4IcoHKb5sv9R TiOmbE7ZEf0TnMDCx2LbYvm+7hggcX0gotdFkYXVAOkPZv9G8Slg7z50lwKCf/K4E6Gt PEipKMl9OapKAWuT5Onc4BSNDUoKbxD1gIgX6qwNTL4TM+gCylMRIs8V/LvouVBmGr/7 RdNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:date:user-agent :mime-version:content-transfer-encoding; bh=AIZXZbl2Al1jPq3beNmwMDAy+q916ihQonubDRoy7LA=; b=5fA2W5ge7E9857yKEJx0trnrnDZdDsJ0oGfNya3FNoX+1vHv5P/jhaH7dVZYaMkjWy xpcIwl1RiSuCWcDEfTbp8JzdnM/EeGyEIDsnkKiTl8FhUNjszqPdYFZyY74G7of5jrTd Jnqo+smOy90irz9lnE3br+jtz53ee4BFe+cfmV64cvpvfLet3X0Q3Z7JwqODJhRgnyla qqKxWz07bgrJ6faPmg9hqBAV+DI/24NyWI/cbKp+PgRwFdUvzTQiSTq4m1VkFQEgsCgZ cQMi+ZSU2JMqlKiAFKx2kfMpboWsGB+y75vgosPoh7tBepR5hL+PFRo3en+A53HYxkMs 42Sg== X-Gm-Message-State: AOAM531c27YcbUKE2RtCdpG0QvZVuTHn7FGhLfk/hpeVbfdbbyPk0Mhu D99PFnYXJrBVwlN91G59HsTJ6r73g0VH3A== X-Google-Smtp-Source: ABdhPJxOcRy0uGx/groasUzLN/NSK5zxyeRUHE+YN1fvbQabUH/JAKnA3KmqWhODGJwwL1IQ2EBsuA== X-Received: by 2002:a5d:468f:: with SMTP id u15mr14180470wrq.171.1635668451242; Sun, 31 Oct 2021 01:20:51 -0700 (PDT) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id v6sm12496809wrx.17.2021.10.31.01.20.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Oct 2021 01:20:50 -0700 (PDT) Message-ID: Subject: Re: [PATCH v5] gnu: Add zig. From: Liliana Marie Prikler To: control@debbugs.gnu.org Date: Sun, 31 Oct 2021 09:20:48 +0100 Content-Type: text/plain User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) close 47006 close 50449 thanks From unknown Mon Aug 18 11:12:32 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 28 Nov 2021 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator