Scheduled build `*-NoGPL` all failed
Currently, NoGPL ≈ No SparseArrays = No SuiteSparse
SuiteSparse contains a lot of modules, we just need to exclude the GPL ones..
SuiteSparse Licenses
BSD
libamd: BSD 3-clauselibcamd: BSD 3-clauselibccolamd: BSD 3-clauselibcolamd: BSD 3-clauselibsuitesparseconfig: BSD-3-clause
LGPL
GPL
libcholmod: LGPL-2.1+ and GPL-2.0+ CHOLMOD/Check: [LGPL-2.1+] CHOLMOD/Cholesky: [LGPL-2.1+] CHOLMOD/Utility: [LGPL-2.1+] CHOLMOD/Demo: [GPL-2.0+] CHOLMOD/MATLAB: [GPL-2.0+] CHOLMOD/MatrixOps: [GPL-2.0+] CHOLMOD/Modify: [GPL-2.0+] CHOLMOD/Partition: [LGPL-2.1+] CHOLMOD/Supernodal: [GPL-2.0+] CHOLMOD/Tcov: [GPL-2.0+]librbio: GPL-2.0+libspqr: GPL-2.0+libumfpack: GPL-2.0+
- https://github.com/JuliaSparse/SparseArrays.jl/pull/535
- https://github.com/JuliaCI/julia-buildkite/pull/350
Just the solvers should be removed, not the entirety of SA I think.
the solvers should be removed
Do you mean keep the type and function prototype, but with an empty implementation?
Ideally, SparseArrays will continue to work fine if MKL.jl is loaded when compiling with NO-GPL.
the solvers should be removed
Do you mean keep the type and function prototype, but with an empty implementation?
Ideally, SparseArrays will continue to work fine if MKL.jl is loaded when compiling with NO-GPL.
Only the SuiteSparse wrappers in SparseArrays needs to be removed to make it no GPL. The rest of the stdlib should still remain, because it can be used with other backends and libraries.
https://github.com/JuliaSparse/SparseArrays.jl/blob/a5e95ec23649bd8cb75d2923861c74061016d1dd/src/SparseArrays.jl#L81
See here. Only these files need to remain unloaded. SparseArrays.jl itself should work just fine without them, you just won't have access to fast factorizations (LinearAlgebra generic factorizations might work? But incredibly slowly if they exist).