diff options
| author | seth <[email protected]> | 2023-08-08 17:44:25 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2023-08-09 07:50:01 -0400 |
| commit | 357b926304cfc6ef0906e4e3687dd91673ce9519 (patch) | |
| tree | 0c396662b6896d962ccde5be0bacd18b893f0f0d /pkgs/theseus.nix | |
| parent | ab4a5cb0c6c713d5e3a98f3e21eb8a2bb759653d (diff) | |
pkgs/theseus: split wrapper & add desktop icon
Diffstat (limited to 'pkgs/theseus.nix')
| -rw-r--r-- | pkgs/theseus.nix | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/pkgs/theseus.nix b/pkgs/theseus.nix deleted file mode 100644 index f610bb9..0000000 --- a/pkgs/theseus.nix +++ /dev/null @@ -1,169 +0,0 @@ -{ - lib, - stdenv, - stdenvNoCC, - fetchFromGitHub, - rustPlatform, - buildGoModule, - pnpm, - esbuild, - CoreServices, - Security, - WebKit, - dbus, - freetype, - flite, - glfw, - glib-networking, - gtk3, - jdk8, - jdk17, - jdks ? [jdk8 jdk17], - jq, - libappindicator-gtk3, - libGL, - libpulseaudio, - librsvg, - libsoup, - moreutils, - openal, - openssl, - pkg-config, - webkitgtk, - wrapGAppsHook, - xorg, -}: -rustPlatform.buildRustPackage rec { - pname = "theseus"; - version = "unstable-2023-08-05"; - - src = fetchFromGitHub { - owner = "modrinth"; - repo = "theseus"; - rev = "47e28d24c81a00477afd91da8e1cdf3a79720385"; - sha256 = "sha256-nC3tPizddjRtGFqEovWvomDakIt/1tdQOPtnM0+8nn8="; - }; - - cargoLock = { - lockFile = "${src}/Cargo.lock"; - outputHashes = { - "tauri-plugin-single-instance-0.0.0" = "sha256-G4h2OXKPpZMmradutdUWxGG5axL9XMz2ACAe8AQ40eg="; - }; - }; - - pnpm-deps = stdenvNoCC.mkDerivation { - pname = "${pname}-pnpm-deps"; - inherit src version; - - nativeBuildInputs = [ - jq - moreutils - pnpm - ]; - - # https://github.com/NixOS/nixpkgs/blob/763e59ffedb5c25774387bf99bc725df5df82d10/pkgs/applications/misc/pot/default.nix#L56 - installPhase = '' - export HOME=$(mktemp -d) - - cd theseus_gui - pnpm config set store-dir $out - pnpm install --frozen-lockfile --no-optional --ignore-script - - 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-jFA8FTl1pi4pyuOzyg9kzzDTGjqtWiuI8hR6HkhrslU="; - }; - - buildInputs = - [openssl] - ++ lib.optionals stdenv.isLinux [ - dbus - freetype - gtk3 - libappindicator-gtk3 - librsvg - libsoup - openssl - webkitgtk - ] - ++ lib.optionals stdenv.isDarwin [CoreServices Security WebKit]; - - nativeBuildInputs = [ - pkg-config - pnpm - wrapGAppsHook - ]; - - ESBUILD_BINARY_PATH = "${lib.getExe (esbuild.override { - buildGoModule = args: - buildGoModule (args - // rec { - version = "0.17.19"; - src = fetchFromGitHub { - owner = "evanw"; - repo = "esbuild"; - rev = "v${version}"; - hash = "sha256-PLC7OJLSOiDq4OjvrdfCawZPfbfuZix4Waopzrj8qsU="; - }; - vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; - }); - })}"; - - preBuild = '' - export HOME=$(mktemp -d) - export STORE_PATH=$(mktemp -d) - pushd theseus_gui - - cp -r ${pnpm-deps}/* "$STORE_PATH" - chmod -R +w "$STORE_PATH" - - pnpm config set store-dir "$STORE_PATH" - pnpm install --offline --frozen-lockfile --no-optional --ignore-script - pnpm build - - popd - ''; - - preFixup = let - libPath = lib.makeLibraryPath ([ - flite - glfw - libGL - libpulseaudio - openal - stdenv.cc.cc.lib - ] - ++ (with xorg; [ - libX11 - libXcursor - libXext - libXxf86vm - libXrandr - ])); - binPath = lib.makeBinPath (lib.optionals stdenv.isLinux [xorg.xrandr] ++ jdks); - in '' - gappsWrapperArgs+=( - ${lib.optionalString stdenv.isLinux "--set LD_LIBRARY_PATH /run/opengl-driver/lib:${libPath}"} - ${lib.optionalString stdenv.isLinux "--prefix GIO_MODULE_DIR : ${glib-networking}/lib/gio/modules/"} - --prefix PATH : ${binPath} - ) - ''; - - meta = with lib; { - description = "Modrinth's future game launcher"; - longDescription = '' - Modrinth's future game launcher which can be used as a CLI, GUI, and a library for creating and playing Modrinth projects. - ''; - homepage = "https://modrinth.com"; - license = licenses.gpl3Plus; - maintainers = [maintainers.getchoo]; - platforms = with platforms; linux ++ darwin; - }; -} |
