[PATCH 00/11] Adding Gocryptfs (feature branch)

  • Done
  • quality assurance status badge
Details
3 participants
  • Efraim Flashner
  • Felix Lechner
  • Leo Famulari
Owner
unassigned
Submitted by
Felix Lechner
Severity
normal
F
F
Felix Lechner wrote on 5 Mar 2023 21:52
(address . guix-patches@gnu.org)(name . Felix Lechner)(address . felix.lechner@lease-up.com)
cover.1678049134.git.felix.lechner@lease-up.com
After a discussion on #guix, someone asked me to request a feature branch
here, as well as an associated jobset for ci.guix.gnu.org.

I think we are hoping to use this patch series as a proof-of-concept for the
idea of feature branches. Thanks!

Felix Lechner (11):
gnu: go-golang-org-x-sys: Update to 0.4.0.
gnu: go-golang-org-x-net: Update to 0.5.0.
gnu: Add go-github-com-hanwen-go-fuse-v2.
gnu: Add go-github-com-aperturerobotics-jacobsa-crypto.
gnu: Add go-github-com-jacobsa-oglematchers.
gnu: Add go-github-com-jacobsa-oglemock.
gnu: Add go-github-com-jacobsa-ogletest.
gnu: Add go-github-com-jacobsa-reqtrace.
gnu: Add go-github-com-pkg-xattr.
gnu: Add go-github-com-rfjakob-eme.
gnu: Add gocryptfs.

gnu/packages/file-systems.scm | 74 +++++++++
gnu/packages/golang.scm | 274 +++++++++++++++++++++++++++++++---
2 files changed, 328 insertions(+), 20 deletions(-)


base-commit: 4775460ba9a60c3c09966216da10686a70b8fadb
--
2.39.1
F
F
Felix Lechner wrote on 5 Mar 2023 21:54
[PATCH 01/11] gnu: go-golang-org-x-sys: Update to 0.4.0.
(address . 61989@debbugs.gnu.org)(name . Felix Lechner)(address . felix.lechner@lease-up.com)
eec248ad6ad98fb222e6c84a2816a57b92867db4.1678049134.git.felix.lechner@lease-up.com
* gnu/packages/golang.scm (go-golang-org-x-sys): Update to 0.4.0.
(go-golang-org-x-sys): Switch to gexp.
---
gnu/packages/golang.scm | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)

Toggle diff (46 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 465e0fd4c7..b8ff64019e 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3218,11 +3218,11 @@ (define-public go-golang-org-x-sync
(license license:bsd-3))))
(define-public go-golang-org-x-sys
- (let ((commit "ed5796bab16455f104b6a384d51b7f9990cb9806")
- (revision "8"))
+ (let ((commit "b60007cc4e6f966b1c542e343d026d06723e5653")
+ (revision "0"))
(package
(name "go-golang-org-x-sys")
- (version (git-version "0.0.0" revision commit))
+ (version (git-version "0.4.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3231,15 +3231,17 @@ (define-public go-golang-org-x-sys
(file-name (git-file-name name version))
(sha256
(base32
- "081vs5bg91mwg5bdmlcvy2qyrvg766aicj47smcwfk4bbh0nc0qa"))))
+ "0fr2d6fnpbqx6n89sg9lsinqkdaw49y068kqj2g0cxlhbh69hzii"))))
(build-system go-build-system)
(arguments
- `(#:import-path "golang.org/x/sys"
- ;; Source-only package
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'build))))
+ (list
+ #:import-path "golang.org/x/sys"
+ ;; Source-only package
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
(synopsis "Go support for low-level system interaction")
(description "This package provides supplemental libraries offering Go
support for low-level interaction with the operating system.")
--
2.39.1
F
F
Felix Lechner wrote on 5 Mar 2023 21:54
[PATCH 02/11] gnu: go-golang-org-x-net: Update to 0.5.0.
(address . 61989@debbugs.gnu.org)(name . Felix Lechner)(address . felix.lechner@lease-up.com)
eb6b0adc56ac4bd14d77f1d65d93ddd5df4c0540.1678049134.git.felix.lechner@lease-up.com
* gnu/packages/golang.scm (go-golang-org-x-net): Update to 0.5.0.
(go-golang-org-x-net): Switch to gexp.
---
gnu/packages/golang.scm | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)

Toggle diff (46 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b8ff64019e..e3e7c7f4c3 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3118,11 +3118,11 @@ (define-public go-github-com-protonmail-go-crypto
(license license:bsd-3)))
(define-public go-golang-org-x-net
- (let ((commit "ba9fcec4b297b415637633c5a6e8fa592e4a16c3")
- (revision "4"))
+ (let ((commit "8e0e7d8d38f2b6d21d742845570dde2902d06a1d")
+ (revision "0"))
(package
(name "go-golang-org-x-net")
- (version (git-version "0.0.0" revision commit))
+ (version (git-version "0.5.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3131,15 +3131,17 @@ (define-public go-golang-org-x-net
(file-name (git-file-name name version))
(sha256
(base32
- "1hbqvy6r0s5h0dpdqw8fynl3cq0acin3iyqki9xvl5r8h33yb9bx"))))
+ "1fidlcn3vcz42v2lc0rpmqh3bz08bcklj6jvnmz2vvgc481ci5hy"))))
(build-system go-build-system)
(arguments
- `(#:import-path "golang.org/x/net"
- ; Source-only package
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'build))))
+ (list
+ #:import-path "golang.org/x/net"
+ ;; Source-only package
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
(synopsis "Go supplemental networking libraries")
(description "This package provides supplemental Go networking libraries.")
(home-page "https://go.googlesource.com/net")
--
2.39.1
F
F
Felix Lechner wrote on 5 Mar 2023 21:54
[PATCH 03/11] gnu: Add go-github-com-hanwen-go-fuse-v2.
(address . 61989@debbugs.gnu.org)(name . Felix Lechner)(address . felix.lechner@lease-up.com)
720cb396a5a61651e9c19c834b27c15db635f63b.1678049134.git.felix.lechner@lease-up.com
* gnu/packages/golang.scm (go-github-com-hanwen-go-fuse-v2): New variable.
---
gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e3e7c7f4c3..608b08ba29 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1158,6 +1158,34 @@ (define-public go-github-com-operatorfoundation-shapeshifter-transports
networks where it would otherwise be blocked or heavily throttled.")
(license license:expat)))
+(define-public go-github-com-hanwen-go-fuse-v2
+ (let ((commit "915cf5413cdef5370ae3f953f8eb4cd9ac176d5c")
+ (revision "0"))
+ (package
+ (name "go-github-com-hanwen-go-fuse-v2")
+ (version (git-version "2.2.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hanwen/go-fuse")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ik0yvs9m40vxccpb0rpxc22fyqmcgyysc7w0yl9kn3jyr6qa1d5"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/hanwen/go-fuse/v2"))
+ (native-inputs (list
+ go-golang-org-x-sys
+ go-golang-org-x-sync
+ go-github-com-kylelemons-godebug))
+ (home-page "https://github.com/hanwen/go-fuse")
+ (synopsis "Go bindings for FUSE filesystems")
+ (description
+ "This is a repository containing Go bindings for writing FUSE file systems.")
+ (license license:bsd-3))))
+
(define-public go-github-com-kataras-golog
(package
(name "go-github-com-kataras-golog")
--
2.39.1
F
F
Felix Lechner wrote on 5 Mar 2023 21:54
[PATCH 04/11] gnu: Add go-github-com-aperturerobotics-jacobsa-crypto.
(address . 61989@debbugs.gnu.org)(name . Felix Lechner)(address . felix.lechner@lease-up.com)
f60ccaf5e7a5a4439ea2fd1c53272028b6bb101e.1678049134.git.felix.lechner@lease-up.com
* gnu/packages/golang.scm (go-github-com-aperturerobotics-jacobsa-crypto): New variable.
---
gnu/packages/golang.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 608b08ba29..312a314e39 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1186,6 +1186,37 @@ (define-public go-github-com-hanwen-go-fuse-v2
"This is a repository containing Go bindings for writing FUSE file systems.")
(license license:bsd-3))))
+(define-public go-github-com-aperturerobotics-jacobsa-crypto
+ (let ((commit "b1eb679742a8deed015a4406384eea6bd985d08a")
+ (revision "0"))
+ (package
+ (name "go-github-com-aperturerobotics-jacobsa-crypto")
+ (version (git-version "1.0.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aperturerobotics/jacobsa-crypto")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16dxigj8m6q18xqsy72iq287rh4fw0y0b9yqlw0qkclb8379n1z2"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/aperturerobotics/jacobsa-crypto"
+ ;; Source-only package.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Source-only package.
+ (delete 'build))))
+ (home-page "https://github.com/aperturerobotics/jacobsa-crypto")
+ (synopsis "Cryptography missing from the Go standard library")
+ (description
+ "This repository contains Go packages related to cryptographic standards that are
+not included in the Go standard library.")
+ (license license:asl2.0))))
+
(define-public go-github-com-kataras-golog
(package
(name "go-github-com-kataras-golog")
--
2.39.1
F
F
Felix Lechner wrote on 5 Mar 2023 21:54
[PATCH 05/11] gnu: Add go-github-com-jacobsa-oglematchers.
(address . 61989@debbugs.gnu.org)(name . Felix Lechner)(address . felix.lechner@lease-up.com)
729101ec71b40e0693ee769f9cffdc95384a9f7c.1678049134.git.felix.lechner@lease-up.com
* gnu/packages/golang.scm (go-github-com-jacobsa-oglematchers): New variable.
---
gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 312a314e39..08050a35b7 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1217,6 +1217,34 @@ (define-public go-github-com-aperturerobotics-jacobsa-crypto
not included in the Go standard library.")
(license license:asl2.0))))
+(define-public go-github-com-jacobsa-oglematchers
+ (let ((commit "141901ea67cd4769c6800aa7bfdfc558fa22bda5")
+ (revision "0"))
+ (package
+ (name "go-github-com-jacobsa-oglematchers")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jacobsa/oglematchers")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09ff5x6vbhd9zl1z4yzyk573ifh16rry38q1rx986kbz4hqkmniq"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/jacobsa/oglematchers"
+ ;; break loop with with go-github-com-jacobsa-ogletest
+ #:tests? #f))
+ (home-page "https://github.com/jacobsa/oglematchers")
+ (synopsis "Matchers for Go testing framework")
+ (description
+ "Package oglematchers provides a set of matchers useful in a testing or mocking
+framework. These matchers are inspired by and mostly compatible with Google
+Test for C++ and Google JS Test.")
+ (license license:asl2.0))))
+
(define-public go-github-com-kataras-golog
(package
(name "go-github-com-kataras-golog")
--
2.39.1
F
F
Felix Lechner wrote on 5 Mar 2023 21:54
[PATCH 06/11] gnu: Add go-github-com-jacobsa-oglemock.
(address . 61989@debbugs.gnu.org)(name . Felix Lechner)(address . felix.lechner@lease-up.com)
fe0b5f1abe9acdcb6360fd6a7bc2f460461ee057.1678049134.git.felix.lechner@lease-up.com
* gnu/packages/golang.scm (go-github-com-jacobsa-oglemock): New variable.
---
gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 08050a35b7..c56813a0b3 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1245,6 +1245,35 @@ (define-public go-github-com-jacobsa-oglematchers
Test for C++ and Google JS Test.")
(license license:asl2.0))))
+(define-public go-github-com-jacobsa-oglemock
+ (let ((commit "e94d794d06ffc6de42cb19d0dab3c219efdd6dcf")
+ (revision "0"))
+ (package
+ (name "go-github-com-jacobsa-oglemock")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jacobsa/oglemock")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "14yxf8ykwdwkcccksl6741xgzcf8qykyi58kp4maxpgscqhdl8rq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jacobsa/oglemock"
+ ;; break loop with with go-github-com-jacobsa-ogletest
+ #:tests? #f))
+ (native-inputs (list
+ go-github-com-jacobsa-oglematchers))
+ (home-page "https://github.com/jacobsa/oglemock")
+ (synopsis "Mocking framework for unit tests")
+ (description
+ "Package oglemock provides a mocking framework for unit tests.")
+ (license license:asl2.0))))
+
(define-public go-github-com-kataras-golog
(package
(name "go-github-com-kataras-golog")
--
2.39.1
F
F
Felix Lechner wrote on 5 Mar 2023 21:54
[PATCH 07/11] gnu: Add go-github-com-jacobsa-ogletest.
(address . 61989@debbugs.gnu.org)(name . Felix Lechner)(address . felix.lechner@lease-up.com)
d11310a495bcbb54e79b61ac213e5400a52b56ed.1678049134.git.felix.lechner@lease-up.com
* gnu/packages/golang.scm (go-github-com-jacobsa-ogletest): New variable.
---
gnu/packages/golang.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c56813a0b3..c289a8ef44 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1274,6 +1274,41 @@ (define-public go-github-com-jacobsa-oglemock
"Package oglemock provides a mocking framework for unit tests.")
(license license:asl2.0))))
+(define-public go-github-com-jacobsa-ogletest
+ (let ((commit "80d50a735a1108a2aeb7abc4a988d183f20c5292")
+ (revision "0"))
+ (package
+ (name "go-github-com-jacobsa-ogletest")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jacobsa/ogletest")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1lbwbxzr75g65q07ry5k4kglxqs3ym7xkvqznzm55rm3qk76v83r"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/jacobsa/ogletest"
+ ;; These tests should be made working
+ #:tests? #f))
+ (native-inputs (list
+ go-github-com-jacobsa-oglematchers
+ go-github-com-jacobsa-oglemock
+ go-github-com-jacobsa-reqtrace
+ go-golang-org-x-net))
+ (home-page "https://github.com/jacobsa/ogletest")
+ (synopsis "Expressive unit tests")
+ (description
+ "Package ogletest provides a framework for writing expressive unit tests. It
+integrates with the builtin testing package, so it works with the gotest
+command. Unlike the testing package which offers only basic capabilities for
+signalling failures, it offers ways to express expectations and get nice failure
+messages automatically.")
+ (license license:asl2.0))))
+
(define-public go-github-com-kataras-golog
(package
(name "go-github-com-kataras-golog")
--
2.39.1
F
F
Felix Lechner wrote on 5 Mar 2023 21:54
[PATCH 08/11] gnu: Add go-github-com-jacobsa-reqtrace.
(address . 61989@debbugs.gnu.org)(name . Felix Lechner)(address . felix.lechner@lease-up.com)
f03dddb73de46c03cbd0368762d7eb1fba99fc53.1678049134.git.felix.lechner@lease-up.com
* gnu/packages/golang.scm (go-github-com-jacobsa-reqtrace): New variable.
---
gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c289a8ef44..d063c8f667 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1309,6 +1309,32 @@ (define-public go-github-com-jacobsa-ogletest
messages automatically.")
(license license:asl2.0))))
+(define-public go-github-com-jacobsa-reqtrace
+ (let ((commit "245c9e0234cb2ad542483a336324e982f1a22934")
+ (revision "0"))
+ (package
+ (name "go-github-com-jacobsa-reqtrace")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jacobsa/reqtrace")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0zfyijig10896v42rvxka1n4wn6lijqz40y2281187l7mq8vv5jn"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/jacobsa/reqtrace"))
+ (inputs (list
+ go-golang-org-x-net))
+ (home-page "https://github.com/jacobsa/reqtrace")
+ (synopsis "Simple request tracing framework")
+ (description
+ "Package reqtrace contains a very simple request tracing framework.")
+ (license license:asl2.0))))
+
(define-public go-github-com-kataras-golog
(package
(name "go-github-com-kataras-golog")
--
2.39.1
F
F
Felix Lechner wrote on 5 Mar 2023 21:54
[PATCH 09/11] gnu: Add go-github-com-pkg-xattr.
(address . 61989@debbugs.gnu.org)(name . Felix Lechner)(address . felix.lechner@lease-up.com)
db944e216de08cd664f1d6e7796b856621b90d75.1678049134.git.felix.lechner@lease-up.com
* gnu/packages/golang.scm (go-github-com-pkg-xattr): New variable.
---
gnu/packages/golang.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index d063c8f667..06420e408f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1406,6 +1406,36 @@ (define-public go-github-com-kortschak-utter
aid data snapshotting.")
(license license:isc)))
+(define-public go-github-com-pkg-xattr
+ (package
+ (name "go-github-com-pkg-xattr")
+ (version "0.4.9")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pkg/xattr")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qg4zh0d8m4adaiicsd0cpw0w6g8sk01f4jz7jyxgirh1wfcsqyz"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/pkg/xattr"))
+ (native-inputs (list go-golang-org-x-sys))
+ (home-page "https://github.com/pkg/xattr")
+ (synopsis "Support for extended file system attributes")
+ (description
+ "Package xattr provides support for extended attributes on Linux, Darwin and
+FreeBSD. Extended attributes are name:value pairs permanently associated with
+files or directories. They are similar to the environment strings associated with
+a process. An attribute may be defined or undefined. If defined, its value may
+be empty or non-empty. You can find more details here:
+@@url{https://en.wikipedia.org/wiki/Extended_file_attributes,
+https://en.wikipedia.org/wiki/Extended_file_attributes}
+.")
+ (license license:bsd-2)))
+
(define-public go-github-com-shadowsocks-go-shadowsocks2
(package
(name "go-github-com-shadowsocks-go-shadowsocks2")
--
2.39.1
F
F
Felix Lechner wrote on 5 Mar 2023 21:54
[PATCH 10/11] gnu: Add go-github-com-rfjakob-eme.
(address . 61989@debbugs.gnu.org)(name . Felix Lechner)(address . felix.lechner@lease-up.com)
fee5933efb2bffa5cb681b53d2b6e7981f55f25f.1678049134.git.felix.lechner@lease-up.com
* gnu/packages/golang.scm (go-github-com-rfjakob-eme): New variable.
---
gnu/packages/golang.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 06420e408f..3c6dadd892 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1436,6 +1436,29 @@ (define-public go-github-com-pkg-xattr
.")
(license license:bsd-2)))
+(define-public go-github-com-rfjakob-eme
+ (package
+ (name "go-github-com-rfjakob-eme")
+ (version "1.1.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rfjakob/eme")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1yrbhvy0337mf12fp8p4sy8ry8r3w2qfdf8val5hj07p2lri0cqk"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/rfjakob/eme"))
+ (home-page "https://github.com/rfjakob/eme")
+ (synopsis "EME for Go")
+ (description
+ "EME (ECB-Mix-ECB or, clearer, Encrypt-Mix-Encrypt) is a wide-block encryption
+mode developed by Halevi and Rogaway.")
+ (license license:expat)))
+
(define-public go-github-com-shadowsocks-go-shadowsocks2
(package
(name "go-github-com-shadowsocks-go-shadowsocks2")
--
2.39.1
F
F
Felix Lechner wrote on 5 Mar 2023 21:54
[PATCH 11/11] gnu: Add gocryptfs.
(address . 61989@debbugs.gnu.org)(name . Felix Lechner)(address . felix.lechner@lease-up.com)
14aa6e06492ead7763c61be3b7267b1fbc571cc1.1678049134.git.felix.lechner@lease-up.com
* gnu/packages/file-systems.scm (gocryptfs): New variable.
---
gnu/packages/file-systems.scm | 74 +++++++++++++++++++++++++++++++++++
1 file changed, 74 insertions(+)

Toggle diff (87 lines)
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index bc5bb41fb3..a62433c01c 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -435,6 +435,80 @@ (define-public fstransform
(license (list license:gpl2 ; fsattr/src/e4attr.* → sbin/fsattr
license:gpl3+)))) ; the rest
+(define-public gocryptfs
+ (package
+ (name "gocryptfs")
+ (version "2.3.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rfjakob/gocryptfs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1m0xk5imkx81i1l4wv1j1xh9ckp0gqssq4v46pkkcq2xlv2dvxlr"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/rfjakob/gocryptfs"
+ #:build-flags
+ #~(list
+ "-ldflags" (string-append
+ "-X main.GitVersion=" #$version
+ " -X main.GitVersionFuse=" #$(package-version
+ go-github-com-hanwen-go-fuse-v2)
+ " -X main.BuildDate=" "[reproducible]"))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; after 'check phase, should maybe unmount leftover mounts as in
+ ;; https://github.com/rfjakob/gocryptfs/blob/a55b3cc15a6d9bce116a90f33df4bc99d9dd6a10/test.bash#L28
+ (replace 'build
+ (lambda arguments
+ (for-each
+ (lambda (directory)
+ (apply (assoc-ref %standard-phases 'build)
+ (append arguments (list #:import-path directory))))
+ (list
+ "github.com/rfjakob/gocryptfs"
+ "github.com/rfjakob/gocryptfs/gocryptfs-xray"
+ "github.com/rfjakob/gocryptfs/contrib/statfs"
+ "github.com/rfjakob/gocryptfs/contrib/findholes"
+ "github.com/rfjakob/gocryptfs/contrib/atomicrename")))))))
+ (native-inputs (list
+ go-github-com-hanwen-go-fuse-v2
+ go-github-com-aperturerobotics-jacobsa-crypto
+ go-github-com-jacobsa-oglematchers
+ go-github-com-jacobsa-oglemock
+ go-github-com-jacobsa-ogletest
+ go-github-com-jacobsa-reqtrace
+ go-github-com-pkg-xattr
+ go-github-com-rfjakob-eme
+ go-github-com-sabhiram-go-gitignore
+ go-github-com-spf13-pflag
+ go-golang-org-x-crypto
+ go-golang-org-x-net
+ go-golang-org-x-sys
+ go-golang-org-x-term
+ openssl
+ pkg-config))
+ (home-page "https://github.com/rfjakob/gocryptfs")
+ (synopsis "Encrypted overlay filesystem")
+ (description
+ "Gocryptfs is an encrypted overlay filesystem written in Go. It
+features a file-based encryption that is implemented as a mountable
+FUSE filesystem.
+
+Gocryptfs was inspired by EncFS and strives to fix its security issues
+while providing good performance. Gocryptfs is as fast as EncFS in the
+default mode and significantly faster than paranoia mode in EncFS,
+which provides a security level comparable to Gocryptfs.
+
+On CPUs without AES-NI, gocryptfs uses OpenSSL through a thin wrapper
+called stupidgcm. This provides a 4x speedup compared to Go's builtin
+AES-GCM implementation.")
+ (license license:expat)))
+
(define-public gphotofs
(package
(name "gphotofs")
--
2.39.1
L
L
Leo Famulari wrote on 6 Mar 2023 17:42
Re: [bug#61989] [PATCH 00/11] Adding Gocryptfs (feature branch)
(name . Felix Lechner via Guix-patches via)(address . guix-patches@gnu.org)
ZAYX7vpdniH60L7A@jasmine.lan
On Sun, Mar 05, 2023 at 12:52:11PM -0800, Felix Lechner via Guix-patches via wrote:
Toggle quote (3 lines)
> After a discussion on #guix, someone asked me to request a feature branch
> here, as well as an associated jobset for ci.guix.gnu.org.

That was me! I've gone ahead and started the process of adding the
jobset on ci.guix.gnu.org. It should appear in the next day or two.

Toggle quote (3 lines)
> I think we are hoping to use this patch series as a proof-of-concept for the
> idea of feature branches. Thanks!

Pushed to Savannah as 'wip-go-updates'.

The 'wip-' prefix stands for "work in progress", and indicates that
history may be rewritten on this branch. Concretely, we are able to
rebase the branch.

I also applied updates for Go 1.19 and 1.20.

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAmQGF+4ACgkQJkb6MLrK
fwgheBAAhPZZNVyjM0NVdtuZeHAlW+AsKWmIgDblghh6lVlAg9OCLzejp4KS1TYd
upJuz+sCEr++x/rrKUG3InGdcGB+WF0it9Lc09oxQZpCgwdwWf10qL5VNMybsL5/
rJ7N9v4h//x/oDUswTkPlXHh0W3GcawS8VoOBIcb/1KgDFYlGU/fdQu6MPQe4uol
6MgsAL4pCpQ1ypVopdp6Mdp+xSdrlJAv4XQUf/zNF/gjhRXwaGfhUN8RUZWuKtUI
ELMCX8TkeqN/K8xWwP0WqJ+AN1ZRXTnth7z4Fc3hawBqDah6CnATeFuKW60nl0n8
5l2oJfqq8nULahW5lD9JDknqpRnKOzbpIulo1OiXosuJ+jOnlYG4lLENbgt3z4Dg
xdpHJFmUbw8ebT80QQeAJclkDCzNi5yMCtGU9/qwke/blqqNoq0fSMXmxbMJahZ+
6CuybPRhPCtZ1+lCKDfjQ9GmVXSHF2w+rfieOUK3hvyS4MqW9ardrBsevSSffbLB
tWCklo+BQv/R5BRFCogQ50obqK4EoYo1YF6SrbXtpsij70rGDrutRHNGlooxrYw9
JCTtx4DX8N/GItECK0H4R7HR1Z5GxJTZLFByOveR7JAx5yCv+K6BznYXpKUGnIyI
g3zOscXAnYowsM3Ce0yCRVu4OOxl+C3jbZmh3ZmKHwFki0mURRI=
=cTb1
-----END PGP SIGNATURE-----


L
L
Leo Famulari wrote on 8 Mar 2023 00:06
(name . Felix Lechner via Guix-patches via)(address . guix-patches@gnu.org)
ZAfDihIx2/puxMmD@jasmine.lan
On Mon, Mar 06, 2023 at 11:42:22AM -0500, Leo Famulari wrote:
Toggle quote (3 lines)
> That was me! I've gone ahead and started the process of adding the
> jobset on ci.guix.gnu.org. It should appear in the next day or two.

The jobset is live:


Please follow up with a summary of the results.

If any code changes are needed, send them as part of the full patch
series, versioned with the '--reroll-count=N' Git option, and I'll push
them on your behalf.

Please don't send updates to individual patches.
F
F
Felix Lechner wrote on 8 Mar 2023 01:02
(name . Leo Famulari)(address . leo@famulari.name)(address . 61989@debbugs.gnu.org)
CAFHYt57DGG=SCsBRZ__H8Vxkn1Js9zJDZeYkTr2YWH_2i_HTMA@mail.gmail.com
Hi Leo,

On Tue, Mar 7, 2023 at 3:06?PM Leo Famulari <leo@famulari.name> wrote:
Toggle quote (3 lines)
>
> The jobset is live:

Thanks so much! I browsed around a bit (but am new to Cuirass) and
most of the failures seem to come from this one-hour timeout in
pandoc. [1]

Is that something I can address with an updated patch series?

Kind regards
Felix Lechner

L
L
Leo Famulari wrote on 8 Mar 2023 16:10
(name . Felix Lechner)(address . felix.lechner@lease-up.com)(address . 61989@debbugs.gnu.org)
ZAilbZvvjb6+azGc@jasmine.lan
On Tue, Mar 07, 2023 at 04:02:42PM -0800, Felix Lechner wrote:
Toggle quote (4 lines)
> Thanks so much! I browsed around a bit (but am new to Cuirass) and
> most of the failures seem to come from this one-hour timeout in
> pandoc. [1]

I see. Looks like it's actually GHC 9.2.5 that's failing, but pandoc
depends on GHC so all the rest of the dependency graph will fail too.

Toggle quote (2 lines)
> Is that something I can address with an updated patch series?

For a while, setting the timeout and max-silent-time in a package
definition didn't work here, because Cuirass didn't respect those
options. I don't know if that's changed. Can you ask on IRC or
guix-devel about this?
F
F
Felix Lechner wrote on 10 Mar 2023 01:21
(name . Leo Famulari)(address . leo@famulari.name)(address . 61989@debbugs.gnu.org)
CAFHYt54B11OZy6rsAfQ8xGAihgaKoFthzj4Op129jzPBQoNowg@mail.gmail.com
Hi Leo,

On Wed, Mar 8, 2023 at 7:10?AM Leo Famulari <leo@famulari.name> wrote:
Toggle quote (3 lines)
>
> Can you ask on IRC or guix-devel about this?

Thank you for taking the initiative on guix-devel! [1]

I did mention the Cuirass question on IRC as you had asked, but no one
seemed to remember. Then I addressed the Haskell failure by responding
to a recent thread about that upload. [2] By your reply, I know that
you saw my message.

As a newbie, I am not sure how to proceed. Please let me know if there
is anything I can do to help.

Kind regards
Felix Lechner

L
L
Leo Famulari wrote on 10 Mar 2023 02:54
(name . Felix Lechner)(address . felix.lechner@lease-up.com)(address . 61989@debbugs.gnu.org)
ZAqN1LBQfnROP5g+@jasmine.lan
On Thu, Mar 09, 2023 at 04:21:20PM -0800, Felix Lechner wrote:
Toggle quote (5 lines)
> I did mention the Cuirass question on IRC as you had asked, but no one
> seemed to remember. Then I addressed the Haskell failure by responding
> to a recent thread about that upload. [2] By your reply, I know that
> you saw my message.

Thanks for working on those leads!

In my reply to your message regarding Haskell, I CC-ed Mathieu Othacehe,
who is relatively active developing Cuirass and assists with operations
on ci.guix.gnu.org. Let's see if he replies.

I do see that on ci.guix.gnu.org, we are running Cuirass
1.1.0-13.1341725, which should respect the max-silent-time property.
According to NEWS, this was added in Cuirass 1.0.0.

One might consider trying to debug a local installation of Cuirass, to
see if it actually respects this property. Imagine a test package that
sleeps for 10 seconds in a build phase but has a max-silent-time of 5.

In the meantime, I would check that gocryptfs is working satisfactorily
based on the branch.

I was surprised that Cuirass tried to build GHC and all these R packages
as a result of these patches. Do you know if these packages (e.g. GHC)
depend on Go somehow?
L
L
Leo Famulari wrote on 11 Mar 2023 17:17
(name . Felix Lechner)(address . felix.lechner@lease-up.com)(address . 61989@debbugs.gnu.org)
ZAypsC9xozBJvIMv@jasmine.lan
On Thu, Mar 09, 2023 at 08:54:28PM -0500, Leo Famulari wrote:
Toggle quote (4 lines)
> I was surprised that Cuirass tried to build GHC and all these R packages
> as a result of these patches. Do you know if these packages (e.g. GHC)
> depend on Go somehow?

In the meantime, I rebased the branch and pushed again. Maybe the
building of all these non-Go packages was spurious (this can happen with
Cuirass), and we'll see a more clear result this time.
F
F
Felix Lechner wrote on 12 Mar 2023 06:27
(name . Leo Famulari)(address . leo@famulari.name)(address . 61989@debbugs.gnu.org)
CAFHYt56LSu61Tu8KwMXrEyoMSSYe4r4crS0PNkHOjHeCAw-HTw@mail.gmail.com
Hi Leo,

On Sat, Mar 11, 2023 at 8:17?AM Leo Famulari <leo@famulari.name> wrote:
Toggle quote (5 lines)
>
> I rebased the branch and pushed again. Maybe the
> building of all these non-Go packages was spurious (this can happen with
> Cuirass), and we'll see a more clear result this time.

Thanks for doing that! The results look much better, but I believe
some of the failures are still unrelated to our feature branch.

I cloned the wip-go-updates branch and successfully built pigx-rnaseq
on my own equipment even though Cuirass showed failing tests. [1] A
partial log is attached.

Kind regards
Felix Lechner

Attachment: pigx-rnaseq.log.xz
L
L
Leo Famulari wrote on 13 Mar 2023 18:53
(name . Felix Lechner)(address . felix.lechner@lease-up.com)(address . 61989@debbugs.gnu.org)
ZA9jJSYsypAkTDaR@jasmine.lan
On Thu, Mar 09, 2023 at 08:54:28PM -0500, Leo Famulari wrote:
Toggle quote (3 lines)
> In the meantime, I would check that gocryptfs is working satisfactorily
> based on the branch.

Were you able to test this?
F
F
Felix Lechner wrote on 13 Mar 2023 21:37
(name . Leo Famulari)(address . leo@famulari.name)(address . 61989@debbugs.gnu.org)
CAFHYt564ehfBeLJCcMQ2dr1fm5_Uk4Jts-vg0eAV0TmJS+e8Ew@mail.gmail.com
Hi Leo,

On Mon, Mar 13, 2023 at 10:53?AM Leo Famulari <leo@famulari.name> wrote:
Toggle quote (3 lines)
>
> Were you able to test this?

Yes, I did. It works great!

Kind regards
Felix Lechner
F
F
Felix Lechner wrote on 14 Mar 2023 03:05
(name . Leo Famulari)(address . leo@famulari.name)(address . 61989@debbugs.gnu.org)
CAFHYt54mdWzv5B_cZJmdcqdZDbRzZXX3Ok48S680rDwNP6C5aQ@mail.gmail.com
Hi Leo,

On Sat, Mar 11, 2023 at 8:17?AM Leo Famulari <leo@famulari.name> wrote:
Toggle quote (3 lines)
>
> In the meantime, I rebased the branch and pushed again.

I am not sure how to read the Cuirass derivations, but the file
missing for powerpc64le-linux [1] called libgcc_s.so.1 is present on
x86_64:

gcc-10.3.0-lib
gcc-12.1.0-lib
gcc-12.2.0-lib
gcc-mesboot-4.9.4
gfortran-10.3.0-lib
libgccjit-10.3.0

The results were by courtesy of juix.org:

Kind regards
Felix

L
L
Leo Famulari wrote on 16 Mar 2023 02:21
(name . Felix Lechner)(address . felix.lechner@lease-up.com)(address . 61989@debbugs.gnu.org)
ZBJvDo9uEPVUwNVu@jasmine.lan
On Mon, Mar 13, 2023 at 07:05:25PM -0700, Felix Lechner wrote:
Toggle quote (11 lines)
> I am not sure how to read the Cuirass derivations, but the file
> missing for powerpc64le-linux [1] called libgcc_s.so.1 is present on
> x86_64:
>
> gcc-10.3.0-lib
> gcc-12.1.0-lib
> gcc-12.2.0-lib
> gcc-mesboot-4.9.4
> gfortran-10.3.0-lib
> libgccjit-10.3.0

Are you saying that something is broken on powerpc64le-linux? Is it a
regression from this branch? Or a pre-existing problem?
F
F
Felix Lechner wrote on 16 Mar 2023 20:44
(name . Leo Famulari)(address . leo@famulari.name)(address . 61989@debbugs.gnu.org)
CAFHYt55Q8qnhA_LfqFo9EvNAs06Zb+i=yoTUf4KUsRDTGki2AQ@mail.gmail.com
Hi Leo,

On Wed, Mar 15, 2023 at 6:21?PM Leo Famulari <leo@famulari.name> wrote:
Toggle quote (16 lines)
>
> On Mon, Mar 13, 2023 at 07:05:25PM -0700, Felix Lechner wrote:
> > I am not sure how to read the Cuirass derivations, but the file
> > missing for powerpc64le-linux [1] called libgcc_s.so.1 is present on
> > x86_64:
> >
> > gcc-10.3.0-lib
> > gcc-12.1.0-lib
> > gcc-12.2.0-lib
> > gcc-mesboot-4.9.4
> > gfortran-10.3.0-lib
> > libgccjit-10.3.0
>
> Are you saying that something is broken on powerpc64le-linux? Is it a
> regression from this branch? Or a pre-existing problem?

I do not know the answers to your questions. With my message, I merely
tried to address what seemed like a remaining issue in this jobset:


The failed build #547772 I references was part of the latest
evaluation #283979, but I am not sure how to read those reports.

Most significantly, I do not know if the reports are
cumulative—meaning that fewer errors later signify that earlier errors
have been resolved.

Kind regards
Felix Lechner
L
L
Leo Famulari wrote on 17 Mar 2023 00:59
(name . Felix Lechner)(address . felix.lechner@lease-up.com)(address . 61989@debbugs.gnu.org)
5fad9502-2744-4f5c-8056-cb7088b6cee0@app.fastmail.com
On Thu, Mar 16, 2023, at 15:44, Felix Lechner wrote:
Toggle quote (31 lines)
> Hi Leo,
>
> On Wed, Mar 15, 2023 at 6:21?PM Leo Famulari <leo@famulari.name> wrote:
>>
>> On Mon, Mar 13, 2023 at 07:05:25PM -0700, Felix Lechner wrote:
>> > I am not sure how to read the Cuirass derivations, but the file
>> > missing for powerpc64le-linux [1] called libgcc_s.so.1 is present on
>> > x86_64:
>> >
>> > gcc-10.3.0-lib
>> > gcc-12.1.0-lib
>> > gcc-12.2.0-lib
>> > gcc-mesboot-4.9.4
>> > gfortran-10.3.0-lib
>> > libgccjit-10.3.0
>>
>> Are you saying that something is broken on powerpc64le-linux? Is it a
>> regression from this branch? Or a pre-existing problem?
>
> I do not know the answers to your questions. With my message, I merely
> tried to address what seemed like a remaining issue in this jobset:
>
> https://ci.guix.gnu.org/jobset/go-team
>
> The failed build #547772 I references was part of the latest
> evaluation #283979, but I am not sure how to read those reports.
>
> Most significantly, I do not know if the reports are
> cumulative—meaning that fewer errors later signify that earlier errors
> have been resolved.

Okay. Then your next steps should be identifying Guix developers who have a history of working on the PowerPC port and asking them to take a look. This kind of outreach to the Guix developer community is a critical part of landing big changes like this one.

If you can't find anyone to respond, then it's safe to say we can ignore this problem.
F
F
Felix Lechner wrote on 17 Mar 2023 20:02
(name . Leo Famulari)(address . leo@famulari.name)(address . 61989@debbugs.gnu.org)
CAFHYt55Gh4DYv3_sSET7OuJVs8C+nZ+gyOCxpSBO+KYBgvmfag@mail.gmail.com
Hi Leo,

On Thu, Mar 16, 2023 at 5:00?PM Leo Famulari <leo@famulari.name> wrote:
Toggle quote (4 lines)
>
> your next steps should be identifying Guix developers who have a history
> of working on the PowerPC port and asking them to take a look.

Based on this blog post [1] I wrote to Efraim on IRC. I mentioned this
bug and the connection to the powerpc64le port. Then I asked the group
about the whereabouts of the two blog authors, namely Chris Marusich
and Léo Le Bouter. Unfortunately I did not receive a response to
either message.

if a side note is permitted, I am not sure how a Golang update can
affect the availability for a low-level GCC library for a new
architecture. Could the error be unrelated?

Kind regards,
Felix Lechner

E
E
Efraim Flashner wrote on 19 Mar 2023 09:51
(name . Felix Lechner)(address . felix.lechner@lease-up.com)
ZBbNJ5+Hp6ekQ3pH@3900XT
On Fri, Mar 17, 2023 at 12:02:55PM -0700, Felix Lechner via Guix-patches via wrote:
Toggle quote (13 lines)
> Hi Leo,
>
> On Thu, Mar 16, 2023 at 5:00?PM Leo Famulari <leo@famulari.name> wrote:
> >
> > your next steps should be identifying Guix developers who have a history
> > of working on the PowerPC port and asking them to take a look.
>
> Based on this blog post [1] I wrote to Efraim on IRC. I mentioned this
> bug and the connection to the powerpc64le port. Then I asked the group
> about the whereabouts of the two blog authors, namely Chris Marusich
> and Léo Le Bouter. Unfortunately I did not receive a response to
> either message.

To the best of my knowledge both Léo and Chris have both left the
project.

As it currently stands on master, go-1.19 doesn't build for ppc64le. I
mentioned on IRC that it looks like the 'patch-gcc:lib phase in go-1.17
but for ppc64le, but after trying a few different combinations it looks
to me more like the test failures on aarch64 (which I haven't looked at
in forever).

Looking at it I'm convinced that we are missing patching something on
our end, and that these tests are probably supposed to pass.

My suggestion is to skip the tests on go-1.17+ on ppc64le and adjust the
note that all the listed architectures should have their test suite
reviewed to figure out what we're missing. There's something about the
internal linking on non-x86 architectures that needs investigating.


--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmQWzSQACgkQQarn3Mo9
g1GCdBAAnfx9Vm/gwlv1+D/ekv7gSsdQjuXcbxc+Rbb5hIteSu3ExidmVDKEbN/9
9BAqhj6pt7FmkUAoTifTOapIiW0mTGODDDjns4mBT4jDSK2UTUHuARBHVts7x5Cm
idIxJp43l4CpE0D3BGHGbiIDUm5qcQleUPglSx0b8U8qJb+sB5x9sqrF6fv+BwIY
9+5F1eicL+O5gyAg8Vreaj2ekZKetIW8a7ynuQoGqS8RcGJcDgJ6lsG7kVzKAaac
2OIcX8bS53fcsHTJzBmgi5FhxialJl9NTCo4mYG2Rd9Ev90y/cQK/uwYX63MXBMp
mT/guNhVfUROmLpYbpu3dzZ8H8KD6xHkhOXvrfMW2Q1mXnWb8sHlnpKLA3oamGOu
b4AG/Vc7APKuX6xwN4y8zbwBSBOMBiAOfvPGQkV7o0Vnkkst8OdVyFkREdz1D60P
8erN9OBLfYQTdFVyByHWpo+I3wtrV66ovJyUOVrdjb+rK+jpqv4QbbCIoBCXUxDI
f+Pybud4gez77OFxrDow/4b0lDJWOC8qwfKcg/ToLmKwQydSyeL7VErafEn/H8wb
sOZvU4HLuWPkyUgQWZHKZzVfzM3n2IsrFjbyyQM9L0MFDudUOIyxiawwFIhFb7Rp
pXL34zfFpUVQsbqu8EDqoDtMXXFzAlxXIxtuE2PB+srXNYW6siU=
=2iIg
-----END PGP SIGNATURE-----


L
L
Leo Famulari wrote on 19 Mar 2023 18:17
ZBdDpFrcKf24ozsQ@jasmine.lan
On Sun, Mar 19, 2023 at 10:51:51AM +0200, Efraim Flashner wrote:
Toggle quote (14 lines)
> As it currently stands on master, go-1.19 doesn't build for ppc64le. I
> mentioned on IRC that it looks like the 'patch-gcc:lib phase in go-1.17
> but for ppc64le, but after trying a few different combinations it looks
> to me more like the test failures on aarch64 (which I haven't looked at
> in forever).
>
> Looking at it I'm convinced that we are missing patching something on
> our end, and that these tests are probably supposed to pass.
>
> My suggestion is to skip the tests on go-1.17+ on ppc64le and adjust the
> note that all the listed architectures should have their test suite
> reviewed to figure out what we're missing. There's something about the
> internal linking on non-x86 architectures that needs investigating.

Okay, thanks for taking a look. Since this failure exists on master, I
don't think that fixing it is in scope for this branch, although it
certainly should be fixed. Or we disable the support on ppc64le for now.
L
L
Leo Famulari wrote on 19 Mar 2023 18:22
ZBdE2PVD7AQroLMs@jasmine.lan
On Sun, Mar 19, 2023 at 01:17:24PM -0400, Leo Famulari wrote:
Toggle quote (4 lines)
> Okay, thanks for taking a look. Since this failure exists on master, I
> don't think that fixing it is in scope for this branch, although it
> certainly should be fixed. Or we disable the support on ppc64le for now.

Felix, do you see any other outstanding issues with the branch? Or do
you think it's ready for master?
F
F
Felix Lechner wrote on 19 Mar 2023 18:25
(name . Leo Famulari)(address . leo@famulari.name)(address . 61989@debbugs.gnu.org)
CAFHYt54t8X_K90VVee1BhCu3_HActLCvMqkbU2L=n5uMQa9hTA@mail.gmail.com
Hi Leo,

On Sun, Mar 19, 2023 at 10:22?AM Leo Famulari <leo@famulari.name> wrote:
Toggle quote (4 lines)
>
> Felix, do you see any other outstanding issues with the branch? Or do
> you think it's ready for master?

I do not know how to deduce from the Cuirass output that the failures
from earlier evaluations were cured. The numbers appear additive to
me. I would prefer to see about three thousand green packages and two
in red.

Kind regards
Felix
L
L
Leo Famulari wrote on 19 Mar 2023 21:38
(name . Felix Lechner)(address . felix.lechner@lease-up.com)(address . 61989@debbugs.gnu.org)
ZBdyyCCBV1w6lJjZ@jasmine.lan
On Sun, Mar 19, 2023 at 10:25:31AM -0700, Felix Lechner wrote:
Toggle quote (5 lines)
> I do not know how to deduce from the Cuirass output that the failures
> from earlier evaluations were cured. The numbers appear additive to
> me. I would prefer to see about three thousand green packages and two
> in red.

Unfortunately, Cuirass can't provide that kind of information. You could
use `guix weather` to check if substitutes are available based on the
patches.
L
L
Leo Famulari wrote on 19 Mar 2023 21:46
(name . Felix Lechner)(address . felix.lechner@lease-up.com)(address . 61989@debbugs.gnu.org)
ZBd0o+lkgGcKtoup@jasmine.lan
On Sun, Mar 19, 2023 at 04:38:32PM -0400, Leo Famulari wrote:
Toggle quote (4 lines)
> Unfortunately, Cuirass can't provide that kind of information. You could
> use `guix weather` to check if substitutes are available based on the
> patches.

I've attached a manifest that returns all packages using
go-build-system, as well as Go itself. It can be used with `guix
weather`.
;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2023 Leo Famulari <leo@famulari.name> ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (use-modules (guix packages) (guix profiles) (gnu packages) (guix build-system go)) (manifest (map package->manifest-entry (fold-packages (lambda (package result) (if (or (eq? (package-build-system package) go-build-system) (equal? (package-name package) "go")) (cons package result) result)) '())))
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAmQXdJ8ACgkQJkb6MLrK
fwjvyw//djQt6SVD3peuNcFc8Ml/eMOesqxClRmBzLUpjEYFt6j73xDNYklcHihj
oiTBX/rYaAtocvDk7rRv7//EXHRXSqOEx0uOZrxFN5YkUEWovhSb50KeEpxXY/kp
6N9lLml2M1ozGzp0pAZFCER8p5a97Y85LhkJkOuyfpQKDn7BeG+Zy1r747SWWNbo
A8SgCh28dJaG7SNHPmkDZc8n3IzXXzUS/2x7avuEC1CqxVdk8sNcsMe992uVJL1D
7bX5H2dDYxBFKg6ai/r2PuE07q0x1C8t4PZI5pVIkWOMwddtKYePzlIuXwlwRCnp
NsgFweV1Y5f4yoaahzWomjFkB03X+HdxcfiDNQsH0T2SypzcILCOEWV5GURn64s/
UvRXdXXX72OSe5Dz0xtUa3DABD2hocTco/9Isgw5wFc+jZ5+3va9f8byqobpjwhC
KxcVVNZAjUpOtSI5w3wQMztLD88Mwwb8Bh4nulzs+KuX0m0XFky2OjFyg8tAxKBb
KnDw2DxRwn7nk51L/xd8gpR1cEQ1+cRwBpG+Fdt6E20LWn5IG1ua3D+HDDZPfLbQ
eASOwa889dh3InBskrXuA3Ap2+zAr/iRanKY6ktiQFvECp8GIpIDeNNwqfyJHCmd
+thwK/iYWiLr5/mrxvSTlFROSC63IF90dkmynGJoXBJGsv2xoDk=
=fB35
-----END PGP SIGNATURE-----


F
F
Felix Lechner wrote on 19 Mar 2023 21:48
(name . Leo Famulari)(address . leo@famulari.name)(address . 61989@debbugs.gnu.org)
CAFHYt56TDh-XeQCLx-ES=VCnNQfLUrjuRVadBOcSL9yugxgEjA@mail.gmail.com
Hi Leo,

On Sun, Mar 19, 2023 at 1:46?PM Leo Famulari <leo@famulari.name> wrote:
Toggle quote (5 lines)
>
> I've attached a manifest that returns all packages using
> go-build-system, as well as Go itself. It can be used with `guix
> weather`.

Thanks, that's awesome! Does the CI infrastructure publish build
output from feature branches?

Kind regards
Felix
L
L
Leo Famulari wrote on 19 Mar 2023 21:51
(name . Felix Lechner)(address . felix.lechner@lease-up.com)(address . 61989@debbugs.gnu.org)
ZBd10Fzi17C4ttfv@jasmine.lan
On Sun, Mar 19, 2023 at 01:48:32PM -0700, Felix Lechner wrote:
Toggle quote (3 lines)
> Thanks, that's awesome! Does the CI infrastructure publish build
> output from feature branches?

What sort of output are you looking for?
F
F
Felix Lechner wrote on 19 Mar 2023 21:54
(name . Leo Famulari)(address . leo@famulari.name)(address . 61989@debbugs.gnu.org)
CAFHYt57WTEPFAdkvUqJU_JNH8f_Dt=8f8L2hpnhLJzQECHpbBg@mail.gmail.com
Hi Leo,

On Sun, Mar 19, 2023 at 1:51?PM Leo Famulari <leo@famulari.name> wrote:
Toggle quote (3 lines)
>
> What sort of output are you looking for?

I suppose the answer is yes. It was not obvious to me that the CI
infrastructure would acknowledge the presence of substitutes for
feature branches, but it makes sense.

Kind regards
Felix
L
L
Leo Famulari wrote on 19 Mar 2023 22:04
(name . Felix Lechner)(address . felix.lechner@lease-up.com)(address . 61989@debbugs.gnu.org)
ZBd4zZkU1dEG9tcc@jasmine.lan
On Sun, Mar 19, 2023 at 01:54:00PM -0700, Felix Lechner wrote:
Toggle quote (4 lines)
> I suppose the answer is yes. It was not obvious to me that the CI
> infrastructure would acknowledge the presence of substitutes for
> feature branches, but it makes sense.

Yeah. Basically, everything that's built on CI goes into the same store
and is served from there. Roughly.
F
F
Felix Lechner wrote on 19 Mar 2023 22:31
(name . Leo Famulari)(address . leo@famulari.name)(address . 61989@debbugs.gnu.org)
CAFHYt55VfPdq8Fr+o5MgQbd+CGu6A227qU9nbvkcnTp4UaMt0Q@mail.gmail.com
Hi Leo,

On Sun, Mar 19, 2023 at 1:46?PM Leo Famulari <leo@famulari.name> wrote:
Toggle quote (5 lines)
>
> I've attached a manifest that returns all packages using
> go-build-system, as well as Go itself. It can be used with `guix
> weather`.

For a recent checkout of Guix from master, I saw:

computing 585 package derivations for x86_64-linux...
looking for 599 store items on https://ci.guix.gnu.org...
98.0% substitutes available (587 out of 599)
at least 1,893.3 MiB of nars (compressed)
4,188.9 MiB on disk (uncompressed)
0.086 seconds per request (51.4 seconds in total)
11.7 requests per second

0.0% (0 out of 12) of the missing items are queued
at least 1,000 queued builds
i686-linux: 31 (3.1%)
aarch64-linux: 228 (22.8%)
x86_64-linux: 737 (73.7%)
powerpc64le-linux: 4 (.4%)
build rate: 1324.99 builds per hour
i686-linux: 1049.02 builds per hour
powerpc64le-linux: 86.39 builds per hour
x86_64-linux: 239.82 builds per hour
looking for 599 store items on https://bordeaux.guix.gnu.org...
99.3% substitutes available (595 out of 599)
at least 1,090.3 MiB of nars (compressed)
4,199.4 MiB on disk (uncompressed)
0.093 seconds per request (55.8 seconds in total)
10.7 requests per second
(continuous integration information unavailable)

while a recent pull of wip-go-updates showed this:

computing 594 package derivations for x86_64-linux...
looking for 608 store items on https://ci.guix.gnu.org...
96.9% substitutes available (589 out of 608)
at least 1,886.4 MiB of nars (compressed)
4,184.5 MiB on disk (uncompressed)
0.087 seconds per request (14.7 seconds in total)
11.5 requests per second

0.0% (0 out of 19) of the missing items are queued
at least 1,000 queued builds
powerpc64le-linux: 60 (6.0%)
i686-linux: 65 (6.5%)
aarch64-linux: 225 (22.5%)
x86_64-linux: 650 (65.0%)
build rate: 1048.34 builds per hour
i686-linux: 704.11 builds per hour
powerpc64le-linux: 80.85 builds per hour
x86_64-linux: 290.39 builds per hour
looking for 608 store items on https://bordeaux.guix.gnu.org...
96.4% substitutes available (586 out of 608)
at least 836.2 MiB of nars (compressed)
3,398.5 MiB on disk (uncompressed)
0.099 seconds per request (16.1 seconds in total)
10.1 requests per second
(continuous integration information unavailable)

That looks very respectable to me for such a comprehensive change, but
I can ultimately not assess whether it's a good ratio.

It looks like perhaps seven items are failing due to our changes (on
x86_64, and out of about six hundred) but I do not know how important
they are for average Guix users.

Kind regards
Felix
L
L
Leo Famulari wrote on 28 Mar 2023 22:37
(name . Felix Lechner)(address . felix.lechner@lease-up.com)(address . 61989-done@debbugs.gnu.org)
ZCNP79nFCBBrk/qC@jasmine.lan
On Sun, Mar 19, 2023 at 02:31:18PM -0700, Felix Lechner wrote:
Toggle quote (3 lines)
> That looks very respectable to me for such a comprehensive change, but
> I can ultimately not assess whether it's a good ratio.

Agreed, I think it looks good.

Toggle quote (4 lines)
> It looks like perhaps seven items are failing due to our changes (on
> x86_64, and out of about six hundred) but I do not know how important
> they are for average Guix users.

Perhaps, but the Cuirass web interface doesn't make it easy to compare
and see which packages are failing as a result of these changes. And
qa.guix.gnu.org doesn't yet build changes with this large of an impact.

So, I've gone ahead and pushed as
c4cca9cb5d3e93ef146acb930a95da9d2da6fb06
Closed
F
F
Felix Lechner wrote on 28 Mar 2023 22:54
(name . Leo Famulari)(address . leo@famulari.name)(address . 61989@debbugs.gnu.org)
CAFHYt55trHqq-Y+kF1g4AYezzMQJBtjt=miktyTmoiYoKfFYNQ@mail.gmail.com
Hi Leo,

On Tue, Mar 28, 2023 at 1:37?PM Leo Famulari <leo@famulari.name> wrote:
Toggle quote (3 lines)
>
> So, I've gone ahead and pushed

Yay, thank you!

Kind regards
Felix
?