INSTALL

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 with dnf. 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 make does, 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.

install-the-tools.shBASH Download
The compilers and tools SATELLITE is built with
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 bzip2

It 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

download.shBASH Download
Copy the source code into a folder called satellite in your home folder
cd ~
git clone https://github.com/satellitemadness1/satellite.git
cd satellite

You now have a folder called satellite in your home folder, and your terminal is inside it.

3. BUILD AND INSTALL

build-and-install.shBASH Download
Build the window toolkit once, then build and install satl
make window
make
  • make window builds 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.
  • make builds satl, the program that runs SATELLITE code, and then installs it into ~/.satl in your home folder. It also adds Satellite 004 to your applications menu. The first make takes a while, because it builds satl twice 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 make as yourself, never with sudo. SATELLITE installs into your own home folder, and make will 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:

satl-command.shBASH Download
Link satl into the folder AlmaLinux looks in for your own commands
mkdir -p ~/.local/bin
ln -sf ~/.satl/satl ~/.local/bin/satl
satl --version

AlmaLinux 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:

hello.satlSATELLITE 004 Download
Your first SATELLITE program
satellite.include(satellite)

satellite.capsule satellite.main()
{
    satellite.console.display("Hello, World!")

    satellite.return(satellite)
}

Then run it from the terminal:

run-hello.shBASH Download
Run the program
cd ~
satl hello.satl

It prints:

OUTPUT
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 --repl in a terminal for the same prompt right there. satl --help lists every way to run satl.

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:

update.shBASH Download
Fetch the newest source and build it
cd ~/satellite
git restore satellite/config/satellite_config.hpp
git pull
rm -f .satellite_build
make

Each build writes its build number into one file of the source code, so two extra lines keep the update smooth:

  • git restore puts that file back as it was downloaded, so git pull can bring in the new version. Without it, git pull refuses with Your local changes to the following files would be overwritten by merge.
  • rm -f .satellite_build clears your machine’s record of the last build number, so make counts on from the number in the new source. Without it, make can stop with arguments.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

remove.shBASH Download
Remove satl, its libraries, its settings, the menu entry and the source
rm -rf ~/.satl
rm -f ~/.local/bin/satl
rm -f ~/.local/share/applications/org.satellite.terminal.desktop
rm -rf ~/satellite

The 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.