#!/bin/bash

set -e

source /ci/common.sh

export DEBIAN_FRONTEND=noninteractive
export LANG='C.UTF-8'
export DC=gdc

pkgs=(
  python3-pip libxml2-dev libxslt1-dev libyaml-dev libjson-glib-dev
  wget unzip
  qt5-qmake qtbase5-dev qtchooser qtbase5-dev-tools clang
  qmake6 qt6-base-dev qt6-base-private-dev qt6-declarative-dev qt6-declarative-dev-tools qt6-l10n-tools qt6-base-dev-tools
  libomp-dev
  llvm lcov
  dub ldc
  mingw-w64 mingw-w64-tools libz-mingw-w64-dev
  libclang-dev
  libgcrypt20-dev
  libgpgme-dev
  libhdf5-dev
  libboost-python-dev libboost-regex-dev
  libblocksruntime-dev
  libperl-dev
  liblapack-dev libscalapack-mpi-dev
  bindgen
  itstool
  openjdk-11-jre
  jq
  lcov
)

# Packages that are used at build time but should be removed from the image
transitivepkgs=(
  npm  # Only needed for hotdoc
)

sed -i '/^Types: deb/s/deb/deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources
apt-get -y update
apt-get -y upgrade
apt-get -y install eatmydata

# Base stuff
eatmydata apt-get -y build-dep meson

# packages
eatmydata apt-get -y install "${pkgs[@]}" "${transitivepkgs[@]}"
eatmydata apt-get -y install --no-install-recommends wine  # Wine is special

# HACK: build hotdoc from git repo since current sdist is broken on modern compilers
# change back to 'hotdoc' once it's fixed
install_python_packages git+https://github.com/hotdoc/hotdoc

# Lower ulimit before running dub, otherwise there's a very high chance it will OOM.
# See: https://github.com/dlang/phobos/pull/9048 and https://github.com/dlang/phobos/pull/8990
echo 'ulimit -n -S 10000' >> /ci/env_vars.sh
ulimit -n -S 10000
# dub stuff
dub_fetch dubtestproject@1.2.0
dub build dubtestproject:test1 --compiler=ldc2 --arch=x86_64
dub build dubtestproject:test2 --compiler=ldc2 --arch=x86_64
dub build dubtestproject:test3 --compiler=gdc --arch=x86_64
dub_fetch urld@3.0.0
dub build urld --compiler=gdc --arch=x86_64

# Remove debian version of Rust and install latest with rustup.
# This is needed to get the cross toolchain as well.
apt-get -y remove rustc || true
wget -O - https://sh.rustup.rs | sh -s -- -y --profile minimal --component clippy
source "$HOME/.cargo/env"
rustup target add x86_64-pc-windows-gnu
rustup target add arm-unknown-linux-gnueabihf

# Zig
# Use the GitHub API to get the latest release information
LATEST_RELEASE=$(wget -qO- "https://api.github.com/repos/ziglang/zig/releases/latest")
ZIGVER=$(echo "$LATEST_RELEASE" | jq -r '.tag_name')
ZIG_BASE="zig-x86_64-linux-$ZIGVER"
wget "https://ziglang.org/download/$ZIGVER/$ZIG_BASE.tar.xz"
tar xf "$ZIG_BASE.tar.xz"
rm -rf "$ZIG_BASE.tar.xz"
cd "$ZIG_BASE"

# As mentioned in the Zig readme, the binary and files under lib can be copied
# https://github.com/ziglang/zig?tab=readme-ov-file#installation
mv zig /usr/bin
mv lib /usr/lib/zig

# Copy the LICENSE
mkdir -p /usr/share/doc/zig
cp LICENSE /usr/share/doc/zig

# Remove what's left of the directory
cd ..
rm -rf "$ZIG_BASE"

# cleanup
apt-get -y purge "${transitivepkgs[@]}"
apt-get -y clean
apt-get -y autoclean
