push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,144 @@
{
"dependencies": {
"bcaa": {
"version": "0.0.8",
"sha256": "1v8qy98hjdgfsdx6zg9n09sfpfqsh57nbsn8phw82rssi0gysgsr"
},
"bindbc-loader": {
"version": "1.0.3",
"sha256": "0d688cwb2hjhfxc7l00cfh22prybsndk6j1hvlrf9nlzb46i4i1j"
},
"bindbc-sdl": {
"version": "1.1.3",
"sha256": "0yi472nv7pg1q1kk749w3mv1l2l6ch20k8kcc4l9jy3m2vwlpd88"
},
"dcv": {
"version": "0.3.0",
"sha256": "02fd7wig6i618r7l7alw0hfljbwjvq13fkyhwcpsdd7r5x2f7hyk"
},
"ddbus": {
"version": "3.0.0-beta.2",
"sha256": "01dgvlvwbhwz7822gp6z5xn6w3k51q09i6qzns2i4ixmjh45wscs"
},
"diet-ng": {
"version": "1.8.2",
"sha256": "0hwm8dsyw7xb9d540ks314vzxibn4ri7b4m2gagqbpmzspvd2slv"
},
"dportals": {
"version": "0.1.0",
"sha256": "11wxlp2y7s2mc98bxya7fmg0gc4yqlyg0bjsd1yxzr8fmsvf2zzh"
},
"dunit": {
"version": "1.0.16",
"sha256": "0p9g4h5qanbg6281x1068mdl5p7zvqig4zmmi72a2cay6dxnbvxb"
},
"dxml": {
"version": "0.4.4",
"sha256": "0p5vmkw29ksh5wdxz1ijms1wblq288pv15vnbl93z7q2vgnq995w"
},
"eventcore": {
"version": "0.9.34",
"sha256": "0znrcmxdr65gk8bwrknhm530kicznia4xb09h5jv42sxnv3cjkjw"
},
"facetrack-d": {
"version": "0.8.0",
"sha256": "0p04yd50sgjb9n9gdp2yjgvlm8kkld2gl5ivz36npjnchj8k5a8i"
},
"fghj": {
"version": "1.0.2",
"sha256": "0c102pfbcb3kpr8hpq3qzlxfw460v202vg6hrfdzw5a8pygy4cxj"
},
"i18n-d": {
"version": "1.0.2",
"sha256": "1p33w5wh09ha132fsk0b37rjgzw6z3l0v64dixmkvnhhm1xy3b1g"
},
"i2d-imgui": {
"version": "0.8.0",
"sha256": "1xikjz5b9r4gml0j7z5k8x1n8h9qcixzsg8gpjlzr3dwis7m0cfw"
},
"i2d-opengl": {
"version": "1.0.0",
"sha256": "0137ifda4z6h7sa7ls9n3rpcd6344qsfpbcc0dl7wzyk0xa73912"
},
"imagefmt": {
"version": "2.1.2",
"sha256": "0dl7n4myxp1s3b32v2s975k76gs90wr2nw6ac5jq9hsgzhp1ix0h"
},
"inmath": {
"version": "1.3.0",
"sha256": "1bmfsnlpm3lb085cs29h63l4fmfr0xr9iyfd0wrg5i87difshpw6"
},
"inochi2d": {
"version": "0.8.6",
"sha256": "0xhidp1y91cidh3g1cc5v7psb5kfy17ars7k7cplnywhjlcqqk70"
},
"kra-d": {
"version": "0.5.6",
"sha256": "1lp3mf39qfxn6cayznc4nkk24smnd2m5sg8skl9pnd4x85is6zdr"
},
"mir-algorithm": {
"version": "3.22.1",
"sha256": "1bvvf3dm26x1h10pg1s4kyhxiyrmd96kk2lmchyady39crpjj5cf"
},
"mir-core": {
"version": "1.7.1",
"sha256": "15m1n48fcmh5pw3w4ww5qfzwkdglflpzc3xmxmrlvd30swyyr85j"
},
"mir-linux-kernel": {
"version": "1.0.1",
"sha256": "0adyjpcgd65z44iydnrrrpjwbvmrm08a3pkcriqi7npqylfysqn6"
},
"mir-random": {
"version": "2.2.19",
"sha256": "0ad9ahvyrv5h38aqwn3zvlrva3ikfq28dfhpg2lwwgm31ymzvqpb"
},
"numem": {
"version": "0.11.3",
"sha256": "00rm3cg5i714ncww8yxsbzf1y1bf6r8d0yx6i38ac2x7090arvjm"
},
"openssl": {
"version": "3.3.4",
"sha256": "17s71yfyhb9jyym2nldj23ikazwbbrmh6ply33mg888rd6dxnhyy"
},
"openssl-static": {
"version": "1.0.5+3.0.8",
"sha256": "0wpqz29yrbbh39g3cwlgd6h6hh1msws7w5baw1kywdkgj761gx2k"
},
"psd-d": {
"version": "0.6.3",
"sha256": "0qbwkvzgrvd6m67p14ari4iiajmhfi2x1id4da971qxiprfm1993"
},
"silly": {
"version": "1.1.1",
"sha256": "1l0mpnbz8h3ihjxvk5qwn6p6lwb75g259k7fjqasw0zp0c27bkjb"
},
"stdx-allocator": {
"version": "2.77.5",
"sha256": "1g8382wr49sjyar0jay8j7y2if7h1i87dhapkgxphnizp24d7kaj"
},
"taggedalgebraic": {
"version": "0.11.23",
"sha256": "1bialmbdwjpqhgs95inkwzin7xbhx7sngjf7viq90vzma497l59k"
},
"tinyfiledialogs": {
"version": "0.10.1",
"sha256": "1k3gq9y7912x5b30h60nvlfdr61as1f187b8rsilkxliizcmbhfi"
},
"vibe-container": {
"version": "1.3.1",
"sha256": "12mfm49bjnh2pvm51dzna625kzgwznm9kcv6qhazc4il9j0224wd"
},
"vibe-core": {
"version": "2.9.3",
"sha256": "032q1gkm7l6blj5y3yiwk205m12svp4bv8k743crkd8d1xhlrrvi"
},
"vibe-d": {
"version": "0.9.8",
"sha256": "1gficgfzwswaxj9qlnca28c65gl7xq6q8y47qlf4m1gvkxj4ij2k"
},
"vmc-d": {
"version": "1.1.3",
"sha256": "0kkqihhzxdq0n46jk55g4yhhwrnw6b9d931yb5pblxcc342gckvm"
}
}
}

View File

@@ -0,0 +1,86 @@
{
lib,
stdenv,
fetchFromGitHub,
replaceVars,
callPackage,
}:
# Note for maintainers:
#
# These packages are only allowed to be packaged under the the condition that we
# - patch source/creator/config.d to not point to upstream's bug tracker
# - use the "barebones" configuration to remove the mascot and logo from the build
#
# We have received permission by the owner to go ahead with the packaging, as we have met all the criteria
# https://github.com/NixOS/nixpkgs/pull/288841#issuecomment-1950247467
let
mkGeneric = builderArgs: callPackage ./generic.nix { inherit builderArgs; };
in
{
inochi-creator = mkGeneric rec {
pname = "inochi-creator";
appname = "Inochi Creator";
version = "0.8.6";
src = fetchFromGitHub {
owner = "Inochi2D";
repo = "inochi-creator";
rev = "v${version}";
hash = "sha256-9d3j5ZL6rGOjN1GUpCIfbjby0mNMvOK7BJbHYgwLY2k=";
};
dubLock = ./creator-dub-lock.json;
patches = [
# Upstream asks that we change the bug tracker URL to not point to the upstream bug tracker
(replaceVars ./support-url.patch {
assignees = "TomaSajt"; # should be a comma separated list of the github usernames of the maintainers
})
# Change how duplicate locales differentiate themselves (the store paths were too long)
./translations.patch
];
meta = {
# darwin has slightly different build steps
broken = stdenv.hostPlatform.isDarwin;
changelog = "https://github.com/Inochi2D/inochi-creator/releases/tag/${src.rev}";
description = "Open source editor for the Inochi2D puppet format";
};
};
inochi-session = mkGeneric rec {
pname = "inochi-session";
appname = "Inochi Session";
version = "0.8.7";
src = fetchFromGitHub {
owner = "Inochi2D";
repo = "inochi-session";
rev = "v${version}";
hash = "sha256-FcgzTCpD+L50MsPP90kfL6h6DEUtiYkUV1xKww1pQfg=";
};
patches = [
# Dynamically load Lua to get around the linker error on aarch64-linux.
# https://github.com/Inochi2D/inochi-session/pull/60
./session-dynamic-lua.patch
];
dubLock = ./session-dub-lock.json;
preFixup = ''
patchelf $out/share/inochi-session/inochi-session --add-needed cimgui.so
'';
dontStrip = true; # symbol lookup error: undefined symbol: , version
meta = {
# darwin has slightly different build steps
broken = stdenv.hostPlatform.isDarwin;
changelog = "https://github.com/Inochi2D/inochi-session/releases/tag/${src.rev}";
description = "Application that allows streaming with Inochi2D puppets";
};
};
}

View File

@@ -0,0 +1,153 @@
{
lib,
buildDubPackage,
fetchFromGitHub,
writeShellScriptBin,
cmake,
gettext,
copyDesktopItems,
makeDesktopItem,
makeWrapper,
dbus,
freetype,
SDL2,
zenity,
luajit_2_1,
libGL,
libX11,
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
libGL
libX11
];
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=update-version
'';
# 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 [ zenity ]}
patchelf $out/share/${pname}/${pname} \
--add-rpath ${
lib.makeLibraryPath [
libGL
luajit_2_1
]
}
'';
meta = {
homepage = "https://inochi2d.com/";
license = lib.licenses.bsd2;
mainProgram = pname;
maintainers = with lib.maintainers; [ tomasajt ];
}
// meta;
}
)

View File

@@ -0,0 +1,136 @@
{
"dependencies": {
"bindbc-loader": {
"version": "1.0.3",
"sha256": "0d688cwb2hjhfxc7l00cfh22prybsndk6j1hvlrf9nlzb46i4i1j"
},
"bindbc-lua": {
"version": "0.5.1",
"sha256": "116lcplxxl39x6m2sr9zkszdbrm1pa285sjqijnqxqy99jajnhc7"
},
"bindbc-sdl": {
"version": "1.1.3",
"sha256": "0yi472nv7pg1q1kk749w3mv1l2l6ch20k8kcc4l9jy3m2vwlpd88"
},
"bindbc-spout2": {
"version": "0.1.1",
"sha256": "03r4xsjpwys4nlfhas4hjqygzs764dzsr789b091iczp56pp9w9z"
},
"ddbus": {
"version": "3.0.0-beta.2",
"sha256": "01dgvlvwbhwz7822gp6z5xn6w3k51q09i6qzns2i4ixmjh45wscs"
},
"diet-ng": {
"version": "1.8.2",
"sha256": "0hwm8dsyw7xb9d540ks314vzxibn4ri7b4m2gagqbpmzspvd2slv"
},
"dportals": {
"version": "0.1.0",
"sha256": "11wxlp2y7s2mc98bxya7fmg0gc4yqlyg0bjsd1yxzr8fmsvf2zzh"
},
"dunit": {
"version": "1.0.16",
"sha256": "0p9g4h5qanbg6281x1068mdl5p7zvqig4zmmi72a2cay6dxnbvxb"
},
"eventcore": {
"version": "0.9.34",
"sha256": "0znrcmxdr65gk8bwrknhm530kicznia4xb09h5jv42sxnv3cjkjw"
},
"facetrack-d": {
"version": "0.8.0",
"sha256": "0p04yd50sgjb9n9gdp2yjgvlm8kkld2gl5ivz36npjnchj8k5a8i"
},
"fghj": {
"version": "1.0.2",
"sha256": "0c102pfbcb3kpr8hpq3qzlxfw460v202vg6hrfdzw5a8pygy4cxj"
},
"i18n-d": {
"version": "1.0.2",
"sha256": "1p33w5wh09ha132fsk0b37rjgzw6z3l0v64dixmkvnhhm1xy3b1g"
},
"i2d-imgui": {
"version": "0.8.0",
"sha256": "1xikjz5b9r4gml0j7z5k8x1n8h9qcixzsg8gpjlzr3dwis7m0cfw"
},
"i2d-opengl": {
"version": "1.0.0",
"sha256": "0137ifda4z6h7sa7ls9n3rpcd6344qsfpbcc0dl7wzyk0xa73912"
},
"imagefmt": {
"version": "2.1.2",
"sha256": "0dl7n4myxp1s3b32v2s975k76gs90wr2nw6ac5jq9hsgzhp1ix0h"
},
"inmath": {
"version": "1.3.0",
"sha256": "1bmfsnlpm3lb085cs29h63l4fmfr0xr9iyfd0wrg5i87difshpw6"
},
"inochi2d": {
"version": "0.8.6",
"sha256": "0xhidp1y91cidh3g1cc5v7psb5kfy17ars7k7cplnywhjlcqqk70"
},
"inui": {
"version": "1.2.2",
"sha256": "1gh7ngva2ijz5gx9hrqn9rzzx5vvpf6l12r98wklzxwb9v5hmj69"
},
"lumars": {
"version": "1.6.1",
"sha256": "1vzdghqwv2gb41rp75456g43yfsndbl0dy6bnn4x6azwwny22br9"
},
"mir-algorithm": {
"version": "3.22.1",
"sha256": "1bvvf3dm26x1h10pg1s4kyhxiyrmd96kk2lmchyady39crpjj5cf"
},
"mir-core": {
"version": "1.7.1",
"sha256": "15m1n48fcmh5pw3w4ww5qfzwkdglflpzc3xmxmrlvd30swyyr85j"
},
"mir-linux-kernel": {
"version": "1.0.1",
"sha256": "0adyjpcgd65z44iydnrrrpjwbvmrm08a3pkcriqi7npqylfysqn6"
},
"numem": {
"version": "0.11.3",
"sha256": "00rm3cg5i714ncww8yxsbzf1y1bf6r8d0yx6i38ac2x7090arvjm"
},
"openssl": {
"version": "3.3.4",
"sha256": "17s71yfyhb9jyym2nldj23ikazwbbrmh6ply33mg888rd6dxnhyy"
},
"openssl-static": {
"version": "1.0.5+3.0.8",
"sha256": "0wpqz29yrbbh39g3cwlgd6h6hh1msws7w5baw1kywdkgj761gx2k"
},
"silly": {
"version": "1.1.1",
"sha256": "1l0mpnbz8h3ihjxvk5qwn6p6lwb75g259k7fjqasw0zp0c27bkjb"
},
"stdx-allocator": {
"version": "2.77.5",
"sha256": "1g8382wr49sjyar0jay8j7y2if7h1i87dhapkgxphnizp24d7kaj"
},
"taggedalgebraic": {
"version": "0.11.23",
"sha256": "1bialmbdwjpqhgs95inkwzin7xbhx7sngjf7viq90vzma497l59k"
},
"tinyfiledialogs": {
"version": "0.10.1",
"sha256": "1k3gq9y7912x5b30h60nvlfdr61as1f187b8rsilkxliizcmbhfi"
},
"vibe-container": {
"version": "1.3.1",
"sha256": "12mfm49bjnh2pvm51dzna625kzgwznm9kcv6qhazc4il9j0224wd"
},
"vibe-core": {
"version": "2.9.3",
"sha256": "032q1gkm7l6blj5y3yiwk205m12svp4bv8k743crkd8d1xhlrrvi"
},
"vibe-d": {
"version": "0.9.8",
"sha256": "1gficgfzwswaxj9qlnca28c65gl7xq6q8y47qlf4m1gvkxj4ij2k"
},
"vmc-d": {
"version": "1.1.3",
"sha256": "0kkqihhzxdq0n46jk55g4yhhwrnw6b9d931yb5pblxcc342gckvm"
}
}
}

View File

@@ -0,0 +1,98 @@
diff --git a/dub.sdl b/dub.sdl
index 50c0da1..87936a4 100644
--- a/dub.sdl
+++ b/dub.sdl
@@ -32,6 +32,9 @@ configuration "barebones" {
targetType "executable"
dependency "dportals" version="~>0.1.0"
+
+ subConfiguration "lumars" "lua51-dynamic"
+ versions "LUA_51"
}
@@ -51,6 +54,9 @@ configuration "linux-full" {
versions "InBranding"
dependency "dportals" version="~>0.1.0"
+
+ subConfiguration "lumars" "lua51-dynamic"
+ versions "LUA_51"
}
configuration "osx-full" {
@@ -84,6 +90,9 @@ configuration "linux-nightly" {
versions "InNightly"
dependency "dportals" version="~>0.1.0"
+
+ subConfiguration "lumars" "lua51-dynamic"
+ versions "LUA_51"
}
// macOS nightly build
diff --git a/source/session/plugins/package.d b/source/session/plugins/package.d
index 965c64f..7cfbb0b 100644
--- a/source/session/plugins/package.d
+++ b/source/session/plugins/package.d
@@ -14,9 +14,9 @@ import lumars;
import session.log;
import std.file;
import std.path;
+import std.exception;
private {
- bool couldLoadLua = true;
LuaState* state;
LuaTable apiTable;
@@ -34,13 +34,17 @@ Plugin[] insPlugins;
Initializes Lua support
*/
void insLuaInit() {
- // LuaSupport support = loadLua();
-
- // if (support == LuaSupport.noLibrary || support == LuaSupport.badLibrary) {
- // couldLoadLua = false;
- // insLogWarn("Could not load Lua support...");
- // } else insLogInfo("Lua support initialized.");
- insLogInfo("Lua support initialized. (Statically linked for now)");
+ version(linux){
+ LuaSupport support = loadLua("libluajit-5.1.so.2");
+ if(support == LuaSupport.noLibrary){
+ support = loadLua();
+ }
+ enforce(support != LuaSupport.noLibrary, "Could not find Lua support...!");
+ enforce(support != LuaSupport.badLibrary, "Bad Lua library found!");
+ insLogInfo("Lua support initialized.");
+ } else {
+ insLogInfo("Lua support initialized. (Statically linked)");
+ }
// Create Lua state
state = new LuaState(luaL_newstate());
@@ -56,6 +60,9 @@ void insLuaInit() {
void insLuaUnload() {
lua_close(state.handle());
destroy(state);
+ version(linux){
+ unloadLua();
+ }
}
void insSavePluginState() {
@@ -111,13 +118,6 @@ void insEnumeratePlugins() {
insSavePluginState();
}
-/**
- Gets whether Lua support is loaded.
-*/
-bool insHasLua() {
- return couldLoadLua;
-}
-
/**
Gets string of value
*/

View File

@@ -0,0 +1,13 @@
diff --git a/source/creator/config.d b/source/creator/config.d
index 4289703..d8dea4e 100644
--- a/source/creator/config.d
+++ b/source/creator/config.d
@@ -30,7 +30,7 @@ enum INC_BANNER_ARTIST_PAGE = "https://mastodon.art/@nighteden";
/**
URI for bug reports, for unofficial builds this SHOULD be changed.
*/
-enum INC_BUG_REPORT_URI = "https://github.com/Inochi2D/inochi-creator/issues/new?assignees=&labels=bug&template=bug-report.yml&title=%5BBUG%5D";
+enum INC_BUG_REPORT_URI = "https://github.com/NixOS/nixpkgs/issues/new?assignees=@assignees@&labels=0.kind%3A+bug&projects=&template=bug_report.md&title=inochi-creator:";
/**
URI for feature requests, for the most part this doesn't need to be changed

View File

@@ -0,0 +1,22 @@
diff --git a/source/creator/core/i18n.d b/source/creator/core/i18n.d
index 38761dd..f276ca1 100644
--- a/source/creator/core/i18n.d
+++ b/source/creator/core/i18n.d
@@ -132,7 +132,7 @@ void markDups(TLEntry[] entries) {
// If prevEntry has same humanName as entry before prevEntry, or as this entry,
// disambiguate with the source folder
if (prevIsDup || entryIsDup) {
- prevEntry.humanName ~= " (" ~ prevEntry.path ~ ")";
+ prevEntry.humanName ~= " (" ~ prevEntry.code ~ ")";
prevEntry.humanNameC = prevEntry.humanName.toStringz;
}
prevIsDup = entryIsDup;
@@ -140,7 +140,7 @@ void markDups(TLEntry[] entries) {
}
if (prevIsDup) {
- prevEntry.humanName ~= " (" ~ prevEntry.path ~ ")";
+ prevEntry.humanName ~= " (" ~ prevEntry.code ~ ")";
prevEntry.humanNameC = prevEntry.humanName.toStringz;
}
}