pantry/projects/people.engr.tamu.edu/davis/suitesparse/package.yml
Jacob Heider 589cd23f30 fix(suite-sparse)
closes #4667
2024-01-01 16:15:01 -05:00

78 lines
2.6 KiB
YAML

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:
# version 7.2.1 shipped without bumping the version number
- run: |
sed -i.bak \
-e 's/^set ( SUITESPARSE_VERSION_MAJOR.*/set ( SUITESPARSE_VERSION_MAJOR {{version.major}} )/' \
-e 's/^set ( SUITESPARSE_VERSION_MINOR.*/set ( SUITESPARSE_VERSION_MINOR {{version.minor}} )/' \
-e 's/^set ( SUITESPARSE_VERSION_SUB.*/set ( SUITESPARSE_VERSION_SUB {{version.patch}} )/' \
CMakeLists.txt
rm CMakeLists.txt.bak
working-directory: SuiteSparse_config
- make library $ARGS CMAKE_OPTIONS="$CMAKE_ARGS"
- make install $ARGS CMAKE_OPTIONS="$CMAKE_ARGS"
- run: ln -s mongoose suitesparse_mongoose
working-directory: '{{prefix}}/bin'
if: '<7.4.0'
- run: ln -s suitesparse_mongoose mongoose
working-directory: '{{prefix}}/bin'
if: '>=7.4.0'
- run: |
mv suitesparse/* .
rmdir suitesparse
ln -s . suitesparse
working-directory: '{{prefix}}/include'
if: '>=7.4.0'
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
- bin/suitesparse_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