Change:
<ins> { lib, buildDubPackage, fetchFromGitHub, writeShellScriptBin, cmake, gettext, copyDesktopItems, makeDesktopItem, makeWrapper, dbus, freetype, SDL2, gnome, builderArgs, }: let cimgui-src = fetchFromGitHub { owner = "Inochi2D"; repo = "cimgui"; rev = "49bb5ce65f7d5eeab7861d8ffd5aa2a58ca8f08c"; hash = "sha256-XcnZbIjwq7vmYBnMAs+cEpJL8HB8wrL098FXGxC+diA="; fetchSubmodules = true; }; inherit (builderArgs) pname appname version dubLock meta ; in buildDubPackage ( builderArgs // { nativeBuildInputs = [ cmake # used for building `i2d-imgui` gettext # used when generating translations copyDesktopItems makeWrapper # A fake git implementation to be used by the `gitver` package # It is a dependency of the main packages and the `inochi2d` dub dependency # A side effect of this script is that `inochi2d` will have the same version listed as the main package (writeShellScriptBin "git" "echo v${version}") ]; buildInputs = [ dbus freetype SDL2 ]; dontUseCmakeConfigure = true; # these deps are not listed inside `dub.sdl`, so they didn't get auto-generated # these are used for generating version info when building dubLock = lib.recursiveUpdate (lib.importJSON dubLock) { dependencies = { gitver = { version = "1.6.1"; sha256 = "sha256-NCyFik4FbD7yMLd5zwf/w4cHwhzLhIRSVw1bWo/CZB4="; }; semver = { version = "0.3.2"; sha256 = "sha256-l6c9hniUd5xNsJepq8x30e0JTjmXs4pYUmv4ws+Nrn4="; }; }; }; postConfigure = '' cimgui_dir=("$DUB_HOME"/packages/i2d-imgui/*/i2d-imgui) # `i2d-imgui` isn't able to find SDL2 by default due to it being written in lower case # this is only an issue when compiling statically (session) substituteInPlace "$cimgui_dir/dub.json"  --replace-fail '"sdl2"' '"SDL2"' # The `i2d-cimgui` dub dependency fetched inside the auto-generated `*-deps.nix` file # which doesn't know that it's actually a git repo, so it doesn't fetch its submodules. # Upstream uses a cmake script to fetch the `cimgui` submodule anyway, which we can't do # We get around this by manually pre-fetching the submodule and copying it into the right place cp -r --no-preserve=all ${cimgui-src}/* "$cimgui_dir/deps/cimgui" # Disable the original cmake fetcher script substituteInPlace "$cimgui_dir/deps/CMakeLists.txt"  --replace-fail "PullSubmodules(" "# PullSubmodules("  --replace-fail  "''${cimgui_SUBMOD_DIR}" "cimgui" ''; preBuild = '' # Generate translations (if possible) . gentl.sh # Use the fake git to generate version info dub build --skip-registry=all --compiler=ldc2 --build=release --config=meta ''; # Use the "barebones" configuration so that we don't include the mascot and icon files in out build dubFlags = [ "--config=barebones" ]; installPhase = '' runHook preInstall mkdir -p $out/share/${pname} cp -r out/* $out/share/${pname} runHook postInstall ''; desktopItems = [ (makeDesktopItem { name = pname; desktopName = appname; exec = pname; comment = meta.description; categories = [ "Utility" ]; }) ]; postFixup = '' # Add support for `open file` dialog makeWrapper $out/share/${pname}/${pname} $out/bin/${pname}  --prefix PATH : ${lib.makeBinPath [ gnome.zenity ]} ''; meta = { homepage = "https://inochi2d.com/"; license = lib.licenses.bsd2; mainProgram = pname; maintainers = with lib.maintainers; [ tomasajt ]; } // meta; } ) </ins>

Discussion:
Project description Open Source Real-time 2D Animation inochi-creator, inochi-session should be packaged as separated packages. There was some debate about Inochi2D in initiated by its author. If you want to package it, read the mentioned issue first. It seems that the debate was settled: the author agrees that nixpkgs can package Inoshi2D under complying their demands. However, no PR packaging Inochi2D was opened after that, so I am opening this issue. Metadata homepage URL: source URL: , license: bsd 2-clause (not including proprietary assets) platforms: unix Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]: