<commit_before>LICENSE = "GPLv2 & GPLv3 & BSD-3-Clause & LGPL-2.0 & Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f9f2b9d61cb769a67c4cd079e1166de7"
SRC_URI = "git://github.com/DrTimothyAldenDavis/SuiteSparse;protocol=https \
           file://0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch \
           file://0002-Preserve-links-when-installing-libmetis.patch \
           file://0003-Add-version-information-to-libmetis.patch \
           "
SRCREV = "538273cfd53720a10e34a3d80d3779b607e1ac26"

S = "${WORKDIR}/git"

DEPENDS = "cmake-native lapack gmp mpfr chrpath-native"

PROVIDES = "mongoose graphblas"
RPROVIDES_${PN} = "mongoose graphblas"

# The values of $CC, $CXX, and $LD that Bitbake uses have spaces in them which
# causes problems when the SuiteSparse Makefiles try to pass these values on
# the command line. To get around this problem, set these variables to only the
# program name and prepend the rest of the value onto the corresponding FLAGS
# variable.
CFLAGS_prepend := "${@" ".join(d.getVar('CC', True).split()[1:])} "
export CC := "${@d.getVar('CC', True).split()[0]}"

CXXFLAGS_prepend := "${@" ".join(d.getVar('CXX', True).split()[1:])} "
export CXX := "${@d.getVar('CXX', True).split()[0]}"

LDFLAGS_prepend := "${@" ".join(d.getVar('LD', True).split()[1:])} "
export LD := "${@d.getVar('LD', True).split()[0]}"

export CMAKE_OPTIONS = " \
    -DCMAKE_INSTALL_PREFIX=${D}${prefix} \
    -DCMAKE_INSTALL_LIBDIR=${baselib} \
"

do_compile () {
	oe_runmake library
}

do_install () {
	oe_runmake prefix=${D}${prefix} INSTALL=${D}${prefix} install

        # Remove runtime paths from shared libraries
        for file in ${D}${libdir}/*.so.*; do
            if [ ! -L "$file" ]; then
                chrpath -d "$file"
            fi
        done
}

FILES_${PN} += " \
    ${libdir}/libmongoose.so.* \
    ${libdir}/libgraphblas.so.* \
    ${libdir}/libmetis.so.* \
    ${libdir}/libsuitesparseconfig.so.* \
    ${libdir}/libamd.so.* \
    ${libdir}/libbtf.so.* \
    ${libdir}/libcamd.so.* \
    ${libdir}/libccolamd.so.* \
    ${libdir}/libcolamd.so.* \
    ${libdir}/libcholmod.so.* \
    ${libdir}/libcxsparse.so.* \
    ${libdir}/libldl.so.* \
    ${libdir}/libklu.so.* \
    ${libdir}/libumfpack.so.* \
    ${libdir}/librbio.so.* \
    ${libdir}/libspqr.so.* \
    ${libdir}/libsliplu.so.* \
    ${bindir}/mongoose \
"

FILES_${PN}-staticdev += "${libdir}/libmongoose.a"
FILES_${PN}-dev += "${includedir} ${libdir}/*.so"

EXCLUDE_FROM_WORLD = "1"
<commit_msg>suitesparse: Fix LIC_FILES_CHKSUM<commit_after>LICENSE = "GPLv2 & GPLv3 & BSD-3-Clause & LGPL-2.0 & Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5fa987762101f748a6cdd951b64ffc6b"
SRC_URI = "git://github.com/DrTimothyAldenDavis/SuiteSparse;protocol=https \
           file://0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch \
           file://0002-Preserve-links-when-installing-libmetis.patch \
           file://0003-Add-version-information-to-libmetis.patch \
           "
SRCREV = "538273cfd53720a10e34a3d80d3779b607e1ac26"

S = "${WORKDIR}/git"

DEPENDS = "cmake-native lapack gmp mpfr chrpath-native"

PROVIDES = "mongoose graphblas"
RPROVIDES_${PN} = "mongoose graphblas"

# The values of $CC, $CXX, and $LD that Bitbake uses have spaces in them which
# causes problems when the SuiteSparse Makefiles try to pass these values on
# the command line. To get around this problem, set these variables to only the
# program name and prepend the rest of the value onto the corresponding FLAGS
# variable.
CFLAGS_prepend := "${@" ".join(d.getVar('CC', True).split()[1:])} "
export CC := "${@d.getVar('CC', True).split()[0]}"

CXXFLAGS_prepend := "${@" ".join(d.getVar('CXX', True).split()[1:])} "
export CXX := "${@d.getVar('CXX', True).split()[0]}"

LDFLAGS_prepend := "${@" ".join(d.getVar('LD', True).split()[1:])} "
export LD := "${@d.getVar('LD', True).split()[0]}"

export CMAKE_OPTIONS = " \
    -DCMAKE_INSTALL_PREFIX=${D}${prefix} \
    -DCMAKE_INSTALL_LIBDIR=${baselib} \
"

do_compile () {
	oe_runmake library
}

do_install () {
	oe_runmake prefix=${D}${prefix} INSTALL=${D}${prefix} install

        # Remove runtime paths from shared libraries
        for file in ${D}${libdir}/*.so.*; do
            if [ ! -L "$file" ]; then
                chrpath -d "$file"
            fi
        done
}

FILES_${PN} += " \
    ${libdir}/libmongoose.so.* \
    ${libdir}/libgraphblas.so.* \
    ${libdir}/libmetis.so.* \
    ${libdir}/libsuitesparseconfig.so.* \
    ${libdir}/libamd.so.* \
    ${libdir}/libbtf.so.* \
    ${libdir}/libcamd.so.* \
    ${libdir}/libccolamd.so.* \
    ${libdir}/libcolamd.so.* \
    ${libdir}/libcholmod.so.* \
    ${libdir}/libcxsparse.so.* \
    ${libdir}/libldl.so.* \
    ${libdir}/libklu.so.* \
    ${libdir}/libumfpack.so.* \
    ${libdir}/librbio.so.* \
    ${libdir}/libspqr.so.* \
    ${libdir}/libsliplu.so.* \
    ${bindir}/mongoose \
"

FILES_${PN}-staticdev += "${libdir}/libmongoose.a"
FILES_${PN}-dev += "${includedir} ${libdir}/*.so"

EXCLUDE_FROM_WORLD = "1"
{'fraction_non_alphanumeric': 0.19285004965243296, 'fraction_numerical': 0.029592850049652432, 'mean_word_length': 3.2533783783783785, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3433111', 'n_tokens_mistral': 2023, 'n_tokens_neox': 1905, 'n_words': 328}