-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create a Pull Request for an AppImage Travis build #3558
Comments
Reopening and splitting this off so we have a place to discuss prior to the PR. #
# WARNING QT5 ONLY
#
#
# PREREQUISITES
#
# Optional, so package can be signed
sudo apt-get install gnupg2
# Fetch portable linuxdeployqt
wget https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage -O ~/linuxdeployqt
chmod +x ~/linuxdeployqt
#
# BUILDING
#
# Important! Setup custom "/usr" prefix, use "../target/" as DESTDIR instead
mkdir -p ../target/usr
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DWANT_QT5=True
make DESTDIR=../target/ -j4 install
#
# PACKAGING
#
# Make skeleton AppDir
rm -rf ../LMMS.AppDir
# Clone install to AppDir
cp -R ../target/ ../LMMS.AppDir/
# Prepare the launcher
mv ../LMMS.AppDir/usr/share/applications/lmms.desktop ../LMMS.AppDir/
mv ../LMMS.AppDir/usr/share/pixmaps/lmms.png ../LMMS.AppDir/
# Cleanup orphaned directories
rmdir ../LMMS.AppDir/usr/share/applications/
rmdir ../LMMS.AppDir/usr/share/pixmaps/
# Workaround per https://github.com/probonopd/linuxdeployqt/issues/52
# export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/pulseaudio/:$LD_LIBRARY_PATH
# ^--- Shouldn't be needed anymore via https://github.com/probonopd/linuxdeployqt/commit/9a93e030cff2cb10e9e672ebb3360d30b3099c6d
export LD_LIBRARY_PATH=../LMMS.AppDir/usr/lib/lmms/:$LD_LIBRARY_PATH
# Bundle both qt and non-qt dependencies into appimage format
~/linuxdeployqt ../LMMS.AppDir/usr/bin/lmms \
-executable=../LMMS.AppDir/usr/lib/lmms/RemoteZynAddSubFx \
-bundle-non-qt-libs -appimage
# LMMS-x86_64.AppImage created
@probonopd can you
|
Updated. Here's an AppImage created directly from Ubuntu 14.04 adapted using our existing build process. The above steps are still causing me a bit of grief. I'll wait to receive some help from @probonopd on Gitter or here before submitting a packaging script. https://github.com/tresf/lmms/releases/download/v1.2.0-rc2.113/lmms-1.2.0-rc.2.portable.AppImage |
Hi @tresf thanks for your work on this. Sorry I wasn't able to chime in quicker. To your questions:
The AppDir is a directory that contains the payload application and supporting files and has an executable file called
Quite possibly worth opening tickets (or sending PRs) if you think that some of the warnings should be errors. Thanks.
It is the desktop file of the payload application that you would like to execute. If you invoke |
https://github.com/probonopd/lmms/blob/patch-1/.travis.yml has a work-in-progress |
The file above produced |
By the way, while I agree |
Using the script above, I am able to build LMMS with Qt 5.9 and make a working AppImage.
and after that the AppImage built successfully. I thought the GUI of LMMS would scale when compiled with Qt 5.9, but it didn't... From my experience, there is a flag you can set to make everything scale. Try this: QApplication.setAttribute(Qt.AA_EnableHighDpiScaling, True) |
Edit: It looks like the
Thanks! This conversation really needs to be in #2510. Can you tell us which OSs you've tested this on, but please keep the answers in #2510 as they do not pertain to the
|
I added that line to $ export QT_AUTO_SCREEN_SCALE_FACTOR=1
$ ./LMMS-x86_64.AppImage |
AppImage support has been added to the make install && make appimage These changes will be merged back to master once they've been synchronized. Due to the way the dependencies are bundled the install prefix currently must be something sandboxed, e.g. Also, this PR doesn't not handle automatic uploads of the AppImage packages. @probonopd has recommended we use a service such as |
@probonopd can you create a pull request adding your recipe into something the project can use? You mentioned in #2556 that you were willing to make it happen as a Travis artifact build, if there was any interest. I think it's safe to say now that there is a real interest here despite that issue being locked over purely non-technical issues.
The text was updated successfully, but these errors were encountered: