From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id cM6JLe+u6mSqRwAA9RJhRA:P1 (envelope-from ) for ; Sun, 27 Aug 2023 04:03:27 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id cM6JLe+u6mSqRwAA9RJhRA (envelope-from ) for ; Sun, 27 Aug 2023 04:03:27 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 43721457EC for ; Sun, 27 Aug 2023 04:03:27 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20221208 header.b=jXbudrwt; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1693101807; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=3qh2aP1TT6v6iutyzoPjM1HaC/dE9Ejmp/2D8nZLn/g=; b=SYg3L8LIZ/v4lUA+vZOPteUR9/EFcD91b4NAuX/syU9bPRB4PAKQUONlxubANPyeMfQThJ 4vxqBa1mkpzHy7lJpQWJu6Iet/xqIPKvuR1rSAHhuXB2e16e+scSfn8YfP8FD3GaiIiXtA Ku39dQ+2ZbJbgmoaj2zzzy3LYfS497hpLymRam9NT0ucpWy8Av5hm1mU+9+6Hf8Khh5ZKb bGsN9dkzwJPsAsnmQxvlLVO/15cLGvMnV1sa/EASVmt/D4LP42XSMi0E6EqaEtx9CSsCzT TA99VerNEBLd/CklR+roC2+Y4dLaCRyMjVivkj4Xv1xaRGpU0kyanh/MMsyfRQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1693101807; a=rsa-sha256; cv=none; b=WtsaMV3oPWjovH+fShCguUkVJf81ksU4hiKC+fjVVaQGM5WsuUE0j4N3WcYK2ueMHw7UeO +EwkytjpULTK9zMnBXIZTKq1bZncnPmfuxSTklxBkSCCfS4ZAPEQwYzslNi4mfhFouir8T qzEvGhgzuj6Q1BaImtBtfG2v+hbBscNQ8m1dZBDj7ldWwtahq9euFDgLCa7lZL2mLXqnl/ 4o32JPQ0K8DSfuB7kk/WS+/sACFkEK7wjQEDkRo/xUYy5hM2qjUb5pPtJ8YMgwEleoOKNd ExOl12Hsf4dL4CaBTpI5wuuxNaI5l7FMb7UqlAEJiap3OPqXRV2uYrZUFTwigg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20221208 header.b=jXbudrwt; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qa57C-00084Q-Sj; Sat, 26 Aug 2023 22:02:58 -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 1qa57B-00084D-JO for guix-patches@gnu.org; Sat, 26 Aug 2023 22:02:57 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qa57B-0000zG-BS for guix-patches@gnu.org; Sat, 26 Aug 2023 22:02:57 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qa57G-000768-GI for guix-patches@gnu.org; Sat, 26 Aug 2023 22:03:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65118] [PATCH 0/9]: gnu: Add NSQ. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 27 Aug 2023 02:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65118 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Sharlatan Hellseher Cc: 65118@debbugs.gnu.org Received: via spool by 65118-submit@debbugs.gnu.org id=B65118.169310176827260 (code B ref 65118); Sun, 27 Aug 2023 02:03:02 +0000 Received: (at 65118) by debbugs.gnu.org; 27 Aug 2023 02:02:48 +0000 Received: from localhost ([127.0.0.1]:43664 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qa571-00075c-Ja for submit@debbugs.gnu.org; Sat, 26 Aug 2023 22:02:48 -0400 Received: from mail-qk1-x734.google.com ([2607:f8b0:4864:20::734]:50303) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qa56w-00075I-90 for 65118@debbugs.gnu.org; Sat, 26 Aug 2023 22:02:46 -0400 Received: by mail-qk1-x734.google.com with SMTP id af79cd13be357-76d80d35762so161234885a.0 for <65118@debbugs.gnu.org>; Sat, 26 Aug 2023 19:02:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693101751; x=1693706551; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=3qh2aP1TT6v6iutyzoPjM1HaC/dE9Ejmp/2D8nZLn/g=; b=jXbudrwtQhuiaDudM52ztzr4R5tlEeVJfLMNH+r53VcPpF46MvFkdBaBNxMkFC/Zn3 PWdsj+3TlF46OgCKYpj+Cu/KxDgic+zQkIWzW5TKsDwcrL3avRbRJNgw7qEt57zY5ueg oGbR1LB7zYAhQvKHkTQoQUebk3gPupCV3Ao4kiC9Lyp4iQ3UOsXIo2Fc2dHuCoh7zSiy oxui2cQEsbZoblWyPoCglfNJBMUF0fHj0brndn2nJC0gskDWWIqqC/5o5DgLzYr9zObL YNUSKg2dezAUIvDlNjdHhzYYF2HX7ZuPAtvmiTgcHmWNYI89U3d0tjRIHNeVRXCGt3GV lkmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693101751; x=1693706551; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=3qh2aP1TT6v6iutyzoPjM1HaC/dE9Ejmp/2D8nZLn/g=; b=ZPVjBru3QY7MDRN1eKGmKsCqGCvpEkEkhEhFuvagUvnAbsrpomAxcABL51t7bWEhne VQPSUg0X4FaA4BfdZvGOrXzkt+GG+EOWmwkbEyT6Zu/Ha65w3QnLyQyN1SGMT42z7UMm bAyYsFvQ6MTFG0FilVxVsPwmF0apF6hOqmPAqgss0bE37BjtcYgQ1KWEkKODhSVY5jxE nRI/A0T451Bp3dRr3E2XXkgZ/RQvxphWTVbiAqRhgG2KogATvvAB6Pk2/7UVbRkwzB24 mTwmPWHs7/iQceboVtqNzeRIDhboUK2Z1B6QsGqaJRrl2qXSSZB26yhtclOY4hVWboiR z31w== X-Gm-Message-State: AOJu0YyfMobsGUrGabLmiS8MFR3+50r379iEVoEIj2ikXN7lkgrghxgU NJlaBE5XHf/SmX42qUJfzAXhXdLmxoiXNA== X-Google-Smtp-Source: AGHT+IHghypPEhFLj4h9IX/jPDL4+EDSs8htpK4EVt9Mda2f9PcFF8Lt+/WhSF8GcEYwQILRo+Sr9Q== X-Received: by 2002:a05:620a:3189:b0:76d:a93a:1f73 with SMTP id bi9-20020a05620a318900b0076da93a1f73mr21627577qkb.18.1693101750819; Sat, 26 Aug 2023 19:02:30 -0700 (PDT) Received: from hurd (dsl-155-106.b2b2c.ca. [66.158.155.106]) by smtp.gmail.com with ESMTPSA id f23-20020ae9ea17000000b0076ef3e6e6a4sm1481699qkg.42.2023.08.26.19.02.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Aug 2023 19:02:30 -0700 (PDT) From: Maxim Cournoyer References: <8520b8137aea74779901aa314e26e2b635eeadb9.1691350701.git.sharlatanus@gmail.com> Date: Sat, 26 Aug 2023 22:02:29 -0400 In-Reply-To: <8520b8137aea74779901aa314e26e2b635eeadb9.1691350701.git.sharlatanus@gmail.com> (Sharlatan Hellseher's message of "Sun, 6 Aug 2023 20:55:36 +0100") Message-ID: <87sf85kzt6.fsf_-_@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -5.12 X-Spam-Score: -5.12 X-Migadu-Queue-Id: 43721457EC X-Migadu-Scanner: mx1.migadu.com X-TUID: Uv/UeCCUjb7R Hello! Sharlatan Hellseher writes: > * gnu/packages/high-availability.scm (nsq): New variable. > --- > gnu/packages/high-availability.scm | 87 ++++++++++++++++++++++++++++++ > 1 file changed, 87 insertions(+) > > diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm > index 11ff8014cf..9763a04b21 100644 > --- a/gnu/packages/high-availability.scm > +++ b/gnu/packages/high-availability.scm > @@ -34,6 +34,7 @@ (define-module (gnu packages high-availability) > #:use-module (gnu packages gcc) > #:use-module (gnu packages gettext) > #:use-module (gnu packages glib) > + #:use-module (gnu packages golang) > #:use-module (gnu packages hardware) > #:use-module (gnu packages linux) > #:use-module (gnu packages lua) > @@ -43,12 +44,14 @@ (define-module (gnu packages high-availability) > #:use-module (gnu packages pkg-config) > #:use-module (gnu packages python) > #:use-module (gnu packages rsync) > + #:use-module (gnu packages syncthing) > #:use-module (gnu packages tls) > #:use-module (gnu packages valgrind) > #:use-module (gnu packages version-control) > #:use-module (gnu packages xml) > #:use-module (gnu packages) > #:use-module (guix build-system gnu) > + #:use-module (guix build-system go) > #:use-module (guix download) > #:use-module (guix gexp) > #:use-module (guix git-download) > @@ -190,6 +193,90 @@ (define-public kronosnet > in general better performances compared to the old network protocol.") > (license (list license:gpl2+ license:lgpl2.1+)))) > > +(define-public nsq > + (package > + (name "nsq") > + (version "1.2.1") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/nsqio/nsq") > + (commit (string-append "v" version)))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 "0ajqjwfn06zsmz21z9mkl4cblarypaf20228pqcd1293zl6y3ry8")))) > + (build-system go-build-system) > + (arguments > + (list > + #:import-path "github.com/nsqio/nsq" > + #:install-source? #f > + #:phases > + #~(modify-phases %standard-phases > + (replace 'build > + (lambda* (#:key import-path #:allow-other-keys) > + (with-directory-excursion (string-append "src/" import-path) > + (invoke "make")))) > + (replace 'check > + (lambda* (#:key tests? import-path #:allow-other-keys) > + (when tests? > + (setenv "HOME" "/tmp") > + (with-directory-excursion (string-append "src/" import-path) > + (invoke #$@(if (string-prefix? "x86_64-linux" > + (or (%current-system) > + (%current-target-system))) The target should be checked before the system, as current-system is always defined, and would shortcut the or. But you can now safely forget about this detail and use the 'target-x86?' procedure instead, which comes from (guix tilers). > + (list "go" "test" "-v" "-race" "./...") > + (list "go" "test" "-v" "./..."))))))) > + (replace 'install > + (lambda* (#:key import-path #:allow-other-keys) > + (with-directory-excursion (string-append "src/" import-path) > + (invoke "make" (string-append "PREFIX=" #$output) > + "install"))))))) > + (native-inputs > + (list go-github-com-bitly-go-hostpool > + go-github-com-bitly-timer-metrics > + go-github-com-blang-semver > + go-github-com-bmizerany-perks-quantile > + go-github-com-burntsushi-toml > + go-github-com-davecgh-go-spew > + go-github-com-golang-snappy ; Move to (gnu packages golang) > + go-github-com-mreiferson-go-svc > + go-github-com-julienschmidt-httprouter > + go-github-com-mreiferson-go-options > + go-github-com-mreiferson-go-svc > + go-github-com-nsqio-go-diskqueue > + go-github-com-nsqio-go-nsq > + python-wrapper)) > + (home-page "https://nsq.io") > + (synopsis "Realtime distributed messaging platform") > + (description > + "NSQ is a realtime distributed messaging platform designed to operate at > +scale, handling billions of messages per day. > + > +Key features: > +@itemize > +@item support distributed topologies with no SPOF What is SPOF? > +@item horizontally scalable (no brokers, seamlessly add more nodes to the > +cluster) > +@item low-latency push based message delivery (performance) > +@item combination load-balanced and multicast style message routing I'd replace 'combination' here with the 'combine' verb. > +@item excel at both streaming (high-throughput) and job oriented > +(low-throughput) workloads > +@item primarily in-memory (beyond a high-water mark messages are transparently > +kept on disk) > +@item runtime discovery service for consumers to find producers (nsqlookupd) > +@item transport layer security (TLS) > +@item data format agnostic > +@item few dependencies (easy to deploy) and a sane, bounded, default > +configuration > +@item simple TCP protocol supporting client libraries in any language > +@item HTTP interface for stats, admin actions, and producers (no client > +library needed to publish) > +@item integrates with statsd for realtime instrumentation The imperative rather than descriptive verb tense is used elsewhere here, I'd stick with it (integrate with ...). Could you send a v2 addressing the above? -- Thanks, Maxim