Resource icon

[Open Assets] srb2bld - SRB2 Build/Package manager CLI

Features:
- Added SRB2 JTE and SRB2Kart Saturn as new build targets,
- Added builds' debug binaries to installation process.

Fixes:
- Fixed issue of errors with #ifdef message during compiling on Windows, because of removing exchndl.dll dependency with patch,
- Fixed issue with linking libopenvr SRB2 VR and SRB2Kart VR on Windows and Linux due to builds' hardcoded path to libopenvr.

Other:
- Updated README.md,
- Updated compatibilty table,
- Updated links to SRB2 VR and SRB2 2.1 Legacy repositories,
- Added environment variables,
- Removed unused code.
Features:
- Nix flakes support added replacing command "nix-env" (issue #14),
- Option to build Flatpaks with flags -f/--flatpak added (issue #15),
- Podman support added (issue #17),
- MSYS environment and MSYS2 program for Windows support added (issue #20),
- Build's commit selection added,
- Build's tag release selection by entering -t/--tag option added,
- Builds SRB2 Kart Galaxy (issue #19), SRB2 TSoURDt3rd, SRB2 Kart Haya's Expansion Pack (HEP) and Ultimate Zone Builder added as a new build targets,
- Added option to remove libraries/dependencies using option -rd/--removedep,
- If you have GITHUB_TOKEN variable containing your GitHub token exported in shell configuration file, you will have more connection requests to Github's API when downloading builds and assets,
- Ccache supported to speed up compilation of builds by default. You can disable it with line "export SRB2BLDNOCCACHE=1" in your shell configuration file, if you encounter compiling issues.

Fixes:
- Fixed issues with containers for old builds by integrating old builds to one container with updated OS,
- Fixed issues with building container for Musl-based distros,
- Improved compatibility for builds on Linux and Windows,
- Improved dependencies installation,
- Fixed URLs to assets,
- Fixed installation issues for SDL Mixer X,
- Fixed issue of not removing folder "SRB2 Software" for Windows, if all software builds are uninstalled,
- Other fixes.

Other:
- Updated README.md,
- Updated compatibilty table,
- Simplify code in the script by removing unused code, repeated commands and using new variables,
- Added message for read-only and immutable root filesystems,
- Added hardcoded git and docker/podman options for speed and fixing permission issues.
  • Corrected rpm-ostree command for issue with installing packages,
  • Added libgme with support for MAME YM2612 emulator for better compatibility with libSDL2_Mixer_X,
  • Fixed issue with not to be able to continue to build SRB2 Custom Build after latest update,
  • Fixed issue with not to be able to modify Makefile for SRB2 Final Demo,
  • More improvements with installation of dependencies for builds,
  • Moved code,
  • Removed unused code,
  • Other fixes and corrections.
  • Added ability to install builds to user's home directory ($HOME/.local) with option -u/--user (executed with srb2bld -i -u),
  • Fixed issue with downloading and extracting wrong assets for SRB2Kart,
  • Fixed issues with displaying some messages and extracting files on macOS,
  • Fixed issue with custom build getting all .desktop files in software mode,
  • Updated Makefile, so script can be installed in other paths,
  • Patchelf is now part of essential dependencies,
  • Correction with names for configuration folder of custom builds,
  • Updated README.md with instructions for immutable systems (SteamOS, Fedora Silverblue/Kinoite) and other Linux distros,
  • Moved some code to functions,
  • Made option for script to run without internet (previously created Docker image, downloaded assets and source code are required),
  • Fixed issue with exiting script after removing assets or source code,
  • Fixed issue with executing installing files, even though there is no compiled binary,
  • Added liblzf for installing in Linux distros without this package in their repositories,
  • Improved installation of dependencies for some distros,
  • Removed unused code,
  • Text corrections and other fixes.
  • Updated compatibility table,
  • Fixed issue with getting loop for not finding proper group permissions and changing it in compiled build's source code's path with chown command on some Linux distros,
  • Corrected stat command on macOS for checking SRB2 rphys assets,
  • Fixed issue of not remembering chosen branch after build's installation,
  • Corrected messages about compiling commands before running them,
  • More fixes for issue with skipping downloading and extracting assets,
  • Added dependencies detection and installing on NixOS,
  • Updated paths in environment variables for macOS,
  • Fixed compiling build issues with only using MacPorts,
  • Fixed more upgrading issues,
  • Removed unused code,
  • Fixes related to paths with clang on macOS.
  • Added SRB2 rphys,
  • Added ability to install multiple custom builds,
  • Added new environment variables SRB2BLDDEVMODE and SRB2BLDDEBUG,
  • Updated environment variable names,
  • Updated to gcc 11 within Docker container,
  • Added not to exit instantly after removing one build/asset/installed,
  • Fixed issue of skipping extracting assets in some situations,
  • Fixed issue of missing libraries for 64-bit compiled custom build on Windows, when have set environment variables,
  • Fixed issue of not copying compiled SRB2 Persona's binary for Windows,
  • Fixed issue of "arch command not found" for specific Linux distributions,
  • Fixed issue of displaying list of files,
  • Added more PRINTF variable to printf commands,
  • Improved upgrading to fit multiple custom builds.
  • Corrected name of SRB2 Kart's directory for finding proper path to assets,
  • Replaced libpng to libpng12 for Musl-based Linux distros for better compatibility,
  • Changed name of GNU Stow's libpng12-lib32 directory to libpng12 (if you have installed libpng12 in /usr/local/stow/libpng12-lib32 path, it is recommended to do sudo -E STOW_DIR=/usr/local/stow stow -Dv libpng12-lib32 && sudo mv -v /usr/local/stow/libpng12-lib32 /usr/local/stow/libpng12 && sudo -E STOW_DIR=/usr/local/stow stow -v libpng12, to prevent getting issues with compiling builds in the future),
  • Improved detection of missing libraries for Musl-based Linux distros,
  • Added patchelf command to fix compiled SLADE for Musl-based Linux distros,
  • Corrected messages,
  • Removed unused code.
  • Updated compatibility table,
  • Fixed issue of not finding compiled files which belong to root on Alpine Linux,
  • Fixed issue of missing patch.pk3 file for compiled SRB2 VR,
  • Fixed issue of not finding compiled SRB2 2.1 Legacy binary, to copy it to path,
  • Fixed issue of not to be able to convert srb2win.ico file to PNG format for SRB2 2.0 and SRB2 Final Demo,
  • Some checks to prevent downloading libopenmpt and libgme source codes when building wadcli and SLADE,
  • Fixed issue of missing ipx.h file when compiling SRB2 2.0 on Alpine Linux,
  • Fixed issue of missing sdl-dev package for Alpine Linux container.
  • Fixed issue of getting changed name of build's configuration folder after update,
  • Fixed issue with Curl not updating SRB2 Persona file with assets, if file was previously downloaded,
  • Other fixes and text correction.
  • Changed SRB2 Persona's assets link to make it run with current version of game,
  • Removed some unused code.
Back
Top