mirror of
https://github.com/ivabus/pantry
synced 2024-11-22 08:25:07 +03:00
people.engr.tamu.edu/davis/suitesparse (#3555)
* new file: projects/people.engr.tamu.edu/davis/suitesparse/package.yml new file: projects/people.engr.tamu.edu/davis/suitesparse/test.c * let's ty to fix linux * needs openblas, i believe * looks like, from the warnings, that it wants the actual library paths * needs libfortran on darwin too. --------- Co-authored-by: Jacob Heider <jacob@pkgx.dev>
This commit is contained in:
parent
99c7d373e3
commit
581ac5005b
2 changed files with 79 additions and 0 deletions
55
projects/people.engr.tamu.edu/davis/suitesparse/package.yml
Normal file
55
projects/people.engr.tamu.edu/davis/suitesparse/package.yml
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
distributable:
|
||||||
|
url: https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v{{version}}.tar.gz
|
||||||
|
strip-components: 1
|
||||||
|
display-name: suite-sparse
|
||||||
|
versions:
|
||||||
|
github: DrTimothyAldenDavis/SuiteSparse
|
||||||
|
dependencies:
|
||||||
|
glaros.dtc.umn.edu/metis: '*'
|
||||||
|
gnu.org/m4: '*'
|
||||||
|
netlib.org/lapack: '*'
|
||||||
|
gnu.org/gmp: '*'
|
||||||
|
openmp.llvm.org: '*'
|
||||||
|
gnu.org/mpfr: '*'
|
||||||
|
gnu.org/gcc: '*' # libfortran
|
||||||
|
build:
|
||||||
|
dependencies:
|
||||||
|
cmake.org: '*'
|
||||||
|
freedesktop.org/pkg-config: '*'
|
||||||
|
linux:
|
||||||
|
gnu.org/make: '*'
|
||||||
|
script:
|
||||||
|
- make library $ARGS CMAKE_OPTIONS="$CMAKE_ARGS"
|
||||||
|
- make install $ARGS CMAKE_OPTIONS="$CMAKE_ARGS"
|
||||||
|
env:
|
||||||
|
ARGS:
|
||||||
|
- INSTALL={{prefix}}
|
||||||
|
- JOBS={{hw.concurrency}}
|
||||||
|
CMAKE_ARGS:
|
||||||
|
- -DCMAKE_INSTALL_PREFIX="{{prefix}}
|
||||||
|
- -DCMAKE_INSTALL_LIBDIR=lib
|
||||||
|
- -DCMAKE_BUILD_TYPE=Release
|
||||||
|
- -DCMAKE_FIND_FRAMEWORK=LAST
|
||||||
|
- -DCMAKE_VERBOSE_MAKEFILE=ON
|
||||||
|
- -Wno-dev
|
||||||
|
- -DBUILD_TESTING=OFF
|
||||||
|
linux:
|
||||||
|
CMAKE_ARGS:
|
||||||
|
- -DLAPACK_LIBRARIES={{deps.netlib.org/lapack.prefix}}/lib/liblapack.so.{{deps.netlib.org/lapack.version.major}}
|
||||||
|
- -DBLAS_LIBRARIES={{deps.netlib.org/lapack.prefix}}/lib/libblas.so.{{deps.netlib.org/lapack.version.major}}
|
||||||
|
darwin:
|
||||||
|
CC: clang
|
||||||
|
CXX: clang++
|
||||||
|
LD: clang
|
||||||
|
CMAKE_ARGS:
|
||||||
|
- -DLAPACK_LIBRARIES={{deps.netlib.org/lapack.prefix}}/lib/liblapack.{{deps.netlib.org/lapack.version.major}}.dylib
|
||||||
|
- -DBLAS_LIBRARIES={{deps.netlib.org/lapack.prefix}}/lib/libblas.{{deps.netlib.org/lapack.version.major}}.dylib
|
||||||
|
provides:
|
||||||
|
- bin/mongoose
|
||||||
|
test:
|
||||||
|
dependencies:
|
||||||
|
freedesktop.org/pkg-config: '*'
|
||||||
|
script:
|
||||||
|
- pkg-config --modversion SuiteSparse_config | grep {{version}}
|
||||||
|
- cc test.c -lsuitesparseconfig -lklu -o test -Wl,-rpath,{{pkgx.prefix}}
|
||||||
|
- ./test
|
24
projects/people.engr.tamu.edu/davis/suitesparse/test.c
Normal file
24
projects/people.engr.tamu.edu/davis/suitesparse/test.c
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "klu.h"
|
||||||
|
|
||||||
|
int n = 5 ;
|
||||||
|
int Ap [ ] = {0, 2, 5, 9, 10, 12} ;
|
||||||
|
int Ai [ ] = { 0, 1, 0, 2, 4, 1, 2, 3, 4, 2, 1, 4} ;
|
||||||
|
double Ax [ ] = {2., 3., 3., -1., 4., 4., -3., 1., 2., 2., 6., 1.} ;
|
||||||
|
double b [ ] = {8., 45., -3., 3., 19.} ;
|
||||||
|
|
||||||
|
int main (void)
|
||||||
|
{
|
||||||
|
klu_symbolic *Symbolic ;
|
||||||
|
klu_numeric *Numeric ;
|
||||||
|
klu_common Common ;
|
||||||
|
int i ;
|
||||||
|
klu_defaults (&Common) ;
|
||||||
|
Symbolic = klu_analyze (n, Ap, Ai, &Common) ;
|
||||||
|
Numeric = klu_factor (Ap, Ai, Ax, Symbolic, &Common) ;
|
||||||
|
klu_solve (Symbolic, Numeric, 5, 1, b, &Common) ;
|
||||||
|
klu_free_symbolic (&Symbolic, &Common) ;
|
||||||
|
klu_free_numeric (&Numeric, &Common) ;
|
||||||
|
for (i = 0 ; i < n ; i++) printf ("x [%d] = %g\n", i, b [i]) ;
|
||||||
|
return (0) ;
|
||||||
|
}
|
Loading…
Reference in a new issue