SliTaz SliTaz Forum

You are not logged in.

#1 2017-02-24 17:35:56

I-Jurij
Member
Registered: 2015-10-10
Posts: 148

mpv-git light static

A new portable version mpv-git https://yadi.sk/d/qnCXV7NT3EXJVZ

Устанавливается в /opt, другим версиям mpv не мешает.

Install to /opt, that install other version mpv.

Еще более легкий, как в размере, так и в требуемых ресурсах.

An even easier, both in amount and in the required resources.

OSC-меню работает более стабильно, чем в mpv24.

OSC-menu is more stable than in the mpv24.

Offline

#2 2017-02-24 20:52:52

I-Jurij
Member
Registered: 2015-10-10
Posts: 148

Re: mpv-git light static

Для самой малой нагрузки на проц ~/.config/mpv/mpv.conf:

[c]framedrop=vo
vd-lavc-framedrop=nonref
vd-lavc-skiploopfilter=nonref
vd-lavc-skipidct=nonref
vd-lavc-skipframe=nonref[/c]

Offline

#3 2017-03-02 19:02:01

I-Jurij
Member
Registered: 2015-10-10
Posts: 148

Re: mpv-git light static

Script for automated download & build & install mpv-git to /opt.

This is a take enough many time.

Warning: need to install many depends-dev for build. You may remove their after install.

AS IS, "error" resolve only you, as all work for me.

[c]#!/bin/bash

#install DEPENDS
echo "Before execute the script, need to install DEPENDS-dev for fmpeg and mpv build. After install mpv-git you may remove DEPENDS-dev manually if this need (see string 263 of this script)."
echo ""

echo -n "Install? (y/N)"
read item
case "$item" in
    y|Y) echo "Enter «y», install..."
        for i in lcms2-dev xorg-libXv-dev xorg-libX11-dev xorg-libXext-dev glibc-base-dev  libxcb-dev alsa-lib-dev libsdl2-dev liblzma-dev bzlib zlib-dev libjpeg-dev libv4l-dev libdrm-dev xorg-libXinerama-dev xorg-libXrandr-dev mesa-dev libegl-mesa-dev xorg-libXau-dev xorg-libXdmcp-dev libpng-dev glib-dev pcre-dev libxml2-dev libtasn1-dev nettle-dev gmp-dev libtinfo-dev xorg-libXrender-dev xorg-libXdamage-dev xorg-libXfixes-dev libxcb-dev xorg-libXxf86vm-dev udev-dev
        do tazpkg --forced -gi $i
        done
        ;;
    n|N) echo "Enter «n», exit..."
        exit 0
        ;;
    *) echo "Nothing enter, default..."
        ;;
esac

#start script
set -e
cd /tmp

#variables and functions
CFGFLAGS_ffmpeg=""
CFGFLAGS_mpv=""

if [ "x$CORES" == "x" ]; then
    CORES=$(cat /proc/cpuinfo | grep processor | wc -l)
fi

dvdread_version=5.0.0
dvdnav_version=5.0.1
lua_version=5.2.4
fontconfig_version=2.12.1
freetype2_version=2.7.1
libass_version=0.13.6
fribidi_version=0.19.7
ffmpeg_version=3.2.4
mpv_version=0.24.0

get_git() {
    if [ -d $1 ]; then
        cd $1
        git pull
        cd ..
    else
        f=""
        [ $FAST_GIT_CLONE -eq 1 ] && f="$f --depth=1"
        git clone $f $2 $1
    fi
}

get_svn() {
    if [ -d $1 ]; then
        cd $1
        svn up
        cd ..
    else
        svn co $2 $1
    fi
}

get_hg() {
    if [ -d $1 ]; then
        cd $1
        hg pull
        hg update
        cd ..
    else
        hg clone $2 $1
    fi
}

dl_and_extract() {
    if [ ! -d $1 ]; then
        if [ "x$4" != "x" ]; then
            arname=$4.$3
        else
            arname=archive.$3
            rm -f $arname
        fi
        [ -f $arname ] || wget "$2" -O $arname
        tar xvf $arname
        [ "x$4" != "x" ] && mv $4 $1
    fi
}

dircd() {
    mkdir -p $1
    cd $1
}

conf_mk_mkinstall() {
    dircd $1
    if [ "x$3" != "x" ]; then
        cd $SRC/$1
        /bin/bash -c "$3"
        cd -
    fi
    $SRC/$1/configure $2 --prefix=$PRFX
    make -j$CORES
    make install
    cd ..
}

#downloads sources
echo "== Retrieving sources"
dircd src

echo "=== mpv"
GIT_SSL_NO_VERIFY=true get_git mpv https://github.com/mpv-player/mpv.git

echo "=== ffmpeg"
GIT_SSL_NO_VERIFY=true get_git ffmpeg https://github.com/FFmpeg/FFmpeg.git

echo "=== freetype2"
dl_and_extract freetype2 http://download.savannah.gnu.org/releases/freetype/freetype-${freetype2_version}.tar.bz2 tar.bz2 freetype-${freetype2_version}

echo "=== fribidi"
dl_and_extract fribidi http://fribidi.org/download/fribidi-${fribidi_version}.tar.bz2 tar.bz2 fribidi-${fribidi_version}

echo "=== fontconfig"
dl_and_extract fontconfig https://www.freedesktop.org/software/fontconfig/release/fontconfig-${fontconfig_version}.tar.bz2  tar.bz2 fontconfig-${fontconfig_version}

echo "=== libass"
dl_and_extract libass https://github.com/libass/libass/releases/download/${libass_version}/libass-${libass_version}.tar.gz tar.gz libass-${libass_version}

echo "=== lua"
dl_and_extract lua http://www.lua.org/ftp/lua-${lua_version}.tar.gz tar.gz lua-${lua_version}
sed -i 's/$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"/$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline -lncurses"/g' <code>pwd</code>/lua/src/Makefile

echo "=== libdvdcss"
GIT_SSL_NO_VERIFY=true get_git libdvdcss http://code.videolan.org/videolan/libdvdcss.git

echo "=== libdvdread"
dl_and_extract libdvdread http://www.videolan.org/pub/videolan/libdvdread/${dvdread_version}/libdvdread-${dvdread_version}.tar.bz2 tar.bz2 libdvdread-${dvdread_version}

echo "=== libdvdnav"
dl_and_extract libdvdnav http://www.videolan.org/pub/videolan/libdvdnav/${dvdnav_version}/libdvdnav-${dvdnav_version}.tar.bz2 tar.bz2 libdvdnav-${dvdnav_version}

#building
echo "== Building"
cd ..
mkdir -p target
export PRFX=/tmp/target
export SRC=/tmp/src
export BLD=/tmp/build
export PKG_CONFIG_PATH=$PRFX/lib/pkgconfig
export LD_LIBRARY_PATH=$PRFX/lib
export PATH=$PRFX/bin:$PATH
dircd build

echo "=== fribidi"
conf_mk_mkinstall fribidi "--enable-static --disable-shared --without-glib"

echo "=== freetype2"
conf_mk_mkinstall freetype2 "--disable-static"

echo "=== fontconfig"
conf_mk_mkinstall fontconfig "--disable-docs --enable-libxml2"

echo "=== libass"
conf_mk_mkinstall libass "--enable-static --disable-shared"

echo "=== libdvdcss"
conf_mk_mkinstall libdvdcss "" "autoreconf -i"
echo "=== libdvdread"
conf_mk_mkinstall libdvdread ""
echo "=== libdvdnav"
conf_mk_mkinstall libdvdnav ""

echo "=== lua"
    cd $SRC/lua
    make linux -j$CORES
    make INSTALL_TOP=$PRFX install
    cat >$PRFX/lib/pkgconfig/lua.pc <<MEOW # Create a pkgconfig file for mpv to find lua
V=5.2
R=$lua_version

prefix=$PRFX
INSTALL_BIN=\${prefix}/bin
INSTALL_INC=\${prefix}/include
INSTALL_LIB=\${prefix}/lib
INSTALL_MAN=\${prefix}/man/man1
INSTALL_LMOD=\${prefix}/share/lua/\${V}
INSTALL_CMOD=\${prefix}/lib/lua/\${V}
exec_prefix=\${prefix}
libdir=\${exec_prefix}/lib
includedir=\${prefix}/include

Name: Lua
Description: An Extensible Extension Language
Version: \${R}
Requires:
Libs: -L\${libdir} -llua -lm
Cflags: -I\${includedir}

MEOW
    cd -

echo "=== ffmpeg"
dircd ffmpeg
CONFF="--enable-libass --enable-libfreetype --enable-gnutls --disable-debug --disable-doc --enable-pic --enable-static --disable-shared --enable-nonfree --enable-runtime-cpudetect --enable-avresample --enable-pthreads --enable-small"
$SRC/ffmpeg/configure $CFGFLAGS_ffmpeg --prefix=$PRFX --cc=gcc-63 $CONFF
unset CONFF
make -j$CORES
make install
cd ..

echo "=== mpv"
dircd mpv
cd $SRC/mpv
./bootstrap.py
./waf configure $CFGFLAGS_mpv \
    --prefix=$PRFX \
    --lua=52 \
    --enable-sdl2

./waf build -j$CORES
./waf install
cd -

#build tazpkg mpv-git
    mkdir -p /tmp/mpv-git
    mkdir -p /tmp/mpv-git/fs/
    mkdir -p /tmp/mpv-git/fs/etc
    mkdir -p /tmp/mpv-git/fs/etc/mpv
    cp $SRC/mpv/etc/*.conf /tmp/mpv-git/fs/etc/mpv

    mkdir -p /tmp/mpv-git/fs/opt
    mkdir -p /tmp/mpv-git/fs/opt/mpv-git
    cp $PRFX/bin/mpv /tmp/mpv-git/fs/opt/mpv-git/mpv
    mkdir -p /tmp/mpv-git/fs/opt/mpv-git/lib
    cp -a $PRFX/lib/*so* /tmp/mpv-git/fs/opt/mpv-git/lib

    mkdir -p /tmp/mpv-git/fs/usr
    mkdir -p /tmp/mpv-git/fs/usr/local
    mkdir -p /tmp/mpv-git/fs/usr/local/bin
    echo "#!/bin/sh" > /tmp/mpv-git/fs/usr/local/bin/mpv-git
    echo "LD_LIBRARY_PATH=\"/opt/mpv-git/lib\" exec \"/opt/mpv-git/mpv\" \"\$@\"" >> /tmp/mpv-git/fs/usr/local/bin/mpv-git
    chmod a+x /tmp/mpv-git/fs/usr/local/bin/mpv-git

    mkdir -p /tmp/mpv-git/fs/usr/local/share
    mkdir -p /tmp/mpv-git/fs/usr/local/share/applications
    cp $PRFX/share/applications/mpv.desktop /tmp/mpv-git/fs/usr/local/share/applications/mpv-git.desktop
    sed -i "s/mpv/mpv-git/g" /tmp/mpv-git/fs/usr/local/share/applications/mpv-git.desktop

    mkdir -p /tmp/mpv-git/fs/usr/local/share/icons
    cp -a $PRFX/share/icons/* /tmp/mpv-git/fs/usr/local/share/icons
    cat >/tmp/mpv-git/receipt <<MEOW
# SliTaz package receipt
PACKED_SIZE="12.0K"
UNPACKED_SIZE="8.0K"
PACKAGE="mpv-git"
VERSION="3"
CATEGORY="multimedia"
SHORT_DESC="Multimedia player"
MAINTAINER=""
DEPENDS="lcms2 xorg-libXv xorg-libX11 xorg-libXext glibc-base  libxcb alsa-lib libsdl2 liblzma bzlib zlib libjpeg libv4l libdrm xorg-libXinerama xorg-libXrandr mesa libegl-mesa xorg-libXau xorg-libXdmcp libpng glib pcre libxml2 libtasn1 nettle gmp libtinfo xorg-libXrender xorg-libXdamage xorg-libXfixes libxcb xorg-libXxf86vm udev lua"
PROVIDE="mpv"

# Rules to configure and make the package.
#compile_rules()
#{
#}

# Rules to gen a SliTaz package suitable for Tazpkg.
#genpkg_rules()
#{
#    mkdir -p $fs/usr
#    cp -a $_pkg/usr/bin $fs/usr
#}

MEOW

cd /tmp

tazpkg pack mpv-git
tazpkg -i mpv-git.tazpkg
rm mpv-git.tazpkg

#clean work directory and tmp
rm -rf /tmp/target
rm -rf /tmp/src
rm -rf /tmp/build

echo "Done."[/c]

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.018 seconds, 7 queries executed - Memory usage: 1.55 MiB (Peak: 1.77 MiB) ]