From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 07 15:01:03 2020 Received: (at submit) by debbugs.gnu.org; 7 Jan 2020 20:01:03 +0000 Received: from localhost ([127.0.0.1]:49411 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iov28-00046d-G7 for submit@debbugs.gnu.org; Tue, 07 Jan 2020 15:01:03 -0500 Received: from lists.gnu.org ([209.51.188.17]:56712) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iov25-00046V-To for submit@debbugs.gnu.org; Tue, 07 Jan 2020 15:00:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58781) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iov23-0001Hr-Uf for guix-patches@gnu.org; Tue, 07 Jan 2020 15:00:53 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_NONE, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iov22-0000mD-1Q for guix-patches@gnu.org; Tue, 07 Jan 2020 15:00:51 -0500 Received: from pat.zlotemysli.pl ([37.59.186.212]:59878) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iov21-0000dT-L9 for guix-patches@gnu.org; Tue, 07 Jan 2020 15:00:49 -0500 Received: (qmail 15452 invoked by uid 1009); 7 Jan 2020 21:00:41 +0100 Received: from 188.123.215.55 (kuba@kadziolka.net@188.123.215.55) by pat (envelope-from , uid 1002) with qmail-scanner-2.08st (clamdscan: 0.98.6/25686. spamassassin: 3.4.0. perlscan: 2.08st. Clear:RC:1(188.123.215.55):. Processed in 0.059646 secs); 07 Jan 2020 20:00:41 -0000 Received: from unknown (HELO zdrowyportier.kadziolka.net) (kuba@kadziolka.net@188.123.215.55) by pat.zlotemysli.pl with SMTP; 7 Jan 2020 21:00:41 +0100 Date: Tue, 7 Jan 2020 21:00:39 +0100 From: Jakub =?utf-8?B?S8SFZHppb8WCa2E=?= To: guix-patches@gnu.org Subject: [PATCH] Add Keybase Message-ID: <20200107200039.jga75muq7excgpqu@zdrowyportier.kadziolka.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="u552dxktsdzvxzzr" Content-Disposition: inline Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 37.59.186.212 X-Spam-Score: -2.3 (--) 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 (-) --u552dxktsdzvxzzr Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Hi Guix, please find attached a set of patches that adds the non-GUI parts of Keybase (the GUI is an Electron application - as far as I am aware, there are no similar packages in Guix, so packaging the GUI requires a significant amount of further work). Unresolved question: in other distributions, the package provides user units for systemd. Should the Guix package provide Shepherd services to be ran as the user? If so, are there any other examples I could look at and draw inspiration from? Also, I haven't been able to find any documentation on how to set up user shepherd, apart from a passing mention of that being possible in the documentation. I would appreciate any pointers on the topic. Regards, Jakub Kądziołka --u552dxktsdzvxzzr Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="0001-build-system-go-Allow-providing-additional-build-fla.patch" Content-Transfer-Encoding: 8bit >From 0d744787c48c7184a70dda9fc1bb2c0d334fc080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= Date: Sun, 5 Jan 2020 17:13:20 +0100 Subject: [PATCH 1/2] build-system/go: Allow providing additional build flags * guix/build-system/go.scm (build-flags): New argument. * guix/build/go-build-system.scm (build): Use apply to pass the additional arguments to invoke. --- guix/build-system/go.scm | 3 +++ guix/build/go-build-system.scm | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm index 1b916af8f9..86f57079b1 100644 --- a/guix/build-system/go.scm +++ b/guix/build-system/go.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Petter ;;; Copyright © 2017 Leo Famulari +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -82,6 +83,7 @@ (install-source? #t) (import-path "") (unpack-path "") + (build-flags '()) (tests? #t) (allow-go-reference? #f) (system (%current-system)) @@ -109,6 +111,7 @@ #:install-source? ,install-source? #:import-path ,import-path #:unpack-path ,unpack-path + #:build-flags ,build-flags #:tests? ,tests? #:allow-go-reference? ,allow-go-reference? #:inputs %build-inputs))) diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm index 4bc0156a88..49887848f6 100644 --- a/guix/build/go-build-system.scm +++ b/guix/build/go-build-system.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Petter ;;; Copyright © 2017, 2019 Leo Famulari ;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -209,18 +210,18 @@ unpacking." (_ #f)) inputs)))) -(define* (build #:key import-path #:allow-other-keys) +(define* (build #:key import-path build-flags #:allow-other-keys) "Build the package named by IMPORT-PATH." (with-throw-handler #t (lambda _ - (invoke "go" "install" + (apply invoke "go" "install" "-v" ; print the name of packages as they are compiled "-x" ; print each command as it is invoked ;; Respectively, strip the symbol table and debug ;; information, and the DWARF symbol table. "-ldflags=-s -w" - import-path)) + `(,@build-flags ,import-path))) (lambda (key . args) (display (string-append "Building '" import-path "' failed.\n" "Here are the results of `go env`:\n")) -- 2.24.1 --u552dxktsdzvxzzr Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="0002-gnu-Add-keybase.patch" Content-Transfer-Encoding: 8bit >From 3de233a2d8e6bdb4723844337b69b6612616c9c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= Date: Tue, 7 Jan 2020 20:29:21 +0100 Subject: [PATCH 2/2] gnu: Add keybase. * gnu/packages/crypto.scm (keybase-component): New function. (keybase, git-remote-keybase, kbfs): New variables. --- gnu/packages/crypto.scm | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index dd49c12e5b..c78515ae68 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2018 Tim Gesthuizen ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2019 Tanguy Le Carrour +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -69,6 +70,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system go) #:use-module (guix build-system perl) #:use-module (guix build utils) #:use-module (srfi srfi-1) @@ -1040,3 +1042,50 @@ minisign uses a slightly different format to store secret keys. Minisign signatures include trusted comments in addition to untrusted comments. Trusted comments are signed, thus verified, before being displayed.") (license license:isc))) + +(define* (keybase-component #:key name repo-path synopsis description) + (package + (name name) + (version "5.1.1") + (source (origin + (method url-fetch) + (uri + (string-append "https://github.com/keybase/client/releases/download/v" + version "/keybase-v" version ".tar.xz")) + (sha256 + (base32 + "1i6waaprdr89k3lrg36hn11f5z8j0n2iv6gpyrynbh2h128cfpwy")))) + (build-system go-build-system) + (arguments + `(#:import-path ,(string-append "github.com/keybase/client/go/" repo-path) + #:unpack-path "github.com/keybase/client" + #:build-flags '("-tags" "production") + #:install-source? #f)) + (home-page "https://keybase.io") + (synopsis synopsis) + (description description) + (license license:bsd-3))) + +(define-public keybase + (keybase-component + #:name "keybase" + #:repo-path "keybase" + #:synopsis "Command-line client for Keybase" + #:description "Keybase is a key directory that maps social media identities +to encryption keys in a publically auditable manner. End-to-end encrypted chat, +cloud storage and git hosting is also provided.")) + +(define-public git-remote-keybase + (keybase-component + #:name "git-remote-keybase" + #:repo-path "kbfs/kbfsgit/git-remote-keybase" + #:synopsis "Git remote helper for Keybase encrypted repositories" + #:description "keybase-kbfsgit provides the git remote helper that handles +@code{keybase://} URIs.")) + +(define-public kbfs + (keybase-component + #:name "kbfs" + #:repo-path "kbfs/kbfsfuse" + #:synopsis "FUSE handler for the Keybase filesystem" + #:description "Handles mounting /keybase")) -- 2.24.1 --u552dxktsdzvxzzr-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 24 13:34:34 2020 Received: (at 39021) by debbugs.gnu.org; 24 Jan 2020 18:34:34 +0000 Received: from localhost ([127.0.0.1]:54750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iv3ms-00089k-Ew for submit@debbugs.gnu.org; Fri, 24 Jan 2020 13:34:34 -0500 Received: from pat.zlotemysli.pl ([37.59.186.212]:46594) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iv3mr-00089b-AV for 39021@debbugs.gnu.org; Fri, 24 Jan 2020 13:34:33 -0500 Received: (qmail 2241 invoked by uid 1009); 24 Jan 2020 19:34:31 +0100 Received: from 188.123.215.55 (kuba@kadziolka.net@188.123.215.55) by pat (envelope-from , uid 1002) with qmail-scanner-2.08st (clamdscan: 0.98.6/25704. spamassassin: 3.4.0. perlscan: 2.08st. Clear:RC:1(188.123.215.55):. Processed in 0.017373 secs); 24 Jan 2020 18:34:31 -0000 Received: from unknown (HELO zdrowyportier.kadziolka.net) (kuba@kadziolka.net@188.123.215.55) by pat.zlotemysli.pl with SMTP; 24 Jan 2020 19:34:31 +0100 Date: Fri, 24 Jan 2020 19:34:28 +0100 From: Jakub =?utf-8?B?S8SFZHppb8WCa2E=?= To: 39021@debbugs.gnu.org Subject: go package rebuilds Message-ID: <20200124183428.iruqasedecsusbgw@zdrowyportier.kadziolka.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 39021 Cc: me@tobias.gr 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 (-) With regards to the modification of go-build-system in this patchstack, it seems that this would cause "only" <180 packages to be rebuilt: ~/guix$ rg -w go-build-system gnu/packages | wc -l 172 ~/guix$ guix refresh --list-dependent go Building the following 52 packages would ensure 176 dependent packages are rebuilt: [...] This has been discussed on IRC, and since some time has since passed, I want to put the relevant link here, for future reference: http://logs.guix.gnu.org/guix/2020-01-19.log#215122 Regards, Jakub Kądziołka From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 28 16:54:11 2020 Received: (at 39021) by debbugs.gnu.org; 28 Jan 2020 21:54:11 +0000 Received: from localhost ([127.0.0.1]:32982 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iwYoF-0008FX-Bg for submit@debbugs.gnu.org; Tue, 28 Jan 2020 16:54:11 -0500 Received: from pat.zlotemysli.pl ([37.59.186.212]:59996) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iwYoC-0008FL-W3 for 39021@debbugs.gnu.org; Tue, 28 Jan 2020 16:54:09 -0500 Received: (qmail 6603 invoked by uid 1009); 28 Jan 2020 22:54:06 +0100 Received: from 188.123.215.55 (kuba@kadziolka.net@188.123.215.55) by pat (envelope-from , uid 1002) with qmail-scanner-2.08st (clamdscan: 0.98.6/25708. spamassassin: 3.4.0. perlscan: 2.08st. Clear:RC:1(188.123.215.55):. Processed in 0.008669 secs); 28 Jan 2020 21:54:06 -0000 Received: from unknown (HELO zdrowyportier.kadziolka.net) (kuba@kadziolka.net@188.123.215.55) by pat.zlotemysli.pl with SMTP; 28 Jan 2020 22:54:06 +0100 Date: Tue, 28 Jan 2020 22:54:05 +0100 From: Jakub =?utf-8?B?S8SFZHppb8WCa2E=?= To: 39021@debbugs.gnu.org Subject: [PATCH 1/2 v2] build-system/go: Allow providing additional build flags Message-ID: <20200128215405.b5nyh4tiewzxrjjq@zdrowyportier.kadziolka.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 39021 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 (-) * guix/build-system/go.scm (build-flags): New argument. * guix/build/go-build-system.scm (build): Use apply to pass the additional arguments to invoke. --- I have discovered a bug when testing v1 of this patch locally - some Go packages have been failing to build due to a quoting mishap. This is now fixed. Diff between patches: - (build-flags '()) + (build-flags ''()) [this note should be automatically removed by git am] --- guix/build-system/go.scm | 3 +++ guix/build/go-build-system.scm | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm index 1b916af8f9..f8ebaefb27 100644 --- a/guix/build-system/go.scm +++ b/guix/build-system/go.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Petter ;;; Copyright © 2017 Leo Famulari +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -82,6 +83,7 @@ (install-source? #t) (import-path "") (unpack-path "") + (build-flags ''()) (tests? #t) (allow-go-reference? #f) (system (%current-system)) @@ -109,6 +111,7 @@ #:install-source? ,install-source? #:import-path ,import-path #:unpack-path ,unpack-path + #:build-flags ,build-flags #:tests? ,tests? #:allow-go-reference? ,allow-go-reference? #:inputs %build-inputs))) diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm index 4bc0156a88..49887848f6 100644 --- a/guix/build/go-build-system.scm +++ b/guix/build/go-build-system.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Petter ;;; Copyright © 2017, 2019 Leo Famulari ;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -209,18 +210,18 @@ unpacking." (_ #f)) inputs)))) -(define* (build #:key import-path #:allow-other-keys) +(define* (build #:key import-path build-flags #:allow-other-keys) "Build the package named by IMPORT-PATH." (with-throw-handler #t (lambda _ - (invoke "go" "install" + (apply invoke "go" "install" "-v" ; print the name of packages as they are compiled "-x" ; print each command as it is invoked ;; Respectively, strip the symbol table and debug ;; information, and the DWARF symbol table. "-ldflags=-s -w" - import-path)) + `(,@build-flags ,import-path))) (lambda (key . args) (display (string-append "Building '" import-path "' failed.\n" "Here are the results of `go env`:\n")) -- 2.25.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 07 19:20:36 2020 Received: (at 39021) by debbugs.gnu.org; 8 Feb 2020 00:20:36 +0000 Received: from localhost ([127.0.0.1]:50470 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j0DrQ-0006u3-DZ for submit@debbugs.gnu.org; Fri, 07 Feb 2020 19:20:36 -0500 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:47423) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j0DrO-0006tq-Rt for 39021@debbugs.gnu.org; Fri, 07 Feb 2020 19:20:35 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 18B6044D; Fri, 7 Feb 2020 19:20:29 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Fri, 07 Feb 2020 19:20:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-transfer-encoding:in-reply-to; s=mesmtp; bh=pgdgQmg51U6MknYNeQxfQ4YdSEe4/3EQjMBOYu/ApN8=; b=i1adKXqsHT+d 3XGMbhLl0T0QWF1XjWPGuk/5N+/NgoVfcn6oL11RngC+7zH/k7UmC/o40GtA2Zzi Ar1lal6V6T8N2hNQ1cUWtUb+GrHdIjt+6yOPVBvkuZyhzvnM7iOeFm3T2C0df++u gZKAGl7t4gS9Xq2FLVWFko+S3ZnO7r4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=pgdgQmg51U6MknYNeQxfQ4YdSEe4/3EQjMBOYu/Ap N8=; b=UdvS5M+SwAl99v/SSRz5U7pfamiJbi9PsOZaWbgnXT/EijUtXSDE6R3pY KuEOHDe5oKKOZarr1Y8hRRc6tuGowtZb8QNyiyTwammJ315gBrE9oCotykXBme7C BMrzajvXhBQVrOg+bQE2g2DZubiQacZr4W5lteS4fi3Jj4u519Jh45qJEkWgg7fU kUvb2hLxq8vEHhKTzEMIhkBlrQmxgd5DiiCTsCbXb90vsgv8O9S9iGxfZbCHe9/o Z8Cj3bz7ST0vqPygyov9Xvz9g2RXI8x2KT7I0ynZ0IK2RQwpD7mOGVCXtWry87g6 kwxNGkmf99CRRK5AtB/rAqzQzFEVw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrheeigddvvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepfffhvffukfhfgggtugfgjgesthekre dttddtjeenucfhrhhomhepnfgvohcuhfgrmhhulhgrrhhiuceolhgvohesfhgrmhhulhgr rhhirdhnrghmvgeqnecuffhomhgrihhnpeguthhhohhmphhsohhnrdhushdpghhithhhuh gsrdgtohhmnecukfhppedujedvrdehkedrvddtfedrudeikeenucevlhhushhtvghrufhi iigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlvghosehfrghmuhhlrghrihdrnh grmhgv X-ME-Proxy: Received: from localhost (unknown [172.58.203.168]) by mail.messagingengine.com (Postfix) with ESMTPA id 4AD053280060; Fri, 7 Feb 2020 19:20:28 -0500 (EST) Date: Fri, 7 Feb 2020 19:20:20 -0500 From: Leo Famulari To: Jakub =?utf-8?B?S8SFZHppb8WCa2E=?= Subject: Re: [bug#39021] [PATCH] Add Keybase Message-ID: <20200208002020.GD12194@jasmine.lan> References: <20200107200039.jga75muq7excgpqu@zdrowyportier.kadziolka.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200107200039.jga75muq7excgpqu@zdrowyportier.kadziolka.net> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 39021 Cc: 39021@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Tue, Jan 07, 2020 at 09:00:39PM +0100, Jakub Kądziołka wrote: > please find attached a set of patches that adds the non-GUI parts of > Keybase (the GUI is an Electron application - as far as I am aware, > there are no similar packages in Guix, so packaging the GUI requires a > significant amount of further work). I don't *think* we have any Electron packages, but we do have Chromium (and qtwebengine) and Node.js, so I hope it's possible. > Unresolved question: in other distributions, the package provides user > units for systemd. Should the Guix package provide Shepherd services to > be ran as the user? If so, are there any other examples I could look at > and draw inspiration from? Also, I haven't been able to find any > documentation on how to set up user shepherd, apart from a passing > mention of that being possible in the documentation. I would appreciate > any pointers on the topic. We don't really do this kind of thing — adding features or service manager files to upstream packages. As for user shepherd, there's an example here: https://git.dthompson.us/dotfiles.git/blob/HEAD:/dotfiles/.config/shepherd/init.scm There's a lot going on there but the important parts are (register-services ...), (make ...), (action ...), and (for-each start ...) Then you just invoke `shepherd`. > From 0d744787c48c7184a70dda9fc1bb2c0d334fc080 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= > Date: Sun, 5 Jan 2020 17:13:20 +0100 > Subject: [PATCH 1/2] build-system/go: Allow providing additional build flags > > * guix/build-system/go.scm (build-flags): New argument. > * guix/build/go-build-system.scm (build): Use apply to pass the > additional arguments to invoke. Nice, LGTM! > From 3de233a2d8e6bdb4723844337b69b6612616c9c5 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= > Date: Tue, 7 Jan 2020 20:29:21 +0100 > Subject: [PATCH 2/2] gnu: Add keybase. > > * gnu/packages/crypto.scm > (keybase-component): New function. > (keybase, git-remote-keybase, kbfs): New variables. This is enough of it's own thing that we can make a new (gnu packages keybase) module. > +(define* (keybase-component #:key name repo-path synopsis description) We avoid abbreviations, so maybe "repository-path"? Bonus points if we can make it more descriptive. Can you take a look at the bundled ("vendored") dependencies: https://github.com/keybase/client/tree/master/go/vendor We strive to avoid using these, but sometimes we do, as in the Docker package. It's not really idiomatic to unbundle things in Go. But we need to at least make sure all the bundled dependencies are freely licensed. Also, please run `guix lint` on these packages and make sure the descriptions are written in complete sentences. From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 11 11:36:27 2020 Received: (at 39021) by debbugs.gnu.org; 11 Feb 2020 16:36:27 +0000 Received: from localhost ([127.0.0.1]:57416 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1YWR-0004cC-BL for submit@debbugs.gnu.org; Tue, 11 Feb 2020 11:36:27 -0500 Received: from pat.zlotemysli.pl ([37.59.186.212]:40448) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1YWP-0004c2-D0 for 39021@debbugs.gnu.org; Tue, 11 Feb 2020 11:36:26 -0500 Received: (qmail 27791 invoked by uid 1009); 11 Feb 2020 17:36:23 +0100 Received: from 188.123.215.55 (kuba@kadziolka.net@188.123.215.55) by pat (envelope-from , uid 1002) with qmail-scanner-2.08st (clamdscan: 0.98.6/25720. spamassassin: 3.4.0. perlscan: 2.08st. Clear:RC:1(188.123.215.55):. Processed in 0.027707 secs); 11 Feb 2020 16:36:23 -0000 Received: from unknown (HELO gravity) (kuba@kadziolka.net@188.123.215.55) by pat.zlotemysli.pl with SMTP; 11 Feb 2020 17:36:23 +0100 Date: Tue, 11 Feb 2020 17:36:54 +0100 From: Jakub =?utf-8?B?S8SFZHppb8WCa2E=?= To: Leo Famulari Subject: Re: [bug#39021] [PATCH] Add Keybase Message-ID: <20200211163654.v5jz5bf7audo7unh@gravity> References: <20200107200039.jga75muq7excgpqu@zdrowyportier.kadziolka.net> <20200208002020.GD12194@jasmine.lan> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="3gvbgjxfgdn3uwba" Content-Disposition: inline In-Reply-To: <20200208002020.GD12194@jasmine.lan> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 39021 Cc: 39021@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --3gvbgjxfgdn3uwba Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable > > From 3de233a2d8e6bdb4723844337b69b6612616c9c5 Mon Sep 17 00:00:00 2001 > > From: =3D?UTF-8?q?Jakub=3D20K=3DC4=3D85dzio=3DC5=3D82ka?=3D > > Date: Tue, 7 Jan 2020 20:29:21 +0100 > > Subject: [PATCH 2/2] gnu: Add keybase. > >=20 > > * gnu/packages/crypto.scm > > (keybase-component): New function. > > (keybase, git-remote-keybase, kbfs): New variables. >=20 > This is enough of it's own thing that we can make a new (gnu packages > keybase) module. Sure, will do. > > +(define* (keybase-component #:key name repo-path synopsis description) >=20 > We avoid abbreviations, so maybe "repository-path"? Bonus points if we > can make it more descriptive. I can't think of anything more descriptive, as it's literally the path in the repository the component is at. > Can you take a look at the bundled ("vendored") dependencies: >=20 > https://github.com/keybase/client/tree/master/go/vendor >=20 > We strive to avoid using these, but sometimes we do, as in the Docker > package. It's not really idiomatic to unbundle things in Go. But we need > to at least make sure all the bundled dependencies are freely licensed. Apart from licensing concerns, what are the arguments for splitting this into separate packages? I feel like this is just busywork... > Also, please run `guix lint` on these packages and make sure the > descriptions are written in complete sentences. Ah, sure, somehow I forgot to do this before. --3gvbgjxfgdn3uwba Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE5Xa/ss9usT31cTO54xWnWEYTFWQFAl5C2CEACgkQ4xWnWEYT FWRv+A//fqKTVj3IEWYOSUS7lHMiUYVpaQg/k5m0a9pmEP/L0BWegAhixRYrLKh6 fupoXjGxryPbKG6rOh2eiZ8F46lJSjrlPYyXdBgD5mwzQR/UZ7QuBKgu66BBPpiR 97JEMdPje6BO2ImYY+JlIeQWg1MpgrxmujqfGn3QeLxtD3w9HOtfSXsesU1n0gyb GHxK6hzlXI6Q5al2aEfEmGK7OG4ycCwLgPoIrZH0g+VuyGpufxTDCa69TN6aNT1n sqnuvizd1U0sfoDruVdphWCMGvyNrnzZTx8GHsYnd+i5yTTHYunQQ8f1ZoOgoFck uR4Xfcw9sQ2ytoHWUB6TwEhiF/dT/QUTERBT+WApSAp+ksSVwN7ZskB6wAGHvuTk G4D25zBk23gnDKeXj68zkmitQv/UqM8xirXQXOIV2195Q7+vNk1b8au9CIMSTNvC HDnSKdNAhvzf3pb7kCsNadMQ2DgPl1M9xMxR8k2JxWwokWxPrh4N/9CM2jmYBs0e 1gWIxABbC79mJuZqSAHMVR0LFX41RWuFrYQWU1LwlrYBzj8XPq0/o62418q2uaob mkEF8T03BpNEptHzj5UBzn7BZkmdQCPy8GmlTwRDJOL+1finU5QbGzejQZqkaNB6 S+elhku+3J/vTdFGoPAZPkO9QzH3fpep/0rJJbT6Ko0LRpaMwY4= =3uIp -----END PGP SIGNATURE----- --3gvbgjxfgdn3uwba-- From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 11 12:36:44 2020 Received: (at 39021) by debbugs.gnu.org; 11 Feb 2020 17:36:44 +0000 Received: from localhost ([127.0.0.1]:57455 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1ZSm-00062l-2v for submit@debbugs.gnu.org; Tue, 11 Feb 2020 12:36:44 -0500 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]:43875) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j1ZSj-00062X-RF for 39021@debbugs.gnu.org; Tue, 11 Feb 2020 12:36:42 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id A60A04B3; Tue, 11 Feb 2020 12:36:35 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Tue, 11 Feb 2020 12:36:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-transfer-encoding:in-reply-to; s=mesmtp; bh=hi8xDAfyJTwvJSmZPj0AmcxeDx0LNioNOejPId5UOlc=; b=jLMfHKkNKSPU bC/e1/xsq3OK30evgZ5yhTl86tXQy6qse+vKTOGnw/ZdH75Vdk1+uZABgbl/76Xm 86hfiXnhvjYPFQCk7KYIVoVsJWhXlPGRiwhWBCw1zcTTRjAO8MWJ2Am+c6YhUkqx u1fw41r49AYxXhSVKC6PoxRQ8O8V15E= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=hi8xDAfyJTwvJSmZPj0AmcxeDx0LNioNOejPId5UO lc=; b=2vzDhCph1lsUPjqJMMs9P/hOgCfbFxm5li2js8KFlBCEKppEKVYVI8Zfp Mb4fKuKhTCvZdy2YduIwyCvvHKRC3Mn5HHB906ql70NvbkV9uTfCgPfPewkyVsnn 2IaF4OoTH8S0VSUgci5gmGnIku3QOopI5yGSaq7ieIovSkv5L9s4XcQaZ+0rF8wa iH0t1TlSMR0qXu/h4Q3qJwHgPhUkDeXBkRtWeo+K7bZZGua7sWmlcChdZSBWOw0h jzQcSTONPy4/aFsiwo9YDCo0ABwRgQlZaJePB1oQIghAUPFLimJZuFvyiC6eJW7o /bO4u6pFursWeZmTqGpsO77LJ0nvA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrieefgdeliecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepfffhvffukfhfgggtugfgjgesthekre dttddtjeenucfhrhhomhepnfgvohcuhfgrmhhulhgrrhhiuceolhgvohesfhgrmhhulhgr rhhirdhnrghmvgeqnecukfhppeejiedruddvgedrudefkedrieefnecuvehluhhsthgvrh fuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheplhgvohesfhgrmhhulhgrrhhi rdhnrghmvg X-ME-Proxy: Received: from localhost (c-76-124-138-63.hsd1.pa.comcast.net [76.124.138.63]) by mail.messagingengine.com (Postfix) with ESMTPA id A37E330606FB; Tue, 11 Feb 2020 12:36:34 -0500 (EST) Date: Tue, 11 Feb 2020 12:36:34 -0500 From: Leo Famulari To: Jakub =?utf-8?B?S8SFZHppb8WCa2E=?= Subject: Re: [bug#39021] [PATCH] Add Keybase Message-ID: <20200211173634.GB9442@jasmine.lan> References: <20200107200039.jga75muq7excgpqu@zdrowyportier.kadziolka.net> <20200208002020.GD12194@jasmine.lan> <20200211163654.v5jz5bf7audo7unh@gravity> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200211163654.v5jz5bf7audo7unh@gravity> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 39021 Cc: 39021@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Tue, Feb 11, 2020 at 05:36:54PM +0100, Jakub Kądziołka wrote: > > We strive to avoid using these, but sometimes we do, as in the Docker > > package. It's not really idiomatic to unbundle things in Go. But we need > > to at least make sure all the bundled dependencies are freely licensed. > > Apart from licensing concerns, what are the arguments for splitting this > into separate packages? I feel like this is just busywork... The question of licensing is unrelated to bundling, sorry if that wasn't clear. The only thing you have to do here is make sure they are all freely licensed. To clarify, those bundled dependencies *are* separate packages, developed by different organizations. It's the standard in Guix (and every major GNU/Linux distro) to not allow bundled dependencies because they make the graph of software basically uninspectable and unmaintainable using the distro's normal tools, as well as having the potential to waste time and space building multiple versions of a package if it is bundled in more than one place or already present as its own package. It negates all the advantages of creating a distrubtion, especially for Go binaries, which can be trivially deployed on any system, including Guix, without any extra work. But like I said, it's normal to bundle things in Go land, where there is really no principled concept of dependency management or versioned releases, and as time goes by changes to the Go compiler make it harder and harder to unbundle. I did do it for Syncthing and I can confirm it was a lot of work for no clear benefit. Excepting the standard library, Go libraries do not even get security updates because nobody is looking closely at them. From debbugs-submit-bounces@debbugs.gnu.org Sun May 31 03:10:31 2020 Received: (at 39021) by debbugs.gnu.org; 31 May 2020 07:10:31 +0000 Received: from localhost ([127.0.0.1]:59656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jfI6x-00008Q-75 for submit@debbugs.gnu.org; Sun, 31 May 2020 03:10:31 -0400 Received: from flashner.co.il ([178.62.234.194]:45392) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jfI6r-000086-Ej for 39021@debbugs.gnu.org; Sun, 31 May 2020 03:10:21 -0400 Received: from localhost (unknown [188.120.128.90]) by flashner.co.il (Postfix) with ESMTPSA id 177A34021F; Sun, 31 May 2020 07:10:11 +0000 (UTC) Date: Sun, 31 May 2020 10:09:38 +0300 From: Efraim Flashner To: Leo Famulari Subject: Re: [bug#39021] [PATCH] Add Keybase Message-ID: <20200531070938.GC7397@E5400> References: <20200107200039.jga75muq7excgpqu@zdrowyportier.kadziolka.net> <20200208002020.GD12194@jasmine.lan> <20200211163654.v5jz5bf7audo7unh@gravity> <20200211173634.GB9442@jasmine.lan> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="idY8LE8SD6/8DnRI" Content-Disposition: inline In-Reply-To: <20200211173634.GB9442@jasmine.lan> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 39021 Cc: Jakub =?utf-8?B?S8SFZHppb8WCa2E=?= , 39021@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --idY8LE8SD6/8DnRI Content-Type: multipart/mixed; boundary="TybLhxa8M7aNoW+V" Content-Disposition: inline --TybLhxa8M7aNoW+V Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable I have a working version of keybase, although I haven't gotten around to unbundling all the go dependencies yet. I figured I'd post my WIP stuff here. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --TybLhxa8M7aNoW+V Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="keybase.scm" Content-Transfer-Encoding: quoted-printable ;;; Copyright =C2=A9 2020 Efraim Flashner ;;; ;;; This file is an addendum to GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (dfsg main keybase) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build utils) #:use-module (guix git-download) #:use-module (guix download) #:use-module (guix packages) #:use-module (guix build-system go) #:use-module (gnu packages golang) #:use-module (gnu packages syncthing)) ;; TODO: Unbundle all the go dependencies. (define-public keybase (package (name "keybase") (version "5.5.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/keybase/client/releases/download/v" version "/keybase-v" version ".tar.xz")) (sha256 (base32 "0x683v50wq8b2rk4nv2gmchav71fxnqvkfglrkzixvwcqqwvy2m7")) (modules '((guix build utils))) (snippet '(begin (with-directory-excursion "go/vendor" (delete-file-recursively "bazil.org") (delete-file-recursively "camlistore.org/pkg/buildinfo") ;(delete-file-recursively "camlistore.org/pkg/images") (delete-file-recursively "github.com/BurntSushi") ;(delete-file-recursively "github.com/PuerkitoBio/goquery") ;(delete-file-recursively "github.com/RoaringBitmap/roaring") ;(delete-file-recursively "github.com/StackExchange/wmi") ;(delete-file-recursively "github.com/akavel/rsrc") ;(delete-file-recursively "github.com/andybalholm/cascadia") ;(delete-file-recursively "github.com/antchfx/htmlquery") ;(delete-file-recursively "github.com/antchfx/xmlquery") ;(delete-file-recursively "github.com/antchfx/xpath") ;(delete-file-recursively "github.com/araddon/dateparse") ;(delete-file-recursively "github.com/asaskevich/govalidator") (delete-file-recursively "github.com/blang") ;(delete-file-recursively "github.com/blevesearch/bleve") ;(delete-file-recursively "github.com/blevesearch/go-porterst= emmer") ;(delete-file-recursively "github.com/blevesearch/segment") ;(delete-file-recursively "github.com/btcsuite/btcutil") ;(delete-file-recursively "github.com/buger/jsonparser") ;(delete-file-recursively "github.com/coreos/go-systemd") ;(delete-file-recursively "github.com/coreos/pkg") ;(delete-file-recursively "github.com/couchbase/vellum") ;(delete-file-recursively "github.com/davecgh/go-spew") ;(delete-file-recursively "github.com/deckarep/golang-set") ;(delete-file-recursively "github.com/docopt/docopt-go") ;(delete-file-recursively "github.com/dustin/go-humanize") ;(delete-file-recursively "github.com/eapache/channels") ;(delete-file-recursively "github.com/eapache/queue") ;(delete-file-recursively "github.com/edsrzf/mmap-go") ;(delete-file-recursively "github.com/emirpasic/gods") ;(delete-file-recursively "github.com/etcd-io/bbolt") ;(delete-file-recursively "github.com/gammazero/deque") ;(delete-file-recursively "github.com/gammazero/workerpool") ;(delete-file-recursively "github.com/glycerine/go-unsnap-str= eam") ;(delete-file-recursively "github.com/go-errors/errors") ;(delete-file-recursively "github.com/go-ole/go-ole") (delete-file-recursively "github.com/gobwas") ;(delete-file-recursively "github.com/gocolly/colly") (delete-file-recursively "github.com/golang/groupcache/lru") ;(delete-file-recursively "github.com/golang/groupcache") ;(delete-file-recursively "github.com/golang/mock") (delete-file-recursively "github.com/golang/protobuf") (delete-file-recursively "github.com/golang/snappy") ;(delete-file-recursively "github.com/hashicorp/golang-lru") ;(delete-file-recursively "github.com/jbenet/go-context") ;(delete-file-recursively "github.com/josephspurrier/goversio= ninfo") ;(delete-file-recursively "github.com/kennygrant/sanitize") ;(delete-file-recursively "github.com/kevinburke/ssh_config") ;(delete-file-recursively "github.com/keybase/backoff") ;(delete-file-recursively "github.com/keybase/cli") ;(delete-file-recursively "github.com/keybase/clockwork") ;(delete-file-recursively "github.com/keybase/colly") ;(delete-file-recursively "github.com/keybase/go-codec") ;(delete-file-recursively "github.com/keybase/go-crypto") ;(delete-file-recursively "github.com/keybase/go-framed-msgpa= ck-rpc") ;(delete-file-recursively "github.com/keybase/go-jsonw") ;(delete-file-recursively "github.com/keybase/go-kext") ;(delete-file-recursively "github.com/keybase/go-keychain") ;(delete-file-recursively "github.com/keybase/go-logging") ;(delete-file-recursively "github.com/keybase/go-merkle-tree") ;(delete-file-recursively "github.com/keybase/go-porterstemme= r") ;(delete-file-recursively "github.com/keybase/go-ps") ;(delete-file-recursively "github.com/keybase/go-triplesec-in= secure") ;(delete-file-recursively "github.com/keybase/go-triplesec") ;(delete-file-recursively "github.com/keybase/go-updater") ;(delete-file-recursively "github.com/keybase/go-winio") ;(delete-file-recursively "github.com/keybase/go.dbus") ;(delete-file-recursively "github.com/keybase/golang-ico") ;(delete-file-recursively "github.com/keybase/gomounts") ;(delete-file-recursively "github.com/keybase/keybase-test-ve= ctors") ;(delete-file-recursively "github.com/keybase/msgpackzip") ;(delete-file-recursively "github.com/keybase/pipeliner") ;(delete-file-recursively "github.com/keybase/saltpack") ;(delete-file-recursively "github.com/keybase/stellarnet") ;(delete-file-recursively "github.com/keybase/xurls") (delete-file-recursively "github.com/kr") ;(delete-file-recursively "github.com/kyokomi/emoji") (delete-file-recursively "github.com/lib") ;(delete-file-recursively "github.com/manucorporat/sse") (delete-file-recursively "github.com/mattn") ;(delete-file-recursively "github.com/miekg/dns") (delete-file-recursively "github.com/mitchellh") ;(delete-file-recursively "github.com/mschoch/smat") ;(delete-file-recursively "github.com/nf/cr2") ;(delete-file-recursively "github.com/nfnt/resize") ;(delete-file-recursively "github.com/pelletier/go-buffruneio= ") ;(delete-file-recursively "github.com/philhofer/fwd") (delete-file-recursively "github.com/pkg/errors") ;(delete-file-recursively "github.com/pkg/xattrs") (delete-file-recursively "github.com/pmezard") ;(delete-file-recursively "github.com/qrtz/nativemessaging") ;(delete-file-recursively "github.com/rcrowley") ;(delete-file-recursively "github.com/rwcarlsen/goexif") ;(delete-file-recursively "github.com/saintfish/chardet") ;(delete-file-recursively "github.com/sergi/go-diff") (delete-file-recursively "github.com/shirou") ;(delete-file-recursively "github.com/shopspring/decimal") ;(delete-file-recursively "github.com/src-d/gcfg") (delete-file-recursively "github.com/stathat") ;(delete-file-recursively "github.com/stellar/go-xdr") ;(delete-file-recursively "github.com/stellar/go") ;(delete-file-recursively "github.com/steveyen/gtreap") ;(delete-file-recursively "github.com/stretchr/testify") ;(delete-file-recursively "github.com/syndtr/goleveldb") ;(delete-file-recursively "github.com/temoto/robotstxt") ;(delete-file-recursively "github.com/tinylib/msgp") (delete-file-recursively "github.com/urfave") ;(delete-file-recursively "github.com/vividcortex/ewma") (delete-file-recursively "github.com/willf") ;(delete-file-recursively "github.com/xanzy/ssh-agent") ;(delete-file-recursively "go.uber.org/zap/buffer") ;(delete-file-recursively "go.uber.org/zap/internal") ;(delete-file-recursively "go.uber.org/zap/zapcore") (delete-file-recursively "golang.org/x") (delete-file-recursively "google.golang.org") ;(delete-file-recursively "gopkg.in/src-d/go-billy.v4") ;(delete-file-recursively "gopkg.in/src-d/go-git.v4") ;(delete-file-recursively "rsc.io/qr/coding") ;(delete-file-recursively "rsc.io/qr/gf256") ;(delete-file-recursively "stathat.com/c/ramcache") ) ;; Lets smallerize the source to audit less code and licenses. (delete-file-recursively "osx") (delete-file-recursively "shared/ios") ;; Delete everything for the GUI (delete-file-recursively "browser") ;; Delete the protocol generator and tester (delete-file-recursively "protocol") (delete-file-recursively "pvl-tools") ;; Remove non-free fonts. (with-directory-excursion "shared/fonts" (for-each (lambda (file) (delete-file file)) (find-files "." "keybase.*ttf"))) ;; Apparently we don't need any of this (delete-file-recursively "shared") (delete-file-recursively "media") (delete-file-recursively "packaging") #t)))) (build-system go-build-system) (arguments `(#:install-source? #f #:import-path "github.com/keybase/client/go/keybase" #:unpack-path "github.com/keybase/client" #:phases (modify-phases %standard-phases (replace 'build (lambda* (#:key import-path #:allow-other-keys) (for-each (lambda (directory) (invoke "go" "install" "-tags" "production" "-v" "-x" "-ldflags=3D-s -w" directory)) (list import-path "github.com/keybase/client/go/kbfs/kbfsfuse" "github.com/keybase/client/go/kbfs/kbfsgit/git-remote-= keybase" "github.com/keybase/client/go/kbfs/redirector" "github.com/keybase/client/go/kbnm")) #t)) (replace 'check (lambda* (#:key import-path #:allow-other-keys) (for-each (lambda (directory) (invoke "go" "test" "-v" "-x" "-ldflags=3D-s -w" directory)) (list import-path "github.com/keybase/client/go/kbfs/kbfsfuse" "github.com/keybase/client/go/kbfs/kbfsgit/git-remote-= keybase" "github.com/keybase/client/go/kbfs/redirector" "github.com/keybase/client/go/kbnm")) #t)) (add-after 'install 'install-license (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (install-file "src/github.com/keybase/client/LICENSE" (string-append out "/share/doc/" ,name "-" ,version "/")) #t)))))) (inputs `(("go-bazil-org-fuse" ,go-bazil-org-fuse) ("go-camlistore-org-pkg-buildinfo" ,go-camlistore-org-pkg-buildinfo) ("go-github-com-blang-semver" ,go-github-com-blang-semver) ("go-github-com-burntsushi-toml" ,go-github-com-burntsushi-toml) ("go-github-com-gobwas-glob" ,go-github-com-gobwas-glob) ("go-github-com-golang-groupcache-lru" ,go-github-com-golang-groupca= che-lru) ("go-github-com-golang-protobuf-proto" ,go-github-com-golang-protobu= f-proto) ("go-github-com-golang-snappy" ,go-github-com-golang-snappy) ("go-github-com-kr-text" ,go-github-com-kr-text) ("go-github-com-lib-pq" ,go-github-com-lib-pq) ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty) ("go-github-com-mitchellh-go-homedir" ,go-github-com-mitchellh-go-ho= medir) ("go-github-com-pkg-errors" ,go-github-com-pkg-errors) ("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-diffli= b) ;("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-met= rics) ("go-github-com-shirou-gopsutil" ,go-github-com-shirou-gopsutil) ("go-github-com-stathat-go" ,go-github-com-stathat-go) ;("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb) ("go-github-com-urfave-cli" ,go-github-com-urfave-cli) ("go-github-com-willf-bitset" ,go-github-com-willf-bitset) ("go-golang-org-x-crypto" ,go-golang-org-x-crypto) ("go-golang-org-x-image" ,go-golang-org-x-image) ("go-golang-org-x-net" ,go-golang-org-x-net) ("go-golang.org-x-sync-errgroup" ,go-golang.org-x-sync-errgroup) ("go-golang.org-x-sync-semaphore" ,go-golang.org-x-sync-semaphore) ("go-golang-org-x-sys" ,go-golang-org-x-sys) ("go-golang-org-x-text" ,go-golang-org-x-text) ("go-golang-org-x-time" ,go-golang-org-x-time) ("go-google-golang-org-appengine" ,go-google-golang-org-appengine))) (home-page "https://keybase.io") (synopsis "Secure messaging and file-sharing") (description "Keybase is a safe, secure, and private app for everything= you do online.") (license license:bsd-3))) (define-public go-golang.org-x-sync-semaphore (package (inherit go-golang.org-x-sync-errgroup) (name "go-golang.org-x-sync-semaphore") (arguments '(#:import-path "golang.org/x/sync/semaphore" #:unpack-path "golang.org/x/sync")))) (define-public go-google-golang-org-appengine (package (name "go-google-golang-org-appengine") (version "1.6.6") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/golang/appengine") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "15c38h6fbv06cnkr6yknygfrpibyms2mya4w0l29kaxf42jn1qi5")))) (build-system go-build-system) (arguments '(#:import-path "google.golang.org/appengine")) (propagated-inputs `(("go-github-com-golang-protobuf-proto" ,go-github-com-golang-protobu= f-proto) ("go-golang-org-x-net" ,go-golang-org-x-net))) (home-page "https://google.golang.org/appengine") (synopsis "Internal support for package appengine") (description "This package supports the Go runtime on App Engine standa= rd. It provides APIs for interacting with App Engine services.") (license license:asl2.0))) (define-public go-bazil-org-fuse (let ((commit "5a45981690d8c47319ea10f5f1c1ba6e2cc0147b") (revision "1")) (package (name "go-bazil-org-fuse") (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/bazil/fuse") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0didws29ca6xqvyqg3pfy4g1hd4ij9xhhxxc5ngvaxyxk5gd0rcy")))) (build-system go-build-system) (arguments '(#:import-path "bazil.org/fuse" #:tests? #f)) ; Tests require fusermount and a fuse device. (propagated-inputs `(("go-golang-org-x-sys" ,go-golang-org-x-sys))) (native-inputs `(("fuse" ,(@ (gnu packages linux) fuse)) ("go-golang-org-x-net" ,go-golang-org-x-net))) (home-page "https://bazil.org/fuse/") (synopsis "Go library for writing filesystems") (description "This package is a Go library for writing filesystems. = It is a from-scratch implementation of the kernel-userspace communication protoco= l, and does not use the C library from the project called FUSE.") (license license:bsd-3)))) (define-public go-github-com-tv42-httpunix (let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22") (revision "1")) (package (name "go-github-com-tv42-httpunix") (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tv42/httpunix") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0xbwpip2hsfhd2kd878jn5ndl8y1i9658lggha4x3xb5m1rsds9w")))) (build-system go-build-system) (arguments '(#:import-path "github.com/tv42/httpunix")) (home-page "https://github.com/tv42/httpunix") (synopsis "Go library to talk HTTP over Unix domain sockets") (description "Go library to talk HTTP over Unix domain sockets/") (license license:expat)))) (define-public go-camlistore-org-pkg-buildinfo (let ((commit "c55c8602d3cea4511081630e17bca7ed601abc44") (revision "1")) (package (name "go-camlistore-org-pkg-buildinfo") (version (git-version "0.9" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/perkeep/perkeep") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1h9f6kj6ifwgx9hymwkn5w0ri291js1951mlc8fa5lagpbhnqd1g")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "vendor") (delete-file-recursively "website") (delete-file-recursively "server/camlistored") (for-each make-file-writable (find-files ".")) #t)))) (build-system go-build-system) (arguments '(#:import-path "camlistore.org/pkg/buildinfo" #:unpack-path "camlistore.org")) (home-page "https://perkeep.org/pkg/") (synopsis "Go library for personal storage system") (description "Camlistore is your personal storage system for life: a = way of storing, syncing, sharing, modelling and backing up content.") (license license:asl2.0)))) (define-public go-camlistore-org-pkg-images (package (inherit go-camlistore-org-pkg-buildinfo) (name "go-camlistore-org-pkg-images") (arguments '(#:import-path "camlistore.org/pkg/images" #:unpack-path "camlistore.org")) (propagated-inputs `( ;("go-github-com-nf-cr2" ,go-github-com-nf-cr2) ;("go-github-com-rwcarlsen-goexif" ,go-github-com-rwcarlsen-goexif) ;("go-go4-org-readerutil" ,go-go4-org-readerutil) ("go-golang-org-x-image" ,go-golang-org-x-image))) )) --TybLhxa8M7aNoW+V Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="keybase.scm" Content-Transfer-Encoding: quoted-printable ;; https://github.com/keybase/client/blob/master/packaging/linux/systemd/ke= ybase.service (define keybase (make #:provides '(keybase) #:docstring "Provide access to Keybase=E2=84=A2" #:start (make-forkexec-constructor '("keybase" "service") #:log-file (string-append (getenv "HOME") "/log/keybase.log")) #:stop (make-system-destructor "keybase ctl stop") #:actions (make-actions (restart (lambda _ (system* "keybase" "ctl" "restart"))) (reload (lambda _ (system* "keybase" "ctl" "reload")))) #:directory (string-append "/run/user/" (number->string (passwd:uid (getpw "efraim")= )) "/keybase") #:respawn? #t)) ;; https://github.com/keybase/client/blob/master/packaging/linux/systemd/kb= fs.service (define kbfs (make #:provides '(kbfs) #:depends '(keybase) #:docstring "Provide access to Keybase=E2=84=A2 fuse store" #:start (make-forkexec-constructor '("kbfsfuse" "-debug" "-log-to-file") #:log-file (string-append (getenv "HOME") "/log/kbfs.log")) #:stop (make-kill-destructor) #:respawn? #t)) (register-services keybase kbfs) --TybLhxa8M7aNoW+V-- --idY8LE8SD6/8DnRI Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl7TWC8ACgkQQarn3Mo9 g1Fwog/6AhAS/YXnDyQ1+L+LzhX4/9gtM9oFDscHh/7SPJM0eS7w46655E8M0SZy OOqnFL1ZBNCCiHaknEqXFuMAY8f9J4k/9SJ8pNuT9JMmBfyCnWkoVgr370vgSt89 04rueK81kP2Ib6Anp7A6vnqnLyr7sxSm6tWbsk9Gt9l84id9o+zcc+pzOck3WQ8I g7lJ1HMpTKTYgBKIbMKLUbtXL8w73DC9MV7s9oTQq7Qmy+pQASgjDf5wChHyQpme 3G1PaTT8gtSythSz4NzJTiRzmqzPQUIP94cfhJ8se/iHGSTG8a5s9B3p8TpD4Xct iLlwLrs2svNihe5Weqqh7YPeAj6SuSZZJRWK7YaoxCNsHAcunzrG0Hq24EKdlD4h y51xP4m54+glmdQrPvKtxNB2/XeB+MJ6ANdBV8zNzrXraCVm2GN6rtSvjauwbb2O Fmk73Y8caPaSa2MZblbTShT/muW45utnqzSsFMCMVkrvu4ovRa6hlGwYQ9SRzU6F kAokZQLL2wNLpPfAH6PknQowyhM9hX1YB1YgdNbeFMW5ZX2mCUPjyPZXpPUB/bmW XeqFe2jA2UvRtRVVYTXGfP5SuBy6dUSdmVczi9fOjhbgXDLwnUidUC833umPbTFm LiDfioJPkBpOJSw1AmSpZxJ/WmTBdl6N2R+nKC/kGS6RarjWVcA= =6eQ5 -----END PGP SIGNATURE----- --idY8LE8SD6/8DnRI-- From debbugs-submit-bounces@debbugs.gnu.org Sun May 31 17:47:45 2020 Received: (at 39021) by debbugs.gnu.org; 31 May 2020 21:47:45 +0000 Received: from localhost ([127.0.0.1]:34027 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jfVo1-0000TI-4p for submit@debbugs.gnu.org; Sun, 31 May 2020 17:47:45 -0400 Received: from pat.zlotemysli.pl ([37.59.186.212]:49158) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jfVny-0000T7-6r for 39021@debbugs.gnu.org; Sun, 31 May 2020 17:47:43 -0400 Received: (qmail 5475 invoked by uid 1009); 31 May 2020 23:47:40 +0200 Received: from 188.123.215.55 (kuba@kadziolka.net@188.123.215.55) by pat.zlotemysli.pl (envelope-from , uid 1002) with qmail-scanner-2.08st (clamdscan: 0.98.6/25828. spamassassin: 3.4.0. perlscan: 2.08st. Clear:RC:1(188.123.215.55):. Processed in 0.048235 secs); 31 May 2020 21:47:40 -0000 Received: from unknown (HELO gravity) (kuba@kadziolka.net@188.123.215.55) by pat.zlotemysli.pl with SMTP; 31 May 2020 23:47:40 +0200 Date: Sun, 31 May 2020 23:47:38 +0200 From: Jakub =?utf-8?B?S8SFZHppb8WCa2E=?= To: Efraim Flashner Subject: Re: [bug#39021] [PATCH] Add Keybase Message-ID: <20200531214738.vakvlerjdznt34on@gravity> References: <20200107200039.jga75muq7excgpqu@zdrowyportier.kadziolka.net> <20200208002020.GD12194@jasmine.lan> <20200211163654.v5jz5bf7audo7unh@gravity> <20200211173634.GB9442@jasmine.lan> <20200531070938.GC7397@E5400> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="kxfvy6gjwwklpyhv" Content-Disposition: inline In-Reply-To: <20200531070938.GC7397@E5400> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 39021 Cc: 39021@debbugs.gnu.org, Leo Famulari 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 (-) --kxfvy6gjwwklpyhv Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, May 31, 2020 at 10:09:38AM +0300, Efraim Flashner wrote: > I have a working version of keybase, although I haven't gotten around to > unbundling all the go dependencies yet. I figured I'd post my WIP stuff > here. Hi Efraim, thanks for your message! I like how you consolidated the binaries into a single package with a custom phase. I was going to ask whether you got the GUI working, but after taking another look at the unbundling part, it's clear that this is still not there. When it comes to my own efforts for packaging keybase, I have categorized all the vendored dependencies according to their licenses. I have found 3 libraries without a license. For 2 of them, I prodded the authors a bit and they now include a license. However, I haven't received a response on github.com/keybase/golang-ico (note that despite the /keybase/ in the URL, this is just a fork, the original author has no relation to keybase). I am considering learning enough Go to replace that library with a freely-licensed alternative and submitting a PR upstream, however it is quite low on my TODOs. Regards, Jakub K=C4=85dzio=C5=82ka --kxfvy6gjwwklpyhv Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE5Xa/ss9usT31cTO54xWnWEYTFWQFAl7UJfoACgkQ4xWnWEYT FWRhcxAAhP0eOG0b/cj8hfqKPjURC045SP5vt20wSbL5kDfng7MFuBZGd7SIVu+4 04mFkMsPjwQh/H4xsHkrAURlgU3vVmLmDDgpIMk+ZX3NvZzhXE7FoniytufO6l49 6RIcYyzJp4bJMFFitIi6UKoZpzlH8oVtoyaf2Xcjgcq3nhVGJ76tTS1juWS8S7mp 9+1u4CvjI+5gVKPR6CrzrqfhDHINBU6c4lWasI/541atR9HtEgjdrNBj8635nW1u rvQhxnfDZE7Lk5irUp17CZfZazNLTN5EDZSMVFoRQENKDPsq9UXoI47oXgQTxscM v+WzbWcXuzDfuWv6zH/CNoaqLhe5X0wxsu7dBe4MiWH6vGdOQ+3ObgEvKqJUoc5z 3OgURkZ8CgbIrfpFe8xruB4un4thcAD/ri/YSQjZHIaPYa20wV2HnQWtaQoQCJJh XDeCyajEHVV37gTjOKw9/evAZEa6eWKqT3F8xtWvdOX73qaCcEdq3Gf//N7o0t8w qfhNMeFtcF4pRwfqVsykPo+XSY3GeD5XFNRj+ABWVZG5O2rYUMxMM83yMYWWyZ2B qJRHpivWlznbOVTxP0CHYu5cd7GQPUiAZOdTr2WezMVMdK00XLI25RAfs+3tFazx Qx2F1aepfD317qPXgq3TO3j+OdDrNaQhfyqEulfZnsT8/HGcc+U= =9sB5 -----END PGP SIGNATURE----- --kxfvy6gjwwklpyhv--