Package: guix;
Reported by: Eric Brown <brown <at> fastmail.com>
Date: Tue, 11 Sep 2018 04:25:02 UTC
Severity: normal
To reply to this bug, email your comments to 32691 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-guix <at> gnu.org
:bug#32691
; Package guix
.
(Tue, 11 Sep 2018 04:25:02 GMT) Full text and rfc822 format available.Eric Brown <brown <at> fastmail.com>
:bug-guix <at> gnu.org
.
(Tue, 11 Sep 2018 04:25:03 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Eric Brown <brown <at> fastmail.com> To: bug-guix <at> gnu.org Subject: OpenMolcas Date: Mon, 10 Sep 2018 23:23:42 -0500
[Message part 1 (text/plain, inline)]
Dear Guix: I am pleased to submit a patch that adds OpenMolcas to Guix. Also included in this submission is a new variable called `openblas-ilp64' which OpenMolcas needs to compile and run. I would like to point out that I have already submitted the openblas-ilp64 patch to the list for approval, and I am aware that this submission may need to be revised to include just the program of immediate interest. Best regards, Eric
[0001-gnu-Add-openmolcas-and-openblas-ilp64.patch (text/x-diff, inline)]
From 784cb74747adcc513b75b16b9247bd3dc9a484a3 Mon Sep 17 00:00:00 2001 From: Eric Brown <brown <at> fastmail.com> Date: Mon, 10 Sep 2018 23:12:51 -0500 Subject: [PATCH] gnu: Add openmolcas and openblas-ilp64. * gnu/packages/chemistry.scm (openmolcas): New variable. * gnu/packages/maths.scm (openblas-ilp64): New variable. --- gnu/packages/chemistry.scm | 55 ++++++++ gnu/packages/maths.scm | 71 ++++++++++ .../openmolcas-pymolcas-openblas.patch | 131 ++++++++++++++++++ 3 files changed, 257 insertions(+) create mode 100644 gnu/packages/patches/openmolcas-pymolcas-openblas.patch diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index 03120aaee..b4064ee8c 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen <at> fastmail.net> ;;; Copyright © 2018 Kei Kebreau <kkebreau <at> posteo.net> +;;; Copyright © 2018 Eric Brown <brown <at> fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,12 +27,16 @@ #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) + #:use-module (gnu packages gcc) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages gv) #:use-module (gnu packages maths) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages qt) + #:use-module (gnu packages tex) #:use-module (gnu packages xml) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) @@ -322,3 +327,53 @@ chemical data. It's a collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas.") (license license:gpl2))) + +(define-public openmolcas + (package + (name "openmolcas") + (version "18.09") + (source (origin + (method url-fetch) + (uri (string-append "https://gitlab.com/Molcas/OpenMolcas" + "/-/archive/v" version "/OpenMolcas-v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1krrkff5b4zp9ii1m9v3zzw8d99k72fcwwv3rif8cp10cpxi1wxl")) + (patches (search-patches "openmolcas-pymolcas-openblas.patch")))) + (build-system cmake-build-system) + (arguments + `(#:out-of-source? #t + #:tests? #f + #:build-type "Release" + #:parallel-build? #t + #:configure-flags + (list "-DLINALG=OpenBLAS" + (string-append "-DOPENBLASROOT=" + (assoc-ref %build-inputs "blas")) + (string-append "-DLINALG_LIBRARIES=" + (assoc-ref %build-inputs "blas") + "/lib/libopenblas_ilp64.so")))) + (native-inputs + `(("fortran" ,gfortran) + ("gcc" ,gcc) + ("ghostscript" ,ghostscript) + ("hdf5" ,hdf5) + ("blas" ,openblas-ilp64) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("python-pyparsing" ,python-pyparsing) + ("python-six" ,python-six) + ("texlive" ,texlive))) + (inputs + `()) + (home-page "https://gitlab.com/Molcas/OpenMolcas") + (synopsis "Multi-reference electronic structure theory program") + (description "OpenMolcas is a quantum chemistry software package developed +by scientists and intended to be used by scientists. It includes programs to +apply many different electronic structure methods to chemical systems, but its +key feature is the multiconfigurational approach, with methods like CASSCF and +CASPT2.") + (license license:lgpl2.1))) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 01bd03c60..5f1dfec8a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2018 Nadya Voronova <voronovank <at> gmail.com> ;;; Copyright © 2018 Adam Massmann <massmannak <at> gmail.com> ;;; Copyright © 2018 Marius Bakke <mbakke <at> fastmail.com> +;;; Copyright © 2018 Eric Brown <brown <at> fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2909,6 +2910,76 @@ parts of it.") "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD version.") (license license:bsd-3))) +(define-public openblas-ilp64 + (package + (name "openblas-ilp64") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/openblas/v" version "/OpenBLAS%20" + version "%20version.tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b20km2jv7m6qiylrlvhq2vnmkmilb633mr8rhqmgbn1wqrp58jq")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + ;; DYNAMIC_ARCH is only supported on x86. When it is disabled and no + ;; TARGET is specified, OpenBLAS will tune itself to the build host, so + ;; we need to disable substitutions. + #:substitutable? + ,(let ((system (or (%current-target-system) (%current-system)))) + (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system) + (string-prefix? "mips" system) + (string-prefix? "aarch64" system))) + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + "SHELL=bash" + ;; Build the library for all supported CPUs. This allows + ;; switching CPU targets at runtime with the environment variable + ;; OPENBLAS_CORETYPE=<type>, where "type" is a supported CPU type. + ;; Unfortunately, this is not supported on non-x86 architectures, + ;; where it leads to failed builds. + ,@(let ((system (or (%current-target-system) (%current-system)))) + (cond + ((or (string-prefix? "x86_64" system) + (string-prefix? "i686" system)) + '("DYNAMIC_ARCH=1" "INTERFACE64=1" "LIBNAMESUFFIX=ilp64")) + ;; On MIPS we force the "SICORTEX" TARGET, as for the other + ;; two available MIPS targets special extended instructions + ;; for Loongson cores are used. + ((string-prefix? "mips" system) + '("TARGET=SICORTEX" "INTERFACE64=1" "LIBNAMESUFFIX=ilp64")) + ;; On aarch64 force the generic 'armv8-a' target + ((string-prefix? "aarch64" system) + '("TARGET=ARMV8" "INTERFACE64=1" "LIBNAMESUFFIX=ilp64")) + (else '("INTERFACE64=1" "LIBNAMESUFFIX=ilp64"))))) + ;; no configure script + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-extralib + (lambda* (#:key inputs #:allow-other-keys) + ;; Get libgfortran found when building in utest. + (setenv "FEXTRALIB" + (string-append "-L" (assoc-ref inputs "fortran-lib") + "/lib")) + #t))))) + (inputs + `(("fortran-lib" ,gfortran "lib"))) + (native-inputs + `(("cunit" ,cunit) + ("fortran" ,gfortran) + ("perl" ,perl))) + (home-page "http://www.openblas.net/") + (synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)") + (description + "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD version. (ILP64 version)") + (license license:bsd-3))) + (define* (make-blis implementation #:optional substitutable?) "Return a BLIS package with the given IMPLEMENTATION (see config/ in the source tree for a list of implementations.) diff --git a/gnu/packages/patches/openmolcas-pymolcas-openblas.patch b/gnu/packages/patches/openmolcas-pymolcas-openblas.patch new file mode 100644 index 000000000..2c7feade6 --- /dev/null +++ b/gnu/packages/patches/openmolcas-pymolcas-openblas.patch @@ -0,0 +1,131 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a4071fd..53d8df5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1338,42 +1338,43 @@ if (LINALG STREQUAL "OpenBLAS") + endif () + + # search for the OpenBLAS library +- find_library (LIBOPENBLAS +- NAMES openblas +- PATHS ${OPENBLASROOT} +- PATH_SUFFIXES lib +- NO_DEFAULT_PATH) +- +- if (NOT LIBOPENBLAS) +- message (FATAL_ERROR +- "OpenBLAS library not found, please check that " +- "the OPENBLASROOT variable is set and points to " +- "a valid OpenBLAS installation directory." +- ) +- endif () +- +- # here we check if LIBOPENBLAS has changed after it was processed +- # succesfully, if not we do not need to rerun anything here. +- if (NOT LIBOPENBLAS STREQUAL LIBOPENBLAS_LAST) +- # check if the OpenBLAS library contains LAPACK functionality +- message ("-- Checking OpenBLAS for LAPACK functionality...") +- include(CheckFortranFunctionExists) +- set (CMAKE_REQUIRED_LIBRARIES ${LIBOPENBLAS}) +- unset (OPENBLAS_WITH_LAPACK CACHE) +- check_fortran_function_exists("dsyev" OPENBLAS_WITH_LAPACK) +- if (NOT OPENBLAS_WITH_LAPACK) +- unset (LIBOPENBLAS CACHE) +- message (FATAL_ERROR +- "LAPACK functionality missing from OpenBLAS library, " +- "please build OpenBLAS with NO_LAPACK=0 defined." +- ) +- endif () +- # save the last location to check if it changed between configurations +- set (LIBOPENBLAS_LAST ${LIBOPENBLAS} CACHE INTERNAL "last value." FORCE) +- endif () +- +- add_definitions (-D_OPENBLAS_) +- set (LINALG_LIBRARIES ${LIBOPENBLAS}) ++# find_library (LIBOPENBLAS ++# NAMES openblas ++# PATHS ${OPENBLASROOT} ++# PATH_SUFFIXES lib ++# NO_DEFAULT_PATH) ++# ++# if (NOT LIBOPENBLAS) ++# message (FATAL_ERROR ++# "OpenBLAS library not found, please check that " ++# "the OPENBLASROOT variable is set and points to " ++# "a valid OpenBLAS installation directory." ++# ) ++# endif () ++# ++# # here we check if LIBOPENBLAS has changed after it was processed ++# # succesfully, if not we do not need to rerun anything here. ++# if (NOT LIBOPENBLAS STREQUAL LIBOPENBLAS_LAST) ++# # check if the OpenBLAS library contains LAPACK functionality ++# message ("-- Checking OpenBLAS for LAPACK functionality...") ++# include(CheckFortranFunctionExists) ++# set (CMAKE_REQUIRED_LIBRARIES ${LIBOPENBLAS}) ++# unset (OPENBLAS_WITH_LAPACK CACHE) ++# check_fortran_function_exists("dsyev" OPENBLAS_WITH_LAPACK) ++# if (NOT OPENBLAS_WITH_LAPACK) ++# unset (LIBOPENBLAS CACHE) ++# message (FATAL_ERROR ++# "LAPACK functionality missing from OpenBLAS library, " ++# "please build OpenBLAS with NO_LAPACK=0 defined." ++# ) ++# endif () ++# # save the last location to check if it changed between configurations ++# set (LIBOPENBLAS_LAST ${LIBOPENBLAS} CACHE INTERNAL "last value." FORCE) ++# endif () ++# ++ add_definitions (-D_OPENBLAS_) ++# set (LINALG_LIBRARIES ${LIBOPENBLAS}) ++ set (LINALG_LIBRARIES ${LINALG_LIBRARIES}) + else () + mark_as_advanced(FORCE OPENBLASROOT) + endif () +@@ -3167,11 +3168,11 @@ install (PROGRAMS + if (DEFINED PYMOLCAS_TARGET) + install (PROGRAMS + ${PYMOLCAS_TARGET} +- DESTINATION ${CMAKE_INSTALL_PREFIX}/sbin ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + RENAME pymolcas + ) + +- install (CODE "execute_process(COMMAND ${OPENMOLCAS_DIR}/sbin/install_pymolcas.sh ${PYMOLCAS_TARGET})") ++# install (CODE "execute_process(COMMAND ${OPENMOLCAS_DIR}/sbin/install_pymolcas.sh ${PYMOLCAS_TARGET})") + endif () + + if (DEFINED EXTRA_DIR) +@@ -3188,9 +3189,9 @@ if (DEFINED EXTRA_DIR) + DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + ) + +- install (CODE "execute_process(COMMAND ${OPENMOLCAS_DIR}/sbin/install_driver.sh ${MOLCAS_DRIVER})") ++# install (CODE "execute_process(COMMAND ${OPENMOLCAS_DIR}/sbin/install_driver.sh ${MOLCAS_DRIVER})") + endif () + +-if (IS_DIRECTORY "$ENV{HOME}/.Molcas") +- install (CODE "execute_process(COMMAND sh \"-c\" \"cd ${CMAKE_INSTALL_PREFIX}; echo `pwd` > $HOME/.Molcas/molcas 2> /dev/null\")") +-endif () ++#if (IS_DIRECTORY "$ENV{HOME}/.Molcas") ++# install (CODE "execute_process(COMMAND sh \"-c\" \"cd ${CMAKE_INSTALL_PREFIX}; echo `pwd` > $HOME/.Molcas/molcas 2> /dev/null\")") ++#endif () +diff --git a/Tools/pymolcas/CMakeLists.txt b/Tools/pymolcas/CMakeLists.txt +index 0d576fa..f9ba6d7 100644 +--- a/Tools/pymolcas/CMakeLists.txt ++++ b/Tools/pymolcas/CMakeLists.txt +@@ -52,9 +52,9 @@ if (PYTHONINTERP_FOUND) + DEPENDS ${PYMOLCAS_TARGET} + ) + +- add_custom_command (TARGET pymolcas +- POST_BUILD +- COMMAND ${OPENMOLCAS_DIR}/sbin/install_pymolcas.sh ${PYMOLCAS_TARGET} +- ) ++# add_custom_command (TARGET pymolcas ++# POST_BUILD ++# COMMAND ${OPENMOLCAS_DIR}/sbin/install_pymolcas.sh ${PYMOLCAS_TARGET} ++# ) + + endif () + -- 2.18.0
[0001-gnu-Add-openmolcas-and-openblas-ilp64.patch (text/x-diff, attachment)]
bug-guix <at> gnu.org
:bug#32691
; Package guix
.
(Fri, 14 Sep 2018 09:29:01 GMT) Full text and rfc822 format available.Message #8 received at 32691 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Eric Brown <brown <at> fastmail.com> Cc: 32691 <at> debbugs.gnu.org Subject: Re: bug#32691: OpenMolcas Date: Fri, 14 Sep 2018 11:27:50 +0200
[Message part 1 (text/plain, inline)]
Hi Eric, Eric Brown <brown <at> fastmail.com> skribis: > I am pleased to submit a patch that adds OpenMolcas to Guix. Also > included in this submission is a new variable called `openblas-ilp64' > which OpenMolcas needs to compile and run. Here’s a revision of the patch with several modifications: I added comments in the patch (though they don’t explain the Python-related changes for instance; could you add a line about these?), stripped unnecessary additions from the patch, added it to gnu/local.mk, fixed an issue reported by ‘guix lint’ in the description. However, could you explain why we have #:tests? #f ? In general disabling tests should be accompanied with a comment explaining the reason (lack of a test suite, or “unsolvable” test failures.) If there are test failures, we’d rather investigate than disable the tests. Could you send an updated patch? Thanks in advance! Ludo’.
[0001-gnu-Add-openmolcas.patch (text/x-patch, inline)]
From c001d557e1cb23042c092c23d7612ad6197fac3c Mon Sep 17 00:00:00 2001 From: Eric Brown <brown <at> fastmail.com> Date: Mon, 10 Sep 2018 23:12:51 -0500 Subject: [PATCH] gnu: Add openmolcas. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/chemistry.scm (openmolcas): New variable. * gnu/packages/patches/openmolcas-pymolcas-openblas.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès <ludo <at> gnu.org> --- gnu/local.mk | 1 + gnu/packages/chemistry.scm | 52 +++++++++++ .../openmolcas-pymolcas-openblas.patch | 89 +++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100644 gnu/packages/patches/openmolcas-pymolcas-openblas.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7b230cb6f..0974ce068 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1006,6 +1006,7 @@ dist_patch_DATA = \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openldap-CVE-2017-9287.patch \ + %D%/packages/patches/openmolcas-pymolcas-openblas.patch \ %D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/opensmtpd-fix-crash.patch \ %D%/packages/patches/openssl-runpath.patch \ diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index 03120aaee..58151afce 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen <at> fastmail.net> ;;; Copyright © 2018 Kei Kebreau <kkebreau <at> posteo.net> +;;; Copyright © 2018 Eric Brown <brown <at> fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,12 +27,16 @@ #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) + #:use-module (gnu packages gcc) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages gv) #:use-module (gnu packages maths) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages qt) + #:use-module (gnu packages tex) #:use-module (gnu packages xml) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) @@ -322,3 +327,50 @@ chemical data. It's a collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas.") (license license:gpl2))) + +(define-public openmolcas + (package + (name "openmolcas") + (version "18.09") + (source (origin + (method url-fetch) + (uri (string-append "https://gitlab.com/Molcas/OpenMolcas" + "/-/archive/v" version "/OpenMolcas-v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1krrkff5b4zp9ii1m9v3zzw8d99k72fcwwv3rif8cp10cpxi1wxl")) + (patches (search-patches "openmolcas-pymolcas-openblas.patch")))) + (build-system cmake-build-system) + (arguments + `(#:out-of-source? #t + #:tests? #f + #:build-type "Release" + #:configure-flags + (list "-DLINALG=OpenBLAS" + (string-append "-DOPENBLASROOT=" + (assoc-ref %build-inputs "blas")) + (string-append "-DLINALG_LIBRARIES=" + (assoc-ref %build-inputs "blas") + "/lib/libopenblas_ilp64.so")))) + (native-inputs + `(("fortran" ,gfortran) + ("ghostscript" ,ghostscript) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("python-pyparsing" ,python-pyparsing) + ("python-six" ,python-six) + ("texlive" ,texlive))) + (inputs + `(("hdf5" ,hdf5) + ("blas" ,openblas-ilp64))) + (home-page "https://gitlab.com/Molcas/OpenMolcas") + (synopsis "Multi-reference electronic structure theory program") + (description "OpenMolcas is a quantum chemistry software package developed +by scientists and intended to be used by scientists. It includes programs to +apply many different electronic structure methods to chemical systems, but its +key feature is the multiconfigurational approach, with methods like CASSCF and +CASPT2.") + (license license:lgpl2.1))) diff --git a/gnu/packages/patches/openmolcas-pymolcas-openblas.patch b/gnu/packages/patches/openmolcas-pymolcas-openblas.patch new file mode 100644 index 000000000..b18c62e05 --- /dev/null +++ b/gnu/packages/patches/openmolcas-pymolcas-openblas.patch @@ -0,0 +1,89 @@ +Allow bulds with openblas-ilp64. +Remove assumptions about $HOME. + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a4071fd..53d8df5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1338,42 +1338,8 @@ if (LINALG STREQUAL "OpenBLAS") + endif () + + # search for the OpenBLAS library +- find_library (LIBOPENBLAS +- NAMES openblas +- PATHS ${OPENBLASROOT} +- PATH_SUFFIXES lib +- NO_DEFAULT_PATH) +- +- if (NOT LIBOPENBLAS) +- message (FATAL_ERROR +- "OpenBLAS library not found, please check that " +- "the OPENBLASROOT variable is set and points to " +- "a valid OpenBLAS installation directory." +- ) +- endif () +- +- # here we check if LIBOPENBLAS has changed after it was processed +- # succesfully, if not we do not need to rerun anything here. +- if (NOT LIBOPENBLAS STREQUAL LIBOPENBLAS_LAST) +- # check if the OpenBLAS library contains LAPACK functionality +- message ("-- Checking OpenBLAS for LAPACK functionality...") +- include(CheckFortranFunctionExists) +- set (CMAKE_REQUIRED_LIBRARIES ${LIBOPENBLAS}) +- unset (OPENBLAS_WITH_LAPACK CACHE) +- check_fortran_function_exists("dsyev" OPENBLAS_WITH_LAPACK) +- if (NOT OPENBLAS_WITH_LAPACK) +- unset (LIBOPENBLAS CACHE) +- message (FATAL_ERROR +- "LAPACK functionality missing from OpenBLAS library, " +- "please build OpenBLAS with NO_LAPACK=0 defined." +- ) +- endif () +- # save the last location to check if it changed between configurations +- set (LIBOPENBLAS_LAST ${LIBOPENBLAS} CACHE INTERNAL "last value." FORCE) +- endif () +- + add_definitions (-D_OPENBLAS_) +- set (LINALG_LIBRARIES ${LIBOPENBLAS}) ++ set (LINALG_LIBRARIES ${LINALG_LIBRARIES}) + else () + mark_as_advanced(FORCE OPENBLASROOT) + endif () +@@ -3167,11 +3168,10 @@ install (PROGRAMS + if (DEFINED PYMOLCAS_TARGET) + install (PROGRAMS + ${PYMOLCAS_TARGET} +- DESTINATION ${CMAKE_INSTALL_PREFIX}/sbin ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + RENAME pymolcas + ) + +- install (CODE "execute_process(COMMAND ${OPENMOLCAS_DIR}/sbin/install_pymolcas.sh ${PYMOLCAS_TARGET})") + endif () + + if (DEFINED EXTRA_DIR) +@@ -3188,9 +3189,5 @@ if (DEFINED EXTRA_DIR) + DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + ) + +- install (CODE "execute_process(COMMAND ${OPENMOLCAS_DIR}/sbin/install_driver.sh ${MOLCAS_DRIVER})") + endif () + +-if (IS_DIRECTORY "$ENV{HOME}/.Molcas") +- install (CODE "execute_process(COMMAND sh \"-c\" \"cd ${CMAKE_INSTALL_PREFIX}; echo `pwd` > $HOME/.Molcas/molcas 2> /dev/null\")") +-endif () +diff --git a/Tools/pymolcas/CMakeLists.txt b/Tools/pymolcas/CMakeLists.txt +index 0d576fa..f9ba6d7 100644 +--- a/Tools/pymolcas/CMakeLists.txt ++++ b/Tools/pymolcas/CMakeLists.txt +@@ -52,9 +52,5 @@ if (PYTHONINTERP_FOUND) + DEPENDS ${PYMOLCAS_TARGET} + ) + +- add_custom_command (TARGET pymolcas +- POST_BUILD +- COMMAND ${OPENMOLCAS_DIR}/sbin/install_pymolcas.sh ${PYMOLCAS_TARGET} +- ) + + endif () + -- 2.18.0
bug-guix <at> gnu.org
:bug#32691
; Package guix
.
(Fri, 14 Sep 2018 14:57:01 GMT) Full text and rfc822 format available.Message #11 received at 32691 <at> debbugs.gnu.org (full text, mbox):
From: Eric Brown <brown <at> fastmail.com> To: ludo <at> gnu.org (Ludovic Courtès) Cc: 32691 <at> debbugs.gnu.org Subject: Re: bug#32691: OpenMolcas Date: Fri, 14 Sep 2018 09:55:50 -0500
[Message part 1 (text/plain, inline)]
ludo <at> gnu.org (Ludovic Courtès) writes: > Here’s a revision of the patch with several modifications: I added > comments in the patch (though they don’t explain the Python-related > changes for instance; could you add a line about these?), stripped > unnecessary additions from the patch, added it to gnu/local.mk, fixed > an issue reported by ‘guix lint’ in the description. > > However, could you explain why we have #:tests? #f ? In general > disabling tests should be accompanied with a comment explaining the > reason (lack of a test suite, or “unsolvable” test failures.) If there > are test failures, we’d rather investigate than disable the tests. > > Could you send an updated patch? > Hi Ludo': Thank you for your fixes! I've attached a revised patch. I'm well beyond my comfort zone, so I hope it applies cleanly and works. The default location of pymolcas is a little sketchy, being placed in the first writable location in PATH, and I believe will not be fixed upstream: https://gitlab.com/Molcas/OpenMolcas/issues/70 I have added comments to the chemistry.scm file. I have removed the out-of-source build statement and re-enabled tests, simply by omitting those flags. Best regards, Eric
[openmolcas-v2.patch (text/x-diff, inline)]
From 315c2a58310f2af32cdbd59c97a10911c390ddd3 Mon Sep 17 00:00:00 2001 From: Eric Brown <brown <at> fastmail.com> Date: Fri, 14 Sep 2018 09:27:35 -0500 Subject: [PATCH] gnu: Add openmolcas and openblas-ilp64. * gnu/packages/chemistry.scm (openmolcas): New variable. --- gnu/local.mk | 1 + gnu/packages/chemistry.scm | 56 ++++++++++++ .../openmolcas-pymolcas-openblas.patch | 89 +++++++++++++++++++ 3 files changed, 146 insertions(+) create mode 100644 gnu/packages/patches/openmolcas-pymolcas-openblas.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7b230cb6f..0974ce068 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1006,6 +1006,7 @@ dist_patch_DATA = \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openldap-CVE-2017-9287.patch \ + %D%/packages/patches/openmolcas-pymolcas-openblas.patch \ %D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/opensmtpd-fix-crash.patch \ %D%/packages/patches/openssl-runpath.patch \ diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index 03120aaee..d5461b08f 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen <at> fastmail.net> ;;; Copyright © 2018 Kei Kebreau <kkebreau <at> posteo.net> +;;; Copyright © 2018 Eric Brown <brown <at> fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,12 +27,16 @@ #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) + #:use-module (gnu packages gcc) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages gv) #:use-module (gnu packages maths) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages qt) + #:use-module (gnu packages tex) #:use-module (gnu packages xml) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) @@ -322,3 +327,54 @@ chemical data. It's a collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas.") (license license:gpl2))) + +(define-public openmolcas + (package + (name "openmolcas") + (version "18.09") + (source (origin + (method url-fetch) + (uri (string-append "https://gitlab.com/Molcas/OpenMolcas" + "/-/archive/v" version "/OpenMolcas-v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1krrkff5b4zp9ii1m9v3zzw8d99k72fcwwv3rif8cp10cpxi1wxl")) + (patches + ;; by default, pymolcas is installed in the first writable + ;; directory in the user's PATH. This patch places it in the + ;; bin directory alongside the other OpenMolcas binaries. + ;; The default search for the OpenBLAS library is obviated and + ;; the path is supplied as an argument to CMake. + (search-patches "openmolcas-pymolcas-openblas.patch")))) + (build-system cmake-build-system) + (arguments + `(#:build-type "Release" + #:configure-flags + (list "-DLINALG=OpenBLAS" + (string-append "-DOPENBLASROOT=" + (assoc-ref %build-inputs "blas")) + (string-append "-DLINALG_LIBRARIES=" + (assoc-ref %build-inputs "blas") + "/lib/libopenblas_ilp64.so")))) + (native-inputs + `(("fortran" ,gfortran) + ("ghostscript" ,ghostscript) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("python-pyparsing" ,python-pyparsing) + ("python-six" ,python-six) + ("texlive" ,texlive))) + (inputs + `(("hdf5" ,hdf5) + ("blas" ,openblas-ilp64))) + (home-page "https://gitlab.com/Molcas/OpenMolcas") + (synopsis "Multi-reference electronic structure theory program") + (description "OpenMolcas is a quantum chemistry software package developed +by scientists and intended to be used by scientists. It includes programs to +apply many different electronic structure methods to chemical systems, but its +key feature is the multiconfigurational approach, with methods like CASSCF and +CASPT2.") + (license license:lgpl2.1))) diff --git a/gnu/packages/patches/openmolcas-pymolcas-openblas.patch b/gnu/packages/patches/openmolcas-pymolcas-openblas.patch new file mode 100644 index 000000000..b18c62e05 --- /dev/null +++ b/gnu/packages/patches/openmolcas-pymolcas-openblas.patch @@ -0,1 +1,89 @@ +Allow bulds with openblas-ilp64. +Remove assumptions about $HOME. + +diff --git OpenMolcas-v18.09/CMakeLists.txt OpenMolcas-v18.09/CMakeLists.txt +index a4071fd..53d8df5 100644 +--- OpenMolcas-v18.09/CMakeLists.txt ++++ OpenMolcas-v18.09/CMakeLists.txt +@@ -1338,42 +1338,8 @@ if (LINALG STREQUAL "OpenBLAS") + endif () + + # search for the OpenBLAS library +- find_library (LIBOPENBLAS +- NAMES openblas +- PATHS ${OPENBLASROOT} +- PATH_SUFFIXES lib +- NO_DEFAULT_PATH) +- +- if (NOT LIBOPENBLAS) +- message (FATAL_ERROR +- "OpenBLAS library not found, please check that " +- "the OPENBLASROOT variable is set and points to " +- "a valid OpenBLAS installation directory." +- ) +- endif () +- +- # here we check if LIBOPENBLAS has changed after it was processed +- # succesfully, if not we do not need to rerun anything here. +- if (NOT LIBOPENBLAS STREQUAL LIBOPENBLAS_LAST) +- # check if the OpenBLAS library contains LAPACK functionality +- message ("-- Checking OpenBLAS for LAPACK functionality...") +- include(CheckFortranFunctionExists) +- set (CMAKE_REQUIRED_LIBRARIES ${LIBOPENBLAS}) +- unset (OPENBLAS_WITH_LAPACK CACHE) +- check_fortran_function_exists("dsyev" OPENBLAS_WITH_LAPACK) +- if (NOT OPENBLAS_WITH_LAPACK) +- unset (LIBOPENBLAS CACHE) +- message (FATAL_ERROR +- "LAPACK functionality missing from OpenBLAS library, " +- "please build OpenBLAS with NO_LAPACK=0 defined." +- ) +- endif () +- # save the last location to check if it changed between configurations +- set (LIBOPENBLAS_LAST ${LIBOPENBLAS} CACHE INTERNAL "last value." FORCE) +- endif () +- + add_definitions (-D_OPENBLAS_) +- set (LINALG_LIBRARIES ${LIBOPENBLAS}) ++ set (LINALG_LIBRARIES ${LINALG_LIBRARIES}) + else () + mark_as_advanced(FORCE OPENBLASROOT) + endif () +@@ -3167,11 +3168,10 @@ install (PROGRAMS + if (DEFINED PYMOLCAS_TARGET) + install (PROGRAMS + ${PYMOLCAS_TARGET} +- DESTINATION ${CMAKE_INSTALL_PREFIX}/sbin ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + RENAME pymolcas + ) + +- install (CODE "execute_process(COMMAND ${OPENMOLCAS_DIR}/sbin/install_pymolcas.sh ${PYMOLCAS_TARGET})") + endif () + + if (DEFINED EXTRA_DIR) +@@ -3188,9 +3189,5 @@ if (DEFINED EXTRA_DIR) + DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + ) + +- install (CODE "execute_process(COMMAND ${OPENMOLCAS_DIR}/sbin/install_driver.sh ${MOLCAS_DRIVER})") + endif () + +-if (IS_DIRECTORY "$ENV{HOME}/.Molcas") +- install (CODE "execute_process(COMMAND sh \"-c\" \"cd ${CMAKE_INSTALL_PREFIX}; echo `pwd` > $HOME/.Molcas/molcas 2> /dev/null\")") +-endif () +diff --git OpenMolcas-v18.09/Tools/pymolcas/CMakeLists.txt OpenMolcas-v18.09/Tools/pymolcas/CMakeLists.txt +index 0d576fa..f9ba6d7 100644 +--- OpenMolcas-v18.09/Tools/pymolcas/CMakeLists.txt ++++ OpenMolcas-v18.09/Tools/pymolcas/CMakeLists.txt +@@ -52,9 +52,5 @@ if (PYTHONINTERP_FOUND) + DEPENDS ${PYMOLCAS_TARGET} + ) + +- add_custom_command (TARGET pymolcas +- POST_BUILD +- COMMAND ${OPENMOLCAS_DIR}/sbin/install_pymolcas.sh ${PYMOLCAS_TARGET} +- ) + + endif () + -- 2.19.0
[openmolcas-v2.patch (text/x-diff, attachment)]
bug-guix <at> gnu.org
:bug#32691
; Package guix
.
(Mon, 17 Sep 2018 20:59:01 GMT) Full text and rfc822 format available.Message #14 received at 32691 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Eric Brown <brown <at> fastmail.com> Cc: 32691 <at> debbugs.gnu.org Subject: Re: bug#32691: OpenMolcas Date: Mon, 17 Sep 2018 22:58:22 +0200
[Message part 1 (text/plain, inline)]
Hi Eric, We’re almost there! :-) Eric Brown <brown <at> fastmail.com> skribis: > Thank you for your fixes! I've attached a revised patch. I'm well beyond > my comfort zone, so I hope it applies cleanly and works. > > The default location of pymolcas is a little sketchy, being placed in > the first writable location in PATH, and I believe will not be fixed > upstream: > > https://gitlab.com/Molcas/OpenMolcas/issues/70 > > I have added comments to the chemistry.scm file. I made small changes (moved comments about the patch at the top of the patch; switch to ‘texlive-union’, which is much smaller than ‘texlive’), leading to the attached patch. It’s all good, except that the file layout really doesn’t match the usual conventions: --8<---------------cut here---------------start------------->8--- $ find /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09 /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09 /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/basis_library /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/basis_library/TZ /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/basis_library/AUG-PC-4 [...] /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/sbin /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/sbin/help_basis /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/sbin/help_doc /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/lib /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/lib/libmolcas.a /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/bin /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/bin/ffpt.exe /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/bin/loprop.exe [...] /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/data/quater.prgm /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/data/rasscf.prgm /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/.molcasversion /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/molcas.rte /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/CONTRIBUTORS.md /gnu/store/6cj9n2rwsxwk582xqz2hxzlk520ghvm9-openmolcas-18.09/LICENSE --8<---------------cut here---------------end--------------->8--- Ideally basis_library/ and data/ would go under share/openmolcas, while CONTRIBUTORS.md and LICENSE would go to share/doc/openmolcas. Also, it would be nice to remove the ‘.exe’ extension. Do you think you could easily fiddle with CMake to fix these and/or report it upstream? I could apply the patch as is but I think users may not be pleased by this. WDYT? Thank you for your time, and sorry for the extra round trip! Ludo’.
[0001-gnu-Add-openmolcas.patch (text/x-patch, inline)]
From b4caef67aaae349e0aa77fc22517872ff8ca79cb Mon Sep 17 00:00:00 2001 From: Eric Brown <brown <at> fastmail.com> Date: Fri, 14 Sep 2018 09:27:35 -0500 Subject: [PATCH] gnu: Add openmolcas. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/chemistry.scm (openmolcas): New variable. * gnu/packages/patches/openmolcas-pymolcas-openblas.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès <ludo <at> gnu.org> --- gnu/local.mk | 1 + gnu/packages/chemistry.scm | 51 ++++++++++ .../openmolcas-pymolcas-openblas.patch | 92 +++++++++++++++++++ 3 files changed, 144 insertions(+) create mode 100644 gnu/packages/patches/openmolcas-pymolcas-openblas.patch diff --git a/gnu/local.mk b/gnu/local.mk index d37a193ad..4c5a1fbd4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1006,6 +1006,7 @@ dist_patch_DATA = \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openldap-CVE-2017-9287.patch \ + %D%/packages/patches/openmolcas-pymolcas-openblas.patch \ %D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/opensmtpd-fix-crash.patch \ %D%/packages/patches/openssl-runpath.patch \ diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index 03120aaee..bdb17c30d 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen <at> fastmail.net> ;;; Copyright © 2018 Kei Kebreau <kkebreau <at> posteo.net> +;;; Copyright © 2018 Eric Brown <brown <at> fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,12 +27,16 @@ #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) + #:use-module (gnu packages gcc) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages gv) #:use-module (gnu packages maths) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages qt) + #:use-module (gnu packages tex) #:use-module (gnu packages xml) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) @@ -322,3 +327,49 @@ chemical data. It's a collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas.") (license license:gpl2))) + +(define-public openmolcas + (package + (name "openmolcas") + (version "18.09") + (source (origin + (method url-fetch) + (uri (string-append "https://gitlab.com/Molcas/OpenMolcas" + "/-/archive/v" version "/OpenMolcas-v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1krrkff5b4zp9ii1m9v3zzw8d99k72fcwwv3rif8cp10cpxi1wxl")) + (patches + (search-patches "openmolcas-pymolcas-openblas.patch")))) + (build-system cmake-build-system) + (arguments + `(#:build-type "Release" + #:configure-flags + (list "-DLINALG=OpenBLAS" + (string-append "-DOPENBLASROOT=" + (assoc-ref %build-inputs "blas")) + (string-append "-DLINALG_LIBRARIES=" + (assoc-ref %build-inputs "blas") + "/lib/libopenblas_ilp64.so")))) + (native-inputs + `(("fortran" ,gfortran) + ("ghostscript" ,ghostscript) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("python-pyparsing" ,python-pyparsing) + ("python-six" ,python-six) + ("texlive" ,(texlive-union)))) + (inputs + `(("hdf5" ,hdf5) + ("blas" ,openblas-ilp64))) + (home-page "https://gitlab.com/Molcas/OpenMolcas") + (synopsis "Multi-reference electronic structure theory program") + (description "OpenMolcas is a quantum chemistry software package developed +by scientists and intended to be used by scientists. It includes programs to +apply many different electronic structure methods to chemical systems, but its +key feature is the multiconfigurational approach, with methods like CASSCF and +CASPT2.") + (license license:lgpl2.1))) diff --git a/gnu/packages/patches/openmolcas-pymolcas-openblas.patch b/gnu/packages/patches/openmolcas-pymolcas-openblas.patch new file mode 100644 index 000000000..84f348721 --- /dev/null +++ b/gnu/packages/patches/openmolcas-pymolcas-openblas.patch @@ -0,0 +1,92 @@ +By default, pymolcas is installed in the first writable directory in the +user's PATH. This patch places it in the bin/ directory alongside the other +OpenMolcas binaries. + +The default search for the OpenBLAS library is obviated and the directory name +is supplied as an argument to CMake. + +diff --git OpenMolcas-v18.09/CMakeLists.txt OpenMolcas-v18.09/CMakeLists.txt +index a4071fd..53d8df5 100644 +--- OpenMolcas-v18.09/CMakeLists.txt ++++ OpenMolcas-v18.09/CMakeLists.txt +@@ -1338,42 +1338,8 @@ if (LINALG STREQUAL "OpenBLAS") + endif () + + # search for the OpenBLAS library +- find_library (LIBOPENBLAS +- NAMES openblas +- PATHS ${OPENBLASROOT} +- PATH_SUFFIXES lib +- NO_DEFAULT_PATH) +- +- if (NOT LIBOPENBLAS) +- message (FATAL_ERROR +- "OpenBLAS library not found, please check that " +- "the OPENBLASROOT variable is set and points to " +- "a valid OpenBLAS installation directory." +- ) +- endif () +- +- # here we check if LIBOPENBLAS has changed after it was processed +- # succesfully, if not we do not need to rerun anything here. +- if (NOT LIBOPENBLAS STREQUAL LIBOPENBLAS_LAST) +- # check if the OpenBLAS library contains LAPACK functionality +- message ("-- Checking OpenBLAS for LAPACK functionality...") +- include(CheckFortranFunctionExists) +- set (CMAKE_REQUIRED_LIBRARIES ${LIBOPENBLAS}) +- unset (OPENBLAS_WITH_LAPACK CACHE) +- check_fortran_function_exists("dsyev" OPENBLAS_WITH_LAPACK) +- if (NOT OPENBLAS_WITH_LAPACK) +- unset (LIBOPENBLAS CACHE) +- message (FATAL_ERROR +- "LAPACK functionality missing from OpenBLAS library, " +- "please build OpenBLAS with NO_LAPACK=0 defined." +- ) +- endif () +- # save the last location to check if it changed between configurations +- set (LIBOPENBLAS_LAST ${LIBOPENBLAS} CACHE INTERNAL "last value." FORCE) +- endif () +- + add_definitions (-D_OPENBLAS_) +- set (LINALG_LIBRARIES ${LIBOPENBLAS}) ++ set (LINALG_LIBRARIES ${LINALG_LIBRARIES}) + else () + mark_as_advanced(FORCE OPENBLASROOT) + endif () +@@ -3167,11 +3168,10 @@ install (PROGRAMS + if (DEFINED PYMOLCAS_TARGET) + install (PROGRAMS + ${PYMOLCAS_TARGET} +- DESTINATION ${CMAKE_INSTALL_PREFIX}/sbin ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + RENAME pymolcas + ) + +- install (CODE "execute_process(COMMAND ${OPENMOLCAS_DIR}/sbin/install_pymolcas.sh ${PYMOLCAS_TARGET})") + endif () + + if (DEFINED EXTRA_DIR) +@@ -3188,9 +3189,5 @@ if (DEFINED EXTRA_DIR) + DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + ) + +- install (CODE "execute_process(COMMAND ${OPENMOLCAS_DIR}/sbin/install_driver.sh ${MOLCAS_DRIVER})") + endif () + +-if (IS_DIRECTORY "$ENV{HOME}/.Molcas") +- install (CODE "execute_process(COMMAND sh \"-c\" \"cd ${CMAKE_INSTALL_PREFIX}; echo `pwd` > $HOME/.Molcas/molcas 2> /dev/null\")") +-endif () +diff --git OpenMolcas-v18.09/Tools/pymolcas/CMakeLists.txt OpenMolcas-v18.09/Tools/pymolcas/CMakeLists.txt +index 0d576fa..f9ba6d7 100644 +--- OpenMolcas-v18.09/Tools/pymolcas/CMakeLists.txt ++++ OpenMolcas-v18.09/Tools/pymolcas/CMakeLists.txt +@@ -52,9 +52,5 @@ if (PYTHONINTERP_FOUND) + DEPENDS ${PYMOLCAS_TARGET} + ) + +- add_custom_command (TARGET pymolcas +- POST_BUILD +- COMMAND ${OPENMOLCAS_DIR}/sbin/install_pymolcas.sh ${PYMOLCAS_TARGET} +- ) + + endif () -- 2.18.0
bug-guix <at> gnu.org
:bug#32691
; Package guix
.
(Thu, 20 Sep 2018 00:14:02 GMT) Full text and rfc822 format available.Message #17 received at 32691 <at> debbugs.gnu.org (full text, mbox):
From: Eric Brown <brown <at> fastmail.com> To: ludo <at> gnu.org (Ludovic Courtès) Cc: 32691 <at> debbugs.gnu.org Subject: Re: bug#32691: OpenMolcas Date: Wed, 19 Sep 2018 19:13:40 -0500
ludo <at> gnu.org (Ludovic Courtès) writes: > Hi Eric, > > We’re almost there! :-) > > I made small changes (moved comments about the patch at the top of the > patch; switch to ‘texlive-union’, which is much smaller than ‘texlive’), > leading to the attached patch. > > It’s all good, except that the file layout really doesn’t match the > usual conventions: > > [...] > > Ideally basis_library/ and data/ would go under share/openmolcas, while > CONTRIBUTORS.md and LICENSE would go to share/doc/openmolcas. Also, it > would be nice to remove the ‘.exe’ extension. > > Do you think you could easily fiddle with CMake to fix these and/or > report it upstream? I could apply the patch as is but I think users may > not be pleased by this. WDYT? > > Thank you for your time, and sorry for the extra round trip! Hi Ludo', Thank you again. Indeed, "/" gets littered with some files that out to go into share. This has been noted in discussions upstream. Though we've put a bunch of work into this, I think it would be good to pause and see if we can make some of these changes upstream, as you suggest. (Also I need some time to brush up on CMake -- perhaps I can contribute some of these changes myself.) Warm regards, Eric
bug-guix <at> gnu.org
:bug#32691
; Package guix
.
(Fri, 21 Sep 2018 11:23:01 GMT) Full text and rfc822 format available.Message #20 received at 32691 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Eric Brown <brown <at> fastmail.com> Cc: 32691 <at> debbugs.gnu.org Subject: Re: bug#32691: OpenMolcas Date: Fri, 21 Sep 2018 13:22:36 +0200
Hi Eric, Eric Brown <brown <at> fastmail.com> skribis: > ludo <at> gnu.org (Ludovic Courtès) writes: [...] >> Ideally basis_library/ and data/ would go under share/openmolcas, while >> CONTRIBUTORS.md and LICENSE would go to share/doc/openmolcas. Also, it >> would be nice to remove the ‘.exe’ extension. >> >> Do you think you could easily fiddle with CMake to fix these and/or >> report it upstream? I could apply the patch as is but I think users may >> not be pleased by this. WDYT? >> >> Thank you for your time, and sorry for the extra round trip! > > Hi Ludo', > > Thank you again. Indeed, "/" gets littered with some files that out to > go into share. This has been noted in discussions upstream. > > Though we've put a bunch of work into this, I think it would be good to > pause and see if we can make some of these changes upstream, as you > suggest. Sounds good, let us know how it goes. Thanks, Ludo’.
bug-guix <at> gnu.org
:bug#32691
; Package guix
.
(Mon, 13 Sep 2021 08:02:01 GMT) Full text and rfc822 format available.Message #23 received at 32691 <at> debbugs.gnu.org (full text, mbox):
From: Sarah Morgensen <iskarian <at> mgsn.dev> To: Eric Brown <brown <at> fastmail.com> Cc: 32691 <at> debbugs.gnu.org Subject: Re: bug#32691: OpenMolcas Date: Mon, 13 Sep 2021 01:01:36 -0700
Hello Eric, Eric Brown <brown <at> fastmail.com> writes: > ludo <at> gnu.org (Ludovic Courtès) writes: > >> Hi Eric, >> >> We’re almost there! :-) >> >> I made small changes (moved comments about the patch at the top of the >> patch; switch to ‘texlive-union’, which is much smaller than ‘texlive’), >> leading to the attached patch. >> >> It’s all good, except that the file layout really doesn’t match the >> usual conventions: >> >> [...] >> >> Ideally basis_library/ and data/ would go under share/openmolcas, while >> CONTRIBUTORS.md and LICENSE would go to share/doc/openmolcas. Also, it >> would be nice to remove the ‘.exe’ extension. >> >> Do you think you could easily fiddle with CMake to fix these and/or >> report it upstream? I could apply the patch as is but I think users may >> not be pleased by this. WDYT? >> >> Thank you for your time, and sorry for the extra round trip! > > Hi Ludo', > > Thank you again. Indeed, "/" gets littered with some files that out to > go into share. This has been noted in discussions upstream. > > Though we've put a bunch of work into this, I think it would be good to > pause and see if we can make some of these changes upstream, as you > suggest. > > (Also I need some time to brush up on CMake -- perhaps I can contribute > some of these changes myself.) > > Warm regards, > Eric Thanks for all your work on this package. Did you ever make further progress on this? Are you still interested in working on getting OpenMolcas in Guix? -- Sarah
bug-guix <at> gnu.org
:bug#32691
; Package guix
.
(Mon, 13 Sep 2021 12:54:01 GMT) Full text and rfc822 format available.Message #26 received at 32691 <at> debbugs.gnu.org (full text, mbox):
From: Eric Brown <ecbrown <at> ericcbrown.com> To: Sarah Morgensen <iskarian <at> mgsn.dev> Cc: Eric Brown <brown <at> fastmail.com>, 32691 <at> debbugs.gnu.org Subject: Re: bug#32691: OpenMolcas Date: Mon, 13 Sep 2021 07:53:43 -0500
> On Sep 13, 2021, at 3:01 AM, Sarah Morgensen <iskarian <at> mgsn.dev> wrote: > > > Thanks for all your work on this package. Did you ever make further > progress on this? Are you still interested in working on getting > OpenMolcas in Guix? > > — > Sarah Hi Sarah, I have made a new port from scratch, which I am testing currently. It can be found here: (channel (name 'ecbrown-guix) (url "https://ericcbrown.com/ecbrown/ecbrown-guix.git") (introduction (make-channel-introduction "72e02daa4cf59a5e591387e299729f2509128b58" (openpgp-fingerprint "AA5F 523D FD6D 0478 8505 6A7D C1D5 F8F0 85BF 4CF3")))) I would appreciate any help that you might provide! Best regards, Eric
bug-guix <at> gnu.org
:bug#32691
; Package guix
.
(Sat, 25 Sep 2021 01:16:02 GMT) Full text and rfc822 format available.Message #29 received at 32691 <at> debbugs.gnu.org (full text, mbox):
From: Sarah Morgensen <iskarian <at> mgsn.dev> To: Eric Brown <ecbrown <at> ericcbrown.com> Cc: 32691 <at> debbugs.gnu.org Subject: Re: bug#32691: OpenMolcas Date: Fri, 24 Sep 2021 18:15:52 -0700
Hi Eric, Eric Brown <ecbrown <at> ericcbrown.com> writes: >> On Sep 13, 2021, at 3:01 AM, Sarah Morgensen <iskarian <at> mgsn.dev> wrote: >> >> >> Thanks for all your work on this package. Did you ever make further >> progress on this? Are you still interested in working on getting >> OpenMolcas in Guix? >> >> — >> Sarah > > Hi Sarah, > > I have made a new port from scratch, which I am testing currently. It can be found here: > > (channel > (name 'ecbrown-guix) > (url "https://ericcbrown.com/ecbrown/ecbrown-guix.git") > (introduction > (make-channel-introduction > "72e02daa4cf59a5e591387e299729f2509128b58" > (openpgp-fingerprint > "AA5F 523D FD6D 0478 8505 6A7D C1D5 F8F0 85BF 4CF3")))) > > I would appreciate any help that you might provide! > > Best regards, > Eric I'm glad to see that you've continued to work on this! I took a look at your definition and the package it builds, and I'll start with two things: Syntactically, you can do something like this in your extra phase: (let* ((out (assoc-ref outputs "out")) (share (string-append out "/share/openmolcas"))) (mkdir-p share) (for-each (lambda (file) (rename-file file (string-append share "/" file))) '("LICENSE" "data" ...)) and to symlink (like you allude to in the phase name): (symlink target name) Looking at the actual package, it looks like there are several ".exe" executables (which are actually ELF and runnable on Linux?) along with matching ".prgm" files which (it looks like) are required to load and run the executables. Are these part of OpenMolcas itself, or are they examples or something? It would be best if we can avoid putting architecture-specific files (that is, executables) in "/share". Finally, rather than propagating python inputs, we can probably use the 'wrap' phase from python-build-system. Adding that is a bit more complex, but you can look at the 'nncp' package for an example of how this is done (it uses gnu-build-system, but takes phases from go-build-system). Okay, that was three things, but what can you do? :) -- Sarah
bug-guix <at> gnu.org
:bug#32691
; Package guix
.
(Sun, 27 Aug 2023 08:55:02 GMT) Full text and rfc822 format available.Message #32 received at 32691 <at> debbugs.gnu.org (full text, mbox):
From: Andreas Enge <andreas <at> enge.fr> To: 32691 <at> debbugs.gnu.org Subject: Progress Date: Sun, 27 Aug 2023 10:53:57 +0200
Hello, has there been any progress on this? Is there a way forward, or should we close the issue? Andreas
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.