diff options
Diffstat (limited to 'pkgs/modrinth-app-unwrapped/package.nix')
| -rw-r--r-- | pkgs/modrinth-app-unwrapped/package.nix | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/pkgs/modrinth-app-unwrapped/package.nix b/pkgs/modrinth-app-unwrapped/package.nix deleted file mode 100644 index eadd754..0000000 --- a/pkgs/modrinth-app-unwrapped/package.nix +++ /dev/null @@ -1,184 +0,0 @@ -{ - lib, - stdenv, - stdenvNoCC, - fetchFromGitHub, - rustPlatform, - buildGoModule, - modrinth-app-unwrapped, - cacert, - cargo-tauri, - desktop-file-utils, - esbuild, - darwin, - jq, - libsoup, - moreutils, - nodePackages, - openssl, - pkg-config, - webkitgtk, -}: -rustPlatform.buildRustPackage { - pname = "modrinth-app-unwrapped"; - version = "0.7.1-unstable-2024-04-25"; - - src = fetchFromGitHub { - owner = "modrinth"; - repo = "theseus"; - rev = "89c7adfbcd64c4f3f19590aacd341337e069e399"; - hash = "sha256-aSuykZfeGKGA4BeqjIR4bFpah/pKKwVSTNH5upUxeHI="; - }; - - cargoLock = { - lockFile = ./Cargo.lock; - outputHashes = { - "tauri-plugin-single-instance-0.0.0" = "sha256-Mf2/cnKotd751ZcSHfiSLNe2nxBfo4dMBdoCwQhe7yI="; - }; - }; - - pnpm-deps = stdenvNoCC.mkDerivation (finalAttrs: { - pname = "${modrinth-app-unwrapped.pname}-pnpm-deps"; - inherit (modrinth-app-unwrapped) version src; - sourceRoot = "${finalAttrs.src.name}/theseus_gui"; - - dontConfigure = true; - dontBuild = true; - doCheck = false; - - nativeBuildInputs = [ - cacert - jq - moreutils - nodePackages.pnpm - ]; - - # https://github.com/NixOS/nixpkgs/blob/763e59ffedb5c25774387bf99bc725df5df82d10/pkgs/applications/misc/pot/default.nix#L56 - installPhase = '' - export HOME=$(mktemp -d) - - pnpm config set store-dir "$out" - pnpm install --frozen-lockfile --ignore-script --force - - # remove timestamp and sort 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-g/uUGfC9TQh0LE8ed51oFY17FySoeTvfaeEpzpNeMao="; - }); - - nativeBuildInputs = [ - cargo-tauri - desktop-file-utils - nodePackages.pnpm - pkg-config - ]; - - buildInputs = - [openssl] - ++ lib.optionals stdenv.isLinux [ - libsoup - webkitgtk - ] - ++ lib.optionals stdenv.isDarwin ( - with darwin.apple_sdk.frameworks; [ - AppKit - CoreServices - Security - WebKit - ] - ); - - env = { - tauriBundle = - { - Linux = "deb"; - Darwin = "app"; - } - .${stdenv.hostPlatform.uname.system} - or (builtins.throw "No tauri bundle available for ${stdenv.hostPlatform.uname.system}!"); - - ESBUILD_BINARY_PATH = lib.getExe ( - esbuild.override { - buildGoModule = args: - buildGoModule (args - // rec { - version = "0.20.2"; - src = fetchFromGitHub { - owner = "evanw"; - repo = "esbuild"; - rev = "v${version}"; - hash = "sha256-h/Vqwax4B4nehRP9TaYbdixAZdb1hx373dNxNHvDrtY="; - }; - vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; - }); - } - ); - }; - - postPatch = '' - export HOME=$(mktemp -d) - export STORE_PATH=$(mktemp -d) - - pushd theseus_gui - cp -rT ${modrinth-app-unwrapped.pnpm-deps} "$STORE_PATH" - chmod -R +w "$STORE_PATH" - - pnpm config set store-dir "$STORE_PATH" - pnpm install --offline --frozen-lockfile --ignore-script - popd - ''; - - buildPhase = '' - runHook preBuild - - cargo tauri build --bundles "$tauriBundle" - - runHook postBuild - ''; - - installPhase = - '' - runHook preInstall - '' - + lib.optionalString stdenv.isDarwin '' - mkdir -p "$out"/bin - cp -r target/release/bundle/macos "$out"/Applications - mv "$out"/Applications/Modrinth\ App.app/Contents/MacOS/Modrinth\ App "$out"/bin/modrinth-app - ln -s "$out"/bin/modrinth-app "$out"/Applications/Modrinth\ App.app/Contents/MacOS/Modrinth\ App - '' - + lib.optionalString stdenv.isLinux '' - cp -r target/release/bundle/"$tauriBundle"/*/data/usr "$out" - desktop-file-edit \ - --set-comment "Modrinth's game launcher" \ - --set-key="StartupNotify" --set-value="true" \ - --set-key="Categories" --set-value="Game;ActionGame;AdventureGame;Simulation;" \ - --set-key="Keywords" --set-value="game;minecraft;mc;" \ - --set-key="StartupWMClass" --set-value="ModrinthApp" \ - $out/share/applications/modrinth-app.desktop - '' - + '' - runHook postInstall - ''; - - meta = with lib; { - mainProgram = "modrinth-app"; - description = "Modrinth's game launcher"; - longDescription = '' - A unique, open source launcher that allows you to play your favorite mods, - and keep them up to date, all in one neat little package - ''; - homepage = "https://modrinth.com"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [getchoo]; - platforms = platforms.linux ++ platforms.darwin; - # this builds on architectures like aarch64, but the launcher itself does not support them yet - broken = !stdenv.isx86_64; - }; -} |
