forked from nikkuss/pkgs
lint
This commit is contained in:
@@ -12,8 +12,7 @@
|
|||||||
makeWrapper,
|
makeWrapper,
|
||||||
electron_39,
|
electron_39,
|
||||||
sqlite,
|
sqlite,
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
version = "1.13.1";
|
version = "1.13.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
@@ -42,88 +41,88 @@ let
|
|||||||
sha256 = "6860a989335afec0aa19544cf30cbebac9dc6b88af3f3a8d9c3340a6435fa045";
|
sha256 = "6860a989335afec0aa19544cf30cbebac9dc6b88af3f3a8d9c3340a6435fa045";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "grimoire";
|
pname = "grimoire";
|
||||||
inherit version src;
|
inherit version src;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
nodejs_22
|
nodejs_22
|
||||||
pnpm
|
pnpm
|
||||||
pnpm.configHook
|
pnpm.configHook
|
||||||
python3
|
python3
|
||||||
gcc
|
gcc
|
||||||
gnumake
|
gnumake
|
||||||
pkg-config
|
pkg-config
|
||||||
makeWrapper
|
makeWrapper
|
||||||
electron_39
|
electron_39
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
sqlite
|
sqlite
|
||||||
];
|
];
|
||||||
|
|
||||||
inherit pnpmDeps;
|
inherit pnpmDeps;
|
||||||
|
|
||||||
env.GRIMOIRE_SOCIAL_BASE_URL = "https://grimoire-social.slusheliott.workers.dev";
|
env.GRIMOIRE_SOCIAL_BASE_URL = "https://grimoire-social.slusheliott.workers.dev";
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
cp -r ${grimoire-social-src} ../grimoire-social
|
cp -r ${grimoire-social-src} ../grimoire-social
|
||||||
chmod -R u+w ../grimoire-social
|
chmod -R u+w ../grimoire-social
|
||||||
|
|
||||||
mkdir -p resources/vpkmerge
|
mkdir -p resources/vpkmerge
|
||||||
cp ${vpkmerge-bin} resources/vpkmerge/vpkmerge-linux-x86_64
|
cp ${vpkmerge-bin} resources/vpkmerge/vpkmerge-linux-x86_64
|
||||||
chmod +x resources/vpkmerge/vpkmerge-linux-x86_64
|
chmod +x resources/vpkmerge/vpkmerge-linux-x86_64
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
|
|
||||||
mkdir -p ../grimoire-social/node_modules
|
mkdir -p ../grimoire-social/node_modules
|
||||||
ln -sfn "$(realpath node_modules/zod)" ../grimoire-social/node_modules/zod
|
ln -sfn "$(realpath node_modules/zod)" ../grimoire-social/node_modules/zod
|
||||||
|
|
||||||
(
|
(
|
||||||
cd node_modules/better-sqlite3
|
cd node_modules/better-sqlite3
|
||||||
HOME="$TMPDIR" node \
|
HOME="$TMPDIR" node \
|
||||||
"${nodejs_22}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" \
|
"${nodejs_22}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" \
|
||||||
rebuild \
|
rebuild \
|
||||||
--nodedir="${electron_39.headers}"
|
--nodedir="${electron_39.headers}"
|
||||||
)
|
)
|
||||||
|
|
||||||
pnpm exec electron-vite build
|
pnpm exec electron-vite build
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/lib/grimoire
|
mkdir -p $out/lib/grimoire
|
||||||
cp -r dist $out/lib/grimoire/dist
|
cp -r dist $out/lib/grimoire/dist
|
||||||
|
|
||||||
mkdir -p $out/lib/grimoire/resources
|
mkdir -p $out/lib/grimoire/resources
|
||||||
cp -r resources/vpkmerge $out/lib/grimoire/resources/vpkmerge
|
cp -r resources/vpkmerge $out/lib/grimoire/resources/vpkmerge
|
||||||
echo '{"name":"grimoire","version":"${version}","main":"dist/main/index.js"}' \
|
echo '{"name":"grimoire","version":"${version}","main":"dist/main/index.js"}' \
|
||||||
> $out/lib/grimoire/package.json
|
> $out/lib/grimoire/package.json
|
||||||
|
|
||||||
cp -r node_modules $out/lib/grimoire/node_modules
|
cp -r node_modules $out/lib/grimoire/node_modules
|
||||||
|
|
||||||
rm -rf "$out/lib/grimoire/node_modules/@grimoire"
|
rm -rf "$out/lib/grimoire/node_modules/@grimoire"
|
||||||
|
|
||||||
find "$out/lib/grimoire/node_modules" -type l | while read -r link; do
|
find "$out/lib/grimoire/node_modules" -type l | while read -r link; do
|
||||||
[ -e "$link" ] || rm -f "$link"
|
[ -e "$link" ] || rm -f "$link"
|
||||||
done
|
done
|
||||||
|
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
makeWrapper ${electron_39}/bin/electron $out/bin/grimoire \
|
makeWrapper ${electron_39}/bin/electron $out/bin/grimoire \
|
||||||
--add-flags "$out/lib/grimoire" \
|
--add-flags "$out/lib/grimoire" \
|
||||||
--set ELECTRON_RESOURCES_PATH "$out/lib/grimoire" \
|
--set ELECTRON_RESOURCES_PATH "$out/lib/grimoire" \
|
||||||
--set NODE_ENV production
|
--set NODE_ENV production
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Grimoire — Electron-based mod manager";
|
description = "Grimoire — Electron-based mod manager";
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = ["x86_64-linux"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user