diff options
author | Roni Hokkanen | 2022-10-01 03:05:33 +0300 |
---|---|---|
committer | Roni Hokkanen | 2022-10-01 03:05:33 +0300 |
commit | 604d4db11a73535004193ee7536d0143cfb318cf (patch) | |
tree | d90796499c92cde17f68bbf65617b1ce4d477d4c | |
download | aur-604d4db11a73535004193ee7536d0143cfb318cf.tar.gz |
Add initial version of the package. I might add a basic man page later.
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | PKGBUILD | 42 | ||||
-rwxr-xr-x | ergo-node | 23 | ||||
-rw-r--r-- | ergo-node.service | 11 |
5 files changed, 99 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..5b3d953d2c9a --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,19 @@ +pkgbase = ergo-node + pkgdesc = Reference implementation of the Ergo protocol. Ergo is a smart contract platform and cryptocurrency. This package provides a Systemd service and a script that runs Ergo node using Xdg base dirs. + pkgver = 4.0.103 + pkgrel = 1 + url = https://docs.ergoplatform.com/node/install/ + arch = any + license = custom:CC0 + makedepends = git + depends = java-runtime>=8 + provides = ergo-node + conflicts = ergo-node + source = git+https://github.com/ergoplatform/ergo + source = ergo-node + source = ergo-node.service + md5sums = SKIP + md5sums = 7cd767eb77d149cd5132b502568bc738 + md5sums = 2746b9cc548b8a234fa8772cb1968929 + +pkgname = ergo-node diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..e038178ff798 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.pkg.tar.zst +ergo/ +pkg/ +src/ diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..05c7692848b3 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Roni Hokkanen <roni dot hokkanen at protonmail dot com> + +pkgname=ergo-node +pkgver=4.0.103 +pkgrel=1 +pkgdesc="Reference implementation of the Ergo protocol. Ergo is a smart contract platform and cryptocurrency. This package provides a Systemd service and a script that runs Ergo node using Xdg base dirs." +arch=('any') +url='https://docs.ergoplatform.com/node/install/' +license=('custom:CC0') +depends=('java-runtime>=8') +makedepends=('git') +provides=("${pkgname}") +conflicts=("${pkgname}") +source=( + "git+https://github.com/ergoplatform/ergo" + "ergo-node" + "ergo-node.service" +) + +pkgver() { + cd ergo + ver=$(git describe --tags) + echo ${ver:1} +} + +prepare() { + if ! [ -f ergo-${pkgver}.jar ]; then + curl -LO "https://github.com/ergoplatform/ergo/releases/download/v${pkgver}/ergo-${pkgver}.jar" + fi +} + +package() { + install -Dm755 "${srcdir}/ergo-node" "${pkgdir}/usr/bin/ergo-node" + install -Dm644 "${srcdir}/ergo-${pkgver}.jar" "${pkgdir}/usr/share/ergo-node/ergo.jar" + install -Dm644 "${srcdir}/ergo/src/main/resources/samples/local.conf.sample" "${pkgdir}/usr/share/ergo-node/local.conf.sample" + install -Dm644 "${srcdir}/ergo-node.service" "${pkgdir}/usr/lib/systemd/user/ergo-node.service" + install -Dm644 "${srcdir}/ergo/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +md5sums=('SKIP' + '7cd767eb77d149cd5132b502568bc738' + '2746b9cc548b8a234fa8772cb1968929') diff --git a/ergo-node b/ergo-node new file mode 100755 index 000000000000..2fc2abb054a2 --- /dev/null +++ b/ergo-node @@ -0,0 +1,23 @@ +#!/bin/sh +# Ergo node normally writes all its data in the current working directory +# This is a wrapper script to make Ergo node use Xdg base directories +if [ -z $XDG_DATA_HOME ]; then + DATA_DIR=~/.local/share/ergo-node +else + DATA_DIR=$XDG_DATA_HOME/ergo-node +fi +if [ -z $XDG_CONFIG_HOME ]; then + CONFIG_DIR=~/.config/ergo-node +else + CONFIG_DIR=$XDG_CONFIG_HOME/ergo-node +fi + +mkdir -p $DATA_DIR +mkdir -p $CONFIG_DIR +if ! [ -f $CONFIG_DIR/local.conf ]; then + # Copy sample config file if the user hasn't created one + cp /usr/share/ergo-node/local.conf.sample $CONFIG_DIR/local.conf +fi + +cd $DATA_DIR +java -jar /usr/share/ergo-node/ergo.jar --mainnet -c $CONFIG_DIR/local.conf "$@" diff --git a/ergo-node.service b/ergo-node.service new file mode 100644 index 000000000000..172b2f5f42d5 --- /dev/null +++ b/ergo-node.service @@ -0,0 +1,11 @@ +[Unit] +Description=Start ergo node on boot. + +[Service] +Type=simple +ExecStart=/usr/bin/ergo-node +Restart=always +RestartSec=30 + +[Install] +WantedBy=default.target |