Introdução
O
QMPlay2 é um reprodutor multimídia completo, altamente customizável. É possível sua instalação via
SlackBuilds, mas a versão presente nesse repositório não está atualizado para a última versão. Caso queira esse programa atualizado no
Slackware Current, siga os passos a seguir.
Mapeando as Dependências
A primeira coisa que se deve analisar, são as dependências do programa. Para mapear todas as dependências do QMPlay2 foi necessário estudar a documentação do programa no GIT, mas para complementar busquei informações no repositório AUR do Arch
Linux, já que o nome dos pacotes são parecidos e também por ser uma distro Rolling Release, tendo a versão 20.12.16 do programa que é o que queremos.
No fim, cheguei nesse resultado:
- alsa-lib: já instalado.
- ffmpeg: já instalado.
- libass: não instalado.
- libcddb: já instalado.
- libcdio: já instalado.
- libgl: já disponível no Mesa.
- libgme: não instalado.
- libpulse: já disponível no PulseAudio.
- libsidplayfp: não instalado.
- libva: já instalado.
- libxv: já disponível no X11.
- qt5: já instalado (estou considerando uma instalação completa do Slackware).
- taglib: já instalado.
- pulseaudio: já instalado.
- portaudio: não instalado.
Aqui, vimos que só precisamos dos pacotes:
- libass
- libgme
- libsidplayfp
- portaudio
A seguir, vamos instalar as dependências e o QMPlay2 atualizado.
Instalando o Qmplay2
Para a instalação do QMPlay2 atualizado no Slackware, vamos utilizar os scripts desse repositório:
Em um terminal, use esses comandos para baixar as dependências:
wget -c https://raw.githubusercontent.com/MauricioFerrari-NovaTrento/Slackware15-Reposity/master/Scripts/libass.SlackBuild
$ wget -c https://raw.githubusercontent.com/MauricioFerrari-NovaTrento/Slackware15-Reposity/master/Scripts/libgme.SlackBuild
$ wget -c https://raw.githubusercontent.com/MauricioFerrari-NovaTrento/Slackware15-Reposity/master/Scripts/libsidplayfp.SlackBuild
$ wget -c https://raw.githubusercontent.com/MauricioFerrari-NovaTrento/Slackware15-Reposity/master/Scripts/portaudio.SlackBuild
$ wget -c https://raw.githubusercontent.com/MauricioFerrari-NovaTrento/Slackware15-Reposity/master/Scripts/xa.SlackBuild
O
xa é uma dependência do "libsidplayfp", portanto, os scripts devem ser executados dessa ordem (e como root):
# chmod +x *SlackBuild ; ./xa.SlackBuild ; upgradepkg --installnew *txz
# ./libsidplayfp.SlackBuild ; ./libass.SlackBuild ; ./libgme.SlackBuild ; ./portaudio.SlackBuild ; upgradepkg --install-new *txz
Agora, vamos gerar o pacote do QMPlay2:
wget -c https://raw.githubusercontent.com/MauricioFerrari-NovaTrento/Slackware15-Reposity/master/Scripts/qmplay2.SlackBuild
Para gerar os pacotes é o mesmo processo:
# chmod +x qmplay2.SlackBuild ; ./qmplay2.SlackBuild
Agora com os pacotes gerados, é só instalar:
# upgradepkg --install-new QMPlay2*txz
Após a instalação do pacote o programa já estará pronto para ser executado no sistema.
Conclusão
A ideia foi oferecer mais uma alternativa de instalação do QMPlay2 no Slackware. Para evitar qualquer problema na hora de compilar, fiz questão de incluir o portaudio, sendo ele uma dependência opcional. Outra precaução foi incluir o "libsidplayfp" já que é listado como dependência também na documentação.
No repositório do Slackbuilds, o que tinha era apenas o "libass" e o "libgme". Provavelmente o programa deve compilar apenas com essas dependências, mas desabilitando recursos pela falta das dependências, conforme documentado.
Pode ser usado como alternativa ao VLC, mas pode ser usado também como alternativa ao Audacious, Clementine, etc.
Referências
1. Introdução
De boas @mauricio? eu sou o mantenedor deste SlackBuild e o mesmo (pro Stable) já vem desatualizado por um bom tempo, só rola no Current, da última vez que tentei empacotar uma nova versão no 14.2 deu nisso:
"
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Checking for module 'libavformat>=57.71.100'
--
CMake Error at /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:363 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:528 (_pkg_check_modules_internal)
CMakeLists.txt:37 (pkg_check_modules)
-- Configuring incomplete, errors occurred!
See also "/tmp/SBo/QMPlay2-20.07.04/CMakeFiles/CMakeOutput.log".
"
Quando enfim 0 15.0 estiver no Beta, todos os Slackbuilds serão atualizados e esse em particular deixará de depender de (qt5, ffmpeg, etc) que já virão inclusos por padrão.
Já no Current, essa versão que testei, vai de boa:
# cmake -L
CMake Warning:
No source or binary directory provided. Both will be assumed to be the
same as the current working directory, but note that this warning will
become a fatal error in future CMake releases.
-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Checking for module 'libavformat>=57.71.100'
-- Found libavformat, version 58.45.100
-- Checking for module 'libavcodec>=57.89.100'
-- Found libavcodec, version 58.91.100
-- Checking for module 'libswscale>=4.6.100'
-- Found libswscale, version 5.7.100
-- Checking for module 'libavutil>=55.58.100'
-- Found libavutil, version 56.51.100
-- Checking for module 'libswresample>=2.7.100'
-- Found libswresample, version 3.7.100
-- Checking for module 'taglib'
-- Found taglib, version 1.11.1
-- Checking for modules 'libva>=1.1.0;libva-drm'
-- Found libva, version 1.10.0
-- Found libva-drm, version 1.10.0
-- Checking for modules 'vdpau;x11'
-- Found vdpau, version 1.4
-- Found x11, version 1.7.0
-- Checking for module 'libavdevice'
-- Found libavdevice, version 58.10.100
-- Checking for modules 'libcdio;libcddb'
-- Found libcdio, version 2.1.0
-- Found libcddb, version 1.3.2
-- Checking for module 'libsidplayfp'
-- No package 'libsidplayfp' found
-- Checking for module 'libpulse-simple'
-- Found libpulse-simple, version 14.2
-- Checking for modules 'x11;xv'
-- Found x11, version 1.7.0
-- Found xv, version 1.0.11
fatal: not a git repository (or any parent up to mount point /mnt)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
CMake Error at CMakeLists.txt:371 (add_subdirectory):
The source directory
/mnt/backup/SLACKWARE/SlackBuilds/Outdated/QMPlay2/QMPlay2-20.07.04/src/qmvk
does not contain a CMakeLists.txt file.
-- Checking for module 'libass'
-- Found libass, version 0.14.0
-- Checking for module 'libavdevice'
-- Found libavdevice, version 58.10.100
-- Checking for modules 'libva;libva-glx;libva-drm;egl'
-- Found libva, version 1.10.0
-- Found libva-glx, version 1.10.0
-- Found libva-drm, version 1.10.0
-- Found egl, version 1.5
-- Checking for module 'vdpau'
-- Found vdpau, version 1.4
-- Checking for modules 'libcdio;libcddb'
-- Found libcdio, version 2.1.0
-- Found libcddb, version 1.3.2
-- Found ALSA: /usr/lib64/libasound.so (found version "1.2.4")
-- Checking for module 'libpulse-simple'
-- Found libpulse-simple, version 14.2
-- Checking for modules 'x11;xv'
-- Found x11, version 1.7.0
-- Found xv, version 1.0.11
-- Checking for module 'taglib'
-- Found taglib, version 1.11.1
-- Enabled features:
* OpenGL, Build with OpenGL support
* Vulkan, Build with Vulkan support
* Freedesktop notifications, Use Freedesktop notifications
* MediaBrowser, Build with MediaBrowser support
* LastFM, Build with LastFM support
* Lyrics, Build with lyrics support
* libass, Build with libass support
* Inputs, Build with Inputs module
* Modplug, Build with Modplug module
* Extensions, Build with Extensions module
* MPRIS2, Build Extensions with MPRIS2 support
* Visualizations, Build with Visualizations module
* AudioFilters, Build with AudioFilters module
* VideoFilters, Build with VideoFilters module
* TagLib, Build with tags editor
* VAAPI, Build VAAPI acceleration into FFmpeg
* VDPAU, Build VDPAU acceleration into FFmpeg
* libavdevice, Build FFmpeg with libavdevice suport
* AudioCD, Build with AudioCD module
* ALSA, Build with ALSA module
* Chiptune GME, Build Chiptune with GME support
* PulseAudio, Build with PulseAudio module
* XVideo, Build with XVideo module
* CUVID, Build with CUVID module
* Notifications, Build additional notifications module
-- Disabled features:
* PCH, Use precompiled headers
* GLSLC, Compile Vulkan shaders
* PortAudio, Build with PortAudio module
* Chiptune SIDPLAY, Build Chiptune with SIDPLAY support
* FindHwaccelDrivers, Find drivers path for hwaccel
* Git version, Append Git HEAD to QMPlay2 version
* Link Time Optimization, Enable link time optimization for release builds
* Address Sanitizer, Use Address Sanitizer
* Undefined Behavior Sanitizer, Use Undefined Behavior Sanitizer
* SolidActions, Install Solid actions
-- Build type: Release
-- Configuring incomplete, errors occurred!
See also "/mnt/backup/SLACKWARE/SlackBuilds/Outdated/QMPlay2/QMPlay2-20.07.04/CMakeFiles/CMakeOutput.log".
-- Cache values
CMAKE_BUILD_TYPE:STRING=
CMAKE_INSTALL_PREFIX:PATH=/usr/local
FIND_HWACCEL_DRIVERS_PATH:BOOL=OFF
GZIP:FILEPATH=/usr/bin/gzip
LANGUAGES:STRING=All
Qt5Core_DIR:PATH=/usr/lib64/cmake/Qt5Core
Qt5DBus_DIR:PATH=/usr/lib64/cmake/Qt5DBus
Qt5Gui_DIR:PATH=/usr/lib64/cmake/Qt5Gui
Qt5LinguistTools_DIR:PATH=/usr/lib64/cmake/Qt5LinguistTools
Qt5Network_DIR:PATH=/usr/lib64/cmake/Qt5Network
Qt5Qml_DIR:PATH=/usr/lib64/cmake/Qt5Qml
Qt5Svg_DIR:PATH=/usr/lib64/cmake/Qt5Svg
Qt5Widgets_DIR:PATH=/usr/lib64/cmake/Qt5Widgets
SET_INSTALL_RPATH:BOOL=OFF
SOLID_ACTIONS_INSTALL_PATH:STRING=
USE_ALSA:BOOL=ON
USE_ASAN:BOOL=OFF
USE_AUDIOCD:BOOL=ON
USE_AUDIOFILTERS:BOOL=ON
USE_CHIPTUNE_GME:BOOL=ON
USE_CHIPTUNE_SID:BOOL=OFF
USE_CUVID:BOOL=ON
USE_EXTENSIONS:BOOL=ON
USE_FFMPEG_AVDEVICE:BOOL=ON
USE_FFMPEG_VAAPI:BOOL=ON
USE_FFMPEG_VDPAU:BOOL=ON
USE_FREEDESKTOP_NOTIFICATIONS:BOOL=ON
USE_GIT_VERSION:BOOL=ON
USE_GLSLC:BOOL=OFF
USE_INPUTS:BOOL=ON
USE_LASTFM:BOOL=ON
USE_LIBASS:BOOL=ON
USE_LINK_TIME_OPTIMIZATION:BOOL=OFF
USE_LYRICS:BOOL=ON
USE_MEDIABROWSER:BOOL=ON
USE_MODPLUG:BOOL=ON
USE_MPRIS2:BOOL=ON
USE_NOTIFY:BOOL=ON
USE_OPENGL:BOOL=ON
USE_PCH:BOOL=OFF
USE_PORTAUDIO:BOOL=OFF
USE_PULSEAUDIO:BOOL=ON
USE_TAGLIB:BOOL=ON
USE_UBSAN:BOOL=OFF
USE_VIDEOFILTERS:BOOL=ON
USE_VISUALIZATIONS:BOOL=ON
USE_VULKAN:BOOL=ON
USE_XVIDEO:BOOL=ON