OOKNET                             [ /  search the index  ]  
──────────────────────────────────────────────────────────────────────────────────────
══════════════════════════════════════════════════════════════════════════════════════
OOKNET   [ /  search  ]  
────────────────────────────────────────────────
════════════════════════════════════════════════
 
HASH      308f18cdcda3
DATE      2025-01-09
SUBJECT   packages: project plus init
FILES     3 CHANGED
HASH      308f18cdcda3
DATE      2025-01-09
SUBJECT   packages: project plus init
FILES     3 CHANGED
 

diff --git a/outputs/pkgs/default.nix b/outputs/pkgs/default.nix
index 6624778..4710db9 100644
--- a/outputs/pkgs/default.nix
+++ b/outputs/pkgs/default.nix
@@ -1,6 +1,7 @@
 {
   inputs,
   lib,
+  hozen,
   ...
 }: {
   perSystem = {pkgs, ...}: let
@@ -12,8 +13,18 @@
       website = callPackage ./website {};
       caddy-with-cloudflare = callPackage ./caddy-with-cloudflare {};
 
-      #ook-vim = mkNeovim pkgs [ook-vim-config];
-      ook-vim = callPackage ./ook-vim {inherit inputs pkgs lib;};
+      wii-u-gc-adapter = callPackage ./wii-u-gc-adapter {};
+
+      ook-vim = callPackage ./ook-vim {inherit inputs pkgs lib hozen;};
+
+      project-plus = let
+        fpp-config = callPackage ./project-plus/fpp-config.nix {};
+        fpp-launcher = callPackage ./project-plus/fpp-launcher.nix {};
+        fpp-sd = callPackage ./project-plus/fpp-sd.nix {};
+      in
+        callPackage ./project-plus {
+          inherit fpp-config fpp-launcher fpp-sd;
+        };
     };
   };
 }

diff --git a/outputs/pkgs/default.nix b/outp
uts/pkgs/default.nix
index 6624778..4710db9 100644
--- a/outputs/pkgs/default.nix
+++ b/outputs/pkgs/default.nix
@@ -1,6 +1,7 @@
 {
   inputs,
   lib,
+  hozen,
   ...
 }: {
   perSystem = {pkgs, ...}: let
@@ -12,8 +13,18 @@
       website = callPackage ./website {};
       caddy-with-cloudflare = callPackage .
/caddy-with-cloudflare {};
 
-      #ook-vim = mkNeovim pkgs [ook-vim-con
fig];
-      ook-vim = callPackage ./ook-vim {inhe
rit inputs pkgs lib;};
+      wii-u-gc-adapter = callPackage ./wii-
u-gc-adapter {};
+
+      ook-vim = callPackage ./ook-vim {inhe
rit inputs pkgs lib hozen;};
+
+      project-plus = let
+        fpp-config = callPackage ./project-
plus/fpp-config.nix {};
+        fpp-launcher = callPackage ./projec
t-plus/fpp-launcher.nix {};
+        fpp-sd = callPackage ./project-plus
/fpp-sd.nix {};
+      in
+        callPackage ./project-plus {
+          inherit fpp-config fpp-launcher f
pp-sd;
+        };
     };
   };
 }
 

diff --git a/outputs/pkgs/project-plus/default.nix b/outputs/pkgs/project-plus/def
ault.nix
new file mode 100644
index 0000000..098eb9f
--- /dev/null
+++ b/outputs/pkgs/project-plus/default.nix
@@ -0,0 +1,187 @@
+{
+  fpp-config,
+  fpp-sd,
+  fpp-launcher,
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  pkg-config,
+  wrapQtAppsHook,
+  fetchpatch,
+  makeDesktopItem,
+  copyDesktopItems,
+  alsa-lib,
+  bluez,
+  bzip2,
+  cubeb,
+  curl,
+  ffmpeg,
+  fmt_10,
+  glib,
+  gtk2,
+  gtk3,
+  gtest,
+  hidapi,
+  enet,
+  libevdev,
+  libGL,
+  libiconv,
+  libpulseaudio,
+  libspng,
+  libusb1,
+  libXdmcp,
+  libXext,
+  libXi,
+  libXrandr,
+  lz4,
+  lzo,
+  mbedtls_2,
+  miniupnpc,
+  minizip-ng,
+  openal,
+  pugixml,
+  qtbase,
+  qtsvg,
+  SDL2,
+  sfml,
+  udev,
+  vulkan-loader,
+  xorg,
+  xxHash,
+  xz,
+}: let
+  rev = "f245e1ee105eeb5c18653657cd8b29415dc37243";
+  version = "3.0.5";
+in
+  stdenv.mkDerivation {
+    pname = "project-plus";
+    inherit version;
+
+    src = fetchFromGitHub {
+      owner = "jlambert360";
+      repo = "Ishiiruka";
+      hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
+      inherit rev;
+    };
+
+    patches = [
+      fetchpatch
+      {
+        url = "https://github.com/dolphin-emu/dolphin/commit/3da2e15e6b95f02f66df
461e87c8b896e450fdab.patch";
+        hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
+      }
+    ];
+
+    strictDeps = true;
+
+    nativeBuildInputs = [
+      cmake
+      pkg-config
+      wrapQtAppsHook
+      copyDesktopItems
+    ];
+    buildInputs = [
+      bzip2
+      cubeb
+      curl
+      enet
+      ffmpeg
+      fmt_10
+      gtest
+      hidapi
+      libiconv
+      libpulseaudio
+      libspng
+      libXdmcp
+      libXi
+      lz4
+      lzo
+      libusb1
+      mbedtls_2
+      miniupnpc
+      minizip-ng
+      openal
+      pugixml
+      qtbase
+      qtsvg
+      SDL2
+      sfml
+      xxHash
+      xz
+      alsa-lib
+      bluez
+      libevdev
+      libGL
+      libXrandr
+      udev
+      vulkan-loader
+      libXext
+      glib
+      gtk2
+      gtk3
+      xorg.libXinerama
+    ];
+
+    cmakeFlags = [
+      "-DLINUX_LOCAL_DEV=true"
+      "-DGTK3_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-3.0/include"
+      "-DGTK3_GDKCONFIG_INCLUDE_DIR=${gtk3.out}/lib/gtk-3.0/include"
+      "-DGTK3_INCLUDE_DIRS=${gtk3.out}/lib/gtk-3.0"
+      "-DENABLE_LTO=True"
+      "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
+      "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
+      "-DGTK2_INCLUDE_DIRS=${gtk2}/lib/gtk-2.0"
+    ];
+
+    qtWrapperArgs = [
+      "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [vulkan-loader]}"
+      "--set QT_QPA_PLATFORM xcb"
+    ];
+
+    patchPhase = ''
+      sed -i 's|\$\\{GIT_EXECUTABLE} rev-parse HEAD|echo ${rev}|g' CMakeLists.txt
 # --set scm_rev_str everywhere to actual commit hash when downloaded
+      sed -i 's|\$\\{GIT_EXECUTABLE} describe --always --long --dirty|echo FM v${
version}|g' CMakeLists.txt # ensures compatibility w/ netplay
+      sed -i 's|\$\\{GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD|echo HEAD|g' CMa
keLists.txt
+      sed -i 's|#include <optional>|#include <optional>\n#include <string>|g' Sou
rce/Core/DiscIO/DiscExtractor.h
+      cp Externals/wxWidgets3/include/wx Source/Core/ -r
+      cp Externals/wxWidgets3/wx/* Source/Core/wx/
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      cp -rf ${fpp-config}/Binaries/* Binaries/
+      chmod -R 755 Binaries/
+      rm Binaries/portable.txt
+
+      cp -rf ${fpp-launcher}/Launcher/* Binaries/Launcher
+      mkdir -p Binaries/User/Wii
+      install -D -m 755 ${fpp-sd}/sd.raw Binaries/User/Wii
+      mkdir -p $out
+      cp Binaries/ $out/ -r
+
+      sed -i 's|ISOPaths = 2|ISOPaths = 1|g' $out/Binaries/User/Config/Dolphin.in
i
+      sed -i 's|WiiSDCardPath = ./User/Wii/sd.raw|WiiSDCardPath = '$out'/User/Wii
/sd.raw|g' $out/Binaries/User/Config/Dolphin.ini
+      sed -i 's|ISOPath0 = ./Launcher|ISOPath0 = '$out'/Launcher|g' $out/Binaries
/User/Config/Dolphin.ini
+      sed -i '\|ISOPath1 = ./Games|d' $out/Binaries/User/Config/Dolphin.ini
+
+      mkdir -p $out/bin
+      ln -s $out/Binaries/ishiiruka $out/bin/faster-project-plus
+
+      runHook postInstall
+    '';
+
+    desktopItems = [
+      (makeDesktopItem {
+        name = "project-plus";
+        exec = "project-plus";
+        icon = "ishiiruka";
+        desktopName = "Project+";
+        comment = "Ishiiruka fork for SSBPM";
+        type = "Application";
+        categories = ["Emulator" "Game"];
+        keywords = ["ProjectM" "Project M" "ProjectPlus" "Project Plus" "Project+
"];
+      })
+    ];
+  }

diff --git a/outputs/pkgs/project-plus/defau
lt.nix b/outputs/pkgs/project-plus/default.n
ix
new file mode 100644
index 0000000..098eb9f
--- /dev/null
+++ b/outputs/pkgs/project-plus/default.nix
@@ -0,0 +1,187 @@
+{
+  fpp-config,
+  fpp-sd,
+  fpp-launcher,
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  pkg-config,
+  wrapQtAppsHook,
+  fetchpatch,
+  makeDesktopItem,
+  copyDesktopItems,
+  alsa-lib,
+  bluez,
+  bzip2,
+  cubeb,
+  curl,
+  ffmpeg,
+  fmt_10,
+  glib,
+  gtk2,
+  gtk3,
+  gtest,
+  hidapi,
+  enet,
+  libevdev,
+  libGL,
+  libiconv,
+  libpulseaudio,
+  libspng,
+  libusb1,
+  libXdmcp,
+  libXext,
+  libXi,
+  libXrandr,
+  lz4,
+  lzo,
+  mbedtls_2,
+  miniupnpc,
+  minizip-ng,
+  openal,
+  pugixml,
+  qtbase,
+  qtsvg,
+  SDL2,
+  sfml,
+  udev,
+  vulkan-loader,
+  xorg,
+  xxHash,
+  xz,
+}: let
+  rev = "f245e1ee105eeb5c18653657cd8b29415d
c37243";
+  version = "3.0.5";
+in
+  stdenv.mkDerivation {
+    pname = "project-plus";
+    inherit version;
+
+    src = fetchFromGitHub {
+      owner = "jlambert360";
+      repo = "Ishiiruka";
+      hash = "sha256-AAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAA";
+      inherit rev;
+    };
+
+    patches = [
+      fetchpatch
+      {
+        url = "https://github.com/dolphin-e
mu/dolphin/commit/3da2e15e6b95f02f66df461e87
c8b896e450fdab.patch";
+        hash = "sha256-AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA";
+      }
+    ];
+
+    strictDeps = true;
+
+    nativeBuildInputs = [
+      cmake
+      pkg-config
+      wrapQtAppsHook
+      copyDesktopItems
+    ];
+    buildInputs = [
+      bzip2
+      cubeb
+      curl
+      enet
+      ffmpeg
+      fmt_10
+      gtest
+      hidapi
+      libiconv
+      libpulseaudio
+      libspng
+      libXdmcp
+      libXi
+      lz4
+      lzo
+      libusb1
+      mbedtls_2
+      miniupnpc
+      minizip-ng
+      openal
+      pugixml
+      qtbase
+      qtsvg
+      SDL2
+      sfml
+      xxHash
+      xz
+      alsa-lib
+      bluez
+      libevdev
+      libGL
+      libXrandr
+      udev
+      vulkan-loader
+      libXext
+      glib
+      gtk2
+      gtk3
+      xorg.libXinerama
+    ];
+
+    cmakeFlags = [
+      "-DLINUX_LOCAL_DEV=true"
+      "-DGTK3_GLIBCONFIG_INCLUDE_DIR=${glib
.out}/lib/glib-3.0/include"
+      "-DGTK3_GDKCONFIG_INCLUDE_DIR=${gtk3.
out}/lib/gtk-3.0/include"
+      "-DGTK3_INCLUDE_DIRS=${gtk3.out}/lib/
gtk-3.0"
+      "-DENABLE_LTO=True"
+      "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib
.out}/lib/glib-2.0/include"
+      "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.
out}/lib/gtk-2.0/include"
+      "-DGTK2_INCLUDE_DIRS=${gtk2}/lib/gtk-
2.0"
+    ];
+
+    qtWrapperArgs = [
+      "--prefix LD_LIBRARY_PATH : ${lib.mak
eLibraryPath [vulkan-loader]}"
+      "--set QT_QPA_PLATFORM xcb"
+    ];
+
+    patchPhase = ''
+      sed -i 's|\$\\{GIT_EXECUTABLE} rev-pa
rse HEAD|echo ${rev}|g' CMakeLists.txt # --s
et scm_rev_str everywhere to actual commit h
ash when downloaded
+      sed -i 's|\$\\{GIT_EXECUTABLE} descri
be --always --long --dirty|echo FM v${versio
n}|g' CMakeLists.txt # ensures compatibility
 w/ netplay
+      sed -i 's|\$\\{GIT_EXECUTABLE} rev-pa
rse --abbrev-ref HEAD|echo HEAD|g' CMakeList
s.txt
+      sed -i 's|#include <optional>|#includ
e <optional>\n#include <string>|g' Source/Co
re/DiscIO/DiscExtractor.h
+      cp Externals/wxWidgets3/include/wx So
urce/Core/ -r
+      cp Externals/wxWidgets3/wx/* Source/C
ore/wx/
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      cp -rf ${fpp-config}/Binaries/* Binar
ies/
+      chmod -R 755 Binaries/
+      rm Binaries/portable.txt
+
+      cp -rf ${fpp-launcher}/Launcher/* Bin
aries/Launcher
+      mkdir -p Binaries/User/Wii
+      install -D -m 755 ${fpp-sd}/sd.raw Bi
naries/User/Wii
+      mkdir -p $out
+      cp Binaries/ $out/ -r
+
+      sed -i 's|ISOPaths = 2|ISOPaths = 1|g
' $out/Binaries/User/Config/Dolphin.ini
+      sed -i 's|WiiSDCardPath = ./User/Wii/
sd.raw|WiiSDCardPath = '$out'/User/Wii/sd.ra
w|g' $out/Binaries/User/Config/Dolphin.ini
+      sed -i 's|ISOPath0 = ./Launcher|ISOPa
th0 = '$out'/Launcher|g' $out/Binaries/User/
Config/Dolphin.ini
+      sed -i '\|ISOPath1 = ./Games|d' $out/
Binaries/User/Config/Dolphin.ini
+
+      mkdir -p $out/bin
+      ln -s $out/Binaries/ishiiruka $out/bi
n/faster-project-plus
+
+      runHook postInstall
+    '';
+
+    desktopItems = [
+      (makeDesktopItem {
+        name = "project-plus";
+        exec = "project-plus";
+        icon = "ishiiruka";
+        desktopName = "Project+";
+        comment = "Ishiiruka fork for SSBPM
";
+        type = "Application";
+        categories = ["Emulator" "Game"];
+        keywords = ["ProjectM" "Project M" 
"ProjectPlus" "Project Plus" "Project+"];
+      })
+    ];
+  }
 

diff --git a/outputs/pkgs/project-plus/fpp-launcher.nix b/outputs/pkgs/project-plu
s/fpp-launcher.nix
new file mode 100644
index 0000000..f291658
--- /dev/null
+++ b/outputs/pkgs/project-plus/fpp-launcher.nix
@@ -0,0 +1,20 @@
+{
+  stdenv,
+  fetchzip,
+}: let
+  version = "3.0.5";
+in
+  stdenv.mkDerivation {
+    inherit version;
+    name = "fpp-launcher";
+
+    src = fetchzip {
+      url = "https://github.com/jlambert360/FPM-AppImage/releases/download/v${ver
sion}/Launcher.tar.gz";
+      sha256 = "sha256-Q3F4V/ggePaZRsGFM54hkGBkLb52PaIn2lQ31gYANW0=";
+    };
+
+    installPhase = ''
+      mkdir -p $out/Launcher
+      cp -rf . $out/Launcher
+    '';
+  }

diff --git a/outputs/pkgs/project-plus/fpp-l
auncher.nix b/outputs/pkgs/project-plus/fpp-
launcher.nix
new file mode 100644
index 0000000..f291658
--- /dev/null
+++ b/outputs/pkgs/project-plus/fpp-launcher
.nix
@@ -0,0 +1,20 @@
+{
+  stdenv,
+  fetchzip,
+}: let
+  version = "3.0.5";
+in
+  stdenv.mkDerivation {
+    inherit version;
+    name = "fpp-launcher";
+
+    src = fetchzip {
+      url = "https://github.com/jlambert360
/FPM-AppImage/releases/download/v${version}/
Launcher.tar.gz";
+      sha256 = "sha256-Q3F4V/ggePaZRsGFM54h
kGBkLb52PaIn2lQ31gYANW0=";
+    };
+
+    installPhase = ''
+      mkdir -p $out/Launcher
+      cp -rf . $out/Launcher
+    '';
+  }
 
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET