Package Details: ytmdesktop-git 1.8.1-1

Git Clone URL: (read-only, click to copy)
Package Base: ytmdesktop-git
Description: A desktop app for YouTube Music
Upstream URL:
Keywords: electron google music player youtube
Licenses: CC0 1.0 Universal
Provides: ytmdesktop
Submitter: garfunkel
Maintainer: garfunkel
Last Packager: garfunkel
Votes: 2
Popularity: 0.52
First Submitted: 2019-10-09 09:53
Last Updated: 2020-01-11 01:25

Latest Comments

dreieck commented on 2020-03-29 13:44

I get the following error in build():

==> Updated version: ytmdesktop-git
==> Starting build()...
npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <>

npm ERR! A complete log of this run can be found in:
npm ERR!     [...]/npm-cache/_logs/2020-03-29T13_32_38_140Z-debug.log
==> ERROR: A failure occurred in build().

Btw.: Can it be that your PKGBUILD want to download stuff during build()? That must never happen, everything needed to build the package needs to be present before calling build() or check() or package(). Use source-array, makedepends or, as an exception, prepare().

garfunkel commented on 2020-01-10 14:16

Build issues are now resolved.

garfunkel commented on 2020-01-03 08:58

libxss is indeed a hard dependency - fixed. As far as I can determine, java-runtime is certainly not a dependency (at least ytmdesktop and it's bundled electron does not make use of it).

install file removed - thanks, did not know this has changed.

I'll fix some of the other issues shortly (a couple of them I am skeptical about...) - right now, this is failing to build.

yochananmarqos commented on 2019-11-02 21:14

@sarpik: Thanks, edited.

sarpik commented on 2019-11-02 16:09

@yochananmarqos In the link library part, you forgot the first / before opt:

.........\/ you need a / here

ln -s "opt/${pkgname%-git}/youtube-music-desktop-app" "$pkgdir/usr/bin/${pkgname%-git}"

yochananmarqos commented on 2019-10-09 21:30

  • Don't create unnecessary variables
  • This does not appear to be available for all architectures
  • The license is CC0 1.0 Universal (CC0-1.0) and is in /src/ytmdesktop. You don't need to copy the electron or chromium licenses anywhere, they're already included. Licenses go in /usr/share/licenses/*pkgname*.
  • Electron applications require both nss and libxss. It also appears java-runtime is required.
  • The install file is not required. The desktop cache is updated automatically since pacman 5.0
  • Use a temporary npm cache instead of polluting the user's home directory. See package guidelines
  • Loose files should be installed in /opt/
  • Use install instead of mkdir
pkgdesc="A desktop app for YouTube Music"
arch=('i686' 'x86_64')
depends=('gtk3' 'nss' 'libxss' 'java-runtime')
makedepends=('git' 'npm')
optdepends=('gnome-keyring' 'lsb-release' 'avahi' 'nss-mdns')

pkgver() {
    cd "$srcdir/${pkgname%-git}"
    git describe --tags | sed 's/^v//' | sed 's/-/./g'

build() {
    cd "$srcdir/${pkgname%-git}"
    rm -rf node_modules
    npm install --cache "$srcdir/npm-cache"

    if [ $CARCH = "x86_64" ]; then
        npm run pack:x64
    elif [ $CARCH = "i686" ]; then
        npm run pack

package() {
    cd "$srcdir/${pkgname%-git}"

    # install license
    install -Dm644 "$pkgdir/usr/share/licenses/${pkgname%-git}/"

    # install icon
    install -Dm644 assets/favicon.512x512.png "$pkgdir/usr/share/pixmaps/${pkgname%-git}.png"

    # copy application files
    install -dm755 "$pkgdir/opt/${pkgname%-git}"
    cp -r dist/linux-unpacked/* "$pkgdir/opt/${pkgname%-git}"

    # link binary
    install -dm755 "$pkgdir/usr/bin"
    ln -s "/opt/${pkgname%-git}/youtube-music-desktop-app" "$pkgdir/usr/bin/${pkgname%-git}"

    # install desktop entry
    install -Dm644 "$srcdir/${pkgname%-git}.desktop" "$pkgdir/usr/share/applications/${pkgname%-git}.desktop"