mirror of
https://github.com/LCPQ/quantum_package
synced 2024-12-23 04:43:50 +01:00
commit
4dbb2a1a1a
@ -10,7 +10,7 @@ before_script:
|
||||
- sudo apt-get install graphviz
|
||||
|
||||
script:
|
||||
- ./setup_environment.sh --robot
|
||||
- ./setup_environment.py
|
||||
- source ./quantum_package.rc
|
||||
- qp_create_ninja.py --production ./config/gfortran_example.cfg
|
||||
- ninja
|
||||
|
@ -12,11 +12,11 @@ The script to create the dependencies file (aka `build.ninja`) is `create_ninja_
|
||||
|
||||
## Compilation Flag
|
||||
|
||||
You need to specify all the flag useful for the compilation: like the optimization one, the mkl one .``$QPACKAGE_ROOT/config`` contains ``ifort.cfg`` and ``gfortran.cfg`` files which have the compiler flags that will be used to compile the code. You can edit these files to modify the compiling option. Put the file path when calling `create_ninja_build.py`
|
||||
You need to specify all the flag useful for the compilation: like the optimization one, the mkl one .``$QP_ROOT/config`` contains ``ifort.cfg`` and ``gfortran.cfg`` files which have the compiler flags that will be used to compile the code. You can edit these files to modify the compiling option. Put the file path when calling `create_ninja_build.py`
|
||||
|
||||
## Example to create the Ninja file
|
||||
|
||||
`create_ninja_build.py --production $QPACKAGE_ROOT/config/ifort.cfg`
|
||||
`create_ninja_build.py --production $QP_ROOT/config/ifort.cfg`
|
||||
|
||||
# WARNING
|
||||
|
||||
@ -24,8 +24,8 @@ For now reload this command if you add a `IRP.f90` or `EZFIO.cfg` file or modify
|
||||
|
||||
## Compile
|
||||
|
||||
Just type `ninja` if you are in `$QPACKAGE_ROOT` (or `ninja -f $QPACKAGE_ROOT/build.ninja` elsewhere). The compilation will take approximately 3 min.
|
||||
Just type `ninja` if you are in `$QP_ROOT` (or `ninja -f $QP_ROOT/build.ninja` elsewhere). The compilation will take approximately 3 min.
|
||||
|
||||
If you have set the `--developement` flag in a specific module you can go in the corresponding IRPF90_temp and run `ninja` to only make the module and submodule binaries. (You can use the `-f` option too)
|
||||
|
||||
Now go in `$QPACKAGE_ROOT/ocaml` and type `make`
|
||||
Now go in `$QP_ROOT/ocaml` and type `make`
|
||||
|
@ -1,7 +0,0 @@
|
||||
all: executables
|
||||
|
||||
.PHONY: executables
|
||||
|
||||
executables:
|
||||
cd $(QPACKAGE_ROOT)/src ; $(MAKE) executables
|
||||
mv $(QPACKAGE_ROOT)/src/executables .
|
@ -1,17 +1,17 @@
|
||||
# `ei_handler.py`
|
||||
|
||||
This script in located in `$QPACKAGE_ROOT/scripts/ezfio_interface/`.
|
||||
This script in located in `$QP_ROOT/scripts/ezfio_interface/`.
|
||||
It provide all the resource need to deal with the `EZFIO.cfg` files :
|
||||
- The creation of `$MODULE_LOWER_ezfio_config` in `$QPACKAGE_ROOT/ezfio/config`
|
||||
- The creation of `$MODULE_LOWER_ezfio_config` in `$QP_ROOT/ezfio/config`
|
||||
- The `ezfio_interface.irp.f` who containt all the provider associate (in `$MODULE/`)
|
||||
- The `$MODULE_LOWER_ezfio_defaults` in `$QPACKAGE_ROOT/data/`
|
||||
- The `$MODULE_LOWER_ezfio_defaults` in `$QP_ROOT/data/`
|
||||
- The `Input_$MODULE_LOWER.ml` for the *qp_edit*
|
||||
|
||||
For more information you can type `ei_handler.py -h`
|
||||
|
||||
# `module_handler.py`
|
||||
|
||||
This script in located in `$QPACKAGE_ROOT/scripts/module/`.
|
||||
This script in located in `$QP_ROOT/scripts/module/`.
|
||||
It provide all the resource related to the tree dependancy of the modules.
|
||||
If more useful as a librairy than a cli.
|
||||
|
||||
@ -23,19 +23,21 @@ It have some usefull property:
|
||||
- The dict of the root
|
||||
- The list reduced tree (For a list of module in input return only the root)
|
||||
|
||||
For tree syntax you can check http://en.wikipedia.org/wiki/Tree_%28data_structure%29#Terminologies_used_in_Trees
|
||||
|
||||
In the cli mode:
|
||||
- From a `NEEDED_CHILDREN_MODULE` file you can have all the descendant, and a png
|
||||
representation who correspond.
|
||||
|
||||
|
||||
# `qp_install_module.py`
|
||||
This script is located in `$QPACKAGE_ROOT/scripts/module/`.
|
||||
This script is located in `$QP_ROOT/scripts/module/`.
|
||||
|
||||
It is usefull when you need to install a new module. (From the soon to come repo or from scratch).
|
||||
|
||||
# `qp_create_ninja.py`
|
||||
|
||||
This script is located in `$QPACKAGE_ROOT/scripts/compilation/`.
|
||||
This script is located in `$QP_ROOT/scripts/compilation/`.
|
||||
It will create the `build.ninja` file. It will use intersifly the `module_handler.py` module.
|
||||
|
||||
To read all the flag for the compilation the module `read_compilation_cfg.py` is used.
|
||||
|
0
install/Downloads/.gitignore
vendored
Normal file
0
install/Downloads/.gitignore
vendored
Normal file
0
install/_build/.gitignore
vendored
Normal file
0
install/_build/.gitignore
vendored
Normal file
10
install/scripts/build.sh
Executable file
10
install/scripts/build.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash -x
|
||||
# This script should be included
|
||||
|
||||
BUILD=_build/${TARGET}
|
||||
rm -rf -- ${BUILD}
|
||||
mkdir ${BUILD} || exit 1
|
||||
tar -zxf Downloads/${TARGET}.tar.gz --strip-components=1 --directory=${BUILD} || exit 1
|
||||
_install || exit 1
|
||||
rm -rf -- ${BUILD} _build/${TARGET}.log
|
||||
exit 0
|
19
install/scripts/install_curl.sh
Executable file
19
install/scripts/install_curl.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash -x
|
||||
TARGET=curl
|
||||
|
||||
function _install()
|
||||
{
|
||||
cd ..
|
||||
QP_ROOT=$PWD
|
||||
cd -
|
||||
cd ${BUILD} || return 1
|
||||
mv curl.ermine ${QP_ROOT}/bin/curl || return 1
|
||||
}
|
||||
|
||||
BUILD=_build/${TARGET}
|
||||
rm -rf -- ${BUILD}
|
||||
mkdir ${BUILD} || exit 1
|
||||
tar -xvjf Downloads/${TARGET}.tar.bz2 --strip-components=1 --directory=${BUILD} || exit 1
|
||||
_install || exit 1
|
||||
rm -rf -- ${BUILD} _build/${TARGET}.log
|
||||
exit 0
|
10
install/scripts/install_docopt.sh
Executable file
10
install/scripts/install_docopt.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
TARGET=docopt
|
||||
|
||||
function _install()
|
||||
{
|
||||
cp -R ${BUILD} . || exit 1
|
||||
}
|
||||
|
||||
source scripts/build.sh
|
10
install/scripts/install_emsl.sh
Executable file
10
install/scripts/install_emsl.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
TARGET=emsl
|
||||
|
||||
function _install()
|
||||
{
|
||||
cp -R ${BUILD} . || exit 1
|
||||
}
|
||||
|
||||
source scripts/build.sh
|
16
install/scripts/install_ezfio.sh
Executable file
16
install/scripts/install_ezfio.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
TARGET=ezfio
|
||||
|
||||
function _install()
|
||||
{
|
||||
cd ..
|
||||
QP_ROOT=$PWD
|
||||
cd -
|
||||
rm -rf ${QP_ROOT}/EZFIO
|
||||
cd ${BUILD}/config || return 1
|
||||
cd -
|
||||
mv ${BUILD} ${QP_ROOT}/install/EZFIO || return 1
|
||||
}
|
||||
|
||||
source scripts/build.sh
|
24
install/scripts/install_irpf90.sh
Executable file
24
install/scripts/install_irpf90.sh
Executable file
@ -0,0 +1,24 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
TARGET=irpf90
|
||||
function _install()
|
||||
{
|
||||
cd ..
|
||||
QP_ROOT=$PWD
|
||||
cd -
|
||||
|
||||
make -C ${BUILD} || return 1
|
||||
rm -rf -- ./irpf90
|
||||
mv ${BUILD} . || return 1
|
||||
[[ -x ./irpf90/bin/irpf90 ]] || return 1
|
||||
[[ -x ./irpf90/bin/irpman ]] || return 1
|
||||
rm -rf -- ../bin/irpf90 ../bin/irpman
|
||||
echo 'exec ${QP_ROOT}/install/irpf90/bin/irpf90 $@' > ../bin/irpf90 || return 1
|
||||
echo 'exec ${QP_ROOT}/install/irpf90/bin/irpman $@' > ../bin/irpman || return 1
|
||||
chmod +x ../bin/irpf90 ../bin/irpman || return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
source scripts/build.sh
|
||||
|
||||
|
15
install/scripts/install_m4.sh
Executable file
15
install/scripts/install_m4.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
TARGET=m4
|
||||
|
||||
function _install()
|
||||
{
|
||||
cd ..
|
||||
QP_ROOT=$PWD
|
||||
cd -
|
||||
cd ${BUILD}
|
||||
./configure && make || exit 1
|
||||
ln -sf ${PWD}/src/m4 ${QP_ROOT}/bin || exit 1
|
||||
}
|
||||
|
||||
source scripts/build.sh
|
14
install/scripts/install_ninja.sh
Executable file
14
install/scripts/install_ninja.sh
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
TARGET=ninja
|
||||
|
||||
function _install()
|
||||
{
|
||||
cd ${BUILD} || return 1
|
||||
./configure.py --bootstrap || return 1
|
||||
cd -
|
||||
mv ${BUILD}/ninja ../bin/ || return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
source scripts/build.sh
|
39
install/scripts/install_ocaml.sh
Executable file
39
install/scripts/install_ocaml.sh
Executable file
@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
cd ..
|
||||
QP_ROOT=$PWD
|
||||
cd -
|
||||
|
||||
# Normal installation
|
||||
PACKAGES="core cryptokit ocamlfind sexplib"
|
||||
|
||||
declare -i i
|
||||
i=$(gcc -dumpversion | cut -d '.' -f 2)
|
||||
if [[ i -lt 6 ]]
|
||||
then
|
||||
echo "GCC version $(gcc -dumpversion) too old. GCC >= 4.6 required."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -d ${HOME}/.opam ]]
|
||||
then
|
||||
source ${HOME}/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true
|
||||
fi
|
||||
|
||||
cd Downloads || exit 1
|
||||
chmod +x ocaml.sh || exit 1
|
||||
|
||||
echo N | ./ocaml.sh ${QP_ROOT}/bin/ || exit 1
|
||||
|
||||
${QP_ROOT}/bin/opam config setup -a -q || exit 1
|
||||
|
||||
export LD_LIBRARY_PATH=${QP_ROOT}/lib:${LD_LIBRARY_PATH}
|
||||
export LIBRARY_PATH=${QP_ROOT}/lib:${LIBRARY_PATH}
|
||||
export C_INCLUDE_PATH=${QP_ROOT}/lib:${C_INCLUDE_PATH}
|
||||
source ${HOME}/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true
|
||||
|
||||
${QP_ROOT}/bin/opam install ${PACKAGES} -y -q || exit 1
|
||||
rm -f ../_build/ocaml.log
|
||||
exit 0
|
||||
|
||||
|
19
install/scripts/install_patch.sh
Executable file
19
install/scripts/install_patch.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
TARGET=patch
|
||||
|
||||
function _install()
|
||||
{
|
||||
mkdir ${TARGET}
|
||||
cd ..
|
||||
QP_ROOT=$PWD
|
||||
cd -
|
||||
cd ${BUILD}
|
||||
./configure --prefix=${QP_ROOT}/install/${TARGET} && make || exit 1
|
||||
make install || exit 1
|
||||
cd -
|
||||
cp ${TARGET}/bin/${TARGET} ${QP_ROOT}/bin || exit 1
|
||||
rm -R -- ${TARGET} || exit 1
|
||||
}
|
||||
|
||||
source scripts/build.sh
|
11
install/scripts/install_resultsFile.sh
Executable file
11
install/scripts/install_resultsFile.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
TARGET=resultsFile
|
||||
|
||||
function _install()
|
||||
{
|
||||
cp -R ${BUILD} . || exit 1
|
||||
}
|
||||
|
||||
source scripts/build.sh
|
||||
|
19
install/scripts/install_zlib.sh
Executable file
19
install/scripts/install_zlib.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
TARGET=zlib
|
||||
|
||||
function _install()
|
||||
{
|
||||
rm -rf -- ${TARGET}
|
||||
mkdir ${TARGET} || exit 1
|
||||
cd ..
|
||||
QP_ROOT=$PWD
|
||||
cd -
|
||||
cd ${BUILD}
|
||||
./configure && make || exit 1
|
||||
make install prefix=$QP_ROOT/install/${TARGET} || exit 1
|
||||
ln -s -f $QP_ROOT/install/${TARGET}/lib/libz.so $QP_ROOT/lib || exit 1
|
||||
ln -s -f $QP_ROOT/install/${TARGET}/lib/libz.a $QP_ROOT/lib || exit 1
|
||||
}
|
||||
|
||||
source scripts/build.sh
|
0
lib/.gitignore
vendored
Normal file
0
lib/.gitignore
vendored
Normal file
@ -1,9 +1,9 @@
|
||||
.NOPARALLEL:
|
||||
|
||||
# Check if QPACKAGE_ROOT is defined
|
||||
ifndef QPACKAGE_ROOT
|
||||
# Check if QP_ROOT is defined
|
||||
ifndef QP_ROOT
|
||||
$(info -------------------- Error --------------------)
|
||||
$(info QPACKAGE_ROOT undefined. Source the quantum_package.rc script)
|
||||
$(info QP_ROOT undefined. Source the quantum_package.rc script)
|
||||
$(info -----------------------------------------------)
|
||||
$(error )
|
||||
endif
|
||||
@ -32,10 +32,10 @@ default: $(ALL_TESTS) $(ALL_EXE) .gitignore
|
||||
echo $$i ; \
|
||||
done > .gitignore
|
||||
|
||||
executables: $(QPACKAGE_ROOT)/data/executables
|
||||
executables: $(QP_ROOT)/data/executables
|
||||
|
||||
$(QPACKAGE_ROOT)/data/executables:
|
||||
$(QPACKAGE_ROOT)/scripts/module/create_executables_list.sh
|
||||
$(QP_ROOT)/data/executables:
|
||||
$(QP_ROOT)/scripts/module/create_executables_list.sh
|
||||
|
||||
external_libs:
|
||||
opam install cryptokit core
|
||||
@ -62,8 +62,8 @@ qp_run.native: $(MLFILES) $(MLIFILES) executables
|
||||
$(OCAMLBUILD) $*.native -use-ocamlfind $(PKGS)
|
||||
ln -s $*.native $*
|
||||
|
||||
ezfio.ml: ${QPACKAGE_ROOT}/EZFIO/Ocaml/ezfio.ml
|
||||
cp ${QPACKAGE_ROOT}/EZFIO/Ocaml/ezfio.ml .
|
||||
ezfio.ml: ${QP_ROOT}/install/EZFIO/Ocaml/ezfio.ml
|
||||
cp ${QP_ROOT}/install/EZFIO/Ocaml/ezfio.ml .
|
||||
|
||||
qptypes_generator.byte: qptypes_generator.ml
|
||||
$(OCAMLBUILD) qptypes_generator.byte -use-ocamlfind
|
||||
@ -71,8 +71,8 @@ qptypes_generator.byte: qptypes_generator.ml
|
||||
Qptypes.ml: qptypes_generator.byte
|
||||
./qptypes_generator.byte > Qptypes.ml
|
||||
|
||||
${QPACKAGE_ROOT}/EZFIO/Ocaml/ezfio.ml:
|
||||
$(MAKE) -C ${QPACKAGE_ROOT}/src ezfio
|
||||
${QP_ROOT}/install/EZFIO/Ocaml/ezfio.ml:
|
||||
$(MAKE) -C ${QP_ROOT}/install/src ezfio
|
||||
|
||||
Input_auto_generated.ml qp_edit.ml:
|
||||
ei_handler.py ocaml_global
|
||||
|
@ -5,8 +5,8 @@ open Qputils;;
|
||||
(** Variables related to the quantum package installation *)
|
||||
|
||||
let root =
|
||||
match (Sys.getenv "QPACKAGE_ROOT") with
|
||||
| None -> failwith "QPACKAGE_ROOT environment variable is not set.
|
||||
match (Sys.getenv "QP_ROOT") with
|
||||
| None -> failwith "QP_ROOT environment variable is not set.
|
||||
Please source the quantum_package.rc file."
|
||||
| Some x -> x
|
||||
;;
|
||||
@ -59,7 +59,7 @@ let executables = lazy (
|
||||
|> List.filter ~f:(fun x -> x <> "")
|
||||
in
|
||||
match e with
|
||||
| [a;b] -> (a,String.substr_replace_all ~pattern:"$QPACKAGE_ROOT" ~with_:root b)
|
||||
| [a;b] -> (a,String.substr_replace_all ~pattern:"$QP_ROOT" ~with_:root b)
|
||||
| _ -> ("","")
|
||||
)
|
||||
in
|
||||
|
@ -1,62 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
import sys
|
||||
import shelve
|
||||
import hashlib
|
||||
import re
|
||||
|
||||
r = re.compile(ur'-c\s+(\S+\.[fF]90)\s+-o\s+(\S+\.o)')
|
||||
p = re.compile(ur'-I IRPF90_temp/\S*\s+')
|
||||
mod = re.compile(ur'module\s+(?P<mod>\S+).+end\s?module\s+(?P=mod)?', re.MULTILINE | re.IGNORECASE)
|
||||
|
||||
TMPDIR="/tmp/qp_compiler/"
|
||||
|
||||
def main():
|
||||
# Create temp directory
|
||||
if "qp_compiler" not in os.listdir("/tmp"):
|
||||
os.mkdir("/tmp/qp_compiler/")
|
||||
|
||||
line = sys.argv[1:]
|
||||
command = " ".join(line)
|
||||
command_clean = p.sub('',command)
|
||||
|
||||
try:
|
||||
match = r.search(command_clean)
|
||||
input = match.group(1)
|
||||
output = match.group(2)
|
||||
except:
|
||||
os.system(command)
|
||||
return
|
||||
m = hashlib.md5()
|
||||
|
||||
# Fread : read input
|
||||
with open(input,'r') as file:
|
||||
fread = file.read()
|
||||
m.update( " ".join( [ command, fread ] ))
|
||||
|
||||
# Md5 Key containing command + content of Fread
|
||||
key = TMPDIR+m.hexdigest()
|
||||
try:
|
||||
# Try to return the content of the .o file
|
||||
with open(key,'r') as file:
|
||||
result = file.read()
|
||||
except IOError:
|
||||
# Compile the file -> .o
|
||||
os.system(command)
|
||||
# Read the .o
|
||||
with open(output,'r') as file:
|
||||
result = file.read()
|
||||
# Copy the .o in database
|
||||
if not mod.search(fread.replace('\n',' ')):
|
||||
with open(key,'w') as file:
|
||||
file.write(result)
|
||||
else:
|
||||
print input+' -> module'
|
||||
else:
|
||||
# Write the .o file
|
||||
with open(output,'w') as file:
|
||||
file.write(result)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
@ -104,5 +104,5 @@ if __name__ == '__main__':
|
||||
|
||||
try:
|
||||
cache_utility(command)
|
||||
except:
|
||||
except OSError:
|
||||
process = subprocess.Popen(command, shell=True)
|
||||
|
@ -24,11 +24,11 @@ except ImportError:
|
||||
# \_| | (_) |_) (_| | \/ (_| | | (_| |_) | (/_ _>
|
||||
#
|
||||
|
||||
QPACKAGE_ROOT = os.environ['QPACKAGE_ROOT']
|
||||
QPACKAGE_ROOT_SRC = join(QPACKAGE_ROOT, 'src')
|
||||
QPACKAGE_ROOT_EZFIO = join(QPACKAGE_ROOT, 'EZFIO')
|
||||
QP_ROOT = os.environ['QP_ROOT']
|
||||
QP_ROOT_SRC = join(QP_ROOT, 'src')
|
||||
QP_ROOT_EZFIO = join(QP_ROOT, 'install', 'EZFIO')
|
||||
|
||||
EZFIO_LIB = join(QPACKAGE_ROOT_EZFIO, "lib", "libezfio.a")
|
||||
EZFIO_LIB = join(QP_ROOT, "lib", "libezfio.a")
|
||||
|
||||
#
|
||||
# |\ | _. ._ _ _ _| _|_ ._ | _
|
||||
@ -57,8 +57,7 @@ def ninja_create_env_variable(pwd_config_file):
|
||||
l_string.append(str_)
|
||||
|
||||
lib_lapack = get_compilation_option(pwd_config_file, "LAPACK_LIB")
|
||||
lib_ezfio = join(QPACKAGE_ROOT_EZFIO, "lib", "libezfio_irp.a")
|
||||
l_string.append("{0} = {1} {2}".format("LIB", lib_lapack, lib_ezfio))
|
||||
l_string.append("{0} = {1} {2}".format("LIB", lib_lapack, EZFIO_LIB))
|
||||
|
||||
l_string.append("")
|
||||
|
||||
@ -76,14 +75,14 @@ def dict_module_genelogy_path(d_module_genelogy):
|
||||
"""
|
||||
d = dict()
|
||||
for module_rel, l_children_rel in d_module_genelogy.iteritems():
|
||||
module_abs = join(QPACKAGE_ROOT_SRC, module_rel)
|
||||
module_abs = join(QP_ROOT_SRC, module_rel)
|
||||
|
||||
p = Path(module_abs, module_rel)
|
||||
try:
|
||||
d[p] = Path(join(QPACKAGE_ROOT_SRC, l_children_rel),
|
||||
d[p] = Path(join(QP_ROOT_SRC, l_children_rel),
|
||||
l_children_rel)
|
||||
except:
|
||||
d[p] = [Path(join(QPACKAGE_ROOT_SRC, children), children)
|
||||
d[p] = [Path(join(QP_ROOT_SRC, children), children)
|
||||
for children in l_children_rel]
|
||||
|
||||
return d
|
||||
@ -100,7 +99,7 @@ def get_l_module_with_ezfio_cfg():
|
||||
"""
|
||||
from os import listdir
|
||||
from os.path import isfile, join
|
||||
qp_src = QPACKAGE_ROOT_SRC
|
||||
qp_src = QP_ROOT_SRC
|
||||
|
||||
return [join(qp_src, m) for m in listdir(qp_src)
|
||||
if isfile(join(qp_src, m, "EZFIO.cfg"))]
|
||||
@ -113,10 +112,10 @@ def get_l_ezfio_config():
|
||||
|
||||
l = []
|
||||
|
||||
cmd = "{0}/*/*.ezfio_config".format(QPACKAGE_ROOT_SRC)
|
||||
cmd = "{0}/*/*.ezfio_config".format(QP_ROOT_SRC)
|
||||
for path_in_module in glob.glob(cmd):
|
||||
name_lower = os.path.split(path_in_module)[1].lower()
|
||||
path_in_ezfio = join(QPACKAGE_ROOT_EZFIO, "config", name_lower)
|
||||
path_in_ezfio = join(QP_ROOT_EZFIO, "config", name_lower)
|
||||
l.append(EZ_config_path(path_in_module, path_in_ezfio))
|
||||
|
||||
return l
|
||||
@ -147,7 +146,7 @@ def get_children_of_ezfio_cfg(l_module_with_ezfio_cfg):
|
||||
"""
|
||||
From a module list of ezfio_cfg return all the stuff create by him
|
||||
"""
|
||||
config_folder = join(QPACKAGE_ROOT_EZFIO, "config")
|
||||
config_folder = join(QP_ROOT_EZFIO, "config")
|
||||
|
||||
l_util = dict()
|
||||
|
||||
@ -223,8 +222,9 @@ def ninja_ezfio_rule():
|
||||
l_flag = ["export {0}='${0}'".format(flag)
|
||||
for flag in ["FC", "FCFLAGS", "IRPF90"]]
|
||||
|
||||
l_cmd = ["cd {0}".format(QPACKAGE_ROOT_EZFIO)
|
||||
] + l_flag + ["ninja"]
|
||||
l_cmd = ["cd {0}".format(QP_ROOT_EZFIO)
|
||||
] + l_flag + ["ninja && ln -f {0} {1}".format(join(QP_ROOT, 'install', 'EZFIO',"lib","libezfio.a"),
|
||||
EZFIO_LIB)]
|
||||
|
||||
l_string = ["rule build_ezfio",
|
||||
" command = {0}".format(" ; ".join(l_cmd)),
|
||||
@ -245,7 +245,7 @@ def ninja_ezfio_build(l_ezfio_config, l_util):
|
||||
|
||||
str_ = " ".join(l_ezfio_config + l_ezfio_from_cfg)
|
||||
|
||||
ezfio_make_config = join(QPACKAGE_ROOT_EZFIO,"make.config")
|
||||
ezfio_make_config = join(QP_ROOT_EZFIO, "make.config")
|
||||
l_string = ["build {0} {1}: build_ezfio {2}".format(EZFIO_LIB,
|
||||
ezfio_make_config,
|
||||
str_), ""]
|
||||
@ -262,7 +262,7 @@ def get_source_destination(path_module, l_needed_molule):
|
||||
Return a list of Sym_link = namedtuple('Sym_link', ['source', 'destination'])
|
||||
for a module
|
||||
"""
|
||||
return [Sym_link(m.abs, join(QPACKAGE_ROOT_SRC, path_module.rel, m.rel))
|
||||
return [Sym_link(m.abs, join(QP_ROOT_SRC, path_module.rel, m.rel))
|
||||
for m in l_needed_molule]
|
||||
|
||||
|
||||
@ -296,29 +296,30 @@ def ninja_symlink_build(path_module, l_symlink):
|
||||
# o ._ ._ _|_ (_| / \ ._ _ _. | _
|
||||
# | | |_) | | \_/ o | | | (_| |< (/_
|
||||
# |
|
||||
def get_l_file_for_module(path_module_abs):
|
||||
def get_l_file_for_module(path_module):
|
||||
'''
|
||||
return the list of irp.f in a module
|
||||
'''
|
||||
l_irp = []
|
||||
l_depend = []
|
||||
l_src = []
|
||||
l_obj = []
|
||||
|
||||
l_template = []
|
||||
|
||||
for f in os.listdir(path_module_abs):
|
||||
for f in os.listdir(path_module.abs):
|
||||
if f.lower().endswith(tuple([".template.f", ".include.f"])):
|
||||
l_template.append(join(path_module_abs, f))
|
||||
l_template.append(join(path_module.abs, f))
|
||||
elif f.endswith(".irp.f"):
|
||||
l_irp.append(join(path_module_abs, f))
|
||||
l_depend.append(join(path_module.abs, f))
|
||||
elif f.lower().endswith(tuple([".f", ".f90", ".c", ".cpp", ".cxx"])):
|
||||
l_src.append(join(path_module_abs, f))
|
||||
l_depend.append(join(path_module.abs,f))
|
||||
l_src.append(f)
|
||||
obj = '{0}.o'.format(os.path.splitext(f)[0])
|
||||
l_obj.append(join(path_module_abs, obj))
|
||||
l_obj.append(obj)
|
||||
elif f == "EZFIO.cfg":
|
||||
l_irp.append(join(path_module_abs, "ezfio_interface.irp.f"))
|
||||
l_depend.append(join(path_module.abs, "ezfio_interface.irp.f"))
|
||||
|
||||
d = {"l_irp": l_irp,
|
||||
d = {"l_depend": l_depend,
|
||||
"l_src": l_src,
|
||||
"l_obj": l_obj,
|
||||
"l_template": l_template}
|
||||
@ -334,11 +335,21 @@ def get_file_dependency(d_info_module):
|
||||
|
||||
for module, l_children in d_info_module.iteritems():
|
||||
|
||||
for key, values in get_l_file_for_module(module.abs).iteritems():
|
||||
for key, values in get_l_file_for_module(module).iteritems():
|
||||
if key in ["l_src"]:
|
||||
values = [join(module.abs,o) for o in values]
|
||||
if key in ["l_obj"]:
|
||||
values = [join(module.abs,"IRPF90_temp",o) for o in values]
|
||||
|
||||
d_irp[module][key] = values
|
||||
|
||||
for children in l_children:
|
||||
for key, values in get_l_file_for_module(children.abs).iteritems():
|
||||
for key, values in get_l_file_for_module(children).iteritems():
|
||||
if key in ["l_src"]:
|
||||
values = [join(module.abs,children.rel,o) for o in values]
|
||||
if key in ["l_obj"]:
|
||||
values = [join(module.abs,"IRPF90_temp",children.rel,o) for o in values]
|
||||
|
||||
d_irp[module][key].extend(values)
|
||||
|
||||
return d_irp
|
||||
@ -388,24 +399,24 @@ def ninja_irpf90_make_build(path_module, l_needed_molule, d_irp):
|
||||
|
||||
l_creation = [join(path_module.abs, i)
|
||||
for i in ["irpf90.make", "irpf90_entities", "tags",
|
||||
"IRPF90_temp/build.ninja"]]
|
||||
"build.ninja"]]
|
||||
str_creation = " ".join(l_creation)
|
||||
|
||||
# ~#~#~#~#~#~#~#~#~#~ #
|
||||
# D e p e n d a n c y #
|
||||
# ~#~#~#~#~#~#~#~#~#~ #
|
||||
|
||||
l_irp_need = d_irp[path_module]["l_irp"]
|
||||
l_depend = d_irp[path_module]["l_depend"]
|
||||
l_src = d_irp[path_module]["l_src"]
|
||||
l_obj = d_irp[path_module]["l_obj"]
|
||||
l_template = d_irp[path_module]["l_template"]
|
||||
|
||||
if l_needed_molule:
|
||||
l_destination = ["l_symlink_{0}".format(path_module.rel)]
|
||||
l_symlink = ["l_symlink_{0}".format(path_module.rel)]
|
||||
else:
|
||||
l_destination = []
|
||||
l_symlink = []
|
||||
|
||||
str_depend = " ".join(l_irp_need + l_destination + l_src + l_template)
|
||||
str_depend = " ".join(l_depend + l_symlink + l_template)
|
||||
|
||||
# ~#~#~#~#~#~#~#~#~#~#~ #
|
||||
# N i n j a _ b u i l d #
|
||||
@ -521,7 +532,7 @@ def ninja_binaries_rule():
|
||||
# c m d #
|
||||
# ~#~#~ #
|
||||
|
||||
l_cmd = ["cd $module/IRPF90_temp", "ninja"]
|
||||
l_cmd = ["cd $module", "ninja"]
|
||||
|
||||
# ~#~#~#~#~#~ #
|
||||
# s t r i n g #
|
||||
@ -543,7 +554,7 @@ def ninja_binaries_build(path_module, l_children, d_binaries):
|
||||
# c m d #
|
||||
# ~#~#~ #
|
||||
|
||||
ninja_module_path = join(path_module.abs, "IRPF90_temp", "build.ninja")
|
||||
ninja_module_path = join(path_module.abs, "build.ninja")
|
||||
l_abs_bin = [binary.abs for binary in d_binaries[path_module]]
|
||||
|
||||
# ~#~#~#~#~#~ #
|
||||
@ -694,5 +705,5 @@ if __name__ == "__main__":
|
||||
l_string += ninja_binaries_build(module_to_compile, l_children,
|
||||
d_binaries_production)
|
||||
|
||||
with open(join(QPACKAGE_ROOT, "build.ninja"), "w+") as f:
|
||||
with open(join(QP_ROOT, "build.ninja"), "w+") as f:
|
||||
f.write("\n".join(l_string))
|
||||
|
@ -36,7 +36,7 @@ def get_compilation_option(pwd_cfg, flag_name):
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
qpackage_root = os.environ['QPACKAGE_ROOT']
|
||||
qpackage_root = os.environ['QP_ROOT']
|
||||
pwd_cfg = os.path.join(qpackage_root, "config/gfortran_example.cfg")
|
||||
|
||||
print get_compilation_option(pwd_cfg, "FC")
|
||||
|
@ -21,11 +21,11 @@ Options:
|
||||
(aka all with the `interface: input` parameter)
|
||||
in `${pwd}`
|
||||
--ezfio_config Create the `${module_lower}_ezfio_interface_config` in
|
||||
`${QPACKAGE_ROOT}/EZFIO/config/`
|
||||
`${QP_ROOT}/EZFIO/config/`
|
||||
This file is needed by *EZFIO* to create the `libezfio.so`
|
||||
--ocaml Create the `Input_module.lower.ml` for the *qp_edit*
|
||||
--ezfio_default Create the `${module_lower}_ezfio_interface_default` in
|
||||
`${QPACKAGE_ROOT}/data/ezfio_defaults` needed by
|
||||
`${QP_ROOT}/data/ezfio_defaults` needed by
|
||||
the ocaml
|
||||
ocaml_global Create the qp_edit
|
||||
|
||||
@ -100,7 +100,7 @@ def get_type_dict():
|
||||
# ~#~#~#~#~ #
|
||||
# P i c l e #
|
||||
# ~#~#~#~#~ #
|
||||
qpackage_root = os.environ['QPACKAGE_ROOT']
|
||||
qpackage_root = os.environ['QP_ROOT']
|
||||
|
||||
# ~#~#~#~ #
|
||||
# I n i t #
|
||||
@ -325,7 +325,7 @@ def save_ezfio_provider(path_head, dict_code_provider):
|
||||
path = "{0}/ezfio_interface.irp.f".format(path_head)
|
||||
|
||||
l_output = ["! DO NOT MODIFY BY HAND",
|
||||
"! Created by $QPACKAGE_ROOT/scripts/ezfio_interface.py",
|
||||
"! Created by $QP_ROOT/scripts/ezfio_interface.py",
|
||||
"! from file {0}/EZFIO.cfg".format(path_head),
|
||||
"\n"]
|
||||
|
||||
@ -368,7 +368,7 @@ def create_ezfio_stuff(dict_ezfio_cfg, config_or_default="config"):
|
||||
if begin[0] == '-':
|
||||
a_size_raw.append("{0}+{1}+1".format(end, begin[1:]))
|
||||
else:
|
||||
a_size_raw.append("{0}-{1}+1".format(end, begin))
|
||||
a_size_raw.append("{0}-{1}+1".format(end, begin))
|
||||
|
||||
size_raw = ",".join(a_size_raw)
|
||||
|
||||
@ -452,12 +452,10 @@ def create_ezfio_config(dict_ezfio_cfg):
|
||||
def save_ezfio_config(module_lower, str_ezfio_config):
|
||||
"""
|
||||
Write the str_ezfio_config in
|
||||
"$QPACKAGE_ROOT/EZFIO/{0}.ezfio_interface_config".format(module_lower)
|
||||
"$QP_ROOT/EZFIO/{0}.ezfio_interface_config".format(module_lower)
|
||||
"""
|
||||
|
||||
root_ezfio = "{0}/EZFIO".format(os.environ['QPACKAGE_ROOT'])
|
||||
path = "{0}/config/{1}.ezfio_interface_config".format(root_ezfio,
|
||||
module_lower)
|
||||
name = "{0}.ezfio_interface_config".format(module_lower)
|
||||
path = os.path.join(os.environ['QP_EZFIO'], "config", name)
|
||||
|
||||
with open(path, "w+") as f:
|
||||
f.write(str_ezfio_config)
|
||||
@ -471,11 +469,11 @@ def create_ezfio_default(dict_ezfio_cfg):
|
||||
def save_ezfio_default(module_lower, str_ezfio_default):
|
||||
"""
|
||||
Write the str_ezfio_config in
|
||||
"$QPACKAGE_ROOT/data/ezfio_defaults/{0}.ezfio_interface_default".format(module_lower)
|
||||
"$QP_ROOT/data/ezfio_defaults/{0}.ezfio_interface_default".format(module_lower)
|
||||
"""
|
||||
|
||||
root_ezfio_default = "{0}/data/ezfio_defaults/".format(
|
||||
os.environ['QPACKAGE_ROOT'])
|
||||
os.environ['QP_ROOT'])
|
||||
path = "{0}/{1}.ezfio_interface_default".format(root_ezfio_default,
|
||||
module_lower)
|
||||
with open(path, "w+") as f:
|
||||
@ -580,10 +578,10 @@ def create_ocaml_input(dict_ezfio_cfg, module_lower):
|
||||
def save_ocaml_input(module_lower, str_ocaml_input):
|
||||
"""
|
||||
Write the str_ocaml_input in
|
||||
$QPACKAGE_ROOT/ocaml/Input_{0}.ml".format(module_lower)
|
||||
$QP_ROOT/ocaml/Input_{0}.ml".format(module_lower)
|
||||
"""
|
||||
|
||||
path = "{0}/ocaml/Input_{1}.ml".format(os.environ['QPACKAGE_ROOT'],
|
||||
path = "{0}/ocaml/Input_{1}.ml".format(os.environ['QP_ROOT'],
|
||||
module_lower)
|
||||
|
||||
with open(path, "w+") as f:
|
||||
@ -600,7 +598,7 @@ def get_l_module_with_auto_generate_ocaml_lower():
|
||||
# I n i t #
|
||||
# ~#~#~#~ #
|
||||
|
||||
mypath = "{0}/src".format(os.environ['QPACKAGE_ROOT'])
|
||||
mypath = "{0}/src".format(os.environ['QP_ROOT'])
|
||||
|
||||
# ~#~#~#~#~#~#~#~ #
|
||||
# L _ f o l d e r #
|
||||
@ -641,7 +639,7 @@ def create_ocaml_input_global(l_module_with_auto_generate_ocaml_lower):
|
||||
|
||||
from ezfio_generate_ocaml import EZFIO_ocaml
|
||||
|
||||
qpackage_root = os.environ['QPACKAGE_ROOT']
|
||||
qpackage_root = os.environ['QP_ROOT']
|
||||
path = qpackage_root + "/scripts/ezfio_interface/qp_edit_template"
|
||||
|
||||
with open(path, "r") as f:
|
||||
@ -663,10 +661,10 @@ def create_ocaml_input_global(l_module_with_auto_generate_ocaml_lower):
|
||||
def save_ocaml_input_auto(str_ocaml_input_global):
|
||||
"""
|
||||
Write the str_ocaml_input in
|
||||
$QPACKAGE_ROOT/ocaml/Input_auto_generated.ml
|
||||
$QP_ROOT/ocaml/Input_auto_generated.ml
|
||||
"""
|
||||
|
||||
path = "{0}/ocaml/Input_auto_generated.ml".format(os.environ['QPACKAGE_ROOT'])
|
||||
path = "{0}/ocaml/Input_auto_generated.ml".format(os.environ['QP_ROOT'])
|
||||
|
||||
with open(path, "w+") as f:
|
||||
f.write(str_ocaml_input_global)
|
||||
@ -675,10 +673,10 @@ def save_ocaml_input_auto(str_ocaml_input_global):
|
||||
def save_ocaml_qp_edit(str_ocaml_qp_edit):
|
||||
"""
|
||||
Write the str_ocaml_qp_edit in
|
||||
$QPACKAGE_ROOT/ocaml/qp_edit.ml
|
||||
$QP_ROOT/ocaml/qp_edit.ml
|
||||
"""
|
||||
|
||||
path = "{0}/ocaml/qp_edit.ml".format(os.environ['QPACKAGE_ROOT'])
|
||||
path = "{0}/ocaml/qp_edit.ml".format(os.environ['QP_ROOT'])
|
||||
|
||||
with open(path, "w+") as f:
|
||||
f.write(str_ocaml_qp_edit)
|
||||
@ -773,7 +771,7 @@ if __name__ == "__main__":
|
||||
# G e t _ l _ d i c t _ e z f i o _ c f g #
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~# #
|
||||
|
||||
qpackage_root_src = join(os.environ['QPACKAGE_ROOT'], "src")
|
||||
qpackage_root_src = join(os.environ['QP_ROOT'], "src")
|
||||
|
||||
l_module_with_ezfio = []
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
"""
|
||||
This function acceep
|
||||
convert output of gamess/GAU$$IAN to ezfio
|
||||
|
||||
Usage:
|
||||
qp_convert_output_to_ezfio.py <file.out> [--ezfio=<folder.ezfio>]
|
||||
@ -24,14 +24,14 @@ from functools import reduce
|
||||
|
||||
|
||||
try:
|
||||
QPACKAGE_ROOT = os.environ["QPACKAGE_ROOT"]
|
||||
QP_ROOT = os.environ["QP_ROOT"]
|
||||
except:
|
||||
print "Error: QPACKAGE_ROOT environment variable not found."
|
||||
print "Error: QP_ROOT environment variable not found."
|
||||
sys.exit(1)
|
||||
else:
|
||||
sys.path = [QPACKAGE_ROOT + "/EZFIO/Python",
|
||||
QPACKAGE_ROOT + "/resultsFile",
|
||||
QPACKAGE_ROOT + "/scripts"] + sys.path
|
||||
sys.path = [QP_ROOT + "/install/EZFIO/Python",
|
||||
QP_ROOT + "/resultsFile",
|
||||
QP_ROOT + "/scripts"] + sys.path
|
||||
|
||||
# ~#~#~#~#~#~ #
|
||||
# I m p o r t #
|
||||
|
@ -260,7 +260,7 @@ Edit input data
|
||||
| Assert_failure (file, line, ch) as e ->
|
||||
begin
|
||||
Printf.eprintf "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n\n";
|
||||
Printf.eprintf "Assert error in file $QPACKAGE_ROOT/ocaml/%s, line %d, character %d\n\n" file line ch;
|
||||
Printf.eprintf "Assert error in file $QP_ROOT/ocaml/%s, line %d, character %d\n\n" file line ch;
|
||||
Printf.eprintf "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n\n";
|
||||
(* restore_backup ezfio_file; *)
|
||||
raise e
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
file = open(os.environ["QPACKAGE_ROOT"]+'/src/Determinants/H_apply.template.f','r')
|
||||
file = open(os.environ["QP_ROOT"]+'/src/Determinants/H_apply.template.f','r')
|
||||
template = file.read()
|
||||
file.close()
|
||||
|
||||
|
@ -8,15 +8,14 @@
|
||||
# Prints in stdout the name of a temporary file containing the basis set.
|
||||
#
|
||||
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
if [[ -z ${QP_ROOT} ]]
|
||||
then
|
||||
print "The QPACKAGE_ROOT environment variable is not set."
|
||||
print "The QP_ROOT environment variable is not set."
|
||||
print "Please reload the quantum_package.rc file."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
export EMSL_API_ROOT="${QPACKAGE_ROOT}"/EMSL_Basis/
|
||||
export PYTHONPATH="${EMSL_API_ROOT}":${PYTHONPATH}
|
||||
export EMSL_API_ROOT="${QP_ROOT}"/install/emsl
|
||||
|
||||
tmpfile="$1"
|
||||
shift
|
||||
|
@ -1,31 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Installs curl for ocaml
|
||||
# Mon Jan 12 18:52:48 CET 2015
|
||||
|
||||
CURL="curl-7.30.0.ermine"
|
||||
CURL_URL="http://qmcchem.ups-tlse.fr/files/scemama/${CURL}.tar.bz2"
|
||||
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
then
|
||||
echo "The QPACKAGE_ROOT environment variable is not set."
|
||||
echo "Please reload the quantum_package.rc file."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}
|
||||
|
||||
curl -kL "https://github.com/LCPQ/quantum_package" &> /dev/null
|
||||
if [[ $? -eq 0 ]]
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
rm -f -- ${QPACKAGE_ROOT}/bin/curl
|
||||
${QPACKAGE_ROOT}/scripts/install/fetch_from_web.py ${CURL_URL} CURL.tar.bz2
|
||||
tar -jxf CURL.tar.bz2 && rm CURL.tar.bz2 ||exit 1
|
||||
cd ${CURL} || exit 1
|
||||
mv curl.ermine ${QPACKAGE_ROOT}/bin/curl
|
||||
cd ${QPACKAGE_ROOT}
|
||||
rm -rf -- ${CURL}
|
||||
|
@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Installs docopt
|
||||
# lundi 27 avril 2015, 16:51:34 (UTC+0200)
|
||||
|
||||
DOCOPT="docopt.py"
|
||||
DOCOPT_URL="https://raw.githubusercontent.com/docopt/docopt/master/${DOCOPT}"
|
||||
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
then
|
||||
echo "The QPACKAGE_ROOT environment variable is not set."
|
||||
echo "Please reload the quantum_package.rc file."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}
|
||||
|
||||
rm -f -- scripts/${DOCOPT}{,c}
|
||||
${QPACKAGE_ROOT}/scripts/install/fetch_from_web.py ${DOCOPT_URL} ${DOCOPT}
|
||||
|
||||
mv ${DOCOPT} scripts/utility/${DOCOPT}
|
@ -1,23 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Installs EMSL_Basis_Set_Exchange_Local
|
||||
# Mon Jan 12 12:57:19 CET 2015
|
||||
|
||||
BASE="EMSL_Basis_Set_Exchange_Local"
|
||||
URL="https://github.com/LCPQ/${BASE}/archive/master.tar.gz"
|
||||
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
then
|
||||
echo "The QPACKAGE_ROOT environment variable is not set."
|
||||
echo "Please reload the quantum_package.rc file."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}
|
||||
|
||||
${QPACKAGE_ROOT}/scripts/install/fetch_from_web.py ${URL} ${QPACKAGE_ROOT}/${BASE}.tar.gz
|
||||
tar -zxf ${BASE}.tar.gz && rm ${BASE}.tar.gz ||exit 1
|
||||
rm -rf EMSL_Basis
|
||||
mv ${BASE}-master EMSL_Basis
|
||||
|
||||
|
@ -1,24 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Installs EZFIO
|
||||
# Mon Jan 12 16:06:44 CET 2015
|
||||
|
||||
BASE="ezfio"
|
||||
URL="https://github.com/LCPQ/${BASE}/archive/master.tar.gz"
|
||||
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
then
|
||||
echo "The QPACKAGE_ROOT environment variable is not set."
|
||||
echo "Please reload the quantum_package.rc file."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}
|
||||
|
||||
rm -rf -- EZFIO
|
||||
${QPACKAGE_ROOT}/scripts/install/fetch_from_web.py ${URL} ${QPACKAGE_ROOT}/${BASE}.tar.gz
|
||||
tar -zxf ${BASE}.tar.gz && rm ${BASE}.tar.gz ||exit 1
|
||||
mv EZFIO-master EZFIO
|
||||
|
||||
|
||||
|
@ -1,29 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Installs irpf90
|
||||
# Mon Jan 12 16:00:20 CET 2015
|
||||
|
||||
BASE="irpf90"
|
||||
URL="https://github.com/LCPQ/${BASE}/archive/master.tar.gz"
|
||||
|
||||
# Check the QPACKAGE_ROOT directory
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
then
|
||||
echo "The QPACKAGE_ROOT environment variable is not set."
|
||||
echo "Please reload the quantum_package.rc file."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}
|
||||
|
||||
|
||||
${QPACKAGE_ROOT}/scripts/install/fetch_from_web.py ${URL} ${QPACKAGE_ROOT}/${BASE}.tar.gz
|
||||
tar -zxf ${BASE}.tar.gz && rm ${BASE}.tar.gz ||exit 1
|
||||
mv ${BASE}-master irpf90
|
||||
make -C irpf90
|
||||
rm -rf -- bin/irpf90 bin/irpman
|
||||
echo '${QPACKAGE_ROOT}/irpf90/bin/irpf90 $@' > bin/irpf90
|
||||
echo '${QPACKAGE_ROOT}/irpf90/bin/irpman $@' > bin/irpman
|
||||
chmod +x bin/irpf90 bin/irpman
|
||||
|
||||
|
@ -1,31 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Installs m4 for ocaml
|
||||
# Thu Oct 23 22:02:08 CEST 2014
|
||||
|
||||
M4_URL="http://ftp.gnu.org/gnu/m4/m4-latest.tar.gz"
|
||||
M4=$(which m4)
|
||||
|
||||
# Check the QPACKAGE_ROOT directory
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
then
|
||||
echo "The QPACKAGE_ROOT environment variable is not set."
|
||||
echo "Please reload the quantum_package.rc file."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}
|
||||
|
||||
rm -f l${QPACKAGE_ROOT}/bin/m4
|
||||
if [[ -z ${M4} ]]
|
||||
then
|
||||
rm -f -- bin/m4
|
||||
${QPACKAGE_ROOT}/scripts/install/fetch_from_web.py ${M4_URL} M4.tar.gz
|
||||
tar -zxf M4.tar.gz && rm M4.tar.gz ||exit 1
|
||||
cd m4* || exit 1
|
||||
./configure && make || exit 1
|
||||
ln -s ${PWD}/src/m4 ${QPACKAGE_ROOT}/bin
|
||||
else
|
||||
ln -s ${M4} ${QPACKAGE_ROOT}/bin/m4
|
||||
fi
|
||||
|
@ -1,23 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Installs the ninja build system
|
||||
# Thu May 28 13:21:16 CEST 2015
|
||||
|
||||
BASE="ninja"
|
||||
URL="https://github.com/martine/ninja/archive/master.tar.gz"
|
||||
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
then
|
||||
echo "The QPACKAGE_ROOT environment variable is not set."
|
||||
echo "Please reload the quantum_package.rc file."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}
|
||||
|
||||
${QPACKAGE_ROOT}/scripts/install/fetch_from_web.py ${URL} ${QPACKAGE_ROOT}/${BASE}.tar.gz
|
||||
tar -zxf ${BASE}.tar.gz && rm ${BASE}.tar.gz ||exit 1
|
||||
rm -rf ${BASE}
|
||||
mv ${BASE}-master ${BASE}
|
||||
cd ${BASE}
|
||||
./configure.py --bootstrap
|
@ -1,67 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Downloads and installs ocaml, opam and core library
|
||||
# Thu Oct 23 21:58:40 CEST 2014
|
||||
|
||||
PACKAGES="core cryptokit"
|
||||
OPAM_BASE=$HOME/.opam
|
||||
|
||||
# Check the QPACKAGE_ROOT directory
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
then
|
||||
echo "The QPACKAGE_ROOT environment variable is not set."
|
||||
echo "Please reload the quantum_package.rc file."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}
|
||||
|
||||
|
||||
if [[ -f quantum_package.rc ]]
|
||||
then
|
||||
source quantum_package.rc
|
||||
fi
|
||||
make -C ocaml Qptypes.ml &> /dev/null
|
||||
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
|
||||
if [[ -d ${OPAM_BASE} ]]
|
||||
then
|
||||
echo "${OPAM_BASE} exists."
|
||||
echo "Re-install ? [y/N]"
|
||||
while read -r -n 1 -s answer; do
|
||||
if [[ $answer = [YyNn] ]]; then
|
||||
if [[ $answer = [Yy] ]] ; then
|
||||
echo " - Remove your directory ${OPAM_BASE}"
|
||||
echo " - Restart setup"
|
||||
exit 1
|
||||
fi
|
||||
if [[ $answer = [Nn] ]] ; then
|
||||
make -C ocaml Qptypes.ml
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
${QPACKAGE_ROOT}/scripts/install/fetch_from_web.py \
|
||||
"https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh" opam_installer.sh
|
||||
chmod +x opam_installer.sh
|
||||
echo N | ./opam_installer.sh ${QPACKAGE_ROOT}/bin
|
||||
|
||||
if [[ ! -f ${QPACKAGE_ROOT}/bin/opam ]]
|
||||
then
|
||||
echo "Installation of OPAM failed"
|
||||
exit 2
|
||||
fi
|
||||
rm -f opam_installer.sh
|
||||
${QPACKAGE_ROOT}/bin/opam config setup -a --dot-profile ${QPACKAGE_ROOT}/quantum_package.rc
|
||||
|
||||
source ${QPACKAGE_ROOT}/quantum_package.rc
|
||||
echo Y | opam install ${PACKAGES}
|
||||
|
||||
make -C ocaml Qptypes.ml
|
||||
|
||||
exit 0
|
||||
|
@ -1,24 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Installs the resultsFile Python library
|
||||
# Mon Jan 19 15:08:18 CET 2015
|
||||
|
||||
URL="https://github.com/LCPQ/resultsFile/archive/master.tar.gz"
|
||||
|
||||
# Check the QPACKAGE_ROOT directory
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
then
|
||||
echo "The QPACKAGE_ROOT environment variable is not set."
|
||||
echo "Please reload the quantum_package.rc file."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}
|
||||
|
||||
|
||||
rm -rf resultsFile-master
|
||||
${QPACKAGE_ROOT}/scripts/install/fetch_from_web.py ${URL} ${QPACKAGE_ROOT}/resultsFile.tar.gz
|
||||
tar -zxf resultsFile.tar.gz && rm resultsFile.tar.gz ||exit 1
|
||||
mv resultsFile-master resultsFile
|
||||
|
||||
|
@ -1,38 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Installs zlib for ocaml cryptokit
|
||||
# Mon Jan 12 18:52:48 CET 2015
|
||||
|
||||
ZLIB="zlib-1.2.8"
|
||||
ZLIB_URL="http://zlib.net/${ZLIB}.tar.gz"
|
||||
|
||||
# Check the QPACKAGE_ROOT directory
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
then
|
||||
echo "The QPACKAGE_ROOT environment variable is not set."
|
||||
echo "Please reload the quantum_package.rc file."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}
|
||||
|
||||
|
||||
cat > /tmp/main.c << EOF
|
||||
int main () {}
|
||||
EOF
|
||||
gcc /tmp/main.c -lz
|
||||
if [[ $? -eq 0 ]]
|
||||
then
|
||||
rm /tmp/main.c "a.out"
|
||||
exit 0
|
||||
fi
|
||||
rm /tmp/main.c
|
||||
|
||||
${QPACKAGE_ROOT}/scripts/install/fetch_from_web.py ${ZLIB_URL} ZLIB.tar.gz
|
||||
tar -zxf ZLIB.tar.gz && rm ZLIB.tar.gz ||exit 1
|
||||
cd ${ZLIB} || exit 1
|
||||
./configure && make
|
||||
make install prefix=$QPACKAGE_ROOT
|
||||
cd ${QPACKAGE_ROOT}
|
||||
rm -rf -- ${ZLIB}
|
||||
|
@ -6,15 +6,15 @@
|
||||
#
|
||||
|
||||
|
||||
# Check the QPACKAGE_ROOT directory
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
# Check the QP_ROOT directory
|
||||
if [[ -z ${QP_ROOT} ]]
|
||||
then
|
||||
echo "The QPACKAGE_ROOT environment variable is not set."
|
||||
echo "The QP_ROOT environment variable is not set."
|
||||
echo "Please reload the quantum_package.rc file."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}
|
||||
cd ${QP_ROOT}
|
||||
if [[ -f quantum_package.rc \
|
||||
&& -f README.md \
|
||||
&& -d src \
|
||||
@ -35,7 +35,7 @@ fi
|
||||
|
||||
|
||||
# Build all sources
|
||||
for dir in ${QPACKAGE_ROOT}/{src,ocaml}
|
||||
for dir in ${QP_ROOT}/{src,ocaml}
|
||||
do
|
||||
make -C ${dir}
|
||||
if [[ $? -ne 0 ]]
|
||||
@ -46,7 +46,7 @@ done
|
||||
|
||||
|
||||
# Copy the files in the static directory
|
||||
QPACKAGE_STATIC=${QPACKAGE_ROOT}/quantum_package_static
|
||||
QPACKAGE_STATIC=${QP_ROOT}/quantum_package_static
|
||||
|
||||
function find_libs ()
|
||||
{
|
||||
@ -58,7 +58,7 @@ function find_libs ()
|
||||
|
||||
function find_exec ()
|
||||
{
|
||||
find ${QPACKAGE_ROOT}/$1 -perm /u+x -type f
|
||||
find ${QP_ROOT}/$1 -perm /u+x -type f
|
||||
}
|
||||
|
||||
|
||||
@ -111,12 +111,12 @@ cd -
|
||||
for i in ${FORTRAN_EXEC}
|
||||
do
|
||||
i=$(basename $i)
|
||||
echo $i \$QPACKAGE_ROOT/bin/$i
|
||||
echo $i \$QP_ROOT/bin/$i
|
||||
done >> ${QPACKAGE_STATIC}/data/executables
|
||||
|
||||
cp ${QPACKAGE_ROOT}/data/ezfio_defaults ${QPACKAGE_STATIC}/data
|
||||
cp ${QP_ROOT}/data/ezfio_defaults ${QPACKAGE_STATIC}/data
|
||||
mkdir -p ${QPACKAGE_STATIC}/src/Bitmask
|
||||
cp ${QPACKAGE_ROOT}/src/Bitmask/bitmasks_module.f90 ${QPACKAGE_STATIC}/src/Bitmask
|
||||
cp ${QP_ROOT}/src/Bitmask/bitmasks_module.f90 ${QPACKAGE_STATIC}/src/Bitmask
|
||||
|
||||
#
|
||||
echo "Copying dynamic libraries"
|
||||
@ -143,10 +143,10 @@ cp -- ${QPACKAGE_STATIC}/extra_lib/lib{[gi]omp*,mkl*,lapack*,blas*,z*} ${QPACKAG
|
||||
echo "Copying EMSL_Basis directory"
|
||||
# ----------------------------
|
||||
|
||||
cp -r -- ${QPACKAGE_ROOT}/EMSL_Basis ${QPACKAGE_STATIC}/
|
||||
cp -r -- ${QP_ROOT}/EMSL_Basis ${QPACKAGE_STATIC}/
|
||||
if [[ $? -ne 0 ]] ;
|
||||
then
|
||||
echo 'cp -r -- ${QPACKAGE_ROOT}/EMSL_Basis ${QPACKAGE_STATIC}/'
|
||||
echo 'cp -r -- ${QP_ROOT}/EMSL_Basis ${QPACKAGE_STATIC}/'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -155,10 +155,10 @@ fi
|
||||
echo "Copying scripts directory"
|
||||
# -------------------------
|
||||
|
||||
cp -r -- ${QPACKAGE_ROOT}/scripts ${QPACKAGE_STATIC}/
|
||||
cp -r -- ${QP_ROOT}/scripts ${QPACKAGE_STATIC}/
|
||||
if [[ $? -ne 0 ]] ;
|
||||
then
|
||||
echo 'cp -r -- ${QPACKAGE_ROOT}/scripts ${QPACKAGE_STATIC}/'
|
||||
echo 'cp -r -- ${QP_ROOT}/scripts ${QPACKAGE_STATIC}/'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -168,13 +168,13 @@ echo "Creating quantum_package.rc"
|
||||
# ---------------------------
|
||||
|
||||
cat << EOF > ${QPACKAGE_STATIC}/quantum_package.rc
|
||||
export QPACKAGE_ROOT=\$( cd \$(dirname "\${BASH_SOURCE}") ; pwd -P )
|
||||
export LD_LIBRARY_PATH="\${QPACKAGE_ROOT}"/lib:\${LD_LIBRARY_PATH}
|
||||
export LIBRARY_PATH="\${QPACKAGE_ROOT}"/lib:\${LIBRARY_PATH}
|
||||
export PYTHONPATH="\${QPACKAGE_ROOT}"/scripts:\${PYTHONPATH}
|
||||
export PATH="\${QPACKAGE_ROOT}"/scripts:\${PATH}
|
||||
export PATH="\${QPACKAGE_ROOT}"/bin:\${PATH}
|
||||
export PATH="\${QPACKAGE_ROOT}"/ocaml:\${PATH}
|
||||
export QP_ROOT=\$( cd \$(dirname "\${BASH_SOURCE}") ; pwd -P )
|
||||
export LD_LIBRARY_PATH="\${QP_ROOT}"/lib:\${LD_LIBRARY_PATH}
|
||||
export LIBRARY_PATH="\${QP_ROOT}"/lib:\${LIBRARY_PATH}
|
||||
export PYTHONPATH="\${QP_ROOT}"/scripts:\${PYTHONPATH}
|
||||
export PATH="\${QP_ROOT}"/scripts:\${PATH}
|
||||
export PATH="\${QP_ROOT}"/bin:\${PATH}
|
||||
export PATH="\${QP_ROOT}"/ocaml:\${PATH}
|
||||
EOF
|
||||
|
||||
#exit 0
|
||||
|
@ -2,13 +2,13 @@
|
||||
#
|
||||
# Cleans a module directory
|
||||
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
if [[ -z ${QP_ROOT} ]]
|
||||
then
|
||||
print "The QPACKAGE_ROOT environment variable is not set."
|
||||
print "The QP_ROOT environment variable is not set."
|
||||
print "Please reload the quantum_package.rc file."
|
||||
exit -1
|
||||
fi
|
||||
source ${QPACKAGE_ROOT}/scripts/qp_include.sh
|
||||
source ${QP_ROOT}/scripts/qp_include.sh
|
||||
|
||||
function do_clean()
|
||||
{
|
||||
|
@ -2,20 +2,20 @@
|
||||
#
|
||||
# Thu Mar 26 01:27:14 CET 2015
|
||||
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
if [[ -z ${QP_ROOT} ]]
|
||||
then
|
||||
print "The QPACKAGE_ROOT environment variable is not set."
|
||||
print "The QP_ROOT environment variable is not set."
|
||||
print "Please reload the quantum_package.rc file."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
cd ${QPACKAGE_ROOT}/data
|
||||
cd ${QP_ROOT}/data
|
||||
rm -f executables
|
||||
EXES=$(find ${QPACKAGE_ROOT}/src -perm /u+x -type f | grep -e "${QPACKAGE_ROOT}/src/[^/]*/[^/]*$" |sort )
|
||||
EXES=$(find ${QP_ROOT}/src -perm /u+x -type f | grep -e "${QP_ROOT}/src/[^/]*/[^/]*$" |sort )
|
||||
|
||||
for EXE in $EXES
|
||||
do
|
||||
printf "%-30s %s\n" $(basename $EXE) $EXE | sed "s|${QPACKAGE_ROOT}|\$QPACKAGE_ROOT|g" >> executables
|
||||
printf "%-30s %s\n" $(basename $EXE) $EXE | sed "s|${QP_ROOT}|\$QP_ROOT|g" >> executables
|
||||
done
|
||||
|
||||
|
||||
|
@ -5,13 +5,13 @@
|
||||
# Tue Jan 13 14:18:05 CET 2015
|
||||
#
|
||||
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
if [[ -z ${QP_ROOT} ]]
|
||||
then
|
||||
print "The QPACKAGE_ROOT environment variable is not set."
|
||||
print "The QP_ROOT environment variable is not set."
|
||||
print "Please reload the quantum_package.rc file."
|
||||
exit -1
|
||||
fi
|
||||
source ${QPACKAGE_ROOT}/scripts/qp_include.sh
|
||||
source ${QP_ROOT}/scripts/qp_include.sh
|
||||
|
||||
|
||||
function do_gitingore()
|
||||
|
@ -30,13 +30,13 @@ except ImportError:
|
||||
|
||||
# Canot cache for namedtuple are not hashable
|
||||
def get_dict_child():
|
||||
"""Loop over MODULE in QPACKAGE_ROOT/src, open all the NEEDED_CHILDREN_MODULES
|
||||
"""Loop over MODULE in QP_ROOT/src, open all the NEEDED_CHILDREN_MODULES
|
||||
and create a dict[MODULE] = [sub module needed, ...]
|
||||
"""
|
||||
d_ref = dict()
|
||||
|
||||
qpackage_root = os.environ['QPACKAGE_ROOT']
|
||||
dir_ = os.path.join(qpackage_root, 'src')
|
||||
qp_root = os.environ['QP_ROOT']
|
||||
dir_ = os.path.join(qp_root, 'src')
|
||||
|
||||
for o in os.listdir(dir_):
|
||||
|
||||
|
@ -61,7 +61,7 @@ if __name__ == '__main__':
|
||||
elif arguments["create"]:
|
||||
l_children = arguments["<children_module>"]
|
||||
|
||||
qpackage_root = os.environ['QPACKAGE_ROOT']
|
||||
qpackage_root = os.environ['QP_ROOT']
|
||||
path = os.path.join(qpackage_root, "src", arguments["<name>"])
|
||||
|
||||
print "You will create the module:"
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
import os
|
||||
|
||||
Pert_dir = os.environ["QPACKAGE_ROOT"]+"/src/Perturbation/"
|
||||
Pert_dir = os.environ["QP_ROOT"]+"/src/Perturbation/"
|
||||
|
||||
perturbations = []
|
||||
|
||||
|
@ -17,9 +17,9 @@ from docopt import docopt
|
||||
|
||||
from subprocess import Popen, PIPE
|
||||
|
||||
qpackage_root = os.environ['QPACKAGE_ROOT']
|
||||
qpackage_root = os.environ['QP_ROOT']
|
||||
|
||||
EZFIO = "{0}/EZFIO".format(qpackage_root)
|
||||
EZFIO = "{0}/install/EZFIO".format(qpackage_root)
|
||||
sys.path = [EZFIO + "/Python"] + sys.path
|
||||
|
||||
from ezfio import ezfio
|
||||
@ -51,7 +51,7 @@ def get_pseudo_str(l_atom):
|
||||
10.11238853 0 1.14052020 |1><1|
|
||||
"""
|
||||
|
||||
EMSL_root = "{0}/EMSL_Basis/".format(qpackage_root)
|
||||
EMSL_root = "{0}/install/emsl/".format(qpackage_root)
|
||||
EMSL_path = "{0}/EMSL_api.py".format(EMSL_root)
|
||||
db_path = "{0}/db/Pseudo.db".format(EMSL_root)
|
||||
|
||||
|
@ -13,23 +13,23 @@ function unique_list()
|
||||
|
||||
function check_current_dir_is_src()
|
||||
{
|
||||
if [[ "${PWD}" == "${QPACKAGE_ROOT}/src" ]]
|
||||
if [[ "${PWD}" == "${QP_ROOT}/src" ]]
|
||||
then
|
||||
return 0
|
||||
else
|
||||
echo "Current directory should be \$QPACKAGE_ROOT/src"
|
||||
echo "Current directory should be \$QP_ROOT/src"
|
||||
exit -1
|
||||
fi
|
||||
}
|
||||
|
||||
function check_current_dir_is_module()
|
||||
{
|
||||
# If the prefix ${QPACKAGE_ROOT}/src/ can be removed from $PWD, it means that
|
||||
# $PWD is somewhere below ${QPACKAGE_ROOT}/src/ so it is a module.
|
||||
# If the prefix ${QPACKAGE_ROOT}/src/ can not be removed from $PWD, then
|
||||
# "${PWD##${QPACKAGE_ROOT}/src/}" == "$PWD".
|
||||
# If the prefix ${QP_ROOT}/src/ can be removed from $PWD, it means that
|
||||
# $PWD is somewhere below ${QP_ROOT}/src/ so it is a module.
|
||||
# If the prefix ${QP_ROOT}/src/ can not be removed from $PWD, then
|
||||
# "${PWD##${QP_ROOT}/src/}" == "$PWD".
|
||||
|
||||
if [[ "${PWD##${QPACKAGE_ROOT}/src/}" != "$PWD" ]]
|
||||
if [[ "${PWD##${QP_ROOT}/src/}" != "$PWD" ]]
|
||||
then
|
||||
return 0
|
||||
else
|
||||
|
@ -3,7 +3,7 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path = [ os.environ["QPACKAGE_ROOT"]+"/EZFIO/Python" ] + sys.path
|
||||
sys.path = [ os.environ["QP_ROOT"]+"/EZFIO/Python" ] + sys.path
|
||||
from ezfio import ezfio
|
||||
|
||||
ezfio.set_filename(sys.argv[1])
|
||||
|
@ -4,9 +4,9 @@
|
||||
# directory, where xxx is the corresponding mo_label.
|
||||
# Wed Apr 2 14:35:15 CEST 2014
|
||||
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
if [[ -z ${QP_ROOT} ]]
|
||||
then
|
||||
print "The QPACKAGE_ROOT environment variable is not set."
|
||||
print "The QP_ROOT environment variable is not set."
|
||||
print "Please reload the quantum_package.rc file."
|
||||
exit -1
|
||||
fi
|
||||
|
@ -3,24 +3,24 @@
|
||||
# Upgrades the EZFIO library from the web.
|
||||
# Tue Nov 4 00:53:13 CET 2014
|
||||
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
if [[ -z ${QP_ROOT} ]]
|
||||
then
|
||||
print "The QPACKAGE_ROOT environment variable is not set."
|
||||
print "The QP_ROOT environment variable is not set."
|
||||
print "Please reload the quantum_package.rc file."
|
||||
fi
|
||||
|
||||
cd -- ${QPACKAGE_ROOT}
|
||||
mv -- ${QPACKAGE_ROOT}/EZFIO ${QPACKAGE_ROOT}/EZFIO.old
|
||||
cd -- ${QP_ROOT}
|
||||
mv -- ${QP_ROOT}/EZFIO ${QP_ROOT}/EZFIO.old
|
||||
|
||||
${QPACKAGE_ROOT}/scripts/install/install_ezfio.sh
|
||||
${QP_ROOT}/scripts/install/install_ezfio.sh
|
||||
|
||||
if [[ $? -eq 0 ]]
|
||||
then
|
||||
rm -rf -- ${QPACKAGE_ROOT}/EZFIO.old
|
||||
rm -rf -- ${QP_ROOT}/EZFIO.old
|
||||
echo "Successfully updated EZFIO"
|
||||
else
|
||||
rm -rf -- ${QPACKAGE_ROOT}/EZFIO
|
||||
mv -- ${QPACKAGE_ROOT}/EZFIO.old ${QPACKAGE_ROOT}/EZFIO
|
||||
rm -rf -- ${QP_ROOT}/EZFIO
|
||||
mv -- ${QP_ROOT}/EZFIO.old ${QP_ROOT}/EZFIO
|
||||
echo "Failed to update EZFIO"
|
||||
fi
|
||||
|
||||
|
@ -3,23 +3,23 @@
|
||||
# Upgrades IRPF90 from the web.
|
||||
# Wed Mar 25 11:41:04 CET 2015
|
||||
|
||||
if [[ -z ${QPACKAGE_ROOT} ]]
|
||||
if [[ -z ${QP_ROOT} ]]
|
||||
then
|
||||
print "The QPACKAGE_ROOT environment variable is not set."
|
||||
print "The QP_ROOT environment variable is not set."
|
||||
print "Please reload the quantum_package.rc file."
|
||||
fi
|
||||
|
||||
cd -- ${QPACKAGE_ROOT}
|
||||
mv -f -- ${QPACKAGE_ROOT}/irpf90 ${QPACKAGE_ROOT}/irpf90.old
|
||||
cd -- ${QP_ROOT}
|
||||
mv -f -- ${QP_ROOT}/irpf90 ${QP_ROOT}/irpf90.old
|
||||
|
||||
${QPACKAGE_ROOT}/scripts/install/install_irpf90.sh
|
||||
${QP_ROOT}/scripts/install/install_irpf90.sh
|
||||
|
||||
if [[ $? -eq 0 ]]
|
||||
then
|
||||
rm -rf -- ${QPACKAGE_ROOT}/irpf90.old
|
||||
rm -rf -- ${QP_ROOT}/irpf90.old
|
||||
echo "Successfully updated IRPF90"
|
||||
else
|
||||
rm -rf -- ${QPACKAGE_ROOT}/irpf90
|
||||
mv -- ${QPACKAGE_ROOT}/irpf90.old ${QPACKAGE_ROOT}/irpf90
|
||||
rm -rf -- ${QP_ROOT}/irpf90
|
||||
mv -- ${QP_ROOT}/irpf90.old ${QP_ROOT}/irpf90
|
||||
echo "Failed to update IRPF90"
|
||||
fi
|
||||
|
383
setup_environment.py
Executable file
383
setup_environment.py
Executable file
@ -0,0 +1,383 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import subprocess
|
||||
import os
|
||||
import sys
|
||||
import pprint
|
||||
|
||||
from os.path import join
|
||||
|
||||
# __ _
|
||||
# /__ | _ |_ _. | o ._ _|_ _
|
||||
# \_| |_ (_) |_) (_| | | | | | (_)
|
||||
#
|
||||
|
||||
QP_ROOT = os.getcwd()
|
||||
QP_ROOT_BIN = join(QP_ROOT, "bin")
|
||||
QP_ROOT_INSTALL = join(QP_ROOT, "install")
|
||||
|
||||
d_dependancy = {
|
||||
"ocaml": ["m4", "curl", "zlib", "patch", "gcc"],
|
||||
"m4": ["make"],
|
||||
"curl": ["make"],
|
||||
"zlib": ["gcc", "make"],
|
||||
"patch": ["make"],
|
||||
"ezfio": ["irpf90"],
|
||||
"irpf90": ["python"],
|
||||
"docopt": ["python"],
|
||||
"resultsFile": ["python"],
|
||||
"emsl": ["python"],
|
||||
"gcc": [],
|
||||
"python": [],
|
||||
"ninja": ["gcc", "python"],
|
||||
"make": []
|
||||
}
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
Info = namedtuple("Info", ["url", "description", "default_path"])
|
||||
|
||||
path_github = {"head": "http://github.com/", "tail": "archive/master.tar.gz"}
|
||||
|
||||
ocaml = Info(
|
||||
url='http://raw.github.com/ocaml/opam/master/shell/opam_installer.sh',
|
||||
description=' ocaml (it will take some time roughly 20min)',
|
||||
default_path=join(QP_ROOT_BIN, "opam"))
|
||||
|
||||
m4 = Info(
|
||||
url="http://ftp.gnu.org/gnu/m4/m4-latest.tar.gz",
|
||||
description=" m4",
|
||||
default_path=join(QP_ROOT_BIN, "m4"))
|
||||
|
||||
curl = Info(
|
||||
url="http://qmcchem.ups-tlse.fr/files/scemama/curl-7.30.0.ermine.tar.bz2",
|
||||
description=" curl",
|
||||
default_path=join(QP_ROOT_BIN, "curl"))
|
||||
|
||||
zlib = Info(
|
||||
url='http://zlib.net/zlib-1.2.8.tar.gz',
|
||||
description=' zlib',
|
||||
default_path=join(QP_ROOT_INSTALL, "zlib"))
|
||||
|
||||
path = Info(
|
||||
url='ftp://ftp.gnu.org/gnu/patch/patch-2.7.5.tar.gz',
|
||||
description=' path',
|
||||
default_path=join(QP_ROOT_BIN, "patch"))
|
||||
|
||||
irpf90 = Info(
|
||||
url='{head}/scemama/irpf90/archive/v1.6.6.tar.gz'.format(**path_github),
|
||||
description=' irpf90',
|
||||
default_path=join(QP_ROOT_BIN, "irpf90"))
|
||||
|
||||
docopt = Info(
|
||||
url='{head}/docopt/docopt/{tail}'.format(**path_github),
|
||||
description=' docop',
|
||||
default_path=join(QP_ROOT_INSTALL, "docopt"))
|
||||
|
||||
resultsFile = Info(
|
||||
url='{head}/LCPQ/resultsFile/{tail}'.format(**path_github),
|
||||
description=' resultsFile',
|
||||
default_path=join(QP_ROOT_INSTALL, "resultsFile"))
|
||||
|
||||
ninja = Info(
|
||||
url='{head}/martine/ninja/{tail}'.format(**path_github),
|
||||
description=' nina',
|
||||
default_path=join(QP_ROOT_BIN, "ninja"))
|
||||
|
||||
emsl = Info(
|
||||
url='{head}/LCPQ/EMSL_Basis_Set_Exchange_Local/{tail}'.format(**
|
||||
path_github),
|
||||
description=' emsl',
|
||||
default_path=join(QP_ROOT_INSTALL, "emsl"))
|
||||
|
||||
ezfio = Info(
|
||||
url='{head}/LCPQ/EZFIO/{tail}'.format(**path_github),
|
||||
description=' EZFIO',
|
||||
default_path=join(QP_ROOT_INSTALL, "EZFIO"))
|
||||
|
||||
d_info = dict()
|
||||
|
||||
for m in ["ocaml", "m4", "curl", "zlib", "path", "irpf90", "docopt",
|
||||
"resultsFile", "ninja", "emsl", "ezfio"]:
|
||||
exec ("d_info['{0}']={0}".format(m))
|
||||
|
||||
l_need = []
|
||||
|
||||
|
||||
# _
|
||||
# |_ ._ _ _|_ o _ ._
|
||||
# | |_| | | (_ |_ | (_) | |
|
||||
#
|
||||
def check_output(*popenargs, **kwargs):
|
||||
"""Run command with arguments and return its output as a byte string.
|
||||
|
||||
Backported from Python 2.7 as it's implemented as pure python on stdlib.
|
||||
|
||||
>>> check_output(['/usr/bin/python', '--version'])
|
||||
Python 2.6.2
|
||||
"""
|
||||
process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
|
||||
output, unused_err = process.communicate()
|
||||
retcode = process.poll()
|
||||
if retcode:
|
||||
cmd = kwargs.get("args")
|
||||
if cmd is None:
|
||||
cmd = popenargs[0]
|
||||
error = subprocess.CalledProcessError(retcode, cmd)
|
||||
error.output = output
|
||||
raise error
|
||||
return output
|
||||
|
||||
|
||||
def check_python():
|
||||
req_version = (2, 6)
|
||||
cur_version = sys.version_info
|
||||
|
||||
# Check python
|
||||
if cur_version >= req_version:
|
||||
l_installed["python"] = ""
|
||||
else:
|
||||
print "To old version (need >2.5). Abort"
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def check_avabiliy(binary):
|
||||
|
||||
if binary == "python":
|
||||
check_python()
|
||||
|
||||
try:
|
||||
return check_output(["which", binary])
|
||||
except subprocess.CalledProcessError:
|
||||
default_path = d_info[binary].default_path
|
||||
if os.path.exists(default_path):
|
||||
return default_path
|
||||
else:
|
||||
return 0
|
||||
|
||||
|
||||
def splitext(path):
|
||||
for ext in ['.tar.gz', '.tar.bz2']:
|
||||
if path.endswith(ext):
|
||||
return path[:-len(ext)], path[-len(ext):]
|
||||
return os.path.splitext(path)
|
||||
|
||||
|
||||
l_installed = dict()
|
||||
|
||||
print """
|
||||
_
|
||||
/ |_ _ _ | o ._ _
|
||||
\_ | | (/_ (_ |< | | | (_|
|
||||
_|
|
||||
"""
|
||||
|
||||
# Check all the other
|
||||
for i in d_dependancy.keys():
|
||||
print "Checking if you have {0} avalaible...".format(i),
|
||||
|
||||
r = check_avabiliy(i)
|
||||
if r:
|
||||
print "OK"
|
||||
l_installed[i] = r.strip()
|
||||
else:
|
||||
print "We will try to compile if from source in a few moment"
|
||||
l_need.append(i)
|
||||
|
||||
# Expend the need_stuff for all the genealogy
|
||||
|
||||
d_need_genealogy = dict()
|
||||
|
||||
for need in l_need:
|
||||
d_need_genealogy[need] = None
|
||||
for childen in d_dependancy[need]:
|
||||
if childen not in l_installed:
|
||||
d_need_genealogy[childen] = None
|
||||
|
||||
l_need_genealogy = d_need_genealogy.keys()
|
||||
|
||||
print """
|
||||
__
|
||||
(_ ._ _ ._ _ _. ._
|
||||
__) |_| | | | | | | (_| | \/
|
||||
/
|
||||
"""
|
||||
|
||||
print "You have already installed :"
|
||||
def f( (a1,a2), (key,value) ):
|
||||
return tuple(max(x,len(y)) for (x,y) in [(a1,key), (a2,value)] )
|
||||
fmt_tuple =reduce(f, l_installed.iteritems(), (0,0))
|
||||
for k,v in l_installed.iteritems():
|
||||
fmt = "{0:<%d} : {1:<%d}"%fmt_tuple
|
||||
print fmt.format( k, v )
|
||||
|
||||
print """
|
||||
___
|
||||
| ._ _ _|_ _. | | _. _|_ o _ ._
|
||||
_|_ | | _> |_ (_| | | (_| |_ | (_) | |
|
||||
|
||||
"""
|
||||
|
||||
if l_need_genealogy:
|
||||
print "You need to install"
|
||||
pprint.pprint(l_need_genealogy)
|
||||
else:
|
||||
print "Nothing to do"
|
||||
sys.exit()
|
||||
|
||||
if "ninja" in l_need_genealogy:
|
||||
|
||||
print """
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||
# I n s t a l l _ n i n j a #
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||
"""
|
||||
url = d_info["ninja"].url
|
||||
extension = splitext(url)[1]
|
||||
path_archive = "Downloads/{0}{1}".format("ninja", extension)
|
||||
|
||||
l_cmd = ["cd install &&",
|
||||
"wget {0} -O {1} -o /dev/null &&".format(url, path_archive),
|
||||
"./scripts/install_ninja.sh 2> /dev/null &&", "cd -"]
|
||||
|
||||
check_output(" ".join(l_cmd), shell=True)
|
||||
|
||||
print "Done"
|
||||
l_need_genealogy.remove("ninja")
|
||||
|
||||
print """
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||
# C r e a t i n g _ n i n j a #
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||
"""
|
||||
|
||||
|
||||
def create_rule():
|
||||
|
||||
l_rules = [
|
||||
"rule download", " command = wget ${url} -O ${out} -o /dev/null",
|
||||
" description = Downloading ${descr}", "", "rule install",
|
||||
" command = ./scripts/install_${target}.sh > _build/${target}.log 2>&1",
|
||||
" description = Installing ${descr}", ""
|
||||
]
|
||||
|
||||
return l_rules
|
||||
|
||||
l_string = create_rule()
|
||||
|
||||
l_build = []
|
||||
|
||||
for need in l_need_genealogy:
|
||||
|
||||
if need == "ocaml":
|
||||
continue
|
||||
|
||||
url = d_info[need].url
|
||||
extension = splitext(url)[1]
|
||||
|
||||
archive_path = "Downloads/{0}{1}".format(need, extension)
|
||||
|
||||
descr = d_info[need].description
|
||||
|
||||
# Build to dowload
|
||||
l_build += ["build {0}: download".format(archive_path),
|
||||
" url = {0}".format(url),
|
||||
" descr = {0}".format(descr), ""]
|
||||
|
||||
# Build to install
|
||||
l_dependancy = [d_info[i].default_path for i in d_dependancy[need] if i in l_need_genealogy]
|
||||
|
||||
l_build += ["build {0}: install {1} {2}".format(d_info[need].default_path,
|
||||
archive_path,
|
||||
" ".join(l_dependancy)),
|
||||
" target = {0}".format(need),
|
||||
" descr = {0}".format(descr), ""]
|
||||
|
||||
l_string += l_build
|
||||
|
||||
path = join(QP_ROOT_INSTALL, "build.ninja")
|
||||
with open(path, "w+") as f:
|
||||
f.write("\n".join(l_string))
|
||||
|
||||
print "Done"
|
||||
print "You can check at {0}".format(path)
|
||||
|
||||
print """
|
||||
# ~#~#~#~#~#~#~#~#~ #
|
||||
# R u n _ n i n j a #
|
||||
# ~#~#~#~#~#~#~#~#~ #
|
||||
"""
|
||||
|
||||
if [i for i in l_need_genealogy if i not in "ocaml"]:
|
||||
subprocess.check_call("./bin/ninja -C install", shell=True)
|
||||
|
||||
print "Done"
|
||||
|
||||
if "ocaml" in l_need_genealogy:
|
||||
|
||||
print """
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||
# I n s t a l l _ o c a m l #
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||
"""
|
||||
url = d_info["ocaml"].url
|
||||
extension = splitext(url)[1]
|
||||
path_archive = "Downloads/{0}{1}".format("ocaml", extension)
|
||||
|
||||
l_cmd = ["cd install &&",
|
||||
"wget {0} -O {1} -o /dev/null &&".format(url, path_archive),
|
||||
"./scripts/install_ocaml.sh --fast"]
|
||||
|
||||
os.system(" ".join(l_cmd))
|
||||
|
||||
print "Done"
|
||||
l_need_genealogy.remove("ocaml")
|
||||
|
||||
|
||||
print """
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||
# C r e a t e q u a n t u m _ p a c k a g e . r c
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||
"""
|
||||
|
||||
python_path = [join(QP_ROOT, "scripts"), join(QP_ROOT, "install")]
|
||||
|
||||
l_python = [join(QP_ROOT, "scripts")]
|
||||
for dir_ in python_path:
|
||||
for folder in os.listdir(dir_):
|
||||
path = join(dir_, folder)
|
||||
if os.path.isdir(path):
|
||||
l_python.append(path)
|
||||
|
||||
|
||||
def find_path(bin_):
|
||||
try:
|
||||
locate = l_installed[bin_]
|
||||
except KeyError:
|
||||
locate = d_info[bin_].default_path
|
||||
return locate
|
||||
|
||||
|
||||
l_rc = [
|
||||
'export QP_ROOT={0}'.format(QP_ROOT),
|
||||
'export QP_EZFIO={0}'.format(find_path('ezfio')),
|
||||
'export IRPF90={0}'.format(find_path("irpf90")),
|
||||
'export NINJA={0}'.format(find_path("ninja")),
|
||||
'export QP_PYTHON={0}'.format(":".join(l_python)),
|
||||
"",
|
||||
'export PYTHONPATH="${PYTHONPATH}":"${QP_PYTHON}"',
|
||||
'export PATH="${PATH}":"${QP_PYTHON}":"${QP_ROOT}"/bin:"${QP_ROOT}"/ocaml',
|
||||
'export LD_LIBRARY_PATH="${QP_ROOT}"/lib:"${LD_LIBRARY_PATH}"',
|
||||
'export LIBRARY_PATH="${QP_ROOT}"/lib:"${LIBRARY_PATH}"', ""
|
||||
'source ${HOME}/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true',
|
||||
""
|
||||
]
|
||||
|
||||
path = join(QP_ROOT, "quantum_package.rc")
|
||||
with open(path, "w+") as f:
|
||||
f.write("\n".join(l_rc))
|
||||
|
||||
print "Done"
|
||||
print "You can check at {0}".format(path)
|
||||
print "Don't forget to source it"
|
@ -1,116 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Setup script. Downloads dependencies if they are not already present
|
||||
# in the current installation.
|
||||
# Thu Oct 23 22:02:08 CEST 2014
|
||||
|
||||
BLUE="[34m"
|
||||
RED="[31m"
|
||||
BLACK="(B[m"
|
||||
|
||||
QPACKAGE_ROOT="$( cd "$(dirname "$BASH_SOURCE")" ; pwd -P )"
|
||||
|
||||
|
||||
cat << EOF > quantum_package.rc
|
||||
export QPACKAGE_ROOT=\$( cd \$(dirname "\${BASH_SOURCE}") ; pwd -P )
|
||||
export IRPF90="\${QPACKAGE_ROOT}/bin/irpf90"
|
||||
export LD_LIBRARY_PATH="\${QPACKAGE_ROOT}"/lib:\${LD_LIBRARY_PATH}
|
||||
export LIBRARY_PATH="\${QPACKAGE_ROOT}"/lib:\${LIBRARY_PATH}
|
||||
export C_INCLUDE_PATH="\${QPACKAGE_ROOT}"/include:\${C_INCLUDE_PATH}
|
||||
|
||||
export PYTHONPATH=\${PYTHONPATH}\$(find "\${QPACKAGE_ROOT}"/scripts -type d -printf ":%p")
|
||||
|
||||
export PATH=\${PATH}\$(find "\${QPACKAGE_ROOT}"/scripts -type d -printf ":%p")
|
||||
export PATH=\${PATH}:"\${QPACKAGE_ROOT}"/bin
|
||||
export PATH=\${PATH}:"\${QPACKAGE_ROOT}"/ocaml
|
||||
export PATH=\${PATH}:"\${QPACKAGE_ROOT}"/ninja
|
||||
source "\${QPACKAGE_ROOT}"/bin/irpman &> /dev/null
|
||||
EOF
|
||||
|
||||
|
||||
source quantum_package.rc
|
||||
mkdir -p install_logs
|
||||
echo "${BLUE}===== Installing IRPF90 ===== ${BLACK}"
|
||||
${QPACKAGE_ROOT}/scripts/install/install_irpf90.sh | tee ${QPACKAGE_ROOT}/install_logs/install_irpf90.log
|
||||
if [[ ! -d ${QPACKAGE_ROOT}/irpf90 ]] || [[ ! -x ${QPACKAGE_ROOT}/bin/irpf90 ]] || [[ ! -x ${QPACKAGE_ROOT}/bin/irpman ]]
|
||||
then
|
||||
echo $RED "Error in IRPF90 installation" $BLACK
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p ${QPACKAGE_ROOT}/install_logs
|
||||
|
||||
echo "${BLUE}===== Installing Ninja ===== ${BLACK}"
|
||||
${QPACKAGE_ROOT}/scripts/install/install_ninja.sh | tee ${QPACKAGE_ROOT}/install_logs/install_ninja.log
|
||||
|
||||
echo "${BLUE}===== Installing Zlib ===== ${BLACK}"
|
||||
${QPACKAGE_ROOT}/scripts/install/install_zlib.sh | tee ${QPACKAGE_ROOT}/install_logs/install_zlib.log
|
||||
|
||||
echo "${BLUE}===== Installing Curl ===== ${BLACK}"
|
||||
${QPACKAGE_ROOT}/scripts/install/install_curl.sh | tee ${QPACKAGE_ROOT}/install_logs/install_curl.log
|
||||
|
||||
echo "${BLUE}===== Installing M4 ===== ${BLACK}"
|
||||
${QPACKAGE_ROOT}/scripts/install/install_m4.sh | tee ${QPACKAGE_ROOT}/install_logs/install_m4.log
|
||||
|
||||
echo "${BLUE}===== Installing Docopt ===== ${BLACK}"
|
||||
${QPACKAGE_ROOT}/scripts/install/install_docopt.sh | tee ${QPACKAGE_ROOT}/install_logs/install_docopt.log
|
||||
|
||||
echo "${BLUE}===== Installing EMSL Basis set library ===== ${BLACK}"
|
||||
${QPACKAGE_ROOT}/scripts/install/install_emsl.sh | tee ${QPACKAGE_ROOT}/install_logs/install_emsl.log
|
||||
|
||||
if [[ ! -d ${QPACKAGE_ROOT}/EMSL_Basis ]]
|
||||
then
|
||||
echo $RED "Error in EMSL Basis set library installation" $BLACK
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "${BLUE}===== Installing EZFIO ===== ${BLACK}"
|
||||
|
||||
${QPACKAGE_ROOT}/scripts/install/install_ezfio.sh | tee ${QPACKAGE_ROOT}/install_logs/install_ezfio.log
|
||||
if [[ ! -d ${QPACKAGE_ROOT}/EZFIO ]]
|
||||
then
|
||||
echo $RED "Error in EZFIO installation" $BLACK
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
echo "${BLUE}===== Installing Ocaml compiler and libraries ===== ${BLACK}"
|
||||
rm -f -- ocaml/Qptypes.ml
|
||||
${QPACKAGE_ROOT}/scripts/install/install_ocaml.sh | tee ${QPACKAGE_ROOT}/install_logs/install_ocaml.log
|
||||
|
||||
if [[ ! -f ${QPACKAGE_ROOT}/ocaml/Qptypes.ml ]]
|
||||
then
|
||||
echo $RED "Error in Ocaml installation" $BLACK
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "${BLUE}===== Installing resultsFile Python library ===== ${BLACK}"
|
||||
${QPACKAGE_ROOT}/scripts/install/install_resultsFile.sh
|
||||
if [[ ! -d ${QPACKAGE_ROOT}/resultsFile ]]
|
||||
then
|
||||
echo $RED "Error in resultsFile installation" $BLACK
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
echo $RED "
|
||||
=======================================================
|
||||
To complete the installation, add the following line to
|
||||
your ~/.bashrc:
|
||||
|
||||
source ${QPACKAGE_ROOT}/quantum_package.rc
|
||||
|
||||
=======================================================
|
||||
" $BLACK
|
||||
|
||||
|
||||
|
||||
|
||||
if [[ $1 == "--robot" ]] ;
|
||||
then
|
||||
exit 0
|
||||
else
|
||||
source quantum_package.rc
|
||||
exec bash
|
||||
fi
|
||||
|
@ -10,7 +10,7 @@ END_PROVIDER
|
||||
|
||||
BEGIN_SHELL [ /bin/bash ]
|
||||
|
||||
for NAME in $(\ls -d ${QPACKAGE_ROOT}/src/*/)
|
||||
for NAME in $(\ls -d ${QP_ROOT}/src/*/)
|
||||
do
|
||||
NAME=$(basename ${NAME})
|
||||
cat << EOF
|
||||
|
@ -3,7 +3,7 @@ subroutine save_mos
|
||||
double precision, allocatable :: buffer(:,:)
|
||||
integer :: i,j
|
||||
|
||||
call system('$QPACKAGE_ROOT/scripts/save_current_mos.sh '//trim(ezfio_filename))
|
||||
call system('$QP_ROOT/scripts/save_current_mos.sh '//trim(ezfio_filename))
|
||||
|
||||
call ezfio_set_mo_basis_mo_tot_num(mo_tot_num)
|
||||
call ezfio_set_mo_basis_mo_label(mo_label)
|
||||
|
@ -2,7 +2,7 @@ BEGIN_SHELL [ /usr/bin/env python ]
|
||||
from perturbation import perturbations
|
||||
import os
|
||||
|
||||
filename = os.environ["QPACKAGE_ROOT"]+"/src/Perturbation/perturbation.template.f"
|
||||
filename = os.environ["QP_ROOT"]+"/src/Perturbation/perturbation.template.f"
|
||||
file = open(filename,'r')
|
||||
template = file.read()
|
||||
file.close()
|
||||
|
@ -31,7 +31,7 @@ Creating a new module
|
||||
=====================
|
||||
|
||||
Every new module should be created using the interactive ``create_module.sh``
|
||||
script located in the ``${QPACKAGE_ROOT}/scripts`` directory. This will create
|
||||
script located in the ``${QP_ROOT}/scripts`` directory. This will create
|
||||
all the required files with correct templates.
|
||||
|
||||
|
||||
@ -88,7 +88,7 @@ HTML, man, etc.
|
||||
Creating a shell script
|
||||
=======================
|
||||
|
||||
Shell scripts should be located in the ``${QPACKAGE_ROOT}/scripts`` directory.
|
||||
Shell scripts should be located in the ``${QP_ROOT}/scripts`` directory.
|
||||
Relative paths should be avoided as much as possible, and the result of commands
|
||||
should be always checked. For example, when creating a directory the existence
|
||||
of the directory has to be checked.
|
||||
|
@ -5,9 +5,9 @@ import subprocess
|
||||
import os
|
||||
import sys
|
||||
|
||||
qpackage_root = os.environ['QPACKAGE_ROOT']
|
||||
qpackage_root = os.environ['QP_ROOT']
|
||||
|
||||
EZFIO = "{0}/EZFIO".format(qpackage_root)
|
||||
EZFIO = "{0}/install/EZFIO".format(qpackage_root)
|
||||
sys.path = [EZFIO + "/Python"] + sys.path
|
||||
|
||||
from ezfio import ezfio
|
||||
|
Loading…
Reference in New Issue
Block a user