* [bug#64504] [PATCH] gnu: Add unsio. @ 2023-07-06 22:13 Sharlatan Hellseher 2023-08-08 9:29 ` Andreas Enge 0 siblings, 1 reply; 6+ messages in thread From: Sharlatan Hellseher @ 2023-07-06 22:13 UTC (permalink / raw) To: 64504 Cc: Sharlatan Hellseher, Iliya Tikhonenko, Andreas Enge, Efraim Flashner, Eric Bavier * gnu/packages/astronomy.scm (unsio): New variable. Co-Authored-By: Iliya Tikhonenko <tikhonenko@mpe.mpg.de> --- gnu/packages/astronomy.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 3a1b584808..15590cb84b 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> +;;; Copyright © 2023 Iliya Tikhonenko <tikhonenko@mpe.mpg.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -74,6 +75,7 @@ (define-module (gnu packages astronomy) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages readline) + #:use-module (gnu packages sqlite) #:use-module (gnu packages sphinx) #:use-module (gnu packages textutils) #:use-module (gnu packages time) @@ -3767,3 +3769,39 @@ (define-public python-wiimatch for optimal @code{matching} of weighted N-dimensional image intensity data using (multivariate) polynomials.") (license license:bsd-3))) + +(define-public unsio + ;; There is no versioned tag, use the latest commit. + (let ((commit "25e52468298e1194c9726ef5dba9d5fbb46870f5") + (revision "0")) + (package + (name "unsio") + (version (git-version "1.3.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.lam.fr/infrastructure/unsio") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "110i2p5608zhh5w3pf3b5r2651hykw2ayspgq6vpqsffhya1p170")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f ;No tests + #:build-type "Release" + #:configure-flags #~(list "-DCMAKE_CXX_STANDARD=14"))) + (inputs (list gfortran hdf5 perl sqlite zlib)) + (home-page "https://projets.lam.fr/projects/unsio/wiki") + (synopsis "Universal Nbody snapshot I/O") + (description + "@acronym{UNSIO, Universal Nbody Snapshot Input Output} is an API which +perform input/output operations in a generic way, and on different kind of nbody +files format (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses). By using this +API, a user could write only one analysis program which will work on all known +files format supported by UNSIO. It's not necessary anymore to know how is +implemented a file format, UNSIO will do transparently and automatically all the +hard work for you! With UNSIO, you will spend less time to develop your +analysis program. UNSIO comes with an integrated sqlite3 database which can be +used to retrieve automatically all your data among terabytes of hard disks.") + (license license:cecill)))) base-commit: de3b8684e9a8e90e243cc2061100b06576c04077 -- 2.40.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#64504] [PATCH] gnu: Add unsio. 2023-07-06 22:13 [bug#64504] [PATCH] gnu: Add unsio Sharlatan Hellseher @ 2023-08-08 9:29 ` Andreas Enge 2023-08-08 11:37 ` Iliya Tikhonenko 0 siblings, 1 reply; 6+ messages in thread From: Andreas Enge @ 2023-08-08 9:29 UTC (permalink / raw) To: Sharlatan Hellseher; +Cc: 64504, Efraim Flashner, Iliya Tikhonenko, Eric Bavier [-- Attachment #1: Type: text/plain, Size: 580 bytes --] Hello, thanks for the patch! I tried to remove the marketing speech out of the description. For the #:build-type, the default value (release with debug information) also works and results in a package of the same size. Is there a reason to change it? Modified patch attached. I can also compile the package without the configure flags, are they useful? In the end dynamic and static libraries end up in a directory lib64/. Should this not be lib/? And there are lots of warnings about 34 bit shifts in a 32 bit type. But I suppose you tested that the library works. Andreas [-- Attachment #2: 0001-gnu-Add-unsio.patch --] [-- Type: text/plain, Size: 2892 bytes --] From f5401b0abbe58aa473738dc58d541e2bece9db65 Mon Sep 17 00:00:00 2001 Message-ID: <f5401b0abbe58aa473738dc58d541e2bece9db65.1691486728.git.andreas@enge.fr> From: Sharlatan Hellseher <sharlatanus@gmail.com> Date: Thu, 6 Jul 2023 23:13:05 +0100 Subject: [PATCH] gnu: Add unsio. * gnu/packages/astronomy.scm (unsio): New variable. Co-Authored-By: Iliya Tikhonenko <tikhonenko@mpe.mpg.de> Signed-off-by: Andreas Enge <andreas@enge.fr> --- gnu/packages/astronomy.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index e5c318c8bf..7e047d4ad7 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> +;;; Copyright © 2023 Iliya Tikhonenko <tikhonenko@mpe.mpg.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -75,6 +76,7 @@ (define-module (gnu packages astronomy) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages readline) + #:use-module (gnu packages sqlite) #:use-module (gnu packages sphinx) #:use-module (gnu packages textutils) #:use-module (gnu packages time) @@ -3951,3 +3953,32 @@ (define-public python-wiimatch for optimal @code{matching} of weighted N-dimensional image intensity data using (multivariate) polynomials.") (license license:bsd-3))) + +(define-public unsio + ;; There is no versioned tag, use the latest commit. + (let ((commit "25e52468298e1194c9726ef5dba9d5fbb46870f5") + (revision "0")) + (package + (name "unsio") + (version (git-version "1.3.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.lam.fr/infrastructure/unsio") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "110i2p5608zhh5w3pf3b5r2651hykw2ayspgq6vpqsffhya1p170")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f ;No tests + #:configure-flags #~(list "-DCMAKE_CXX_STANDARD=14"))) + (inputs (list gfortran hdf5 perl sqlite zlib)) + (home-page "https://projets.lam.fr/projects/unsio/wiki") + (synopsis "Input and output routines for n-body file formats") + (description + "@acronym{UNSIO, Universal Nbody Snapshot Input Output} provides +an API for performing input and output operations on different kinds of +n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).") + (license license:cecill)))) base-commit: f19736e62f9ab5fba0ac5fe184a221c2a5d374c6 -- 2.41.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#64504] [PATCH] gnu: Add unsio. 2023-08-08 9:29 ` Andreas Enge @ 2023-08-08 11:37 ` Iliya Tikhonenko 2023-08-08 15:49 ` Andreas Enge 0 siblings, 1 reply; 6+ messages in thread From: Iliya Tikhonenko @ 2023-08-08 11:37 UTC (permalink / raw) To: Andreas Enge; +Cc: 64504, Sharlatan Hellseher, Efraim Flashner, Eric Bavier Hello! I am the author of the initial version of this patch (kudos to Sharlatan for cleaning it up and bringing to guix proper!) On 8/8/23 11:29, Andreas Enge wrote: > For the #:build-type, the default value (release with debug information) also works and results in a package of the same size. Is there a reason to change it? Modified patch attached. The debug build type is unnecessary verbose (see src/uns.cc line 71-73 for an example) to the point that it impacts performance sometimes, which is important considering the usecase of the library. > I can also compile the package without the configure flags, are they useful? Checked again, I still cannot compile it without -DCMAKE_CXX_STANDARD=14 > And there are lots of warnings about 34 bit shifts in a 32 bit type. > But I suppose you tested that the library works. I have not noticed any issues using it during the past two years, but this cannot be considered a proper test because I am actually using a small subset of the library. Perhaps, this warning should be reported upstream, thanks! All the best, Iliya ^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#64504] [PATCH] gnu: Add unsio. 2023-08-08 11:37 ` Iliya Tikhonenko @ 2023-08-08 15:49 ` Andreas Enge 2023-08-14 12:41 ` Iliya Tikhonenko 0 siblings, 1 reply; 6+ messages in thread From: Andreas Enge @ 2023-08-08 15:49 UTC (permalink / raw) To: Iliya Tikhonenko; +Cc: 64504, Sharlatan Hellseher, Efraim Flashner, Eric Bavier [-- Attachment #1: Type: text/plain, Size: 2057 bytes --] Am Tue, Aug 08, 2023 at 01:37:14PM +0200 schrieb Iliya Tikhonenko: > On 8/8/23 11:29, Andreas Enge wrote: > > For the #:build-type, the default value (release with debug information) also works and results in a package of the same size. Is there a reason to change it? Modified patch attached. > The debug build type is unnecessary verbose (see src/uns.cc line 71-73 for > an example) to the point that it impacts performance sometimes, which is > important considering the usecase of the library. Okay, I have reinstated your line and added a comment. > > I can also compile the package without the configure flags, are they useful? > Checked again, I still cannot compile it without -DCMAKE_CXX_STANDARD=14 I can... Patch attached. > > And there are lots of warnings about 34 bit shifts in a 32 bit type. > > But I suppose you tested that the library works. > I have not noticed any issues using it during the past two years, but this > cannot be considered a proper test because I am actually using a small > subset of the library. Perhaps, this warning should be reported upstream, > thanks! /tmp/guix-build-unsio-1.3.3-0.25e5246.drv-0/source/src/snapshotinterface.cc:125:45: warning: result of ‘(-2147483648 << 2)’ requires 34 bits to represent, but ‘int’ only has 32 bits [-Wshift-overflow=] 125 | req_bits = (unsigned int) (( 1 << 31 )<<2)-1; | ~~~~~~~~~~~~^~~~ Here is the offending line. This is indeed a bit surprising, as "int" usually has 32 bits. The 1 to be shifted is a signed int; 1*2^31 is not representable in the type, so if I understand the C standard correctly, the result is undefined. Then I have seen a Stackoverflow comment that it is okay in C++20. And indeed: #:configure-flags #~(list "-DCMAKE_CXX_STANDARD=20") passes without these warnings. Should we add this? Although such constructs look a bit brittle to me, and it is not suggested by the author. There is still the question about the lib64/ installation directory, I think this should be changed. Andreas [-- Attachment #2: 0001-gnu-Add-unsio.patch --] [-- Type: text/plain, Size: 2886 bytes --] From ebfdbb4941d1151d15ecc0efb5aacdd3532b30cb Mon Sep 17 00:00:00 2001 Message-ID: <ebfdbb4941d1151d15ecc0efb5aacdd3532b30cb.1691508861.git.andreas@enge.fr> From: Sharlatan Hellseher <sharlatanus@gmail.com> Date: Thu, 6 Jul 2023 23:13:05 +0100 Subject: [PATCH] gnu: Add unsio. * gnu/packages/astronomy.scm (unsio): New variable. Co-Authored-By: Iliya Tikhonenko <tikhonenko@mpe.mpg.de> Signed-off-by: Andreas Enge <andreas@enge.fr> --- gnu/packages/astronomy.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index e5c318c8bf..e18e8bb21e 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> +;;; Copyright © 2023 Iliya Tikhonenko <tikhonenko@mpe.mpg.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -75,6 +76,7 @@ (define-module (gnu packages astronomy) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages readline) + #:use-module (gnu packages sqlite) #:use-module (gnu packages sphinx) #:use-module (gnu packages textutils) #:use-module (gnu packages time) @@ -3951,3 +3953,32 @@ (define-public python-wiimatch for optimal @code{matching} of weighted N-dimensional image intensity data using (multivariate) polynomials.") (license license:bsd-3))) + +(define-public unsio + ;; There is no versioned tag, use the latest commit. + (let ((commit "25e52468298e1194c9726ef5dba9d5fbb46870f5") + (revision "0")) + (package + (name "unsio") + (version (git-version "1.3.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.lam.fr/infrastructure/unsio") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "110i2p5608zhh5w3pf3b5r2651hykw2ayspgq6vpqsffhya1p170")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f ;No tests + #:build-type "Release")) ; to improve performace + (inputs (list gfortran hdf5 perl sqlite zlib)) + (home-page "https://projets.lam.fr/projects/unsio/wiki") + (synopsis "Input and output routines for n-body file formats") + (description + "@acronym{UNSIO, Universal Nbody Snapshot Input Output} provides +an API for performing input and output operations on different kinds of +n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).") + (license license:cecill)))) base-commit: 782ef67a59f4b564f16101cf23c30a3777b3f734 -- 2.41.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#64504] [PATCH] gnu: Add unsio. 2023-08-08 15:49 ` Andreas Enge @ 2023-08-14 12:41 ` Iliya Tikhonenko 2023-08-17 18:10 ` bug#64504: " Andreas Enge 0 siblings, 1 reply; 6+ messages in thread From: Iliya Tikhonenko @ 2023-08-14 12:41 UTC (permalink / raw) To: Andreas Enge; +Cc: 64504, Sharlatan Hellseher, Efraim Flashner, Eric Bavier On 8/8/23 17:49, Andreas Enge wrote: > Am Tue, Aug 08, 2023 at 01:37:14PM +0200 schrieb Iliya Tikhonenko: >> On 8/8/23 11:29, Andreas Enge wrote: >> The debug build type is unnecessary verbose (see src/uns.cc line 71-73 for >> an example) to the point that it impacts performance sometimes, which is >> important considering the usecase of the library. > Okay, I have reinstated your line and added a comment.Fine, maybe "to disable debug printing" would sound slightly more clear, but I am not sure. >> Checked again, I still cannot compile it without -DCMAKE_CXX_STANDARD=14 > I can... Patch attached. Yeah, it builds now. > #:configure-flags #~(list "-DCMAKE_CXX_STANDARD=20") > passes without these warnings. Should we add this? > Although such constructs look a bit brittle to me, and it is not suggested by the author. > > There is still the question about the lib64/ installation directory, > I think this should be changed. I think I am fine with both changes. I did a few quick tests and have not noticed any issues. All the best, Iliya ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#64504: [PATCH] gnu: Add unsio. 2023-08-14 12:41 ` Iliya Tikhonenko @ 2023-08-17 18:10 ` Andreas Enge 0 siblings, 0 replies; 6+ messages in thread From: Andreas Enge @ 2023-08-17 18:10 UTC (permalink / raw) To: Iliya Tikhonenko Cc: 64504-done, Sharlatan Hellseher, Efraim Flashner, Eric Bavier Hello, On 8/8/23 17:49, Andreas Enge wrote: > There is still the question about the lib64/ installation directory, > I think this should be changed. I just did with a little snippet; this has been programmed manually by the author, so could not be changed using cmake variables. Pushed, thanks for the new package! Andreas ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-08-17 18:11 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-07-06 22:13 [bug#64504] [PATCH] gnu: Add unsio Sharlatan Hellseher 2023-08-08 9:29 ` Andreas Enge 2023-08-08 11:37 ` Iliya Tikhonenko 2023-08-08 15:49 ` Andreas Enge 2023-08-14 12:41 ` Iliya Tikhonenko 2023-08-17 18:10 ` bug#64504: " Andreas Enge
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.