diff --git a/opencode-1.18.30-0.build.sh b/opencode-1.18.30-0.build.sh new file mode 100755 index 0000000..994e7ca --- /dev/null +++ b/opencode-1.18.30-0.build.sh @@ -0,0 +1,63 @@ +#! /usr/bin/bash + +PKG=opencode +VERSION=1.18.30 +BUILD=0 + +PREFIX=/pkg/$PKG-$VERSION-$BUILD +if [ -n "$TESTING" ]; then PREFIX=/dev/shm/$PKG-$VERSION-$BUILD ; fi + +set -xe +umask 022 + +BUILD_TMPDIR=/dev/shm/$PKG-$VERSION-$BUILD.build.tmp +test -d $BUILD_TMPDIR && ( chmod -R u+rwx $BUILD_TMPDIR || true ; rm -rf $BUILD_TMPDIR ) +mkdir -p $BUILD_TMPDIR/home +export TMPDIR=$BUILD_TMPDIR +export HOME=$BUILD_TMPDIR/home + +cp $0 $BUILD_TMPDIR; ME="$BUILD_TMPDIR/$(basename $0)" + +exec $PREFIX/profile <<-EOF + PATH=$PREFIX/bin:\$PATH + if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} ; fi +EOF +. $PREFIX/profile + +export MAKEFLAGS="-j $(nproc)" + +BUILDDIR=$PREFIX/build + +mkdir -p $BUILDDIR +cd $BUILDDIR + +# https://github.com/oven-sh/bun +test -e bun-linux-x64.zip || wget "https://beehive.molgen.mpg.de/3b745473e266cf2ba3bcb20924c1279f/bun-linux-x64.zip" +test -d bun-linux-x64 || unzip bun-linux-x64.zip + +( + export PATH=${BUILDDIR}/bun-linux-x64:${PATH} + # wget https://github.com/anomalyco/opencode/archive/refs/tags/v${VERSION}.tar.gz -O ${PKG}-${VERSION}.tar.gz + test -e ${PKG}-${VERSION}.tar.gz || wget "https://beehive.molgen.mpg.de/a137f60c075552290b0a61faa10f9429/opencode-1.18.30.tar.gz" + test -d ${PKG}-${VERSION} || tar xvf ${PKG}-${VERSION}.tar.gz + cd ${PKG}-${VERSION} + bun install --frozen-lockfile --ignore-scripts + cd packages/opencode + OPENCODE_VERSION=$VERSION bun run ./script/build.ts --single --baseline --skip-install + install -vDm755 -t "${PREFIX}/exe" "dist/opencode-linux-x64/bin/opencode" + install -vdm 755 ${PREFIX}/bin + cat >${PREFIX}/bin/opencode <<-EOF + #!/usr/bin/bash + if [[ ! \$USER =~ ^A[a-z]{1,7} ]] && [[ ! \$XDG_CONFIG_HOME =~ ^/home/A[a-z]{1,7}/.config ]]; then + echo "For more Information check the intranet" + echo "https://intranet.molgen.mpg.de/service/scientific-service/it/infos/general/guidelines-for-the-secure-use-of-ai-agent-systems/" + exit 1 + fi + ${PREFIX}/exe/opencode \${@} + EOF + chmod 755 ${PREFIX}/bin/opencode +) +exit