Package Details: freetube 0.22.1-1

Git Clone URL: https://aur.archlinux.org/freetube.git (read-only, click to copy)
Package Base: freetube
Description: An open source desktop YouTube player built with privacy in mind.
Upstream URL: https://freetubeapp.io
Licenses: AGPL3
Submitter: picokan
Maintainer: picokan
Last Packager: picokan
Votes: 75
Popularity: 3.89
First Submitted: 2020-10-02 22:19 (UTC)
Last Updated: 2024-12-13 08:37 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 11 .. 14 Next › Last »

tuxayo commented on 2023-01-07 20:53 (UTC)

I wonder why the upgrade of electron from 20 to 22 causes pikaur, yay and pacman[1] to choke with:

error: failed to prepare transaction (could not satisfy dependencies) :: installing electron (22.0.0-1) breaks dependency 'electron20' required by freetube

Given that the electron20 package is in the official repos.

Is there actually an issue with dependencies of the packages?

[1] pacman should also work right? Because there is no freetube update and the electron upgrade should cause to install the electron20 package alongside of electron.

minxu commented on 2022-10-17 15:55 (UTC)

It might be better to depend on electron16-bin by default because building electron16 for me is a pain. It take a long time also breaks from time to time. The current error is:

==> Starting build()...
ERROR at //build/config/linux/pkg_config.gni:103:17: Script returned non-zero exit code.
    pkgresult = exec_script(pkg_config_script, args, "value")
                ^----------
Current dir: /home/owen/.cache/yay/electron16/src/src/out/Release/
Command: python3 /home/owen/.cache/yay/electron16/src/src/build/config/linux/pkg-config.py opus
Returned 1.
stderr:

Could not run pkg-config.

See //third_party/opus/BUILD.gn:8:1: whence it was called.
pkg_config("opus_config") {
^--------------------------
See //BUILD.gn:764:7: which caused the file to be included.
      "//third_party/opus:opus_demo",
      ^-----------------------------
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: electron16

I switched to use electron16-bin and freetube installed quickly.

picokan commented on 2022-10-01 08:59 (UTC)

The upstream Freetube is using electron 20, but I was keeping this as electron16 until a proper release with electron 20 came out. I can still change this 0.17.1 to use electron20 if electron16 being now an AUR package is too much of a bother.

je-vv commented on 2022-09-25 21:23 (UTC) (edited on 2022-09-25 21:26 (UTC) by je-vv)

@reclusivesage, have you read prior posts? The reason for that failure is electron16 requiring a rebuild, given Arch changes on libraries it depends on, but Arch already dropped electron16, so you need to rebuild it from AUR, if you want to keep using electron16.

There's no reason to stick with electron16 though, I shared a patch on the AUR package to use electron20 instead. Which changes exactly what you're mentioning... And if you don't want to rebuild freetube, there's the workaround to just edit /usr/bin/freetube and specify there the use of electron20 instead of electron16.

Now the reason this package is affected, is that it uses a system electron, rather than using the binary copy embedded in the binary version of freetube. And that's good. Many of the binaries depending on electron, keep duplicating electron everywhere, which is really unnecessary, bloated and a sad practice. However it requires to update the package when necessary, as it is now. I would try keeping the system electron version used, the latest on Arch, and only decrease the version if it doesn't work or is plain unsupported. But it is up to the AUR packager, if it works with a non latest version, and it's maintained by Arch, well, they might opt not to change it. Not the case right now, since the package needs to change its dependency, given Arch dropping electron16, and therefore not rebuilding it for us.

reclusivesage commented on 2022-09-25 16:02 (UTC) (edited on 2022-09-25 16:27 (UTC) by reclusivesage)

Is there anything I can do? When I use this package as is with electron16, I receive an error in stdout that reads:

/usr/lib/electron16/electron: error while loading shared libraries: libFLAC.so.8: cannot open shared object file: No such file or directory

This is apparently specific to this AUR package, as reported upstream.

Edit: Manually replacing electron16 with electron in the PKGBUILD, freetube.sh, and package-only-necessary.diff files; I was able to make FreeTube work again. This might be an acceptable workaround for you, until this package updates upstream for Electron 20.

je-vv commented on 2022-09-21 16:46 (UTC)

@IOF, that's true, but freetube-bin doesn't use the system electron, it uses an embedded electron withing the tool itself, which I personally don't like...

I0F commented on 2022-09-21 10:49 (UTC)

@unphysicalix

freetube-bin 0.17.1 from the AUR still uses electron16.

je-vv commented on 2022-09-21 10:02 (UTC)

@NoReceipt and @unphysicalix, freetube builds and works just fine with electron20. Here it's a patch:

diff --git a/PKGBUILD b/PKGBUILD
index 48d5bfb..a4437f5 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,7 +8,7 @@ pkgrel=1
 pkgdesc='An open source desktop YouTube player built with privacy in mind.'
 arch=('x86_64' 'i686' 'arm' 'armv6h' 'armv7h' 'aarch64')
 license=('AGPL3')
-depends=( 'gtk3' 'nss' 'electron16' )
+depends=( 'gtk3' 'nss' 'electron20' )
 makedepends=('npm' 'yarn')
 url=https://freetubeapp.io
 source=(https://github.com/FreeTubeApp/FreeTube/archive/v$pkgver-beta.tar.gz
@@ -16,9 +16,9 @@ source=(https://github.com/FreeTubeApp/FreeTube/archive/v$pkgver-beta.tar.gz
         freetube.desktop
         freetube.sh)
 sha256sums=(7ae2e27d38b200c3b9a421bb1b794ef330d21c3e2f1550e50e27ff02a10a7d07
-            babebfdd34de7b67a59e9f3dd08746d2b70c519ed2414fb56efec24f82393605
+            b8a1621b6a56cf548a967a45323677fd121c2b31d85b08326e305bb84719d824
             928f0d7f07afdecf35fcf48ba109ab7e28f51bb233327263faa2c0499d669581
-            802c0ce0c894f7b5ddb7aba35e4447ddc5d10d1e2232dcec820a4b5a5cafef71)
+            c8e6ce01885f1e7dd0c0aef55dba795b469ad4999c29ecc1d1afda24c7a33f17)

 prepare() {
   patch "$srcdir/$_pkgname-$pkgver-beta/_scripts/build.js" < package-only-necessary.diff
@@ -34,7 +34,7 @@ package() {
   install -d "${pkgdir}"/usr/lib/${pkgname}
   cp -R "./$_pkgname-$pkgver-beta/build/linux-unpacked/resources/app.asar" "$pkgdir/usr/lib/$pkgname"
   install -Dm755 "./freetube.sh" "$pkgdir/usr/bin/$pkgname"
-  
+
   cd $_pkgname-$pkgver-beta
   install -Dm644 "./_icons/icon.svg" "$pkgdir/usr/share/pixmaps/$pkgname.svg"
   cd ..
diff --git a/.SRCINFO b/.SRCINFO
index dbab756..3e7650a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -14,14 +14,14 @@ pkgbase = freetube
        makedepends = yarn
        depends = gtk3
        depends = nss
-       depends = electron16
+       depends = electron20
        source = https://github.com/FreeTubeApp/FreeTube/archive/v0.17.1-beta.tar.gz
        source = package-only-necessary.diff
        source = freetube.desktop
        source = freetube.sh
        sha256sums = 7ae2e27d38b200c3b9a421bb1b794ef330d21c3e2f1550e50e27ff02a10a7d07
-       sha256sums = babebfdd34de7b67a59e9f3dd08746d2b70c519ed2414fb56efec24f82393605
+       sha256sums = b8a1621b6a56cf548a967a45323677fd121c2b31d85b08326e305bb84719d824
        sha256sums = 928f0d7f07afdecf35fcf48ba109ab7e28f51bb233327263faa2c0499d669581
-       sha256sums = 802c0ce0c894f7b5ddb7aba35e4447ddc5d10d1e2232dcec820a4b5a5cafef71
+       sha256sums = c8e6ce01885f1e7dd0c0aef55dba795b469ad4999c29ecc1d1afda24c7a33f17

 pkgname = freetube
diff --git a/freetube.sh b/freetube.sh
index 6594f63..a223ba3 100644
--- a/freetube.sh
+++ b/freetube.sh
@@ -1,3 +1,3 @@
 #!/bin/sh

-exec electron16 /usr/lib/freetube/app.asar "$@"
+exec electron20 /usr/lib/freetube/app.asar "$@"
diff --git a/package-only-necessary.diff b/package-only-necessary.diff
index d0067a4..67da800 100644
--- a/package-only-necessary.diff
+++ b/package-only-necessary.diff
@@ -3,15 +3,15 @@
 @@ -24,12 +24,13 @@
      arch = Arch.arm64
    }
- 
+
 -  targets = Platform.LINUX.createTarget(['deb', 'zip', 'apk', 'rpm', 'AppImage', 'pacman'], arch)
 +  targets = Platform.LINUX.createTarget(['dir'], arch)
  }
- 
+
  const config = {
    appId: `io.freetubeapp.${name}`,
    copyright: 'Copyleft © 2020-2021 freetubeapp@protonmail.com',
-+  electronDist: '/usr/lib/electron16',
++  electronDist: '/usr/lib/electron20',
    // asar: false,
    // compression: 'store',
    productName,

And building freetube doesn't take that much, :) So no need to move to the *-bin version, hehe. Hopefully @picokan will soon update...

BTW, if you just rebuild it, without updating, most probably it'll work as well, if you previously build and install electron16 from AUR, it's there. aurutils with some configs automatically tries building electron16.

Another option, is neither updating, nor rebuilding, just editing /usr/bin/freetube, and replacing there electron16 with electron20. I tested that earlier, and it works.

Of course my preference is to update the package to electron20, which is current electron...

unphysicalix commented on 2022-09-21 08:11 (UTC)

@NoReceipt

electron 16 is not a stable release anymore... I am using freetube-bin now, this uses the upstream code which supposedly uses electron 20. Less compiling for me for now.

NoReceipt commented on 2022-09-20 17:17 (UTC)

$ freetube 
/usr/lib/electron16/electron: error while loading shared libraries: libFLAC.so.8: cannot open shared object file: No such file or directory

There is a problem with electron16, electron20 seems to works. Is it possible to update the app to use electron20?