Install this version:
emerge -a =games-util/heroic-2.22.3
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =games-util/heroic-2.22.3
Or alternatively:
emerge --autounmask-write -a =games-util/heroic-2.22.3
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Generated from pnpm-lock.yaml by scripts/npm-deps.py
NPM_PKGS="
7zip-bin@5.2.0
@adobe/css-tools@4.4.3
@ampproject/remapping@2.3.0
@babel/code-frame@7.27.1
@babel/compat-data@7.27.1
@babel/core@7.27.1
@babel/generator@7.27.1
@babel/helper-compilation-targets@7.27.1
@babel/helper-module-imports@7.27.1
@babel/helper-module-transforms@7.27.1
@babel/helper-plugin-utils@7.27.1
@babel/helper-string-parser@7.27.1
@babel/helper-validator-identifier@7.27.1
@babel/helper-validator-option@7.27.1
@babel/helpers@7.27.1
@babel/parser@7.27.1
@babel/plugin-syntax-async-generators@7.8.4
@babel/plugin-syntax-bigint@7.8.3
@babel/plugin-syntax-class-properties@7.12.13
@babel/plugin-syntax-class-static-block@7.14.5
@babel/plugin-syntax-import-attributes@7.27.1
@babel/plugin-syntax-import-meta@7.10.4
@babel/plugin-syntax-json-strings@7.8.3
@babel/plugin-syntax-jsx@7.27.1
@babel/plugin-syntax-logical-assignment-operators@7.10.4
@babel/plugin-syntax-nullish-coalescing-operator@7.8.3
@babel/plugin-syntax-numeric-separator@7.10.4
@babel/plugin-syntax-object-rest-spread@7.8.3
@babel/plugin-syntax-optional-catch-binding@7.8.3
@babel/plugin-syntax-optional-chaining@7.8.3
@babel/plugin-syntax-private-property-in-object@7.14.5
@babel/plugin-syntax-top-level-await@7.14.5
@babel/plugin-syntax-typescript@7.27.1
@babel/plugin-transform-arrow-functions@7.27.1
@babel/runtime@7.27.1
@babel/runtime@7.29.2
@babel/template@7.27.1
@babel/traverse@7.27.1
@babel/types@7.27.1
@bcoe/v8-coverage@0.2.3
@develar/schema-utils@2.6.5
@discordjs/collection@2.1.1
@discordjs/rest@2.6.0
@discordjs/util@1.2.0
@electron-internal/extract-zip@1.0.4
@electron/asar@3.4.1
@electron/fuses@1.8.0
@electron/get@3.1.0
@electron/get@5.0.0
@electron/notarize@2.2.1
@electron/notarize@2.5.0
@electron/osx-sign@1.0.5
@electron/osx-sign@1.3.3
@electron/rebuild@4.0.3
@electron/universal@1.5.1
@electron/universal@2.0.3
@emnapi/core@1.4.3
@emnapi/runtime@1.4.3
@emnapi/wasi-threads@1.0.2
@emotion/babel-plugin@11.13.5
@emotion/cache@11.14.0
@emotion/hash@0.9.2
@emotion/is-prop-valid@1.4.0
@emotion/memoize@0.9.0
@emotion/react@11.14.0
@emotion/serialize@1.3.3
@emotion/sheet@1.4.0
@emotion/styled@11.14.1
@emotion/unitless@0.10.0
@emotion/use-insertion-effect-with-fallbacks@1.2.0
@emotion/utils@1.4.2
@emotion/weak-memoize@0.4.0
@esbuild/linux-arm64@0.25.12|arm64
@esbuild/linux-arm64@0.25.3|arm64
@esbuild/linux-x64@0.25.12|amd64
@esbuild/linux-x64@0.25.3|amd64
@eslint-community/eslint-utils@4.7.0
@eslint-community/regexpp@4.12.1
@eslint/config-array@0.20.1
@eslint/config-helpers@0.2.2
@eslint/core@0.14.0
@eslint/core@0.15.2
@eslint/eslintrc@3.3.1
@eslint/js@9.29.0
@eslint/object-schema@2.1.6
@eslint/plugin-kit@0.3.4
@fiahfy/packbits@0.0.6
@fontsource/cabin@4.5.10
@fontsource/rubik@4.5.14
@fortawesome/fontawesome-common-types@6.7.2
@fortawesome/fontawesome-common-types@7.3.1
@fortawesome/fontawesome-svg-core@7.3.1
@fortawesome/free-brands-svg-icons@6.7.2
@fortawesome/free-regular-svg-icons@6.7.2
@fortawesome/free-solid-svg-icons@6.7.2
@fortawesome/react-fontawesome@0.2.6
@gulpjs/to-absolute-glob@4.0.0
@hello-pangea/dnd@18.0.1
@humanfs/core@0.19.1
@humanfs/node@0.16.6
@humanwhocodes/module-importer@1.0.1
@humanwhocodes/retry@0.3.1
@humanwhocodes/retry@0.4.3
@isaacs/cliui@8.0.2
@isaacs/fs-minipass@4.0.1
@istanbuljs/load-nyc-config@1.1.0
@istanbuljs/schema@0.1.3
@jest/console@29.7.0
@jest/core@29.7.0
@jest/environment@29.7.0
@jest/expect@29.7.0
@jest/expect-utils@29.7.0
@jest/fake-timers@29.7.0
@jest/globals@29.7.0
@jest/reporters@29.7.0
@jest/schemas@29.6.3
@jest/source-map@29.6.3
@jest/test-result@29.7.0
@jest/test-sequencer@29.7.0
@jest/transform@29.7.0
@jest/types@29.6.3
@jridgewell/gen-mapping@0.3.8
@jridgewell/resolve-uri@3.1.2
@jridgewell/set-array@1.2.1
@jridgewell/sourcemap-codec@1.5.0
@jridgewell/trace-mapping@0.3.25
@kwsites/file-exists@1.1.1
@kwsites/promise-deferred@1.1.1
@malept/cross-spawn-promise@1.1.1
@malept/cross-spawn-promise@2.0.0
@malept/flatpak-bundler@0.4.0
@mui/core-downloads-tracker@5.18.0
@mui/icons-material@5.18.0
@mui/material@5.18.0
@mui/private-theming@5.17.1
@mui/styled-engine@5.18.0
@mui/system@5.18.0
@mui/types@7.2.24
@mui/utils@5.17.1
@napi-rs/wasm-runtime@0.2.11
@node-steam/vdf@2.2.0
@nodelib/fs.scandir@2.1.5
@nodelib/fs.stat@2.0.5
@nodelib/fs.walk@1.2.8
@npmcli/agent@2.2.2
@npmcli/agent@3.0.0
@npmcli/fs@3.1.1
@npmcli/fs@4.0.0
@parcel/watcher@2.5.1
@parcel/watcher-linux-arm64-glibc@2.5.1|arm64
@parcel/watcher-linux-arm64-musl@2.5.1|arm64
@parcel/watcher-linux-x64-glibc@2.5.1|amd64
@parcel/watcher-linux-x64-musl@2.5.1|amd64
@pkgjs/parseargs@0.11.0
@playwright/test@1.55.1
@popperjs/core@2.11.8
@remix-run/router@1.23.0
@rollup/pluginutils@5.1.4
@rollup/rollup-linux-arm64-gnu@4.60.1|arm64
@rollup/rollup-linux-arm64-musl@4.60.1|arm64
@rollup/rollup-linux-x64-gnu@4.60.1|amd64
@rollup/rollup-linux-x64-musl@4.60.1|amd64
@sapphire/async-queue@1.5.5
@sapphire/snowflake@3.5.5
@shockpkg/icon-encoder@2.1.3
@sinclair/typebox@0.27.8
@sindresorhus/is@4.6.0
@sinonjs/commons@3.0.1
@sinonjs/fake-timers@10.3.0
@svgr/babel-plugin-add-jsx-attribute@8.0.0
@svgr/babel-plugin-remove-jsx-attribute@8.0.0
@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0
@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0
@svgr/babel-plugin-svg-dynamic-title@8.0.0
@svgr/babel-plugin-svg-em-dimensions@8.0.0
@svgr/babel-plugin-transform-react-native-svg@8.1.0
@svgr/babel-plugin-transform-svg-component@8.0.0
@svgr/babel-preset@8.1.0
@svgr/core@8.1.0
@svgr/hast-util-to-babel-ast@8.0.0
@svgr/plugin-jsx@8.1.0
@swc/core@1.11.24
@swc/core-linux-arm64-gnu@1.11.24|arm64
@swc/core-linux-arm64-musl@1.11.24|arm64
@swc/core-linux-x64-gnu@1.11.24|amd64
@swc/core-linux-x64-musl@1.11.24|amd64
@swc/counter@0.1.3
@swc/types@0.1.21
@szmarczak/http-timer@4.0.6
@testing-library/dom@9.3.4
@testing-library/jest-dom@5.17.0
@testing-library/react@14.3.1
@testing-library/user-event@14.6.1
@tootallnate/once@2.0.0
@ts-morph/common@0.18.1
@tybys/wasm-util@0.9.0
@types/aria-query@5.0.4
@types/babel__core@7.20.5
@types/babel__generator@7.27.0
@types/babel__template@7.4.4
@types/babel__traverse@7.20.7
@types/cacheable-request@6.0.3
@types/d3-array@3.2.1
@types/d3-color@3.1.3
@types/d3-ease@3.0.2
@types/d3-interpolate@3.0.4
@types/d3-path@3.1.1
@types/d3-scale@4.0.9
@types/d3-shape@3.1.7
@types/d3-time@3.0.4
@types/d3-timer@3.0.2
@types/debug@4.1.12
@types/debug@4.1.13
@types/estree@1.0.7
@types/estree@1.0.8
@types/fs-extra@11.0.4
@types/fs-extra@9.0.13
@types/graceful-fs@4.1.9
@types/hast@2.3.10
@types/history@4.7.11
@types/http-cache-semantics@4.0.4
@types/ini@1.3.34
@types/istanbul-lib-coverage@2.0.6
@types/istanbul-lib-report@3.0.3
@types/istanbul-reports@3.0.4
@types/jest@29.5.14
@types/json-schema@7.0.15
@types/jsonfile@6.1.4
@types/keyv@3.1.4
@types/mdast@3.0.15
@types/minimatch@3.0.5
@types/ms@2.1.0
@types/node@22.19.3
@types/node@24.12.2
@types/normalize-package-data@2.4.4
@types/parse-json@4.0.2
@types/parse5@6.0.3
@types/plist@3.0.5
@types/prop-types@15.7.14
@types/react@18.3.21
@types/react-dom@18.3.7
@types/react-router@5.1.20
@types/react-router-dom@5.3.3
@types/react-transition-group@4.4.12
@types/responselike@1.0.3
@types/sanitize-html@2.16.0
@types/semver@7.7.0
@types/source-map-support@0.5.10
@types/stack-utils@2.0.3
@types/symlink-or-copy@1.2.2
@types/testing-library__jest-dom@5.14.9
@types/tmp@0.2.6
@types/unist@2.0.11
@types/use-sync-external-store@0.0.6
@types/verror@1.10.11
@types/yargs@17.0.33
@types/yargs-parser@21.0.3
@typescript-eslint/eslint-plugin@8.34.1
@typescript-eslint/parser@6.21.0
@typescript-eslint/parser@8.34.1
@typescript-eslint/project-service@8.34.1
@typescript-eslint/scope-manager@6.21.0
@typescript-eslint/scope-manager@8.34.1
@typescript-eslint/tsconfig-utils@8.34.1
@typescript-eslint/type-utils@8.34.1
@typescript-eslint/types@6.21.0
@typescript-eslint/types@8.34.1
@typescript-eslint/typescript-estree@6.21.0
@typescript-eslint/typescript-estree@8.34.1
@typescript-eslint/utils@8.34.1
@typescript-eslint/visitor-keys@6.21.0
@typescript-eslint/visitor-keys@8.34.1
@unrs/resolver-binding-linux-arm64-gnu@1.9.1|arm64
@unrs/resolver-binding-linux-arm64-musl@1.9.1|arm64
@unrs/resolver-binding-linux-x64-gnu@1.9.1|amd64
@unrs/resolver-binding-linux-x64-musl@1.9.1|amd64
@vitejs/plugin-react-swc@3.9.0
@vladfrangu/async_event_emitter@2.4.7
@xhayper/discord-rpc@1.3.0
@xmldom/xmldom@0.8.10
abbrev@2.0.0
abbrev@3.0.1
acorn@8.15.0
acorn-jsx@5.3.2
agent-base@6.0.2
agent-base@7.1.3
aggregate-error@3.1.0
ajv@6.12.6
ajv@8.17.1
ajv-formats@2.1.1
ajv-keywords@3.5.2
ansi-escapes@4.3.2
ansi-regex@5.0.1
ansi-regex@6.1.0
ansi-styles@4.3.0
ansi-styles@5.2.0
ansi-styles@6.2.1
any-base@1.1.0
anymatch@3.1.3
app-builder-bin@4.0.0
app-builder-bin@5.0.0-alpha.12
app-builder-lib@24.13.3
app-builder-lib@26.8.1
archiver@5.3.2
archiver-utils@2.1.0
archiver-utils@3.0.4
argparse@1.0.10
argparse@2.0.1
aria-query@5.1.3
aria-query@5.3.2
array-buffer-byte-length@1.0.2
array-includes@3.1.8
array-union@2.1.0
array.prototype.findlast@1.2.5
array.prototype.flat@1.3.3
array.prototype.flatmap@1.3.3
array.prototype.tosorted@1.1.4
arraybuffer.prototype.slice@1.0.4
assert-plus@1.0.0
astral-regex@2.0.0
async@3.2.6
async-exit-hook@2.0.1
async-function@1.0.0
asynckit@0.4.0
at-least-node@1.0.0
atomically@1.7.0
available-typed-arrays@1.0.7
axios@1.13.5
b4a@1.6.7
babel-jest@29.7.0
babel-plugin-istanbul@6.1.1
babel-plugin-jest-hoist@29.6.3
babel-plugin-macros@3.1.0
babel-preset-current-node-syntax@1.1.0
babel-preset-jest@29.6.3
bail@2.0.2
balanced-match@1.0.2
balanced-match@4.0.3
bare-events@2.5.4
base64-js@1.5.1
bl@4.1.0
bl@5.1.0
bluebird@3.7.2
bluebird-lst@1.0.9
boolbase@1.0.0
boolean@3.2.0
brace-expansion@1.1.12
brace-expansion@1.1.13
brace-expansion@2.0.2
brace-expansion@2.0.3
brace-expansion@5.0.2
braces@3.0.3
broccoli-node-api@1.7.0
broccoli-node-info@2.2.0
broccoli-output-wrapper@3.2.5
broccoli-plugin@4.0.7
browserslist@4.24.4
bs-logger@0.2.6
bser@2.1.1
buffer@5.7.1
buffer@6.0.3
buffer-crc32@0.2.13
buffer-equal@1.0.1
buffer-from@1.1.2
builder-util@24.13.1
builder-util@26.8.1
builder-util-runtime@9.2.4
builder-util-runtime@9.5.1
cac@6.7.14
cacache@18.0.4
cacache@19.0.1
cacheable-lookup@5.0.4
cacheable-request@7.0.4
call-bind@1.0.8
call-bind-apply-helpers@1.0.2
call-bound@1.0.4
callsites@3.1.0
camelcase@5.3.1
camelcase@6.3.0
caniuse-lite@1.0.30001716
chalk@3.0.0
chalk@4.1.2
char-regex@1.0.2
character-entities@2.0.2
cheerio@1.0.0
cheerio-select@2.1.0
chokidar@4.0.3
chownr@2.0.0
chownr@3.0.0
chromium-pickle-js@0.2.0
ci-info@3.9.0
ci-info@4.3.1
ci-info@4.4.0
cjs-module-lexer@1.4.3
classnames@2.5.1
clean-stack@2.2.0
cli-cursor@3.1.0
cli-spinners@2.9.2
cli-truncate@2.1.0
cliui@7.0.4
cliui@8.0.1
clone@1.0.4
clone@2.1.2
clone-response@1.0.3
clone-stats@1.0.0
clsx@2.1.1
co@4.6.0
code-block-writer@11.0.3
collect-v8-coverage@1.0.2
color-convert@2.0.1
color-name@1.1.4
colors@1.4.0
combined-stream@1.0.8
comma-separated-tokens@2.0.3
commander@12.1.0
commander@5.1.0
commander@6.2.1
comment-parser@1.4.1
compare-version@0.1.2
compress-commons@4.1.2
concat-map@0.0.1
conf@10.2.0
config-file-ts@0.2.6
convert-source-map@1.9.0
convert-source-map@2.0.0
core-util-is@1.0.2
core-util-is@1.0.3
cosmiconfig@7.1.0
cosmiconfig@8.3.6
crc@3.8.0
crc-32@1.2.2
crc32-stream@4.0.3
create-jest@29.7.0
cross-env@7.0.3
cross-fetch@4.0.0
cross-spawn@7.0.5
cross-spawn@7.0.6
css-box-model@1.2.1
css-select@5.1.0
css-what@6.1.0
css.escape@1.5.1
csstype@3.1.3
d3-array@3.2.4
d3-color@3.1.0
d3-ease@3.0.1
d3-format@3.1.0
d3-interpolate@3.0.1
d3-path@3.1.0
d3-scale@4.0.2
d3-shape@3.2.0
d3-time@3.1.0
d3-time-format@4.1.0
d3-timer@3.0.1
data-view-buffer@1.0.2
data-view-byte-length@1.0.2
data-view-byte-offset@1.0.1
debounce-fn@4.0.0
debug@2.6.9
debug@3.2.7
debug@4.4.0
debug@4.4.1
debug@4.4.3
decimal.js-light@2.5.1
decode-named-character-reference@1.1.0
decompress-response@6.0.0
dedent@1.6.0
deep-equal@2.2.3
deep-is@0.1.4
deepmerge@4.3.1
defaults@1.0.4
defer-to-connect@2.0.1
define-data-property@1.1.4
define-properties@1.2.1
delayed-stream@1.0.0
dequal@2.0.3
detect-libc@1.0.3
detect-libc@2.0.4
detect-newline@3.1.0
detect-node@2.1.0
diff@5.2.0
diff-sequences@29.6.3
dir-compare@3.3.0
dir-compare@4.2.0
dir-glob@3.0.1
discord-api-types@0.38.36
dmg-builder@26.8.1
doctrine@2.1.0
dom-accessibility-api@0.5.16
dom-helpers@5.2.1
dom-serializer@2.0.0
domelementtype@2.3.0
domhandler@5.0.3
domutils@3.2.2
dot-case@3.0.4
dot-prop@6.0.1
dotenv@16.5.0
dotenv@9.0.2
dotenv-expand@11.0.7
dotenv-expand@5.1.0
dunder-proto@1.0.1
eastasianwidth@0.2.0
easydl@1.2.0
ejs@3.1.10
electron@43.1.1
electron-builder@26.8.1
electron-builder-squirrel-windows@24.13.3
electron-devtools-installer@4.0.0
electron-publish@24.13.1
electron-publish@26.8.1
electron-store@8.2.0
electron-to-chromium@1.5.149
electron-updater@6.8.3
electron-vite@3.1.0
emittery@0.13.1
emoji-regex@8.0.0
emoji-regex@9.2.2
encoding@0.1.13
encoding-sniffer@0.2.0
end-of-stream@1.4.5
ensure-posix-path@1.1.1
entities@4.5.0
entities@6.0.0
env-paths@2.2.1
env-paths@3.0.0
eol@0.9.1
err-code@2.0.3
error-ex@1.3.2
es-abstract@1.23.9
es-define-property@1.0.1
es-errors@1.3.0
es-get-iterator@1.1.3
es-iterator-helpers@1.2.1
es-object-atoms@1.1.1
es-set-tostringtag@2.1.0
es-shim-unscopables@1.1.0
es-to-primitive@1.3.0
es6-error@4.1.1
esbuild@0.25.12
esbuild@0.25.3
escalade@3.2.0
escape-string-regexp@2.0.0
escape-string-regexp@4.0.0
eslint@9.29.0
eslint-config-prettier@10.1.8
eslint-import-context@0.1.8
eslint-import-resolver-node@0.3.9
eslint-import-resolver-typescript@4.4.3
eslint-plugin-import-x@4.15.2
eslint-plugin-react@7.37.5
eslint-plugin-react-hooks@5.2.0
eslint-scope@8.4.0
eslint-visitor-keys@3.4.3
eslint-visitor-keys@4.2.1
espree@10.4.0
esprima@4.0.1
esquery@1.6.0
esrecurse@4.3.0
estraverse@5.3.0
estree-walker@2.0.2
esutils@2.0.3
eventemitter3@4.0.7
execa@5.1.1
exit@0.1.2
expect@29.7.0
exponential-backoff@3.1.2
extend@3.0.2
extsprintf@1.4.1
fast-deep-equal@3.1.3
fast-equals@5.2.2
fast-fifo@1.3.2
fast-glob@3.3.3
fast-json-stable-stringify@2.1.0
fast-levenshtein@2.0.6
fast-uri@3.0.6
fast-xml-builder@1.1.4
fast-xml-parser@5.5.7
fastq@1.19.1
fb-watchman@2.0.2
fdir@6.4.4
fdir@6.5.0
file-entry-cache@6.0.1
file-entry-cache@8.0.0
filelist@1.0.4
filesize@10.1.6
fill-range@7.1.1
find-root@1.1.0
find-up@3.0.0
find-up@4.1.0
find-up@5.0.0
flat-cache@3.2.0
flat-cache@4.0.1
flatted@3.3.3
flow-parser@0.156.0
flow-remove-types@2.156.0
follow-redirects@1.15.11
for-each@0.3.5
foreground-child@3.3.1
form-data@4.0.5
fs-constants@1.0.0
fs-extra@10.1.0
fs-extra@11.3.0
fs-extra@8.1.0
fs-extra@9.1.0
fs-merger@3.2.1
fs-minipass@2.1.0
fs-minipass@3.0.3
fs-mkdirp-stream@2.0.1
fs-tree-diff@2.0.1
fs.realpath@1.0.0
function-bind@1.1.2
function.prototype.name@1.1.8
functions-have-names@1.2.3
fuse.js@6.6.2
gensync@1.0.0-beta.2
get-caller-file@2.0.5
get-intrinsic@1.3.0
get-package-type@0.1.0
get-proto@1.0.1
get-stream@5.2.0
get-stream@6.0.1
get-symbol-description@1.1.0
get-tsconfig@4.10.1
glob@10.5.0
glob@7.2.3
glob-parent@5.1.2
glob-parent@6.0.2
glob-stream@8.0.2
global-agent@3.0.0
globals@11.12.0
globals@14.0.0
globalthis@1.0.4
globby@11.1.0
gopd@1.2.0
got@11.8.6
graceful-fs@4.2.11
graphemer@1.4.0
gulp-sort@2.0.0
has-bigints@1.1.0
has-flag@4.0.0
has-property-descriptors@1.0.2
has-proto@1.2.0
has-symbols@1.1.0
has-tostringtag@1.0.2
hasown@2.0.2
hast-util-from-parse5@7.1.2
hast-util-parse-selector@3.1.1
hast-util-raw@7.2.3
hast-util-to-parse5@7.1.0
hast-util-whitespace@2.0.1
hastscript@7.2.0
heimdalljs@0.2.6
heimdalljs-logger@0.1.10
hoist-non-react-statics@3.3.2
hosted-git-info@2.8.9
hosted-git-info@4.1.0
html-escaper@2.0.2
html-parse-stringify@3.0.1
html-void-elements@2.0.1
htmlparser2@8.0.2
htmlparser2@9.1.0
http-cache-semantics@4.1.1
http-proxy-agent@5.0.0
http-proxy-agent@7.0.2
http2-wrapper@1.0.3
https-proxy-agent@5.0.1
https-proxy-agent@7.0.6
human-signals@2.1.0
husky@8.0.3
i18next@22.5.1
i18next@24.2.3
i18next-fs-backend@2.6.0
i18next-http-backend@2.7.3
i18next-parser@9.3.0
iconv-lite@0.6.3
ieee754@1.2.1
ignore@5.3.2
ignore@7.0.5
immediate@3.0.6
immutable@5.1.2
import-fresh@3.3.1
import-local@3.2.0
imurmurhash@0.1.4
indent-string@4.0.0
inflight@1.0.6
inherits@2.0.4
ini@3.0.1
inline-style-parser@0.1.1
internal-slot@1.1.0
internmap@2.0.3
intro.js@7.2.0
intro.js-react@1.0.0
ip-address@9.0.5
is-arguments@1.2.0
is-array-buffer@3.0.5
is-arrayish@0.2.1
is-async-function@2.1.1
is-bigint@1.1.0
is-boolean-object@1.2.2
is-buffer@2.0.5
is-bun-module@2.0.0
is-callable@1.2.7
is-ci@3.0.1
is-core-module@2.16.1
is-data-view@1.0.2
is-date-object@1.1.0
is-extglob@2.1.1
is-finalizationregistry@1.1.1
is-fullwidth-code-point@3.0.0
is-generator-fn@2.1.0
is-generator-function@1.1.0
is-glob@4.0.3
is-interactive@1.0.0
is-lambda@1.0.1
is-map@2.0.3
is-negated-glob@1.0.0
is-number@7.0.0
is-number-object@1.1.1
is-obj@2.0.0
is-plain-obj@4.1.0
is-plain-object@5.0.0
is-regex@1.2.1
is-set@2.0.3
is-shared-array-buffer@1.0.4
is-stream@2.0.1
is-string@1.1.1
is-symbol@1.1.1
is-typed-array@1.1.15
is-unicode-supported@0.1.0
is-valid-glob@1.0.0
is-weakmap@2.0.2
is-weakref@1.1.1
is-weakset@2.0.4
isarray@1.0.0
isarray@2.0.5
isbinaryfile@4.0.10
isbinaryfile@5.0.4
isbinaryfile@5.0.7
isexe@2.0.0
isexe@3.1.1
istanbul-lib-coverage@3.2.2
istanbul-lib-instrument@5.2.1
istanbul-lib-instrument@6.0.3
istanbul-lib-report@3.0.1
istanbul-lib-source-maps@4.0.1
istanbul-reports@3.1.7
iterator.prototype@1.1.5
jackspeak@3.4.3
jake@10.9.2
jest@29.7.0
jest-changed-files@29.7.0
jest-circus@29.7.0
jest-cli@29.7.0
jest-config@29.7.0
jest-diff@29.7.0
jest-docblock@29.7.0
jest-each@29.7.0
jest-environment-node@29.7.0
jest-get-type@29.6.3
jest-haste-map@29.7.0
jest-leak-detector@29.7.0
jest-matcher-utils@29.7.0
jest-message-util@29.7.0
jest-mock@29.7.0
jest-pnp-resolver@1.2.3
jest-regex-util@29.6.3
jest-resolve@29.7.0
jest-resolve-dependencies@29.7.0
jest-runner@29.7.0
jest-runtime@29.7.0
jest-snapshot@29.7.0
jest-util@29.7.0
jest-validate@29.7.0
jest-watcher@29.7.0
jest-worker@29.7.0
jiti@2.6.1
js-tokens@4.0.0
js-yaml@3.14.2
js-yaml@4.1.1
jsbn@1.1.0
jsesc@3.1.0
json-buffer@3.0.1
json-parse-even-better-errors@2.3.1
json-schema-traverse@0.4.1
json-schema-traverse@1.0.0
json-schema-typed@7.0.3
json-stable-stringify-without-jsonify@1.0.1
json-stringify-safe@5.0.1
json5@2.2.3
jsonfile@4.0.0
jsonfile@6.1.0
jsx-ast-utils@3.3.5
jszip@3.10.1
keyv@4.5.4
kleur@3.0.3
kleur@4.1.5
lazy-val@1.0.5
lazystream@1.0.1
lead@4.0.0
leven@3.1.0
levn@0.4.1
lie@3.3.0
lilconfig@3.1.3
lines-and-columns@1.2.4
locate-path@3.0.0
locate-path@5.0.0
locate-path@6.0.0
lodash@4.17.21
lodash.defaults@4.2.0
lodash.difference@4.5.0
lodash.escaperegexp@4.1.2
lodash.flatten@4.4.0
lodash.isequal@4.5.0
lodash.isplainobject@4.0.6
lodash.memoize@4.1.2
lodash.merge@4.6.2
lodash.union@4.6.0
log-symbols@4.1.0
loose-envify@1.4.0
lower-case@2.0.2
lowercase-keys@2.0.0
lru-cache@10.4.3
lru-cache@5.1.1
lru-cache@6.0.0
lz-string@1.5.0
magic-bytes.js@1.12.1
magic-string@0.30.17
make-dir@4.0.0
make-error@1.3.6
make-fetch-happen@13.0.1
make-fetch-happen@14.0.3
makeerror@1.0.12
matcher@3.0.0
matcher-collection@2.0.1
math-intrinsics@1.1.0
mdast-util-definitions@5.1.2
mdast-util-from-markdown@1.3.1
mdast-util-to-hast@12.3.0
mdast-util-to-string@3.2.0
merge-stream@2.0.0
merge2@1.4.1
micromark@3.2.0
micromark-core-commonmark@1.1.0
micromark-factory-destination@1.1.0
micromark-factory-label@1.1.0
micromark-factory-space@1.1.0
micromark-factory-title@1.1.0
micromark-factory-whitespace@1.1.0
micromark-util-character@1.2.0
micromark-util-chunked@1.1.0
micromark-util-classify-character@1.1.0
micromark-util-combine-extensions@1.1.0
micromark-util-decode-numeric-character-reference@1.1.0
micromark-util-decode-string@1.1.0
micromark-util-encode@1.1.0
micromark-util-html-tag-name@1.2.0
micromark-util-normalize-identifier@1.1.0
micromark-util-resolve-all@1.1.0
micromark-util-sanitize-uri@1.2.0
micromark-util-subtokenize@1.1.0
micromark-util-symbol@1.1.0
micromark-util-types@1.1.0
micromatch@4.0.8
mime@2.6.0
mime-db@1.52.0
mime-types@2.1.35
mimic-fn@2.1.0
mimic-fn@3.1.0
mimic-response@1.0.1
mimic-response@3.1.0
min-indent@1.0.1
minimatch@10.0.1
minimatch@10.2.2
minimatch@3.1.2
minimatch@3.1.5
minimatch@5.1.6
minimatch@5.1.9
minimatch@9.0.3
minimatch@9.0.5
minimist@1.2.8
minipass@3.3.6
minipass@5.0.0
minipass@7.1.2
minipass-collect@2.0.1
minipass-fetch@3.0.5
minipass-fetch@4.0.1
minipass-flush@1.0.5
minipass-pipeline@1.2.4
minipass-sized@1.0.3
minizlib@2.1.2
minizlib@3.1.0
mkdirp@0.5.6
mkdirp@1.0.4
mktemp@0.4.0
mri@1.2.0
ms@2.0.0
ms@2.1.3
nanoid@3.3.11
napi-postinstall@0.2.4
natural-compare@1.4.0
negotiator@0.6.4
negotiator@1.0.0
no-case@3.0.4
node-abi@4.26.0
node-addon-api@1.7.2
node-addon-api@7.1.1
node-api-version@0.2.1
node-fetch@2.7.0
node-gyp@10.3.1
node-gyp@11.5.0
node-int64@0.4.0
node-modules-regexp@1.0.0
node-releases@2.0.19
nopt@7.2.1
nopt@8.1.0
normalize-package-data@2.5.0
normalize-path@3.0.0
normalize-url@6.1.0
now-and-later@3.0.0
npm-run-path@4.0.1
nth-check@2.1.1
object-assign@4.1.1
object-inspect@1.13.4
object-is@1.1.6
object-keys@1.1.1
object-sizeof@1.6.3
object.assign@4.1.7
object.entries@1.1.9
object.fromentries@2.0.8
object.values@1.2.1
once@1.4.0
onetime@5.1.2
optionator@0.9.4
ora@5.4.1
own-keys@1.0.1
p-cancelable@2.1.1
p-limit@2.3.0
p-limit@3.1.0
p-locate@3.0.0
p-locate@4.1.0
p-locate@5.0.0
p-map@4.0.0
p-map@7.0.4
p-try@2.2.0
package-json-from-dist@1.0.1
pako@1.0.11
parent-module@1.0.1
parse-json@5.2.0
parse-srcset@1.0.2
parse5@6.0.1
parse5@7.3.0
parse5-htmlparser2-tree-adapter@7.1.0
parse5-parser-stream@7.1.2
path-browserify@1.0.1
path-exists@3.0.0
path-exists@4.0.0
path-expression-matcher@1.2.0
path-is-absolute@1.0.1
path-key@3.1.1
path-parse@1.0.7
path-posix@1.0.0
path-scurry@1.11.1
path-type@4.0.0
pe-library@0.4.1
picocolors@1.1.1
picomatch@2.3.1
picomatch@4.0.2
picomatch@4.0.4
pirates@3.0.2
pirates@4.0.7
pkg-dir@4.2.0
pkg-up@3.1.0
playwright@1.55.1
playwright-core@1.55.1
plist@3.1.0
possible-typed-array-names@1.1.0
postcss@8.5.3
postcss@8.5.8
prelude-ls@1.2.1
prettier@3.7.4
pretty-format@27.5.1
pretty-format@29.7.0
proc-log@4.2.0
proc-log@5.0.0
process-nextick-args@2.0.1
progress@2.0.3
promise-map-series@0.3.0
promise-retry@2.0.1
prompts@2.4.2
prop-types@15.8.1
proper-lockfile@4.1.2
property-information@6.5.0
proxy-from-env@1.1.0
pump@3.0.2
punycode@2.3.1
pure-rand@6.1.0
queue-microtask@1.2.3
quick-lru@5.1.1
quick-temp@0.1.8
raf-schd@4.0.3
react@18.3.1
react-dom@18.3.1
react-i18next@12.3.1
react-is@16.13.1
react-is@17.0.2
react-is@18.3.1
react-is@19.3.0
react-markdown@8.0.7
react-redux@9.3.0
react-router@6.30.0
react-router-dom@6.30.0
react-smooth@4.0.4
react-transition-group@4.4.5
read-binary-file-arch@1.0.6
read-config-file@6.3.2
read-pkg@5.2.0
read-pkg-up@7.0.1
readable-stream@2.3.8
readable-stream@3.6.2
readdir-glob@1.1.3
readdirp@4.1.2
recharts@2.15.3
recharts-scale@0.4.5
redent@3.0.0
redux@5.0.1
reflect.getprototypeof@1.0.10
regexp.prototype.flags@1.5.4
rehype-raw@6.1.1
remark-parse@10.0.2
remark-rehype@10.1.0
remove-trailing-separator@1.1.0
replace-ext@2.0.0
require-directory@2.1.1
require-from-string@2.0.2
resedit@1.7.2
resolve@1.22.10
resolve@1.22.11
resolve@2.0.0-next.5
resolve-alpn@1.2.1
resolve-cwd@3.0.0
resolve-from@4.0.0
resolve-from@5.0.0
resolve-options@2.0.0
resolve-pkg-maps@1.0.0
resolve.exports@2.0.3
responselike@2.0.1
restore-cursor@3.1.0
retry@0.12.0
reusify@1.1.0
rimraf@2.7.1
rimraf@3.0.2
roarr@2.15.4
rollup@4.60.1
rsvp@3.2.1
rsvp@4.8.5
run-parallel@1.2.0
rxjs@7.8.2
sade@1.8.1
safe-array-concat@1.1.3
safe-buffer@5.1.2
safe-buffer@5.2.1
safe-push-apply@1.0.0
safe-regex-test@1.1.0
safer-buffer@2.1.2
sanitize-filename@1.6.3
sanitize-filename@1.6.4
sanitize-html@2.16.0
sass@1.89.0
sax@1.4.1
sax@1.6.0
scheduler@0.23.2
semver@5.7.2
semver@6.3.1
semver@7.7.2
semver@7.7.4
semver-compare@1.0.0
serialize-error@7.0.1
set-function-length@1.2.2
set-function-name@2.0.2
set-proto@1.0.0
setimmediate@1.0.5
shebang-command@2.0.0
shebang-regex@3.0.0
shlex@2.1.2
short-uuid@4.2.2
side-channel@1.1.0
side-channel-list@1.0.0
side-channel-map@1.0.1
side-channel-weakmap@1.0.2
signal-exit@3.0.7
signal-exit@4.1.0
simple-git@3.27.0
simple-keyboard@3.8.54
simple-update-notifier@2.0.0
sisteransi@1.0.5
slash@3.0.0
slice-ansi@3.0.0
smart-buffer@4.2.0
snake-case@3.0.4
socks@2.8.4
socks-proxy-agent@8.0.5
sort-keys@5.1.0
source-map@0.5.7
source-map@0.6.1
source-map-js@1.2.1
source-map-support@0.5.13
source-map-support@0.5.21
space-separated-tokens@2.0.2
spdx-correct@3.2.0
spdx-exceptions@2.5.0
spdx-expression-parse@3.0.1
spdx-license-ids@3.0.21
sprintf-js@1.0.3
sprintf-js@1.1.3
ssri@10.0.6
ssri@12.0.0
stable-hash-x@0.1.1
stack-utils@2.0.6
stat-mode@1.0.0
steam-shortcut-editor@3.1.3
stop-iteration-iterator@1.1.0
stream-composer@1.0.2
streamx@2.22.0
string-length@4.0.2
string-width@4.2.3
string-width@5.1.2
string.prototype.matchall@4.0.12
string.prototype.repeat@1.0.0
string.prototype.trim@1.2.10
string.prototype.trimend@1.0.9
string.prototype.trimstart@1.0.8
string_decoder@1.1.1
string_decoder@1.3.0
strip-ansi@6.0.1
strip-ansi@7.1.0
strip-bom@4.0.0
strip-final-newline@2.0.0
strip-indent@3.0.0
strip-json-comments@3.1.1
strnum@2.2.2
style-to-object@0.4.4
stylis@4.2.0
sumchecker@3.0.1
supports-color@7.2.0
supports-color@8.1.1
supports-preserve-symlinks-flag@1.0.0
svg-parser@2.0.4
symlink-or-copy@1.3.1
tar@6.2.1
tar@7.5.9
tar-stream@2.2.0
teex@1.0.1
temp-file@3.4.0
term-size@2.2.1
test-exclude@6.0.0
text-decoder@1.2.3
through2@2.0.5
tiny-async-pool@1.3.0
tiny-invariant@1.3.3
tiny-typed-emitter@2.1.0
tinyglobby@0.2.14
tinyglobby@0.2.15
tmp@0.2.4
tmp-promise@3.0.3
tmpl@1.0.5
to-regex-range@5.0.1
to-through@3.0.0
tr46@0.0.3
trim-lines@3.0.1
trough@2.2.0
true-myth@4.1.1
truncate-utf8-bytes@1.0.2
ts-api-utils@1.4.3
ts-api-utils@2.1.0
ts-jest@29.3.3
ts-morph@17.0.1
ts-prune@0.10.3
tslib@2.8.1
type-check@0.4.0
type-detect@4.0.8
type-fest@0.13.1
type-fest@0.21.3
type-fest@0.6.0
type-fest@0.8.1
type-fest@2.19.0
type-fest@3.13.1
type-fest@4.41.0
typed-array-buffer@1.0.3
typed-array-byte-length@1.0.3
typed-array-byte-offset@1.0.4
typed-array-length@1.0.7
typed-emitter@2.1.0
typescript@5.8.3
typescript@5.9.3
typescript-eslint@8.34.1
unbox-primitive@1.1.0
underscore.string@3.3.6
undici@6.21.3
undici@6.24.1
undici@7.24.7
undici-types@6.21.0
undici-types@7.16.0
unified@10.1.2
unimported@1.31.1
unique-filename@3.0.0
unique-filename@4.0.0
unique-slug@4.0.0
unique-slug@5.0.0
unist-util-generated@2.0.1
unist-util-is@5.2.1
unist-util-position@4.0.4
unist-util-stringify-position@3.0.3
unist-util-visit@4.1.2
unist-util-visit-parents@5.1.3
universalify@0.1.2
universalify@2.0.1
unrs-resolver@1.9.1
unzip-crx-3@0.2.0
update-browserslist-db@1.1.3
upng-js@2.1.0
uri-js@4.4.1
use-sync-external-store@1.5.0
utf8-byte-length@1.0.5
util-deprecate@1.0.2
uuid@8.3.2
uvu@0.5.6
v8-to-istanbul@9.3.0
validate-npm-package-license@3.0.4
value-or-function@4.0.0
verror@1.10.1
vfile@5.3.7
vfile-location@4.1.0
vfile-message@3.1.4
victory-vendor@36.9.2
vinyl@3.0.0
vinyl-contents@2.0.0
vinyl-fs@4.0.0
vinyl-sourcemap@2.0.0
vite@6.3.5
vite-plugin-svgr@4.3.0
vlq@0.2.3
void-elements@3.1.0
walk-sync@2.2.0
walker@1.0.8
wcwidth@1.0.1
web-namespaces@2.0.1
webidl-conversions@3.0.1
whatwg-encoding@3.1.1
whatwg-mimetype@4.0.0
whatwg-url@5.0.0
which@1.3.1
which@2.0.2
which@4.0.0
which@5.0.0
which-boxed-primitive@1.1.1
which-builtin-type@1.2.1
which-collection@1.0.2
which-typed-array@1.1.19
word-wrap@1.2.5
wrap-ansi@7.0.0
wrap-ansi@8.1.0
wrappy@1.0.2
write-file-atomic@4.0.2
ws@8.18.3
xmlbuilder@15.1.1
xtend@4.0.2
xvfb-maybe@0.2.1
y18n@5.0.8
yaku@0.16.7
yallist@3.1.1
yallist@4.0.0
yallist@5.0.0
yaml@1.10.2
yargs@16.2.0
yargs@17.7.2
yargs-parser@20.2.9
yargs-parser@21.1.1
yocto-queue@0.1.0
zip-stream@4.1.1
zod@3.25.6
zustand@4.5.6
zwitch@2.0.4
"
NPM_PNPM_VERSION="10.28.0"
ELECTRON_SLOT="44"
inherit desktop edo electron npm xdg
DESCRIPTION="GOG, Epic Games and Amazon Games launcher"
HOMEPAGE="https://heroicgameslauncher.com/
https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher"
SRC_URI="
https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/archive/refs/tags/v${PV}.tar.gz
-> ${P}.gh.tar.gz
${NPM_PKG_URIS}
"
S="${WORKDIR}/HeroicGamesLauncher-${PV}"
LICENSE="GPL-3"
# Bundled npm packages
LICENSE+=" 0BSD Apache-2.0 BSD BSD-2 CC0-1.0 ISC MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="gamescope +vulkan"
RESTRICT="mirror test"
# Heroic runs these store tools; upstream downloads prebuilt copies
RDEPEND+="
!games-util/heroic-bin
games-util/comet
games-util/gogdl
games-util/legendary
games-util/nile
gamescope? ( gui-wm/gamescope )
vulkan? ( games-util/vulkan-helper )
"
BDEPEND="${NPM_NODE_DEPEND}"
# Electron reports the app as unpackaged when it is run as a directory, which
# sends Heroic looking for its UI and assets in the source layout
PATCHES=( "${FILESDIR}/${P}-system-electron-paths.patch" )
src_compile() {
electron_setup_env
npm_with_registry pnpm install --frozen-lockfile
edo pnpm run build
# The installed app gets a production-only node_modules
local prod="${WORKDIR}/prod"
mkdir -p "${prod}" || die
cp -r package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc patches "${prod}" || die
pushd "${prod}" >/dev/null || die
npm_with_registry pnpm install --frozen-lockfile --prod --ignore-scripts
popd >/dev/null || die
}
src_install() {
local app="$(electron_app_dir)"
insinto "${app}"
doins package.json
doins -r build "${WORKDIR}/prod/node_modules"
# Upstream commits these as prebuilt binaries
find "${ED}${app}" -name vulkan-helper -delete || die
local tool tools=( legendary gogdl nile comet )
local bindir="${app}/build/bin/$(usex arm64 arm64 x64)/linux"
use vulkan && tools+=( vulkan-helper )
for tool in "${tools[@]}"; do
dosym -r "/usr/bin/${tool}" "${bindir}/${tool}"
done
electron_make_launcher heroic
newicon flatpak/com.heroicgameslauncher.hgl.png com.heroicgameslauncher.hgl.png
sed -e 's/^Exec=heroic-run /Exec=heroic /' \
flatpak/com.heroicgameslauncher.hgl.desktop > "${T}/heroic.desktop" || die
newmenu "${T}/heroic.desktop" com.heroicgameslauncher.hgl.desktop
if use gamescope; then
sed -e 's/^Name=Heroic Games Launcher/& (Gamescope)/' \
-e 's/^Exec=heroic /Exec=env GDK_BACKEND=wayland gamescope -f -R --RT --force-grab-cursor --prefer-vk-device --adaptive-sync --nested-unfocused-refresh 30 -- heroic --ozone-platform=x11 --enable-features=UseOzonePlatform,WaylandWindowDecorations /' \
"${T}/heroic.desktop" > "${T}/heroic-gamescope.desktop" || die
newmenu "${T}/heroic-gamescope.desktop" com.heroicgameslauncher.hgl.gamescope.desktop
fi
dodoc README.md CHANGELOG.md
}
Manage flags for this package:
euse -i <flag> -p games-util/heroic |
euse -E <flag> -p games-util/heroic |
euse -D <flag> -p games-util/heroic
!games-util/heroic-bin games-util/comet games-util/gogdl games-util/legendary games-util/nile gamescope? ( gui-wm/gamescope ) vulkan? ( games-util/vulkan-helper )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | heroic-2.22.3.gh.tar.gz | 15979605 bytes | https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/archive/refs/tags/v2.22.3.tar.gz |