summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoni Hokkanen2022-10-01 03:05:33 +0300
committerRoni Hokkanen2022-10-01 03:05:33 +0300
commit604d4db11a73535004193ee7536d0143cfb318cf (patch)
treed90796499c92cde17f68bbf65617b1ce4d477d4c
downloadaur-604d4db11a73535004193ee7536d0143cfb318cf.tar.gz
Add initial version of the package. I might add a basic man page later.
-rw-r--r--.SRCINFO19
-rw-r--r--.gitignore4
-rw-r--r--PKGBUILD42
-rwxr-xr-xergo-node23
-rw-r--r--ergo-node.service11
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