Package Details: lutris-git 0.5.19.r153.g35990f4-1

Git Clone URL: https://aur.archlinux.org/lutris-git.git (read-only, click to copy)
Package Base: lutris-git
Description: Open Gaming Platform
Upstream URL: https://lutris.net
Licenses: GPL-3.0-or-later
Conflicts: lutris
Provides: lutris
Submitter: ProfessorKaos64
Maintainer: yochananmarqos
Last Packager: yochananmarqos
Votes: 44
Popularity: 0.084742
First Submitted: 2017-12-17 21:07 (UTC)
Last Updated: 2025-08-02 18:24 (UTC)

Dependencies (56)

Required by (5)

Sources (2)

Latest Comments

1 2 3 4 5 6 .. 13 Next › Last »

Joomzie commented on 2026-01-04 18:44 (UTC)

@yochananmarqos: That did the trick. Not sure where the conflict is coming from when outside of a chroot, but I'll take what I can get.

yochananmarqos commented on 2026-01-04 02:33 (UTC)

@Joomzie: I can't reproduce building in a clean chroot.

Joomzie commented on 2026-01-03 08:48 (UTC)

Getting an unrecognized argument error from pytest when trying to build. I'm assuming this is due to pyproject.toml having Python 3.12 set as the version to use, but 3.13 is what's installed from the repos.

ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: unrecognized arguments: --mypy-report-style --mypy-no-status-check
  inifile: /home/user/.cache/yay/lutris-git/src/lutris/pyproject.toml
  rootdir: /home/user/.cache/yay/lutris-git/src/lutris

Installing 3.12, and trying to use that instead, results in a missing module error. I tried installing meson-python, but that didn't help.

Traceback (most recent call last):
  File "/usr/bin/meson", line 5, in <module>
    from mesonbuild.mesonmain import main
ModuleNotFoundError: No module named 'mesonbuild'
==> ERROR: A failure occurred in build().
    Aborting...

quest commented on 2024-10-18 23:33 (UTC)

Excellent, glad it worked for you this time. Now we can be patient while lutris updates their proto upstream.

yochananmarqos commented on 2024-10-18 23:07 (UTC)

@quest: Oh! You're right, I did miss the additional source. Thanks for posting a diff this time.

quest commented on 2024-10-18 22:51 (UTC)

The new PKGBUILD definitely works. Looks like you didn't add the new source, which is where the .proto file lives for their battlenet integration.

Here is the patch:

diff --git a/.SRCINFO b/.SRCINFO
index 864b63d..7c47f8f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
 pkgbase = lutris-git
    pkgdesc = Open Gaming Platform
-   pkgver = 0.5.17.r382.g9aaed31
+   pkgver = 0.5.17.r385.g66d4170
    pkgrel = 1
    url = https://lutris.net
    arch = any
@@ -9,6 +9,7 @@ pkgbase = lutris-git
    checkdepends = python-pytest
    makedepends = git
    makedepends = meson
+   makedepends = protobuf
    depends = cabextract
    depends = curl
    depends = glib2
@@ -58,6 +59,8 @@ pkgbase = lutris-git
    provides = lutris
    conflicts = lutris
    source = git+https://github.com/lutris/lutris.git
+   source = git+https://github.com/bartok765/galaxy_blizzard_plugin.git
+   sha256sums = SKIP
    sha256sums = SKIP

 pkgname = lutris-git
diff --git a/PKGBUILD b/PKGBUILD
index 032bd46..7f5fd65 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,8 +4,9 @@
 # Contributor: Michael DeGuzis <mdeguzis@gmail.com>
 # Contributor: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
 # Contributor: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Josh Ellithorpe <quest@mac.com>
 pkgname=lutris-git
-pkgver=0.5.17.r382.g9aaed31
+pkgver=0.5.17.r385.g66d4170
 pkgrel=1
 pkgdesc="Open Gaming Platform"
 arch=('any')
@@ -40,6 +41,7 @@ depends=(
 makedepends=(
   'git'
   'meson'
+  'protobuf'
 )
 checkdepends=(
   'appstream-glib'
@@ -71,8 +73,10 @@ optdepends=(
 )
 provides=("${pkgname%-git}")
 conflicts=("${pkgname%-git}")
-source=('git+https://github.com/lutris/lutris.git')
-sha256sums=('SKIP')
+source=('git+https://github.com/lutris/lutris.git'
+        'git+https://github.com/bartok765/galaxy_blizzard_plugin.git')
+sha256sums=('SKIP'
+            'SKIP')

 pkgver() {
   cd "${pkgname%-git}"
@@ -80,6 +84,8 @@ pkgver() {
 }

 prepare() {
+  protoc --proto_path=galaxy_blizzard_plugin/src --python_out=. product_db.proto
+  cp product_db_pb2.py "${pkgname%-git}/lutris/util/battlenet/product_db_pb2.py"
   cd "${pkgname%-git}"
 }

yochananmarqos commented on 2024-10-17 22:13 (UTC) (edited on 2024-10-17 22:17 (UTC) by yochananmarqos)

@quest @Sanitary4788: It fails for me:

==> Starting prepare()...
galaxy_blizzard_plugin/src: warning: directory does not exist.
Could not make proto path relative: product_db.proto: No such file or directory
==> ERROR: A failure occurred in prepare().
    Aborting...

Either way, for now one can run PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python lutris if one needs BattleNet integration.

EDIT: @quest In the future, please only post a diff so we can see what changed.

Sanitary4788 commented on 2024-10-17 17:18 (UTC)

Yep tried what quest suggested and works like a charm

quest commented on 2024-09-25 01:13 (UTC) (edited on 2024-09-25 05:43 (UTC) by quest)

I noticed that this package has some protobuf related errors when lutris is run:

❯ lutris --version
2024-09-24 15:10:29,351: The Battle.net source is unavailable because Google protobuf could not be loaded: Descriptors cannot be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
lutris-0.5.17

So I figured that we should fix this, and actually get the compiled parsing to work, not just set a global env var that uses the pure python parsing.

So I hunted down the source .proto file, and updated the PKGBUILD.

This removes the error above, and the Battle.net source works great!

# Maintainer: Mark Wagie <mark dot wagie at proton dot me>
# Contributor: Victor Fuentes <hyruleterminatriforce@gmail.com>
# Contributor: Filipe Laíns (FFY00) <lains@archlinux.org>
# Contributor: Michael DeGuzis <mdeguzis@gmail.com>
# Contributor: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Josh Ellithorpe <quest@mac.com>
pkgname=lutris-git
pkgver=0.5.17.r329.g88326d6
pkgrel=1
pkgdesc='Open Gaming Platform'
arch=('any')
url="https://lutris.net"
license=('GPL-3.0-or-later')
depends=(
  'cabextract'
  'curl'
  'glib2'
  'gnome-desktop'
  'gtk3'
  'hicolor-icon-theme'
  'mesa-utils'
  'p7zip'
  'psmisc'
  'python-cairo'
  'python-certifi'
  'python-dbus'
  'python-distro'
  'python-gobject'
  'python-lxml'
  'python-moddb'
  'python-pillow'
  'python-requests'
  'python-yaml'
  'unzip'
  'webkit2gtk-4.1'
  'xdg-desktop-portal-impl'
  'xdg-utils'
  'xorg-xrandr'
)
makedepends=('git' 'meson' 'protobuf')
checkdepends=(
  'appstream-glib'
#  'fluidsynth'
#  'pciutils'
#  'python-nose'
#  'vulkan-tools'
#  'xorg-server-xvfb'
#  'xterm'
)
optdepends=(
  'fluidsynth: For games that have MIDI music'
  'gamemode: Allows games to request a temporary set of optimisations'
  'gamescope: Draw the game window isolated from your desktop'
  'gvfs: GVFS backend'
  'innoextract: Extract Inno Setup installers'
  'lib32-gamemode: Allows games to request a temporary set of optimisations'
  'lib32-glibc: for 32bit games support'
  "lib32-mangohud: Display the games' FPS + other information"
  'lib32-vkd3d: DirectX 12 support'
  'lib32-vulkan-icd-loader: Vulkan support'
  'libayatana-appindicator: tray icon support'
  'linux-steam-integration: start Steam with LSI'
  "mangohud: Display the games' FPS + other information"
  'python-evdev: Controller support'
  'python-pefile: Extract icons from Windows executables'
  'python-protobuf: BattleNet integration'
  'python-pypresence: Discord Rich Presence integration'
  'vkd3d: DirectX 12 support'
  'vulkan-icd-loader: Vulkan support'
  'vulkan-tools: Vulkan support'
  'wine: easiest way to get all the libraries missing from the Lutris runtime'
  'winetricks: use system winetricks'
)
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
source=('git+https://github.com/lutris/lutris.git'
        'git+https://github.com/bartok765/galaxy_blizzard_plugin.git')
sha256sums=('SKIP'
            'SKIP')

pkgver() {
  cd "${pkgname%-git}"
  git describe --long --tags --abbrev=7 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

prepare() {
  protoc --proto_path=galaxy_blizzard_plugin/src --python_out=. product_db.proto
  cp product_db_pb2.py "${pkgname%-git}/lutris/util/battlenet/product_db_pb2.py"
  cd "${pkgname%-git}"
}

build() {
  arch-meson "${pkgname%-git}" build
  meson compile -C build
}

check() {
  meson test -C build --print-errorlogs

#  cd "${pkgname%-git}"
#  xvfb-run nosetests
}

package() {
  meson install -C build --destdir "$pkgdir"
}

caiotbc commented on 2024-04-28 23:37 (UTC)

I didn't realize the python version was changed to 3.12 recently, but now it makes sense that a lot of python stuff suddenly broke on my system. Reinstalling most python related packages did fix the issue, thanks for the heads up!