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:
Erik Schnetter 2020-02-28 12:32:41 -05:00 committed by GitHub
parent 513f9235c3
commit 38d5d7304d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 4 deletions

View 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);
}

View File

@ -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'))