I want to build a snap using the following snapcraft.yml
:
name: minitube
base: core18
version: '3.2'
summary: Flavio Toldini's minitube youtube player.
description: |
"Watch YouTube videos in a new way: you type a keyword, Minitube gives you an endless video stream.
Minitube is not about cloning the YouTube website, it aims to create a new TV-like experience."
grade: devel
confinement: devmode
apps:
minitube:
command: bin/desktop-launch bin/ninitube
plugs: [x11, network, home]
environment:
LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/local/lib
parts:
libmpv:
source: https://github.com/mpv-player/mpv-build.git
plugin: nil
override-build : |
pip3 install youtube-dl
echo --enable-libx264 >> ffmpeg_options
echo --enable-libmp3lame >> ffmpeg_options
echo --enable-libfdk-aac >> ffmpeg_options
echo --enable-nonfree >> ffmpeg_options
echo --enable-libmpv-shared > mpv_options
./use-mpv-custom v0.29.1
./update
./rebuild -j4
sudo ./install
build-packages:
- dh-autoreconf
- build-essential
- libfreetype6-dev
- libfribidi-dev
- libfontconfig1-dev
- yasm
- libmp3lame-dev
- libx264-dev
- libfdk-aac-dev
- libpulse-dev
- python3
- python3-pip
qt5:
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
source-subdir: qt
plugin: make
make-parameters: ["FLAVOR=qt5"]
build-packages:
- qtbase5-dev
- dpkg-dev
stage-packages:
- libxkbcommon0
- ttf-ubuntu-font-family
- dmz-cursor-theme
- light-themes
- adwaita-icon-theme
- gnome-themes-standard
- shared-mime-info
- libqt5gui5
- libgdk-pixbuf2.0-0
- libqt5svg5 # for loading icon themes which are svg
- try: [appmenu-qt5] # not available on core18
- locales-all
app:
source: .
plugin: qmake
options:
- "DEFINES += APP_GOOGLE_API_KEY=${GOOGLE_API_KEY}"
build-snaps:
- kde-frameworks-5-core18-sdk
- kde-frameworks-5-core18
override-build: |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SNAP/usr/local/lib
snapcraftctl build
after:
- qt5
- libmpv
But once I build the following app part I get the following response:
qmake LIBS+="-L/home/pc_magas/minitube/stage/lib" LIBS+="-L/home/pc_magas/minitube/stage/usr/lib" LIBS+="-L/home/pc_magas/minitube/stage/lib/x86_64-linux-gnu" LIBS+="-L/home/pc_magas/minitube/stage/usr/lib/x86_64-linux-gnu" INCLUDEPATH+="/home/pc_magas/minitube/stage/usr/include" DEFINES += APP_GOOGLE_API_KEY=${GOOGLE_API_KEY}
Project MESSAGE: Building Minitube 3.2
Project MESSAGE: Qt 5.12.0 in /opt/qt512
make -j2
/opt/qt512/bin/lrelease locale/ar.ts -qm build/target/locale/ar.qm
make: /opt/qt512/bin/lrelease: Command not found
/opt/qt512/bin/lrelease locale/ast.ts -qm build/target/locale/ast.qm
make: /opt/qt512/bin/lrelease: Command not found
Makefile:904: recipe for target 'build/target/locale/ar.qm' failed
make: *** [build/target/locale/ar.qm] Error 127
make: *** Waiting for unfinished jobs....
Makefile:907: recipe for target 'build/target/locale/ast.qm' failed
make: *** [build/target/locale/ast.qm] Error 127
Failed to run 'make -j2' for 'app': Exited with code 2.
Verify that the part is using the correct parameters and try again.
So how I can install the lrelease for QT 5.12? Because the developer of the software that I snap sometimes may use the latest and greatest version of Qt without any warning I want to be able to build from source.