Unverified Commit 1597d903 authored by Tristan Ross's avatar Tristan Ross Committed by GitHub
Browse files

inochi-session: 0.8.4 -> 0.8.7, fix aarch64-linux; inochi-creator: 0.8.5 -> 0.8.6 (#345646)

parents 78e9c62c 9e921fbf
Loading
Loading
Loading
Loading
+20 −24
Original line number Diff line number Diff line
@@ -21,8 +21,8 @@
      "sha256": "01dgvlvwbhwz7822gp6z5xn6w3k51q09i6qzns2i4ixmjh45wscs"
    },
    "diet-ng": {
      "version": "1.8.1",
      "sha256": "0kh8haw712xkd3f07s5x5g12nmmkv0y1lk2cqh66298fc5mgj4sv"
      "version": "1.8.2",
      "sha256": "0hwm8dsyw7xb9d540ks314vzxibn4ri7b4m2gagqbpmzspvd2slv"
    },
    "dportals": {
      "version": "0.1.0",
@@ -37,12 +37,12 @@
      "sha256": "0p5vmkw29ksh5wdxz1ijms1wblq288pv15vnbl93z7q2vgnq995w"
    },
    "eventcore": {
      "version": "0.9.30",
      "sha256": "1n8wdcjhas0y99pf9fvwwsydkmy9g7gvfjhlwpjh158c7pfjwlaq"
      "version": "0.9.34",
      "sha256": "0znrcmxdr65gk8bwrknhm530kicznia4xb09h5jv42sxnv3cjkjw"
    },
    "facetrack-d": {
      "version": "0.7.8",
      "sha256": "1414wvh0kn1rps5r16ir92sqfj8a7na1gd71ds81jkq8arkm17j0"
      "version": "0.8.0",
      "sha256": "0p04yd50sgjb9n9gdp2yjgvlm8kkld2gl5ivz36npjnchj8k5a8i"
    },
    "fghj": {
      "version": "1.0.2",
@@ -65,24 +65,16 @@
      "sha256": "0dl7n4myxp1s3b32v2s975k76gs90wr2nw6ac5jq9hsgzhp1ix0h"
    },
    "inmath": {
      "version": "1.0.6",
      "sha256": "0kzk55ilbnl6qypjk60zwd5ibys5n47128hbbr0mbc7bpj9ppfg4"
      "version": "1.3.0",
      "sha256": "1bmfsnlpm3lb085cs29h63l4fmfr0xr9iyfd0wrg5i87difshpw6"
    },
    "inochi2d": {
      "version": "0.8.4",
      "sha256": "1bj0c6i9kcw1vfm6lf8lyxpf1lhhslg3f182jycdmzms15i3jb3y"
    },
    "kra-d": {
      "version": "0.5.5",
      "sha256": "0dffmf084ykz19y084v936r3f74613d0jifj0wb3xibfcq9mwxqz"
    },
    "libasync": {
      "version": "0.8.6",
      "sha256": "0hhk5asfdccby8ky77a25qn7dfmfdmwyzkrg3zk064bicmgdwlnj"
      "sha256": "0xhidp1y91cidh3g1cc5v7psb5kfy17ars7k7cplnywhjlcqqk70"
    },
    "memutils": {
      "version": "1.0.10",
      "sha256": "0hm31birbw59sw1bi9syjhbcdgwwwyyx6r9jg7ar9i6a74cjr52c"
    "kra-d": {
      "version": "0.5.6",
      "sha256": "1lp3mf39qfxn6cayznc4nkk24smnd2m5sg8skl9pnd4x85is6zdr"
    },
    "mir-algorithm": {
      "version": "3.22.1",
@@ -100,9 +92,13 @@
      "version": "2.2.19",
      "sha256": "0ad9ahvyrv5h38aqwn3zvlrva3ikfq28dfhpg2lwwgm31ymzvqpb"
    },
    "numem": {
      "version": "0.11.3",
      "sha256": "00rm3cg5i714ncww8yxsbzf1y1bf6r8d0yx6i38ac2x7090arvjm"
    },
    "openssl": {
      "version": "3.3.3",
      "sha256": "1fwhd5fkvgbqf3y8gwmrnd42kzi4k3mibpxijw5j82jxgfp1rzsf"
      "version": "3.3.4",
      "sha256": "17s71yfyhb9jyym2nldj23ikazwbbrmh6ply33mg888rd6dxnhyy"
    },
    "openssl-static": {
      "version": "1.0.5+3.0.8",
@@ -133,8 +129,8 @@
      "sha256": "12mfm49bjnh2pvm51dzna625kzgwznm9kcv6qhazc4il9j0224wd"
    },
    "vibe-core": {
      "version": "2.8.4",
      "sha256": "1pik6vympgwxpyxb75g1f8409cd6hw952gbflqvwaj18shz6dwjm"
      "version": "2.9.3",
      "sha256": "032q1gkm7l6blj5y3yiwk205m12svp4bv8k743crkd8d1xhlrrvi"
    },
    "vibe-d": {
      "version": "0.9.8",
+12 −6
Original line number Diff line number Diff line
@@ -22,13 +22,13 @@ in
  inochi-creator = mkGeneric rec {
    pname = "inochi-creator";
    appname = "Inochi Creator";
    version = "0.8.5";
    version = "0.8.6";

    src = fetchFromGitHub {
      owner = "Inochi2D";
      repo = "inochi-creator";
      rev = "v${version}";
      hash = "sha256-qrSHyvFE55xRbcA79lngOHJOdv54rNlUTHlxT9jjPEY=";
      hash = "sha256-9d3j5ZL6rGOjN1GUpCIfbjby0mNMvOK7BJbHYgwLY2k=";
    };

    dubLock = ./creator-dub-lock.json;
@@ -54,15 +54,21 @@ in
  inochi-session = mkGeneric rec {
    pname = "inochi-session";
    appname = "Inochi Session";
    version = "0.8.4";
    version = "0.8.7";

    src = fetchFromGitHub {
      owner = "Inochi2D";
      repo = "inochi-session";
      rev = "v${version}";
      hash = "sha256-BRA5qODHhyHBeZYT5MQwcFmr/zVokfO5SrbcbQa6w7w=";
      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 = ''
@@ -72,8 +78,8 @@ in
    dontStrip = true; # symbol lookup error: undefined symbol: , version

    meta = {
      # darwin has slightly different build steps, aarch fails to build because of some lua related error
      broken = stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAarch64;
      # darwin has slightly different build steps
      broken = stdenv.hostPlatform.isDarwin;
      changelog = "https://github.com/Inochi2D/inochi-session/releases/tag/${src.rev}";
      description = "An application that allows streaming with Inochi2D puppets";
    };
+8 −2
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
  freetype,
  SDL2,
  zenity,
  luajit_2_1,
  libGL,

  builderArgs,
@@ -99,7 +100,7 @@ buildDubPackage (
      . gentl.sh

      # Use the fake git to generate version info
      dub build --skip-registry=all --compiler=ldc2 --build=release --config=meta
      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
@@ -128,7 +129,12 @@ buildDubPackage (
      # Add support for `open file` dialog
      makeWrapper $out/share/${pname}/${pname} $out/bin/${pname} \
          --prefix PATH : ${lib.makeBinPath [ zenity ]} \
          --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL ]}
          --prefix LD_LIBRARY_PATH : ${
            lib.makeLibraryPath [
              libGL
              luajit_2_1
            ]
          }
    '';

    meta = {
+20 −24
Original line number Diff line number Diff line
@@ -21,8 +21,8 @@
      "sha256": "01dgvlvwbhwz7822gp6z5xn6w3k51q09i6qzns2i4ixmjh45wscs"
    },
    "diet-ng": {
      "version": "1.8.1",
      "sha256": "0kh8haw712xkd3f07s5x5g12nmmkv0y1lk2cqh66298fc5mgj4sv"
      "version": "1.8.2",
      "sha256": "0hwm8dsyw7xb9d540ks314vzxibn4ri7b4m2gagqbpmzspvd2slv"
    },
    "dportals": {
      "version": "0.1.0",
@@ -33,12 +33,12 @@
      "sha256": "0p9g4h5qanbg6281x1068mdl5p7zvqig4zmmi72a2cay6dxnbvxb"
    },
    "eventcore": {
      "version": "0.9.30",
      "sha256": "1n8wdcjhas0y99pf9fvwwsydkmy9g7gvfjhlwpjh158c7pfjwlaq"
      "version": "0.9.34",
      "sha256": "0znrcmxdr65gk8bwrknhm530kicznia4xb09h5jv42sxnv3cjkjw"
    },
    "facetrack-d": {
      "version": "0.7.8",
      "sha256": "1414wvh0kn1rps5r16ir92sqfj8a7na1gd71ds81jkq8arkm17j0"
      "version": "0.8.0",
      "sha256": "0p04yd50sgjb9n9gdp2yjgvlm8kkld2gl5ivz36npjnchj8k5a8i"
    },
    "fghj": {
      "version": "1.0.2",
@@ -61,29 +61,21 @@
      "sha256": "0dl7n4myxp1s3b32v2s975k76gs90wr2nw6ac5jq9hsgzhp1ix0h"
    },
    "inmath": {
      "version": "1.0.6",
      "sha256": "0kzk55ilbnl6qypjk60zwd5ibys5n47128hbbr0mbc7bpj9ppfg4"
      "version": "1.3.0",
      "sha256": "1bmfsnlpm3lb085cs29h63l4fmfr0xr9iyfd0wrg5i87difshpw6"
    },
    "inochi2d": {
      "version": "0.8.4",
      "sha256": "1bj0c6i9kcw1vfm6lf8lyxpf1lhhslg3f182jycdmzms15i3jb3y"
      "version": "0.8.6",
      "sha256": "0xhidp1y91cidh3g1cc5v7psb5kfy17ars7k7cplnywhjlcqqk70"
    },
    "inui": {
      "version": "1.2.1",
      "sha256": "0pygf8jxnbvib5f23qxf6k24wz8mh6fc0zhrkp83gq33k02ab5cx"
    },
    "libasync": {
      "version": "0.8.6",
      "sha256": "0hhk5asfdccby8ky77a25qn7dfmfdmwyzkrg3zk064bicmgdwlnj"
      "version": "1.2.2",
      "sha256": "1gh7ngva2ijz5gx9hrqn9rzzx5vvpf6l12r98wklzxwb9v5hmj69"
    },
    "lumars": {
      "version": "1.6.1",
      "sha256": "1vzdghqwv2gb41rp75456g43yfsndbl0dy6bnn4x6azwwny22br9"
    },
    "memutils": {
      "version": "1.0.10",
      "sha256": "0hm31birbw59sw1bi9syjhbcdgwwwyyx6r9jg7ar9i6a74cjr52c"
    },
    "mir-algorithm": {
      "version": "3.22.1",
      "sha256": "1bvvf3dm26x1h10pg1s4kyhxiyrmd96kk2lmchyady39crpjj5cf"
@@ -96,9 +88,13 @@
      "version": "1.0.1",
      "sha256": "0adyjpcgd65z44iydnrrrpjwbvmrm08a3pkcriqi7npqylfysqn6"
    },
    "numem": {
      "version": "0.11.3",
      "sha256": "00rm3cg5i714ncww8yxsbzf1y1bf6r8d0yx6i38ac2x7090arvjm"
    },
    "openssl": {
      "version": "3.3.3",
      "sha256": "1fwhd5fkvgbqf3y8gwmrnd42kzi4k3mibpxijw5j82jxgfp1rzsf"
      "version": "3.3.4",
      "sha256": "17s71yfyhb9jyym2nldj23ikazwbbrmh6ply33mg888rd6dxnhyy"
    },
    "openssl-static": {
      "version": "1.0.5+3.0.8",
@@ -125,8 +121,8 @@
      "sha256": "12mfm49bjnh2pvm51dzna625kzgwznm9kcv6qhazc4il9j0224wd"
    },
    "vibe-core": {
      "version": "2.8.4",
      "sha256": "1pik6vympgwxpyxb75g1f8409cd6hw952gbflqvwaj18shz6dwjm"
      "version": "2.9.3",
      "sha256": "032q1gkm7l6blj5y3yiwk205m12svp4bv8k743crkd8d1xhlrrvi"
    },
    "vibe-d": {
      "version": "0.9.8",
+98 −0
Original line number Diff line number Diff line
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
 */