diff mbox series

[bug#62473,v2,1/4] gnu: Add ftest.

Message ID 0102018752a6c638-f104e797-04c3-4e5e-914e-5997a66b2c46-000000@eu-west-1.amazonses.com
State New
Headers show
Series Remove spurious file, add env var | expand

Commit Message

reza April 5, 2023, 6:21 p.m. UTC
From: Reza Housseini <reza.housseini@gmail.com>

---
 gnu/packages/check.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

-- 
2.39.2

Comments

Ludovic Courtès April 6, 2023, 2:29 p.m. UTC | #1
Hi Reza,

Great work, it’s good to have an OpenFoam update!

Some comments follow.

reza <reza@housseini.me> skribis:

> From: Reza Housseini <reza.housseini@gmail.com>
> 
> ---
>  gnu/packages/check.scm | 34 ++++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)

Your mail user agent apparently added DOS-style line endings, which I
think is the reason why <https://qa.guix.gnu.org/issue/62473> doesn’t
have any info.

Could you try to use ‘git send-email’ in the future, to avoid that kind
of issue?

> +(define-public ftest
> +  (package
> +    (name "ftest")
> +    (version "bf75576064fce2e07f52cd63a3e410f12358728b")

That’s not a reasonable version string; see
<https://guix.gnu.org/manual/devel/en/html_node/Version-Numbers.html>
on how to derive version strings for Git checkouts.

Furthermore, when packaging a snapshot (as opposed to a tagged release),
please add a short comment explaining why we’re not providing a release.

> +    (build-system copy-build-system)
> +    (native-inputs (list cmake-minimal))

Perhaps use ‘cmake-build-system’?

> +    (synopsis "Simple and limited unit-test framework for C++")
> +    (description "A simple and limited unit-test framework for C++")

Please write a full sentence:

  https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html

Ludo’.
reza April 6, 2023, 2:42 p.m. UTC | #2
> Great work, it’s good to have an OpenFoam update!

Yes this was a great hassle to finally compile, but I hope I made it 
future proof so there is not too much work for updates.
>> ---
>>   gnu/packages/check.scm | 34 ++++++++++++++++++++++++++++++++++
>>   1 file changed, 34 insertions(+)
> 
> Your mail user agent apparently added DOS-style line endings, which I
> think is the reason why <https://qa.guix.gnu.org/issue/62473> doesn’t
> have any info.
> 
> Could you try to use ‘git send-email’ in the future, to avoid that kind
> of issue?

This is strange, I use git send-email from a linux machine for the patches?

>> +(define-public ftest
>> +  (package
>> +    (name "ftest")
>> +    (version "bf75576064fce2e07f52cd63a3e410f12358728b")
> 
> That’s not a reasonable version string; see
> <https://guix.gnu.org/manual/devel/en/html_node/Version-Numbers.html>
> on how to derive version strings for Git checkouts.
> 
> Furthermore, when packaging a snapshot (as opposed to a tagged release),
> please add a short comment explaining why we’re not providing a release.

I'm not sure how to proceed here, there aren't any releases and it looks 
more like a small side project. I included it for completness but maybe 
we should drop it and skip the tests for utfcpp?

>> +    (build-system copy-build-system)
>> +    (native-inputs (list cmake-minimal))
> 
> Perhaps use ‘cmake-build-system’?

There is only a CMakeLists.txt file for the tests but not for the 
source, shall I provide one?

Thanks for looking into this!
Ludovic Courtès April 18, 2023, 8:06 p.m. UTC | #3
Hi,

reza <reza@housseini.me> skribis:

>>> +(define-public ftest
>>> +  (package
>>> +    (name "ftest")
>>> +    (version "bf75576064fce2e07f52cd63a3e410f12358728b")
>> 
>> That’s not a reasonable version string; see
>> <https://guix.gnu.org/manual/devel/en/html_node/Version-Numbers.html>
>> on how to derive version strings for Git checkouts.
>> 
>> Furthermore, when packaging a snapshot (as opposed to a tagged release),
>> please add a short comment explaining why we’re not providing a release.
>
> I'm not sure how to proceed here, there aren't any releases and it looks 
> more like a small side project. I included it for completness but maybe 
> we should drop it and skip the tests for utfcpp?

You can keep it; just add a comment with the explanation you wrote
above, and make sure the version string is built as show in the manual
page above.

>>> +    (build-system copy-build-system)
>>> +    (native-inputs (list cmake-minimal))
>> 
>> Perhaps use ‘cmake-build-system’?
>
> There is only a CMakeLists.txt file for the tests but not for the 
> source, shall I provide one?

Oh, weird.  Then just add a comment stating that and keep it this way.

Thanks,
Ludo’.
diff mbox series

Patch

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 0c8777a074..9b58b2c09d 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -43,6 +43,7 @@ 
 ;;; Copyright © 2022 jgart <jgart@dismail.de>
 ;;; Copyright © 2023 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
 ;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
+;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -65,6 +66,7 @@  (define-module (gnu packages check)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -92,6 +94,7 @@  (define-module (gnu packages check)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
@@ -3531,6 +3534,7 @@  (define-public python-pytest-regressions
 that can be used to verify that future runs produce the same data.")
     (license license:expat)))
 
+
 (define-public guile-proba
   (package
     (name "guile-proba")
@@ -3606,3 +3610,33 @@  (define-public guile-proba
 to run test collections, and a library that includes a test runner and
 helpers for writing tests.")
     (license license:public-domain)))
+
+
+(define-public ftest
+  (package
+    (name "ftest")
+    (version "bf75576064fce2e07f52cd63a3e410f12358728b")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/nemtrif/ftest")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "01yjhjnlq2gci8hkc6favwj0axq7y1vvnradsgcffby6h09x00b4"))))
+    (build-system copy-build-system)
+    (native-inputs (list cmake-minimal))
+    (arguments
+     `(#:install-plan '(("ftest.h" "include/ftest/"))
+       #:phases (modify-phases %standard-phases
+                  (add-before 'install 'check
+                    (lambda _
+                      (with-directory-excursion "tests"
+                        (invoke "cmake" ".")
+                        (invoke "make")
+                        (invoke "ctest")))))))
+    (home-page "https://github.com/nemtrif/ftest")
+    (synopsis "Simple and limited unit-test framework for C++")
+    (description "A simple and limited unit-test framework for C++")
+    (license license:asl2.0)))