-
Notifications
You must be signed in to change notification settings - Fork 771
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
7765b8b flatpak: Add workflow (BigmenPixel0)
- Loading branch information
Showing
4 changed files
with
378 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,170 @@ | ||
name: Flatpak | ||
|
||
on: | ||
push | ||
|
||
jobs: | ||
part1: | ||
name: Part 1/3 | ||
runs-on: ubuntu-latest | ||
container: | ||
image: bilelmoussaoui/flatpak-github-actions:kde-5.15-22.08 | ||
options: --privileged | ||
strategy: | ||
matrix: | ||
arch: [x86_64, aarch64] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Install deps | ||
run: dnf -y install docker | ||
|
||
- name: Setup QEMU | ||
uses: docker/setup-qemu-action@v2 | ||
with: | ||
platforms: arm64 | ||
|
||
- name: Build flatpak | ||
uses: flatpak/flatpak-github-actions/flatpak-builder@v6 | ||
env: | ||
FLATPAK_BUILDER_N_JOBS: 3 | ||
with: | ||
manifest-path: share/org.getmonero.Monero.yaml | ||
arch: ${{ matrix.arch }} | ||
cache: false | ||
stop-at-module: boost | ||
|
||
- name: Tar flatpak-builder | ||
run: tar -cvf flatpak-builder.tar .flatpak-builder | ||
|
||
- name: Save flatpak-builder | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: flatpak-builder-${{ matrix.arch }} | ||
path: flatpak-builder.tar | ||
|
||
part2: | ||
name: Part 2/3 | ||
needs: part1 | ||
runs-on: ubuntu-latest | ||
container: | ||
image: bilelmoussaoui/flatpak-github-actions:kde-5.15-22.08 | ||
options: --privileged | ||
strategy: | ||
matrix: | ||
arch: [x86_64, aarch64] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install deps | ||
run: dnf -y install docker | ||
|
||
- name: Setup QEMU | ||
uses: docker/setup-qemu-action@v2 | ||
with: | ||
platforms: arm64 | ||
|
||
- name: Restore flatpak-builder | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: flatpak-builder-${{ matrix.arch }} | ||
|
||
- name: Untar flatpak-builder | ||
run: tar -xvf flatpak-builder.tar | ||
|
||
- name: Build flatpak | ||
uses: flatpak/flatpak-github-actions/flatpak-builder@v6 | ||
env: | ||
FLATPAK_BUILDER_N_JOBS: 3 | ||
with: | ||
manifest-path: share/org.getmonero.Monero.yaml | ||
arch: ${{ matrix.arch }} | ||
cache: false | ||
stop-at-module: monero-gui | ||
|
||
- name: Tar flatpak-builder | ||
run: tar -cvf flatpak-builder.tar .flatpak-builder | ||
|
||
- name: Save flatpak-builder | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: flatpak-builder-${{ matrix.arch }} | ||
path: flatpak-builder.tar | ||
|
||
part3: | ||
name: Part 3/3 | ||
needs: [part1, part2] | ||
runs-on: ubuntu-latest | ||
container: | ||
image: bilelmoussaoui/flatpak-github-actions:kde-5.15-22.08 | ||
options: --privileged | ||
strategy: | ||
matrix: | ||
arch: [x86_64, aarch64] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Add version and date | ||
run: | | ||
sed -i 's/<version>/${{ github.event.release.tag_name }}/g' $GITHUB_WORKSPACE/share/org.getmonero.Monero.metainfo.xml | ||
sed -i 's/<date>/'"$(date '+%F')"'/g' $GITHUB_WORKSPACE/share/org.getmonero.Monero.metainfo.xml | ||
- name: Install deps | ||
run: dnf -y install docker | ||
|
||
- name: Setup QEMU | ||
uses: docker/setup-qemu-action@v2 | ||
with: | ||
platforms: arm64 | ||
|
||
- name: Restore flatpak-builder | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: flatpak-builder-${{ matrix.arch }} | ||
|
||
- name: Untar flatpak-builder | ||
run: tar -xvf flatpak-builder.tar | ||
|
||
- name: Build flatpak | ||
uses: flatpak/flatpak-github-actions/flatpak-builder@v6 | ||
env: | ||
FLATPAK_BUILDER_N_JOBS: 3 | ||
with: | ||
manifest-path: share/org.getmonero.Monero.yaml | ||
arch: ${{ matrix.arch }} | ||
cache: false | ||
|
||
- name: Validate AppData | ||
working-directory: flatpak_app/files/share/appdata | ||
run: appstream-util validate org.getmonero.Monero.appdata.xml | ||
|
||
- name: Delete flatpak-builder | ||
uses: geekyeggo/delete-artifact@v2 | ||
with: | ||
name: flatpak-builder-${{ matrix.arch }} | ||
|
||
- name: Print hashes | ||
working-directory: flatpak_app/files/bin | ||
run: | | ||
echo "Hashes of the ${{ matrix.arch }} binaries:" >> $GITHUB_STEP_SUMMARY | ||
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | ||
for bin in monero-blockchain-ancestry monero-blockchain-depth monero-blockchain-export monero-blockchain-import monero-blockchain-mark-spent-outputs monero-blockchain-prune monero-blockchain-prune-known-spent-data monero-blockchain-stats monero-blockchain-usage monerod monero-gen-ssl-cert monero-gen-trusted-multisig monero-wallet-cli monero-wallet-gui monero-wallet-rpc p2pool; do sha256sum $bin; done >> $GITHUB_STEP_SUMMARY | ||
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | ||
echo "An example command to check hashes:" >> $GITHUB_STEP_SUMMARY | ||
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | ||
echo "$ flatpak run --command=sha256sum org.getmonero.Monero /app/bin/monero-wallet-gui" >> $GITHUB_STEP_SUMMARY | ||
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | ||
- name: Publish to Flathub Beta | ||
uses: flatpak/flatpak-github-actions/flat-manager@v6 | ||
with: | ||
flat-manager-url: https://hub.flathub.org | ||
repository: beta | ||
token: ${{ secrets.FLATHUB_ }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
[Desktop Entry] | ||
Name=Monero GUI | ||
GenericName=Monero-GUI | ||
Comment=Monero GUI | ||
Exec=monero-wallet-gui | ||
Type=Application | ||
Terminal=false | ||
Categories=Network;Qt;Finance;Office; | ||
Icon=org.getmonero.Monero | ||
StartupNotify=true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<component type="desktop-application"> | ||
<id>org.getmonero.Monero</id> | ||
<metadata_license>CC0-1.0</metadata_license> | ||
<project_license>BSD-3-Clause</project_license> | ||
<content_rating type="oars-1.1"/> | ||
<developer_name>The Monero Project</developer_name> | ||
<categories> | ||
<category>Network</category> | ||
<category>Qt</category> | ||
<category>Finance</category> | ||
<category>Office</category> | ||
</categories> | ||
<name>Monero GUI</name> | ||
<summary>Monero: the secure, private, untraceable cryptocurrency</summary> | ||
|
||
<description> | ||
<p>Monero is a private, secure, untraceable, decentralised digital currency. You | ||
are your bank, you control your funds, and nobody can trace your transfers | ||
unless you allow them to do so.</p> | ||
|
||
<p>Privacy: Monero uses a cryptographically sound system to allow you to send | ||
and receive funds without your transactions being easily revealed on the | ||
blockchain (the ledger of transactions that everyone has). This ensures that | ||
your purchases, receipts, and all transfers remain absolutely private by | ||
default.</p> | ||
|
||
<p>Security: Using the power of a distributed peer-to-peer consensus network, | ||
every transaction on the network is cryptographically secured. Individual | ||
wallets have a 25 word mnemonic seed that is only displayed once, and can be | ||
written down to backup the wallet. Wallet files are encrypted with a passphrase | ||
to ensure they are useless if stolen.</p> | ||
|
||
<p>Untraceability: By taking advantage of ring signatures, a special property of | ||
a certain type of cryptography, Monero is able to ensure that transactions are | ||
not only untraceable, but have an optional measure of ambiguity that ensures | ||
that transactions cannot easily be tied back to an individual user or computer.</p> | ||
</description> | ||
|
||
<launchable type="desktop-id">org.getmonero.Monero.desktop</launchable> | ||
|
||
<screenshots> | ||
<screenshot type="default"> | ||
<caption>A screenshot of the Monero GUI wallet</caption> | ||
<image>https://raw.githubusercontent.com/monero-project/monero-site/master/img/downloads/gui.png</image> | ||
</screenshot> | ||
</screenshots> | ||
|
||
<url type="homepage">https://getmonero.org</url> | ||
<url type="bugtracker">https://github.com/monero-project/monero-gui/issues</url> | ||
<url type="donation">https://getmonero.org/get-started/contributing</url> | ||
<url type="faq">https://getmonero.org/get-started/faq</url> | ||
<url type="help">https://getmonero.org/resources/user-guides</url> | ||
<url type="translate">https://translate.getmonero.org</url> | ||
<url type="contact">https://getmonero.org/community/hangouts</url> | ||
<url type="contribute">https://getmonero.org/get-started/contributing</url> | ||
|
||
<releases> | ||
<release version="<version>" date="<date>"/> | ||
</releases> | ||
|
||
<custom> | ||
<value key="flathub::manifest">https://github.com/monero-project/monero-gui/tree/master/share/org.getmonero.Monero.yaml</value> | ||
</custom> | ||
</component> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
app-id: org.getmonero.Monero | ||
runtime: org.kde.Platform | ||
runtime-version: 5.15-22.08 | ||
sdk: org.kde.Sdk | ||
finish-args: | ||
- --share=network | ||
- --share=ipc | ||
- --socket=x11 | ||
- --socket=wayland | ||
- --device=all | ||
- --filesystem=~/Monero:create | ||
- --persist=.bitmonero | ||
|
||
cleanup: | ||
- /include | ||
- /etc | ||
- /share/man | ||
- /lib/pkgconfig | ||
- /lib/cmake | ||
- '*.a' | ||
- '*.la' | ||
|
||
command: monero-wallet-gui | ||
modules: | ||
- name: protobuf | ||
buildsystem: cmake-ninja | ||
config-opts: | ||
- -DCMAKE_BUILD_TYPE=Release | ||
sources: | ||
- type: git | ||
url: https://github.com/protocolbuffers/protobuf | ||
tag: v22.4 | ||
commit: 40e1daca18708c21c7edf07c489a688355bd297b | ||
|
||
- name: boost | ||
buildsystem: simple | ||
build-commands: | ||
- ./bootstrap.sh --prefix=$FLATPAK_DEST --with-libraries=chrono,date_time,filesystem,locale,program_options,regex,serialization,system,thread | ||
- ./b2 headers | ||
- ./b2 -j$FLATPAK_BUILDER_N_JOBS install variant=release --layout=system | ||
sources: | ||
- type: archive | ||
url: https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.gz | ||
sha256: 66a469b6e608a51f8347236f4912e27dc5c60c60d7d53ae9bfe4683316c6f04c | ||
|
||
- name: libunbound | ||
config-opts: | ||
- --with-libunbound-only | ||
sources: | ||
- type: archive | ||
url: https://nlnetlabs.nl/downloads/unbound/unbound-1.17.1.tar.gz | ||
sha256: ee4085cecce12584e600f3d814a28fa822dfaacec1f94c84bfd67f8a5571a5f4 | ||
|
||
- name: libsodium | ||
sources: | ||
- type: archive | ||
url: https://github.com/jedisct1/libsodium/releases/download/1.0.18-RELEASE/libsodium-1.0.18.tar.gz | ||
sha256: 6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1 | ||
|
||
- name: libusb | ||
sources: | ||
- type: archive | ||
url: https://github.com/libusb/libusb/releases/download/v1.0.26/libusb-1.0.26.tar.bz2 | ||
sha256: 12ce7a61fc9854d1d2a1ffe095f7b5fac19ddba095c259e6067a46500381b5a5 | ||
|
||
- name: hidapi | ||
buildsystem: cmake-ninja | ||
config-opts: | ||
- -DCMAKE_BUILD_TYPE=Release | ||
sources: | ||
- type: archive | ||
url: https://github.com/libusb/hidapi/archive/hidapi-0.13.1.tar.gz | ||
sha256: 476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3 | ||
|
||
- name: libzmq | ||
config-opts: | ||
- --with-libsodium | ||
- --disable-Werror | ||
sources: | ||
- type: archive | ||
url: https://github.com/zeromq/libzmq/releases/download/v4.3.4/zeromq-4.3.4.tar.gz | ||
sha256: c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5 | ||
|
||
- name: libgss | ||
sources: | ||
- type: archive | ||
url: https://ftp.gnu.org/gnu/gss/gss-1.0.4.tar.gz | ||
sha256: ecceabdef4cae3fce7218b2ecb83eb4227dba44b53b61b8c2b2e88ae02419c73 | ||
|
||
- name: libuv | ||
buildsystem: cmake-ninja | ||
config-opts: | ||
- -DCMAKE_BUILD_TYPE=Release | ||
sources: | ||
- type: archive | ||
url: https://github.com/libuv/libuv/archive/v1.44.2.tar.gz | ||
sha256: e6e2ba8b4c349a4182a33370bb9be5e23c51b32efb9b9e209d0e8556b73a48da | ||
|
||
- name: p2pool | ||
buildsystem: cmake-ninja | ||
config-opts: | ||
- -DCMAKE_BUILD_TYPE=Release | ||
- -DWITH_LTO=OFF | ||
sources: | ||
- type: git | ||
url: https://github.com/SChernykh/p2pool | ||
tag: v3.2 | ||
commit: 92827035e07ff15da6b7645a332f3e59aa0ab1c4 | ||
post-install: | ||
- install -Dm755 p2pool $FLATPAK_DEST/bin/p2pool | ||
|
||
- name: monero-gui | ||
buildsystem: cmake-ninja | ||
config-opts: | ||
- -DCMAKE_BUILD_TYPE=Release | ||
- -DWITH_DESKTOP_ENTRY=OFF | ||
- -DWITH_UPDATER=OFF | ||
build-options: | ||
arch: | ||
aarch64: | ||
config-opts: | ||
- -DARCH=armv8-a | ||
- -DBUILD_TAG=linux-armv8 | ||
x86_64: | ||
config-opts: | ||
- -DARCH=default | ||
sources: | ||
- type: dir | ||
path: ../ | ||
post-install: | ||
- install -Dpm644 share/org.getmonero.Monero.desktop $FLATPAK_DEST/share/applications/$FLATPAK_ID.desktop | ||
- install -Dpm644 share/org.getmonero.Monero.metainfo.xml $FLATPAK_DEST/share/metainfo/$FLATPAK_ID.metainfo.xml | ||
- for x in 16 24 32 48 64 96 128 256; do install -Dpm644 images/appicons/${x}x${x}.png $FLATPAK_DEST/share/icons/hicolor/${x}x${x}/apps/$FLATPAK_ID.png; done |