From 457203623f3632d4e8ab3f53a31c67913d351ee2 Mon Sep 17 00:00:00 2001 From: Joseph Lenox Date: Sun, 19 Aug 2018 23:41:55 -0500 Subject: [PATCH] revert package scripts to 1.3.0 for linux --- package/linux/appimage.sh | 4 ++- package/linux/libpaths.txt | 5 ++++ package/linux/make_archive.sh | 48 +++++++++++++++++++++++++++------ package/linux/startup_script.sh | 2 +- 4 files changed, 49 insertions(+), 10 deletions(-) diff --git a/package/linux/appimage.sh b/package/linux/appimage.sh index 05e61f909..3a68b5e17 100755 --- a/package/linux/appimage.sh +++ b/package/linux/appimage.sh @@ -32,7 +32,7 @@ cd $WD/${APP}.AppDir mkdir -p $WD/${APP}.AppDir/usr/bin # Copy primary Slic3r script here and perl-local, as well as var -for i in {var,Slic3r}; do +for i in {var,slic3r.pl,perl-local}; do cp -R $srcfolder/$i $WD/${APP}.AppDir/usr/bin/ done @@ -48,6 +48,8 @@ for i in $(cat $WD/libpaths.appimage.txt | grep -v "^#" | awk -F# '{print $1}'); done +cp -R $srcfolder/local-lib ${WD}/${APP}.AppDir/usr/lib/local-lib + cat > $WD/${APP}.AppDir/AppRun << 'EOF' #!/usr/bin/env bash # some magic to find out the real location of this script dealing with symlinks diff --git a/package/linux/libpaths.txt b/package/linux/libpaths.txt index 3c64c9758..ef876a13a 100644 --- a/package/linux/libpaths.txt +++ b/package/linux/libpaths.txt @@ -1,3 +1,8 @@ +/home/travis/builds/alexrj/Slic3r/local-lib/lib/perl5/x86_64-linux-thread-multi/Alien/wxWidgets/gtk_3_0_2_uni/lib/libwx_baseu-3.0.so.0 +/home/travis/builds/alexrj/Slic3r/local-lib/lib/perl5/x86_64-linux-thread-multi/Alien/wxWidgets/gtk_3_0_2_uni/lib/libwx_gtk2u_adv-3.0.so.0 +/home/travis/builds/alexrj/Slic3r/local-lib/lib/perl5/x86_64-linux-thread-multi/Alien/wxWidgets/gtk_3_0_2_uni/lib/libwx_gtk2u_core-3.0.so.0 +/home/travis/builds/alexrj/Slic3r/local-lib/lib/perl5/x86_64-linux-thread-multi/Alien/wxWidgets/gtk_3_0_2_uni/lib/libwx_gtk2u_gl-3.0.so.0 +/home/travis/builds/alexrj/Slic3r/local-lib/lib/perl5/x86_64-linux-thread-multi/Alien/wxWidgets/gtk_3_0_2_uni/lib/libwx_gtk2u_html-3.0.so.0 /lib/x86_64-linux-gnu/liblzma.so.5 /lib/x86_64-linux-gnu/libpng12.so.0 /usr/lib/x86_64-linux-gnu/libjpeg.so.8 diff --git a/package/linux/make_archive.sh b/package/linux/make_archive.sh index 1396afd74..ad87b2a06 100755 --- a/package/linux/make_archive.sh +++ b/package/linux/make_archive.sh @@ -10,6 +10,7 @@ if [ "$#" -ne 1 ]; then echo "Usage: $(basename $0) arch_name" exit 1; fi +libdirs=$(find ./local-lib -iname *.so -exec dirname {} \; | sort -u | paste -sd ";" -) WD=./$(dirname $0) source $(dirname $0)/../common/util.sh # Determine if this is a tagged (release) commit. @@ -21,6 +22,7 @@ set_build_id set_branch set_app_name set_pr_id +install_par # If we're on a branch, add the branch name to the app name. if [ "$current_branch" == "master" ]; then @@ -33,7 +35,8 @@ else dmgfile=slic3r-${SLIC3R_BUILD_ID}-${1}-${current_branch}.tar.bz2 fi -mkdir -p $WD +rm -rf $WD/_tmp +mkdir -p $WD/_tmp # Set the application folder infomation. appfolder="$WD/${appname}" @@ -43,11 +46,9 @@ resourcefolder=$appfolder echo "Appfolder: $appfolder, archivefolder: $archivefolder" # Our slic3r dir and location of perl -if [[ -z "$TRAVIS_BUILD_DIR" ]]; then - SLIC3R_DIR="${TRAVIS_BUILD_DIR}" -else - SLIC3R_DIR="./" -fi +PERL_BIN=$(which perl) +PP_BIN=$(which pp) +SLIC3R_DIR="./" if [[ -d "${appfolder}" ]]; then echo "Deleting old working folder: ${appfolder}" @@ -66,12 +67,14 @@ echo "Copying resources..." cp -rf $SLIC3R_DIR/var $resourcefolder/ echo "Copying Slic3r..." -cp $SLIC3R_DIR/Slic3r $archivefolder/Slic3r +cp $SLIC3R_DIR/slic3r.pl $archivefolder/slic3r.pl +cp -fRP $SLIC3R_DIR/local-lib $archivefolder/local-lib +cp -fRP $SLIC3R_DIR/lib/* $archivefolder/local-lib/lib/perl5/ mkdir $archivefolder/bin echo "Installing libraries to $archivefolder/bin ..." if [ -z ${WXDIR+x} ]; then - for bundle in $archivefolder/Slic3r; do + for bundle in $(find $archivefolder/local-lib/lib/perl5 -name '*.so' | grep "Wx") $(find $archivefolder/local-lib/lib/perl5 -name '*.so' -type f | grep "wxWidgets"); do echo "$(LD_LIBRARY_PATH=$libdirs ldd $bundle | grep .so | grep local-lib | awk '{print $3}')" for dylib in $(LD_LIBRARY_PATH=$libdirs ldd $bundle | grep .so | grep local-lib | awk '{print $3}'); do install -v $dylib $archivefolder/bin @@ -88,8 +91,37 @@ echo "Copying startup script..." cp -f $WD/startup_script.sh $archivefolder/$appname chmod +x $archivefolder/$appname +echo "Copying perl from $PERL_BIN" +# Edit package/common/coreperl to add/remove core Perl modules added to this package, one per line. +cp -f $PERL_BIN $archivefolder/perl-local +${PP_BIN} wxextension .0 \ + -M $(grep -v "^#" ${WD}/../common/coreperl | xargs | awk 'BEGIN { OFS=" -M "}; {$1=$1; print $0}') \ + -B -p -e "print 123" -o $WD/_tmp/test.par +unzip -qq -o $WD/_tmp/test.par -d $WD/_tmp/ +cp -rf $WD/_tmp/lib/* $archivefolder/local-lib/lib/perl5/ +cp -rf $WD/_tmp/shlib $archivefolder/ +rm -rf $WD/_tmp for i in $(cat $WD/libpaths.txt | grep -v "^#" | awk -F# '{print $1}'); do install -v $i $archivefolder/bin done +echo "Cleaning local-lib" +rm -rf $archivefolder/local-lib/bin +rm -rf $archivefolder/local-lib/man +rm -f $archivefolder/local-lib/lib/perl5/Algorithm/*.pl +rm -rf $archivefolder/local-lib/lib/perl5/unicore +rm -rf $archivefolder/local-lib/lib/perl5/App +rm -rf $archivefolder/local-lib/lib/perl5/Devel/CheckLib.pm +rm -rf $archivefolder/local-lib/lib/perl5/ExtUtils +rm -rf $archivefolder/local-lib/lib/perl5/Module/Build* +rm -rf $(pwd)$archivefolder/local-lib/lib/perl5/TAP +rm -rf $(pwd)/$archivefolder/local-lib/lib/perl5/Test* +find $(pwd)/$archivefolder/local-lib -type d -path '*/Wx/*' \( -name WebView \ + -or -name DocView -or -name STC -or -name IPC \ + -or -name Calendar -or -name DataView \ + -or -name DateTime -or -name Media -or -name PerlTest \ + -or -name Ribbon \) -exec rm -rf "{}" \; +rm -rf $archivefolder/local-lib/lib/perl5/*/Alien/wxWidgets/*/include +find $archivefolder/local-lib -depth -type d -empty -exec rmdir "{}" \; + tar -C$(pwd)/$(dirname $appfolder) -cjf $(pwd)/$dmgfile "$appname" diff --git a/package/linux/startup_script.sh b/package/linux/startup_script.sh index dbe4d7981..30f0e2c69 100755 --- a/package/linux/startup_script.sh +++ b/package/linux/startup_script.sh @@ -3,4 +3,4 @@ BIN=$(readlink "$0") DIR=$(dirname "$BIN") export LD_LIBRARY_PATH="$DIR/bin" -exec "$DIR/Slic3r" +exec "$DIR/perl-local" -I"$DIR/local-lib/lib/perl5" "$DIR/slic3r.pl" $@