From bfbbf64592053802da091f65fd2ebbd739cc56c9 Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Sun, 29 Mar 2026 21:06:57 -0500 Subject: [PATCH] THAT IS SO ANNOYING WHY NIX --- flake.nix | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/flake.nix b/flake.nix index eed2e5ce2..05ceb4fef 100644 --- a/flake.nix +++ b/flake.nix @@ -4,6 +4,36 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; + + shiggy = { + url = "github:4jcraft/shiggy/main"; + flake = false; + }; + + "4jlibs" = { + url = "github:4jcraft/4jlibs/main"; + flake = false; + }; + + miniaudio = { + url = "https://github.com/mackron/miniaudio/archive/refs/tags/0.11.22.tar.gz"; + flake = false; + }; + + miniaudio-patch = { + url = "https://wrapdb.mesonbuild.com/v2/miniaudio_0.11.22-2/get_patch"; + flake = false; + }; + + stb = { + url = "github:nothings/stb/master"; + flake = false; + }; + + simdutf = { + url = "github:simdutf/simdutf"; + flake = false; + }; }; outputs = @@ -27,6 +57,36 @@ dontFixup = true; dontUseCmakeConfigure = true; + # 4jcraft - Meson expects this subprojects structure + postUnpack = '' + mkdir -p $sourceRoot/subprojects + + cp -r ${inputs.shiggy} $sourceRoot/subprojects/shiggy + cp -r ${inputs."4jlibs"} $sourceRoot/subprojects/4jlibs + cp -r ${inputs.stb} $sourceRoot/subprojects/stb + cp -r ${inputs.simdutf} $sourceRoot/subprojects/simdutf + cp -r ${inputs.miniaudio} $sourceRoot/subprojects/miniaudio + + chmod -R u+w $sourceRoot/subprojects + ''; + + # 4jcraft - `stb` and `simdutf` patches + postPatch = '' + cp subprojects/packagefiles/stb/meson.build subprojects/stb/meson.build + cp subprojects/packagefiles/simdutf/meson.build subprojects/simdutf/meson.build + cp subprojects/packagefiles/simdutf/meson.options subprojects/simdutf/meson.options + + unzip ${inputs.miniaudio-patch} -d miniaudio-patch-tmp + cp -r miniaudio-patch-tmp/*/. subprojects/miniaudio/ + + cat > subprojects/miniaudio.wrap <