unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#49443] [PATCH] Add blitz.
@ 2021-07-06 16:56 Ivan Gankevich
  2021-07-13 17:46 ` Arun Isaac
  2021-07-14 11:57 ` [bug#49443] [PATCH] gnu: " Ivan Gankevich
  0 siblings, 2 replies; 7+ messages in thread
From: Ivan Gankevich @ 2021-07-06 16:56 UTC (permalink / raw)
  To: 49443; +Cc: Ivan Gankevich

---
 gnu/packages/maths.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 93b8ee2ad4..12d758c4c4 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -6408,3 +6408,40 @@ to source-code analysis of C software.  The Frama-C analyzers assist you in
 various source-code-related activities, from the navigation through unfamiliar
 projects up to the certification of critical software.")
     (license license:lgpl2.1+)))
+
+(define-public blitz
+  (package
+    (name "blitz")
+    (version "1.0.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference (url "https://github.com/blitzpp/blitz") (commit version)))
+        (file-name (git-file-name name version))
+        (sha256 (base32 "0c88gc72j3zggyk4yrrip6i0v7xkx97l140vpy3xhxs2i7xy1461"))))
+    (build-system gnu-build-system)
+    (arguments
+      `(#:configure-flags '("--enable-shared" "--disable-fortran")
+        #:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'remove-configure
+            (lambda _
+              ;; remove non-working configure script
+              (if (file-exists? "configure") (delete-file "configure"))
+              ;; remove broken symlinks
+              (for-each
+                (lambda (file)
+                  (if (eq? (stat:type (lstat file)) 'symlink)
+                    (delete-file file)))
+                (find-files "m4" "\\.m4$"))
+              #t)))))
+    (native-inputs
+      `(("autoconf" ,autoconf)
+        ("automake" ,automake)
+        ("libtool" ,libtool)
+        ("python2" ,python-2)))
+    (synopsis "C++ template class library for multidimensional arrays")
+    (description
+      "High-performance multidimensional array containers for scientific computing.")
+    (home-page "https://github.com/blitzpp/blitz")
+    (license (list license:artistic2.0 license:bsd-3 license:lgpl3+))))
-- 
2.32.0





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#49443] [PATCH] Add blitz.
  2021-07-06 16:56 [bug#49443] [PATCH] Add blitz Ivan Gankevich
@ 2021-07-13 17:46 ` Arun Isaac
  2021-07-14 11:57 ` [bug#49443] [PATCH] gnu: " Ivan Gankevich
  1 sibling, 0 replies; 7+ messages in thread
From: Arun Isaac @ 2021-07-13 17:46 UTC (permalink / raw)
  To: Ivan Gankevich; +Cc: 49443

[-- Attachment #1: Type: text/plain, Size: 514 bytes --]


Hi Ivan,

Thank you for contributing to Guix!

Blitz upstream seems to have moved to the cmake build system. I think
the cmake-build-system will be a better fit for this package than the
gnu-build-system. Would you like to give this a try? Do try building the
documentation and tests as well, and let me know if you need any help.

Also, please note our indentation (particularly for git-reference) and
commit message conventions. Looking at other packages and previous
commits could prove helpful.

Thanks,
Arun

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 524 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#49443] [PATCH] gnu: Add blitz.
  2021-07-06 16:56 [bug#49443] [PATCH] Add blitz Ivan Gankevich
  2021-07-13 17:46 ` Arun Isaac
@ 2021-07-14 11:57 ` Ivan Gankevich
  2021-07-15 13:39   ` [bug#49443] [PATCH v3 0/1] " Arun Isaac
  2021-07-15 13:39   ` [bug#49443] [PATCH v3 1/1] gnu: " Arun Isaac
  1 sibling, 2 replies; 7+ messages in thread
From: Ivan Gankevich @ 2021-07-14 11:57 UTC (permalink / raw)
  To: 49443; +Cc: Ivan Gankevich

* gnu/packages/maths.scm (blitz): New variable.
---
 gnu/packages/maths.scm | 54 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index b4cf0b5409..eb92fb083a 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -6440,3 +6440,57 @@ to source-code analysis of C software.  The Frama-C analyzers assist you in
 various source-code-related activities, from the navigation through unfamiliar
 projects up to the certification of critical software.")
     (license license:lgpl2.1+)))
+
+(define-public blitz
+  (package
+    (name "blitz")
+    (version "1.0.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/blitzpp/blitz")
+               (commit version)))
+        (file-name (git-file-name name version))
+        (sha256 (base32 "0c88gc72j3zggyk4yrrip6i0v7xkx97l140vpy3xhxs2i7xy1461"))))
+    (build-system cmake-build-system)
+    (arguments
+      `(#:configure-flags
+        '("-DBUILD_DOC=ON"
+          "-DDISABLE_REFMAN_PDF=ON" ;; refman.pdf requires array-2016-10-06.sty
+          "-DBUILD_TESTING=ON")
+        ;; default "check" target also includes examples and benchmarks
+        #:test-target "check-testsuite"
+        #:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'patch-locations
+            (lambda _
+              ;; replace "texinfo.tex" location
+              (substitute* "doc/CMakeLists.txt"
+                (("/usr/share/texmf/tex/texinfo/")
+                 (format #f "~a/share/texmf-dist/tex/texinfo/"
+                         (assoc-ref %build-inputs "texlive-tex-texinfo"))))
+              #t))
+          (add-after 'build 'build-doc
+            (lambda _
+              (define jobs (format #f "-j~a" (parallel-job-count)))
+              (invoke "make" jobs "blitz-doc")
+              #t))
+          (add-after 'check 'check-examples
+            (lambda _
+              (define jobs (format #f "-j~a" (parallel-job-count)))
+              (invoke "make" jobs "check-examples")
+              #t)))))
+    (native-inputs
+      `(("python" ,python)
+        ("texinfo" ,texinfo)
+        ("texlive-tex-texinfo" ,texlive-tex-texinfo)
+        ("texlive" ,(texlive-union (list texlive-epsf))) ;; for texi2dvi
+        ("texi2html" ,texi2html)
+        ("doxygen" ,doxygen)
+        ("graphviz" ,graphviz)))
+    (synopsis "C++ template class library for multidimensional arrays")
+    (description
+      "High-performance multidimensional array containers for scientific computing.")
+    (home-page "https://github.com/blitzpp/blitz")
+    (license (list license:artistic2.0 license:bsd-3 license:lgpl3+))))
-- 
2.32.0





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#49443] [PATCH v3 0/1] Add blitz.
  2021-07-14 11:57 ` [bug#49443] [PATCH] gnu: " Ivan Gankevich
@ 2021-07-15 13:39   ` Arun Isaac
  2021-07-15 17:20     ` Ivan Gankevich
  2021-07-15 13:39   ` [bug#49443] [PATCH v3 1/1] gnu: " Arun Isaac
  1 sibling, 1 reply; 7+ messages in thread
From: Arun Isaac @ 2021-07-15 13:39 UTC (permalink / raw)
  To: Ivan Gankevich; +Cc: Arun Isaac, 49443

Hi Ivan,

Thanks for the quick response! Save a few minor changes, this patch LGTM. I am
sending a v3 patch with the necessary changes in a following email. Let me
know if it works, and I'll push it to master. Below, I note some of the
changes I've made.

1. I added a copyright header for you.

> +          (add-after 'build 'build-doc
> +            (lambda _
> +              (define jobs (format #f "-j~a" (parallel-job-count)))
> +              (invoke "make" jobs "blitz-doc")
> +              #t))

2. We do not need format for this. See how I've done it. It's simpler and does
not use a heavy-weight function like format.

> +          (add-after 'check 'check-examples
> +            (lambda _
> +              (define jobs (format #f "-j~a" (parallel-job-count)))
> +              (invoke "make" jobs "check-examples")
> +              #t)))))

3. Just check-testsuite should be good enough. So, this phase is not required.

> +    (native-inputs
> +      `(("python" ,python)
> +        ("texinfo" ,texinfo)
> +        ("texlive-tex-texinfo" ,texlive-tex-texinfo)
> +        ("texlive" ,(texlive-union (list texlive-epsf))) ;; for texi2dvi
> +        ("texi2html" ,texi2html)

4. Actually, I only wanted you to build the info manual, not the pdf and html
manuals. Sorry, I should have been clearer. So, I removed the texlive,
texlive-tex-texinfo, texi2html, doxygen, graphviz dependencies and other
related things from the package.

> +    (synopsis "C++ template class library for multidimensional arrays")
> +    (description
> +      "High-performance multidimensional array containers for scientific computing.")

5. Description should be a complete sentence.

Regards,
Arun

Ivan Gankevich (1):
  gnu: Add blitz.

 gnu/packages/maths.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

-- 
2.32.0





^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#49443] [PATCH v3 1/1] gnu: Add blitz.
  2021-07-14 11:57 ` [bug#49443] [PATCH] gnu: " Ivan Gankevich
  2021-07-15 13:39   ` [bug#49443] [PATCH v3 0/1] " Arun Isaac
@ 2021-07-15 13:39   ` Arun Isaac
  1 sibling, 0 replies; 7+ messages in thread
From: Arun Isaac @ 2021-07-15 13:39 UTC (permalink / raw)
  To: Ivan Gankevich; +Cc: Arun Isaac, 49443

From: Ivan Gankevich <i.gankevich@spbu.ru>

* gnu/packages/maths.scm (blitz): New variable.

Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
---
 gnu/packages/maths.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index b4cf0b5409..628b967eff 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -46,6 +46,7 @@
 ;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
 ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
 ;;; Copyright © 2021 Paul A. Patience <paul@apatience.com>
+;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -6440,3 +6441,39 @@ to source-code analysis of C software.  The Frama-C analyzers assist you in
 various source-code-related activities, from the navigation through unfamiliar
 projects up to the certification of critical software.")
     (license license:lgpl2.1+)))
+
+(define-public blitz
+  (package
+    (name "blitz")
+    (version "1.0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/blitzpp/blitz")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0c88gc72j3zggyk4yrrip6i0v7xkx97l140vpy3xhxs2i7xy1461"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags '("-DBUILD_DOC=ON"
+                           "-DBUILD_TESTING=ON")
+       ;; The default "check" target also includes examples and benchmarks.
+       #:test-target "check-testsuite"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'build-doc
+           (lambda _
+             (invoke "make" "-j" (number->string (parallel-job-count))
+                     "blitz-doc"))))))
+    (native-inputs
+     `(("python" ,python)
+       ("texinfo" ,texinfo)))
+    (synopsis "C++ template class library for multidimensional arrays")
+    (description "Blitz++ is a C++ template class library that provides
+high-performance multidimensional array containers for scientific computing.")
+    (home-page "https://github.com/blitzpp/blitz")
+    (license (list license:artistic2.0
+                   license:bsd-3
+                   license:lgpl3+))))
-- 
2.32.0





^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#49443] [PATCH v3 0/1] Add blitz.
  2021-07-15 13:39   ` [bug#49443] [PATCH v3 0/1] " Arun Isaac
@ 2021-07-15 17:20     ` Ivan Gankevich
  2021-07-16  4:40       ` bug#49443: " Arun Isaac
  0 siblings, 1 reply; 7+ messages in thread
From: Ivan Gankevich @ 2021-07-15 17:20 UTC (permalink / raw)
  To: Arun Isaac; +Cc: 49443

>Thanks for the quick response! Save a few minor changes, this patch LGTM. I am
>sending a v3 patch with the necessary changes in a following email. Let me
>know if it works, and I'll push it to master. Below, I note some of the
>changes I've made.

Thank you, Arun!. The patch works fine on my machine.


>4. Actually, I only wanted you to build the info manual, not the pdf and html
>manuals. Sorry, I should have been clearer. So, I removed the texlive,
>texlive-tex-texinfo, texi2html, doxygen, graphviz dependencies and other
>related things from the package.

You’re right, texinfo documentation is enough for this simple library.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#49443: [PATCH v3 0/1] Add blitz.
  2021-07-15 17:20     ` Ivan Gankevich
@ 2021-07-16  4:40       ` Arun Isaac
  0 siblings, 0 replies; 7+ messages in thread
From: Arun Isaac @ 2021-07-16  4:40 UTC (permalink / raw)
  To: Ivan Gankevich; +Cc: 49443-done

[-- Attachment #1: Type: text/plain, Size: 718 bytes --]


Hi Ivan,

> Thank you, Arun!. The patch works fine on my machine.

Pushed to master!

>>4. Actually, I only wanted you to build the info manual, not the pdf and html
>>manuals. Sorry, I should have been clearer. So, I removed the texlive,
>>texlive-tex-texinfo, texi2html, doxygen, graphviz dependencies and other
>>related things from the package.
>
> You’re right, texinfo documentation is enough for this simple library.

I don't think there is any Guix package that includes the PDF and HTML
documentation. It would make the packages much too heavy what with all
the texlive dependencies you'll have to add. And, I guess the consensus
is that the added size is not worth it.

Regards,
Arun

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 524 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-07-16  4:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-06 16:56 [bug#49443] [PATCH] Add blitz Ivan Gankevich
2021-07-13 17:46 ` Arun Isaac
2021-07-14 11:57 ` [bug#49443] [PATCH] gnu: " Ivan Gankevich
2021-07-15 13:39   ` [bug#49443] [PATCH v3 0/1] " Arun Isaac
2021-07-15 17:20     ` Ivan Gankevich
2021-07-16  4:40       ` bug#49443: " Arun Isaac
2021-07-15 13:39   ` [bug#49443] [PATCH v3 1/1] gnu: " Arun Isaac

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).