Skip to content

Commit

Permalink
Merge pull request #2 from belovachap/chapman/appimage
Browse files Browse the repository at this point in the history
An AppImage maker of sorts.
  • Loading branch information
peerchemist committed Feb 24, 2019
2 parents 84aaa38 + 7100a9a commit c49116f
Show file tree
Hide file tree
Showing 9 changed files with 107 additions and 0 deletions.
19 changes: 19 additions & 0 deletions appimage/Dockerfile
@@ -0,0 +1,19 @@
FROM ubuntu:16.04

RUN apt-get update; apt-get upgrade -y
RUN apt-get install -y autoconf \
build-essential \
fuse \
gettext \
libboost-all-dev \
libminiupnpc-dev \
libssl-dev \
pkg-config \
qtbase5-dev \
qttools5-dev-tools

WORKDIR /opt/appimage
VOLUME /opt/appimage/build
COPY resources resources

CMD resources/build.sh
28 changes: 28 additions & 0 deletions appimage/Makefile
@@ -0,0 +1,28 @@
all:
make clean
make resources-appimage-tools
make resources-peercoin-source-code
make docker-image
make build-appimage

clean:
rm -rf build/*
cd resources/; rm -rf peercoin/ AppDir/ *.AppImage

resources-appimage-tools:
cd resources/; wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
cd resources/; chmod +x linuxdeploy-x86_64.AppImage
cd resources/; wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
cd resources/; chmod +x linuxdeploy-plugin-qt-x86_64.AppImage

resources-peercoin-source-code:
cd resources/; git clone https://github.com/peercoin/peercoin
ifdef TAG
cd resources/peercoin/; git checkout $(TAG)
endif

docker-image:
docker build -t peercoin/appimage .

build-appimage:
docker run --privileged -v `pwd`/build:/opt/appimage/build --rm peercoin/appimage
17 changes: 17 additions & 0 deletions appimage/README.md
@@ -0,0 +1,17 @@
# AppImage

[AppImage](https://appimage.org/) is a format for packaging Linux applications as self-contained binaries that can be easily run on many distributions.

## Building the AppImage

For master:
```
make
```

For a tag:
```
make TAG=v0.7.1ppc
```

`Peercoin-x86_64.AppImage` is deposited in the `/build` directory.
1 change: 1 addition & 0 deletions appimage/build/.gitignore
@@ -0,0 +1 @@
Peercoin-x86_64.AppImage
3 changes: 3 additions & 0 deletions appimage/resources/.gitignore
@@ -0,0 +1,3 @@
peercoin/
linuxdeploy-x86_64.AppImage
linuxdeploy-plugin-qt-x86_64.AppImage
10 changes: 10 additions & 0 deletions appimage/resources/build-appimage.sh
@@ -0,0 +1,10 @@
# Build AppImage
cd /opt/appimage/resources

export QT_SELECT=qt5
./linuxdeploy-x86_64.AppImage --appdir AppDir \
-e peercoin/src/qt/peercoin-qt \
-d peercoin-qt.desktop \
-i peercoin/share/pixmaps/peercoin128.png \
--plugin qt \
--output appimage
11 changes: 11 additions & 0 deletions appimage/resources/build-peercoin-qt.sh
@@ -0,0 +1,11 @@
# Build Peercoin-Qt
cd /opt/appimage/resources/peercoin/

./contrib/install_db4.sh `pwd`
ln -sf `pwd`/db4/include /usr/local/include/bdb4.8
ln -sf `pwd`/db4/lib/*.a /usr/local/lib

./autogen.sh
./configure --with-gui=qt5
make -j$(nproc)
make check
6 changes: 6 additions & 0 deletions appimage/resources/build.sh
@@ -0,0 +1,6 @@
# Build
cd /opt/appimage/resources

./build-peercoin-qt.sh
./build-appimage.sh
cp Peercoin-x86_64.AppImage /opt/appimage/build/
12 changes: 12 additions & 0 deletions appimage/resources/peercoin-qt.desktop
@@ -0,0 +1,12 @@
[Desktop Entry]
Encoding=UTF-8
Name=Peercoin
Comment=Desktop wallet for Peercoin Cryptocurrency
Comment[de]=Offizieller Client für die Kryptowährung Peercoin
Exec=peercoin-qt %u
Terminal=false
Type=Application
Icon=peercoin128
MimeType=x-scheme-handler/peercoin;
Categories=Office;Finance;
StartupWMClass=Peercoin-qt

0 comments on commit c49116f

Please sign in to comment.