gtk front end for mpv

If you are looking for a specific 64-bit package and you can't find it in any of the 64-bit repos, please post a request for it here
User avatar
brokenman
Site Admin
Site Admin
Posts: 6105
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v4 all desktops
Location: Brazil

gtk front end for mpv

Post#1 by brokenman » 16 Apr 2017, 21:55

I tried to build gnome-mpv but it refuses to acknowledge that I have mpv installed. The build fails.

Can anyone build a gtk front end for mpv?
How do i become super user?
Wear your underpants on the outside and put on a cape.

User avatar
ncmprhnsbl
DEV Team
DEV Team
Posts: 3924
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

Re: gtk front end for mpv

Post#2 by ncmprhnsbl » 17 Apr 2017, 11:22

so far.. built gnome-mpv in arch > works..
managed to convert it to .txz with Bogomips' xz2txz script... can share it if you like..(dont think it will work, being built against arch mpv which has every possible dependency..)
but i think the problem is with mpv
comparing mpv SlackBuild with the Arch PKGBUILD
this configure option: --enable-libmpv-shared
is not present in the SlackBuild and /usr/lib64/libmpv.so.1 is not present in the slackware package..
and i suspect the gnome-mpv needs that lib to build(and run)
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

User avatar
Blaze
DEV Team
DEV Team
Posts: 3869
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Re: gtk front end for mpv

Post#3 by Blaze » 17 Apr 2017, 19:34

What about Zenwalk GNU Linux current repo?
mpv-0.24.0-x86_64-2Z.dep 14-Apr-2017 06:43 648
mpv-0.24.0-x86_64-2Z.md5 14-Apr-2017 06:44 59
mpv-0.24.0-x86_64-2Z.meta 14-Apr-2017 06:44 1.2K
mpv-0.24.0-x86_64-2Z.txt 01-Aug-2016 14:26 348
mpv-0.24.0-x86_64-2Z.txz 25-Mar-2017 07:50 958K
ncmprhnsbl wrote:is not present in the SlackBuild and /usr/lib64/libmpv.so.1 is not present in the slackware package..
and i suspect the gnome-mpv needs that lib to build(and run)

Code: Select all

( cd usr/lib64 ; rm -rf libmpv.so )
( cd usr/lib64 ; ln -sf libmpv.so.1.24.0 libmpv.so )
( cd usr/lib64 ; rm -rf libmpv.so.1 )
( cd usr/lib64 ; ln -sf libmpv.so.1.24.0 libmpv.so.1 )
gnome-mpv-0.11-x86_64-1jp.dep 14-Jan-2017 12:39 752
gnome-mpv-0.11-x86_64-1jp.md5 14-Apr-2017 06:44 64
gnome-mpv-0.11-x86_64-1jp.meta 14-Apr-2017 06:44 1.3K
gnome-mpv-0.11-x86_64-1jp.txt 24-Oct-2016 16:06 346
gnome-mpv-0.11-x86_64-1jp.txz 14-Jan-2017 12:53 105K
gnome-mpv-0.11-x86_64-1jp/usr/src/gnome-mpv-0.11/gnome-mpv.SlackBuild

Code: Select all

#!/bin/bash
#
# source: http://ftp.gnome.org/pub/gnome/sources/
#

# packager : me !

NAME='gnome-mpv'
VERSION=${VERSION:-$(echo $NAME-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD="1jp"

# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) export ARCH=i486 ;;
    arm*) export ARCH=arm ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
       *) export ARCH=$( uname -m ) ;;
  esac
fi

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

CWD=$(pwd)
srcpkg="$CWD/$NAME-$VERSION.tar.?z"
src="$CWD/$NAME-$VERSION"
package="$NAME-$VERSION-$ARCH-$BUILD"
PKG="/tmp/$package"

# ----------------- Extract sources and get ready to build
cd $CWD
rm -rf $src
tar -xvf $srcpkg
rm -f $PKG.tgz
rm -rf $PKG

cd $src

chown -R root:root .

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \

./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --sysconfdir=/etc \
  --mandir=/usr/man \
  --localstatedir=/var \
  --disable-schemas-compile \
  --disable-libsystemd-login \
  --disable-static 

make -j6
make install DESTDIR=$PKG 


find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null

gzip -9 $PKG/usr/man/man?/*.?

mkdir -p $PKG/usr/doc/$NAME-$VERSION
cp -a \
  AUTHORS ChangeLog COPYING INSTALL license_change NEWS README TODO \
  $PKG/usr/doc/$NAME-$VERSION


mkdir -p $PKG/install
cat << "EODESC" > $PKG/install/slack-desc
         |-----handy-ruler-------------------------------------------------------|
gnome-mpv: gnome-mpv (GUI for the MPV player)
gnome-mpv: 
gnome-mpv: GNOME MPV is a simple GTK+ frontend for mpv. GNOME MPV interacts 
gnome-mpv: with mpv via the client API exported by libmpv, allowing access 
gnome-mpv: to mpv's powerful playback capabilities.
gnome-mpv: 
gnome-mpv: 
gnome-mpv: 
gnome-mpv:
gnome-mpv: 
gnome-mpv: 
gnome-mpv: 

EODESC

cat << DOINST > $PKG/install/doinst.sh
if [ -x /usr/bin/update-desktop-database ]; then
  usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi

if [ -x /usr/bin/gtk-update-icon-cache ]; then
  usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
fi

if [ -x /usr/bin/glib-compile-schemas ]; then
  usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
fi
DOINST

mkdir -p $PKG/usr/src/$NAME-$VERSION
cp $CWD/$NAME.SlackBuild $PKG/usr/src/$NAME-$VERSION

# Packaging
cd $PKG
makepkg -l y -c n $PKG.txz
cd $CWD
rm -rf $src $PKG
BTW, a good repo for x86_64 http://slackware.uk/zenwalk/x86_64/current/zenwalk/
For example, in http://slackware.uk/zenwalk/x86_64/curr ... alk/extra/ is present gksu-2.0.2-x86_64-2jp.txz with localizations of gksu.
Linux 6.6.11-porteus #1 SMP PREEMPT_DYNAMIC Sun Jan 14 12:07:37 MSK 2024 x86_64 Intel(R) Xeon(R) CPU E3-1270 v6 @ 3.80GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Navi 23 [Radeon RX 6600] [1002:73ff] (rev c7) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

User avatar
ncmprhnsbl
DEV Team
DEV Team
Posts: 3924
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

Re: gtk front end for mpv

Post#4 by ncmprhnsbl » 17 Apr 2017, 22:30

nice one Blaze :)
these two packages from zenwalk work OOTB :good:
i have good memories of using zenwalk some years ago...
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

User avatar
brokenman
Site Admin
Site Admin
Posts: 6105
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v4 all desktops
Location: Brazil

Re: gtk front end for mpv

Post#5 by brokenman » 20 Apr 2017, 21:53

Thanks guys. I noticed the missing option of the mpv library but it made no difference during compile time.

The idea of this thread was not to use a package from another distro but to compile natively. Can anyone compile it on Porteus?
How do i become super user?
Wear your underpants on the outside and put on a cape.

Evan
Shogun
Shogun
Posts: 466
Joined: 11 Apr 2016, 09:00
Distribution: Distribution: *

Re: gtk front end for mpv

Post#6 by Evan » 20 Apr 2017, 23:04

I know your asking for it to be compile natively in Porteus but can't it be compiled under a full install of slackware 14.2 and then the *.txz used for Porteus?

At least if it works with full slackware you have a starting point.

User avatar
Blaze
DEV Team
DEV Team
Posts: 3869
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Re: gtk front end for mpv

Post#7 by Blaze » 21 Apr 2017, 18:31

brokenman wrote:Can anyone compile it on Porteus?
I have failed to compile it on Porteus
I builded successfully mpv-0.24.0-x86_64-1_SBo.tgz

Code: Select all

su
toor
mkdir /tmp/mpv
cd /tmp/mpv
wget http://www.freehackers.org/~tnagy/release/waf-1.8.21
wget https://github.com/mpv-player/mpv/archive/v0.24.0.tar.gz
wget https://slackbuilds.org/slackbuilds/14.2/multimedia/mpv.tar.gz
wget https://slackbuilds.org/slackbuilds/14.2/multimedia/mpv.tar.gz.asc
tar -xvf mpv.tar.gz
mv /tmp/mpv/mpv/* /tmp/mpv/
wget http://slackware.uk/people/alien/sbrepos/14.2/x86_64/ffmpeg/ffmpeg-3.2.4-x86_64-1alien.txz
txz2xzm ffmpeg-3.2.4-x86_64-1alien.txz ffmpeg-3.2.4-x86_64-1alien.xzm
activate ffmpeg-3.2.4-x86_64-1alien.xzm
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/l/v4l-utils-1.10.0-x86_64-1.txz
txz2xzm v4l-utils-1.10.0-x86_64-1.txz v4l-utils-1.10.0-x86_64-1.xzm
activate v4l-utils-1.10.0-x86_64-1.xzm
chmod a+x mpv.SlackBuild
./mpv.SlackBuild
but it seems not stable and does not have all that need for this package.

I went with zenwalk mpv-0.24.0-x86_64-3Z.txz
http://slackware.uk/zenwalk/x86_64/curr ... _64-3Z.txz

Code: Select all

su
toor
mkdir /tmp/gnome-mpv
cd /tmp/gnome-mpv
wget https://github.com/gnome-mpv/gnome-mpv/releases/download/v0.11/gnome-mpv-0.11.tar.xz
wget https://slackbuilds.org/mirror/slackware/slackware64-current/slackware64/l/ncurses-6.0-x86_64-2.txz
wget http://slackware.cs.utah.edu/pub/slackware/slackware64-14.2/slackware64/l/libunistring-0.9.3-x86_64-1.txz
wget http://www.slackel.gr/repo/x86_64/current/slackel/extra/libbluray-1.0.0-x86_64-1.txz
wget http://repository.slacky.eu/slackware64-14.2/development/lua/5.1.5/lua-5.1.5-x86_64-3sl.txz
txz2xzm ncurses-6.0-x86_64-2.txz ncurses-6.0-x86_64-2.xzm
activate ncurses-6.0-x86_64-2.xzm
txz2xzm libunistring-0.9.3-x86_64-1.txz libunistring-0.9.3-x86_64-1.xzm
activate libunistring-0.9.3-x86_64-1.xzm
txz2xzm libbluray-1.0.0-x86_64-1.txz libbluray-1.0.0-x86_64-1.xzm
activate libbluray-1.0.0-x86_64-1.xzm
txz2xzm lua-5.1.5-x86_64-3sl.txz lua-5.1.5-x86_64-3sl.xzm
activate lua-5.1.5-x86_64-3sl.xzm
chmod a+x gnome-mpv.sh
sh gnome-mpv.sh
I have epic fail :D

Code: Select all

configure: WARNING: unrecognized options: --disable-libsystemd-login, --disable-static


In file included from /usr/include/gtk-3.0/gtk/gtkaboutdialog.h:30:0,
                 from /usr/include/gtk-3.0/gtk/gtk.h:31,
                 from gmpv_application.h:23,
                 from gmpv_actionctl.h:25,
                 from gmpv_actionctl.c:27:
gmpv_actionctl.c: В функции «show_open_dialog_handler»:
/usr/include/gtk-3.0/gtk/gtkdialog.h:92:42: предупреждение: в передаче аргумента 1 «gtk_widget_show_all»: несовместимый тип указателя [-Wincompatible-pointer-types]
 #define GTK_DIALOG(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_DIALOG, GtkDialog))
                                          ^
gmpv_common.h:55:55: замечание: in expansion of macro «GTK_DIALOG»
 #define gmpv_file_chooser_show(x) gtk_widget_show_all(GTK_DIALOG(x))
                                                       ^
gmpv_actionctl.c:325:2: замечание: in expansion of macro «gmpv_file_chooser_show»
  gmpv_file_chooser_show(open_dialog);
  ^
In file included from /usr/include/gtk-3.0/gtk/gtkapplication.h:27:0,
                 from /usr/include/gtk-3.0/gtk/gtkwindow.h:33,
                 from /usr/include/gtk-3.0/gtk/gtkdialog.h:33,
                 from /usr/include/gtk-3.0/gtk/gtkaboutdialog.h:30,
                 from /usr/include/gtk-3.0/gtk/gtk.h:31,
                 from gmpv_application.h:23,
                 from gmpv_actionctl.h:25,
                 from gmpv_actionctl.c:27:
/usr/include/gtk-3.0/gtk/gtkwidget.h:632:12: замечание: expected «GtkWidget * {aka struct _GtkWidget *}» but argument is of type «GtkDialog * {aka struct _GtkDialog *}»
 void       gtk_widget_show_all            (GtkWidget           *widget);


  CC       media_keys/gnome_mpv-gmpv_media_keys.o
  CCLD     gnome-mpv
/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../../../lib64/libmpv.so: undefined reference to `vaSetErrorCallback'
/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../../../lib64/libmpv.so: undefined reference to `ass_set_check_readorder'
/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../../../lib64/libmpv.so: undefined reference to `vaSetInfoCallback'
/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../../../lib64/libmpv.so: undefined reference to `av_buffersink_get_hw_frames_ctx@LIBAVFILTER_6'
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make[2]: *** [Makefile:500: gnome-mpv] Error 1
make[2]: выход из каталога «/tmp/source/gnome-mpv-0.11/src»
make[1]: *** [Makefile:399: all] Error 2
make[1]: выход из каталога «/tmp/source/gnome-mpv-0.11/src»
make: *** [Makefile:400: all-recursive] Error 1
Making install in src
make[1]: вход в каталог «/tmp/source/gnome-mpv-0.11/src»
make  install-am
make[2]: вход в каталог «/tmp/source/gnome-mpv-0.11/src»
  CCLD     gnome-mpv
/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../../../lib64/libmpv.so: undefined reference to `vaSetErrorCallback'
/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../../../lib64/libmpv.so: undefined reference to `ass_set_check_readorder'
/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../../../lib64/libmpv.so: undefined reference to `vaSetInfoCallback'
/usr/lib64/gcc/x86_64-slackware-linux/5.4.0/../../../../lib64/libmpv.so: undefined reference to `av_buffersink_get_hw_frames_ctx@LIBAVFILTER_6'
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make[2]: *** [Makefile:500: gnome-mpv] Error 1
make[2]: выход из каталога «/tmp/source/gnome-mpv-0.11/src»
make[1]: *** [Makefile:1053: install] Error 2
make[1]: выход из каталога «/tmp/source/gnome-mpv-0.11/src»
make: *** [Makefile:400: install-recursive] Error 1
find: `/tmp/gnome-mpv-0.11-x86_64-1jp': Нет такого файла или каталога
Usage: file [-bcEhikLlNnprsvzZ0] [--apple] [--extension] [--mime-encoding] [--mime-type]
            [-e testname] [-F separator] [-f namefile] [-m magicfiles] file ...
       file -C [-m magicfiles]
       file [--help]
gzip: /tmp/gnome-mpv-0.11-x86_64-1jp/usr/man/man?/*.?: No such file or directory
cp: не удалось выполнить stat для 'ChangeLog': Нет такого файла или каталога
cp: не удалось выполнить stat для 'INSTALL': Нет такого файла или каталога
cp: не удалось выполнить stat для 'license_change': Нет такого файла или каталога
cp: не удалось выполнить stat для 'NEWS': Нет такого файла или каталога
cp: не удалось выполнить stat для 'README': Нет такого файла или каталога
cp: не удалось выполнить stat для 'TODO': Нет такого файла или каталога
cp: не удалось выполнить stat для '/tmp/source/gnome-mpv.SlackBuild': Нет такого файла или каталога
no comments :wall:
Linux 6.6.11-porteus #1 SMP PREEMPT_DYNAMIC Sun Jan 14 12:07:37 MSK 2024 x86_64 Intel(R) Xeon(R) CPU E3-1270 v6 @ 3.80GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Navi 23 [Radeon RX 6600] [1002:73ff] (rev c7) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

User avatar
brokenman
Site Admin
Site Admin
Posts: 6105
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v4 all desktops
Location: Brazil

Re: gtk front end for mpv

Post#8 by brokenman » 23 Apr 2017, 01:02

Actually Blaze I just fully tested the gnome-mpv-0.11-x86_64-1jp.txz file and it works wonderfully. I repacked it and included it in the latest porteus-current version. Yaaay, hardware acceleration working correctly for hires video. Thanks bud.
How do i become super user?
Wear your underpants on the outside and put on a cape.

Evan
Shogun
Shogun
Posts: 466
Joined: 11 Apr 2016, 09:00
Distribution: Distribution: *

Re: gtk front end for mpv

Post#9 by Evan » 23 Apr 2017, 08:46

brokenman wrote:hardware acceleration working correctly.
:)

I take it that MPV runs better than Mplayer now then?

fulalas
DEV Team
DEV Team
Posts: 2050
Joined: 26 Oct 2016, 15:34
Distribution: Porteus
Location: Brazil

Re: gtk front end for mpv

Post#10 by fulalas » 30 Jun 2017, 14:27

Evan wrote:I take it that MPV runs better than Mplayer now then?
I forgot to answer that, but yes, in my opinion Mpv is doing a better job than MPlayer for a long time. I've been telling you guys about that since the beginning of my activity here in this forum.

One of the best things Mpv has is the ability to sync the frame rate with the display refresh rate, so you can have videos with no stutter (unfortunately it doesn't have this option set by default)! Besides that, Mpv opens pretty much anything you can imagine, even Youtube links. Regarding hardware decoding, I don't know how MPlayer deals with it, but Mpv works pretty well. :good:

User avatar
brokenman
Site Admin
Site Admin
Posts: 6105
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v4 all desktops
Location: Brazil

Re: gtk front end for mpv

Post#11 by brokenman » 30 Jun 2017, 18:38

I moved to mpv after needing an alternative and seeing Fulalas post it. In my case it works much better.
How do i become super user?
Wear your underpants on the outside and put on a cape.

Post Reply