Package Details: freetube 0.20.0-3

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: 60
Popularity: 3.47
First Submitted: 2020-10-02 22:19 (UTC)
Last Updated: 2024-04-20 13:11 (UTC)

Latest Comments

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

AndyRTR commented on 2021-03-20 10:45 (UTC)

'electron' runtime dependency is missing. Freetube fails to start if it's not installed.

picokan commented on 2021-03-15 19:51 (UTC)

@marcih Looking at it again, I see that the npm ERR! cc: error: unrecognized command-line option ‘-m64’ indicates that, for whatever reason, electron's trying to build an x86_64 binary, which won't work on your aarch64 cpu. I'm very curious, but I don't have a cpu to test if this also fails on building from the git repo. I don't know why it wouldn't work using the PKGBUILD, I don't think I changed anything that would force an x64 build.

marcih commented on 2021-03-14 14:14 (UTC) (edited on 2021-03-14 14:15 (UTC) by marcih)

@picokan Thanks for the update! As for my build failure, I have made no changes to your PKGBUILD. I tried clean building 0.12.0-2 just now with the same result:

renderer (webpack 5.24.3) compiled successfully in 137727 ms

> freetube@0.12.0 build-release
> node _scripts/build.js

  • electron-builder  version=22.10.5 os=5.11.6-2-MANJARO-ARM
  • electron-rebuild not required if you use electron-builder, please consider to remove excess dependency from devDependencies

To ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps" to your `package.json`
  • writing effective config  file=build/builder-effective-config.yaml
  • rebuilding native dependencies  dependencies=node-expat@2.3.18 platform=linux arch=x64
  ⨯ cannot execute  cause=exit status 1
                    errorOut=npm ERR! code 1
    npm ERR! path /home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-expat
    npm ERR! command failed
    npm ERR! command sh -c node-gyp rebuild
    npm ERR! make: Entering directory '/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-expat/build'
    npm ERR!   CC(target) Release/obj.target/expat/deps/libexpat/lib/xmlparse.o
    npm ERR!   CC(target) Release/obj.target/expat/deps/libexpat/lib/xmltok.o
    npm ERR!   CC(target) Release/obj.target/expat/deps/libexpat/lib/xmlrole.o
    npm ERR! make: Leaving directory '/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-expat/build'
    npm ERR! gyp info it worked if it ends with ok
    npm ERR! gyp info using node-gyp@7.1.2
    npm ERR! gyp info using node@15.11.0 | linux | arm64
    npm ERR! gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
    npm ERR! gyp info spawn /usr/bin/python3
    npm ERR! gyp info spawn args [
    npm ERR! gyp info spawn args   '/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-gyp/gyp/gyp_main.py',
    npm ERR! gyp info spawn args   'binding.gyp',
    npm ERR! gyp info spawn args   '-f',
    npm ERR! gyp info spawn args   'make',
    npm ERR! gyp info spawn args   '-I',
    npm ERR! gyp info spawn args   '/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-expat/build/config.gypi',
    npm ERR! gyp info spawn args   '-I',
    npm ERR! gyp info spawn args   '/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-gyp/addon.gypi',
    npm ERR! gyp info spawn args   '-I',
    npm ERR! gyp info spawn args   '/home/manjaro/.electron-gyp/12.0.0/include/node/common.gypi',
    npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
    npm ERR! gyp info spawn args   '-Dvisibility=default',
    npm ERR! gyp info spawn args   '-Dnode_root_dir=/home/manjaro/.electron-gyp/12.0.0',
    npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-gyp',
    npm ERR! gyp info spawn args   '-Dnode_lib_file=/home/manjaro/.electron-gyp/12.0.0/<(target_arch)/node.lib',
    npm ERR! gyp info spawn args   '-Dmodule_root_dir=/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-expat',
    npm ERR! gyp info spawn args   '-Dnode_engine=v8',
    npm ERR! gyp info spawn args   '--depth=.',
    npm ERR! gyp info spawn args   '--no-parallel',
    npm ERR! gyp info spawn args   '--generator-output',
    npm ERR! gyp info spawn args   'build',
    npm ERR! gyp info spawn args   '-Goutput_dir=.'
    npm ERR! gyp info spawn args ]
    npm ERR! gyp info spawn make
    npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
    npm ERR! cc: error: unrecognized command-line option ‘-m64’
    npm ERR! make: *** [deps/libexpat/expat.target.mk:122: Release/obj.target/expat/deps/libexpat/lib/xmlparse.o] Error 1
    npm ERR! make: *** Waiting for unfinished jobs....
    npm ERR! cc: error: unrecognized command-line option ‘-m64’
    npm ERR! make: *** [deps/libexpat/expat.target.mk:122: Release/obj.target/expat/deps/libexpat/lib/xmltok.o] Error 1
    npm ERR! cc: error: unrecognized command-line option ‘-m64’
    npm ERR! make: *** [deps/libexpat/expat.target.mk:122: Release/obj.target/expat/deps/libexpat/lib/xmlrole.o] Error 1
    npm ERR! gyp ERR! build error 
    npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
    npm ERR! gyp ERR! stack     at ChildProcess.onExit (/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-gyp/lib/build.js:194:23)
    npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:378:20)
    npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
    npm ERR! gyp ERR! System Linux 5.11.6-2-MANJARO-ARM
    npm ERR! gyp ERR! command "/usr/bin/node" "/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/.bin/node-gyp" "rebuild"
    npm ERR! gyp ERR! cwd /home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-expat
    npm ERR! gyp ERR! node -v v15.11.0
    npm ERR! gyp ERR! node-gyp -v v7.1.2
    npm ERR! gyp ERR! not ok

    npm ERR! A complete log of this run can be found in:
    npm ERR!     /home/manjaro/.npm/_logs/2021-03-14T14_10_49_746Z-debug.log

                    command=/usr/bin/node /usr/lib/node_modules/npm/bin/npm-cli.js rebuild node-expat@2.3.18
                    workingDir=
ExecError: /home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/app-builder-bin/linux/arm64/app-builder exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
    at ChildProcess.<anonymous> (/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/builder-util/src/util.ts:243:14)
    at Object.onceWrapper (node:events:485:26)
    at ChildProcess.emit (node:events:378:20)
    at maybeClose (node:internal/child_process:1067:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5) {
  exitCode: 2,
  alreadyLogged: true,
  code: 'ERR_ELECTRON_BUILDER_CANNOT_EXECUTE'
}
==> Entering fakeroot environment...
==> Starting package()...
cp: cannot stat './FreeTube-0.12.0-beta/build/linux-unpacked/resources/app.asar': No such file or directory
==> ERROR: A failure occurred in package().
    Aborting...
error making: freetube

picokan commented on 2021-03-13 19:31 (UTC) (edited on 2021-03-13 19:31 (UTC) by picokan)

@marcih Thank you for all of the information. Unfortunately, I don't know what's causing sh -c node-gyp rebuild. If you made changes to the PKGBUILD to fix some of my errors you may have accidentally written something that leads to that error. As for the sed command, the purpose was to have the freetube package use the system electron if available, and I thought that sed was necessary as I saw it being used on one of the packages mentioned here. After re-reading it and a bit of testing, I've changed the way it's done to something that won't stop working as intended as soon as Freetube changes it's target electron version or the system electron package is updated. Lastly, since this is already using makepkg, I don't think telling makepkg to make a pacman package of the pacman package electron made will work, but I haven't tried. The rest of the recommended changes have been applied, thank you to all who helped me.

ZorinArch commented on 2021-03-08 09:10 (UTC)

update line 15 to source=(https://github.com/FreeTubeApp/FreeTube/archive/v$pkgver-beta.tar.gz

marcih commented on 2021-03-07 16:00 (UTC)

Again, FYI, freetube has moved to electron 12, making line 23 of the PKGBUILD obsolete - in fact: a) freetube hasn't used electron v11.1.0 since 0.10.0; b) the regex itself is written wrong, the comma should be after the double quotes.

I don't know what the reasoning was to removing the build dependency on electron and whether it is still necessary, but if you want to keep it removed then line 23 ought to be: sed -i 's@"electron": "^12.0.0",@@g' "$srcdir/$_pkgname-$pkgver-beta/package.json"

Also, question: since the build system can output what seems to be a pacman package directly (see "package-only-necessary.diff"), can we not somehow use that?

AndyRTR commented on 2021-03-07 12:00 (UTC)

New release builds well in a clean chroot on x86_64. Please add %U to .desktop file as suggested. I've confirmed this working to open links from Firefox using privacy redirect extension.

marcih commented on 2021-03-07 11:40 (UTC) (edited on 2021-03-07 15:27 (UTC) by marcih)

0.12.0-1 doesn't build for me on Manjaro aarch64:

renderer (webpack 5.24.3) compiled successfully in 127860 ms

> freetube@0.12.0 build-release
> node _scripts/build.js

  • electron-builder  version=22.10.5 os=5.11.3-1-MANJARO-ARM
  • electron-rebuild not required if you use electron-builder, please consider to remove excess dependency from devDependencies

To ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps" to your `package.json`
  • writing effective config  file=build/builder-effective-config.yaml
  • rebuilding native dependencies  dependencies=node-expat@2.3.18 platform=linux arch=x64
  ⨯ cannot execute  cause=exit status 1
                    errorOut=npm ERR! code 1
    npm ERR! path /home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-expat
    npm ERR! command failed
    npm ERR! command sh -c node-gyp rebuild
    npm ERR! make: Entering directory '/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-expat/build'
    npm ERR!   CC(target) Release/obj.target/expat/deps/libexpat/lib/xmlparse.o
    npm ERR!   CC(target) Release/obj.target/expat/deps/libexpat/lib/xmltok.o
    npm ERR!   CC(target) Release/obj.target/expat/deps/libexpat/lib/xmlrole.o
    npm ERR! make: Leaving directory '/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-expat/build'
    npm ERR! gyp info it worked if it ends with ok
    npm ERR! gyp info using node-gyp@7.1.2
    npm ERR! gyp info using node@15.11.0 | linux | arm64
    npm ERR! gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
    npm ERR! gyp info spawn /usr/bin/python3
    npm ERR! gyp info spawn args [
    npm ERR! gyp info spawn args   '/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-gyp/gyp/gyp_main.py',
    npm ERR! gyp info spawn args   'binding.gyp',
    npm ERR! gyp info spawn args   '-f',
    npm ERR! gyp info spawn args   'make',
    npm ERR! gyp info spawn args   '-I',
    npm ERR! gyp info spawn args   '/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-expat/build/config.gypi',
    npm ERR! gyp info spawn args   '-I',
    npm ERR! gyp info spawn args   '/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-gyp/addon.gypi',
    npm ERR! gyp info spawn args   '-I',
    npm ERR! gyp info spawn args   '/home/manjaro/.electron-gyp/12.0.0/include/node/common.gypi',
    npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
    npm ERR! gyp info spawn args   '-Dvisibility=default',
    npm ERR! gyp info spawn args   '-Dnode_root_dir=/home/manjaro/.electron-gyp/12.0.0',
    npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-gyp',
    npm ERR! gyp info spawn args   '-Dnode_lib_file=/home/manjaro/.electron-gyp/12.0.0/<(target_arch)/node.lib',
    npm ERR! gyp info spawn args   '-Dmodule_root_dir=/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-expat',
    npm ERR! gyp info spawn args   '-Dnode_engine=v8',
    npm ERR! gyp info spawn args   '--depth=.',
    npm ERR! gyp info spawn args   '--no-parallel',
    npm ERR! gyp info spawn args   '--generator-output',
    npm ERR! gyp info spawn args   'build',
    npm ERR! gyp info spawn args   '-Goutput_dir=.'
    npm ERR! gyp info spawn args ]
    npm ERR! gyp info spawn make
    npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
    npm ERR! cc: error: unrecognized command-line option ‘-m64’
    npm ERR! make: *** [deps/libexpat/expat.target.mk:122: Release/obj.target/expat/deps/libexpat/lib/xmlparse.o] Error 1
    npm ERR! cc: error: unrecognized command-line option ‘-m64’
    npm ERR! make: *** Waiting for unfinished jobs....
    npm ERR! make: *** [deps/libexpat/expat.target.mk:122: Release/obj.target/expat/deps/libexpat/lib/xmltok.o] Error 1
    npm ERR! cc: error: unrecognized command-line option ‘-m64’
    npm ERR! make: *** [deps/libexpat/expat.target.mk:122: Release/obj.target/expat/deps/libexpat/lib/xmlrole.o] Error 1
    npm ERR! gyp ERR! build error 
    npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
    npm ERR! gyp ERR! stack     at ChildProcess.onExit (/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-gyp/lib/build.js:194:23)
    npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:378:20)
    npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
    npm ERR! gyp ERR! System Linux 5.11.3-1-MANJARO-ARM
    npm ERR! gyp ERR! command "/usr/bin/node" "/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/.bin/node-gyp" "rebuild"
    npm ERR! gyp ERR! cwd /home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/node-expat
    npm ERR! gyp ERR! node -v v15.11.0
    npm ERR! gyp ERR! node-gyp -v v7.1.2
    npm ERR! gyp ERR! not ok

    npm ERR! A complete log of this run can be found in:
    npm ERR!     /home/manjaro/.npm/_logs/2021-03-07T11_35_56_520Z-debug.log

                    command=/usr/bin/node /usr/lib/node_modules/npm/bin/npm-cli.js rebuild node-expat@2.3.18
                    workingDir=
ExecError: /home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/app-builder-bin/linux/arm64/app-builder exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
    at ChildProcess.<anonymous> (/home/manjaro/.cache/yay/freetube/src/FreeTube-0.12.0-beta/node_modules/builder-util/src/util.ts:243:14)
    at Object.onceWrapper (node:events:485:26)
    at ChildProcess.emit (node:events:378:20)
    at maybeClose (node:internal/child_process:1067:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5) {
  exitCode: 2,
  alreadyLogged: true,
  code: 'ERR_ELECTRON_BUILDER_CANNOT_EXECUTE'
}
==> Entering fakeroot environment...
==> Starting package()...
cp: cannot stat './FreeTube-0.12.0-beta/build/linux-unpacked/resources/app.asar': No such file or directory
==> ERROR: A failure occurred in package().
    Aborting...
error making: freetube

Any ideas?

marcih commented on 2021-03-07 11:11 (UTC)

I appreciate the addition of ARM to supported architectures but please note that, in context of a PKGBUILD, "arm" is not a catch-all for all ARM arches, it defines specifically armv5; building natively on a PinePhone (aarch64) therefore still complains about unsupported architecture.

See also: https://wiki.archlinux.org/index.php/PKGBUILD#arch

marcih commented on 2021-03-07 11:03 (UTC) (edited on 2021-03-07 11:04 (UTC) by marcih)

FYI, in order to handle "freetube" URI schemes properly, the "Exec" entry should have a "%U" after the command, see desktop file from upstream deb pacakge:

[Desktop Entry]
Name=FreeTube
Exec=/opt/FreeTube/freetube %U
Terminal=false
Type=Application
Icon=freetube
StartupWMClass=FreeTube
Comment=A private YouTube client
MimeType=x-scheme-handler/freetube;
Categories=Network;