From 285a7bfe23ab8f0f2aeab48c977512c2d8f48174 Mon Sep 17 00:00:00 2001 From: Sarah Jamie Lewis Date: Thu, 15 Jun 2023 11:33:25 -0700 Subject: [PATCH] v0.0.5 autobindings scripts --- .../libcwtch.v0.0.5-android.script | 94 +++++++++++++++++++ .../libcwtch.v0.0.5-linux.script | 33 +++++++ .../libcwtch.v0.0.5-windows.script | 33 +++++++ 3 files changed, 160 insertions(+) create mode 100644 cwtch-autobindings-v0.0.5/libcwtch.v0.0.5-android.script create mode 100644 cwtch-autobindings-v0.0.5/libcwtch.v0.0.5-linux.script create mode 100644 cwtch-autobindings-v0.0.5/libcwtch.v0.0.5-windows.script diff --git a/cwtch-autobindings-v0.0.5/libcwtch.v0.0.5-android.script b/cwtch-autobindings-v0.0.5/libcwtch.v0.0.5-android.script new file mode 100644 index 0000000..ec5d824 --- /dev/null +++ b/cwtch-autobindings-v0.0.5/libcwtch.v0.0.5-android.script @@ -0,0 +1,94 @@ +# Mount Virtual Disk for More Space +@!setup-secondary + +apt update -qq +apt install -qq -y --no-install-recommends strace netcat git wget libc6-dev make gcc unzip ca-certificates p11-kit +@%uname -a +@%ldd --version +export LANG=C.UTF-8 + +# Install JDK8 +cd /mount +@%wget https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u342-b07/OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz +@!check OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz 9a871e4dd2698ae8f4063aad7998414a7472926fbe46b3c89567d86338427bb85acb7e390e88c3c311cd5e631051b358530352fc6e7d65e9ea6c8cff0e72bc09 +tar --extract --file OpenJDK8U-jdk_x64_linux_8u342b07.tar.gz --no-same-owner +ln -s /mount/openjdk-8u342-b07 /usr/local/openjdk-8 +export JAVA_HOME=/usr/local/openjdk-8 +export PATH="/usr/local/openjdk-8/bin/:$PATH" +@%find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf +@%ldconfig +@%trust extract --overwrite --format=java-cacerts --filter=ca-anchors --purpose=server-auth "$JAVA_HOME/jre/lib/security/cacerts" +@%java -version + +# Setup Android SDK +mkdir -p /usr/local/android-sdk +cd /usr/local/android-sdk +mkdir .android +wget -q -O sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip +unzip -q sdk.zip +rm sdk.zip +export ANDROID_SDK=/usr/local/android-sdk +export ANDROID_HOME=/usr/local/android-sdk +yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses +$ANDROID_HOME/tools/bin/sdkmanager --update +$ANDROID_HOME/tools/bin/sdkmanager "build-tools;30.0.2" "platforms;android-31" "platform-tools" +$ANDROID_HOME/tools/bin/sdkmanager "ndk;22.1.7171670" +export NDK_VER="22.1.7171670" +export ANDROID_NDK_HOME=/usr/local/android-sdk/ndk/$NDK_VER +@%ln -sf $ANDROID_HOME/ndk/$NDK_VER $ANDROID_HOME/ndk-bundle +echo 'hosts: files dns' > /etc/nsswitch.conf + + + +# Setup Go +cd /mount +mkdir gopath +# Downloading Go +wget https://go.dev/dl/go1.19.5.linux-amd64.tar.gz +@!check go1.19.5.linux-amd64.tar.gz 41cb5e267aca9c3120bc218a81921e4ef1e1b8a5eeb609f82f697092a86fbfc252130a5b87794ce08a21c41f7926b0672273cf1b831d57208e8caaa18c5181bf +tar -xzf go1.19.5.linux-amd64.tar.gz + +ln -s /mount/go /usr/local/go +ln -s /mount/gopath /gomobile +export GOROOT="/usr/local/go" +export GOPATH="/gomobile" +export PATH="$GOPATH/bin:/usr/local/go/bin:$PATH" +go version + + +# Building gomobile - NOTE this hash is important as it binds to Java 1.7 class support +# We can't update this until docker is updated +export GOMOBILEHASH="43a0384520996c8376bfb8637390f12b44773e65" +mkdir -p $GOPATH/src/golang.org/x +mkdir -p $GOPATH/bin/ +mkdir -p $GOPATH/pkg/ +cd $GOPATH/src/golang.org/x +git clone https://github.com/golang/mobile.git +cd mobile +git checkout $GOMOBILEHASH +#go install -trimpath -ldflags "-buildid=" golang.org/x/mobile/cmd/gomobile@$GOMOBILEHASH +#go install -trimpath -ldflags "-buildid=" golang.org/x/mobile/cmd/gobind@$GOMOBILEHASH +go install ./cmd/gobind +go install ./cmd/gomobile +@%gomobile version +@%go env +gomobile clean + +# Building libCwtch.so +cd /mount +git clone https://git.openprivacy.ca/cwtch.im/autobindings +mkdir /drone +ln -s /mount/autobindings /drone/src +cd /drone/src +git fetch --tags +git checkout tags/v0.0.5 -b v0.0.5 +echo `git describe --tags` > VERSION +make clean-autobindings +env EXPERIMENTS="" make lib.go +go mod download +gomobile init +@%env +@%make android +sha512sum build/android/cwtch.aar +@!extract build/android/cwtch.aar +@!check build/android/cwtch.aar b7e7586597bd84f86d29b9a3e44b1197c34c508a6fb2e3c26ae808defe34647319cd4c45e144a26eb62d74c233d938119f6ea36455d6364ca3e57b23e8902592 diff --git a/cwtch-autobindings-v0.0.5/libcwtch.v0.0.5-linux.script b/cwtch-autobindings-v0.0.5/libcwtch.v0.0.5-linux.script new file mode 100644 index 0000000..4e6137d --- /dev/null +++ b/cwtch-autobindings-v0.0.5/libcwtch.v0.0.5-linux.script @@ -0,0 +1,33 @@ +# Mount Virtual Disk for More Space +@!setup-secondary +cd /mount +mkdir gopath +mkdir /drone +# Downloading Go +wget https://go.dev/dl/go1.19.1.linux-amd64.tar.gz +@!check go1.19.1.linux-amd64.tar.gz a69153393a2eaf1c2b77f5a4bafe6a2fb36368c6856d79bd697472af71d925fc62c58e6b8fe75adf143b0462da2ed9e68d0fcd0328cde091be70d745b92814aa +tar -xzf go1.19.1.linux-amd64.tar.gz +apt update +apt install -y --no-install-recommends netcat git wget libc6-dev make gcc +ln -s /mount/go /usr/local/go +ln -s /mount/gopath /go +export GOROOT="/usr/local/go" +export GOPATH="/go" +export GOCACHE="/tmp/gocache" +export PATH="/usr/local/go/bin/:$PATH" +go version +# Building libCwtch.so +cd /mount/ +git clone https://git.openprivacy.ca/cwtch.im/autobindings +ln -s /mount/autobindings /drone/src +cd /drone/src/ +git fetch --tags +git checkout tags/v0.0.5 -b v0.0.5 +go mod download +echo `git describe --tags` > VERSION +make clean +go run generate/generate_bindings.go --experiments "serverExperiment" +@%make linux +@!extract build/linux/libCwtch.so +sha512sum build/linux/libCwtch.so +@!check build/linux/libCwtch.so 1b05a0e6a7ced043aa441dfecb0a3c7d0412955de57946299bb80a763a54620f56cc3b08dde82913a0cd626668a26a0609d44015f7eb6f738789f3100c99ec14 diff --git a/cwtch-autobindings-v0.0.5/libcwtch.v0.0.5-windows.script b/cwtch-autobindings-v0.0.5/libcwtch.v0.0.5-windows.script new file mode 100644 index 0000000..cb36ceb --- /dev/null +++ b/cwtch-autobindings-v0.0.5/libcwtch.v0.0.5-windows.script @@ -0,0 +1,33 @@ +# Mount Virtual Disk for More Space +@!setup-secondary +cd /mount +mkdir gopath +mkdir /drone +# Downloading Go +wget https://go.dev/dl/go1.19.3.linux-amd64.tar.gz +@!check go1.19.3.linux-amd64.tar.gz 1bf389df6d7efa6b54b04332c70356ee0d133753b1e58753e80ebafcff0f559c61223ddad3f5d024f0c538dbbd7d6ac92abb6b022f6a171a91a5ef39b0d82c9b +tar -xzf go1.19.3.linux-amd64.tar.gz +apt update +apt install -y --no-install-recommends netcat git wget libc6-dev make gcc g++ pkg-config g++-mingw-w64-x86-64 +ln -s /mount/go /usr/local/go +ln -s /mount/gopath /go +export GOROOT="/usr/local/go" +export GOPATH="/go" +export GOCACHE="/tmp/gocache" +export PATH="/usr/local/go/bin/:$PATH" +go version +# Building libCwtch.dll +mkdir /mount/ +git clone https://git.openprivacy.ca/cwtch.im/autobindings +ln -s /mount/autobindings /drone/src +cd /drone/src/ +git fetch --tags +git checkout tags/v0.0.5 -b v0.0.5 +echo `git describe --tags` > VERSION +go mod download +make clean +go run generate/generate_bindings.go --experiments "serverExperiment" +make windows +sha512sum build/windows/libCwtch.dll +@!check build/windows/libCwtch.dll f950a7165052d3531a97af757261c7ff9c4a00f38191183fcf99f41e6553f10947d6c69a8c5335339b231d29e4a425a4745de30af19494c0a3f4886102cfafec +@!extract build/windows/libCwtch.dll