commit: 1cea3d90e480febc599b71ef6ccdbfc07be28fe5
Author: Tiziano Müller <dev-zero <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 20 08:54:31 2016 +0000
Commit: Tiziano Müller <dev-zero <AT> gentoo <DOT> org>
CommitDate: Wed Jul 20 08:54:31 2016 +0000
URL: https://gitweb.gentoo.org/dev/dev-zero.git/commit/?id=1cea3d90
dev-python/ase-espresso: switch to maintained fork
dev-python/ase-espresso/ase-espresso-9999.ebuild | 48 +-
.../ase-espresso-9999-basic-py3-support.patch | 551 ---------------------
.../ase-espresso-9999-espfilter-libexec.patch | 13 -
3 files changed, 4 insertions(+), 608 deletions(-)
diff --git a/dev-python/ase-espresso/ase-espresso-9999.ebuild
b/dev-python/ase-espresso/ase-espresso-9999.ebuild
index 4187edd..705f3e3 100644
--- a/dev-python/ase-espresso/ase-espresso-9999.ebuild
+++ b/dev-python/ase-espresso/ase-espresso-9999.ebuild
@@ -5,11 +5,11 @@
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
-inherit python-r1 toolchain-funcs git-r3
+inherit distutils-r1 git-r3
DESCRIPTION="Python ASE interface for Quantum Espresso"
-HOMEPAGE="https://github.com/vossjo/ase-espresso/wiki"
-EGIT_REPO_URI="https://github.com/vossjo/ase-espresso.git"
+HOMEPAGE="https://github.com/lmmentel/ase-espresso"
+EGIT_REPO_URI="https://github.com/lmmentel/ase-espresso.git"
LICENSE="GPL-3"
SLOT="0"
@@ -19,44 +19,4 @@ IUSE=""
DEPEND="dev-python/ase[${PYTHON_USEDEP}]"
RDEPEND="${DEPEND}"
-PATCHES=(
- "${FILESDIR}/${P}-espfilter-libexec.patch"
- "${FILESDIR}/${P}-basic-py3-support.patch"
-)
-
-src_prepare() {
- # remove b0rken forward-to-make
- rm setup.py
-
- default
-}
-
-src_configure() {
- sed -i \
- -e "s|GITVERSION|${EGIT_VERSION}|" \
- __init__.py || die
-}
-
-src_compile() {
- for e in cubecutperiodic espfilter ; do
- $(tc-getCC) ${LDFLAGS} ${CFLAGS} \
- -o "c-src/${e}" "c-src/${e}.c" || die "building ${e}
failed"
- done
-}
-
-src_install() {
- installation() {
- python_doexe pwlog2trajectory
-
- insinto "$(python_get_sitedir)/espresso"
- doins espsite.py.example.* *.py
- python_optimize
- }
- python_foreach_impl installation
-
- dobin c-src/cubecutperiodic
- exeinto /usr/libexec
- doexe c-src/espfilter
-
- dodoc README.md
-}
+PATCHES=( "${FILESDIR}/lmmentel-kpoints-fix.patch" )
diff --git
a/dev-python/ase-espresso/files/ase-espresso-9999-basic-py3-support.patch
b/dev-python/ase-espresso/files/ase-espresso-9999-basic-py3-support.patch
deleted file mode 100644
index c5516f6..0000000
--- a/dev-python/ase-espresso/files/ase-espresso-9999-basic-py3-support.patch
+++ /dev/null
@@ -1,551 +0,0 @@
-diff --git a/__init__.py b/__init__.py
-index 439a037..b181e54 100644
---- a/__init__.py
-+++ b/__init__.py
-@@ -10,10 +10,10 @@ gitver = 'GITVERSION'
- import os
-
- try:
-- import espsite
-+ from . import espsite
- except ImportError:
-- print '*** ase-espresso requires a site-specific espsite.py in
PYTHONPATH.'
-- print '*** You may use the espsite.py.example.* in the git checkout as
templates.'
-+ print('*** ase-espresso requires a site-specific espsite.py in
PYTHONPATH.')
-+ print('*** You may use the espsite.py.example.* in the git checkout as
templates.')
- raise ImportError
- site = espsite.config()
-
-@@ -21,10 +21,9 @@ from ase.calculators.general import Calculator
- import atexit
- import sys, string
- import numpy as np
--from types import FileType, StringType
--from constants import *
--from utils import *
--from subdirs import *
-+from .constants import *
-+from .utils import *
-+from .subdirs import *
-
- # ase controlled pw.x's register themselves here, so they can be
- # stopped automatically
-@@ -394,7 +393,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- if type(kpts)==float or type(kpts)==int:
- from ase.calculators.calculator import kptdensity2monkhorstpack
- kpts = kptdensity2monkhorstpack(atoms, kpts)
-- elif isinstance(kpts, StringType):
-+ elif isinstance(kpts, str):
- assert kpts == 'gamma'
- else:
- assert len(kpts) == 3
-@@ -594,11 +593,11 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- atoms.set_calculator(self)
-
- if hasattr(site, 'mpi_not_setup') and self.onlycreatepwinp is None:
-- print '*** Without cluster-adjusted espsite.py, ase-espresso can
only be used'
-- print '*** to create input files for pw.x via the option
onlycreatepwinp.'
-- print '*** Otherwise, ase-espresso requires a site-specific
espsite.py'
-- print '*** in PYTHONPATH.'
-- print '*** You may use the espsite.py.example.* in the git
checkout as templates.'
-+ print('*** Without cluster-adjusted espsite.py, ase-espresso can
only be used')
-+ print('*** to create input files for pw.x via the option
onlycreatepwinp.')
-+ print('*** Otherwise, ase-espresso requires a site-specific
espsite.py')
-+ print('*** in PYTHONPATH.')
-+ print('*** You may use the espsite.py.example.* in the git
checkout as templates.')
- raise ImportError
-
-
-@@ -621,7 +620,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- try:
- self.psppath = os.environ['ESP_PSP_PATH']
- except:
-- print 'Unable to find pseudopotential path. Consider setting
ESP_PSP_PATH environment variable'
-+ print('Unable to find pseudopotential path. Consider setting
ESP_PSP_PATH environment variable')
- raise
- if self.dipole is None:
- self.dipole = {'status':False}
-@@ -631,7 +630,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- if self.convergence is None:
- self.conv_thr = 1e-6/rydberg
- else:
-- if self.convergence.has_key('energy'):
-+ if 'energy' in self.convergence:
- self.conv_thr = self.convergence['energy']/rydberg
- else:
- self.conv_thr = 1e-6/rydberg
-@@ -654,11 +653,11 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- self.log = self.txt
- self.scratch = mkscratch(self.localtmp, site)
- if self.output is not None:
-- if self.output.has_key('removewf'):
-+ if 'removewf' in self.output:
- removewf = self.output['removewf']
- else:
- removewf = True
-- if self.output.has_key('removesave'):
-+ if 'removesave' in self.output:
- removesave = self.output['removesave']
- else:
- removesave = False
-@@ -741,7 +740,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- if type(self.U)==dict:
- Ulist = np.zeros(len(symbols), np.float)
- for i,s in enumerate(symbols):
-- if self.U.has_key(s):
-+ if s in self.U:
- Ulist[i] = self.U[s]
- else:
- Ulist = list(self.U)
-@@ -754,7 +753,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- if type(self.J)==dict:
- Jlist = np.zeros(len(symbols), np.float)
- for i,s in enumerate(symbols):
-- if self.J.has_key(s):
-+ if s in self.J:
- Jlist[i] = self.J[s]
- else:
- Jlist = list(self.J)
-@@ -767,7 +766,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- if type(self.U_alpha)==dict:
- U_alphalist = np.zeros(len(symbols), np.float)
- for i,s in enumerate(symbols):
-- if self.U_alpha.has_key(s):
-+ if s in self.U_alpha:
- U_alphalist[i] = self.U_alpha[s]
- else:
- U_alphalist = list(self.U_alpha)
-@@ -784,7 +783,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- symcounter[s] = 0
- for i in range(len(symbols)):
- key = symbols[i]+'_m%.14eU%.14eJ%.14eUa%.14e' %
(magmoms[i],Ulist[i],Jlist[i],U_alphalist[i])
-- if dic.has_key(key):
-+ if key in dic:
- self.specprops.append((dic[key][1],pos[i]))
- else:
- symcounter[symbols[i]] += 1
-@@ -825,7 +824,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- overridekpts=None, overridekptshift=None, overridenbands=None,
- suppressforcecalc=False, usetetrahedra=False):
- if self.atoms is None:
-- raise ValueError, 'no atoms defined'
-+ raise ValueError('no atoms defined')
- if self.cancalc:
- fname = self.localtmp+'/'+filename
- #f = open(self.localtmp+'/pw.inp', 'w')
-@@ -866,14 +865,14 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- if self.calcstress:
- print >>f, ' tstress=.true.,'
- if self.output is not None:
-- if self.output.has_key('avoidio'):
-+ if 'avoidio' in self.output:
- if self.output['avoidio']:
- self.output['disk_io'] = 'none'
-- if self.output.has_key('disk_io'):
-+ if 'disk_io' in self.output:
- if self.output['disk_io'] in ['high', 'low', 'none']:
- print >>f, ' disk_io=\''+self.output['disk_io']+'\','
-
-- if self.output.has_key('wf_collect'):
-+ if 'wf_collect' in self.output:
- if self.output['wf_collect']:
- print >>f, ' wf_collect=.true.,'
- if self.opt_algorithm!='ase3' or not self.cancalc:
-@@ -941,7 +940,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- if self.tot_magnetization != 'hund':
- self.totmag = self.tot_magnetization
- else:
-- from atomic_configs import hundmag
-+ from .atomic_configs import hundmag
- self.totmag = sum([hundmag(x) for x in
self.atoms.get_chemical_symbols()])
- print >>f, '
tot_magnetization='+num2str(self.totmag*inimagscale)+','
- print >>f, ' ecutwfc='+num2str(self.pw/rydberg)+','
-@@ -1030,15 +1029,15 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- if dipfield or efield:
- print >>f, ' edir='+str(edir)+','
- if dipfield:
-- if self.dipole.has_key('emaxpos'):
-+ if 'emaxpos' in self.dipole:
- emaxpos = self.dipole['emaxpos']
- else:
- emaxpos = self.find_max_empty_space(edir)
-- if self.dipole.has_key('eopreg'):
-+ if 'eopreg' in self.dipole:
- eopreg = self.dipole['eopreg']
- else:
- eopreg = 0.025
-- if self.dipole.has_key('eamp'):
-+ if 'eamp' in self.dipole:
- eamp = self.dipole['eamp']
- else:
- eamp = 0.0
-@@ -1046,15 +1045,15 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- print >>f, ' eopreg='+num2str(eopreg)+','
- print >>f, ' eamp='+num2str(eamp)+','
- if efield:
-- if self.field.has_key('emaxpos'):
-+ if 'emaxpos' in self.field:
- emaxpos = self.field['emaxpos']
- else:
- emaxpos = 0.0
-- if self.field.has_key('eopreg'):
-+ if 'eopreg' in self.field:
- eopreg = self.field['eopreg']
- else:
- eopreg = 0.0
-- if self.field.has_key('eamp'):
-+ if 'eamp' in self.field:
- eamp = self.field['eamp']
- else:
- eamp = 0.0
-@@ -1367,7 +1366,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- ### closing PWscf input file ###
- f.close()
- if self.verbose == 'high':
-- print '\nPWscf input file %s written\n' % fname
-+ print('\nPWscf input file %s written\n' % fname)
-
- def set_atoms(self, atoms):
- if self.atoms is None or not self.started:
-@@ -1511,18 +1510,18 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- break
- if a[:20]==' convergence NOT':
- self.stop()
-- raise RuntimeError, 'scf cycles did not converge\nincrease
maximum number of steps and/or decreasing mixing'
-+ raise RuntimeError('scf cycles did not converge\nincrease
maximum number of steps and/or decreasing mixing')
- elif a[:13]==' stopping':
- self.stop()
- self.checkerror()
- #if checkerror shouldn't find an error here,
- #throw this generic error
-- raise RuntimeError, 'SCF calculation failed'
-+ raise RuntimeError('SCF calculation failed')
- elif a=='' and self.calcmode in
('ase3','relax','scf','vc-relax','vc-md','md'):
- self.checkerror()
- #if checkerror shouldn't find an error here,
- #throw this generic error
-- raise RuntimeError, 'SCF calculation failed'
-+ raise RuntimeError('SCF calculation failed')
- self.atom_occ = atom_occ
- self.results['magmoms'] = magmoms
- if self.calcmode in
('ase3','relax','scf','vc-relax','vc-md','md','hund'):
-@@ -1574,22 +1573,22 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- a = self.cout.readline()
- s.write(a)
- if not self.dontcalcforces:
-- while a[:11]!=' Forces':
-- a = self.cout.readline()
-- s.write(a)
-- s.flush()
-- a = self.cout.readline()
-- s.write(a)
-- self.forces = np.empty((self.natoms,3), np.float)
-- for i in range(self.natoms):
-- a = self.cout.readline()
-- while a.find('force')<0:
-- s.write(a)
-- a = self.cout.readline()
-- s.write(a)
-- forceinp = a.split()
-- self.forces[i][:] = [float(x) for x in
forceinp[len(forceinp)-3:]]
-- self.forces *= rydberg_over_bohr
-+ while a[:11]!=' Forces':
-+ a = self.cout.readline()
-+ s.write(a)
-+ s.flush()
-+ a = self.cout.readline()
-+ s.write(a)
-+ self.forces = np.empty((self.natoms,3), np.float)
-+ for i in range(self.natoms):
-+ a = self.cout.readline()
-+ while a.find('force')<0:
-+ s.write(a)
-+ a = self.cout.readline()
-+ s.write(a)
-+ forceinp = a.split()
-+ self.forces[i][:] = [float(x) for x in
forceinp[len(forceinp)-3:]]
-+ self.forces *= rydberg_over_bohr
- else:
- self.forces = None
- else:
-@@ -1993,7 +1992,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- p.close()
-
- if len(s)!=3:
-- raise RuntimeError, 'stress was not calculated\nconsider
specifying calcstress or running a unit cell relaxation'
-+ raise RuntimeError('stress was not calculated\nconsider
specifying calcstress or running a unit cell relaxation')
-
- stress = np.empty((3,3), np.float)
- for i in range(3):
-@@ -2048,7 +2047,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- try:
- n = int(p.readline().split()[0].strip(':'))
- except:
-- raise RuntimeError, 'Espresso executable doesn\'t seem to have
been started.'
-+ raise RuntimeError('Espresso executable doesn\'t seem to have
been started.')
- p.close()
-
- p = os.popen(('tail -n +%d ' % n)+self.log+' | grep -n
%%%%%%%%%%%%%%%% |tail -2','r')
-@@ -2074,7 +2073,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- msg = ''
- for e in err:
- msg += e
-- raise RuntimeError, msg[:len(msg)-1]
-+ raise RuntimeError(msg[:len(msg)-1])
-
- def relax_cell_and_atoms(self,
- cell_dynamics='bfgs', # {'none', 'sd', 'damp-pr', 'damp-w',
'bfgs'}
-@@ -2186,9 +2185,9 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
-
- def run_ppx(self, inp, log=None, inputpp=[], plot=[],
- output_format=5, iflag=3, piperead=False, parallel=True):
-- if self.output.has_key('disk_io'):
-+ if 'disk_io' in self.output:
- if self.output['disk_io'] == 'none':
-- print "run_ppx requires output['disk_io'] to be at least
'low' and avoidio=False"
-+ print("run_ppx requires output['disk_io'] to be at least
'low' and avoidio=False")
- self.stop()
- f = open(self.localtmp+'/'+inp, 'w')
- print >>f, '&INPUTPP\n prefix=\'calc\',\n outdir=\'.\','
-@@ -2229,7 +2228,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- efermi = float(p.readline().split()[-2])
- p.close()
- except:
-- raise RuntimeError, 'get_fermi_level called before DFT
calculation was run'
-+ raise RuntimeError('get_fermi_level called before DFT calculation
was run')
- return efermi
-
-
-@@ -2349,7 +2348,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- else:
- #ncomponents = 2*j+1 +1 (latter for m summed up)
- ncomponents = int(2.*float(channel[jpos+2:]))+2
-- if not self.pdos[iatom].has_key(channel):
-+ if channel not in self.pdos[iatom]:
- self.pdos[iatom][channel] = np.zeros((ncomponents,npoints),
np.float)
- first = True
- else:
-@@ -2468,7 +2467,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- while a.find('<ATM')<0 and a!='':
- a = f.readline()
- if a=='':
-- raise RuntimeError, 'no projections found'
-+ raise RuntimeError('no projections found')
-
- while True:
- while a.find('<ATM')<0 and a!='':
-@@ -2570,7 +2569,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- f.write(x)
- x = stream.readline()
- if x=='':
-- raise RuntimeError, 'error reading 3D data grid'
-+ raise RuntimeError('error reading 3D data grid')
- f.write(x)
- nx, ny, nz = [int(y) for y in stream.readline().split()]
- origin = np.array([float(y) for y in stream.readline().split()])
-@@ -2596,7 +2595,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- f.write(x)
- x = stream.readline()
- if x=='':
-- raise RuntimeError, 'error reading 2D data grid'
-+ raise RuntimeError('error reading 2D data grid')
- f.write(x)
- nx, ny = [int(y) for y in stream.readline().split()]
- origin = np.array([float(y) for y in stream.readline().split()])
-@@ -2627,7 +2626,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- elif spin=='down' or spin==2:
- s = 2
- else:
-- raise ValueError, 'unknown spin component'
-+ raise ValueError('unknown spin component')
-
- p = self.run_ppx('charge.inp',
- inputpp=[['plot_num',0],['spin_component',s]],
-@@ -2648,7 +2647,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- elif spin=='down' or spin==2:
- s = 2
- else:
-- raise ValueError, 'unknown spin component'
-+ raise ValueError('unknown spin component')
-
- self.run_ppx('charge.inp',
- inputpp=[['plot_num',0],['spin_component',s]],
-@@ -2668,7 +2667,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- elif spin=='down' or spin==2:
- s = 2
- else:
-- raise ValueError, 'unknown spin component'
-+ raise ValueError('unknown spin component')
-
- p = self.run_ppx('totalpot.inp',
- inputpp=[['plot_num',1],['spin_component',s]],
-@@ -2689,7 +2688,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- elif spin=='down' or spin==2:
- s = 2
- else:
-- raise ValueError, 'unknown spin component'
-+ raise ValueError('unknown spin component')
-
- self.run_ppx('totalpot.inp',
- inputpp=[['plot_num',1],['spin_component',s]],
-@@ -2831,7 +2830,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- elif spin=='z':
- s = 3
- else:
-- raise ValueError, 'unknown spin component'
-+ raise ValueError('unknown spin component')
- if self.spinpol:
- p = os.popen('grep "number of k points=" '+self.log+'|tail -1|tr
\'=\' \' \'', 'r')
- nkp = int(p.readline().split()[4])
-@@ -2870,7 +2869,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- elif spin=='z':
- s = 3
- else:
-- raise ValueError, 'unknown spin component'
-+ raise ValueError('unknown spin component')
- if self.spinpol:
- p = os.popen('grep "number of k points=" '+self.log+'|tail -1|tr
\'=\' \' \'', 'r')
- nkp = int(p.readline().split()[4])
-@@ -2947,7 +2946,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- elif spin=='down' or spin==2:
- s = 2
- else:
-- raise ValueError, 'unknown spin component'
-+ raise ValueError('unknown spin component')
-
- inputpp=[['plot_num',10],['spin_component',s]]
- efermi = self.get_fermi_level()
-@@ -2975,7 +2974,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- elif spin=='down' or spin==2:
- s = 2
- else:
-- raise ValueError, 'unknown spin component'
-+ raise ValueError('unknown spin component')
-
- inputpp=[['plot_num',10],['spin_component',s]]
- efermi = self.get_fermi_level()
-@@ -3050,7 +3049,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- elif spin=='z':
- s = 3
- else:
-- raise ValueError, 'unknown spin component'
-+ raise ValueError('unknown spin component')
- p = self.run_ppx('noncollmag.inp',
- inputpp=[['plot_num',13],['spin_component',s]],
- piperead=True, parallel=False)
-@@ -3072,7 +3071,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- elif spin=='z':
- s = 3
- else:
-- raise ValueError, 'unknown spin component'
-+ raise ValueError('unknown spin component')
- self.run_ppx('noncollmag.inp',
- inputpp=[['plot_num',13],['spin_component',s]],
- plot=[['fileout',self.topath(xsf)]],
-@@ -3091,7 +3090,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- elif spin=='down' or spin==2:
- s = 2
- else:
-- raise ValueError, 'unknown spin component'
-+ raise ValueError('unknown spin component')
-
- p = self.run_ppx('aecharge.inp',
- inputpp=[['plot_num',17],['spin_component',s]],
-@@ -3112,7 +3111,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- elif spin=='down' or spin==2:
- s = 2
- else:
-- raise ValueError, 'unknown spin component'
-+ raise ValueError('unknown spin component')
-
- self.run_ppx('aecharge.inp',
- inputpp=[['plot_num',17],['spin_component',s]],
-@@ -3261,7 +3260,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- # if there's a dipole, we need to return 2 work functions - one for
either direction away from the slab
- if self.dipole['status']:
- eopreg = 0.025
-- if self.dipole.has_key('eopreg'):
-+ if 'eopreg' in self.dipole:
- eopreg = self.dipole['eopreg']
- # we use cell_length*eopreg*2.5 here since the work functions
seem to converge at that distance rather than *1 or *2
- vac_pos1 = (vacuum_pos - cell_length*eopreg*2.5) % cell_length
-@@ -3306,7 +3305,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
-
-
- def get_world(self):
-- from worldstub import world
-+ from .worldstub import world
- return world(site.nprocs)
-
-
-diff --git a/espsite.py b/espsite.py
-index 68df03a..1ab90f7 100644
---- a/espsite.py
-+++ b/espsite.py
-@@ -9,7 +9,7 @@ class config:
- self.submitdir = '.'
- self.batch = False
- self.mpi_not_setup = True
-- if not os.environ.has_key('ESP_PSP_PATH'):
-+ if 'ESP_PSP_PATH' not in os.environ:
- os.environ['ESP_PSP_PATH'] = '.'
-
- def do_perProcMpiExec(self, workdir, program):
-diff --git a/multiespresso.py b/multiespresso.py
-index 3be1d51..08b5daa 100644
---- a/multiespresso.py
-+++ b/multiespresso.py
-@@ -66,9 +66,9 @@ class multiespresso:
- a = self.calculators[i].cerr.readline()
- notdone |= (a!='' and a[:17]!='! total energy')
- if a[:13]==' stopping':
-- raise RuntimeError, 'problem with calculator #%d'
% i
-+ raise RuntimeError('problem with calculator #%d'
% i)
- elif a[:20]==' convergence NOT':
-- raise RuntimeError, 'calculator #%d did not
converge' % i
-+ raise RuntimeError('calculator #%d did not
converge' % i)
- elif a[1:17]!=' total energy':
- stderr.write(a)
- else:
-@@ -85,7 +85,7 @@ class multiespresso:
-
- def set_images(self, images):
- if len(images)!=self.ncalc:
-- raise ValueError, 'number of images (%d) doesn\'t match number of
calculators (%d)' % (len(images),self.ncalc)
-+ raise ValueError('number of images (%d) doesn\'t match number of
calculators (%d)' % (len(images),self.ncalc))
- for i in range(self.ncalc):
- images[i].set_calculator(self.calculators[i])
- self.images = images
-diff --git a/subdirs.py b/subdirs.py
-index 5b24a87..081ff2c 100644
---- a/subdirs.py
-+++ b/subdirs.py
-@@ -64,7 +64,7 @@ def cleanup(tmp, scratch, removewf, removesave, calc, site):
- os.chdir(tmp)
- os.system(pernodeexec + ' rm -r '+scratch+' 2>/dev/null')
- os.chdir(cdir)
-- if hasattr(site, 'mpdshutdown') and not
os.environ.has_key('QEASE_MPD_ISSHUTDOWN'):
-+ if hasattr(site, 'mpdshutdown') and 'QEASE_MPD_ISSHUTDOWN' not in
os.environ:
- os.environ['QEASE_MPD_ISSHUTDOWN'] = 'yes'
- os.system(site.mpdshutdown)
-
-diff --git a/utils.py b/utils.py
-index d26c3d1..bbbf6c0 100644
---- a/utils.py
-+++ b/utils.py
-@@ -72,11 +72,11 @@ def convert_constraints(atoms):
- elif isinstance(d, constraints.FixInternals.FixDihedral):
- otherconstr.append("'torsional_angle' %d %d %d %d %s"
%
(d.indices[0]+1,d.indices[1]+1,d.indices[2]+1,d.indices[3]+1,num2str(np.arccos(d.angle)*180./np.pi)))
- else:
-- raise NotImplementedError, 'constraint '+d.__name__+'
from FixInternals not implemented\n' \
-- 'consider ase-based relaxation with this
constraint instead'
-+ raise NotImplementedError('constraint '+d.__name__+'
from FixInternals not implemented\n' \
-+ 'consider ase-based relaxation with this
constraint instead')
- else:
-- raise NotImplementedError, 'constraint '+c.__name__+' not
implemented\n' \
-- 'consider ase-based relaxation with this constraint
instead'
-+ raise NotImplementedError('constraint '+c.__name__+' not
implemented\n' \
-+ 'consider ase-based relaxation with this constraint
instead')
- return forcefilter,otherconstr
- else:
- return [],[]
diff --git
a/dev-python/ase-espresso/files/ase-espresso-9999-espfilter-libexec.patch
b/dev-python/ase-espresso/files/ase-espresso-9999-espfilter-libexec.patch
deleted file mode 100644
index 3d4c85d..0000000
--- a/dev-python/ase-espresso/files/ase-espresso-9999-espfilter-libexec.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/__init__.py b/__init__.py
-index 439a037..1cb8d45 100644
---- a/__init__.py
-+++ b/__init__.py
-@@ -1701,7 +1701,7 @@ svn co --username anonymous
http://qeforge.qe-forge.org/svn/q-e/branches/espress
- if not self.proclist:
- self.cinp, self.cout =
site.do_perProcMpiExec(self.scratch,'pw.x '+self.parflags+' -in pw.inp')
- else:
-- self.cinp, self.cout, self.cerr =
site.do_perSpecProcMpiExec(self.mycpus,self.myncpus,self.scratch,'pw.x
'+self.parflags+' -in pw.inp|'+self.mypath+'/espfilter '+str(self.natoms)+'
'+self.log+'0')
-+ self.cinp, self.cout, self.cerr =
site.do_perSpecProcMpiExec(self.mycpus,self.myncpus,self.scratch,'pw.x
'+self.parflags+' -in pw.inp|/usr/libexec/espfilter '+str(self.natoms)+'
'+self.log+'0')
- else:
- site.runonly_perProcMpiExec(self.scratch,' pw.x -in
pw.inp >>'+self.log)
- os.system("sed s/occupations.*/occupations=\\'fixed\\',/
<"+self.localtmp+"/pw.inp | sed s/ELECTRONS/ELECTRONS\\\\n\ \
startingwfc=\\'file\\',\\\\n\ \ startingpot=\\'file\\',/ | sed
s/conv_thr.*/conv_thr="+num2str(self.conv_thr)+",/ | sed
s/tot_magnetization.*/tot_magnetization="+num2str(self.totmag)+",/
>"+self.localtmp+"/pw2.inp")