forked from nikkuss/pkgs
Compare commits
7 Commits
grimorie_2
...
c7c53eafae
| Author | SHA1 | Date | |
|---|---|---|---|
|
c7c53eafae
|
|||
|
8d618dff18
|
|||
|
cccc55ef78
|
|||
|
2917e84200
|
|||
|
cb70ca0e90
|
|||
|
c2e51153c5
|
|||
|
6a2f59785b
|
@@ -81,6 +81,27 @@
|
|||||||
},
|
},
|
||||||
"version": "v3.2.0"
|
"version": "v3.2.0"
|
||||||
},
|
},
|
||||||
|
"grimoire": {
|
||||||
|
"cargoLock": null,
|
||||||
|
"date": null,
|
||||||
|
"extract": null,
|
||||||
|
"name": "grimoire",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"owner": "Slush97",
|
||||||
|
"repo": "grimoire",
|
||||||
|
"rev": "v1.14.2",
|
||||||
|
"sha256": "sha256-iRZF06kjmJJJOeiUpWm8T2REO/FSdpwc73dOXu6Xs9w=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"version": "v1.14.2"
|
||||||
|
},
|
||||||
"neovide": {
|
"neovide": {
|
||||||
"cargoLock": {
|
"cargoLock": {
|
||||||
"Cargo.lock": [
|
"Cargo.lock": [
|
||||||
@@ -188,5 +209,31 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"version": "v5"
|
"version": "v5"
|
||||||
|
},
|
||||||
|
"vpkmerge": {
|
||||||
|
"cargoLock": {
|
||||||
|
"Cargo.lock": [
|
||||||
|
"sha256-CaNyzN8kRtzKwIUAe1or6ZhcaZNeGCKNCkRUTK2f_H8=/Cargo.lock",
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"date": null,
|
||||||
|
"extract": null,
|
||||||
|
"name": "vpkmerge",
|
||||||
|
"passthru": null,
|
||||||
|
"pinned": false,
|
||||||
|
"src": {
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchSubmodules": false,
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"name": null,
|
||||||
|
"owner": "Slush97",
|
||||||
|
"repo": "vpkmerge",
|
||||||
|
"rev": "v0.7.0",
|
||||||
|
"sha256": "sha256-CaNyzN8kRtzKwIUAe1or6ZhcaZNeGCKNCkRUTK2f/H8=",
|
||||||
|
"sparseCheckout": [],
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"version": "v0.7.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -56,6 +56,17 @@
|
|||||||
sha256 = "sha256-MFnW9cXFzqmdtC31r8cRcihV3NjGAC6+2/DnNVMheCI=";
|
sha256 = "sha256-MFnW9cXFzqmdtC31r8cRcihV3NjGAC6+2/DnNVMheCI=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
grimoire = {
|
||||||
|
pname = "grimoire";
|
||||||
|
version = "v1.14.2";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Slush97";
|
||||||
|
repo = "grimoire";
|
||||||
|
rev = "v1.14.2";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
sha256 = "sha256-iRZF06kjmJJJOeiUpWm8T2REO/FSdpwc73dOXu6Xs9w=";
|
||||||
|
};
|
||||||
|
};
|
||||||
neovide = {
|
neovide = {
|
||||||
pname = "neovide";
|
pname = "neovide";
|
||||||
version = "8c48a699e201aa5559227a96d879b2f57192b354";
|
version = "8c48a699e201aa5559227a96d879b2f57192b354";
|
||||||
@@ -123,4 +134,21 @@
|
|||||||
sha256 = "sha256-w+0SKR0A/hcFU6iFEOgyG+vWwgAWF8h9D0/X7GSFm7w=";
|
sha256 = "sha256-w+0SKR0A/hcFU6iFEOgyG+vWwgAWF8h9D0/X7GSFm7w=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
vpkmerge = {
|
||||||
|
pname = "vpkmerge";
|
||||||
|
version = "v0.7.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Slush97";
|
||||||
|
repo = "vpkmerge";
|
||||||
|
rev = "v0.7.0";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
sha256 = "sha256-CaNyzN8kRtzKwIUAe1or6ZhcaZNeGCKNCkRUTK2f/H8=";
|
||||||
|
};
|
||||||
|
cargoLock."Cargo.lock" = {
|
||||||
|
lockFile = ./. + "/sha256-CaNyzN8kRtzKwIUAe1or6ZhcaZNeGCKNCkRUTK2f_H8=/Cargo.lock";
|
||||||
|
outputHashes = {
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -36,3 +36,12 @@ src.git = "https://github.com/neovide/neovide.git"
|
|||||||
src.git_branch = "nightly"
|
src.git_branch = "nightly"
|
||||||
fetch.git = "https://github.com/neovide/neovide.git"
|
fetch.git = "https://github.com/neovide/neovide.git"
|
||||||
cargo_lock = ["Cargo.lock"]
|
cargo_lock = ["Cargo.lock"]
|
||||||
|
|
||||||
|
[grimoire]
|
||||||
|
src.github = "Slush97/grimoire"
|
||||||
|
fetch.github = "Slush97/grimoire"
|
||||||
|
|
||||||
|
[vpkmerge]
|
||||||
|
src.github = "Slush97/vpkmerge"
|
||||||
|
fetch.github = "Slush97/vpkmerge"
|
||||||
|
cargo_lock = ["Cargo.lock"]
|
||||||
|
|||||||
@@ -0,0 +1,122 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
fetchurl,
|
||||||
|
nodejs_22,
|
||||||
|
pnpm,
|
||||||
|
python3,
|
||||||
|
gcc,
|
||||||
|
gnumake,
|
||||||
|
pkg-config,
|
||||||
|
makeWrapper,
|
||||||
|
electron_40,
|
||||||
|
vpkmerge,
|
||||||
|
sqlite,
|
||||||
|
callPackage,
|
||||||
|
}: let
|
||||||
|
sources = callPackage ../../../../_sources/generated.nix {};
|
||||||
|
|
||||||
|
src = sources.grimoire.src;
|
||||||
|
version = src.rev;
|
||||||
|
|
||||||
|
# This would go into nvfetcher but it isnt versioned..
|
||||||
|
grimoire-social-src = fetchFromGitHub {
|
||||||
|
owner = "Slush97";
|
||||||
|
repo = "grimoire-social";
|
||||||
|
rev = "main";
|
||||||
|
hash = "sha256-f+wUZOR7dqigxd/IZtay1BrLS5rcSnaDage3NXxqsPE=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pnpmDeps = pnpm.fetchDeps {
|
||||||
|
pname = "grimoire";
|
||||||
|
inherit version src;
|
||||||
|
fetcherVersion = 3;
|
||||||
|
hash = "sha256-CrVc0gO0CtesGHbGxnrFeDR3NahyaxGSI3lMHtbGfcM=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "grimoire";
|
||||||
|
inherit version src;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
nodejs_22
|
||||||
|
pnpm
|
||||||
|
pnpm.configHook
|
||||||
|
python3
|
||||||
|
gcc
|
||||||
|
gnumake
|
||||||
|
pkg-config
|
||||||
|
makeWrapper
|
||||||
|
electron_40
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
sqlite
|
||||||
|
];
|
||||||
|
|
||||||
|
inherit pnpmDeps;
|
||||||
|
|
||||||
|
env.GRIMOIRE_SOCIAL_BASE_URL = "https://grimoire-social.slusheliott.workers.dev";
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
cp -r ${grimoire-social-src} ../grimoire-social
|
||||||
|
chmod -R u+w ../grimoire-social
|
||||||
|
|
||||||
|
mkdir -p resources/vpkmerge
|
||||||
|
cp ${vpkmerge}/bin/vpkmerge resources/vpkmerge/vpkmerge-linux-x86_64
|
||||||
|
chmod +x resources/vpkmerge/vpkmerge-linux-x86_64
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
|
mkdir -p ../grimoire-social/node_modules
|
||||||
|
ln -sfn "$(realpath node_modules/zod)" ../grimoire-social/node_modules/zod
|
||||||
|
|
||||||
|
(
|
||||||
|
cd node_modules/better-sqlite3
|
||||||
|
HOME="$TMPDIR" node \
|
||||||
|
"${nodejs_22}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" \
|
||||||
|
rebuild \
|
||||||
|
--nodedir="${electron_40.headers}"
|
||||||
|
)
|
||||||
|
|
||||||
|
pnpm exec electron-vite build
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/lib/grimoire
|
||||||
|
cp -r dist $out/lib/grimoire/dist
|
||||||
|
|
||||||
|
mkdir -p $out/lib/grimoire/resources
|
||||||
|
cp -r resources/vpkmerge $out/lib/grimoire/resources/vpkmerge
|
||||||
|
echo '{"name":"grimoire","version":"${version}","main":"dist/main/index.js"}' \
|
||||||
|
> $out/lib/grimoire/package.json
|
||||||
|
|
||||||
|
cp -r node_modules $out/lib/grimoire/node_modules
|
||||||
|
|
||||||
|
rm -rf "$out/lib/grimoire/node_modules/@grimoire"
|
||||||
|
|
||||||
|
find "$out/lib/grimoire/node_modules" -type l | while read -r link; do
|
||||||
|
[ -e "$link" ] || rm -f "$link"
|
||||||
|
done
|
||||||
|
|
||||||
|
mkdir -p $out/bin
|
||||||
|
makeWrapper ${electron_40}/bin/electron $out/bin/grimoire \
|
||||||
|
--add-flags "$out/lib/grimoire" \
|
||||||
|
--set ELECTRON_RESOURCES_PATH "$out/lib/grimoire" \
|
||||||
|
--set NODE_ENV production
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Grimoire — Electron-based mod manager";
|
||||||
|
platforms = ["x86_64-linux"];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
rustPlatform,
|
||||||
|
callPackage,
|
||||||
|
pkg-config,
|
||||||
|
dbus,
|
||||||
|
glib,
|
||||||
|
cairo,
|
||||||
|
gtk3,
|
||||||
|
libsoup_3,
|
||||||
|
webkitgtk_4_1,
|
||||||
|
}: let
|
||||||
|
sources = callPackage ../../../../_sources/generated.nix {};
|
||||||
|
inherit (sources.vpkmerge) src cargoLock;
|
||||||
|
in
|
||||||
|
rustPlatform.buildRustPackage (finalAttrs: {
|
||||||
|
pname = "vpkmerge";
|
||||||
|
version = src.rev;
|
||||||
|
src = src;
|
||||||
|
cargoLock = sources.vpkmerge.cargoLock."Cargo.lock";
|
||||||
|
|
||||||
|
nativeBuildInputs = [pkg-config dbus.dev];
|
||||||
|
|
||||||
|
buildInputs = [dbus glib cairo gtk3 libsoup_3 webkitgtk_4_1];
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user