Jack O'Sullivan
27a4583879
Some checks failed
CI / Check, build and cache Nix flake (push) Has been cancelled
98 lines
1.8 KiB
Nix
98 lines
1.8 KiB
Nix
{ lib
|
|
, fetchFromGitHub
|
|
, rustPlatform
|
|
, pkg-config
|
|
, openssl
|
|
, libsoup
|
|
, dbus
|
|
, glib
|
|
, glib-networking
|
|
, gtk3
|
|
, webkitgtk
|
|
, libayatana-appindicator
|
|
, librsvg
|
|
, wrapGAppsHook
|
|
, stdenvNoCC
|
|
, jq
|
|
, moreutils
|
|
, nodePackages
|
|
, cacert
|
|
}:
|
|
rustPlatform.buildRustPackage rec {
|
|
pname = "modrinth-app";
|
|
version = "0.6.3";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "modrinth";
|
|
repo = "theseus";
|
|
rev = "v${version}";
|
|
hash = "sha256-gFQXcTqHgSKfne6+v837ENXYYiEYu/Yks9TpnfBCPnA=";
|
|
};
|
|
|
|
cargoLock = {
|
|
lockFile = ./Cargo.lock;
|
|
outputHashes = {
|
|
"tauri-plugin-single-instance-0.0.0" = "sha256-G4h2OXKPpZMmradutdUWxGG5axL9XMz2ACAe8AQ40eg=";
|
|
};
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
nodePackages.pnpm
|
|
wrapGAppsHook
|
|
];
|
|
buildInputs = [
|
|
openssl
|
|
libsoup
|
|
dbus
|
|
glib
|
|
glib-networking
|
|
gtk3
|
|
webkitgtk
|
|
libayatana-appindicator
|
|
librsvg
|
|
];
|
|
|
|
pnpm-deps = stdenvNoCC.mkDerivation {
|
|
pname = "${pname}-pnpm-deps";
|
|
inherit src version;
|
|
|
|
sourceRoot = "${src.name}/theseus_gui";
|
|
|
|
nativeBuildInputs = [
|
|
jq
|
|
moreutils
|
|
nodePackages.pnpm
|
|
cacert
|
|
];
|
|
|
|
installPhase = ''
|
|
export HOME=$(mktemp -d)
|
|
pnpm config set store-dir $out
|
|
pnpm install --ignore-scripts
|
|
|
|
# Remove timestamp and sort the json files
|
|
rm -rf $out/v3/tmp
|
|
for f in $(find $out -name "*.json"); do
|
|
sed -i -E -e 's/"checkedAt":[0-9]+,//g' $f
|
|
jq --sort-keys . $f | sponge $f
|
|
done
|
|
'';
|
|
|
|
dontFixup = true;
|
|
outputHashMode = "recursive";
|
|
outputHash = "sha256-Txttk8qZpDsAuiF8laKbZss/KEoT1Z+oepbj2s4XjE8=";
|
|
};
|
|
|
|
preBuild = ''
|
|
cd theseus_gui
|
|
export HOME=$(mktemp -d)
|
|
pnpm config set store-dir ${pnpm-deps}
|
|
pnpm install --ignore-scripts --offline
|
|
chmod -R +w node_modules
|
|
pnpm rebuild
|
|
pnpm build
|
|
cd ..
|
|
'';
|
|
}
|