🎉 init
This commit is contained in:
commit
ac35e31e34
3 changed files with 58 additions and 0 deletions
37
README.md
Normal file
37
README.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
# GamePKG
|
||||
|
||||
**Save PG Games as Arch Linux Packages.**
|
||||
|
||||
GamePKG allows you to package any game, including ROMs, as an Arch Linux package (`.pkg.tar.zst`). This enables easy installation, removal, and system-wide management of games with `pacman`.
|
||||
|
||||
## Features
|
||||
- **System Integration**: Automatically sets up a desktop menu entry with game icons.
|
||||
- **Extras Included**: Icons, banners, and additional metadata.
|
||||
- **Wine Support**: Handles necessary Wine dependencies and launch scripts for Windows games.
|
||||
- **Effortless Management**: Install and remove games just like any other package.
|
||||
|
||||
## Installation & Removal
|
||||
With GamePKG, games can be distributed via [`pacco`](https://git.hydrar.de/jmarya/pacco), making installations seamless:
|
||||
|
||||
```sh
|
||||
pacman -S games/elden.ring # Install a game
|
||||
pacman -R games/elden.ring # Remove a game
|
||||
```
|
||||
|
||||
## Package Format
|
||||
Each game package should contain:
|
||||
- **Game Icons** → `/usr/share/icons/`
|
||||
- **Menu Entry** → `/usr/share/applications/`
|
||||
- **Game Files** → `/games`
|
||||
- **README** → Game-specific information
|
||||
|
||||
The menu entry should allow launching the game with a single click, requiring no additional setup. The package should declare any necessary dependencies.
|
||||
Game Icons and Metadata can be sourced from SteamGridDB.
|
||||
|
||||
### Naming Convention
|
||||
Game names should be formatted by replacing spaces with dots (e.g., `Game Title` -> `game.title`).
|
||||
|
||||
## Building a Game Package
|
||||
See the `examples/` directory for a minimal build template to package games.
|
||||
|
||||
- [Windows Games](./examples/wine/)
|
12
examples/wine/PKGBUILD
Normal file
12
examples/wine/PKGBUILD
Normal file
|
@ -0,0 +1,12 @@
|
|||
pkgname=game.title
|
||||
pkgver=1.0
|
||||
pkgrel=1
|
||||
pkgdesc="<GAME_DESC>"
|
||||
arch=('x86_64')
|
||||
depends=('wine' 'umu-launcher')
|
||||
source=()
|
||||
sha256sums=()
|
||||
|
||||
package() {
|
||||
rsync -vzr ./root/ "$pkgdir/"
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
[Desktop Entry]
|
||||
Name=<GAME_TITLE>
|
||||
Comment=<GAME_DESC>
|
||||
Exec=env WINEPREFIX="$HOME/Games/umu/game.title" STEAM_COMPAT_LIBRARY_PATHS="/games" bash -c "umu-run /games/game.title/_Redist/vc_redist.x64.exe /Install /Quiet && umu-run /games/game.title/_Redist/vc_redist.x86.exe /Install /Quiet && umu-run /games/game.title/game.exe"
|
||||
Icon=/usr/share/icons/game.title/icon.png
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Game;
|
Loading…
Add table
Reference in a new issue