]> sigrok.org Git - sigrok-util.git/blame - cross-compile/appimage/sigrok-native-appimage
sigrok-native-appimage: Rewrite to use local build products.
[sigrok-util.git] / cross-compile / appimage / sigrok-native-appimage
CommitLineData
54207903 1#!/bin/bash
3d2ed47b
UH
2##
3## Copyright (C) 2016 Simon Peter
4## Copyright (C) 2017 Uwe Hermann <uwe@hermann-uwe.de>
5## This file is licensed under the terms of the MIT license.
6##
54207903 7
3d2ed47b
UH
8# Bundle PulseView and its dependencies as an AppImage for x86_64 Linux.
9# Note: This assumes the full sigrok stack has been installed into $PREFIX.
54207903 10
3d2ed47b 11PREFIX=$HOME/sr
54207903 12
13ARCH=x86_64
14
3d2ed47b
UH
15APP=PulseView
16LOWERAPP=${APP,,}
17
18A="./$APP/$APP.AppDir"
19mkdir -p $A/usr/bin $A/usr/lib $A/usr/share
54207903 20cd ./$APP
21
22wget -q https://github.com/probonopd/AppImages/raw/master/functions.sh -O ./functions.sh
23. ./functions.sh
24
25########################################################################
3d2ed47b 26# Get build products from $PREFIX
54207903 27########################################################################
28
54207903 29cd $APP.AppDir/
30
3d2ed47b 31cp $PREFIX/bin/pulseview usr/bin/
54207903 32chmod a+x usr/bin/*
3d2ed47b
UH
33cp $PREFIX/lib/lib*.so* usr/lib/
34cp -r $PREFIX/share/libsigrokdecode usr/share/
35cp -r $PREFIX/share/sigrok-firmware usr/share/
54207903 36
37# Reduce binary size
38strip usr/bin/*
39strip usr/lib/*
40
41########################################################################
42# AppRun is the main launcher that gets executed when AppImage is run
43########################################################################
44
45get_apprun
46
47########################################################################
48# Copy desktop and icon file to AppDir for AppRun to pick them up
49########################################################################
50
51wget http://sigrok.org/jenkins/job/pulseview/buildtype=shared,compiler=gcc,platform=native-amd64/ws/contrib/pulseview.desktop
52wget -q "http://sigrok.org/gitweb/?p=pulseview.git;a=blob_plain;f=icons/sigrok-logo-notext.png" -O sigrok-logo-notext.png
53
54207903 54########################################################################
55# Copy in the dependencies that cannot be assumed to be available
56# on all target systems
57########################################################################
58
54207903 59copy_deps
60
61########################################################################
62# Delete stuff that should not go into the AppImage
63########################################################################
64
65delete_blacklisted
66move_lib
67mv ./usr/lib/x86_64-linux-gnu/* usr/lib/
68rm -r ./usr/lib/x86_64-linux-gnu/
69
3d2ed47b
UH
70# Remove some incorrectly/unintentionally copied files.
71rm -r ./home
72
54207903 73########################################################################
74# Determine the version of the app; also include needed glibc version
75########################################################################
76
3d2ed47b 77VER1="NIGHTLY"
54207903 78GLIBC_NEEDED=$(glibc_needed)
79VERSION=$VER1.glibc$GLIBC_NEEDED
80echo $VERSION
81
82########################################################################
83# Patch away absolute paths; it would be nice if they were relative
84########################################################################
85
86patch_usr
87
88########################################################################
89# AppDir complete
90# Now packaging it as an AppImage
91########################################################################
92
93cd ..
94
95generate_appimage