Package Details: freetube-git 0.24.0.beta.r10303.9aa0484-1

Git Clone URL: https://aur.archlinux.org/freetube-git.git (read-only, click to copy)
Package Base: freetube-git
Description: An open source desktop YouTube player built with privacy in mind - built from git source tree.
Upstream URL: https://freetubeapp.io
Licenses: AGPL-3.0-or-later
Conflicts: freetube
Provides: freetube
Submitter: picokan
Maintainer: picokan
Last Packager: picokan
Votes: 22
Popularity: 0.69
First Submitted: 2020-10-01 22:23 (UTC)
Last Updated: 2026-06-03 19:30 (UTC)

Latest Comments

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

no_gafam commented on 2026-07-08 11:51 (UTC)

my bad, they fixed the problem a day later within the pnpm-workspace.yaml:

* * Update pnpm to add youtubei.js to minimumReleaseAgeExclude

picokan commented on 2026-07-05 09:08 (UTC)

Odd, I'm not getting that error when compiling with the current PKGBUILD and latest freetube commit.

no_gafam commented on 2026-07-01 09:30 (UTC)

strict pnpm v11 building policies strike again:

[ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION] 3 lockfile entries failed verification

Fixed it by adding this line to prepare():

sed -i "6i minimumReleaseAge: 0" "$srcdir/$_pkgname/pnpm-workspace.yaml"

no_gafam commented on 2026-06-03 11:29 (UTC) (edited on 2026-06-03 11:31 (UTC) by no_gafam)

seems like since pnpm v11 dependencies within build scripts are handled more strict and freetube uses more unapproved packages than just '@parcel/watcher'...

I deactivated the strict approval rule by adding this line to build():

export PNPM_CONFIG_STRICT_DEP_BUILDS=false

nathaniel7 commented on 2026-06-02 21:25 (UTC)

I found it necessary to add this line to build(): pnpm approve-builds @parcel/watcher

picokan commented on 2026-05-12 07:46 (UTC)

Thanks for the _electron idea, that'll help with forgetting to change all instances of it. We aren't developing freetube, so I'm not too bothered with running linters and making sure they pass.

Healing_Hands commented on 2026-05-11 22:40 (UTC)

Hi,

The freetube.sh file still contains "electron41", and so does in the sed command.

italoghost commented on 2026-05-11 13:48 (UTC) (edited on 2026-05-11 14:53 (UTC) by italoghost)

Hi!

I will explain in parts:

1) _electron: I've created this variable to make it easier to change `electron` versions;
2) depends: I checked the `namcap` errors and added the dependencies accordingly;
3) makedepends: with `pnpm` you don't need `npm` anymore;
4) prepare(): I've changed the `sed` commands a little bit, so it can conform with `pnpm run lint`;
5) build(): I've changed to `pnpm run ci`, `pnpm run lint` and `pnpm run build` so we could be as close to upstream as possible. See https://github.com/FreeTubeApp/FreeTube/blob/development/.github/workflows/build.yml

UPDATE: I've checked the namcap again and the dependencies are not necessary, only electron.

picokan commented on 2026-05-11 06:49 (UTC)

What's the reasoning behind those other changes?

italoghost commented on 2026-05-10 17:38 (UTC)

Hi! FreeTube has bumped electron to version 42.

In addition to that, could you consider this change?

❯ git diff PKGBUILD PKGBUILD-mod
diff --git a/PKGBUILD b/PKGBUILD-mod
index 1e73b5b..981d528 100644
--- a/PKGBUILD
+++ b/PKGBUILD-mod
@@ -2,14 +2,15 @@

 pkgname=freetube-git
 _pkgname=FreeTube
+_electron=electron42
 pkgver=0.24.0.beta.r10160.b55e623
 pkgrel=1
 pkgdesc='An open source desktop YouTube player built with privacy in mind - built from git source tree.'
 arch=('x86_64' 'i686' 'arm' 'armv6h' 'armv7h' 'aarch64')
 url="https://freetubeapp.io"
 license=('AGPL-3.0-or-later')
-depends=('electron41')
-makedepends=('git' 'npm' 'pnpm')
+depends=($_electron 'alsa-lib' 'gtk3' 'nss' 'libxss' 'libxtst' 'libnm')
+makedepends=('git' 'pnpm')
 provides=('freetube')
 conflicts=('freetube')
 source=(git+https://github.com/FreeTubeApp/FreeTube
@@ -18,18 +19,20 @@ source=(git+https://github.com/FreeTubeApp/FreeTube
 sha256sums=(SKIP SKIP SKIP)

 pkgver() {
-  cd "$srcdir/$_pkgname"
+  cd "$_pkgname"
   printf "%s.r%s.%s" "$(git tag --sort=committerdate | tail -1 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g')" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
 }

 prepare() {
-  sed -i "5i electronDist: '/usr/lib/electron41'," "$srcdir/$_pkgname/_scripts/ebuilder.config.mjs"
-  sed -i "s/targets = Platform.LINUX.*/targets = Platform.LINUX.createTarget(['dir'], arch)/" "$srcdir/$_pkgname/_scripts/build.mjs"
+  cd "$_pkgname"
+  sed -i "5i \  electronDist: '/usr/lib/$_electron'," "_scripts/ebuilder.config.mjs"
+  sed -i "s/targets = Platform.LINUX.*/targets = Platform.LINUX.createTarget(['dir'], arch)/" "_scripts/build.mjs"
 }

 build() {
-  cd "$srcdir/$_pkgname"
-  pnpm install
+  cd "$_pkgname"
+  pnpm run ci
+  pnpm run lint
   pnpm run build
 }