forked from nikkuss/pkgs
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
3588b81d6b
|
|||
|
1082e52e6b
|
|||
| d1c6469384 |
@@ -116,12 +116,12 @@
|
|||||||
"name": null,
|
"name": null,
|
||||||
"owner": "Slush97",
|
"owner": "Slush97",
|
||||||
"repo": "grimoire",
|
"repo": "grimoire",
|
||||||
"rev": "v1.14.2",
|
"rev": "v1.23.0",
|
||||||
"sha256": "sha256-iRZF06kjmJJJOeiUpWm8T2REO/FSdpwc73dOXu6Xs9w=",
|
"sha256": "sha256-GY1J/guggCc4fyEQKUoEHmRC8hMcSg6gBKU0maEYSPE=",
|
||||||
"sparseCheckout": [],
|
"sparseCheckout": [],
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"version": "v1.14.2"
|
"version": "v1.23.0"
|
||||||
},
|
},
|
||||||
"neovide": {
|
"neovide": {
|
||||||
"cargoLock": {
|
"cargoLock": {
|
||||||
|
|||||||
@@ -69,13 +69,13 @@
|
|||||||
};
|
};
|
||||||
grimoire = {
|
grimoire = {
|
||||||
pname = "grimoire";
|
pname = "grimoire";
|
||||||
version = "v1.14.2";
|
version = "v1.23.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Slush97";
|
owner = "Slush97";
|
||||||
repo = "grimoire";
|
repo = "grimoire";
|
||||||
rev = "v1.14.2";
|
rev = "v1.23.0";
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
sha256 = "sha256-iRZF06kjmJJJOeiUpWm8T2REO/FSdpwc73dOXu6Xs9w=";
|
sha256 = "sha256-GY1J/guggCc4fyEQKUoEHmRC8hMcSg6gBKU0maEYSPE=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
neovide = {
|
neovide = {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
fetchurl,
|
|
||||||
nodejs_22,
|
nodejs_22,
|
||||||
pnpm,
|
pnpm,
|
||||||
python3,
|
python3,
|
||||||
@@ -34,12 +33,12 @@
|
|||||||
pname = "grimoire";
|
pname = "grimoire";
|
||||||
inherit version src;
|
inherit version src;
|
||||||
fetcherVersion = 3;
|
fetcherVersion = 3;
|
||||||
hash = "sha256-aSjELhEyEbQ7qT8fI5VfIDOHrsgHHL18Dsphm6sA8J4=";
|
hash = "sha256-X7KLUag9HPHVit0l/tA3BxQZ2/Cj0A5KiG4Oevx2268=";
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
name = "grimoire";
|
name = "grimoire";
|
||||||
exec = "/bin/grimoire %u";
|
exec = "grimoire %u";
|
||||||
desktopName = "Grimoire";
|
desktopName = "Grimoire";
|
||||||
categories = ["Utility"];
|
categories = ["Utility"];
|
||||||
mimeTypes = ["x-scheme-handler/grimoire"];
|
mimeTypes = ["x-scheme-handler/grimoire"];
|
||||||
@@ -70,7 +69,12 @@ in
|
|||||||
|
|
||||||
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";
|
||||||
|
# electron-builder must not try to fetch an Electron binary over the
|
||||||
|
# network; we hand it the Nix one via --config.electronDist below.
|
||||||
|
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||||
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
cp -r ${grimoire-social-src} ../grimoire-social
|
cp -r ${grimoire-social-src} ../grimoire-social
|
||||||
@@ -87,6 +91,9 @@ in
|
|||||||
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
|
||||||
|
|
||||||
|
# Rebuild the better-sqlite3 native addon against the Electron ABI. We do
|
||||||
|
# this ourselves (and disable electron-builder's own rebuild below) so no
|
||||||
|
# network fetch of Electron headers is needed inside the sandbox.
|
||||||
(
|
(
|
||||||
cd node_modules/better-sqlite3
|
cd node_modules/better-sqlite3
|
||||||
HOME="$TMPDIR" node \
|
HOME="$TMPDIR" node \
|
||||||
@@ -95,7 +102,19 @@ in
|
|||||||
--nodedir="${electron_40.headers}"
|
--nodedir="${electron_40.headers}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Package the app the same way upstream CI does (release.yml):
|
||||||
|
# `electron-vite build && electron-builder`. We stop at the unpacked
|
||||||
|
# `--dir` output instead of building AppImage/deb installers, then wrap
|
||||||
|
# the Nix Electron around the produced app.asar. Building through
|
||||||
|
# electron-builder (rather than launching Electron on the raw dist/)
|
||||||
|
# makes `app.isPackaged` true, which is what disables the dev-only
|
||||||
|
# DevTools auto-open and the dev vpkmerge lookup path.
|
||||||
|
export HOME="$TMPDIR"
|
||||||
pnpm exec electron-vite build
|
pnpm exec electron-vite build
|
||||||
|
pnpm exec electron-builder --linux dir \
|
||||||
|
--config.npmRebuild=false \
|
||||||
|
--config.electronDist=${electron_40.dist} \
|
||||||
|
--config.electronVersion=${electron_40.version}
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
@@ -104,25 +123,16 @@ in
|
|||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/lib/grimoire
|
mkdir -p $out/lib/grimoire
|
||||||
cp -r dist $out/lib/grimoire/dist
|
# electron-builder emits the packaged app (app.asar, app.asar.unpacked,
|
||||||
|
# and extraResources such as vpkmerge) under release/linux-unpacked/resources.
|
||||||
mkdir -p $out/lib/grimoire/resources
|
cp -r release/linux-unpacked/resources $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
|
|
||||||
|
|
||||||
|
# Launch the Nix Electron against the packaged asar. process.resourcesPath
|
||||||
|
# resolves to the directory holding app.asar, so the bundled vpkmerge at
|
||||||
|
# resources/vpkmerge/ is found at runtime.
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
makeWrapper ${electron_40}/bin/electron $out/bin/grimoire \
|
makeWrapper ${electron_40}/bin/electron $out/bin/grimoire \
|
||||||
--add-flags "$out/lib/grimoire" \
|
--add-flags "$out/lib/grimoire/resources/app.asar" \
|
||||||
--set ELECTRON_RESOURCES_PATH "$out/lib/grimoire" \
|
|
||||||
--set NODE_ENV production
|
--set NODE_ENV production
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
Reference in New Issue
Block a user