SATELLITE 004 is built from its source code on your own computer. You don’t need to know anything about building software to do it. It takes a handful of commands, and this page walks you through each one.
What you need:
- AlmaLinux 10 on a 64-bit Intel or AMD processor (x86-64). This is the system SATELLITE supports.
- An account that can use
sudo. You need it only to install the tools withdnf. SATELLITE itself goes into your own home folder. - An internet connection for the download, and a couple of gigabytes of free disk space.
Curious about what
makedoes, or want to change how SATELLITE is built? That is the BUILD page. You don’t need it to install.
1. INSTALL THE TOOLS
Open a terminal and run this command. It asks for your password, because installing packages needs sudo.
sudo dnf install --enablerepo=crb git make clang lld llvm gcc-c++ python3 ninja-build cmake bison perl pkgconf-pkg-config wayland-devel libglvnd-devel nasm tar xz bzip2It installs the C++ compilers and the tools that build SATELLITE. Two of them, ninja-build and nasm, come from AlmaLinux’s CRB repository, which is switched off by default. --enablerepo=crb turns it on for this one command. If a package is already installed, dnf says so and moves on.
2. DOWNLOAD SATELLITE
cd ~
git clone https://github.com/satellitemadness1/satellite.git
cd satelliteYou now have a folder called satellite in your home folder, and your terminal is inside it.
3. BUILD AND INSTALL
make window
makemake windowbuilds GTK, the toolkit SATELLITE draws its windows with. SATELLITE carries its own copy inside the program, so you never have to install GTK. Its source code came with the download, so this step doesn’t use the internet. It takes a few minutes, and you only do it once.makebuildssatl, the program that runs SATELLITE code, and then installs it into~/.satlin your home folder. It also adds Satellite 004 to your applications menu. The firstmaketakes a while, because it buildssatltwice and learns from the first one how to make the second one faster. When it finishes, the last lines say what was installed and where.
Run
makeas yourself, never withsudo. SATELLITE installs into your own home folder, andmakewill not install as root.
Every make from now on installs again, so ~/.satl always holds the newest satl you built.
4. MAKE THE satl COMMAND
make does not put satl on your command line. One link does:
mkdir -p ~/.local/bin
ln -sf ~/.satl/satl ~/.local/bin/satl
satl --versionAlmaLinux looks in ~/.local/bin for your own commands. The last line checks that it works. satl answers with its version, revision and build number, then the compiler and system it was built with. If it says command not found, close the terminal, open a new one and try again.
5. YOUR FIRST PROGRAM
Open a text editor (AlmaLinux has one called Text Editor), type this program and save it in your home folder as hello.satl:
(satellite)
satellite.capsule satellite.main()
{
satellite.console.display("Hello, World!")
satellite.return(satellite)
}Then run it from the terminal:
cd ~
satl hello.satlIt prints:
Hello, World!satl prints its own title lines first, and then everything your program displays. Every SATELLITE program has the three parts you can see here: satellite.include(satellite) at the top, a capsule called satellite.main where the program starts, and satellite.return(satellite) at the end. Everything that starts with satellite. belongs to the language. Names without it are yours.
You’ll also see a new file called hello.sate beside your program. That is your program turned into the numbers satl runs. satl writes it each time it runs a program, so you can ignore it or delete it.
Two more ways to use SATELLITE:
- Open Satellite 004 from your applications menu. It opens SATELLITE’s own console window with a prompt: type a line and it runs straight away.
- Type
satl --replin a terminal for the same prompt right there.satl --helplists every way to runsatl.
Where to go next: YOUR FIRST SATELLITE PROGRAM explains the program above line by line. BEGINNERS starts from nothing, TUTORIAL takes you through the language, and THE SATL COMMAND covers everything satl can do.
UPDATING
When there is a new version, go into the folder and build again:
cd ~/satellite
git restore satellite/config/satellite_config.hpp
git pull
rm -f .satellite_build
makeEach build writes its build number into one file of the source code, so two extra lines keep the update smooth:
git restoreputs that file back as it was downloaded, sogit pullcan bring in the new version. Without it,git pullrefuses withYour local changes to the following files would be overwritten by merge.rm -f .satellite_buildclears your machine’s record of the last build number, somakecounts on from the number in the new source. Without it,makecan stop witharguments.build is ..., but build ... was already used.
make installs the new satl into ~/.satl as before. The link you made in step 4 keeps working, because it points at ~/.satl. If make ends by saying THIS satl HAS NO WINDOW, run make window and then make again.
REMOVING SATELLITE
rm -rf ~/.satl
rm -f ~/.local/bin/satl
rm -f ~/.local/share/applications/org.satellite.terminal.desktop
rm -rf ~/satelliteThe first line removes satl, its libraries and your SATELLITE settings, which all live in ~/.satl. The next two remove the command and the menu entry. The last removes the source code you downloaded. Your own .satl programs stay wherever you saved them.
The tools you installed with dnf are ordinary AlmaLinux packages, and other programs may use them. Remove them with sudo dnf remove only if you know nothing else needs them.
IF SOMETHING GOES WRONG
The BUILD page lists the common problems, with the message you’ll see and how to fix each one. Most of them are a missing tool, and one sudo dnf install fixes it.
