2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-06-08 21:22:25 +00:00

Contributed AppImage and .travis.yml support

This commit is contained in:
probonopd 2017-11-03 21:56:04 +01:00 committed by Jay Berkenbilt
parent 2ebdd6929e
commit 83d82a85d0
4 changed files with 57 additions and 0 deletions

31
.travis.yml Normal file
View File

@ -0,0 +1,31 @@
language: cpp
compiler: gcc
sudo: require
dist: trusty
script:
- ./autogen.sh
- ./configure --prefix=/usr
- make -j$(nproc)
- make check
- make install DESTDIR=$(readlink -f appdir) ; find appdir/
- rm -rf appdir/usr/include/ appdir/usr/lib/pkgconfig/ appdir/usr/lib/*.{a,la} # Don't bundle developer stuff
- sudo mv appdir/usr/lib/* /usr/local/lib/ # Workaround for https://github.com/probonopd/linuxdeployqt/issues/160
- mkdir -p appdir/usr/share/icons/hicolor/128x128/apps ; cp dist/qpdf.png appdir/usr/share/icons/hicolor/128x128/apps/
- mkdir -p appdir/usr/share/applications ; cp dist/qpdf.desktop appdir/usr/share/applications/
- wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
- chmod a+x linuxdeployqt*.AppImage
- unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
- export LD_LIBRARY_PATH=/usr/local/lib/ # Workaround for https://github.com/probonopd/linuxdeployqt/issues/160
- ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -bundle-non-qt-libs
- # In addition to the main executable, we have additional ones to process
- # ./linuxdeployqt*.AppImage ./appdir/usr/bin/fix-qdf -bundle-non-qt-libs # Not an ELF?
- ./linuxdeployqt*.AppImage ./appdir/usr/bin/zlib-flate -bundle-non-qt-libs
- # Generate AppImage
- ./linuxdeployqt*.AppImage --appimage-extract
- rm ./appdir/AppRun ; cp dist/AppRun appdir/ ; chmod a+x ./appdir/AppRun # Replace symlink with custom script
- PATH=./squashfs-root/usr/bin:$PATH ./squashfs-root/usr/bin/appimagetool ./appdir/
after_success:
- find ./appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
- curl --upload-file ./QPDF*.AppImage https://transfer.sh/QPDF-git.$(git rev-parse --short HEAD)-x86_64.AppImage

19
dist/AppRun vendored Normal file
View File

@ -0,0 +1,19 @@
#!/bin/bash
# The purpose of this custom AppRun script is
# to allow symlinking the AppImage and invoking
# the corresponding binary depending on which
# symlink was used to invoke the AppImage
HERE="$(dirname "$(readlink -f "${0}")")"
if [ ! -z $APPIMAGE ] ; then
BINARY_NAME=$(basename "$ARGV0")
if [ -e "$HERE/usr/bin/$BINARY_NAME" ] ; then
exec "$HERE/usr/bin/$BINARY_NAME" "$@"
else
exec "$HERE/usr/bin/qpdf" "$@"
fi
else
exec "$HERE/usr/bin/qpdf" "$@"
fi

7
dist/qpdf.desktop vendored Normal file
View File

@ -0,0 +1,7 @@
[Desktop Entry]
Type=Application
Terminal=true
Exec=qpdf
Name=QPDF
Comment=Structural, content-preserving transformations on PDF files
Icon=qpdf

BIN
dist/qpdf.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB