Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name = 'SuiteSparse'
version = '7.1.0'

homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html'
description = """SuiteSparse is a collection of libraries to manipulate sparse matrices."""

toolchain = {'name': 'foss', 'version': '2023a'}
toolchainopts = {'unroll': True, 'pic': True}

source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive']
sources = ['v%(version)s.tar.gz']
checksums = ['4cd3d161f9aa4f98ec5fa725ee5dc27bca960a3714a707a7d12b3d0abb504679']

builddependencies = [
('CMake', '3.26.3'),
('pkgconf', '1.9.5'),
]

dependencies = [
('MPFR', '4.2.0'),
]

prebuildopts = 'CMAKE_OPTIONS="-DCMAKE_INSTALL_PREFIX=%(installdir)s -DBLA_VENDOR=FlexiBLAS"'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@appolloford Can't we enhance the SuiteSparse easyblock to also take care of this automatically?

At least the -DCMAKE_INSTALL_PREFIX=%(installdir)s should be done automatically, as accidentally not including this in the easyconfig would be rather dramatic...

Even the -DBLA_VENDOR part can be derived automatically from the toolchain.

We could still leave the door open to specify custom options for CMake in the easyconfig, but I would do that via a direct custom easyconfig parameter that is supported by the SuiteSparse custom easyblock, like:

cmake_options = "..."

If cmake_options is set, that value could then also be included in the CMAKE_OPTIONS="..." that the SuiteSparse easyblock constructs?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes but it will require a somewhat larger rewrite of the easyblock. It would need to find each dir which should be built with CMake etc since there currently is no top level CMakeLists.txt that does the right thing.

I didn't want to delay the easyblock PR to make this happen.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can make the CMAKE_OPTIONS set in easyblock, and actually I tried that before. I did not know how to add a local option for a particular easyconfigs, but I will do it.


moduleclass = 'numlib'