Resource icon

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

- Added -ld/--listdep option to list installed dependencies, which were compiled withs script.

- Fixed issue with not compiling SRB2 due to missing library libminiupnpc,
- Fixed issue with missing libbacktrace dependency in musl-based Linux distros,
- Fixed issue with compiling SRB2 Final Demo and other old builds in musl-based Linux distros,
- Replaced Alpine container to Ubuntu container to fix issue with creating Flatpak in musl-based Linux distro,
- Fixed some situations when Flatpak command could not execute,
- Fixed issue with executing created Slade and old SRB2 build Flatpaks,
- Fixed issue with not removing properly installed dependencies,
- Decreased amount of checking missing dependencies in Linux system to three tries to avoid infinite loops,
- Replaced Alpine container to Ubuntu container to fix issue with compiling Ultimate Zone Builder in musl-based Linux distro,
- Fixed some issues with installing SRB2 builds and debug binaries on NixOS,
- Fixed extracting assets for SRB2 TSoURDt3rd,
- Fixed missing files for compiling SRB2 builds in macOS,
- Fixed extracting custom extra assets,
- Fixed missing libraries required by some SRB2 builds in Windows,
- Fixed issue with detecting missing dependencies in Gentoo Linux,
- Fixed issue with finding gdk-pixbuf-query-loaders command in some Linux distros,
- Other fixes.

- Updated,
- Updated compatibility table,
- Added message, if package manager couldn't find and install remaining dependencies,
- Replaced Github repository URL for SRB2 TSoURDt3rd.
- Fixed issue with missing variable during upgrading build process, which resulted with skipping compiling.
- Added option to build SRB2 Android APKs. Use -ad/--android option (only supported by Windows and Linux. Requirement is having gradlew script in android directory of SRB2 source code path),
- Because of ability to build SRB2 Android APKs, added new envirionment variable SRB2BLDNOGRADLECACHE to disable build Gradle cache,
- Added software build - kartmaker,
- Added additional prompt to download and extract extra assets, in case of SRB2/SRB2Kart build requires more files to load.

- Updated compatibility table,
- Updated,
- Small fixes and changes.
- Added SRB2 JTE and SRB2Kart Saturn as new build targets,
- Added builds' debug binaries to installation process.

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

- Updated,
- Updated compatibilty table,
- Updated links to SRB2 VR and SRB2 2.1 Legacy repositories,
- Added environment variables,
- Removed unused code.
- 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.

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

- Updated,
- 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 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.