Gerando Pacote do QMPlay2 20.12.16 no Slackware Current Facilmente

Nesse artigo, será apresentado uma maneira alternativa para instalar o QMPlay2 atualizado no Slackware Current sem SlackBuilds, mas ainda usando scripts para gerar os pacotes para a instalação.

[ Hits: 1.739 ]

Por: Mauricio Ferrari em 25/01/2021 | Blog: https://www.youtube.com/@LinuxDicasPro


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.
Linux: Gerando o Pacote do QMPlay2 20.12.16 no Slackware Current Facilmente

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


   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Criando acima de quatro partições no HD

Compilando o QMPlay2 20.07.04 no Linux Mint 20 e Gerando o Pacote para Instalar

Liberando Memória ajustando o Tamanho das Strings em C

Compilando um Kernel customizado a partir do código-fonte do Kernel do Debian 12

Aplicativos do Windows que já tiveram suporte no Linux

Leitura recomendada

Convertendo arquivo de vídeo em áudio via ffmpeg (incluindo metadados)

Instalação do Jack Audio Connection Kit

Kdenlive - Como desfocar/borrar rosto, área ou objetos em um vídeo

Instalar e utilizar o FFmpeg no Ubuntu

Utilizando a interface V4L2 loopback com ffmpeg e OBS Studio

  
Comentários
[1] Comentário enviado por edps em 25/01/2021 - 15:39h


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

[2] Comentário enviado por maurixnovatrento em 25/01/2021 - 17:57h


Gosto desse reprodutor. Eu estou gerando os pacotes dos programas que eu mais curto e tentando conseguir compilar sempre as últimas versões. Por isso criei esse projeto. Pretendo fazer mais postagens desse tipo.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[3] Comentário enviado por danniel-lara em 25/01/2021 - 21:19h


Muito bom parabéns

[4] Comentário enviado por maurixnovatrento em 25/01/2021 - 23:01h


[3] Comentário enviado por danniel-lara em 25/01/2021 - 21:19h


Muito bom parabéns


Obrigado.

[5] Comentário enviado por edps em 26/01/2021 - 19:09h


@mauricio... você contribui lá no SlackBuilds? é que provavelmente continuarei usando a -current mesmo após o lançamento do 15.0 e por isso devo deixar todos os meus scripts orfãos, daí se vc quiser pegar esse do QMPlay2 basta dizer.

[6] Comentário enviado por maurixnovatrento em 26/01/2021 - 19:47h


[5] Comentário enviado por edps em 26/01/2021 - 19:09h


@mauricio... você contribui lá no SlackBuilds? é que provavelmente continuarei usando a -current mesmo após o lançamento do 15.0 e por isso devo deixar todos os meus scripts orfãos, daí se vc quiser pegar esse do QMPlay2 basta dizer.


Agradeço. Estou querendo contribuir quando sair o Slackware 15 Stable. Estou pensando em contribuir com o Nulloy e o Kazam também. O transmageddon ainda está com alguns problemas e vou querer mandar pacotes zoados no SlackBuilds. Ok, não vai ter problemas para mim manter esse Slackbuilds também.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts