ssht: Correct recipe (#15217)
- Tell make about the source code path - Install actual header files, not a wrapper with wrong paths - Add a patch to prevent compiler warnings - Improve description
This commit is contained in:
parent
513f9235c3
commit
38d5d7304d
11
var/spack/repos/builtin/packages/ssht/float_conversion.patch
Normal file
11
var/spack/repos/builtin/packages/ssht/float_conversion.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- spack-src/src/c/ssht_sampling.h
|
||||||
|
+++ spack-src/src/c/ssht_sampling.h
|
||||||
|
@@ -89,7 +89,7 @@
|
||||||
|
*/
|
||||||
|
static inline void ssht_sampling_ind2elm(int *el, int *m, int ind) {
|
||||||
|
|
||||||
|
- *el = sqrt(ind);
|
||||||
|
+ *el = lrint(floor(sqrt(ind)));
|
||||||
|
*m = ind - (*el)*(*el) - (*el);
|
||||||
|
|
||||||
|
}
|
@ -7,18 +7,41 @@
|
|||||||
|
|
||||||
|
|
||||||
class Ssht(Package):
|
class Ssht(Package):
|
||||||
"""The SSHT code provides functionality to perform fast and exact
|
"""ssht: Spin spherical harmonic transforms
|
||||||
spin spherical harmonic transforms."""
|
|
||||||
|
The SSHT code provides functionality to perform fast and exact
|
||||||
|
spin spherical harmonic transforms based on the sampling theorem
|
||||||
|
on the sphere derived in our paper: A novel sampling theorem on
|
||||||
|
the sphere <http://dx.doi.org/10.1109/TSP.2011.2166394>.
|
||||||
|
"""
|
||||||
|
|
||||||
homepage = "https://astro-informatics.github.io/ssht/"
|
homepage = "https://astro-informatics.github.io/ssht/"
|
||||||
git = "https://github.com/astro-informatics/ssht.git"
|
git = "https://github.com/astro-informatics/ssht.git"
|
||||||
|
|
||||||
|
maintainers = ['eschnett']
|
||||||
|
|
||||||
version('1.2b1', commit='7378ce8853897cbd1b08adebf7ec088c1e40f860')
|
version('1.2b1', commit='7378ce8853897cbd1b08adebf7ec088c1e40f860')
|
||||||
|
|
||||||
depends_on('fftw')
|
depends_on('fftw')
|
||||||
|
|
||||||
|
patch('float_conversion.patch')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
make('default')
|
make('default', 'SSHTDIR=.')
|
||||||
install_tree('include/c', join_path(prefix, 'include'))
|
mkdirp(join_path(prefix, 'include'))
|
||||||
|
install('src/c/ssht.h',
|
||||||
|
join_path(prefix, 'include', 'ssht.h'))
|
||||||
|
install('src/c/ssht_adjoint.h',
|
||||||
|
join_path(prefix, 'include', 'ssht_adjoint.h'))
|
||||||
|
install('src/c/ssht_core.h',
|
||||||
|
join_path(prefix, 'include', 'ssht_core.h'))
|
||||||
|
install('src/c/ssht_dl.h',
|
||||||
|
join_path(prefix, 'include', 'ssht_dl.h'))
|
||||||
|
install('src/c/ssht_error.h',
|
||||||
|
join_path(prefix, 'include', 'ssht_error.h'))
|
||||||
|
install('src/c/ssht_sampling.h',
|
||||||
|
join_path(prefix, 'include', 'ssht_sampling.h'))
|
||||||
|
install('src/c/ssht_types.h',
|
||||||
|
join_path(prefix, 'include', 'ssht_types.h'))
|
||||||
install_tree('doc/c', join_path(prefix, 'doc'))
|
install_tree('doc/c', join_path(prefix, 'doc'))
|
||||||
install_tree('lib/c', join_path(prefix, 'lib'))
|
install_tree('lib/c', join_path(prefix, 'lib'))
|
||||||
|
Loading…
Reference in New Issue
Block a user