Docker icon 16x16-- ssh dick@hardpillu --
## I made this tutorial with <Ubuntu> 24.04.1

## I can only assume it also works with 22.04+

## I link to my sources but I do condense some commands and steps


dick@hardpillU:~$ uname -a
Linux hardpillu 6.8.0-49-generic #49-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov  4 02:06:24 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

## <lambertjamesd>
## <mwpenny>/<portal64-still-alive>
## <crashoveride95>/<ModernSDK>
## <docker>/install/<ubuntu>


## start by cloning the repo

dick@hardpillU:~$ git clone https://github.com/mwpenny/portal64-still-alive.git portal64

## move your Portal folder into $HOME/portal64/vpk

dick@hardpillU:~$ mv $HOME/Portal $HOME/portal64/vpk/

## if your Portal folder is from MacOS you need to rename $HOME/portal64/vpk/Portal/hl2/media/valve.mov to valve.bik

dick@hardpillU:~$ mv $HOME/portal64/vpk/Portal/hl2/media/valve.mov $HOME/portal64/vpk/Portal/hl2/media/valve.bik

## install docker, docker-buildx is optional

dick@hardpillU:~$ sudo apt -y install docker.io docker-buildx

## add docker to your groups

dick@hardpillU:~$ sudo usermod -aG docker $USER

## you can logout and back in or use newgrp

dick@hardpillU:~$ newgrp docker
## build the docker image

dick@hardpillU:~$ docker build -t portal64 $HOME/portal64

## enter your newly created docker

dick@hardpillD:~$ docker run --rm -v $HOME/portal64:/usr/src/app -it portal64 bash

## create the build folder

root@fb2e2937eb93:/usr/src/app# cmake -G "Ninja" -B build -S . -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-N64.cmake

## build the rom

root@fb2e2937eb93:/usr/src/app# cmake --build build

## random hits
## you can verify if you are in the docker group with the groups command
## I like to use grep to refine the results

dick@hardpillU:~$ groups|grep -o docker

## git head

dick@hardpillU:~$ git -C $HOME/portal64 rev-parse HEAD

## just the tip

dick@hardpillU:~$ git -C $HOME/portal64 rev-parse --short HEAD

## I like to copy my <ROM> to Portal_[date]_[build].z64

dick@hardpillU:~$ cp -v $HOME/portal64/build/portal.z64 $HOME/Portal_$(date +%Y%m%d)_$(git -C $HOME/portal64 rev-parse --short HEAD).z64