summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Kriegner <dominik.kriegner@gmail.com>2015-04-28 23:32:16 +0200
committerDominik Kriegner <dominik.kriegner@gmail.com>2015-04-28 23:32:16 +0200
commit86ae3535fe363ecc99657394c0f11db1c728a692 (patch)
tree6150c1dd82f5644bb8d8d432975e8da2696f54b9
parentadd metadata.xml files (diff)
downloadanaximander-86ae3535fe363ecc99657394c0f11db1c728a692.tar.gz
anaximander-86ae3535fe363ecc99657394c0f11db1c728a692.tar.bz2
anaximander-86ae3535fe363ecc99657394c0f11db1c728a692.zip
bump xrayutilities to 1.1.2
remove old deprecated patches
-rw-r--r--sci-physics/xrayutilities/Manifest6
-rw-r--r--sci-physics/xrayutilities/files/xrayutilities-1.0.3-python3.patch452
-rw-r--r--sci-physics/xrayutilities/files/xrayutilities-9999-python3.patch452
-rw-r--r--sci-physics/xrayutilities/xrayutilities-1.1.2.ebuild (renamed from sci-physics/xrayutilities/xrayutilities-1.1.1.ebuild)0
4 files changed, 2 insertions, 908 deletions
diff --git a/sci-physics/xrayutilities/Manifest b/sci-physics/xrayutilities/Manifest
index 5d01eaa..e0eec10 100644
--- a/sci-physics/xrayutilities/Manifest
+++ b/sci-physics/xrayutilities/Manifest
@@ -1,6 +1,4 @@
-AUX xrayutilities-1.0.3-python3.patch 17984 SHA256 fd3fde5d21669cd4d56b0b451fddc750f1eea5e409300450f75079d4594b6c91 SHA512 3a5055d14e4c69a2a867bf6a23daddfca0d3c5fb0934d67b84d442d6ea53852b700cf9e57e71b5d3a31b2353777e822d735d53aa1fe05ae5abc95cefce8a861b WHIRLPOOL 87cf4ae234e54dc9f37f46e2bc25ca570af377b25dc729eae1eaa9ab708fe440f0ee351936ca9675ed3228beee9e928207961a1c5e84f7c7eae27b57d343eb19
-AUX xrayutilities-9999-python3.patch 17984 SHA256 fd3fde5d21669cd4d56b0b451fddc750f1eea5e409300450f75079d4594b6c91 SHA512 3a5055d14e4c69a2a867bf6a23daddfca0d3c5fb0934d67b84d442d6ea53852b700cf9e57e71b5d3a31b2353777e822d735d53aa1fe05ae5abc95cefce8a861b WHIRLPOOL 87cf4ae234e54dc9f37f46e2bc25ca570af377b25dc729eae1eaa9ab708fe440f0ee351936ca9675ed3228beee9e928207961a1c5e84f7c7eae27b57d343eb19
-DIST xrayutilities-1.1.1.tar.gz 11556155 SHA256 b4150e94c5644647be979b2526d085fb5b4c27377bc0be7c84a15634375bc1db SHA512 827e8ca73b6c3183b5ae8dd801a21cc7e48e1918ccf47f69728eb2b44eda978c2f3f9aaaadc6e7e061cbd91eb821f1d1122e399b2a89a0ee724a95dba305dcf2 WHIRLPOOL 95ed892939da7a4c4570c1ddd0cde36216a649c7e9ef4064b82f5523ce67c85d05cc51a11812d480c4662c0a070545808f554cf1aeefaa4e4b71234fd737b9eb
-EBUILD xrayutilities-1.1.1.ebuild 795 SHA256 f0362aa677f8e022462b6c0011b9489b17be37fdfea61fd96cda27a80558614f SHA512 ac37539766b5c635f4e6703dc4718b33e7ab13cfcaacbce998ece91acad48c27054c72df19e74078dee489de9b41c2fa0d70bb8fbfd71e4982a4bf17e8ba59c7 WHIRLPOOL 837432839bb6b915d3f9fca09d6b60c8a000446f5d34fc13f4b82c0352bff38064f3763c544d5a536991a2c87f03dc9d20f111603af40daf812c792d4776f215
+DIST xrayutilities-1.1.2.tar.gz 11481448 SHA256 2cb739949938206d0d08fb2aeaa8dd790cd4c36f1f2524e3ff324c43e5c4c515 SHA512 bfe0dfe2efdc681e5564aa5fc86e4dec662c30446dc16b2b94c94bf2621af34930affd45662e054a685bee6ea01024f7e7cc65b6d8684fe758e664e24534caa7 WHIRLPOOL 00042e48b482ca480830adf9fa8918e1ad7bfba4196ec2328d6f1d0c83f4109a36cac8cfef711c0d4ed5dd35db4b8cf3c252a426729879ac2eeafe093a4b45fd
+EBUILD xrayutilities-1.1.2.ebuild 795 SHA256 f0362aa677f8e022462b6c0011b9489b17be37fdfea61fd96cda27a80558614f SHA512 ac37539766b5c635f4e6703dc4718b33e7ab13cfcaacbce998ece91acad48c27054c72df19e74078dee489de9b41c2fa0d70bb8fbfd71e4982a4bf17e8ba59c7 WHIRLPOOL 837432839bb6b915d3f9fca09d6b60c8a000446f5d34fc13f4b82c0352bff38064f3763c544d5a536991a2c87f03dc9d20f111603af40daf812c792d4776f215
EBUILD xrayutilities-9999.ebuild 874 SHA256 8c633ad27bf57f4fcf973794395c75449e5034dad68c9e89bcef963d18f0aa60 SHA512 12a808ddf6a7351d4ff743f2c537335195b7b16b3610ec702a3ecfacd88aa30c610f43e692305800948a14d24570bccacea8dac30229cbe784f6e2c8c05576c9 WHIRLPOOL 5981ae8add4b7aaaec1033c64b1ba924d1388f7f8386226cac48cd23793e296b0daa684620c9807a9ded5a1c0bb78a0d4ed29710243c1bb1fca56985e4d86b89
MISC metadata.xml 482 SHA256 f940902fa0beaac5c87eff05802c4b480ac6c854a8c8d15372e05695218b3afb SHA512 fed1eb362030ba39e5ec9b8bc0cfc8a4d4de1b3a92817a8de311e9de0db20fe5e7f53adb8860a7e82e06a6676134327849a75f318bb9e5f5640f28dd623190da WHIRLPOOL bee4fd34d8179e705ffbf87319b57feb8005756835b78684d3c7aaad448c82120e913a43ddb5237e8d5d209fde484c82d330a193b1d9f5378cc40abf013d8a8f
diff --git a/sci-physics/xrayutilities/files/xrayutilities-1.0.3-python3.patch b/sci-physics/xrayutilities/files/xrayutilities-1.0.3-python3.patch
deleted file mode 100644
index f0e3326..0000000
--- a/sci-physics/xrayutilities/files/xrayutilities-1.0.3-python3.patch
+++ /dev/null
@@ -1,452 +0,0 @@
---- xrayutilities/config.py (original)
-+++ xrayutilities/config.py (refactored)
-@@ -29,7 +29,7 @@
- try:
- import configparser
- except ImportError:
-- import ConfigParser as configparser
-+ import configparser as configparser
-
- from . import __path__
- from . import utilities_noconf
---- xrayutilities/experiment.py (original)
-+++ xrayutilities/experiment.py (refactored)
-@@ -88,7 +88,7 @@
- (default: identity matrix)
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['wl','en','UB']:
- raise Exception("unknown keyword argument given: allowed are 'en': for x-ray energy, 'wl': x-ray wavelength, 'UB': orientation/orthonormalization matrix")
-
-@@ -153,13 +153,13 @@
- sampleAxis: list or tuple of sample circles, e.g. ['x+','z+']
- """
-
-- if isinstance(sampleAxis,(basestring,list,tuple)):
-- if isinstance(sampleAxis,basestring):
-+ if isinstance(sampleAxis,(str,list,tuple)):
-+ if isinstance(sampleAxis,str):
- sAxis = list([sampleAxis])
- else:
- sAxis = list(sampleAxis)
- for circ in sAxis:
-- if not isinstance(circ,basestring) or len(circ)!=2:
-+ if not isinstance(circ,str) or len(circ)!=2:
- raise InputError("QConversion: incorrect sample circle type or syntax (%s)" %repr(circ))
- if not circleSyntaxSample.search(circ):
- raise InputError("QConversion: incorrect sample circle syntax (%s)" %circ)
-@@ -232,13 +232,13 @@
- detrot: flag to tell that the detector rotation is going to be added
- (used internally to avoid double adding of detector rotation axis)
- """
-- if isinstance(detectorAxis,(basestring,list,tuple)):
-- if isinstance(detectorAxis,basestring):
-+ if isinstance(detectorAxis,(str,list,tuple)):
-+ if isinstance(detectorAxis,str):
- dAxis = list([detectorAxis])
- else:
- dAxis = list(detectorAxis)
- for circ in dAxis:
-- if not isinstance(circ,basestring) or len(circ)!=2:
-+ if not isinstance(circ,str) or len(circ)!=2:
- raise InputError("QConversion: incorrect detector circle type or syntax (%s)" %repr(circ))
- if not circleSyntax.search(circ):
- raise InputError("QConversion: incorrect detector circle syntax (%s)" %circ)
-@@ -352,7 +352,7 @@
- where * corresponds to the number of points given in the input
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['wl','deg','UB','delta']:
- raise Exception("unknown keyword argument given: allowed are 'delta': angle offsets, 'wl': x-ray wavelength, 'UB': orientation/orthonormalization matrix, 'deg': flag to tell if angles are in degrees")
-
-@@ -478,12 +478,12 @@
- roi: region of interest for the detector pixels; e.g. [100,900]
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['Nav','roi']:
- raise Exception("unknown keyword argument given: allowed are 'Nav': number of channels for block-average, 'roi': region of interest")
-
- # detectorDir
-- if not isinstance(detectorDir,basestring) or len(detectorDir)!=2:
-+ if not isinstance(detectorDir,str) or len(detectorDir)!=2:
- raise InputError("QConversion: incorrect detector direction type or syntax (%s)" %repr(detectorDir))
- if not circleSyntax.search(detectorDir):
- raise InputError("QConversion: incorrect detector direction syntax (%s)" %detectorDir)
-@@ -557,7 +557,7 @@
- if not self._linear_init:
- raise Exception("QConversion: linear detector not initialized -> call Ang2Q.init_linear(...)")
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['wl','deg','UB','delta','Nav','roi']:
- raise Exception("unknown keyword argument given: allowed are 'delta': angle offsets, 'wl': x-ray wavelength, 'UB': orientation/orthonormalization matrix, 'deg': flag to tell if angles are in degrees, 'Nav': number of channels for block-averaging, 'roi': region of interest")
-
-@@ -702,17 +702,17 @@
- roi: region of interest for the detector pixels; e.g. [100,900,200,800]
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['Nav','roi']:
- raise Exception("unknown keyword argument given: allowed are 'Nav': number of channels for block-average, 'roi': region of interest")
-
- # detectorDir
-- if not isinstance(detectorDir1,basestring) or len(detectorDir1)!=2:
-+ if not isinstance(detectorDir1,str) or len(detectorDir1)!=2:
- raise InputError("QConversion: incorrect detector direction1 type or syntax (%s)" %repr(detectorDir1))
- if not circleSyntax.search(detectorDir1):
- raise InputError("QConversion: incorrect detector direction1 syntax (%s)" %detectorDir1)
- self._area_detdir1 = detectorDir1
-- if not isinstance(detectorDir2,basestring) or len(detectorDir2)!=2:
-+ if not isinstance(detectorDir2,str) or len(detectorDir2)!=2:
- raise InputError("QConversion: incorrect detector direction2 type or syntax (%s)" %repr(detectorDir2))
- if not circleSyntax.search(detectorDir2):
- raise InputError("QConversion: incorrect detector direction2 syntax (%s)" %detectorDir2)
-@@ -804,7 +804,7 @@
- if not self._area_init:
- raise Exception("QConversion: area detector not initialized -> call Ang2Q.init_area(...)")
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['wl','deg','UB','delta','Nav','roi']:
- raise Exception("unknown keyword argument given: allowed are 'delta': angle offsets, 'wl': x-ray wavelength, 'UB': orientation/orthonormalization matrix, 'deg': flag to tell if angles are in degrees, 'Nav': number of channels for block-averaging, 'roi': region of interest")
-
-@@ -956,7 +956,7 @@
- the en keyword overrulls the wl keyword
- """
-
-- for k in keyargs.keys():
-+ for k in list(keyargs.keys()):
- if k not in ['qconv','wl','en']:
- raise Exception("unknown keyword argument given: allowed are 'en': for x-ray energy, 'wl': x-ray wavelength, 'qconv': reciprocal space conversion.")
-
-@@ -1121,7 +1121,7 @@
-
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['U','B','mat','dettype']:
- raise Exception("unknown keyword argument given: allowed are 'B': orthonormalization matrix, 'U': orientation matrix, 'mat': material object, 'dettype': string with detector type")
-
-@@ -1328,7 +1328,7 @@
- pdi_d: offset ot the diffracted beam from the scattering plane due to refraction
- """
-
-- for k in keyargs.keys():
-+ for k in list(keyargs.keys()):
- if k not in ['trans','deg','geometry','refrac','mat','fi','fd','full_output']:
- raise Exception("unknown keyword argument given: see documentation for details")
-
-@@ -1589,7 +1589,7 @@
- twotheta: scattering angle (detector)
- """
-
-- for k in keyargs.keys():
-+ for k in list(keyargs.keys()):
- if k not in ['trans','deg']:
- raise Exception("unknown keyword argument given: allowed are 'trans': coordinate transformation flag, 'deg': degree-flag")
-
-@@ -1733,7 +1733,7 @@
- beta: exit angle from surface (at the moment always 0)
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['trans','deg']:
- raise Exception("unknown keyword argument given: allowed are 'trans': coordinate transformation flag, 'deg': degree-flag")
-
-@@ -1894,7 +1894,7 @@
- gamma: scattering angle
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['trans','deg']:
- raise Exception("unknown keyword argument given: allowed are 'trans': coordinate transformation flag, 'deg': degree-flag")
-
---- xrayutilities/normalize.py (original)
-+++ xrayutilities/normalize.py (refactored)
-@@ -178,7 +178,7 @@
- >>> detcorr = IntensityNormalizer(det="MCA",time="Seconds",absfun=lambda d: d["PSDCORR"]/d["PSD"].astype(numpy.float))
- """
-
-- for k in keyargs.keys():
-+ for k in list(keyargs.keys()):
- if k not in ['mon','time','smoothmon','av_mon','absfun','flatfield','darkfield']:
- raise Exception("unknown keyword argument given: allowed are 'mon', 'smoothmon', 'av_mon', 'absfun', 'flatfield' and 'darkfield'")
-
-@@ -232,7 +232,7 @@
- det property handler
- sets the detector field name
- """
-- if isinstance(det,basestring):
-+ if isinstance(det,str):
- self._det = det
- else:
- self._det = None
-@@ -251,7 +251,7 @@
- time property handler
- sets the count time field or value
- """
-- if isinstance(time,basestring):
-+ if isinstance(time,str):
- self._time = time
- elif isinstance(time,(float,int)):
- self._time = float(time)
-@@ -272,7 +272,7 @@
- mon property handler
- sets the monitor field name
- """
-- if isinstance(mon,basestring):
-+ if isinstance(mon,str):
- self._mon = mon
- elif isinstance(mon,type(None)):
- self._mon = None
-@@ -395,7 +395,7 @@
- else:
- mon = 1.
- # count time
-- if isinstance(self._time,basestring):
-+ if isinstance(self._time,str):
- time = data[self._time]
- elif isinstance(self._time,float):
- time = self._time
---- xrayutilities/utilities_noconf.py (original)
-+++ xrayutilities/utilities_noconf.py (refactored)
-@@ -78,7 +78,7 @@
-
- if numpy.isreal(en):
- return numpy.double(en)
-- elif isinstance(en,basestring):
-+ elif isinstance(en,str):
- return energies[en]
- else:
- raise InputError("wrong type for argument en")
-@@ -104,7 +104,7 @@
-
- if numpy.isreal(wl):
- return numpy.double(wl)
-- elif isinstance(wl,basestring):
-+ elif isinstance(wl,str):
- return lam2en(energies[wl])
- else:
- raise InputError("wrong type for argument wavelength")
---- xrayutilities/io/edf.py (original)
-+++ xrayutilities/io/edf.py (refactored)
-@@ -153,19 +153,19 @@
- self.header[key] = value
-
- # try to parse motor positions and counters from header into separate dictionary
-- if 'motor_mne' in self.header.keys():
-+ if 'motor_mne' in list(self.header.keys()):
- tkeys = self.header['motor_mne'].split()
- try:
- tval = numpy.array(self.header['motor_pos'].split(),dtype=numpy.double)
-- self.motors = dict(zip(tkeys,tval))
-+ self.motors = dict(list(zip(tkeys,tval)))
- except:
- print("XU.io.EDFFile.ReadData: Warning: header conversion of motor positions failed")
-
-- if 'counter_mne' in self.header.keys():
-+ if 'counter_mne' in list(self.header.keys()):
- tkeys = self.header['counter_mne'].split()
- try:
- tval = numpy.array(self.header['counter_pos'].split(),dtype=numpy.double)
-- self.counters = dict(zip(tkeys,tval))
-+ self.counters = dict(list(zip(tkeys,tval)))
- except:
- print("XU.io.EDFFile.ReadData: Warning: header conversion of counter values failed")
-
-@@ -299,7 +299,7 @@
- ca[...] = self.data[...]
-
- #finally we have to append the attributes
-- for k in self.header.keys():
-+ for k in list(self.header.keys()):
- aname = k.replace(".","_")
- aname = aname.replace(" ","_")
- ca.attrs.__setattr__(aname,self.header[k])
---- xrayutilities/io/panalytical_xml.py (original)
-+++ xrayutilities/io/panalytical_xml.py (refactored)
-@@ -114,12 +114,12 @@
- is_scalar = 0
-
- #finally all scan data needs to be converted to numpy arrays
-- for k in self.ddict.keys():
-+ for k in list(self.ddict.keys()):
- self.ddict[k] = numpy.array(self.ddict[k])
-
- #flatten output if only one scan was present
- if len(slist) == 1:
-- for k in self.ddict.keys():
-+ for k in list(self.ddict.keys()):
- self.ddict[k] = numpy.ravel(self.ddict[k])
-
- def __getitem__(self,key):
-@@ -127,7 +127,7 @@
-
- def __str__(self):
- ostr = "XRDML Measurement\n"
-- for k in self.ddict.keys():
-+ for k in list(self.ddict.keys()):
- ostr += "%s with %s points\n" %(k,str(self.ddict[k].shape))
-
- return ostr
---- xrayutilities/io/rotanode_alignment.py (original)
-+++ xrayutilities/io/rotanode_alignment.py (refactored)
-@@ -206,7 +206,7 @@
-
- # get number aligned axis for the current peak
- axnames = []
-- for k in self.keys():
-+ for k in list(self.keys()):
- if k.find(pname)>=0:
- axnames.append(k)
-
---- xrayutilities/io/seifert.py (original)
-+++ xrayutilities/io/seifert.py (refactored)
-@@ -80,7 +80,7 @@
-
- def __str__(self):
- ostr = ""
-- for k in self.__dict__.keys():
-+ for k in list(self.__dict__.keys()):
- value = self.__getattribute__(k)
- if isinstance(value,float):
- ostr += k + " = %f\n" %value
-@@ -90,7 +90,7 @@
- return ostr
-
- def save_h5_attribs(self,obj):
-- for a in self.__dict__.keys():
-+ for a in list(self.__dict__.keys()):
- value = self.__getattribute__(a)
- obj._v_attrs.__setattr__(a,value)
-
---- xrayutilities/io/spec.py (original)
-+++ xrayutilities/io/spec.py (refactored)
-@@ -511,7 +511,7 @@
- g._v_attrs.Time = self.time
-
- #write the initial motor positions as attributes
-- for k in self.init_motor_pos.keys():
-+ for k in list(self.init_motor_pos.keys()):
- g._v_attrs.__setattr__(k,numpy.float(self.init_motor_pos[k]))
-
- #if scan contains MCA data write also MCA parameters
-@@ -519,7 +519,7 @@
- g._v_attrs.mca_stop_channel = numpy.uint(self.mca_stop_channel)
- g._v_attrs.mca_nof_channels = numpy.uint(self.mca_channels)
-
-- for k in optattrs.keys():
-+ for k in list(optattrs.keys()):
- g._v_attrs.__setattr__(k,opattrs[k])
-
- h5.flush()
-@@ -973,7 +973,7 @@
- scanlist = list([scans])
-
- angles = dict.fromkeys(args)
-- for key in angles.keys():
-+ for key in list(angles.keys()):
- if not isinstance(key,str):
- raise InputError("*arg values need to be strings with motornames")
- angles[key] = numpy.zeros(0)
---- xrayutilities/io/spectra.py (original)
-+++ xrayutilities/io/spectra.py (refactored)
-@@ -79,13 +79,13 @@
-
- def __str__(self):
- ostr = ""
-- n = len(self.keys())
-+ n = len(list(self.keys()))
- lmax_key = 0
- lmax_item = 0
- strlist = []
-
- #find the length of the longest key
-- for k in self.keys():
-+ for k in list(self.keys()):
- if len(k)>lmax_key: lmax_key = len(k)
-
- i = self[k]
-@@ -99,14 +99,14 @@
- kvfmt = "|%%-%is = %%-%is" %(lmax_key,lmax_item)
-
- nc = 3
-- nres = len(self.keys())%nc
-- nrow = (len(self.keys())-nres)/nc
-+ nres = len(list(self.keys()))%nc
-+ nrow = (len(list(self.keys()))-nres)/nc
-
- cnt = 0
- ostr += (3*(lmax_key+lmax_item+4)+1)*"-"+"\n"
- ostr += "|Parameters:" +(3*(lmax_key+lmax_item))*" "+"|\n"
- ostr += (3*(lmax_key+lmax_item+4)+1)*"-"+"\n"
-- for key in self.keys():
-+ for key in list(self.keys()):
- value = self[key]
- if not isinstance(value,str): value = "%f" %value
-
-@@ -275,14 +275,14 @@
-
-
- #start with saving scan comments
-- for k in self.comments.keys():
-+ for k in list(self.comments.keys()):
- try:
- h5.setNodeAttr(g,k,self.comments[k])
- except:
- print("XU.io.spectra.Save2HDF5: cannot save file comment %s = %s to group %s!" %(k,self.comments[k],name))
-
- #save scan parameters
-- for k in self.params.keys():
-+ for k in list(self.params.keys()):
- try:
- h5.setNodeAttr(g,k,self.params[k])
- except:
-@@ -639,7 +639,7 @@
- self.recarray2hdf5(sg,data,"data","SPECTRA tabular data")
-
- #write attribute data
-- for k in hdr.keys():
-+ for k in list(hdr.keys()):
- self.h5_file.setNodeAttr(sg,"MOPOS_"+k,hdr[k])
-
- if has_mca:
-@@ -783,7 +783,7 @@
- generic
- """
-
-- fnums = range(cntstart,cntstop+1)
-+ fnums = list(range(cntstart,cntstop+1))
- mcalist = []
-
- for i in fnums:
-@@ -938,7 +938,7 @@
- scanlist = list([scans])
-
- angles = dict.fromkeys(args)
-- for key in angles.keys():
-+ for key in list(angles.keys()):
- angles[key] = numpy.zeros(0)
- buf=numpy.zeros(0)
- MAP = numpy.zeros(0)
---- xrayutilities/math/fit.py (original)
-+++ xrayutilities/math/fit.py (refactored)
-@@ -20,7 +20,7 @@
- the odr package
- """
-
--from __future__ import print_function
-+
- import numpy
- import scipy.optimize as optimize
- import time
diff --git a/sci-physics/xrayutilities/files/xrayutilities-9999-python3.patch b/sci-physics/xrayutilities/files/xrayutilities-9999-python3.patch
deleted file mode 100644
index f0e3326..0000000
--- a/sci-physics/xrayutilities/files/xrayutilities-9999-python3.patch
+++ /dev/null
@@ -1,452 +0,0 @@
---- xrayutilities/config.py (original)
-+++ xrayutilities/config.py (refactored)
-@@ -29,7 +29,7 @@
- try:
- import configparser
- except ImportError:
-- import ConfigParser as configparser
-+ import configparser as configparser
-
- from . import __path__
- from . import utilities_noconf
---- xrayutilities/experiment.py (original)
-+++ xrayutilities/experiment.py (refactored)
-@@ -88,7 +88,7 @@
- (default: identity matrix)
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['wl','en','UB']:
- raise Exception("unknown keyword argument given: allowed are 'en': for x-ray energy, 'wl': x-ray wavelength, 'UB': orientation/orthonormalization matrix")
-
-@@ -153,13 +153,13 @@
- sampleAxis: list or tuple of sample circles, e.g. ['x+','z+']
- """
-
-- if isinstance(sampleAxis,(basestring,list,tuple)):
-- if isinstance(sampleAxis,basestring):
-+ if isinstance(sampleAxis,(str,list,tuple)):
-+ if isinstance(sampleAxis,str):
- sAxis = list([sampleAxis])
- else:
- sAxis = list(sampleAxis)
- for circ in sAxis:
-- if not isinstance(circ,basestring) or len(circ)!=2:
-+ if not isinstance(circ,str) or len(circ)!=2:
- raise InputError("QConversion: incorrect sample circle type or syntax (%s)" %repr(circ))
- if not circleSyntaxSample.search(circ):
- raise InputError("QConversion: incorrect sample circle syntax (%s)" %circ)
-@@ -232,13 +232,13 @@
- detrot: flag to tell that the detector rotation is going to be added
- (used internally to avoid double adding of detector rotation axis)
- """
-- if isinstance(detectorAxis,(basestring,list,tuple)):
-- if isinstance(detectorAxis,basestring):
-+ if isinstance(detectorAxis,(str,list,tuple)):
-+ if isinstance(detectorAxis,str):
- dAxis = list([detectorAxis])
- else:
- dAxis = list(detectorAxis)
- for circ in dAxis:
-- if not isinstance(circ,basestring) or len(circ)!=2:
-+ if not isinstance(circ,str) or len(circ)!=2:
- raise InputError("QConversion: incorrect detector circle type or syntax (%s)" %repr(circ))
- if not circleSyntax.search(circ):
- raise InputError("QConversion: incorrect detector circle syntax (%s)" %circ)
-@@ -352,7 +352,7 @@
- where * corresponds to the number of points given in the input
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['wl','deg','UB','delta']:
- raise Exception("unknown keyword argument given: allowed are 'delta': angle offsets, 'wl': x-ray wavelength, 'UB': orientation/orthonormalization matrix, 'deg': flag to tell if angles are in degrees")
-
-@@ -478,12 +478,12 @@
- roi: region of interest for the detector pixels; e.g. [100,900]
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['Nav','roi']:
- raise Exception("unknown keyword argument given: allowed are 'Nav': number of channels for block-average, 'roi': region of interest")
-
- # detectorDir
-- if not isinstance(detectorDir,basestring) or len(detectorDir)!=2:
-+ if not isinstance(detectorDir,str) or len(detectorDir)!=2:
- raise InputError("QConversion: incorrect detector direction type or syntax (%s)" %repr(detectorDir))
- if not circleSyntax.search(detectorDir):
- raise InputError("QConversion: incorrect detector direction syntax (%s)" %detectorDir)
-@@ -557,7 +557,7 @@
- if not self._linear_init:
- raise Exception("QConversion: linear detector not initialized -> call Ang2Q.init_linear(...)")
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['wl','deg','UB','delta','Nav','roi']:
- raise Exception("unknown keyword argument given: allowed are 'delta': angle offsets, 'wl': x-ray wavelength, 'UB': orientation/orthonormalization matrix, 'deg': flag to tell if angles are in degrees, 'Nav': number of channels for block-averaging, 'roi': region of interest")
-
-@@ -702,17 +702,17 @@
- roi: region of interest for the detector pixels; e.g. [100,900,200,800]
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['Nav','roi']:
- raise Exception("unknown keyword argument given: allowed are 'Nav': number of channels for block-average, 'roi': region of interest")
-
- # detectorDir
-- if not isinstance(detectorDir1,basestring) or len(detectorDir1)!=2:
-+ if not isinstance(detectorDir1,str) or len(detectorDir1)!=2:
- raise InputError("QConversion: incorrect detector direction1 type or syntax (%s)" %repr(detectorDir1))
- if not circleSyntax.search(detectorDir1):
- raise InputError("QConversion: incorrect detector direction1 syntax (%s)" %detectorDir1)
- self._area_detdir1 = detectorDir1
-- if not isinstance(detectorDir2,basestring) or len(detectorDir2)!=2:
-+ if not isinstance(detectorDir2,str) or len(detectorDir2)!=2:
- raise InputError("QConversion: incorrect detector direction2 type or syntax (%s)" %repr(detectorDir2))
- if not circleSyntax.search(detectorDir2):
- raise InputError("QConversion: incorrect detector direction2 syntax (%s)" %detectorDir2)
-@@ -804,7 +804,7 @@
- if not self._area_init:
- raise Exception("QConversion: area detector not initialized -> call Ang2Q.init_area(...)")
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['wl','deg','UB','delta','Nav','roi']:
- raise Exception("unknown keyword argument given: allowed are 'delta': angle offsets, 'wl': x-ray wavelength, 'UB': orientation/orthonormalization matrix, 'deg': flag to tell if angles are in degrees, 'Nav': number of channels for block-averaging, 'roi': region of interest")
-
-@@ -956,7 +956,7 @@
- the en keyword overrulls the wl keyword
- """
-
-- for k in keyargs.keys():
-+ for k in list(keyargs.keys()):
- if k not in ['qconv','wl','en']:
- raise Exception("unknown keyword argument given: allowed are 'en': for x-ray energy, 'wl': x-ray wavelength, 'qconv': reciprocal space conversion.")
-
-@@ -1121,7 +1121,7 @@
-
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['U','B','mat','dettype']:
- raise Exception("unknown keyword argument given: allowed are 'B': orthonormalization matrix, 'U': orientation matrix, 'mat': material object, 'dettype': string with detector type")
-
-@@ -1328,7 +1328,7 @@
- pdi_d: offset ot the diffracted beam from the scattering plane due to refraction
- """
-
-- for k in keyargs.keys():
-+ for k in list(keyargs.keys()):
- if k not in ['trans','deg','geometry','refrac','mat','fi','fd','full_output']:
- raise Exception("unknown keyword argument given: see documentation for details")
-
-@@ -1589,7 +1589,7 @@
- twotheta: scattering angle (detector)
- """
-
-- for k in keyargs.keys():
-+ for k in list(keyargs.keys()):
- if k not in ['trans','deg']:
- raise Exception("unknown keyword argument given: allowed are 'trans': coordinate transformation flag, 'deg': degree-flag")
-
-@@ -1733,7 +1733,7 @@
- beta: exit angle from surface (at the moment always 0)
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['trans','deg']:
- raise Exception("unknown keyword argument given: allowed are 'trans': coordinate transformation flag, 'deg': degree-flag")
-
-@@ -1894,7 +1894,7 @@
- gamma: scattering angle
- """
-
-- for k in kwargs.keys():
-+ for k in list(kwargs.keys()):
- if k not in ['trans','deg']:
- raise Exception("unknown keyword argument given: allowed are 'trans': coordinate transformation flag, 'deg': degree-flag")
-
---- xrayutilities/normalize.py (original)
-+++ xrayutilities/normalize.py (refactored)
-@@ -178,7 +178,7 @@
- >>> detcorr = IntensityNormalizer(det="MCA",time="Seconds",absfun=lambda d: d["PSDCORR"]/d["PSD"].astype(numpy.float))
- """
-
-- for k in keyargs.keys():
-+ for k in list(keyargs.keys()):
- if k not in ['mon','time','smoothmon','av_mon','absfun','flatfield','darkfield']:
- raise Exception("unknown keyword argument given: allowed are 'mon', 'smoothmon', 'av_mon', 'absfun', 'flatfield' and 'darkfield'")
-
-@@ -232,7 +232,7 @@
- det property handler
- sets the detector field name
- """
-- if isinstance(det,basestring):
-+ if isinstance(det,str):
- self._det = det
- else:
- self._det = None
-@@ -251,7 +251,7 @@
- time property handler
- sets the count time field or value
- """
-- if isinstance(time,basestring):
-+ if isinstance(time,str):
- self._time = time
- elif isinstance(time,(float,int)):
- self._time = float(time)
-@@ -272,7 +272,7 @@
- mon property handler
- sets the monitor field name
- """
-- if isinstance(mon,basestring):
-+ if isinstance(mon,str):
- self._mon = mon
- elif isinstance(mon,type(None)):
- self._mon = None
-@@ -395,7 +395,7 @@
- else:
- mon = 1.
- # count time
-- if isinstance(self._time,basestring):
-+ if isinstance(self._time,str):
- time = data[self._time]
- elif isinstance(self._time,float):
- time = self._time
---- xrayutilities/utilities_noconf.py (original)
-+++ xrayutilities/utilities_noconf.py (refactored)
-@@ -78,7 +78,7 @@
-
- if numpy.isreal(en):
- return numpy.double(en)
-- elif isinstance(en,basestring):
-+ elif isinstance(en,str):
- return energies[en]
- else:
- raise InputError("wrong type for argument en")
-@@ -104,7 +104,7 @@
-
- if numpy.isreal(wl):
- return numpy.double(wl)
-- elif isinstance(wl,basestring):
-+ elif isinstance(wl,str):
- return lam2en(energies[wl])
- else:
- raise InputError("wrong type for argument wavelength")
---- xrayutilities/io/edf.py (original)
-+++ xrayutilities/io/edf.py (refactored)
-@@ -153,19 +153,19 @@
- self.header[key] = value
-
- # try to parse motor positions and counters from header into separate dictionary
-- if 'motor_mne' in self.header.keys():
-+ if 'motor_mne' in list(self.header.keys()):
- tkeys = self.header['motor_mne'].split()
- try:
- tval = numpy.array(self.header['motor_pos'].split(),dtype=numpy.double)
-- self.motors = dict(zip(tkeys,tval))
-+ self.motors = dict(list(zip(tkeys,tval)))
- except:
- print("XU.io.EDFFile.ReadData: Warning: header conversion of motor positions failed")
-
-- if 'counter_mne' in self.header.keys():
-+ if 'counter_mne' in list(self.header.keys()):
- tkeys = self.header['counter_mne'].split()
- try:
- tval = numpy.array(self.header['counter_pos'].split(),dtype=numpy.double)
-- self.counters = dict(zip(tkeys,tval))
-+ self.counters = dict(list(zip(tkeys,tval)))
- except:
- print("XU.io.EDFFile.ReadData: Warning: header conversion of counter values failed")
-
-@@ -299,7 +299,7 @@
- ca[...] = self.data[...]
-
- #finally we have to append the attributes
-- for k in self.header.keys():
-+ for k in list(self.header.keys()):
- aname = k.replace(".","_")
- aname = aname.replace(" ","_")
- ca.attrs.__setattr__(aname,self.header[k])
---- xrayutilities/io/panalytical_xml.py (original)
-+++ xrayutilities/io/panalytical_xml.py (refactored)
-@@ -114,12 +114,12 @@
- is_scalar = 0
-
- #finally all scan data needs to be converted to numpy arrays
-- for k in self.ddict.keys():
-+ for k in list(self.ddict.keys()):
- self.ddict[k] = numpy.array(self.ddict[k])
-
- #flatten output if only one scan was present
- if len(slist) == 1:
-- for k in self.ddict.keys():
-+ for k in list(self.ddict.keys()):
- self.ddict[k] = numpy.ravel(self.ddict[k])
-
- def __getitem__(self,key):
-@@ -127,7 +127,7 @@
-
- def __str__(self):
- ostr = "XRDML Measurement\n"
-- for k in self.ddict.keys():
-+ for k in list(self.ddict.keys()):
- ostr += "%s with %s points\n" %(k,str(self.ddict[k].shape))
-
- return ostr
---- xrayutilities/io/rotanode_alignment.py (original)
-+++ xrayutilities/io/rotanode_alignment.py (refactored)
-@@ -206,7 +206,7 @@
-
- # get number aligned axis for the current peak
- axnames = []
-- for k in self.keys():
-+ for k in list(self.keys()):
- if k.find(pname)>=0:
- axnames.append(k)
-
---- xrayutilities/io/seifert.py (original)
-+++ xrayutilities/io/seifert.py (refactored)
-@@ -80,7 +80,7 @@
-
- def __str__(self):
- ostr = ""
-- for k in self.__dict__.keys():
-+ for k in list(self.__dict__.keys()):
- value = self.__getattribute__(k)
- if isinstance(value,float):
- ostr += k + " = %f\n" %value
-@@ -90,7 +90,7 @@
- return ostr
-
- def save_h5_attribs(self,obj):
-- for a in self.__dict__.keys():
-+ for a in list(self.__dict__.keys()):
- value = self.__getattribute__(a)
- obj._v_attrs.__setattr__(a,value)
-
---- xrayutilities/io/spec.py (original)
-+++ xrayutilities/io/spec.py (refactored)
-@@ -511,7 +511,7 @@
- g._v_attrs.Time = self.time
-
- #write the initial motor positions as attributes
-- for k in self.init_motor_pos.keys():
-+ for k in list(self.init_motor_pos.keys()):
- g._v_attrs.__setattr__(k,numpy.float(self.init_motor_pos[k]))
-
- #if scan contains MCA data write also MCA parameters
-@@ -519,7 +519,7 @@
- g._v_attrs.mca_stop_channel = numpy.uint(self.mca_stop_channel)
- g._v_attrs.mca_nof_channels = numpy.uint(self.mca_channels)
-
-- for k in optattrs.keys():
-+ for k in list(optattrs.keys()):
- g._v_attrs.__setattr__(k,opattrs[k])
-
- h5.flush()
-@@ -973,7 +973,7 @@
- scanlist = list([scans])
-
- angles = dict.fromkeys(args)
-- for key in angles.keys():
-+ for key in list(angles.keys()):
- if not isinstance(key,str):
- raise InputError("*arg values need to be strings with motornames")
- angles[key] = numpy.zeros(0)
---- xrayutilities/io/spectra.py (original)
-+++ xrayutilities/io/spectra.py (refactored)
-@@ -79,13 +79,13 @@
-
- def __str__(self):
- ostr = ""
-- n = len(self.keys())
-+ n = len(list(self.keys()))
- lmax_key = 0
- lmax_item = 0
- strlist = []
-
- #find the length of the longest key
-- for k in self.keys():
-+ for k in list(self.keys()):
- if len(k)>lmax_key: lmax_key = len(k)
-
- i = self[k]
-@@ -99,14 +99,14 @@
- kvfmt = "|%%-%is = %%-%is" %(lmax_key,lmax_item)
-
- nc = 3
-- nres = len(self.keys())%nc
-- nrow = (len(self.keys())-nres)/nc
-+ nres = len(list(self.keys()))%nc
-+ nrow = (len(list(self.keys()))-nres)/nc
-
- cnt = 0
- ostr += (3*(lmax_key+lmax_item+4)+1)*"-"+"\n"
- ostr += "|Parameters:" +(3*(lmax_key+lmax_item))*" "+"|\n"
- ostr += (3*(lmax_key+lmax_item+4)+1)*"-"+"\n"
-- for key in self.keys():
-+ for key in list(self.keys()):
- value = self[key]
- if not isinstance(value,str): value = "%f" %value
-
-@@ -275,14 +275,14 @@
-
-
- #start with saving scan comments
-- for k in self.comments.keys():
-+ for k in list(self.comments.keys()):
- try:
- h5.setNodeAttr(g,k,self.comments[k])
- except:
- print("XU.io.spectra.Save2HDF5: cannot save file comment %s = %s to group %s!" %(k,self.comments[k],name))
-
- #save scan parameters
-- for k in self.params.keys():
-+ for k in list(self.params.keys()):
- try:
- h5.setNodeAttr(g,k,self.params[k])
- except:
-@@ -639,7 +639,7 @@
- self.recarray2hdf5(sg,data,"data","SPECTRA tabular data")
-
- #write attribute data
-- for k in hdr.keys():
-+ for k in list(hdr.keys()):
- self.h5_file.setNodeAttr(sg,"MOPOS_"+k,hdr[k])
-
- if has_mca:
-@@ -783,7 +783,7 @@
- generic
- """
-
-- fnums = range(cntstart,cntstop+1)
-+ fnums = list(range(cntstart,cntstop+1))
- mcalist = []
-
- for i in fnums:
-@@ -938,7 +938,7 @@
- scanlist = list([scans])
-
- angles = dict.fromkeys(args)
-- for key in angles.keys():
-+ for key in list(angles.keys()):
- angles[key] = numpy.zeros(0)
- buf=numpy.zeros(0)
- MAP = numpy.zeros(0)
---- xrayutilities/math/fit.py (original)
-+++ xrayutilities/math/fit.py (refactored)
-@@ -20,7 +20,7 @@
- the odr package
- """
-
--from __future__ import print_function
-+
- import numpy
- import scipy.optimize as optimize
- import time
diff --git a/sci-physics/xrayutilities/xrayutilities-1.1.1.ebuild b/sci-physics/xrayutilities/xrayutilities-1.1.2.ebuild
index c44dbd3..c44dbd3 100644
--- a/sci-physics/xrayutilities/xrayutilities-1.1.1.ebuild
+++ b/sci-physics/xrayutilities/xrayutilities-1.1.2.ebuild