From 83d82a85d01b2e1e727babbce851a121bf110a50 Mon Sep 17 00:00:00 2001 From: probonopd Date: Fri, 3 Nov 2017 21:56:04 +0100 Subject: Contributed AppImage and .travis.yml support --- .travis.yml | 31 +++++++++++++++++++++++++++++++ dist/AppRun | 19 +++++++++++++++++++ dist/qpdf.desktop | 7 +++++++ dist/qpdf.png | Bin 0 -> 4870 bytes 4 files changed, 57 insertions(+) create mode 100644 .travis.yml create mode 100644 dist/AppRun create mode 100644 dist/qpdf.desktop create mode 100644 dist/qpdf.png diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..16bafa3d --- /dev/null +++ b/.travis.yml @@ -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 diff --git a/dist/AppRun b/dist/AppRun new file mode 100644 index 00000000..8a2e5935 --- /dev/null +++ b/dist/AppRun @@ -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 diff --git a/dist/qpdf.desktop b/dist/qpdf.desktop new file mode 100644 index 00000000..b030a6db --- /dev/null +++ b/dist/qpdf.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Terminal=true +Exec=qpdf +Name=QPDF +Comment=Structural, content-preserving transformations on PDF files +Icon=qpdf diff --git a/dist/qpdf.png b/dist/qpdf.png new file mode 100644 index 00000000..f7a46c6f Binary files /dev/null and b/dist/qpdf.png differ -- cgit v1.2.3-70-g09d2