From d08c2a882b60b560ccb86dd8fb0337435ef66628 Mon Sep 17 00:00:00 2001 From: David Elsing Date: Tue, 3 Jun 2025 22:56:54 +0200 Subject: [PATCH] gnu: Add qcint. * gnu/packages/chemistry.scm (qcint): New variable. Change-Id: Ie32f97a028f847dc401a4b9772df6f0f9a550e97 Signed-off-by: Sharlatan Hellseher --- gnu/packages/chemistry.scm | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index a43cedfadd..0a415a0838 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -732,6 +732,52 @@ used to prepare publication-quality figures, to share interactive results with your colleagues, or to generate pre-rendered animations.") (license license:bsd-3))) +;; Depends on at least SSE3 and should only be used for a tuned build of +;; python-pyscf. +(define-public qcint + (hidden-package + (let ((base libcint)) + (package + (inherit base) + (name "qcint") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sunqm/qcint") + (commit (string-append "v" (package-version base))))) + (file-name (git-file-name name (package-version base))) + (sha256 + (base32 + "17cgb2m93n48fagl5m2kr8n6kk8m9j6bxkhmh492ms3dbm0xpxml")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Autogenerated code + (delete-file-recursively "src/autocode"))))) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:configure-flags flags '()) + `(cons "-DBUILD_MARCH_NATIVE=OFF" + ,flags)) + ((#:phases phases) + `(modify-phases ,phases + (delete 'adjust-build-path))) + ;; Tests require python-pyscf. + ((#:tests? _ #f) #f))) + (native-inputs + (modify-inputs (package-native-inputs base) + (prepend (package-source base)))) + (supported-systems '("x86_64-linux")) + (home-page "https://github.com/sunqm/qcint") + (synopsis "General GTO integrals for quantum chemistry (SIMD version +for x86_64)") + (description "@code{qcint} is an optimized version of @code{libcint}, a +C library (also with a Fortran API) to evaluate one- and two-electron +integrals for Gaussian type functions.") + (properties `((tunable? . #t))) + (license license:gpl3+))))) + (define-public gemmi (package (name "gemmi")