Package Details: jellyfin-desktop 2.0.0-3

Git Clone URL: https://aur.archlinux.org/jellyfin-desktop.git (read-only, click to copy)
Package Base: jellyfin-desktop
Description: Jellyfin Desktop Client
Upstream URL: https://github.com/jellyfin/jellyfin-desktop
Licenses: GPL
Submitter: nvllsvm
Maintainer: jellyfin
Last Packager: jellyfin
Votes: 107
Popularity: 2.05
First Submitted: 2025-12-14 11:07 (UTC)
Last Updated: 2026-04-01 23:40 (UTC)

Pinned Comments

Latest Comments

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

nvllsvm commented on 2026-08-14 19:13 (UTC)

The previous git package was renamed when the project was moved outside of the Jellyfin organziation. https://aur.archlinux.org/packages/jellium-desktop-git.

See for context https://github.com/andrewrabert/jellium-desktop/issues/609

--

What currently is known as Jellyfin Desktop is out of my control and is still based on Qt 6. Report any issues with the Arch package at https://github.com/jellyfin/jellyfin-desktop. I am no longer affiliated with Jellyfin.

flying-sheep commented on 2026-08-14 18:59 (UTC)

jellyfin-desktop-git doesn’t currently exist

zen commented on 2026-08-05 02:54 (UTC) (edited on 2026-08-05 03:04 (UTC) by zen)

I referred to the official compile instructions, although it seems the COVERAGE option isn't in the Makefile.

https://github.com/jellyfin/jellyfin-desktop/tree/master/dev

The reason for using git is that there's an mpvqt submodule in the external directory. Downloading via tarball doesn't provide git commit info for the submodule, so I used prepare function to init the submodule.

I changed the download location; jellyfin-archive/jellyfin-desktop-qt now automatically redirects to jellyfin/jellyfin-desktop.

Also, I think the license is gpl-2.0-or-later

diff --git a/PKGBUILD b/PKGBUILD
index ef3e152..a5e8b61 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,24 +2,31 @@

 pkgname=jellyfin-desktop
 pkgver=2.0.0
-pkgrel=3
+pkgrel=4
 pkgdesc='Jellyfin Desktop Client'
 arch=('i686' 'x86_64')
-license=('GPL')
+license=('GPL-2.0-or-later')
 url='https://github.com/jellyfin/jellyfin-desktop'
 depends=('mpv' 'mpvqt' 'libcec' 'sdl2' 'p8-platform' 'protobuf' 'qt6-webengine' 'qt6-declarative')
 makedepends=('cmake' 'git' 'ninja' 'python')
-source=("https://github.com/jellyfin-archive/jellyfin-desktop-qt/archive/refs/tags/v${pkgver}.tar.gz")
-sha256sums=('11ba0a7f4f344dc076b9f234193f93684a5621a100607298dfc2d14092b525d5')
+#source=("https://github.com/jellyfin/jellyfin-desktop/archive/refs/tags/v${pkgver}.tar.gz")
+source=("git+https://github.com/jellyfin/jellyfin-desktop.git#tag=v${pkgver}")
+sha256sums=('43067703588e5ae375507f38bcc421aeeebe08ac86edca17cab4ea98bb5b31dc')

+prepare() {
+    cd "${srcdir}/jellyfin-desktop"
+    git submodule update --init --recursive
+}
 build() {
-    cd "${srcdir}/jellyfin-desktop-qt-${pkgver}"
+    cd "${srcdir}/jellyfin-desktop"
     rm -rf build
     mkdir build
     cmake \
         -B build \
         -G Ninja \
         -DCMAKE_BUILD_TYPE='Release' \
+        -DUSE_STATIC_MPVQT=ON \
+        -DCOVERAGE=ON \
         -DCMAKE_INSTALL_PREFIX='/usr/' \
         -DCMAKE_SKIP_RPATH=1 \
         -DQTROOT=build/qt \
@@ -28,6 +35,6 @@ build() {
 }

 package() {
-    cd "${srcdir}/jellyfin-desktop-qt-${pkgver}"
+    cd "${srcdir}/jellyfin-desktop"
     DESTDIR="${pkgdir}" cmake --install build
 }

FabioLolix commented on 2026-08-04 21:43 (UTC)

Hi

  • License for this should be GPL-2.0-only by looking at debian/copyright
  • please rename sources to be unique source=("jellyfin-desktop-${pkgver}.tar.gz::https://github.com/jellyfin-archive/jellyfin-desktop-qt/archive/refs/tags/v${pkgver}.tar.gz")
  • -Wno-dev is now deprecated; use -Wno-author

@zen can we see your pkgbuild?


@zapotah are alternatives packages/ derivates etc that need to conflicts

zapotah commented on 2026-08-04 20:53 (UTC) (edited on 2026-08-04 20:53 (UTC) by zapotah)

@nvllsvm pin this as conflicting to the newest jellium-desktop-git or -bin packages to avoid confusion

zen commented on 2026-08-04 17:49 (UTC)

I've fixed the issue, compile is successful, and everything is working correctly. Could you add me to co-maintainer so I can push my commit after the AUR maintain is complete?

MagicAndWires commented on 2026-07-22 00:15 (UTC)

Can confirm that @Richardk2n's patch works, though the sha checksums were different for me when copy-pasting the contents, probably due to missing newlines or something, as the contents are the same.

I know the upstream project is deprecated but it might be worth adding the patch to the PKGBUILD, seeing as it's still listed as the official client on Jellyfin's website.

The flatpak version works as an alternative of course but I think most people running an Arch-based system will gravitate to an AUR package if it's there.

Richardk2n commented on 2026-06-22 15:02 (UTC)

@nvllsvm ping

Richardk2n commented on 2026-06-02 14:37 (UTC) (edited on 2026-06-06 13:10 (UTC) by Richardk2n)

Here is a patch file:

diff --git a/src/player/PlayerComponent.cpp b/src/player/PlayerComponent.cpp
index b53e684..403c38c 100644
--- a/src/player/PlayerComponent.cpp
+++ b/src/player/PlayerComponent.cpp
@@ -313,15 +313,15 @@ void PlayerComponent::queueMedia(const QString& url, const QVariantMap& options,
   QUrl qurl = url;
   QString host = qurl.host();

-  QVariantList command;
+  QStringList command;
   command << "loadfile" << qurl.toString(QUrl::FullyEncoded);
   command << "append-play"; // if nothing is playing, play it now, otherwise just enqueue it

 #if MPV_CLIENT_API_VERSION >= MPV_MAKE_VERSION(2, 3)
-  command << -1; // insert_at_idx
+  command << QString::number(-1); // insert_at_idx
 #endif

-  QVariantMap extraArgs;
+  QMap<QString, QString> extraArgs;

   quint64 startMilliseconds = options["startMilliseconds"].toLongLong();
   if (startMilliseconds != 0)
@@ -347,7 +347,9 @@ void PlayerComponent::queueMedia(const QString& url, const QVariantMap& options,
   extraArgs.insert("ad", "");
   extraArgs.insert("vd", "");

-  command << extraArgs;
+  for(const auto& key: extraArgs.keys()) {
+    command << key << extraArgs[key];
+  }

   m_mpv->command( command);

@@ -851,7 +853,7 @@ void PlayerComponent::seekTo(qint64 ms)
     return;
   }
   double timeSecs = ms / 1000.0;
-  QVariantList args = (QVariantList() << "seek" << timeSecs << "absolute+exact");
+  QStringList args = (QStringList() << "seek" << QString::number(timeSecs) << "absolute+exact");
   m_mpv->command( args);
 }

How to use it:

diff --git a/.gitignore b/.gitignore
index afa0967..33dc8e9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
 !.gitignore
 !PKGBUILD
 !/.nvchecker.toml
+!fix_mpvqt.patch
diff --git a/PKGBUILD b/PKGBUILD
index ef3e152..275557e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,11 +9,14 @@ license=('GPL')
 url='https://github.com/jellyfin/jellyfin-desktop'
 depends=('mpv' 'mpvqt' 'libcec' 'sdl2' 'p8-platform' 'protobuf' 'qt6-webengine' 'qt6-declarative')
 makedepends=('cmake' 'git' 'ninja' 'python')
-source=("https://github.com/jellyfin-archive/jellyfin-desktop-qt/archive/refs/tags/v${pkgver}.tar.gz")
-sha256sums=('11ba0a7f4f344dc076b9f234193f93684a5621a100607298dfc2d14092b525d5')
+source=("https://github.com/jellyfin-archive/jellyfin-desktop-qt/archive/refs/tags/v${pkgver}.tar.gz"
+        "fix_mpvqt.patch")
+sha256sums=('11ba0a7f4f344dc076b9f234193f93684a5621a100607298dfc2d14092b525d5'
+            'c9f7db5e4e1ff59b16306fe33ec18a6bbb21bf9a8a346672dcff22093ada48c2')

 build() {
     cd "${srcdir}/jellyfin-desktop-qt-${pkgver}"
+    patch -Np1 -i ../fix_mpvqt.patch
     rm -rf build
     mkdir build
     cmake \