#!/bin/bash

set -e

cd $ROCM_REL_DIR
wget https://github.com/ROCmSoftwarePlatform/hipSPARSE/archive/rocm-$PKGVER.tar.gz
tar xf hipSPARSE-$LDIR.tar.gz
rm -rf $ROCM_BUILD_DIR/hipsparse
mkdir -p $ROCM_BUILD_DIR/hipsparse
cd $ROCM_BUILD_DIR/hipsparse

DEST=$OUTPUT/package-hipsparse
PRGNAM=hipSPARSE
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
BUILD=1

pushd .


cmake \
    -Wno-dev \
    -D CMAKE_BUILD_TYPE=Release \
    -D CMAKE_CXX_COMPILER=${ROCM_INSTALL_DIR}/bin/hipcc \
    -D CMAKE_CXX_FLAGS="${CXXFLAGS} -fcf-protection=none" \
    -D CMAKE_INSTALL_PREFIX=${ROCM_INSTALL_DIR} \
    -D BUILD_CUDA=OFF \
    -D HIP_PATH=${ROCM_INSTALL_DIR} \
    -D BUILD_CLIENTS_SAMPLES=NO \
    $ROCM_REL_DIR/hipSPARSE-$LDIR

# Ninja not working here
cmake --build .
DESTDIR=$DEST cmake --install .

mkdir -p $DEST/install
cat >> $DEST/install/slack-desc << 'END'
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':' except on otherwise blank lines.

         |-----handy-ruler------------------------------------------------------|
hipSPARSE: hipSPARSE (rocSPARSE marshalling library.)
hipSPARSE:
hipSPARSE: hipSPARSE is a SPARSE marshalling library with multiple supported
hipSPARSE: backends. It sits between your application and a worker SPARSE
hipSPARSE: library, where it marshals inputs to the backend library and marshals
hipSPARSE: results to your application. hipSPARSE exports an interface that
hipSPARSE: does not require the client to change, regardless of the chosen
hipSPARSE: backend. Currently, hipSPARSE supports rocSPARSE and cuSPARSE
hipSPARSE: backends.
hipSPARSE:
hipSPARSE:
END

cd $DEST
makepkg -l y -c n $OUTPUT/$PRGNAM-$PKGVER-$ARCH-${BUILD}$TAG.txz

popd
