From bdf36222ea18cae482f6d2e602b2db2c0529e2cb Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Fri, 15 Aug 2025 21:52:20 +0200 Subject: [PATCH] comet-gog_heroic: init at 0.2.0; comet-gog: refactor --- pkgs/by-name/co/comet-gog/package.nix | 39 ++++++++++++++++++++------- pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/co/comet-gog/package.nix b/pkgs/by-name/co/comet-gog/package.nix index f02b6a61c78e..01870f624414 100644 --- a/pkgs/by-name/co/comet-gog/package.nix +++ b/pkgs/by-name/co/comet-gog/package.nix @@ -1,37 +1,56 @@ { + comet-gog_kind ? "latest", + lib, + stdenv, rustPlatform, fetchFromGitHub, - protobuf, + buildPackages, }: -rustPlatform.buildRustPackage rec { +let + versionInfoTable = { + "latest" = { + version = "0.3.1"; + srcHash = "sha256-asg2xp9A5abmsF+CgOa+ScK2sQwSNFQXD5Qnm76Iyhg="; + cargoHash = "sha256-K0lQuk2PBwnVlkRpYNo4Z7to/Lx2fY6RIlkgmMjvEtc="; + }; + # version pin that is compatible with heroic + "heroic" = { + version = "0.2.0"; + srcHash = "sha256-LAEt2i/SRABrz+y2CTMudrugifLgHNxkMSdC8PXYF0E="; + cargoHash = "sha256-SvDE+QqaSK0+4XgB3bdmqOtwxBDTlf7yckTR8XjmMXc="; + }; + }; + + versionInfo = versionInfoTable.${comet-gog_kind}; +in +rustPlatform.buildRustPackage (finalAttrs: { pname = "comet-gog"; - version = "0.3.1"; + inherit (versionInfo) version cargoHash; src = fetchFromGitHub { owner = "imLinguin"; repo = "comet"; - tag = "v${version}"; - hash = "sha256-asg2xp9A5abmsF+CgOa+ScK2sQwSNFQXD5Qnm76Iyhg="; + tag = "v${finalAttrs.version}"; + hash = versionInfo.srcHash; fetchSubmodules = true; }; - cargoHash = "sha256-K0lQuk2PBwnVlkRpYNo4Z7to/Lx2fY6RIlkgmMjvEtc="; - # error: linker `aarch64-linux-gnu-gcc` not found postPatch = '' rm .cargo/config.toml ''; - env.PROTOC = lib.getExe' protobuf "protoc"; + # TECHNICALLY, we could remove this, but then we'd be using the vendored precompiled protoc binary... + env.PROTOC = lib.getExe' buildPackages.protobuf "protoc"; meta = { - changelog = "https://github.com/imLinguin/comet/releases/tag/v${version}"; + changelog = "https://github.com/imLinguin/comet/releases/tag/${finalAttrs.src.tag}"; description = "Open Source implementation of GOG Galaxy's Communication Service"; homepage = "https://github.com/imLinguin/comet"; license = lib.licenses.gpl3Plus; mainProgram = "comet"; maintainers = with lib.maintainers; [ tomasajt ]; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a7e5d5076e3b..d45f3bb530f5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2650,6 +2650,8 @@ with pkgs; cocoapods-beta = lowPrio (callPackage ../development/tools/cocoapods { beta = true; }); + comet-gog_heroic = callPackage ../by-name/co/comet-gog/package.nix { comet-gog_kind = "heroic"; }; + compass = callPackage ../development/tools/compass { }; cone = callPackage ../development/compilers/cone {