pyeclib/tools/pip-install-with-liberasurecode.sh
Tim Burke d6e198797d Switch from yasm to nasm
... and build it from source so we can build latest ISA-L
(otherwise, the version shipped by some distros would
complain about a %use directive).

Change-Id: Iddba90e65c0eac135a71af920b3433775b9c8f0e
2023-07-11 13:55:29 -07:00

82 lines
2.0 KiB
Bash
Executable File

#!/bin/bash -xe
if [ -z "$VIRTUAL_ENV" ]; then
echo "Expected VIRTUAL_ENV to be set!"
exit 1
fi
if [ -n "$NASM_DIR" ]; then
if [ ! -d "$NASM_DIR" ]; then
mkdir -p "$NASM_DIR"
pushd "$NASM_DIR"
curl https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01.tar.gz | tar -xz
popd
fi
pushd "$NASM_DIR"/nasm*
./autogen.sh
./configure --prefix "$VIRTUAL_ENV"
make nasm
install -c nasm "$VIRTUAL_ENV"/bin/nasm
PATH="$VIRTUAL_ENV/bin:$PATH"
popd
fi
if [ -n "$ISAL_DIR" ]; then
if [ ! -d "$ISAL_DIR" ]; then
git clone https://github.com/intel/isa-l.git "$ISAL_DIR"
fi
pushd "$ISAL_DIR"
./autogen.sh
./configure --prefix "$VIRTUAL_ENV"
make
make install
popd
fi
if [ -n "$GFCOMPLETE_DIR" ]; then
if [ ! -d "$GFCOMPLETE_DIR" ]; then
git clone https://github.com/ceph/gf-complete.git "$GFCOMPLETE_DIR"
fi
pushd "$GFCOMPLETE_DIR"
./autogen.sh
./configure --prefix "$VIRTUAL_ENV"
make
make install
popd
fi
if [ -n "$JERASURE_DIR" ]; then
if [ -z "$GFCOMPLETE_DIR" ]; then
echo "JERASURE_DIR requires that GFCOMPLETE_DIR be set!"
exit 1
fi
if [ ! -d "$JERASURE_DIR" ]; then
git clone https://github.com/ceph/jerasure.git "$JERASURE_DIR"
fi
pushd "$JERASURE_DIR"
autoreconf --force --install
LD_LIBRARY_PATH="$VIRTUAL_ENV"/lib ./configure --prefix "$VIRTUAL_ENV" LDFLAGS="-L$VIRTUAL_ENV/lib" CPPFLAGS="-I$VIRTUAL_ENV/include"
make
make install
popd
fi
if [ -z "$LIBERASURECODE_DIR" ]; then
echo "Expected LIBERASURECODE_DIR to be set!"
exit 1
fi
if [ ! -d "$LIBERASURECODE_DIR" ]; then
git clone https://opendev.org/openstack/liberasurecode.git "$LIBERASURECODE_DIR"
fi
pushd "$LIBERASURECODE_DIR"
if [ -n "$LIBERASURECODE_REF" ]; then
git fetch origin "$LIBERASURECODE_REF"
git checkout FETCH_HEAD
fi
./autogen.sh
./configure --prefix "$VIRTUAL_ENV"
make
make install
popd
pip install "$@"