pyeclib/tools/pip-install-with-liberasurecode.sh
Tim Burke da4e08ef43 Pull nasm from github
... instead of nasm.us, which seems to be down. Drop back to the 2.15.x
series until we can eliminate older CI nodes with an older version of
autoconf.

Change-Id: I75242ff5ad2e6259e26d084798c71467fbf7fb3c
2025-04-18 12:03:24 -07:00

79 lines
1.9 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
git clone https://github.com/netwide-assembler/nasm.git -b nasm-2.15.05 "$NASM_DIR"
fi
pushd "$NASM_DIR"
./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 "$@"