GNU bug report logs -
#63330
[PATCH 0/4] Functional programming? In my C++?! It's more likely than you think!
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 63330 in the body.
You can then email your comments to 63330 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sat, 06 May 2023 16:09:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Liliana Marie Prikler <liliana.prikler <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Sat, 06 May 2023 16:09:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi Guix,
the following series adds a couple of packages that implement immutable
data structures, functional composition and all that good stuff.
Cheers
Liliana Marie Prikler (4):
gnu: Add c-rrb.
gnu: Add immer.
gnu: Add zug.
gnu: Add lager.
gnu/packages/c.scm | 25 ++++++++++++
gnu/packages/cpp.scm | 90 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 115 insertions(+)
base-commit: 7368020bef3bf5a44100c59a973412f9e254e7c6
--
2.39.2
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sat, 06 May 2023 16:10:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sat, 06 May 2023 16:10:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 63330 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/c.scm (c-rrb): New variable.
---
gnu/packages/c.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index b12aaf184a..b3d1b9a0d3 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -47,6 +47,7 @@ (define-module (gnu packages c)
#:use-module (guix store)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages bdw-gc)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
@@ -107,6 +108,30 @@ (define-public c-intro-and-ref
reference manual.")
(license license:fdl1.3+))))
+(define-public c-rrb
+ (let ((commit "d908617ff84515af90c454ff4d0f98675ae6b456")
+ (revision "0"))
+ (package
+ (name "c-rrb")
+ (version (git-version "0.1.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hypirion/c-rrb")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zmha3xi80vgdcwzb4vwdllf97dvggjpjfgahrpsb5f5qi3yshxa"))))
+ (build-system gnu-build-system)
+ (inputs (list libgc))
+ (native-inputs (list autoconf automake libtool))
+ (home-page "https://github.com/hypirion/c-rrb")
+ (synopsis "Relaxed Radix Balanced Trees")
+ (description "Relaxed Radix Balanced Trees are an immutable vector-like
+data structure with good performance characteristics for concatenation and
+slicing.")
+ (license license:boost1.0))))
+
(define-public cproc
(let ((commit "70fe9ef1810cc6c05bde9eb0970363c35fa7e802")
(revision "1"))
--
2.39.2
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sat, 06 May 2023 16:10:03 GMT)
Full text and
rfc822 format available.
Message #14 received at 63330 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/cpp.scm (immer): New variable.
---
gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 023d1c0337..da3567b5ef 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -67,6 +67,7 @@ (define-module (gnu packages cpp)
#:use-module (gnu packages)
#:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages c)
@@ -1390,6 +1391,38 @@ (define-public libexpected
(home-page "https://tl.tartanllama.xyz/")
(license license:cc0)))
+(define-public immer
+ (package
+ (name "immer")
+ (version "0.8.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arximboldi/immer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11km3l5h3rgsbj8yfyzk3fnx9na55l6zs2sxpx922yvlvs2blh27"))
+ (modules '((guix build utils)))
+ (snippet #~(begin
+ (delete-file "tools/include/doctest.h")
+ (delete-file "tools/include/catch.hpp")
+ (substitute* (find-files "test" "\\.[cih]pp")
+ (("<catch.hpp>") "<catch2/catch.hpp>")
+ (("<doctest.h>") "<doctest/doctest.h>"))
+ (substitute* (find-files "test/oss-fuzz" "\\.cpp")
+ ;; someone used the wrong header :)
+ (("<fmt/printf.h>") "<fmt/ostream.h>"))))))
+ (build-system cmake-build-system)
+ (arguments (list #:test-target "check"))
+ (inputs (list boost libgc c-rrb))
+ (native-inputs (list catch2 doctest fmt pkg-config))
+ (home-page "https://sinusoid.es/immer")
+ (synopsis "Immutable data structures")
+ (description "Immer is a library of persistent and immutable data structures
+written in C++.")
+ (license license:boost1.0)))
+
(define-public atomic-queue
(package
(name "atomic-queue")
--
2.39.2
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sat, 06 May 2023 16:10:03 GMT)
Full text and
rfc822 format available.
Message #17 received at 63330 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/cpp.scm (zug): New variable.
---
gnu/packages/cpp.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index da3567b5ef..0ab7d0785b 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1423,6 +1423,31 @@ (define-public immer
written in C++.")
(license license:boost1.0)))
+(define-public zug
+ (let ((commit "d7e814b45fceceee3cb1442997d8b46cee4764ec")
+ (revision "0"))
+ (package
+ (name "zug")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arximboldi/zug")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ww4prh763n81kzzijak8z495varlvqml4ip7i09klqnw6ya72fc"))
+ (modules '((guix build utils)))
+ (snippet #~(delete-file-recursively "tools"))))
+ (build-system cmake-build-system)
+ (arguments (list #:test-target "check"))
+ (native-inputs (list boost catch2))
+ (home-page "https://sinusoid.es/zug")
+ (synopsis "Higher-order sequence transformers")
+ (description "Zug is a C++ library providing transducers, that is composable
+sequential transformations.")
+ (license license:boost1.0))))
+
(define-public atomic-queue
(package
(name "atomic-queue")
--
2.39.2
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sat, 06 May 2023 16:10:04 GMT)
Full text and
rfc822 format available.
Message #20 received at 63330 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/cpp.scm (lager): New variable.
---
gnu/packages/cpp.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 0ab7d0785b..fe6a0edd31 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -101,6 +101,7 @@ (define-module (gnu packages cpp)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
+ #:autoload (gnu packages serialization) (cereal)
#:use-module (ice-9 match))
(define-public argagg
@@ -1448,6 +1449,37 @@ (define-public zug
sequential transformations.")
(license license:boost1.0))))
+(define-public lager
+ (let ((commit "2016df38be90ee176bcb73ea414be2318bc1ef31")
+ (revision "0"))
+ (package
+ (name "lager")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arximboldi/lager")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1b7zxwqrbm7db7wxqbsrk7jjd3znvvi1cwj7jg6zkmf0199071a5"))))
+ (build-system cmake-build-system)
+ (arguments (list #:test-target "check"
+ #:configure-flags #~(list "-Dlager_BUILD_EXAMPLES=no")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'delete-failing-tests
+ (lambda _
+ (delete-file-recursively "test/event_loop"))))))
+ (inputs (list boost immer zug))
+ (native-inputs (list cereal))
+ (home-page "https://sinusoid.es/lager")
+ (synopsis "Library for value-oriented design")
+ (description "Lager is a library for value-oriented design implementing
+the unidirectional data-flow architecture. Apart from a store and various
+event loops it also provides lenses and cursors.")
+ (license license:expat))))
+
(define-public atomic-queue
(package
(name "atomic-queue")
--
2.39.2
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sun, 07 May 2023 15:27:01 GMT)
Full text and
rfc822 format available.
Message #23 received at 63330 <at> debbugs.gnu.org (full text, mbox):
Hello,
Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
> * gnu/packages/cpp.scm (zug): New variable.
> ---
> gnu/packages/cpp.scm | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> index da3567b5ef..0ab7d0785b 100644
> --- a/gnu/packages/cpp.scm
> +++ b/gnu/packages/cpp.scm
> @@ -1423,6 +1423,31 @@ (define-public immer
> written in C++.")
> (license license:boost1.0)))
>
> +(define-public zug
> + (let ((commit "d7e814b45fceceee3cb1442997d8b46cee4764ec")
> + (revision "0"))
> + (package
> + (name "zug")
> + (version (git-version "0.0.0" revision commit))
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/arximboldi/zug")
> + (commit commit)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "1ww4prh763n81kzzijak8z495varlvqml4ip7i09klqnw6ya72fc"))
> + (modules '((guix build utils)))
> + (snippet #~(delete-file-recursively "tools"))))
> + (build-system cmake-build-system)
> + (arguments (list #:test-target "check"))
> + (native-inputs (list boost catch2))
> + (home-page "https://sinusoid.es/zug")
> + (synopsis "Higher-order sequence transformers")
> + (description "Zug is a C++ library providing transducers, that is composable
^,
I'd add a coma after "that is".
Otherwise LGTM.
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sun, 07 May 2023 15:31:01 GMT)
Full text and
rfc822 format available.
Message #26 received at 63330 <at> debbugs.gnu.org (full text, mbox):
Hi,
Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
> * gnu/packages/cpp.scm (immer): New variable.
> ---
> gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> index 023d1c0337..da3567b5ef 100644
> --- a/gnu/packages/cpp.scm
> +++ b/gnu/packages/cpp.scm
> @@ -67,6 +67,7 @@ (define-module (gnu packages cpp)
> #:use-module (gnu packages)
> #:use-module (gnu packages assembly)
> #:use-module (gnu packages autotools)
> + #:use-module (gnu packages bdw-gc)
> #:use-module (gnu packages boost)
> #:use-module (gnu packages build-tools)
> #:use-module (gnu packages c)
> @@ -1390,6 +1391,38 @@ (define-public libexpected
> (home-page "https://tl.tartanllama.xyz/")
> (license license:cc0)))
>
> +(define-public immer
> + (package
> + (name "immer")
> + (version "0.8.0")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/arximboldi/immer")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "11km3l5h3rgsbj8yfyzk3fnx9na55l6zs2sxpx922yvlvs2blh27"))
> + (modules '((guix build utils)))
> + (snippet #~(begin
> + (delete-file "tools/include/doctest.h")
> + (delete-file "tools/include/catch.hpp")
> + (substitute* (find-files "test" "\\.[cih]pp")
> + (("<catch.hpp>") "<catch2/catch.hpp>")
> + (("<doctest.h>") "<doctest/doctest.h>"))
> + (substitute* (find-files "test/oss-fuzz" "\\.cpp")
> + ;; someone used the wrong header :)
> + (("<fmt/printf.h>") "<fmt/ostream.h>"))))))
Did you report the wrong header usage upstream? A less intrusive fix
for the catch/doctest include problem could be to add their include
subdirectories as -I directives to the CXXFLAGS environment variable, or
since that's CMake, via its CMAKE_CXX_FLAGS make options. See 'clara'
for an actual example.
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sun, 07 May 2023 15:35:01 GMT)
Full text and
rfc822 format available.
Message #29 received at 63330 <at> debbugs.gnu.org (full text, mbox):
Hi Liliana,
Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
> * gnu/packages/cpp.scm (lager): New variable.
> ---
> gnu/packages/cpp.scm | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> index 0ab7d0785b..fe6a0edd31 100644
> --- a/gnu/packages/cpp.scm
> +++ b/gnu/packages/cpp.scm
> @@ -101,6 +101,7 @@ (define-module (gnu packages cpp)
> #:use-module (gnu packages web)
> #:use-module (gnu packages xml)
> #:use-module (gnu packages xorg)
> + #:autoload (gnu packages serialization) (cereal)
> #:use-module (ice-9 match))
Does autoload buys us something here? Otherwise I'd stick with the
conventional use-module, to avoid future instances of cargo-culting :-).
In my opinion, that's a direction that should be pursued in Guile
(autoloading modules by default when declarative modules (no side
effects allowed) are used) rather than in every Guile applications out
there.
Otherwise this series LGTM, with the minor comments I left earlier taken
into account.
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sun, 07 May 2023 15:52:01 GMT)
Full text and
rfc822 format available.
Message #32 received at 63330 <at> debbugs.gnu.org (full text, mbox):
Am Sonntag, dem 07.05.2023 um 11:30 -0400 schrieb Maxim Cournoyer:
> Hi,
>
> Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
>
> > * gnu/packages/cpp.scm (immer): New variable.
> > ---
> > gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
> > 1 file changed, 33 insertions(+)
> >
> > diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> > index 023d1c0337..da3567b5ef 100644
> > --- a/gnu/packages/cpp.scm
> > +++ b/gnu/packages/cpp.scm
> > @@ -67,6 +67,7 @@ (define-module (gnu packages cpp)
> > #:use-module (gnu packages)
> > #:use-module (gnu packages assembly)
> > #:use-module (gnu packages autotools)
> > + #:use-module (gnu packages bdw-gc)
> > #:use-module (gnu packages boost)
> > #:use-module (gnu packages build-tools)
> > #:use-module (gnu packages c)
> > @@ -1390,6 +1391,38 @@ (define-public libexpected
> > (home-page "https://tl.tartanllama.xyz/")
> > (license license:cc0)))
> >
> > +(define-public immer
> > + (package
> > + (name "immer")
> > + (version "0.8.0")
> > + (source (origin
> > + (method git-fetch)
> > + (uri (git-reference
> > + (url "https://github.com/arximboldi/immer")
> > + (commit (string-append "v" version))))
> > + (file-name (git-file-name name version))
> > + (sha256
> > + (base32
> > "11km3l5h3rgsbj8yfyzk3fnx9na55l6zs2sxpx922yvlvs2blh27"))
> > + (modules '((guix build utils)))
> > + (snippet #~(begin
> > + (delete-file "tools/include/doctest.h")
> > + (delete-file "tools/include/catch.hpp")
> > + (substitute* (find-files "test"
> > "\\.[cih]pp")
> > + (("<catch.hpp>") "<catch2/catch.hpp>")
> > + (("<doctest.h>")
> > "<doctest/doctest.h>"))
> > + (substitute* (find-files "test/oss-fuzz"
> > "\\.cpp")
> > + ;; someone used the wrong header :)
> > + (("<fmt/printf.h>")
> > "<fmt/ostream.h>"))))))
>
> Did you report the wrong header usage upstream?
I must admit, I did not.
> A less intrusive fix for the catch/doctest include problem could be
> to add their include subdirectories as -I directives to the CXXFLAGS
> environment variable, or since that's CMake, via its CMAKE_CXX_FLAGS
> make options. See 'clara' for an actual example.
There are other packages that take the approach I used here. I do
think this is a CMakeFiles bug, but not one I want to fix.
Cheers
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sun, 07 May 2023 15:58:02 GMT)
Full text and
rfc822 format available.
Message #35 received at 63330 <at> debbugs.gnu.org (full text, mbox):
Am Sonntag, dem 07.05.2023 um 11:34 -0400 schrieb Maxim Cournoyer:
> Hi Liliana,
>
> Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
>
> > * gnu/packages/cpp.scm (lager): New variable.
> > ---
> > gnu/packages/cpp.scm | 32 ++++++++++++++++++++++++++++++++
> > 1 file changed, 32 insertions(+)
> >
> > diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> > index 0ab7d0785b..fe6a0edd31 100644
> > --- a/gnu/packages/cpp.scm
> > +++ b/gnu/packages/cpp.scm
> > @@ -101,6 +101,7 @@ (define-module (gnu packages cpp)
> > #:use-module (gnu packages web)
> > #:use-module (gnu packages xml)
> > #:use-module (gnu packages xorg)
> > + #:autoload (gnu packages serialization) (cereal)
> > #:use-module (ice-9 match))
>
> Does autoload buys us something here? Otherwise I'd stick with the
> conventional use-module, to avoid future instances of cargo-culting
> :-).
It only frees us from the import cycle that would exist otherwise.
> In my opinion, that's a direction that should be pursued in Guile
> (autoloading modules by default when declarative modules (no side
> effects allowed) are used) rather than in every Guile applications
> out there.
Not sure I understand what you're saying, nor the impact of it.
Cheers
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sun, 07 May 2023 17:12:01 GMT)
Full text and
rfc822 format available.
Message #38 received at 63330 <at> debbugs.gnu.org (full text, mbox):
Hi,
Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
> Am Sonntag, dem 07.05.2023 um 11:34 -0400 schrieb Maxim Cournoyer:
>> Hi Liliana,
>>
>> Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
>>
>> > * gnu/packages/cpp.scm (lager): New variable.
>> > ---
>> > gnu/packages/cpp.scm | 32 ++++++++++++++++++++++++++++++++
>> > 1 file changed, 32 insertions(+)
>> >
>> > diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
>> > index 0ab7d0785b..fe6a0edd31 100644
>> > --- a/gnu/packages/cpp.scm
>> > +++ b/gnu/packages/cpp.scm
>> > @@ -101,6 +101,7 @@ (define-module (gnu packages cpp)
>> > #:use-module (gnu packages web)
>> > #:use-module (gnu packages xml)
>> > #:use-module (gnu packages xorg)
>> > + #:autoload (gnu packages serialization) (cereal)
>> > #:use-module (ice-9 match))
>>
>> Does autoload buys us something here? Otherwise I'd stick with the
>> conventional use-module, to avoid future instances of cargo-culting
>> :-).
> It only frees us from the import cycle that would exist otherwise.
OK, that's a good reason to have it.
>> In my opinion, that's a direction that should be pursued in Guile
>> (autoloading modules by default when declarative modules (no side
>> effects allowed) are used) rather than in every Guile applications
>> out there.
> Not sure I understand what you're saying, nor the impact of it.
I meant that it'd be nice if Guile gave us lazy loading by default
instead of relying on humans to use #:autoload where it makes sense.
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sun, 07 May 2023 17:13:02 GMT)
Full text and
rfc822 format available.
Message #41 received at 63330 <at> debbugs.gnu.org (full text, mbox):
Hi,
Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
> Am Sonntag, dem 07.05.2023 um 11:30 -0400 schrieb Maxim Cournoyer:
>> Hi,
>>
>> Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
>>
>> > * gnu/packages/cpp.scm (immer): New variable.
>> > ---
>> > gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
>> > 1 file changed, 33 insertions(+)
>> >
>> > diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
>> > index 023d1c0337..da3567b5ef 100644
>> > --- a/gnu/packages/cpp.scm
>> > +++ b/gnu/packages/cpp.scm
>> > @@ -67,6 +67,7 @@ (define-module (gnu packages cpp)
>> > #:use-module (gnu packages)
>> > #:use-module (gnu packages assembly)
>> > #:use-module (gnu packages autotools)
>> > + #:use-module (gnu packages bdw-gc)
>> > #:use-module (gnu packages boost)
>> > #:use-module (gnu packages build-tools)
>> > #:use-module (gnu packages c)
>> > @@ -1390,6 +1391,38 @@ (define-public libexpected
>> > (home-page "https://tl.tartanllama.xyz/")
>> > (license license:cc0)))
>> >
>> > +(define-public immer
>> > + (package
>> > + (name "immer")
>> > + (version "0.8.0")
>> > + (source (origin
>> > + (method git-fetch)
>> > + (uri (git-reference
>> > + (url "https://github.com/arximboldi/immer")
>> > + (commit (string-append "v" version))))
>> > + (file-name (git-file-name name version))
>> > + (sha256
>> > + (base32
>> > "11km3l5h3rgsbj8yfyzk3fnx9na55l6zs2sxpx922yvlvs2blh27"))
>> > + (modules '((guix build utils)))
>> > + (snippet #~(begin
>> > + (delete-file "tools/include/doctest.h")
>> > + (delete-file "tools/include/catch.hpp")
>> > + (substitute* (find-files "test"
>> > "\\.[cih]pp")
>> > + (("<catch.hpp>") "<catch2/catch.hpp>")
>> > + (("<doctest.h>")
>> > "<doctest/doctest.h>"))
>> > + (substitute* (find-files "test/oss-fuzz"
>> > "\\.cpp")
>> > + ;; someone used the wrong header :)
>> > + (("<fmt/printf.h>")
>> > "<fmt/ostream.h>"))))))
>>
>> Did you report the wrong header usage upstream?
> I must admit, I did not.
Could you please do so, if that's not too much to ask? Then include a
(see: URL) next to the substitution comment.
>> A less intrusive fix for the catch/doctest include problem could be
>> to add their include subdirectories as -I directives to the CXXFLAGS
>> environment variable, or since that's CMake, via its CMAKE_CXX_FLAGS
>> make options. See 'clara' for an actual example.
> There are other packages that take the approach I used here. I do
> think this is a CMakeFiles bug, but not one I want to fix.
I think catch2 is selfom used from the system (typically bundled), must
not ship with any pkg-config or proper support to be auto-detected at
configure time, which gives us the situation we're in.
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Sun, 07 May 2023 19:41:02 GMT)
Full text and
rfc822 format available.
Message #44 received at 63330 <at> debbugs.gnu.org (full text, mbox):
Hi,
Am Sonntag, dem 07.05.2023 um 13:12 -0400 schrieb Maxim Cournoyer:
> Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
>
> > Am Sonntag, dem 07.05.2023 um 11:30 -0400 schrieb Maxim Cournoyer:
> > > Did you report the wrong header usage upstream?
> > I must admit, I did not.
>
> Could you please do so, if that's not too much to ask? Then include
> a (see: URL) next to the substitution comment.
I sent a mail to the address in the README; let's wait for a reply.
> > > A less intrusive fix for the catch/doctest include problem could
> > > be to add their include subdirectories as -I directives to the
> > > CXXFLAGS environment variable, or since that's CMake, via its
> > > CMAKE_CXX_FLAGS make options. See 'clara' for an actual example.
> > There are other packages that take the approach I used here. I do
> > think this is a CMakeFiles bug, but not one I want to fix.
Correction to myself: I now see that we only need to edit those source
files because we remove the bundled ones, but that's an argument
towards keeping that within the snippet imho.
> I think catch2 is selfom used from the system (typically bundled),
> must not ship with any pkg-config or proper support to be auto-
> detected at configure time, which gives us the situation we're in.
Joke's on you, catch2 ships with both CMake's config stuff *and* pkg-
config. Vendoring it is next to pointless (that is, unless you regard
sneaking it onto ancient Debian as the point). Doctest also comes with
the usual CMake blurb.
Cheers
Information forwarded
to
guix-patches <at> gnu.org
:
bug#63330
; Package
guix-patches
.
(Thu, 11 May 2023 18:30:03 GMT)
Full text and
rfc822 format available.
Message #47 received at 63330 <at> debbugs.gnu.org (full text, mbox):
Hi,
On dim., 07 mai 2023 at 13:10, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> wrote:
>>> > + #:autoload (gnu packages serialization) (cereal)
>>> > #:use-module (ice-9 match))
>>>
>>> Does autoload buys us something here? Otherwise I'd stick with the
>>> conventional use-module, to avoid future instances of cargo-culting
>>> :-).
>> It only frees us from the import cycle that would exist otherwise.
>
> OK, that's a good reason to have it.
Maybe a comment would be helpful to remember that answer. :-)
Elsewhere, we use:
--8<---------------cut here---------------start------------->8---
(inputs
(list ;; XXX: We can't simply #:use-module due to a cycle somewhere.
(module-ref
(resolve-interface '(gnu packages engineering))
'cgns)
cli11
[...]
--8<---------------cut here---------------end--------------->8---
see paraview-5.9, d-tools, make-autoconf-wrapper, etc.
Cheers,
simon
Reply sent
to
Liliana Marie Prikler <liliana.prikler <at> gmail.com>
:
You have taken responsibility.
(Sun, 14 May 2023 10:32:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Liliana Marie Prikler <liliana.prikler <at> gmail.com>
:
bug acknowledged by developer.
(Sun, 14 May 2023 10:32:02 GMT)
Full text and
rfc822 format available.
Message #52 received at 63330-done <at> debbugs.gnu.org (full text, mbox):
Am Donnerstag, dem 11.05.2023 um 15:23 +0200 schrieb Simon Tournier:
> Maybe a comment would be helpful to remember that answer. :-)
Point taken.
Pushed the series with a follow-up commit to add said comment.
Cheers
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 11 Jun 2023 11:24:08 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 334 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.