pkgs/tic-80-unstable: init at unstable-2025-03-27

Also updated it since there's another package of the same name with the
latest stable release.
This commit is contained in:
Gabriel Arazas 2025-03-27 09:36:10 +08:00
parent 58c393dc1a
commit 6f659999d1
No known key found for this signature in database
GPG Key ID: 62104B43D00AA360
2 changed files with 45 additions and 16 deletions

View File

@ -50,7 +50,7 @@ in lib.makeScope pkgs.newScope (self: {
#purrdata = callPackage ./purr-data { };
speki = callPackage ./speki { };
sqlc-gen-from-template = callPackage ./sqlc-gen-from-template { };
tic-80 = callPackage ./tic-80 { };
tic-80-unstable = callPackage ./tic-80 { };
smile = callPackage ./smile { };
sessiond = callPackage ./sessiond { };
uwsm = callPackage ./uwsm { };

View File

@ -1,63 +1,92 @@
# Build the TIC-80 virtual computer console with the PRO version. The
# developers are kind enough to make it easy to compile it if you know
# how.
{ stdenv, lib, SDL2, SDL2_sound, alsa-lib, cmake, fetchFromGitHub, freeglut, git
, gtk3, dbus, libGLU, libX11, libglvnd, libsamplerate, mesa, pkg-config, sndio
, zlib
{ stdenv, lib, giflib, SDL2, SDL2_sound, sdl2-compat, alsa-lib, argparse, curl
, cmake, fetchFromGitHub, freeglut, git, gtk3, dbus, libGLU, libX11, libglvnd
, libsamplerate, mesa, pkg-config, sndio, zlib, lua54Packages
, pulseaudioSupport ? stdenv.isLinux, libpulseaudio
, waylandSupport ? true, wayland, libxkbcommon, libdecor
, jsSupport ? true, quickjs
, waylandSupport ? true, wayland, wayland-scanner, libxkbcommon, libdecor
, esoundSupport ? true, espeak
, jackSupport ? true, jack2
# Ruby support requires compiling mruby so we'll skip it for now.
, rubySupport ? false, ruby, rake
# As of 2025-03-26, it is basically required to have a very specific version of
# mruby so no...
, rubySupport ? false, mruby
, pythonSupport ? true, python3
, pythonSupport ? true
, janetSupport ? true, janet
# This doesn't have the appropriate system library as of nixpkgs 2025-03-26, btw.
, wasmSupport ? true, wasm
, withPro ? true }:
# TODO: Fix the timestamp in the help section.
stdenv.mkDerivation rec {
pname = "tic-80";
version = "unstable-2023-07-18";
version = "unstable-2025-03-27";
src = fetchFromGitHub {
owner = "nesbox";
repo = "TIC-80";
rev = "68b94ee596e1ac218b8b9685fd0485c7ee8d2f18";
hash = "sha256-S3LYuRRFMZYl6dENrV21bowzo7smm+zSHXt77/83oL0=";
rev = "5aa6c536607a5512ce1913acf3be7be8784fd8db";
hash = "sha256-oPubH/dPGDK/ZPY6NjycytAYY4PD2H9MbJg7jGBz3aI=";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [
argparse
alsa-lib
curl
freeglut
gtk3
giflib
libsamplerate
libGLU
libglvnd
lua54Packages.lua
mesa
git
sdl2-compat
SDL2
SDL2_sound
zlib
sndio
] ++ lib.optional pulseaudioSupport libpulseaudio
++ lib.optional jackSupport jack2 ++ lib.optional esoundSupport espeak
++ lib.optionals rubySupport [ ruby rake ]
++ lib.optional pythonSupport python3
] ++ lib.optionals pulseaudioSupport [ libpulseaudio ]
++ lib.optionals jackSupport [ jack2 ]
++ lib.optionals jsSupport [ quickjs ]
++ lib.optionals esoundSupport [ espeak ]
++ lib.optionals rubySupport [ mruby ]
++ lib.optionals janetSupport [ janet ]
++ lib.optionals wasmSupport [ wasm ]
++ lib.optionals (stdenv.isLinux && waylandSupport) [
wayland
wayland-scanner
libxkbcommon
libdecor
];
cmakeFlags = lib.optional withPro "-DBUILD_PRO=ON";
cmakeFlags =
# Just leave the tinier libraries alone for this.
[
"-DPREFER_SYSTEM_LIBRARIES=ON"
"-DBUILD_WITH_FENNEL=ON"
"-DBUILD_WITH_MOON=ON"
"-DBUILD_WITH_SCHEME=ON"
] ++ lib.optionals withPro [ "-DBUILD_PRO=ON" ]
++ lib.optionals jsSupport [ "-DBUILD_WITH_JS=ON" ]
++ lib.optionals rubySupport [ "-DBUILD_WITH_RUBY=ON" ]
++ lib.optionals pythonSupport [ "-DBUILD_WITH_PYTHON=ON" ]
++ lib.optionals wasmSupport [ "-DBUILD_WITH_WASM=ON" ]
++ lib.optionals janetSupport [ "-DBUILD_WITH_JANET=ON" ];
# Export all of the TIC-80-related utilities.
outputs = [ "out" "dev" ];