Skip to content

Instantly share code, notes, and snippets.

View lazar-mitrovic's full-sized avatar

Lazar Mitrović lazar-mitrovic

  • Belgrade, Serbia
  • 08:45 (UTC +02:00)
View GitHub Profile
@lazar-mitrovic
lazar-mitrovic / symcp.sh
Created November 3, 2022 14:45
Symlink first level of a directory
function symcp {
SRC=$1
DST=$2
mkdir -p "$DST"
for f in $(ls "$SRC"); do
echo "Symlinking $SRC/$f -> $DST/$f ...";
ln -sfn "$SRC/$f" "$DST/$f"
done;
}
@lazar-mitrovic
lazar-mitrovic / downloadGraalVM.sh
Last active March 11, 2021 19:17
Downloads latest nightly GraalVM build (linux-amd64)
#!/bin/bash -e
urldecode() {
: "${*//+/ }"
echo -e "${_//%/\\x}"
}
LATEST_GRAAL_URL=$(curl -s "https://api.github.com/repos/graalvm/graalvm-ce-dev-builds/releases" | \
grep -Po "['\"]browser_download_url['\"]\s*:\s*['\"]\K(.*)(?=['\"])" | \
grep -m1 "graalvm-ce-java11-linux-amd64-.*dev.tar.gz")
@lazar-mitrovic
lazar-mitrovic / buildGraal.py
Last active February 2, 2022 15:51
Build latest GraalVM CE (Java 8 / 11)
#!/usr/bin/python3
import os, sys
import platform
import subprocess
import shutil
from argparse import ArgumentParser, REMAINDER
my_env = os.environ.copy()
current_os = platform.system().lower()
version = "python-1.0.5"
@lazar-mitrovic
lazar-mitrovic / latestGraalAarch64StaticLibs.sh
Created February 28, 2020 23:42
Gets latest GraalVM aarch64 distribution, pulls glibc static libs and packs them in Gluon compatible zip.
#!/bin/bash
set -e
urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
mkdir -p arm
pushd arm
LATEST_GRAAL_URL=$(curl -s "https://api.github.com/repos/graalvm/graalvm-ce-dev-builds/releases" \
@lazar-mitrovic
lazar-mitrovic / fsl
Last active February 28, 2020 16:30
Find Symbol in Libraries
#!/bin/bash
# Usage:
# ./fsl symbol_to_find
for f in *.a *.so*; do
search=$(nm -a $f 2>/dev/null | grep "$1")
if [ ! -z "$search" ]
then
@lazar-mitrovic
lazar-mitrovic / freetypeAndroidBuild.sh
Last active February 25, 2020 23:57
Builds libfreetype for Android
#!/bin/bash
set -e
FREETYPE_VER="2.9"
if [ ! -d "toolchain" ]; then
$ANDROID_NDK/build/tools/make-standalone-toolchain.sh --arch=arm64 --platform=android-21 --install-dir=$(pwd)/toolchain
fi
export TOOLCHAIN=$(pwd)/toolchain
@lazar-mitrovic
lazar-mitrovic / downloadAndroidSdkNdk.sh
Last active October 10, 2020 03:31
Download Android SDK and NDK (using java 11)
#!/bin/bash
set -e
mkdir -p Android
pushd Android
if [ ! -d "tools" ]; then
wget -nc https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
unzip -q sdk-tools-linux-4333796.zip
fi
@lazar-mitrovic
lazar-mitrovic / ce-dev
Last active February 4, 2020 16:55
mx environment for fast compilation of latest GraalVM
LINKY_LAYOUT=*.jar
DYNAMIC_IMPORTS=/substratevm,/tools,/sulong,/graal-js,graalpython,truffleruby
DISABLE_INSTALLABLES=true
FORCE_BASH_LAUNCHERS=true
EXCLUDE_COMPONENTS=nju,nic,LibGraal
SKIP_LIBRARIES=polyglot
@lazar-mitrovic
lazar-mitrovic / environment
Last active December 30, 2019 13:10
GraalVM Gluon /etc/environment (Ubuntu 18.04)
JAVA8_HOME=/data/graalBuilds/build/graalvm-ce-complete-java8-20.0.0-dev
JAVA8_HOME=/data/graalBuilds/build/graalvm-toolchain-only-bash-java8-20.0.0-dev
JAVA11_HOME=/data/graalBuilds/build/graalvm-ce-complete-java11-20.0.0-dev
JAVA11_HOME=/data/graalBuilds/build/graalvm-toolchain-only-bash-java11-20.0.0-dev
GRAALVM_HOME="$JAVA11_HOME"
ANDROID_SDK_ROOT="/data/Android"
ANDROID_SDK="$ANDROID_SDK_ROOT"
@lazar-mitrovic
lazar-mitrovic / getGluonAndroid.sh
Created December 19, 2019 12:29
Get AndroidSDK and NDK for Gluon Mobile (Ubuntu 18.04)
#!/bin/bash
(( EUID )) && printf "You need to be root.\nRun script with ' sudo $0 '\n" && exit 1
[[ -z "${JAVA8_HOME}" ]] && printf "JAVA8_HOME environment variable missing.\nCheck if java8 is installed.\n" && exit 1
mkdir -p /data/Android
pushd /data/Android
if [ ! -d "tools" ]; then