diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/compile-archspec | 16 | ||||
-rwxr-xr-x | bin/wrapper | 22 |
2 files changed, 38 insertions, 0 deletions
diff --git a/bin/compile-archspec b/bin/compile-archspec new file mode 100755 index 0000000..2a5a042 --- /dev/null +++ b/bin/compile-archspec @@ -0,0 +1,16 @@ +#!/bin/bash +set -e + +archsrcdir="$1" +archinstdir="$2" + +mkdir -p "${archinstdir}" +cp -a "${archsrcdir}"/* "${archinstdir}"/ +cd "${archinstdir}" +if [ -e configure ] ; then + ./configure --prefix="${archinstdir}" +fi + +make PREFIX="${archinstdir}" +make install PREFIX="${archinstdir}" + diff --git a/bin/wrapper b/bin/wrapper new file mode 100755 index 0000000..0d92661 --- /dev/null +++ b/bin/wrapper @@ -0,0 +1,22 @@ +#!/bin/bash +set -e +instflag="${SUGAR_ACTIVITY_ROOT}/data/.installed" +cpu="$(uname -m)" +archsrcdir="${SUGAR_BUNDLE_PATH}/arch_src" +archbundledir="${SUGAR_BUNDLE_PATH}/arch_${cpu}" +archinstdir="${SUGAR_ACTIVITY_ROOT}/data/.arch_${cpu}" +pythonversion="$(python -V 2>&1 | cut -d ' ' -f 2 | cut -d . -f 1-2)" + +if [ ! -e "${instflag}" ] ; then + curchecksum="$(find "${archsrcdir}" -type f -print0 | xargs -0 md5sum -- | md5sum)" + if [ "$cpu" = "unknown" -o ! -e "${archbundledir}" ] || [ "${curchecksum}" != "$(cat "${archbundledir}/checksum")" ] ; then + # unknown arch or no (current) precompiled binaries -> need to compile + compile-archspec "${archsrcdir}" "${archinstdir}" + fi + touch "${instflag}" +fi + +export LD_LIBRARY_PATH="${archinstdir}/lib:${archinstdir}/lib64:${LD_LIBRARY_PATH}" +export PYTHONPATH="${archinstdir}/lib/python${pythonversion}/site-packages:${PYTHONPATH}" + +exec "$@" |