|
1 | 1 | #!/bin/sh |
2 | 2 |
|
3 | 3 | APP=htop |
| 4 | +APPDIR="$APP".AppDir |
4 | 5 | SITE="htop-dev/htop" |
5 | 6 |
|
6 | 7 | # CREATE DIRECTORIES |
7 | 8 | if [ -z "$APP" ]; then exit 1; fi |
8 | | -mkdir -p "./$APP/tmp" "./$APP/src" "./$APP/$APP.AppDir/usr/bin" && cd "./$APP/tmp" || exit 1 |
| 9 | +mkdir -p ./"$APP/$APPDIR" && cd ./"$APP/$APPDIR" || exit 1 |
9 | 10 |
|
10 | 11 | # DOWNLOAD AND BUILD HTOP |
11 | | -version=$(wget -q https://api.github.com/repos/$SITE/releases -O - | grep browser_download_url | grep -i tar.xz | cut -d '"' -f 4 | head -1) |
12 | | -wget "$version" && tar fx ./*tar* && cd .. && mv --backup=t ./tmp/*/* ./src |
13 | | -cd ./src && ./autogen.sh && ./configure && make || exit 1 |
| 12 | +CURRENTDIR="$(readlink -f "$(dirname "$0")")" # DO NOT MOVE THIS |
| 13 | +version=$(wget -q https://api.github.com/repos/$SITE/releases -O - | sed 's/[()",{}]/ /g; s/ /\n/g' | grep -o 'https.*releases.*htop.*tar.xz' | head -1) |
| 14 | +wget "$version" && tar fx ./*tar* && cd ./htop* && ./autogen.sh && ./configure --prefix="$CURRENTDIR" && make && make install && cd .. && rm -rf ./htop* ./*tar* || exit 1 |
14 | 15 |
|
15 | 16 | # PREPARE APPIMAGE |
16 | | -cd .. && mv ./src/htop "./$APP.AppDir/usr/bin" && mv ./src/*.png "./$APP.AppDir/$APP.png" && mv ./src/*.desktop "./$APP.AppDir/$APP.desktop" |
17 | | -cd "./$APP.AppDir" && ln -s "./$APP.png" ./.DirIcon || exit 1 |
| 17 | +cp ./share/applications/*.desktop ./ && cp ./share/icons/*/*/*/* ./htop.svg && ln -s ./htop.svg ./.DirIcon || exit 1 |
18 | 18 |
|
19 | 19 | # AppRun |
20 | 20 | cat >> ./AppRun << 'EOF' |
21 | 21 | #!/bin/sh |
22 | 22 | CURRENTDIR="$(readlink -f "$(dirname "$0")")" |
23 | | -exec "$CURRENTDIR/usr/bin/htop" "$@" |
| 23 | +"$CURRENTDIR/bin/htop" "$@" |
24 | 24 | EOF |
25 | 25 | chmod a+x ./AppRun |
26 | 26 |
|
| 27 | +APPVERSION=$(./AppRun -V) |
| 28 | +if [ -z "$APPVERSION" ]; then echo "Failed to get version from zenity"; exit 1; fi |
| 29 | + |
27 | 30 | # MAKE APPIMAGE |
28 | 31 | cd .. |
29 | 32 | APPIMAGETOOL=$(wget -q https://api.github.com/repos/probonopd/go-appimage/releases -O - | sed 's/"/ /g; s/ /\n/g' | grep -o 'https.*continuous.*tool.*86_64.*mage$') |
30 | 33 | wget -q "$APPIMAGETOOL" -O ./appimagetool && chmod a+x ./appimagetool |
31 | 34 |
|
32 | 35 | # Do the thing! |
33 | | -ARCH=x86_64 VERSION=$(./appimagetool -v | grep -o '[[:digit:]]*') ./appimagetool -s ./$APP.AppDir |
| 36 | +ARCH=x86_64 VERSION="$APPVERSION" ./appimagetool -s ./"$APPDIR" |
34 | 37 | ls ./*.AppImage || { echo "appimagetool failed to make the appimage"; exit 1; } |
35 | | - |
36 | | -APPNAME=$(ls *AppImage) |
37 | | -APPVERSION=$(echo $version | awk -F / '{print $(NF-1)}') |
38 | | -mv ./*AppImage ./"$APPVERSION"-"$APPNAME" |
39 | 38 | if [ -z "$APP" ]; then exit 1; fi # Being extra safe lol |
40 | 39 | mv ./*.AppImage .. && cd .. && rm -rf "./$APP" |
41 | 40 | echo "All Done!" |
0 commit comments