[PATCHES 0/2] gnu: cryfs: Update to 0.11.2.

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Brendan Tildesley
  • Maxime Devos
Owner
unassigned
Submitted by
Brendan Tildesley
Severity
normal
B
B
Brendan Tildesley wrote on 11 Mar 2022 07:16
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
1232237267.49384.1646979368358@office.mailbox.org
Note: cryfs includes a bundled crypto++ that is not possible to unbundle
at the current time, however, cryfs 0.11.2 includes an updated crypto++ 8.6.0
with bug fixes as mentioned in bug#54336, so it's fine for now.
B
B
Brendan Tildesley wrote on 11 Mar 2022 07:19
[PATCH 2/2] gnu: cryfs: Update to 0.11.2.
(address . 54337@debbugs.gnu.org)
20220311061925.11865-2-mail@brendan.scot
* gnu/packages/crypto.scm (cryfs): Update to 0.11.2.
[inputs]: Use boost-1.77/fixed to fix build.
---
gnu/packages/crypto.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 007119c6de..e971d4c304 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -1459,7 +1459,7 @@ (define-public transcrypt
(define-public cryfs
(package
(name "cryfs")
- (version "0.11.0")
+ (version "0.11.2")
(source
(origin
(method url-fetch)
@@ -1467,7 +1467,7 @@ (define-public cryfs
"https://github.com/cryfs/cryfs/releases/download/"
version "/cryfs-" version ".tar.xz"))
(sha256
- (base32 "0dxphbj5sssm82rkkdb71algrcki16qlpzlvrjyvvm6b7x7zi0sm"))))
+ (base32 "1ggizlacm4fccsw9syy2763ihxnby6cdh3mhhraxy8bmsdjza7lm"))))
(build-system cmake-build-system)
(arguments
'(#:modules ((guix build cmake-build-system)
@@ -1514,7 +1514,7 @@ (define-public cryfs
`(("python" ,python-wrapper)
("pkg-config" ,pkg-config)))
(inputs
- (list boost curl fuse range-v3 spdlog))
+ (list boost-1.77/fixed curl fuse range-v3 spdlog))
(home-page "https://www.cryfs.org/")
(synopsis "Encrypted FUSE filesystem for the cloud")
(description "CryFS encrypts your files, so you can safely store them anywhere.
--
2.34.0
B
B
Brendan Tildesley wrote on 11 Mar 2022 07:19
[PATCH 1/2] gnu: Add boost-1.77/fixed.
(address . 54337@debbugs.gnu.org)
20220311061925.11865-1-mail@brendan.scot
* gnu/packages/boost.scm (boost-1.77/fixed): New variable. Since
updating boost would resulting in building 1000s of rebuilds, add a
temporary variant to fixing a missing import resulting in "error:
'transform' is not a member of 'std'" when building cryfs. See:

* gnu/packages/patches/boost-wchar-include-algorithm.patch: New
file.
* gnu/local.mk: Reference patch.
---
gnu/local.mk | 1 +
gnu/packages/boost.scm | 11 +++++++++++
.../patches/boost-wchar-include-algorithm.patch | 11 +++++++++++
3 files changed, 23 insertions(+)
create mode 100644 gnu/packages/patches/boost-wchar-include-algorithm.patch

Toggle diff (67 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 60ee713508..ce3f529a7a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -915,6 +915,7 @@ dist_patch_DATA = \
%D%/packages/patches/binutils-CVE-2021-45078.patch \
%D%/packages/patches/bloomberg-bde-cmake-module-path.patch \
%D%/packages/patches/bloomberg-bde-tools-fix-install-path.patch \
+ %D%/packages/patches/boost-wchar-include-algorithm.patch \
%D%/packages/patches/bpftrace-disable-bfd-disasm.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/bubblewrap-fix-locale-in-tests.patch \
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index b53b1f4257..d49449a72a 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
+;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -68,6 +69,7 @@ (define (boost-patch name version hash)
(define-public boost
(package
(name "boost")
+ ;; Note: consider removing boost-1.77/fixed when updating boost to 1.78 or newer.
(version "1.77.0")
(source (origin
(method url-fetch)
@@ -193,6 +195,15 @@ (define-public boost
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
+(define-public boost-1.77/fixed
+ ;; This patch applies for boost 1.77. Should not be needed in later releases.
+ ;; See: https://github.com/boostorg/process/commit/e08374ed95ac33865bda40602c94909e7cd9607f
+ (package/inherit boost
+ (name "boost-fixed")
+ (source (origin
+ (inherit (package-source boost))
+ (patches (search-patches "boost-wchar-include-algorithm.patch"))))))
+
;; Sadly, this is needed for irods. It won't link with 1.69 or later.
(define-public boost-for-irods
(package
diff --git a/gnu/packages/patches/boost-wchar-include-algorithm.patch b/gnu/packages/patches/boost-wchar-include-algorithm.patch
new file mode 100644
index 0000000000..c174dc5cd2
--- /dev/null
+++ b/gnu/packages/patches/boost-wchar-include-algorithm.patch
@@ -0,0 +1,11 @@
+--- a/boost/process/detail/traits/wchar_t.hpp
++++ b/boost/process/detail/traits/wchar_t.hpp
+@@ -12,6 +12,8 @@
+ #include <boost/process/detail/traits/env.hpp>
+ #include <boost/process/locale.hpp>
+
++#include <algorithm>
++
+ namespace boost { namespace process { namespace detail {
+
+ //template
--
2.34.0
M
M
Maxime Devos wrote on 11 Mar 2022 23:03
61782b44f00238c5fa213a84ca5f47db105dba3a.camel@telenet.be
Brendan Tildesley schreef op vr 11-03-2022 om 17:19 [+1100]:
Toggle quote (2 lines)
> +(define-public boost-1.77/fixed

foo/fixed is conventionally used for graft-style security fixes, I
would prefer using a different variable name (unfortunately I'm not
feeling particularly inspired with names currently ...).

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYivHHhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7p6zAQDh2rX+EIhj0Fu6riv4kIcm9j29
N6WouUjii1mJGg3SmgEAqSvi4Ybda3ftCBQcxnyo9UQgqPS+j34pWBhDXX4aTAc=
=1gAl
-----END PGP SIGNATURE-----


'
'
'Brendan Tildesley wrote on 14 Mar 2022 10:35
[PATCH v2 1/3] gnu: crypto++: Update to 8.6.0.
(address . 54337@debbugs.gnu.org)
20220314093550.16580-1-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/crypto.scm (crypto++): Update to 8.6.0.

Note: This release includes a fix for a bug where code using AVX2
instructions produced incorrect encrypted files:

---
gnu/packages/crypto.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 0a7e401d54..d8e7941903 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -21,7 +21,7 @@
;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
;;; Copyright © 2021 Ellis Keny? <me@elken.dev>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
-;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2022 Allan Adair <allan@adair.no>
;;;
;;; This file is part of GNU Guix.
@@ -733,7 +733,7 @@ (define-public perl-math-random-secure
(define-public crypto++
(package
(name "crypto++")
- (version "8.5.0")
+ (version "8.6.0")
(source (origin
(method git-fetch)
(uri
@@ -745,7 +745,7 @@ (define-public crypto++
(file-name (git-file-name name version))
(sha256
(base32
- "0in7rlazq91vfi519g9wr7bh87hii47cimxv7fmj0f88vhjaidq3"))))
+ "1vm821wpx59ccz6gr4xplqpxj3f1qq3jijyybj2g4npqmmldhx3b"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
--
2.34.0
'
'
'Brendan Tildesley wrote on 14 Mar 2022 10:35
[PATCH v2 3/3] gnu: cryfs: Update to 0.11.2.
(address . 54337@debbugs.gnu.org)
20220314093550.16580-3-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/crypto.scm (cryfs): Update to 0.11.2.
[inputs]: Use boost-for-cryfs to fix build.
---
gnu/packages/crypto.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index d8e7941903..c201e7a0f3 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -1461,7 +1461,7 @@ (define-public transcrypt
(define-public cryfs
(package
(name "cryfs")
- (version "0.11.0")
+ (version "0.11.2")
(source
(origin
(method url-fetch)
@@ -1469,7 +1469,7 @@ (define-public cryfs
"https://github.com/cryfs/cryfs/releases/download/"
version "/cryfs-" version ".tar.xz"))
(sha256
- (base32 "0dxphbj5sssm82rkkdb71algrcki16qlpzlvrjyvvm6b7x7zi0sm"))))
+ (base32 "1ggizlacm4fccsw9syy2763ihxnby6cdh3mhhraxy8bmsdjza7lm"))))
(build-system cmake-build-system)
(arguments
'(#:modules ((guix build cmake-build-system)
@@ -1516,7 +1516,7 @@ (define-public cryfs
`(("python" ,python-wrapper)
("pkg-config" ,pkg-config)))
(inputs
- (list boost curl fuse range-v3 spdlog))
+ (list boost-for-cryfs curl fuse range-v3 spdlog))
(home-page "https://www.cryfs.org/")
(synopsis "Encrypted FUSE filesystem for the cloud")
(description "CryFS encrypts your files, so you can safely store them anywhere.
--
2.34.0
'
'
'Brendan Tildesley wrote on 14 Mar 2022 10:35
[PATCH v2 2/3] gnu: Add boost-for-cryfs.
(address . 54337@debbugs.gnu.org)
20220314093550.16580-2-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/boost.scm (boost-for-cryfs): New variable. Since
updating boost would resulting in building 1000s of rebuilds, add a
temporary variant to fixing a missing import resulting in "error:
'transform' is not a member of 'std'" when building cryfs. See:

* gnu/packages/patches/boost-wchar-include-algorithm.patch: New
file.
* gnu/local.mk: Reference patch.

.
---
gnu/local.mk | 1 +
gnu/packages/boost.scm | 11 +++++++++++
.../patches/boost-wchar-include-algorithm.patch | 11 +++++++++++
3 files changed, 23 insertions(+)
create mode 100644 gnu/packages/patches/boost-wchar-include-algorithm.patch

Toggle diff (67 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 484757b207..465f5ae96d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -915,6 +915,7 @@ dist_patch_DATA = \
%D%/packages/patches/binutils-CVE-2021-45078.patch \
%D%/packages/patches/bloomberg-bde-cmake-module-path.patch \
%D%/packages/patches/bloomberg-bde-tools-fix-install-path.patch \
+ %D%/packages/patches/boost-wchar-include-algorithm.patch \
%D%/packages/patches/bpftrace-disable-bfd-disasm.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/bubblewrap-fix-locale-in-tests.patch \
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index b53b1f4257..b6f0c1fc22 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
+;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -68,6 +69,7 @@ (define (boost-patch name version hash)
(define-public boost
(package
(name "boost")
+ ;; Note: consider removing boost-1.77/fixed when updating boost to 1.78 or newer.
(version "1.77.0")
(source (origin
(method url-fetch)
@@ -193,6 +195,15 @@ (define-public boost
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
+(define-public boost-for-cryfs
+ ;; This patch applies for boost 1.77. Should not be needed in later releases.
+ ;; See: https://github.com/boostorg/process/commit/e08374ed95ac33865bda40602c94909e7cd9607f
+ (package/inherit boost
+ (name "boost-for-cryfs")
+ (source (origin
+ (inherit (package-source boost))
+ (patches (search-patches "boost-wchar-include-algorithm.patch"))))))
+
;; Sadly, this is needed for irods. It won't link with 1.69 or later.
(define-public boost-for-irods
(package
diff --git a/gnu/packages/patches/boost-wchar-include-algorithm.patch b/gnu/packages/patches/boost-wchar-include-algorithm.patch
new file mode 100644
index 0000000000..c174dc5cd2
--- /dev/null
+++ b/gnu/packages/patches/boost-wchar-include-algorithm.patch
@@ -0,0 +1,11 @@
+--- a/boost/process/detail/traits/wchar_t.hpp
++++ b/boost/process/detail/traits/wchar_t.hpp
+@@ -12,6 +12,8 @@
+ #include <boost/process/detail/traits/env.hpp>
+ #include <boost/process/locale.hpp>
+
++#include <algorithm>
++
+ namespace boost { namespace process { namespace detail {
+
+ //template
--
2.34.0
L
L
Ludovic Courtès wrote on 15 Mar 2022 09:14
(name . 'Brendan Tildesley)(address . mail@brendan.scot)
87sfrjocom.fsf@gnu.org
Hi,

'Brendan Tildesley <mail@brendan.scot> skribis:

Toggle quote (12 lines)
> From: Brendan Tildesley <mail@brendan.scot>
>
> * gnu/packages/boost.scm (boost-for-cryfs): New variable. Since
> updating boost would resulting in building 1000s of rebuilds, add a
> temporary variant to fixing a missing import resulting in "error:
> 'transform' is not a member of 'std'" when building cryfs. See:
> https://github.com/boostorg/process/commit/e08374ed95ac33865bda40602c94909e7cd9607f
>
> * gnu/packages/patches/boost-wchar-include-algorithm.patch: New
> file.
> * gnu/local.mk: Reference patch.

[...]

Toggle quote (26 lines)
> +(define-public boost-for-cryfs
> + ;; This patch applies for boost 1.77. Should not be needed in later releases.
> + ;; See: https://github.com/boostorg/process/commit/e08374ed95ac33865bda40602c94909e7cd9607f
> + (package/inherit boost
> + (name "boost-for-cryfs")
> + (source (origin
> + (inherit (package-source boost))
> + (patches (search-patches "boost-wchar-include-algorithm.patch"))))))
> +
> ;; Sadly, this is needed for irods. It won't link with 1.69 or later.
> (define-public boost-for-irods
> (package
> diff --git a/gnu/packages/patches/boost-wchar-include-algorithm.patch b/gnu/packages/patches/boost-wchar-include-algorithm.patch
> new file mode 100644
> index 0000000000..c174dc5cd2
> --- /dev/null
> +++ b/gnu/packages/patches/boost-wchar-include-algorithm.patch
> @@ -0,0 +1,11 @@
> +--- a/boost/process/detail/traits/wchar_t.hpp
> ++++ b/boost/process/detail/traits/wchar_t.hpp
> +@@ -12,6 +12,8 @@
> + #include <boost/process/detail/traits/env.hpp>
> + #include <boost/process/locale.hpp>
> +
> ++#include <algorithm>

‘guix lint’ must complain that this patch lacks a comment at the top.
:-)

Since this affect only cryfs, and since it’s just a missing include, I
wonder if we could instead add “#include <algorithm>” in the cryfs
source file(s) that include(s) Boost headers? That way, we wouldn’t
need an extra Boost build.

Thoughts?

Ludo’.
B
B
Brendan Tildesley wrote on 15 Mar 2022 14:07
(name . Ludovic Courtès)(address . ludo@gnu.org)
1108725176.370717.1647349667684@office.mailbox.org
Toggle quote (1 lines)
> On 03/15/2022 9:14 AM Ludovic Courtès <ludo@gnu.org> wrote:
...
Toggle quote (7 lines)
> Since this affect only cryfs, and since it’s just a missing include, I
> wonder if we could instead add “#include <algorithm>” in the cryfs
> source file(s) that include(s) Boost headers? That way, we wouldn’t
> need an extra Boost build.
>
> Thoughts?
>
Happy to do that but I don't understand where to put the includes. can you see from this:

RandomDataBuffer.cpp
In file included from /gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/basic_cmd.hpp:14,
from /gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/args.hpp:33,
from /gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process.hpp:22,
from /tmp/guix-build-cryfs-0.11.2.drv-0/src/cpp-utils/process/subprocess.cpp:6:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<wchar_t> > boost::process::detail::char_converter<wchar_t, std::vector<std::__cxx11::basic_string<char> > >::conv(const std::vector<std::__cxx11::basic_string<char> >&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:150:14: error: ‘transform’ is not a member of ‘std’
150 | std::transform(in.begin(), in.end(), ret.begin(),
| ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<wchar_t> > boost::process::detail::char_converter<wchar_t, std::initializer_list<std::__cxx11::basic_string<char> > >::conv(const std::initializer_list<std::__cxx11::basic_string<char> >&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:165:14: error: ‘transform’ is not a member of ‘std’
165 | std::transform(in.begin(), in.end(), ret.begin(),
| ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<wchar_t> > boost::process::detail::char_converter<wchar_t, std::vector<char*> >::conv(const std::vector<char*>&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:180:14: error: ‘transform’ is not a member of ‘std’
180 | std::transform(in.begin(), in.end(), ret.begin(),
| ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<wchar_t> > boost::process::detail::char_converter<wchar_t, std::initializer_list<char*> >::conv(const std::initializer_list<char*>&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:197:14: error: ‘transform’ is not a member of ‘std’
197 | std::transform(in.begin(), in.end(), ret.begin(),
| ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<char> > boost::process::detail::char_converter<char, std::vector<std::__cxx11::basic_string<wchar_t> > >::conv(const std::vector<std::__cxx11::basic_string<wchar_t> >&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:214:14: error: ‘transform’ is not a member of ‘std’
214 | std::transform(in.begin(), in.end(), ret.begin(),
| ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<char> > boost::process::detail::char_converter<char, std::initializer_list<std::__cxx11::basic_string<wchar_t> > >::conv(const std::initializer_list<std::__cxx11::basic_string<wchar_t> >&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:229:14: error: ‘transform’ is not a member of ‘std’
229 | std::transform(in.begin(), in.end(), ret.begin(),
| ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<char> > boost::process::detail::char_converter<char, std::vector<wchar_t*> >::conv(const std::vector<wchar_t*>&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:244:14: error: ‘transform’ is not a member of ‘std’
244 | std::transform(in.begin(), in.end(), ret.begin(),
| ^~~~~~~~~
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp: In static member function ‘static std::vector<std::__cxx11::basic_string<char> > boost::process::detail::char_converter<char, std::initializer_list<wchar_t*> >::conv(const std::initializer_list<wchar_t*>&)’:
/gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/traits/wchar_t.hpp:261:14: error: ‘transform’ is not a member of ‘std’
261 | std::transform(in.begin(), in.end(), ret.begin(),
| ^~~~~~~~~
[ 36%] Building CXX object src/cpp-utils/CMakeFiles/cpp-utils.dir/random/RandomGenerator.cpp.o
M
M
Maxime Devos wrote on 15 Mar 2022 17:35
(address . 54337@debbugs.gnu.org)
0b11d224d6308bc428c8c7eb779ed49f3ec9ccc1.camel@telenet.be
Brendan Tildesley schreef op di 15-03-2022 om 14:07 [+0100]:
Toggle quote (8 lines)
> Happy to do that but I don't understand where to put the includes. can you see from this:
>
> RandomDataBuffer.cpp
> In file included from /gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/detail/basic_cmd.hpp:14,
>                  from /gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process/args.hpp:33,
>                  from /gnu/store/f5l9m0dspdjxspdrnvfs4p0rncdhyigf-boost-1.77.0/include/boost/process.hpp:22,
>                  from /tmp/guix-build-cryfs-0.11.2.drv-0/src/cpp-utils/process/subprocess.cpp:6: [...]

In subprocess.cpp.

Toggle quote (2 lines)
> [ 36%] Building CXX object src/cpp-utils/CMakeFiles/cpp-utils.dir/random/RandomGenerator.cpp.o

Looks like parallel compilation is enabled, to investigate issues like
these, I recommend adding "--cores=1" to "guix build".

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjDAQhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7t1HAP4nvxLcyiGfnq6pgSr3SjZnurqN
VIUzVdYsLbQiiTyzxQD/XvhwjE8UlmLP/wQna3hkvum6yCRQF8sxsRVplgFE2Aw=
=2o6n
-----END PGP SIGNATURE-----


B
B
Brendan Tildesley wrote on 16 Mar 2022 04:03
Re: [bug#54337] [PATCH v3] gnu: Update crfys to 0.11.2
(name . Ludovic Courtès)(address . ludo@gnu.org)
855462635.430174.1647399811692@office.mailbox.org
Toggle quote (11 lines)
> On 03/15/2022 9:14 AM Ludovic Courtès <ludo@gnu.org> wrote:

> Since this affect only cryfs, and since it’s just a missing include, I
> wonder if we could instead add “#include <algorithm>” in the cryfs
> source file(s) that include(s) Boost headers? That way, we wouldn’t
> need an extra Boost build.
>
> Thoughts?
>
> Ludo’.

Just this one patch works:
From a5228fe860659c9bf6c410f8b57a407b30173648 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <mail@brendan.scot>
Date: Thu, 10 Mar 2022 20:49:44 +1100
Subject: [PATCH v3] gnu: cryfs: Update to 0.11.2.

* gnu/packages/crypto.scm (cryfs): Update to 0.11.2.
[arguments]: Fix build with boost 1.77
---
gnu/packages/crypto.scm | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)

Toggle diff (49 lines)
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index d8e7941903..cf8bc111e1 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -1461,7 +1461,7 @@ (define-public transcrypt
(define-public cryfs
(package
(name "cryfs")
- (version "0.11.0")
+ (version "0.11.2")
(source
(origin
(method url-fetch)
@@ -1469,7 +1469,7 @@ (define-public cryfs
"https://github.com/cryfs/cryfs/releases/download/"
version "/cryfs-" version ".tar.xz"))
(sha256
- (base32 "0dxphbj5sssm82rkkdb71algrcki16qlpzlvrjyvvm6b7x7zi0sm"))))
+ (base32 "1ggizlacm4fccsw9syy2763ihxnby6cdh3mhhraxy8bmsdjza7lm"))))
(build-system cmake-build-system)
(arguments
'(#:modules ((guix build cmake-build-system)
@@ -1485,7 +1485,7 @@ (define-public cryfs
"/cmake-utils/DependenciesFromLocalSystem.cmake"))
#:phases
(modify-phases %standard-phases
- (add-before 'configure 'fix-configure
+ (add-before 'configure 'fix-up
(lambda* (#:key tests? #:allow-other-keys)
;; Remove junk directory that breaks the build
(chdir "..") (delete-file-recursively ".circleci")
@@ -1496,7 +1496,14 @@ (define-public cryfs
(when tests?
(substitute* "CMakeLists.txt"
(("option.BUILD_TESTING .build test cases. OFF.")
- "option(BUILD_TESTING \"build test cases\" ON)")))))
+ "option(BUILD_TESTING \"build test cases\" ON)")))
+ ;; work around a missing import fixed upstream in boost 1.78
+ ;; See https://github.com/boostorg/process/issues/213
+ (substitute* (find-files "." "subprocess.cpp$")
+ (("#include <boost/process.hpp>.*" line)
+ (string-append
+ "#include <algorithm>\n"
+ line)))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
--
2.34.0
L
L
Ludovic Courtès wrote on 16 Mar 2022 11:40
(name . Brendan Tildesley)(address . mail@brendan.scot)
87mthqfae7.fsf@gnu.org
Hi,

Brendan Tildesley <mail@brendan.scot> skribis:

Toggle quote (8 lines)
> From a5228fe860659c9bf6c410f8b57a407b30173648 Mon Sep 17 00:00:00 2001
> From: Brendan Tildesley <mail@brendan.scot>
> Date: Thu, 10 Mar 2022 20:49:44 +1100
> Subject: [PATCH v3] gnu: cryfs: Update to 0.11.2.
>
> * gnu/packages/crypto.scm (cryfs): Update to 0.11.2.
> [arguments]: Fix build with boost 1.77

Well done. Applied, thanks!

Ludo’.
L
L
Ludovic Courtès wrote on 16 Mar 2022 11:41
control message for bug #54337
(address . control@debbugs.gnu.org)
87lexafad5.fsf@gnu.org
close 54337
quit
?
Your comment

This issue is archived.

To comment on this conversation send an email to 54337@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 54337
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch