PrusaSlicer/package/linux/appimage-bundler.sh
Joseph Lenox 1709e20aed Slic3r packaging for Linux via TravisCI (#3831)
* linux packaging script should be functional now (from travis)

* Updated travis to build with distribution

* Moved cache management to script.

* Add perlbrew download

* Point to my server and use the correct perlbrew path.

* added bintray encrypted link

* used right script name

* fixed deploy path and used correct deploy

* Updated to use TRAVIS_COMMIT env variable

* updating deployment for travis

* oops, inverted logic

* Cleanup of files, renamed make_par to make_archive.

Factored out some functions to common/util.sh

* replaced slic3r dir with current dir (not script dir)

* ensured PAR::Packer is installed.

* added -v to install

* can't mix globbing and shell replacement in the same thing.

* adding some debug code, setting sudo: false

* factored out get_app_name

* added set version to utils

* prototype appimage

* cache perlbrew, added ./ to WD in make_archive

* added more noise

* sudo-false takes twice as long to build for some stupid reason.

* make unzip quiet.

* run ldd bundle to see output

* quiet down tar, set ld library path
2017-04-01 23:40:06 -05:00

46 lines
1021 B
Bash
Executable File

#!/bin/bash
WD=$(dirname $0)
source $(dirname $0)/../common/util.sh
set_version
set_app_name
LOWERAPP=${appname,,}
wget -q https://github.com/probonopd/AppImages/raw/master/functions.sh -O ./functions.sh
. ./functions.sh
srcfolder="$WD/${appname}"
if [ ! -e $srcfolder ]; then
echo "Run make_archive first."
exit 1
fi
cd $srcfolder
# make shell exec and call it Slic3r
mkdir -p /usr/{lib,bin}
mv -R Slic3r local-lib var perl-local slic3r.pl /usr/bin
mv -R bin/* /usr/lib
rm -rf bin
get_apprun
# Copy desktop and icon file to application root dir for Apprun to pick them up.
sed -e "s|SLIC3R_VERSION|$SLIC3R_VERSION|" -e"s|APPLICATION_NAME|$appname|" ../slic3r.desktop.in > ../slic3r.desktop
cp ../slic3r.desktop $LOWERAPP.desktop
cp ./var/Slic3r_192px_transparent.png ./slic3r.png
# archive directory has everything we need.
delete_blacklisted
get_desktopintegration $LOWERAPP
GLIBC_NEEDED=$(glibc_needed)
VERSION=git$GIT_REV-glibc$GLIBC_NEEDED
cd ..
mkdir -p out
generate_appimage
transfer ../out/*