From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] [PATCH] home: Add home-snuik-service. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: andrew@trop.in, janneke@gnu.org, ludo@gnu.org, maxim.cournoyer@gmail.com, tanguy@bioneland.org, guix-patches@gnu.org Resent-Date: Tue, 11 Mar 2025 21:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76963@debbugs.gnu.org Cc: Andrew Tropin , Janneke Nieuwenhuizen , Ludovic =?UTF-8?Q?Court=C3=A8s?= , Maxim Cournoyer , Tanguy Le Carrour X-Debbugs-Original-To: guix-patches@gnu.org X-Debbugs-Original-Xcc: Andrew Tropin , Janneke Nieuwenhuizen , Ludovic =?UTF-8?Q?Court=C3=A8s?= , Maxim Cournoyer , Tanguy Le Carrour Received: via spool by submit@debbugs.gnu.org id=B.174173011120976 (code B ref -1); Tue, 11 Mar 2025 21:56:01 +0000 Received: (at submit) by debbugs.gnu.org; 11 Mar 2025 21:55:11 +0000 Received: from localhost ([127.0.0.1]:46160 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ts7Z8-0005Ry-QT for submit@debbugs.gnu.org; Tue, 11 Mar 2025 17:55:11 -0400 Received: from lists.gnu.org ([2001:470:142::17]:38140) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ts7Z4-0005LL-Ly for submit@debbugs.gnu.org; Tue, 11 Mar 2025 17:55:07 -0400 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 1ts7Yy-0004de-6q for guix-patches@gnu.org; Tue, 11 Mar 2025 17:55:00 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ts7Yw-0001AM-Ie; Tue, 11 Mar 2025 17:54:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=ctyaAHo2eM1h5eGpH8YM7seW/Oo17RSWz685P1EPAAA=; b=pbK62NnlsARkxV MlZFKMNZTatA8CtTHDLr4i6Rjns0aB/3dEeVWGJuOWQIcHsfznlZGhlCBVrL70fwz3LUOlHe+iFVk VwLLsUzN6Cc3O+xzTvM/L7Kk0tNOum9+7RI4/rJ7xx6o2lgjOed34LNx5eV0/D/iySYoX6mDORp31 zbCqQ6ij96g/7debWp6P4nXvOlY6UkUg2TvXx0PI//3S5x3yqkBeTtgv6oYaIeHbslv2tiURFhph2 kOWFF14hQUmX6Iwp4IONToDhbRHoYo/6SJTI3iIJjfq9Sb0ANk/3lUJg3afMKfxpeHvoOczHdTn5h /AXCsW0rEBY8HyodgOig==; From: Janneke Nieuwenhuizen Date: Tue, 11 Mar 2025 22:54:55 +0100 Message-ID: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> X-Mailer: git-send-email 2.47.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) 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 (-) * gnu/home/services/messaging.scm (): New type. (home-snuik-services, home-snuik-service-type): New procedures. * doc/guix.texi (Messaging Home Services): Document it. Change-Id: I1e278e7d8ed04efcb1a2ce9e12e69cb6a31a9fa4 --- doc/guix.texi | 58 ++++++++++++++++++++++++- gnu/home/services/messaging.scm | 77 ++++++++++++++++++++++++++++++++- 2 files changed, 132 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index d109877a32..f35e156376 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -36,7 +36,7 @@ Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@* -Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Janneke Nieuwenhuizen@* +Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Janneke Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* @@ -49714,6 +49714,62 @@ Messaging Home Services @end table @end deftp +@cindex snuik +The @uref{https://gitlab.com/janneke/snuik, Snuik IRC bot} can be run as +a daemon to aid talking to users that are currently off-line. With the +@code{(gnu home services messaging)} service, you can configure Snuik to +run upon login. + +Here is an example of a service and its configuration that you could add +to the @code{services} field of your @code{home-environment}: + +@lisp +(service home-snuik-service-type + (home-snuik-configuration + (password-file ".password.snuik") + (channels '("#bootstrappable" + "#dezyne" + "#guix-risc-v" + "#lilypond")))) +@end lisp + +@defvar home-snuik-service-type +This is the type of the Snuik home service, whose value is a +@code{home-snuik-configuration} object. +@end defvar + +@deftp {Data Type} home-snuik-configuration +Available @code{home-snuik-configuration} fields are: + +@table @asis +@item @code{snuik} (default: @code{snuik}) (type: file-like) +The Snuik package to use. + +@item @code{server} (default: @code{"irc.libera.chat"}) +The IRC server to connect to. + +@item @code{port} (default: @code{6665}) +Port number used by the IRC server. + +@item @code{nick} (default: @code{"snuik"}) +The nickname for snuik to use. + +@item @code{password} (default: @code{#f}) +The password to use when logging in. + +@item @code{password-file} (default: @code{".password.}) +The file to read the password from to use when logging in. + +@item @code{channels} (default: @code{'("##botchat")}) +The channels for snuik to join, a list of strings. + +@item @code{extra-options} (default: @code{'()}) +Extra options will be passed to @command{snuik}, please run +@command{snuik --help } for more information. + +@end table +@end deftp + @node Media Home Services @subsection Media Home Services diff --git a/gnu/home/services/messaging.scm b/gnu/home/services/messaging.scm index bd2f1bb23f..be2a3436ba 100644 --- a/gnu/home/services/messaging.scm +++ b/gnu/home/services/messaging.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2023 Janneke Nieuwenhuizen +;;; Copyright © 2023, 2025 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,12 +20,15 @@ (define-module (gnu home services messaging) #:use-module (srfi srfi-26) #:use-module (gnu home services) #:use-module (gnu home services shepherd) + #:use-module (gnu packages irc) #:use-module (gnu packages messaging) #:use-module (gnu services configuration) #:use-module (gnu services shepherd) #:use-module (guix records) #:use-module (guix gexp) - #:export (home-znc-configuration + #:export (home-snuik-configuration + home-snuik-service-type + home-znc-configuration home-znc-service-type)) ;;; @@ -64,3 +67,73 @@ (define home-znc-service-type (description "Install and configure @command{znc}, an @acronym{IRC, Internet Relay Chat} bouncer, as a Shepherd service."))) + + +;;; +;;; Snuik. +;;; +(define-record-type* + home-snuik-configuration make-home-snuik-configuration + home-snuik-configuration? + (snuik home-snuik-snuik ;file-like + (default snuik)) + (server home-snuik-server ;string + (default #f)) + (port home-snuik-port ;integer + (default #f)) + (nick home-snuik-nick ;string + (default #f)) + (password home-snuik-password ;string + (default #f)) + (password-file home-snuik-password-file ;string + (default #f)) + (channels home-snuik-channels ;list of string + (default '())) + (extra-options home-snuik-extra-options ;list of string + (default '()))) + +(define (home-snuik-services config) + "Return a for snuik with CONFIG." + (match-record config + + (snuik server port nick password password-file channels extra-options) + (let* ((snuik (file-append snuik "/bin/snuik")) + (command #~'(#$snuik + #$@(if server + #~("--server" #$server) + #~()) + #$@(if port + #~("--port" (number->string port)) + #~()) + #$@(if nick + #~("--nick" nick) + #~()) + #$@(if password + #~("--password" password) + #~()) + #$@(if password-file + #~("--password-file" password-file) + #~()) + #$@(if (pair? channels) + #~("--channels" (string-join channels ",")) + #~()) + #$@extra-options)) + (log-file #~(string-append %user-log-dir "/snuik.log"))) + (list (shepherd-service + (documentation "Run the snuik IRC bot.") + (provision '(snuik)) + (modules '((shepherd support))) ;for '%user-log-dir' + (start #~(make-forkexec-constructor #$command + #:log-file #$log-file)) + (stop #~(make-kill-destructor))))))) + +(define home-snuik-service-type + (service-type + (name 'home-snuik) + (default-value (home-snuik-configuration)) + (extensions + (list (service-extension home-shepherd-service-type + home-snuik-services))) + (description + "Install and configure the Snuik IRC bot so that it runs as a Shepherd +service."))) base-commit: d685a45edf0f89e5876ffc9d880068d8610e5f8a -- 2.47.1 From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] [PATCH] home: Add home-snuik-service. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 12 Mar 2025 12:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Janneke Nieuwenhuizen Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Tanguy Le Carrour , 76963@debbugs.gnu.org, Andrew Tropin Received: via spool by 76963-submit@debbugs.gnu.org id=B76963.174178368420598 (code B ref 76963); Wed, 12 Mar 2025 12:49:01 +0000 Received: (at 76963) by debbugs.gnu.org; 12 Mar 2025 12:48:04 +0000 Received: from localhost ([127.0.0.1]:47793 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tsLVD-0005M9-DA for submit@debbugs.gnu.org; Wed, 12 Mar 2025 08:48:04 -0400 Received: from mail-yw1-x1130.google.com ([2607:f8b0:4864:20::1130]:53687) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tsLV9-0005LX-4n for 76963@debbugs.gnu.org; Wed, 12 Mar 2025 08:48:00 -0400 Received: by mail-yw1-x1130.google.com with SMTP id 00721157ae682-6feb229b716so60352937b3.3 for <76963@debbugs.gnu.org>; Wed, 12 Mar 2025 05:47:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741783671; x=1742388471; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=vGHTy6mNbddS9Rit+8vzXCYDM8kY+0EZ1ykqhcImobE=; b=DYwank68aWIqa8n81GP8QPxM4C1bdgeZU8vNrNr8UimZ7cY62iczANovpG+gOzelUv Q2csHkTImnWs426COXh7y2EZZzNe2fwiuRDTniAoC/KDxYDe5XwIbaHAi4qQiRuCd5TN 22NAz3xRAVIUpqXNRZx5md/f3DfoYMkz0Dhr0NxMzSjXhaBroLydnoAlt4r/R56Ja8Bs PBoarGs19gj1QZtjYdW60+Rh6G2DzPbRBczxOzEBKuaumobNAHiOP93rTUlWr+jLt9Ms GIVYxd+xYBuQFT8y48R0rIChMFJS0kXDTVWJA2Y4Nt1oT2IRkiao2zBYsQDyN6xnTUFr ZscQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741783671; x=1742388471; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vGHTy6mNbddS9Rit+8vzXCYDM8kY+0EZ1ykqhcImobE=; b=sChISbBxq0ypPTlD2UGiHraMe4xqHNT7yyb3rhbhXo9CIyu8Z6EEETS4woPpUHchub NWWXSgn1lSnxOYgJHxqvbboAcurVhGuw4TfKo+CNcRW4fgNtUF18eH+BKTabNm+J4nXg hRVttBFMyoAsVDYs2PYk0mRpZRKfhtcPNc3uRH/JvcmTrthLkT8Ee8kF9+lQqfN+oP3g P4E2qzXDie2i4tVBe8kC7cqS/2LQcjmcl+4IBEsZuHSWfZ3HP4iwdSpmqyQksMcFMR6j pTrf2pPkM+gm3IVETKGZw0LL+RI/5i0Z3iXnwEkhbmapPlSvXdCXy3jjQXPm64LCoK4C VtPw== X-Gm-Message-State: AOJu0YxXB3aIFTMptBe23rdV4wpCyXCQsSBU3HxYoybWSN0BZC/CDUAs yI4Pd8uEUFyxdpH31J0o4o1W8Mv6pyzuvLYgRthZG5mMpwT8Nk7m X-Gm-Gg: ASbGnculzOqk2xNDOVzqtJjLcBA39seGC/lF6VNFndBeBrJk4Iv8zbDoPOXEdmwX2iX rN1W4+Ikig+AJHMO8nLtz8oHCTWUq9noS8j33Vcr6sLupSd/1+rNSqNBmejCiagckwcUZfq+rPy KHdBBSOnmo9ppSL7tDsT4KOoQUFW5wi5v5J/fkWV+kGFs9ntlP43BG1OW9mbqVr399CZr1HtXw7 k2Os/Uk0oy5M1pA+jgKnZtwbdtkLLVmJbbo6RvnjZ2B4kUrUBpGu5DmuFjrgI9hx8nzthEZFJaM eBiI+6vF7cLfU05CcCXWkisPadR47hjIEiDxEubKpq54evFIcQ+x/kNTTxAZ1aax/w== X-Google-Smtp-Source: AGHT+IFQpupOM6yWceSzz1LhQJFBu5waV9SbkmhoQ6CL8mnHBEZ9fRB2Ff2MbrGYzunVA4Bs98Z0Pw== X-Received: by 2002:a05:690c:7207:b0:6fd:47c1:fce4 with SMTP id 00721157ae682-6febf329b15mr285924607b3.22.1741783671191; Wed, 12 Mar 2025 05:47:51 -0700 (PDT) Received: from terra (vps-6234970c.vps.ovh.ca. [51.222.13.224]) by smtp.gmail.com with ESMTPSA id 00721157ae682-6feb2a1c44esm31180477b3.4.2025.03.12.05.47.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Mar 2025 05:47:50 -0700 (PDT) From: Maxim Cournoyer In-Reply-To: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> (Janneke Nieuwenhuizen's message of "Tue, 11 Mar 2025 22:54:55 +0100") References: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> Date: Wed, 12 Mar 2025 21:47:35 +0900 Message-ID: <877c4ufmag.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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 Janneke! Janneke Nieuwenhuizen writes: > * gnu/home/services/messaging.scm (): New type. > (home-snuik-services, home-snuik-service-type): New procedures. > * doc/guix.texi (Messaging Home Services): Document it. > > Change-Id: I1e278e7d8ed04efcb1a2ce9e12e69cb6a31a9fa4 > --- > doc/guix.texi | 58 ++++++++++++++++++++++++- > gnu/home/services/messaging.scm | 77 ++++++++++++++++++++++++++++++++- Wouldn't such a service be a more natural match for a system service? It seems like something I'd like running on a headless server. > 2 files changed, 132 insertions(+), 3 deletions(-) > > diff --git a/doc/guix.texi b/doc/guix.texi > index d109877a32..f35e156376 100644 > --- a/doc/guix.texi > +++ b/doc/guix.texi > @@ -36,7 +36,7 @@ > Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* > Copyright @copyright{} 2016 John Darrington@* > Copyright @copyright{} 2016, 2017 Nikita Gillmann@* > -Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Janneke Nieuwenhuizen@* > +Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Janneke Nieuwenhuizen@* Maybe use 2016-2025 :-). > Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* > Copyright @copyright{} 2016 Alex ter Weele@* > Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* > @@ -49714,6 +49714,62 @@ Messaging Home Services > @end table > @end deftp > > +@cindex snuik > +The @uref{https://gitlab.com/janneke/snuik, Snuik IRC bot} can be run as > +a daemon to aid talking to users that are currently off-line. With the > +@code{(gnu home services messaging)} service, you can configure Snuik to > +run upon login. nitpick: I've only ever seen 'offline' spelled as a single word. [...] > + > +;;; > +;;; Snuik. > +;;; > +(define-record-type* > + home-snuik-configuration make-home-snuik-configuration > + home-snuik-configuration? > + (snuik home-snuik-snuik ;file-like > + (default snuik)) > + (server home-snuik-server ;string > + (default #f)) > + (port home-snuik-port ;integer > + (default #f)) > + (nick home-snuik-nick ;string > + (default #f)) > + (password home-snuik-password ;string > + (default #f)) > + (password-file home-snuik-password-file ;string > + (default #f)) > + (channels home-snuik-channels ;list of string > + (default '())) > + (extra-options home-snuik-extra-options ;list of string > + (default '()))) I'd use define-configuration/no-serialization from (gnu services configuration), which will type-check the field values and produce useful errors in case of a mistake, which is more useful than a comment in the source file :-). > +(define (home-snuik-services config) > + "Return a for snuik with CONFIG." > + (match-record config > + > + (snuik server port nick password password-file channels extra-options) > + (let* ((snuik (file-append snuik "/bin/snuik")) > + (command #~'(#$snuik > + #$@(if server > + #~("--server" #$server) > + #~()) > + #$@(if port > + #~("--port" (number->string port)) > + #~()) > + #$@(if nick > + #~("--nick" nick) > + #~()) > + #$@(if password > + #~("--password" password) > + #~()) > + #$@(if password-file > + #~("--password-file" password-file) > + #~()) > + #$@(if (pair? channels) > + #~("--channels" (string-join channels ",")) > + #~()) > + #$@extra-options)) > + (log-file #~(string-append %user-log-dir "/snuik.log"))) > + (list (shepherd-service > + (documentation "Run the snuik IRC bot.") > + (provision '(snuik)) > + (modules '((shepherd support))) ;for '%user-log-dir' > + (start #~(make-forkexec-constructor #$command > + #:log-file #$log-file)) > + (stop #~(make-kill-destructor))))))) Can home services use the least-authority-wrapper to containerize the processes? If yes, that'd be nice to use it. -- Thanks, Maxim From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] [PATCH] home: Add home-snuik-service. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 12 Mar 2025 15:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxim Cournoyer Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Tanguy Le Carrour , 76963@debbugs.gnu.org, Andrew Tropin Received: via spool by 76963-submit@debbugs.gnu.org id=B76963.174179407622249 (code B ref 76963); Wed, 12 Mar 2025 15:42:02 +0000 Received: (at 76963) by debbugs.gnu.org; 12 Mar 2025 15:41:16 +0000 Received: from localhost ([127.0.0.1]:51322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tsOCp-0005mn-ME for submit@debbugs.gnu.org; Wed, 12 Mar 2025 11:41:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36218) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tsOCn-0005mX-3B for 76963@debbugs.gnu.org; Wed, 12 Mar 2025 11:41:13 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tsOCg-00043h-HE; Wed, 12 Mar 2025 11:41:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=/xZUng0pNJ3eZS/3K5MoNQD9kjL5moz3LTf+o9dOw7w=; b=o2JXlKMOzRT0Ome5aJyh MeLr/iX/KoRAtMScSW9ObthVMt7puErUbYA6X5MsgiijIGTgOaBFEHrAQ5Z6yfEZ2AbgMpRXnTLqf qzrgbGmdGH9m+Zt/NTFi2etGKiyFCM5ziDZQDRydU/L8R4bFNQZU4QGpeeuxLpAy3rA2CZa+417sX FXnBHCURPdSBJLaTUaSiMZ+On9dX1NAgH4ZJYFraYCXc1x8juVMnScxjgjjxa0To8lMiPt8sLXWIy XIqqgnWR78pCwKDaN825pN9acRawMa69L5mJ0M7kmUYzcoRbBK7A9Swo+QHxbO5Qx2S37OfOzcPeo ARlU/W0FITJPvQ==; From: Janneke Nieuwenhuizen In-Reply-To: <877c4ufmag.fsf@gmail.com> (Maxim Cournoyer's message of "Wed, 12 Mar 2025 21:47:35 +0900") Organization: AvatarAcademy.nl References: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> <877c4ufmag.fsf@gmail.com> X-Url: http://AvatarAcademy.nl Date: Wed, 12 Mar 2025 16:40:56 +0100 Message-ID: <87ikoel0jb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) 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: -3.3 (---) Maxim Cournoyer writes: Hi Maxim, > Janneke Nieuwenhuizen writes: > >> * gnu/home/services/messaging.scm (): New type. >> (home-snuik-services, home-snuik-service-type): New procedures. >> * doc/guix.texi (Messaging Home Services): Document it. >> >> Change-Id: I1e278e7d8ed04efcb1a2ce9e12e69cb6a31a9fa4 >> --- >> doc/guix.texi | 58 ++++++++++++++++++++++++- >> gnu/home/services/messaging.scm | 77 ++++++++++++++++++++++++++++++++- > > Wouldn't such a service be a more natural match for a system service? > It seems like something I'd like running on a headless server. I suppose you're right. I've been thinking about that but am not too thrilled of running snuik v0.2 as root. I'll make it a system service and use (for-home ...) to provide a home service. Using the least-authority-wrapper should (thanks for mentioning that, I wasn't aware of this feature!) address my concerns about taking this route. >> 2 files changed, 132 insertions(+), 3 deletions(-) >> >> diff --git a/doc/guix.texi b/doc/guix.texi >> index d109877a32..f35e156376 100644 >> --- a/doc/guix.texi >> +++ b/doc/guix.texi >> @@ -36,7 +36,7 @@ >> Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 E= fraim Flashner@* >> Copyright @copyright{} 2016 John Darrington@* >> Copyright @copyright{} 2016, 2017 Nikita Gillmann@* >> -Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, = 2024 Janneke Nieuwenhuizen@* >> +Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, = 2024, 2025 Janneke Nieuwenhuizen@* > > Maybe use 2016-2025 :-). Hmm. I thought you needed to have a special exception in the README to be able for that to hold up in court. I've been postponing to look into this mess (I used to be too heavily into copyright in my LilyPond years). However, it seems today is the day :) >From --8<---------------cut here---------------start------------->8--- You can use a range (=E2=80=982008-2010=E2=80=99) instead of listing indivi= dual years (=E2=80=982008, 2009, 2010=E2=80=99) if and only if: 1) every year in the r= ange, inclusive, really is a =E2=80=9Ccopyrightable=E2=80=9D year that would be l= isted individually; and 2) you make an explicit statement in a README file about this usage. --8<---------------cut here---------------end--------------->8--- Sadly, the manual does not seem to give a template to use for this, and I have learnt to stay away from authoring legal texts. I just asked gnu-prog-discuss about this. I cannot find such a statement in the Guix README? Ludo'? >> +The @uref{https://gitlab.com/janneke/snuik, Snuik IRC bot} can be run as >> +a daemon to aid talking to users that are currently off-line. With the >> +@code{(gnu home services messaging)} service, you can configure Snuik to >> +run upon login. > > nitpick: I've only ever seen 'offline' spelled as a single word. The numbers --8<---------------cut here---------------start------------->8--- 15:53:37 janneke@glimdal:~/src/guix/core-packages-team=20 $ git grep off-line |wc -l 39 15:54:23 janneke@glimdal:~/src/guix/core-packages-team=20 $ git grep offline |wc -l 448 --8<---------------cut here---------------end--------------->8--- are overwhelmingly in your favor, so I'll take your suggestion, thanks :) =20 >> + >> +;;; >> +;;; Snuik. >> +;;; >> +(define-record-type* >> + home-snuik-configuration make-home-snuik-configuration >> + home-snuik-configuration? >> + (snuik home-snuik-snuik ;file-like >> + (default snuik)) [..] > I'd use define-configuration/no-serialization from (gnu services configur= ation), which > will type-check the field values and produce useful errors in case of a > mistake, which is more useful than a comment in the source file :-). Ok. >> +(define (home-snuik-services config) [..] >> + (start #~(make-forkexec-constructor #$command >> + #:log-file #$log-file)) >> + (stop #~(make-kill-destructor))))))) > > Can home services use the least-authority-wrapper to containerize the > processes? If yes, that'd be nice to use it. Looking at dicod-shepherd-service, it has (if home-service?...) and uses the least-authority-wrapper. I'm wondering how this works for read access to the password-file and read/write access to snuik's database store directory but I'll look into this. Thanks for your very useful comments, I've got some homework! :) I intend to send a v2 with system+home service and least-authority-wrapper...but I need to learn a few things about bothe these things and then also do some testing. Greetings, Janneke --=20 Janneke Nieuwenhuizen | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar=C2=AE https://AvatarAcade= my.com From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] [PATCH] home: Add home-snuik-service. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 12 Mar 2025 19:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxim Cournoyer Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Tanguy Le Carrour , 76963@debbugs.gnu.org, Andrew Tropin Received: via spool by 76963-submit@debbugs.gnu.org id=B76963.174180686628782 (code B ref 76963); Wed, 12 Mar 2025 19:15:02 +0000 Received: (at 76963) by debbugs.gnu.org; 12 Mar 2025 19:14:26 +0000 Received: from localhost ([127.0.0.1]:51726 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tsRX8-0007U9-84 for submit@debbugs.gnu.org; Wed, 12 Mar 2025 15:14:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45238) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tsRX5-0007Ts-GA for 76963@debbugs.gnu.org; Wed, 12 Mar 2025 15:14:24 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tsRWx-0000b1-Jj; Wed, 12 Mar 2025 15:14:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=C9sAbmoCe4RT1mpfHOUa/QbZx6/ZwTx00OYUqV6e+NQ=; b=NB75Vv5JklDJvkj4FvG6 mm3/6NKLE2xrPr2lpo9U5UXk+vzTSTgNAG+1ehMb6mTwdJjPIr1ixHHQVRVuxYi2KAwv9LjBXmxp6 wmfeV4gHMEtvWcG3vRyeF8FqOb8BP7ywDnwiFEAjEnEZLNp92H/xi+IfSego3vAeYiq3qEA4V5hxy 0NSw6LuWECZMNUwgi90/5DOk+W2epB4vfk/ElY64uNzFY3EBmMVHE+B3u/KkywyDyOR98OMNGlocH UpS1lmUyS+F3DB+vSSBqPR+njpGEGy3ZflZykdy5CuhIBEqJ4Dlp85FmqMHFtTfOHH4htykGP+maL x4YjrK0ENQtAAA==; From: Janneke Nieuwenhuizen In-Reply-To: <87ikoel0jb.fsf@gnu.org> (Janneke Nieuwenhuizen's message of "Wed, 12 Mar 2025 16:40:56 +0100") Organization: AvatarAcademy.nl References: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> <877c4ufmag.fsf@gmail.com> <87ikoel0jb.fsf@gnu.org> X-Url: http://AvatarAcademy.nl Date: Wed, 12 Mar 2025 20:14:11 +0100 Message-ID: <87cyemgiyk.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) 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: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Janneke Nieuwenhuizen writes: [..] >>> diff --git a/doc/guix.texi b/doc/guix.texi >>> index d109877a32..f35e156376 100644 >>> --- a/doc/guix.texi >>> +++ b/doc/guix.texi >>> @@ -36,7 +36,7 @@ >>> Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 = Efraim Flashner@* >>> Copyright @copyright{} 2016 John Darrington@* >>> Copyright @copyright{} 2016, 2017 Nikita Gillmann@* >>> -Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,= 2024 Janneke Nieuwenhuizen@* >>> +Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,= 2024, 2025 Janneke Nieuwenhuizen@* >> >> Maybe use 2016-2025 :-). > > Hmm. I thought you needed to have a special exception in the README to > be able for that to hold up in court. I've been postponing to look into > this mess (I used to be too heavily into copyright in my LilyPond years). > However, it seems today is the day :) > > From > > You can use a range (=E2=80=982008-2010=E2=80=99) instead of listing indi= vidual years > (=E2=80=982008, 2009, 2010=E2=80=99) if and only if: 1) every year in the= range, > inclusive, really is a =E2=80=9Ccopyrightable=E2=80=9D year that would be= listed > individually; and 2) you make an explicit statement in a README file > about this usage. > > Sadly, the manual does not seem to give a template to use for this, and > I have learnt to stay away from authoring legal texts. I just asked > gnu-prog-discuss about this. > > I cannot find such a statement in the Guix README? Ludo'? Emacs uses --8<---------------cut here---------------start------------->8--- In copyright notices where the copyright holder is the Free Software Foundation, then where a range of years appears, this is an inclusive range that applies to every year in the range. For example: 2005-2008 represents the years 2005, 2006, 2007, and 2008. --8<---------------cut here---------------end--------------->8--- so I propose the attached patch. WDYT? Greetings, Janneke --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-doc-Add-note-on-copyright-ranges-to-README.patch >From 571705169251caeb5cdacc9418dc5665880f9008 Mon Sep 17 00:00:00 2001 Message-ID: <571705169251caeb5cdacc9418dc5665880f9008.1741806833.git.janneke@gnu.org> From: Janneke Nieuwenhuizen Date: Wed, 12 Mar 2025 19:48:26 +0100 Subject: [PATCH] doc: Add note on copyright ranges to README. * README (Note On Copyright Years): New section. Change-Id: I1b2f8ed544dc83c38479e944ae6e08ddbcafdf35 --- README | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README b/README index b9f36f8344..edf1215704 100644 --- a/README +++ b/README @@ -108,3 +108,9 @@ but exposes all the API as Scheme. - The [[https://www.gnu.org/s/gsrc/][GNU Source Release Collection]] (GSRC) is a user-land software distribution; unlike Guix, it relies on core tools available on the host system + +* Note On Copyright Years + +In copyright notices where a range of years appears, this is an inclusive +range that applies to every year in the range. For example: 2005-2008 +represents the years 2005, 2006, 2007, and 2008. base-commit: dec40dd50f3490d5b96d19d98d54782ee2fb02a9 prerequisite-patch-id: d6040718f85c458c1ec6e7e7b1292fdd5b4a32d4 prerequisite-patch-id: 0b629b0cc9b64ddf9d00974018855b6f4f0d57b1 -- 2.47.1 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable --=20 Janneke Nieuwenhuizen | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar=C2=AE https://AvatarAcade= my.com --=-=-=-- From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] [PATCH] home: Add home-snuik-service. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 12 Mar 2025 19:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxim Cournoyer Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Tanguy Le Carrour , 76963@debbugs.gnu.org, Andrew Tropin Received: via spool by 76963-submit@debbugs.gnu.org id=B76963.174180831812663 (code B ref 76963); Wed, 12 Mar 2025 19:39:02 +0000 Received: (at 76963) by debbugs.gnu.org; 12 Mar 2025 19:38:38 +0000 Received: from localhost ([127.0.0.1]:51794 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tsRuX-0003IA-KZ for submit@debbugs.gnu.org; Wed, 12 Mar 2025 15:38:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38942) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tsRuV-0003Ht-1V for 76963@debbugs.gnu.org; Wed, 12 Mar 2025 15:38:36 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tsRuG-000575-M8; Wed, 12 Mar 2025 15:38:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=BfB3v2XLWKP8mvjmLI2EAxCBHEfxNxI0NsnYcm4Jx74=; b=oNo+hIJHrpU/J4Yuq+Uw vZ6efXkzKD0fpYGQYnWSPj4jwXOqRgfkVs4VO0So0E9VuFiQQ352Fc73koUUA5Qjqrm86otzErLU+ USJEddUmWUjswlKWN3i8ETZLbYDkj8GAEuI0luhRx6tsGbtFQv4bQa+9qKkvV6yu8RAK7mwJIdYld kB+1z8V0U8t5W14R86/Gieco25kwuMhlKJUWH3uO6TTOaXPs9BmfFqM6sAcvMFBz4YJkkud1FWbHC yDGb9WoCXp0apy//9bLUUbwZTixekJ0TwVeejgEt5Jtzvt0oKzIOW5NkfQV83ImgvlyTEFekSBm1b w8rIgG1hQq14dw==; From: Janneke Nieuwenhuizen In-Reply-To: <87cyemgiyk.fsf@gnu.org> (Janneke Nieuwenhuizen's message of "Wed, 12 Mar 2025 20:14:11 +0100") Organization: AvatarAcademy.nl References: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> <877c4ufmag.fsf@gmail.com> <87ikoel0jb.fsf@gnu.org> <87cyemgiyk.fsf@gnu.org> X-Url: http://AvatarAcademy.nl Date: Wed, 12 Mar 2025 20:38:14 +0100 Message-ID: <87msdqf3a1.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) 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: -3.3 (---) Janneke Nieuwenhuizen writes: > Janneke Nieuwenhuizen writes: > > [..] >>>> diff --git a/doc/guix.texi b/doc/guix.texi >>>> index d109877a32..f35e156376 100644 >>>> --- a/doc/guix.texi >>>> +++ b/doc/guix.texi >>>> @@ -36,7 +36,7 @@ >>>> Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023= Efraim Flashner@* >>>> Copyright @copyright{} 2016 John Darrington@* >>>> Copyright @copyright{} 2016, 2017 Nikita Gillmann@* >>>> -Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023= , 2024 Janneke Nieuwenhuizen@* >>>> +Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023= , 2024, 2025 Janneke Nieuwenhuizen@* >>> >>> Maybe use 2016-2025 :-). >> >> Hmm. I thought you needed to have a special exception in the README to >> be able for that to hold up in court. I've been postponing to look into >> this mess (I used to be too heavily into copyright in my LilyPond years). >> However, it seems today is the day :) >> >> From >> >> You can use a range (=E2=80=982008-2010=E2=80=99) instead of listing ind= ividual years >> (=E2=80=982008, 2009, 2010=E2=80=99) if and only if: 1) every year in th= e range, >> inclusive, really is a =E2=80=9Ccopyrightable=E2=80=9D year that would b= e listed >> individually; and 2) you make an explicit statement in a README file >> about this usage. >> >> Sadly, the manual does not seem to give a template to use for this, and >> I have learnt to stay away from authoring legal texts. I just asked >> gnu-prog-discuss about this. >> >> I cannot find such a statement in the Guix README? Ludo'? > > Emacs uses > > In copyright notices where the copyright holder is the Free Software > Foundation, then where a range of years appears, this is an inclusive > range that applies to every year in the range. For example: 2005-2008 > represents the years 2005, 2006, 2007, and 2008. > > so I propose the attached patch. > > WDYT? Sorry, spoke too soon. The story continues (this is why I shied away from (looking into) using ranges). On gru-prog-discuss, Eli Zaretskii writes (in response to my suggestion) --8<---------------cut here---------------start------------->8--- I think the idea is that you can only vouch for this interpretation when you are the copyright holder. So I think you'd need to mention someone else there instead of the FSF, not just leave it empty. Because for an arbitrary copyright holder, who's to say what they mean by a range of years? But this is just my understanding; IANAL. --8<---------------cut here---------------end--------------->8--- ...TBC Greetings, Janneke --=20 Janneke Nieuwenhuizen | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar=C2=AE https://AvatarAcade= my.com From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] [PATCH v2 1/2] services: Add snuik-service-type. References: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> In-Reply-To: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: ludo@gnu.org, maxim.cournoyer@gmail.com, guix-patches@gnu.org Resent-Date: Thu, 13 Mar 2025 19:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76963@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Maxim Cournoyer X-Debbugs-Original-Xcc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Maxim Cournoyer Received: via spool by 76963-submit@debbugs.gnu.org id=B76963.174189309427996 (code B ref 76963); Thu, 13 Mar 2025 19:12:01 +0000 Received: (at 76963) by debbugs.gnu.org; 13 Mar 2025 19:11:34 +0000 Received: from localhost ([127.0.0.1]:58174 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tsnxs-0007HN-Uk for submit@debbugs.gnu.org; Thu, 13 Mar 2025 15:11:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40664) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tsnxo-0007Gu-O4 for 76963@debbugs.gnu.org; Thu, 13 Mar 2025 15:11:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tsnxi-0007i8-BN; Thu, 13 Mar 2025 15:11:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=LVqY0L1x/cLnRkRJMgPDcrbRsknhhUT8o8cmjt0z8lw=; b=P60h2FSvRO81L5 MUfahh8galS/SsWbIbaIOxkM5WLBR9Zr0dRU1c/Kj5SzbqVgJg12nCCM6upMZSG539lyG83fkCgDb pgpzrrUL6EZMYaknTlqyLwSsxYQAYq7KntfH5HIS6NPjeZHrpqxrxdWHi2PMCU20yz7G2lyL7ZQ/0 CzUxTW69gXRQVqDl84WEjKIo81nyoykICwdmXd/z4BmWGsMaokT9BbiQTiB34YBsEvGWerEeRcYE6 oasTbHAQF3HN5jgCpwgnvvhe33OXdanHe5oM630F1w2RtOYOo9s1NsRjZDvXWgA50A0MWt6f8ra2e AcAgQZjV/AvNzv09izeg==; From: Janneke Nieuwenhuizen Date: Thu, 13 Mar 2025 20:11:03 +0100 Message-ID: X-Mailer: git-send-email 2.47.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) 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: -3.3 (---) * gnu/services/messaging.scm (snuik-configuration): New type. (snuik-services): New procedure. (snuik-activation, %snuik-accounts, snuik-service-type): New variables. * doc/guix.texi (Messaging Services): Document it. Change-Id: I0c52b4804948876dc1b4d3b5ac660af848a13f25 --- doc/guix.texi | 59 ++++++++++++++++++- gnu/services/messaging.scm | 114 ++++++++++++++++++++++++++++++++++++- 2 files changed, 171 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index d109877a32c..083e561e48c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -36,7 +36,7 @@ Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@* -Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Janneke Nieuwenhuizen@* +Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Janneke Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* @@ -30208,6 +30208,63 @@ Messaging Services @end table @end deftp +@cindex irc-bot +@cindex snuik +The @uref{https://gitlab.com/janneke/snuik, Snuik IRC bot} can be run as +a daemon to aid talking to users that are currently offline. With the +@code{(gnu services messaging)} service, you can configure it by adding +a @code{snuik-service-type} service to the @code{services} field of your +operating system declaration. + +@defvar snuik-service-type +This is the type of the Snuik service, whose value is a +@code{snuik-configuration} object. +@end defvar + +Here is an example of a service and its configuration: + +@lisp +(service snuik-service-type + (snuik-configuration + (password-file "/var/run/snuik/.password.snuik") + (channels '("#bootstrappable" + "#dezyne" + "#guix-risc-v" + "#lilypond")))) +@end lisp + +@deftp {Data Type} snuik-configuration +Available @code{snuik-configuration} fields are: + +@table @asis +@item @code{snuik} (default: @code{snuik}) (type: package) +The Snuik package to use. + +@item @code{server} (default: @code{"irc.libera.chat"}) +The IRC server to connect to. + +@item @code{port} (default: @code{6665}) (type: integer) +Port number used by the IRC server. + +@item @code{nick} (default: @code{"snuik"}) (type: string) +The nickname for snuik to use. + +@item @code{password} (default: @code{#f}) (type: string) +The password to use when logging in. + +@item @code{password-file} (default: @code{".password.}) +The file to read the password from to use when logging in. + +@item @code{channels} (default: @code{'("##botchat")}) +The channels for snuik to join, a list of strings. + +@item @code{extra-options} (default: @code{'()}) +Extra options will be passed to @command{snuik}, please run +@command{snuik --help } for more information. + +@end table +@end deftp + @node Telephony Services @subsection Telephony Services diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm index a914d0f89ec..9bfeabacf45 100644 --- a/gnu/services/messaging.scm +++ b/gnu/services/messaging.scm @@ -59,7 +59,10 @@ (define-module (gnu services messaging) bitlbee-service-type quassel-configuration - quassel-service-type)) + quassel-service-type + + snuik-configuration + snuik-service-type)) ;;; Commentary: ;;; @@ -1002,3 +1005,112 @@ (define quassel-service-type "Run @url{https://quassel-irc.org/,quasselcore}, the backend for the distributed IRC client quassel, which allows you to connect from multiple machines simultaneously."))) + + +;;; +;;; Snuik. +;;; +(define-maybe integer (no-serialization)) +(define-configuration/no-serialization snuik-configuration + (snuik (package snuik) "The snuik package to use.") + (server maybe-string "The IRC server to connect to.") + (port maybe-integer "The port used by the IRC server.") + (nick maybe-string "The nickname for snuik to use.") + (password maybe-string "The password to use when logging in.") + (password-file maybe-string "The file to read the password from.") + (channels (list-of-strings '()) "The channels for snuik to join.") + (extra-options (list-of-strings '()) "Extra options to be passed to snuik.") + (home-service? (boolean for-home?) "Running as home service?")) + +(define (snuik-services config) + "Return a for snuik with CONFIG." + (match-record config + + (snuik server port nick password password-file channels extra-options + home-service?) + (let* ((password-file (snuik-configuration-password-file config)) + (mappings `(,@(if home-service? + '() + `(,(file-system-mapping + (source "/var/run/snuik") + (target source) + (writable? #t)) + ,@(if password-file + (list (file-system-mapping + (source password-file) + (target source))) + '()))))) + (snuik (least-authority-wrapper + (file-append snuik "/bin/snuik") + #:name "snuik" + #:mappings mappings + #:namespaces (delq 'net %namespaces))) + (command + #~'(#$snuik + #$@(if (and server (not (eq? server %unset-value))) + (list (string-append "--server=" server)) + #~()) + #$@(if (and port (not (eq? port %unset-value))) + (list (string-append "--port=" (number->string port))) + #~()) + #$@(if (and nick (not (eq? nick %unset-value))) + (list (string-append "--nick=" nick)) + #~()) + #$@(if (and password (not (eq? password %unset-value))) + (list (string-append "--password=" password)) + #~()) + #$@(if (and password-file (not (eq? password-file %unset-value))) + (list (string-append "--password-file=" password-file)) + #~()) + #$@(if (pair? channels) + (list (string-append "--channels=" (string-join channels ","))) + #~()) + #$@extra-options)) + (log-file #~(string-append + #$(if home-service? #~%user-log-dir "/var/log") + "/snuik.log"))) + (list (shepherd-service + (documentation "Run the snuik IRC bot.") + (provision '(snuik)) + (requirement (if home-service? '() '(user-processes networking))) + (modules (if home-service? + '((shepherd support)) ;for '%user-log-dir' + '())) + (start #~(make-forkexec-constructor + #$command + #:log-file #$log-file + #:user #$(and (not home-service?) "snuik") + #:group #$(and (not home-service?) "snuik"))) + (stop #~(make-kill-destructor))))))) + +(define snuik-activation + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (let* ((user (getpw "snuik")) + (directory "/var/run/snuik")) + (mkdir-p directory) + (chown directory (passwd:uid user) (passwd:gid user)))))) + +(define %snuik-accounts + (list (user-group (name "snuik") (system? #t)) + (user-account + (name "snuik") + (group "snuik") + (system? #t) + (comment "Snuik IRC bot user") + (home-directory "/var/run/snuik") + (shell (file-append shadow "/sbin/nologin"))))) + +(define snuik-service-type + (service-type + (name 'home-snuik) + (description "Run the Snuik IRC bot.") + (default-value (snuik-configuration)) + (extensions + (list (service-extension activation-service-type + (const snuik-activation)) + (service-extension account-service-type + (const %snuik-accounts)) + (service-extension shepherd-root-service-type + snuik-services))))) base-commit: 678b3dddfe442e643fe5cff7730d4f9690c3e2c2 -- 2.47.1 From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] [PATCH v2 2/2] home: Add home-snuik-service. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: andrew@trop.in, janneke@gnu.org, ludo@gnu.org, maxim.cournoyer@gmail.com, tanguy@bioneland.org, guix-patches@gnu.org Resent-Date: Thu, 13 Mar 2025 19:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76963@debbugs.gnu.org Cc: Andrew Tropin , Janneke Nieuwenhuizen , Ludovic =?UTF-8?Q?Court=C3=A8s?= , Maxim Cournoyer , Tanguy Le Carrour X-Debbugs-Original-Xcc: Andrew Tropin , Janneke Nieuwenhuizen , Ludovic =?UTF-8?Q?Court=C3=A8s?= , Maxim Cournoyer , Tanguy Le Carrour Received: via spool by 76963-submit@debbugs.gnu.org id=B76963.174189309428003 (code B ref 76963); Thu, 13 Mar 2025 19:12:02 +0000 Received: (at 76963) by debbugs.gnu.org; 13 Mar 2025 19:11:34 +0000 Received: from localhost ([127.0.0.1]:58178 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tsnxt-0007HU-TH for submit@debbugs.gnu.org; Thu, 13 Mar 2025 15:11:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40672) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tsnxo-0007Gv-TB for 76963@debbugs.gnu.org; Thu, 13 Mar 2025 15:11:29 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tsnxj-0007iI-Ac; Thu, 13 Mar 2025 15:11:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=nniq1MfoUXW4NP4Qpx14/+l1gyMbf4lEiQh2FGCQLmM=; b=b33PlNvPGdQerLNnaCPn kmCPdAUdajROgbwCTdGHZGcWRa8yQvCJteg/cUeZwUljVrbFnyZPfjiYWmowhxjf4LJepH6CEKLGc u2Dwh9v+215v0P3wa++etXH+KX3+n7R15FibowqymQeaCD9Dby3GQgprl/bSCdcgP+AzBIxrKYwlg 0c9mLKr4eVvFCGe/Hrlxufnx4AiXGLOTxei/yJ4s0drsM/zdxZuV/AfN+S+VopTiogtc2WwM4YOTG V956XTcnZl4xsX+ISf7ApupnUkZ6+shqDLI+k2sac/tZz/lXaLaTSP0SEyE3PZUQDTOHpQBzs492P XqgO+RGpOmkPSQ==; From: Janneke Nieuwenhuizen Date: Thu, 13 Mar 2025 20:11:04 +0100 Message-ID: <590a719c16fa369898b4c8bb99a303e5f4324341.1741893001.git.janneke@gnu.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) 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: -3.3 (---) * gnu/home/services/messaging.scm (home-snuik-service-type): New variable. * doc/guix.texi (Messaging Home Services): Document it. Change-Id: I1e278e7d8ed04efcb1a2ce9e12e69cb6a31a9fa4 --- doc/guix.texi | 28 ++++++++++++++++++++++++++++ gnu/home/services/messaging.scm | 21 +++++++++++++++++++-- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 083e561e48c..54e63902fa1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -49771,6 +49771,34 @@ Messaging Home Services @end table @end deftp +@cindex irc-bot +@cindex snuik +The @uref{https://gitlab.com/janneke/snuik, Snuik IRC bot} can be run as +a daemon to aid talking to users that are currently offline. With the +@code{(gnu home services messaging)} service, you can configure Snuik to +run upon login. + +@defvar home-snuik-service-type +This is the type of the Snuik home service, whose value is a +@code{home-snuik-configuration} object. +@end defvar + +You may specify a custom configuration by providing a +@code{snuik-configuration} record, exactly like for +@code{snuik-service-type} and wrapping it in @code{for-home}. Here is +an example of a service and its configuration that you could add to the +@code{services} field of your @code{home-environment}: + +@lisp +(service home-snuik-service-type + (for-home + (snuik-configuration + (server "irc.oftc.net") + (nick "sneek") + (password "snuik is sneeky") + (channels '("#reproducible-builds")))) +@end lisp + @node Media Home Services @subsection Media Home Services diff --git a/gnu/home/services/messaging.scm b/gnu/home/services/messaging.scm index bd2f1bb23f5..c871869d452 100644 --- a/gnu/home/services/messaging.scm +++ b/gnu/home/services/messaging.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2023 Janneke Nieuwenhuizen +;;; Copyright © 2023, 2025 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,12 +20,17 @@ (define-module (gnu home services messaging) #:use-module (srfi srfi-26) #:use-module (gnu home services) #:use-module (gnu home services shepherd) + #:use-module (gnu packages irc) #:use-module (gnu packages messaging) + #:use-module (gnu services) #:use-module (gnu services configuration) #:use-module (gnu services shepherd) + #:use-module (gnu services messaging) + #:use-module ((gnu system shadow) #:select (account-service-type)) #:use-module (guix records) #:use-module (guix gexp) - #:export (home-znc-configuration + #:export (home-snuik-service-type + home-znc-configuration home-znc-service-type)) ;;; @@ -64,3 +69,15 @@ (define home-znc-service-type (description "Install and configure @command{znc}, an @acronym{IRC, Internet Relay Chat} bouncer, as a Shepherd service."))) + + +;;; +;;; Snuik. +;;; +(define home-snuik-service-type + (service-type + (inherit (system->home-service-type + (remove-service-extensions snuik-service-type + (list account-service-type + activation-service-type)))) + (default-value (for-home (snuik-configuration))))) -- 2.47.1 From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] Copyright ranges and Copyright holders in README [WAS Re: [bug#76963] [PATCH] home: Add home-snuik-service.] Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 13 Mar 2025 20:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxim Cournoyer Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Tanguy Le Carrour , 76963@debbugs.gnu.org, Andrew Tropin Received: via spool by 76963-submit@debbugs.gnu.org id=B76963.174189788512758 (code B ref 76963); Thu, 13 Mar 2025 20:32:01 +0000 Received: (at 76963) by debbugs.gnu.org; 13 Mar 2025 20:31:25 +0000 Received: from localhost ([127.0.0.1]:58376 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tspDA-0003Jf-S5 for submit@debbugs.gnu.org; Thu, 13 Mar 2025 16:31:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38674) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tspD8-0003JJ-CQ for 76963@debbugs.gnu.org; Thu, 13 Mar 2025 16:31:23 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tspD1-0002Zt-2f; Thu, 13 Mar 2025 16:31:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=MX7pDTe9y8kraU4D/w6NGQtLpdug7BnMY3Ukmh63R3U=; b=H/1xDlBfA8QmN9c+SYTe w5/+/L9a3cBSqtbH431yanez6aMS7p/tQOYcIHQmYA+u1zgfJ8o7C7NGDwUI66qrQXQ0d8bEm5m1m /n5dVFTbdbzbkw/tMLtyvQag9VoPP+CWe3RthTKz03zC1qeRS5R+2kJb/4V0KXNsBvZB3Rp+GXMPd sk+oLm/8vxgCxcTDVHBf+tqeDXqG2uKIDPyBg4Xemui0WbD3bybMfpNURK7B3A9Wc3FlAQYM/Ot7x eTz7qPvvKWCjlSud12z6vlqj1H397Kzqrhie3QzRiDlYSTL5C5EgLPBMxsAyPl/mBD+cPFadsFvfv USVRFBoP06kTkA==; From: Janneke Nieuwenhuizen In-Reply-To: <87msdqf3a1.fsf@gnu.org> (Janneke Nieuwenhuizen's message of "Wed, 12 Mar 2025 20:38:14 +0100") Organization: AvatarAcademy.nl References: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> <877c4ufmag.fsf@gmail.com> <87ikoel0jb.fsf@gnu.org> <87cyemgiyk.fsf@gnu.org> <87msdqf3a1.fsf@gnu.org> X-Url: http://AvatarAcademy.nl Date: Thu, 13 Mar 2025 21:31:10 +0100 Message-ID: <874izwr7u9.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) 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: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Janneke Nieuwenhuizen writes: Hi, > Janneke Nieuwenhuizen writes: > >> Janneke Nieuwenhuizen writes: >> >> [..] >>>>> diff --git a/doc/guix.texi b/doc/guix.texi >>>>> index d109877a32..f35e156376 100644 >>>>> --- a/doc/guix.texi >>>>> +++ b/doc/guix.texi >>>>> @@ -36,7 +36,7 @@ >>>>> Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 202= 3 Efraim Flashner@* >>>>> Copyright @copyright{} 2016 John Darrington@* >>>>> Copyright @copyright{} 2016, 2017 Nikita Gillmann@* >>>>> -Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 202= 3, 2024 Janneke Nieuwenhuizen@* >>>>> +Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 202= 3, 2024, 2025 Janneke Nieuwenhuizen@* >>>> >>>> Maybe use 2016-2025 :-). >>> >>> Hmm. I thought you needed to have a special exception in the README to >>> be able for that to hold up in court. I've been postponing to look into >>> this mess (I used to be too heavily into copyright in my LilyPond years= ). >>> However, it seems today is the day :) >>> >>> From >>> >>> You can use a range (=E2=80=982008-2010=E2=80=99) instead of listing in= dividual years >>> (=E2=80=982008, 2009, 2010=E2=80=99) if and only if: 1) every year in t= he range, >>> inclusive, really is a =E2=80=9Ccopyrightable=E2=80=9D year that would = be listed >>> individually; and 2) you make an explicit statement in a README file >>> about this usage. >>> >>> Sadly, the manual does not seem to give a template to use for this, and >>> I have learnt to stay away from authoring legal texts. I just asked >>> gnu-prog-discuss about this. >>> >>> I cannot find such a statement in the Guix README? Ludo'? >> >> Emacs uses >> >> In copyright notices where the copyright holder is the Free Software >> Foundation, then where a range of years appears, this is an inclusive >> range that applies to every year in the range. For example: 2005-2008 >> represents the years 2005, 2006, 2007, and 2008. >> >> so I propose the attached patch. >> >> WDYT? > > Sorry, spoke too soon. The story continues (this is why I shied away > from (looking into) using ranges). > > On gru-prog-discuss, Eli Zaretskii writes (in response to my suggestion) > > I think the idea is that you can only vouch for this interpretation > when you are the copyright holder. So I think you'd need to mention > someone else there instead of the FSF, not just leave it empty. > Because for an arbitrary copyright holder, who's to say what they mean > by a range of years? > > But this is just my understanding; IANAL. > > ...TBC I haven't heard back from the fsf (laywers) yet, so I'm tentatively proposing the attached patch. It's really beyond me how 58(!) people managed to use ranges in copyright years where per GNU documentation (am I the only one actually reading that?) that is quite posssibly not legally valid. I mean, I don't really care about legalese all that much, let's drop all silly headers with all the rebase conflicts, the metadata is in git right?...but if we are to try to cater for this legal foo-ness, we should probably be [super] strict, no? Next to the attached patch, there should probably be something about "add your name to the README" in the Contributing section of the manual. Greetings, Janneke --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-doc-Add-note-on-copyright-ranges-to-README.patch Content-Transfer-Encoding: quoted-printable >From 045d76823e98933a6a99aaff23ea7ee450ac8fea Mon Sep 17 00:00:00 2001 Message-ID: <045d76823e98933a6a99aaff23ea7ee450ac8fea.1741897687.git.jannek= e@gnu.org> From: Janneke Nieuwenhuizen Date: Wed, 12 Mar 2025 19:48:26 +0100 Subject: [PATCH] doc: Add note on copyright ranges to README. * README (Note On Copyright Years): New section. Change-Id: I1b2f8ed544dc83c38479e944ae6e08ddbcafdf35 --- README | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/README b/README index b9f36f8344f..1d9cea1ea54 100644 --- a/README +++ b/README @@ -108,3 +108,70 @@ but exposes all the API as Scheme. - The [[https://www.gnu.org/s/gsrc/][GNU Source Release Collection]] (GS= RC) is a user-land software distribution; unlike Guix, it relies on core tools available on the host system + +* Note On Copyright Years + + In copyright notices where a the copyright holder is one of + + Adam Faiz + Andr=C3=A9 A. Gomes + Andrew Tropin + Andy Wingo + Artyom V. Poptsov + Arun Isaac + Brice Waegeneire + Bruno Victal + Danial Behzadi + David Elsing + Denis 'GNUtoo' Carikli + Efraim Flashner + Eraim Flashner + Eric Bavier + Evgeny Pisemsky + Feross Aboukhadijeh + Giacomo Leidi + Greg Hogan + Guillaume Le Vaillant + Hartmut Goebel + Herman Rimm + Igor Pavlov. + Iliya Tikhonenko + James Smith + Janneke Nieuwenhuizen + jgart + John Kehayias + Jonathan Brielmaier + J. Schilling. + Julien Lepiller + Lennart Regebro + Leo Famulari + Liam Hupfer + Liliana Marie Prikler + Ludovic Court=C3=A8s + M=C4=83d=C4=83lin Ionel Patra=C8=99cu + Marius Bakke + Mark H Weaver + Martin Becze + Maxim Cournoyer + Maxime Devos + Mike Bostock + Navid Afkhami + Nicolas Goaziou + Paul A. Patience + Philip McGrath + Remco van 't Veer + Ricardo Wurmus + Robert Lougher + Rocky Bernstein + Sharlatan Hellseher + Simon Josefsson + Suhail Singh + Tibor Koleszar + Universit=C3=A9 Bordeaux + Vinicius Monego + Zheng Junjie + Zhu Zihao + + then where a range of years appears, this is an inclusive range that app= lies + to every year in the range. For example: 2012-2015 represents the years= 2012, + 2013, 2014, and 2015. base-commit: 678b3dddfe442e643fe5cff7730d4f9690c3e2c2 --=20 2.47.1 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable --=20 Janneke Nieuwenhuizen | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar=C2=AE https://AvatarAcade= my.com --=-=-=-- From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] Copyright ranges and Copyright holders in README [WAS Re: [bug#76963] [PATCH] home: Add home-snuik-service.] Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 14 Mar 2025 06:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxim Cournoyer Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Tanguy Le Carrour , 76963@debbugs.gnu.org, Andrew Tropin Received: via spool by 76963-submit@debbugs.gnu.org id=B76963.17419334693249 (code B ref 76963); Fri, 14 Mar 2025 06:25:02 +0000 Received: (at 76963) by debbugs.gnu.org; 14 Mar 2025 06:24:29 +0000 Received: from localhost ([127.0.0.1]:59679 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tsyT7-0000qL-05 for submit@debbugs.gnu.org; Fri, 14 Mar 2025 02:24:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52208) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tsyT3-0000q0-PP for 76963@debbugs.gnu.org; Fri, 14 Mar 2025 02:24:26 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tsySw-0006Jj-29; Fri, 14 Mar 2025 02:24:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=D5Fv9YKv3vZvkk5YNzQW0qL6jm0yhYWV4d7wbo5z3W4=; b=CHGrXxNHIGrmDJy/+tRd yzhsfoi16IsWk2WTLwWfXHpQezjgJxT5TnMwmkYXsXoBh82hZPgy9oiVyjLCf3riwB+5QcBUl8pCG 9RH8cV/9BDkzhgMIGX2z4X+betVYy/kFzWatjG8KvBS8uUcELz3q4gHT8bqEBHPqWuHNTBBW6Vg5p pA1EgJOi8iBpB6RqaViAPlmp6uZWlFjq0+nSzTeZoy6JJOwb+7NkmFTKmiPAZBLzDB2nsaPwEDGjx sJ85xufwJX+m8sl9GedzEVTbUUgjTF9DJ6y32QIQlEP6AoGcbCON4hz+aOx0pSQBskTA+KMf9KKqg +BH2yDaglxG0sQ==; From: Janneke Nieuwenhuizen In-Reply-To: <874izwr7u9.fsf_-_@gnu.org> (Janneke Nieuwenhuizen's message of "Thu, 13 Mar 2025 21:31:10 +0100") Organization: AvatarAcademy.nl References: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> <877c4ufmag.fsf@gmail.com> <87ikoel0jb.fsf@gnu.org> <87cyemgiyk.fsf@gnu.org> <87msdqf3a1.fsf@gnu.org> <874izwr7u9.fsf_-_@gnu.org> X-Url: http://AvatarAcademy.nl Date: Fri, 14 Mar 2025 07:24:06 +0100 Message-ID: <87tt7wp1tl.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) 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: -3.3 (---) Janneke Nieuwenhuizen writes: > I haven't heard back from the fsf (laywers) yet, so I'm tentatively > proposing the attached patch. [..] > if we are to try to cater for legalese we should probably be strict? Ouch, that didn't come out quite the way I intended it. Sorry much too much emotion. I just wanted to say, well, something like this. > Next to the attached patch, there should probably be something about > "add your name to the README" in the Contributing section of the manual. Greetings, Janneke --=20 Janneke Nieuwenhuizen | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar=C2=AE https://AvatarAcade= my.com From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] [PATCH v2 1/2] services: Add snuik-service-type. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 18 Mar 2025 10:43:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Janneke Nieuwenhuizen Cc: Maxim Cournoyer , 76963@debbugs.gnu.org Received: via spool by 76963-submit@debbugs.gnu.org id=B76963.17422945346013 (code B ref 76963); Tue, 18 Mar 2025 10:43:04 +0000 Received: (at 76963) by debbugs.gnu.org; 18 Mar 2025 10:42:14 +0000 Received: from localhost ([127.0.0.1]:37285 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tuUOj-0001Ys-HE for submit@debbugs.gnu.org; Tue, 18 Mar 2025 06:42:13 -0400 Received: from hera.aquilenet.fr ([185.233.100.1]:36922) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tuUOh-0001Xo-P6 for 76963@debbugs.gnu.org; Tue, 18 Mar 2025 06:42:12 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id B6BA83DB; Tue, 18 Mar 2025 11:42:05 +0100 (CET) Authentication-Results: hera.aquilenet.fr; none X-Virus-Scanned: Debian amavis at hera.aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavis, port 10024) with ESMTP id Tufav74NHgHS; Tue, 18 Mar 2025 11:42:05 +0100 (CET) Received: from ribbon (unknown [193.50.110.142]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 8BF1C30D; Tue, 18 Mar 2025 11:42:04 +0100 (CET) From: Ludovic =?UTF-8?Q?Court=C3=A8s?= In-Reply-To: (Janneke Nieuwenhuizen's message of "Thu, 13 Mar 2025 20:11:03 +0100") References: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> Date: Tue, 18 Mar 2025 11:42:03 +0100 Message-ID: <878qp2k4ck.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: B6BA83DB X-Spamd-Result: default: False [4.88 / 15.00]; SPAM_FLAG(5.00)[]; BAYES_HAM(-3.00)[99.99%]; NEURAL_SPAM(2.98)[0.993]; MIME_GOOD(-0.10)[text/plain]; TO_DN_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; TAGGED_RCPT(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; RCPT_COUNT_THREE(0.00)[3]; FREEMAIL_CC(0.00)[debbugs.gnu.org,gmail.com] X-Spam-Level: **** X-Rspamd-Action: no action X-Spamd-Bar: ++++ X-Rspamd-Server: hera X-Spam-Score: 1.0 (+) 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.0 (/) Hello, FWIW v2 looks great to me. :-) Thanks, Ludo=E2=80=99. From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] Copyright ranges and Copyright holders in README [WAS Re: [bug#76963] [PATCH] home: Add home-snuik-service.], [PATCH] doc: Add note on copyright ranges to README. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Mar 2025 08:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Andrew Tropin , Tanguy Le Carrour , 76963@debbugs.gnu.org, Janneke Nieuwenhuizen Received: via spool by 76963-submit@debbugs.gnu.org id=B76963.174245765619262 (code B ref 76963); Thu, 20 Mar 2025 08:01:02 +0000 Received: (at 76963) by debbugs.gnu.org; 20 Mar 2025 08:00:56 +0000 Received: from localhost ([127.0.0.1]:55077 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tvApk-00050b-8g for submit@debbugs.gnu.org; Thu, 20 Mar 2025 04:00:56 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]:58458) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tvAph-00050M-RH for 76963@debbugs.gnu.org; Thu, 20 Mar 2025 04:00:54 -0400 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-301cda78d48so848125a91.0 for <76963@debbugs.gnu.org>; Thu, 20 Mar 2025 01:00:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742457647; x=1743062447; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=fHFFdgnL88gOEa1kNQg7oGn6Ari3TUnY4hrqy1YX3pk=; b=iZ8jK+24qzfgNF4mSfBXUdKQQV5J247BUGpfF7yT3Gr0UbkojW6JlEIQBTdR5JoXxc iv0Iq1Xp010nyiBb34gaJ1Y66PicPHq1hHV1JOreMwBBUViEiXIgsVsI9nItNJeUaNUc x81h4d03dr1Do3ImG9OjlLKmHF2xlzvq404Ukm3dniHfovzK/vaF4kkeqPbYh+ojYr4L de5xKnNrAvio3/tDAT6Bky2DISQHm5bP8qtiCwNaUNfW8GnGs31JgWU/ZCI5t3e88iip 2pLQuMeToWWlX7ZmZGtnzVpe6OnChethGbr4Lypn+GnMJLy2eFJFkOSBEqbA0jD1EKGC /5aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742457647; x=1743062447; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=fHFFdgnL88gOEa1kNQg7oGn6Ari3TUnY4hrqy1YX3pk=; b=IJ2Uh0djk0NmtmyzYBCQGzmy7wbcLjDKcWgfsxNaz6W23k9DQedHxwdzIxsUQ0IJoz y0hrFycc4iy+qs88kQacDkMN0h1YNyYefgH/wdp0HLhLOZgLO3WYAmHvSiiaZ1PXg1t/ vnrYzR5KmzHU473MtkozlJ84HIlq7/PDg755gx7Ufc55YDHHLWcJs+T7GBQR73U3wNJm 8/rglHXdM9Rdci1bSFkhjAXOX6WFWrITjyrpOR1Gel+Nuu9P3Z5CK3LWQHKgKM84IK3Y OYYnGyDhB1VhXIw2d7kpQH7pj+R6KKhrgFsmJrQEkflIj+3sFnskQyT5lkXzcMx04ZOp GF1A== X-Forwarded-Encrypted: i=1; AJvYcCU+1X8MXLIONoj5OZRzaQdF8SEVuXUF/Y6J5VXpXL+fPa9kxR0ykAGAWLg2lh+qNgVf4XaY2w==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwHFJ549y4WNqy28x9JBBHrQvdtKDQ1/fFDVfqUzrvzp5B9QfYW /4MSnjnwsfpkvxAlkKfkldqn68p4eIpHLuZY+iHr9AEwwBPiPmTH X-Gm-Gg: ASbGncsf52KglZR8DxA1o+a321P2TyuUFNe8fEIT6EU0i3hGShdwYXul9FHD0MyqpHm vno/LbDEuTgKR8fizMGqRA0p5leftLJt5PuQTOBjCDfnNA7D8B7z5TNEPV817o1gL2YaAndGE7W 8pjI2YDIpKCw76B/xVyvxlw83yOCWG8k9X6nC+DhjjCKYIkhg5GM0ElLowf9SwV8Kwrco2Rj0AF ADzBtlnRlzvpWr4XA6FFVczYGuaUoB0BbC+VN2vw/ffxata29c8Xt5cNPsD0v4pvDESynVKVtuN z5SF1iBFzQblcZcr/Fmnn+DS1AX5MwLn4F09YAyaPpA= X-Google-Smtp-Source: AGHT+IERmKwLOQKEL6c2k5qHvRFsxuowznWTHWWYylKldLGjSw4qivZJSqbjKKd88e+U3oc4AKkZhA== X-Received: by 2002:a17:90b:4fc6:b0:2f2:a664:df1a with SMTP id 98e67ed59e1d1-301d5080ab0mr3843044a91.2.1742457647546; Thu, 20 Mar 2025 01:00:47 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-af56ea94e25sm12287565a12.68.2025.03.20.01.00.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 01:00:46 -0700 (PDT) From: Maxim Cournoyer In-Reply-To: <874izwr7u9.fsf_-_@gnu.org> (Janneke Nieuwenhuizen's message of "Thu, 13 Mar 2025 21:31:10 +0100") References: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> <877c4ufmag.fsf@gmail.com> <87ikoel0jb.fsf@gnu.org> <87cyemgiyk.fsf@gnu.org> <87msdqf3a1.fsf@gnu.org> <874izwr7u9.fsf_-_@gnu.org> Date: Thu, 20 Mar 2025 17:00:32 +0900 Message-ID: <87ecysnnbz.fsf_-_@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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 Ludo, What do you think of Janneke's proposed addition to clarify our usage of ranges for copyright notices? I think it's a good idea, as I remember briefly discussing 3 years ago [0]. The only downside I can see is that I'm sure we'll be forgetting adding entries to new people using ranges as they start doing so, and it'll get out of date quick. [0] https://lists.gnu.org/archive/html/guix-devel/2022-03/msg00164.html -- Thanks, Maxim From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] Copyright ranges and Copyright holders in README [WAS Re: [bug#76963] [PATCH] home: Add home-snuik-service.], [PATCH] doc: Add note on copyright ranges to README. Resent-From: Janneke Nieuwenhuizen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Mar 2025 08:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxim Cournoyer Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Tanguy Le Carrour , 76963@debbugs.gnu.org, Andrew Tropin Received: via spool by 76963-submit@debbugs.gnu.org id=B76963.174245916423562 (code B ref 76963); Thu, 20 Mar 2025 08:27:02 +0000 Received: (at 76963) by debbugs.gnu.org; 20 Mar 2025 08:26:04 +0000 Received: from localhost ([127.0.0.1]:55123 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tvBE4-00067x-2t for submit@debbugs.gnu.org; Thu, 20 Mar 2025 04:26:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40212) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tvBE0-00067Q-NC for 76963@debbugs.gnu.org; Thu, 20 Mar 2025 04:26:01 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tvBDs-0004Uh-3o; Thu, 20 Mar 2025 04:25:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=DiXN+h4wFEAEKvM0SBiJQ8f0HjjRrHTtdZVeOcEy1Ok=; b=AU2/8SRuYM4/8F0KW14/ LnXIdUwgd+mZHXupp+z97hHxgHDNwMc2qeF20+udYDNzk97aE5Ga2ukG4VR1LHG8DCAWNgNhtZh35 sZKEhg7tvRIhCD3NMuwvw/EoC8xykBCT1FifxXbrmtzz3ybk8C4H1Erl1Rq5p6aPqfm6qqDquPgkA cEenvQEHzhs/IHeS4CH8ThtILjkJKJ/CugudxQphfa0B0sObfn119UEmr8I1Eyzl921GaYPM7l7+8 zOiRL6IvWdrKnFitcSkMBq1/KjHUd16WelIsBf+eDAqAU/dx9gpZRBiwEUY25rkWId0OJkEAyGn7y e/N8GAde4N7Cuw==; From: Janneke Nieuwenhuizen In-Reply-To: <87ecysnnbz.fsf_-_@gmail.com> (Maxim Cournoyer's message of "Thu, 20 Mar 2025 17:00:32 +0900") Organization: AvatarAcademy.nl References: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> <877c4ufmag.fsf@gmail.com> <87ikoel0jb.fsf@gnu.org> <87cyemgiyk.fsf@gnu.org> <87msdqf3a1.fsf@gnu.org> <874izwr7u9.fsf_-_@gnu.org> <87ecysnnbz.fsf_-_@gmail.com> X-Url: http://AvatarAcademy.nl Date: Thu, 20 Mar 2025 09:25:45 +0100 Message-ID: <87iko42jna.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) 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: -3.3 (---) --=-=-= Content-Type: text/plain Maxim Cournoyer writes: Hello, Maxim, Ludo, and others, > What do you think of Janneke's proposed addition to clarify our usage of > ranges for copyright notices? I think it's a good idea, as I remember > briefly discussing 3 years ago [0]. The only downside I can see is that > I'm sure we'll be forgetting adding entries to new people using ranges > as they start doing so, and it'll get out of date quick. > > [0] https://lists.gnu.org/archive/html/guix-devel/2022-03/msg00164.html It seems the gnu-prog-discuss has reached consensus in advising to add this bit +For any copyright year range specified as YYYY-ZZZZ in this package +note that the range specifies every single year in that closed +interval. to the manual, so my proposal would be to add the attached patch. Greetings, Janneke --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-doc-Add-note-on-copyright-ranges-to-README.patch >From 5fe8383947b8647ff6fab16971eeaf6d5eda2aa5 Mon Sep 17 00:00:00 2001 Message-ID: <5fe8383947b8647ff6fab16971eeaf6d5eda2aa5.1742459122.git.janneke@gnu.org> From: Janneke Nieuwenhuizen Date: Wed, 12 Mar 2025 19:48:26 +0100 Subject: [PATCH] doc: Add note on copyright ranges to README. * README (Note On Copyright Years): New section. Change-Id: I1b2f8ed544dc83c38479e944ae6e08ddbcafdf35 --- README | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README b/README index b9f36f8344f..95886b3b5d9 100644 --- a/README +++ b/README @@ -108,3 +108,8 @@ but exposes all the API as Scheme. - The [[https://www.gnu.org/s/gsrc/][GNU Source Release Collection]] (GSRC) is a user-land software distribution; unlike Guix, it relies on core tools available on the host system + +* Note On Copyright Years + +For any copyright year range specified as YYYY-ZZZZ in this package note that +the range specifies every single year in that closed interval. base-commit: 77ff73a920759437639e8eb77601e51409fefefa prerequisite-patch-id: 50cbd365e2d8c64b6e4bd0c4fe447f75aa5fd2e3 -- 2.48.1 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable --=20 Janneke Nieuwenhuizen | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar=C2=AE https://AvatarAcade= my.com --=-=-=-- From unknown Mon Aug 18 04:11:33 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Janneke Nieuwenhuizen Subject: bug#76963: closed (Re: [bug#76963] [PATCH v2 1/2] services: Add snuik-service-type.) Message-ID: References: <87cyec2ja5.fsf@gnu.org> <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> X-Gnu-PR-Message: they-closed 76963 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 76963@debbugs.gnu.org Date: Thu, 20 Mar 2025 08:34:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1742459642-24712-1" This is a multi-part message in MIME format... ------------=_1742459642-24712-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #76963: [PATCH] home: Add home-snuik-service. which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 76963@debbugs.gnu.org. --=20 76963: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D76963 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1742459642-24712-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 76963-done) by debbugs.gnu.org; 20 Mar 2025 08:34:00 +0000 Received: from localhost ([127.0.0.1]:55131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tvBLj-0006QM-TB for submit@debbugs.gnu.org; Thu, 20 Mar 2025 04:34:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47890) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tvBLh-0006Q7-01 for 76963-done@debbugs.gnu.org; Thu, 20 Mar 2025 04:33:58 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tvBLa-0007gr-7z; Thu, 20 Mar 2025 04:33:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=Mwtt5iT1tHVyIaR6jq0qAnyPuA/jShVEslAy/IiClUY=; b=qfKE5/twDeugbemWOxoA p/2tbSkVf1U5NlluflmHBVaMJxedcq42Hn1elXId6ePvxzUbos6CVweWDMUCRDPT68IBimFUZ2NeW HKmItsKtwjEPSIrHGcpwf0imcPLoeAIY00f2eBkZJQVEnkrQ8yNuna+MBOBDU8MG5Z8rvZB3bEJGG /bGzY7lVCDGI6996UT79RGQrV35dOFm76/iNjt8aTGJS/zM1H3LulaYsXxYpQxx+ObLhyboF70q3A rqjgpXDQyNeYjCP2ppLMwDCvEoa5xRk6nMPIUkx2HfQrGkRwpSfWc/AsQ6loBcfdTdloMKyeoK599 ceQjTfp6F3g78g==; From: Janneke Nieuwenhuizen To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#76963] [PATCH v2 1/2] services: Add snuik-service-type. In-Reply-To: <878qp2k4ck.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Tue, 18 Mar 2025 11:42:03 +0100") Organization: AvatarAcademy.nl References: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> <878qp2k4ck.fsf@gnu.org> X-Url: http://AvatarAcademy.nl Date: Thu, 20 Mar 2025 09:33:38 +0100 Message-ID: <87cyec2ja5.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 76963-done Cc: Maxim Cournoyer , 76963-done@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: -3.3 (---) Ludovic Court=C3=A8s writes: > FWIW v2 looks great to me. :-) Thanks, pushed to master as 18f956467a7e3e35e21a9b5616025bf33f307ad7. Greetings, Janneke --=20 Janneke Nieuwenhuizen | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar=C2=AE https://AvatarAcade= my.com ------------=_1742459642-24712-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 11 Mar 2025 21:55:11 +0000 Received: from localhost ([127.0.0.1]:46160 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ts7Z8-0005Ry-QT for submit@debbugs.gnu.org; Tue, 11 Mar 2025 17:55:11 -0400 Received: from lists.gnu.org ([2001:470:142::17]:38140) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ts7Z4-0005LL-Ly for submit@debbugs.gnu.org; Tue, 11 Mar 2025 17:55:07 -0400 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 1ts7Yy-0004de-6q for guix-patches@gnu.org; Tue, 11 Mar 2025 17:55:00 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ts7Yw-0001AM-Ie; Tue, 11 Mar 2025 17:54:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=ctyaAHo2eM1h5eGpH8YM7seW/Oo17RSWz685P1EPAAA=; b=pbK62NnlsARkxV MlZFKMNZTatA8CtTHDLr4i6Rjns0aB/3dEeVWGJuOWQIcHsfznlZGhlCBVrL70fwz3LUOlHe+iFVk VwLLsUzN6Cc3O+xzTvM/L7Kk0tNOum9+7RI4/rJ7xx6o2lgjOed34LNx5eV0/D/iySYoX6mDORp31 zbCqQ6ij96g/7debWp6P4nXvOlY6UkUg2TvXx0PI//3S5x3yqkBeTtgv6oYaIeHbslv2tiURFhph2 kOWFF14hQUmX6Iwp4IONToDhbRHoYo/6SJTI3iIJjfq9Sb0ANk/3lUJg3afMKfxpeHvoOczHdTn5h /AXCsW0rEBY8HyodgOig==; From: Janneke Nieuwenhuizen To: guix-patches@gnu.org Subject: [PATCH] home: Add home-snuik-service. Date: Tue, 11 Mar 2025 22:54:55 +0100 Message-ID: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> X-Mailer: git-send-email 2.47.1 MIME-Version: 1.0 X-Debbugs-Cc: Andrew Tropin , Janneke Nieuwenhuizen , Ludovic Courtès , Maxim Cournoyer , Tanguy Le Carrour Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: submit 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 (-) * gnu/home/services/messaging.scm (): New type. (home-snuik-services, home-snuik-service-type): New procedures. * doc/guix.texi (Messaging Home Services): Document it. Change-Id: I1e278e7d8ed04efcb1a2ce9e12e69cb6a31a9fa4 --- doc/guix.texi | 58 ++++++++++++++++++++++++- gnu/home/services/messaging.scm | 77 ++++++++++++++++++++++++++++++++- 2 files changed, 132 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index d109877a32..f35e156376 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -36,7 +36,7 @@ Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@* -Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Janneke Nieuwenhuizen@* +Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Janneke Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* @@ -49714,6 +49714,62 @@ Messaging Home Services @end table @end deftp +@cindex snuik +The @uref{https://gitlab.com/janneke/snuik, Snuik IRC bot} can be run as +a daemon to aid talking to users that are currently off-line. With the +@code{(gnu home services messaging)} service, you can configure Snuik to +run upon login. + +Here is an example of a service and its configuration that you could add +to the @code{services} field of your @code{home-environment}: + +@lisp +(service home-snuik-service-type + (home-snuik-configuration + (password-file ".password.snuik") + (channels '("#bootstrappable" + "#dezyne" + "#guix-risc-v" + "#lilypond")))) +@end lisp + +@defvar home-snuik-service-type +This is the type of the Snuik home service, whose value is a +@code{home-snuik-configuration} object. +@end defvar + +@deftp {Data Type} home-snuik-configuration +Available @code{home-snuik-configuration} fields are: + +@table @asis +@item @code{snuik} (default: @code{snuik}) (type: file-like) +The Snuik package to use. + +@item @code{server} (default: @code{"irc.libera.chat"}) +The IRC server to connect to. + +@item @code{port} (default: @code{6665}) +Port number used by the IRC server. + +@item @code{nick} (default: @code{"snuik"}) +The nickname for snuik to use. + +@item @code{password} (default: @code{#f}) +The password to use when logging in. + +@item @code{password-file} (default: @code{".password.}) +The file to read the password from to use when logging in. + +@item @code{channels} (default: @code{'("##botchat")}) +The channels for snuik to join, a list of strings. + +@item @code{extra-options} (default: @code{'()}) +Extra options will be passed to @command{snuik}, please run +@command{snuik --help } for more information. + +@end table +@end deftp + @node Media Home Services @subsection Media Home Services diff --git a/gnu/home/services/messaging.scm b/gnu/home/services/messaging.scm index bd2f1bb23f..be2a3436ba 100644 --- a/gnu/home/services/messaging.scm +++ b/gnu/home/services/messaging.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2023 Janneke Nieuwenhuizen +;;; Copyright © 2023, 2025 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,12 +20,15 @@ (define-module (gnu home services messaging) #:use-module (srfi srfi-26) #:use-module (gnu home services) #:use-module (gnu home services shepherd) + #:use-module (gnu packages irc) #:use-module (gnu packages messaging) #:use-module (gnu services configuration) #:use-module (gnu services shepherd) #:use-module (guix records) #:use-module (guix gexp) - #:export (home-znc-configuration + #:export (home-snuik-configuration + home-snuik-service-type + home-znc-configuration home-znc-service-type)) ;;; @@ -64,3 +67,73 @@ (define home-znc-service-type (description "Install and configure @command{znc}, an @acronym{IRC, Internet Relay Chat} bouncer, as a Shepherd service."))) + + +;;; +;;; Snuik. +;;; +(define-record-type* + home-snuik-configuration make-home-snuik-configuration + home-snuik-configuration? + (snuik home-snuik-snuik ;file-like + (default snuik)) + (server home-snuik-server ;string + (default #f)) + (port home-snuik-port ;integer + (default #f)) + (nick home-snuik-nick ;string + (default #f)) + (password home-snuik-password ;string + (default #f)) + (password-file home-snuik-password-file ;string + (default #f)) + (channels home-snuik-channels ;list of string + (default '())) + (extra-options home-snuik-extra-options ;list of string + (default '()))) + +(define (home-snuik-services config) + "Return a for snuik with CONFIG." + (match-record config + + (snuik server port nick password password-file channels extra-options) + (let* ((snuik (file-append snuik "/bin/snuik")) + (command #~'(#$snuik + #$@(if server + #~("--server" #$server) + #~()) + #$@(if port + #~("--port" (number->string port)) + #~()) + #$@(if nick + #~("--nick" nick) + #~()) + #$@(if password + #~("--password" password) + #~()) + #$@(if password-file + #~("--password-file" password-file) + #~()) + #$@(if (pair? channels) + #~("--channels" (string-join channels ",")) + #~()) + #$@extra-options)) + (log-file #~(string-append %user-log-dir "/snuik.log"))) + (list (shepherd-service + (documentation "Run the snuik IRC bot.") + (provision '(snuik)) + (modules '((shepherd support))) ;for '%user-log-dir' + (start #~(make-forkexec-constructor #$command + #:log-file #$log-file)) + (stop #~(make-kill-destructor))))))) + +(define home-snuik-service-type + (service-type + (name 'home-snuik) + (default-value (home-snuik-configuration)) + (extensions + (list (service-extension home-shepherd-service-type + home-snuik-services))) + (description + "Install and configure the Snuik IRC bot so that it runs as a Shepherd +service."))) base-commit: d685a45edf0f89e5876ffc9d880068d8610e5f8a -- 2.47.1 ------------=_1742459642-24712-1-- From unknown Mon Aug 18 04:11:33 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#76963] Copyright ranges and Copyright holders in README [WAS Re: [bug#76963] [PATCH] home: Add home-snuik-service.], [PATCH] doc: Add note on copyright ranges to README., [PATCH] doc: Add note on copyright ranges to README. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Mar 2025 12:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76963 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Janneke Nieuwenhuizen Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Tanguy Le Carrour , 76963@debbugs.gnu.org, Andrew Tropin Received: via spool by 76963-submit@debbugs.gnu.org id=B76963.174247519217542 (code B ref 76963); Thu, 20 Mar 2025 12:54:02 +0000 Received: (at 76963) by debbugs.gnu.org; 20 Mar 2025 12:53:12 +0000 Received: from localhost ([127.0.0.1]:56058 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tvFOY-0004Yp-Iy for submit@debbugs.gnu.org; Thu, 20 Mar 2025 08:53:12 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]:52675) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tvFOU-0004YI-VS for 76963@debbugs.gnu.org; Thu, 20 Mar 2025 08:53:08 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-223fd89d036so11436385ad.1 for <76963@debbugs.gnu.org>; Thu, 20 Mar 2025 05:53:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742475181; x=1743079981; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=wmBaWntc57Wj4ntcp7B6yQLmnq94/PjubqYmaD33UNA=; b=YRuMlm0VWubjVPuWLxqfcaWVVO+eCzTcgw5lykR4ez3bPRwgOHKlj5n+gospp8LSIi dxlhSl6UhC2cCFtk5Dg1qvqrrf0FoQtfMaSH39clMK0GQlQy9zmQJpJfHJnPYcLDZRCw adWzCT1HjY0TAKzWT7jA4VpCyxKidu8rU2oon82eBRN1QQDuYTthIs2wn6FMFryT6/Ou b7z7TO8KRGoL5wT7MGyui4GGRLcc+uXSC3e3kYRUUHB8XZz2JvF+IcPa2+E/Af5ozRc3 wwsMNZzyR1docHD86IcGFte5R9MtwIN4zjTkUdH0ATtVsBw6tWEerDDnaPHqMXfk0oMT KPrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742475181; x=1743079981; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=wmBaWntc57Wj4ntcp7B6yQLmnq94/PjubqYmaD33UNA=; b=raaz9j81akCYAzGvWELJkcyJtxBfUGytGJHHjqU3xAehV79y284zWyrr30O2XNiEBs MAOwwNbGWW9Uuq/9WY/J2qr2acegZiXNoN6vw5/G6hMZ2JQk7PS3Rue9tZna43PebJ8I KWWffto9cxkV6gI8zjyR9MB97FDBwMywW/CKQ0gb0o5x+fdQjcU1BLgo1ligCp9l/dMF DbCNUnvouaWydLWV4xgFNVGwEEt97jt9+XGSbnAOm3+abdhQh+j9ljssiQ1bBcJ5EsLw oCR6AylMISIsoZpHoa1Ut9cDyyo/Hp5y+fQQcTr+MbQlRnhZRt1Hknc7qtqaSR8mbDX0 Zc3Q== X-Forwarded-Encrypted: i=1; AJvYcCU4J5UE6u+nZuZB8jcen8AuLF5BvJ9LONCX5jobPdbp+6i39ceB9QE//AKpbRJOpZDLjLa25Q==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwswslOvw7GphndyMmSTDoj9RXl38BWTmYa5rDdw/252pkRFVqA Mh7Pnydbd5j4Nx0HWir2XI+Y3i8m2J9tPFGmy4xcUn+0Tzepc4d2 X-Gm-Gg: ASbGncsBUoSK7yUoBgZXu6zk0k6KEqSlS37IIbASLGTVmq3EOzWUJOIw1Qeln1t/Gb7 J0jOJ87Tw29jjBFt5VmjOgziYtdcNVcHyatV26iDRLBPd6xWOpjil2n5wGp9UZD0ThdVCgUK1QK teUGneuEXk4ZGeapD/5bKygF0Dq1W5Dk1BD0iLCdL8mdp5Xrcwpga+0UQ9/q7Bd9l3HLord7Mid /+OXMEeLww3i8EhVAQUPUzzUnfBCWrPnxpPpTUv7iuzwHXGAVGLwJQVJwuTgPdjr3ULun+27s9C 1Cga4GwJCcseqwvZNer/e5NQVmiQ0H9LspX7RC74FkA= X-Google-Smtp-Source: AGHT+IHqWpsE9bPmM8tpAUMxoHVdiL6cVisYeVbwsxnkj9fsSbdRSASZiJf4i0wHuhfViWqb+lv5SQ== X-Received: by 2002:a17:902:e88f:b0:223:4d5e:789d with SMTP id d9443c01a7336-22649a309c8mr104266345ad.19.1742475180600; Thu, 20 Mar 2025 05:53:00 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-737116b1e97sm14119426b3a.172.2025.03.20.05.52.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 05:52:59 -0700 (PDT) From: Maxim Cournoyer In-Reply-To: <87iko42jna.fsf@gnu.org> (Janneke Nieuwenhuizen's message of "Thu, 20 Mar 2025 09:25:45 +0100") References: <7f43764f98a45b92cce1be2e7d352e3c791cebf8.1741729617.git.janneke@gnu.org> <877c4ufmag.fsf@gmail.com> <87ikoel0jb.fsf@gnu.org> <87cyemgiyk.fsf@gnu.org> <87msdqf3a1.fsf@gnu.org> <874izwr7u9.fsf_-_@gnu.org> <87ecysnnbz.fsf_-_@gmail.com> <87iko42jna.fsf@gnu.org> Date: Thu, 20 Mar 2025 21:52:44 +0900 Message-ID: <87zfhfn9sz.fsf_-_@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) 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 (-) --=-=-= Content-Type: text/plain Hi, Janneke Nieuwenhuizen writes: [...] > It seems the gnu-prog-discuss has reached consensus in advising to add > this bit > > +For any copyright year range specified as YYYY-ZZZZ in this package > +note that the range specifies every single year in that closed > +interval. > > to the manual, so my proposal would be to add the attached patch. I had come up with this variant, and thought I had already shared it, but it seems not. Anyway, I think this variant should be useful for newcomers as it provides an actual template and documents that contributors copyrights are retained, and cross-references the GNU Standards manual for more reading: --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-README-Mention-ranges-are-OK-in-copyright-notices.patch Content-Transfer-Encoding: quoted-printable >From b9156eb3ea44c64fb82b9e983593e477e0e3100f Mon Sep 17 00:00:00 2001 Message-ID: From: Maxim Cournoyer Date: Thu, 13 Mar 2025 21:42:34 +0900 Subject: [PATCH] README: Mention ranges are OK in copyright notices. Change-Id: I8495c84f9ab462bcc64dae39acca5a8460c4b200 --- README | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README b/README index b9f36f8344..5c0e0e20f5 100644 --- a/README +++ b/README @@ -108,3 +108,18 @@ but exposes all the API as Scheme. - The [[https://www.gnu.org/s/gsrc/][GNU Source Release Collection]] (GS= RC) is a user-land software distribution; unlike Guix, it relies on core tools available on the host system + +* Copyright Notices + +GNU Guix is made available under the GNU GPL version 3 or later license, a= nd +authors retain their copyright. For copyright notices, we adhere to the +guidance documented in (info "(maintain) Copyright Notices"), and explicit= ly +allow ranges instead of individual years. Here's an example of the prefer= red +style used for copyright notices in source file headers: + +#+begin_comment +Copyright =C2=A9 2019-2023, 2025 Your Name +#+end_comment + +Meaning there were copyright-able changes made for the years 2019, 2020, 2= 021, +2022, 2023 and 2025. base-commit: 77ff73a920759437639e8eb77601e51409fefefa --=20 2.48.1 --=-=-= Content-Type: text/plain What do you think? -- Thanks, Maxim --=-=-=--