ctucx.git: alpine-pkgs

My personal alpine-packages [deprecated in favor of nixos]

commit 1bb4e2e8bba3c1c41bc029fb3a1fa3299336d636
Author: Linux User <leah@foo-nuc.localdomain>
Date: Sun, 15 Nov 2020 17:32:23 +0100

init
17 files changed, 542 insertions(+), 0 deletions(-)
A
chartsrv/APKBUILD
|
36
++++++++++++++++++++++++++++++++++++
A
chartsrv/chartsrv.confd
|
3
+++
A
chartsrv/chartsrv.initd
|
15
+++++++++++++++
A
chartsrv/chartsrv.pre-install
|
6
++++++
A
ctucx-gallery/APKBUILD
|
29
+++++++++++++++++++++++++++++
A
fritzbox-exporter/APKBUILD
|
36
++++++++++++++++++++++++++++++++++++
A
fritzbox-exporter/fritzbox-exporter.confd
|
3
+++
A
fritzbox-exporter/fritzbox-exporter.initd
|
14
++++++++++++++
A
fritzbox-exporter/fritzbox-exporter.pre-install
|
6
++++++
A
nim/APKBUILD
|
109
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
nim/nim-config-enable-ucontext.patch
|
11
+++++++++++
A
nim/nim-config-fix-paths.patch
|
15
+++++++++++++++
A
nim/niminst-fix-paths.patch
|
170
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
nimble/APKBUILD
|
28
++++++++++++++++++++++++++++
A
oeffisearch/APKBUILD
|
35
+++++++++++++++++++++++++++++++++++
A
oeffisearch/oeffisearch.initd
|
20
++++++++++++++++++++
A
oeffisearch/oeffisearch.pre-install
|
6
++++++
diff --git a/chartsrv/APKBUILD b/chartsrv/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor:
+# Maintainer:
+pkgname=chartsrv
+pkgver=0.0.1
+pkgrel=0
+pkgdesc="Daemon which renders SVG plots from Prometheus data"
+url="https://git.sr.ht/~sircmpwn/chartsrv"
+arch="all"
+license="MIT"
+depends=""
+makedepends="go"
+install="$pkgname.pre-install"
+subpackages=""
+source="$pkgname.tar.gz::https://git.sr.ht/~sircmpwn/chartsrv/archive/master.tar.gz
+        $pkgname.initd
+        $pkgname.confd"
+builddir="$srcdir/$pkgname-master/"
+
+build() {
+	cd $builddir
+	go build -o chartsrv main.go
+}
+
+check() {
+	:
+}
+
+package() {
+        install -Dm755 "$builddir"/$pkgname "$pkgdir"/usr/bin/$pkgname
+	install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+	install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="afaf5b6d49cf7df9c771b7da671c2b783b8b2b0c8ad10c59fc722b3835a33a60a5a4f58c246b8935a7fcafbfcba7b37b04354eb66118f4a384aba1635e9eb1b0  chartsrv.tar.gz
+eaa40ace4ca554d015939da4a2fce8c12260d5a4d6741494766bbfc59ba3ccbd2acccfe1097ff4ac07f116758ba3ddd9899960572196513ea4641706cd45608c  chartsrv.initd
+81d514b4f3773d4a28808cd72f32a8a080be388086919e718bff9128b40c2e491973e9d6cc2d94f2b45a64966cbdcc92a3945556b31904937c443f73a2e1a347  chartsrv.confd"
diff --git a/chartsrv/chartsrv.confd b/chartsrv/chartsrv.confd
@@ -0,0 +1,3 @@
+# Configuration for /etc/init.d/chartsrv
+
+chartsrv_opts=""
diff --git a/chartsrv/chartsrv.initd b/chartsrv/chartsrv.initd
@@ -0,0 +1,15 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+name="chartsrv"
+description="Daemon which renders SVG plots from Prometheus data"
+
+command="/usr/bin/chartsrv"
+command_args="$chartsrv_opts"
+command_user=chartsrv:chartsrv
+directory="/var/lib/$RC_SVCNAME"
+
+depend() {
+	need net localmount
+	after firewall
+}	
diff --git a/chartsrv/chartsrv.pre-install b/chartsrv/chartsrv.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S chartsrv 2>/dev/null
+adduser -S -D -h /var/lib/chartsrv -s /sbin/nologin -G chartsrv -g chartsrv chartsrv 2>/dev/null
+
+exit 0
diff --git a/ctucx-gallery/APKBUILD b/ctucx-gallery/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor:
+# Maintainer:
+pkgname=gallery
+pkgver=0.0.2
+pkgrel=3
+pkgdesc="gallery-generator written in nimlang, used for bahnbilder.ctu.cx"
+url="https://cgit.ctu.cx/gallery"
+arch="all"
+license="MIT"
+depends="imagemagick"
+makedepends="nim nimble"
+subpackages=""
+source="$pkgname-v0.2.tar.gz::https://cgit.ctu.cx/gallery/snapshot/gallery-7b81345c36eae7c46693681018a171e0faaa353b.tar.gz"
+builddir="$srcdir/$pkgname-7b81345c36eae7c46693681018a171e0faaa353b/"
+
+build() {
+        cd $builddir
+        nimble -y -d:release build
+}
+
+check() {
+        :
+}
+
+package() {
+        install -Dm755 $builddir/$pkgname $pkgdir/usr/bin/ctucx-$pkgname
+	install -Dm755 $builddir/sample.config $pkgdir/etc/ctucx-$pkgname.conf
+}
+sha512sums="424594d9e31e96733168c0b7cd4a5bd88eaae99a4e6ea0b29a4a96419aece631a880b8ec62fe786c171bd6bbfda13362b53a487171b17de0beea09ce6cc2fe8a  gallery-v0.2.tar.gz"
diff --git a/fritzbox-exporter/APKBUILD b/fritzbox-exporter/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor:
+# Maintainer:
+pkgname=fritzbox-exporter
+pkgver=0.0.1
+pkgrel=4
+pkgdesc="prometheus exporter for lte fritzboxes"
+url="https://cgit.ctu.cx/fritzbox-exporter"
+arch="all"
+license="MIT"
+depends=""
+makedepends="nim"
+install="$pkgname.pre-install"
+subpackages=""
+source="fritzbox-exporter.tar.gz::https://cgit.ctu.cx/fritzbox-exporter/snapshot/fritzbox-exporter-master.tar.gz
+        fritzbox-exporter.confd
+        fritzbox-exporter.initd"
+builddir="$srcdir/fritzbox-exporter-master/"
+
+build() {
+	cd $builddir
+	nim c -d:release --nimcache:$PWD src/fb_exporter.nim
+}
+
+check() {
+	:
+}
+
+package() {
+	install -Dm755 src/fb_exporter $pkgdir/usr/bin/fb_exporter
+	install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+	install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="ad9e2ce87792e5de4a7201d7fd68ec92d7e6574aea9e2ce78d75069865ef6570c4c5f62d340fc3b5389ee44e6321d1eb015a5c1148e230518a4c89c952880049  fritzbox-exporter.tar.gz
+051e44ab6e0680518db6b0de443b8dde852da7ce6818d95608fde77044308b35e8cfab5a58b9f2a264893b25b8add70365fb5aee3a565fe8d2223539e8743ae1  fritzbox-exporter.confd
+59720844ebb7658bbb06d4dad69b265c4c917e27c7631e2081d618b6086d178a999055fcef76ca333fdc8b475618d65ef9b998bce702254d101892ebefada02b  fritzbox-exporter.initd"
diff --git a/fritzbox-exporter/fritzbox-exporter.confd b/fritzbox-exporter/fritzbox-exporter.confd
@@ -0,0 +1,3 @@
+# Configuration for /etc/init.d/maddy
+
+fritzboxexporter_opts=""
diff --git a/fritzbox-exporter/fritzbox-exporter.initd b/fritzbox-exporter/fritzbox-exporter.initd
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+name="fritzbox-exporter"
+description="prometheus exporter for lte fritzboxes"
+
+command=/usr/bin/fb_exporter
+command_args="$fritzboxexporter_opts"
+command_user=fb-exporter:fb-exporter
+
+depend() {
+	need net localmount
+	after firewall
+}
diff --git a/fritzbox-exporter/fritzbox-exporter.pre-install b/fritzbox-exporter/fritzbox-exporter.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S fb-exporter 2>/dev/null
+adduser -S -D -h /var/lib/fb-exporter -s /sbin/nologin -G fb-exporter -g fb-exporter fb-exporter 2>/dev/null
+
+exit 0
diff --git a/nim/APKBUILD b/nim/APKBUILD
@@ -0,0 +1,109 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+#
+# WARNING: There may be breakages!
+pkgname=nim
+pkgver=1.2.6
+pkgrel=1
+pkgdesc="Imperative, multi-paradigm, compiled programming language"
+url="https://nim-lang.org/"
+arch="all !s390x"
+license="MIT"
+checkdepends="nodejs"
+subpackages="$pkgname-doc nimsuggest niminst"
+depends=""  # used by nims compiler
+source="$pkgname-$pkgver.tar.gz::https://github.com/nim-lang/Nim/archive/v$pkgver.tar.gz
+        $pkgname-csources-0.20.0.tar.gz::https://github.com/nim-lang/csources/archive/v0.20.0.tar.gz"
+builddir="$srcdir/Nim-$pkgver"
+
+# Don't run tests on armhf, it'd take eternity...
+# Can't run tests on mips, no nodejs...
+case "$CARCH" in
+	armhf) options="!check";;
+	mips*) options="!check";;
+esac
+
+prepare() {
+	mv "$srcdir"/csources-0.20.0 "$builddir"/csources
+	default_prepare
+}
+
+build() {
+	cd "$builddir"/csources
+
+	msg2 "Building nim csources..."
+	./build.sh
+
+	cd ..
+
+	msg2 "Building koch..."
+	./bin/nim compile -d:release koch
+
+	msg2 "Building nim..."
+	./koch boot -d:release -d:useGnuReadline
+
+	msg2 "Building libs"
+	(cd lib
+		../bin/nim c --app:lib -d:createNimRtl -d:release nimrtl.nim
+	)
+
+	msg2 "Building tools"
+	./koch toolsNoExternal
+	(cd tools
+		../bin/nim c -d:release nimgrep.nim
+	)
+
+	msg2 "Building nimsuggest..."
+	./bin/nim compile -d:release nimsuggest/nimsuggest.nim
+}
+
+
+check() {
+	cd "$builddir"
+	# XXX: Some tests fail!
+	./koch tests --pedantic --targets="c js" all || true
+}
+
+package() {
+	export PATH="$builddir/bin:${PATH}"
+
+	./koch install "$pkgdir"
+
+	install -d "$pkgdir/usr/lib"
+
+	cp -a lib "$pkgdir/usr/lib/nim"
+	cp -a compiler "$pkgdir/usr/lib/nim"
+
+	install -Dm 644 compiler.nimble "$pkgdir/usr/lib/nim/compiler"
+	install -m 755 lib/libnimrtl.so "$pkgdir/usr/lib/libnimrtl.so"
+
+	ln -s /usr/share/nim/doc "$pkgdir/usr/lib/nim/doc"
+
+	install -Dm 644 config/* -t "$pkgdir/etc/nim"
+	install -Dm 755 bin/* -t "$pkgdir/usr/bin"
+
+	mkdir -p "$pkgdir/usr/include"
+	cp -a "$pkgdir/usr/lib/nim/"*.h "$pkgdir/usr/include"
+
+	install -d "$pkgdir/usr/share/nim/doc"
+	cp -a examples doc/* "$pkgdir/usr/share/nim/doc"
+
+	install -Dm 644 copying.txt -t "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
+
+nimsuggest() {
+	pkgdesc="idetools for the nim language"
+
+	install -D -m 755 "$builddir"/nimsuggest/nimsuggest \
+		"$subpkgdir"/usr/bin/nimsuggest
+}
+
+niminst() {
+	pkgdesc="A tool to generate an installer for a Nim program"
+
+	install -D -m 755 "$builddir"/tools/niminst/niminst \
+		"$subpkgdir"/usr/bin/niminst
+}
+
+sha512sums="67f5dc039655218692f6d178fad5ef903c1cf12f92bd0c181a6d8c1ec8882f2aaf2de5da92f89b4f8665645a9d7bb1304e7a8c6ba866816d030ce5d1a0a66cf7  nim-1.2.6.tar.gz
+4da00678cb92cfd3b2425e4698cbbef8111c711f9457ba969367638437b5fad7928ca0a91fd24f53dcd9d341cfc420e87ec85d245767531bc57ccafd6feba258  nim-csources-0.20.0.tar.gz"
diff --git a/nim/nim-config-enable-ucontext.patch b/nim/nim-config-enable-ucontext.patch
@@ -0,0 +1,11 @@
+diff -ruN a/config/nim.cfg b/config/nim.cfg
+--- a/config/nim.cfg	2018-02-15 00:45:38.251038499 +0100
++++ b/config/nim.cfg	2018-02-15 00:46:48.937858896 +0100
+@@ -231,3 +231,7 @@
+ 
+ # Configuration for the Tiny C Compiler:
+ tcc.options.always = "-w"
++
++# Enable libucontext
++gcc.options.linker %= "-lucontext"
++llvm_gcc.options.linker %= "-lucontext"
diff --git a/nim/nim-config-fix-paths.patch b/nim/nim-config-fix-paths.patch
@@ -0,0 +1,15 @@
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Tue, 23 Aug 2017 22:57:00 +0200
+Subject: [PATCH] Fix default nimblepath in nim.cfg
+
+--- a/config/nim.cfg
++++ b/config/nim.cfg
+@@ -41,7 +41,7 @@
+ @if nimbabel:
+   nimblepath="$home/.nimble/pkgs/"
+   @if not windows:
+-    nimblepath="/opt/nimble/pkgs/"
++    nimblepath="/usr/share/nimble/pkgs/"
+   @else:
+     # TODO:
+   @end
diff --git a/nim/niminst-fix-paths.patch b/nim/niminst-fix-paths.patch
@@ -0,0 +1,170 @@
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Tue, 23 Aug 2017 22:57:00 +0200
+Subject: [PATCH] Patch niminst's (de)install to be usable for distributions
+
+* Add support for DESTDIR variable (staged installs).
+* Change paths to be FHS/Alpine compliant.
+* Use "install" command instead of mkdir/cp/chmod.
+
++++ b/tools/niminst/install.tmpl
+--- a/tools/niminst/install.tmpl
+@@ -5,6 +5,8 @@
+ 
+ set -e
+ 
++: ${DESTDIR:=}
++
+ if [ $# -eq 1 ] ; then
+ # if c.cat[fcUnixBin].len > 0:
+   if test -f ?{c.cat[fcUnixBin][0].toUnix}
+@@ -26,43 +28,47 @@
+       echo "  <some other dir> (treated similar to '/opt')"
+       echo "To deinstall, use the command:"
+       echo "sh deinstall.sh DIR"
++      echo ""
++      echo "You may also use environment variable DESTDIR for staged installs"
++      echo "(DESTDIR is prepended to each install target file). Note that this"
++      echo "is added by Alpine Linux, it's not supported by standard niminst."
+       exit 1
+       ;;
+     "/usr/bin")
+-      bindir=/usr/bin
+-      configdir=/etc
+-      libdir=/usr/lib/?proj
+-      docdir=/usr/share/?proj/doc
+-      datadir=/usr/share/?proj/data
+-      nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version"
++      bindir="$DESTDIR/usr/bin"
++      configdir="$DESTDIR/etc"
++      libdir="$DESTDIR/usr/lib/?proj"
++      docdir="$DESTDIR/usr/share/doc/?proj"
++      datadir="$DESTDIR/usr/share/?proj/data"
++      nimbleDir="$DESTDIR/usr/share/nimble/pkgs/?c.nimblePkgName-?c.version"
+       ;;
+     "/usr/local/bin")
+-      bindir=/usr/local/bin
+-      configdir=/etc
+-      libdir=/usr/local/lib/?proj
+-      docdir=/usr/local/share/?proj/doc
+-      datadir=/usr/local/share/?proj/data
+-      nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version"
++      bindir="$DESTDIR/usr/local/bin"
++      configdir="$DESTDIR/etc"
++      libdir="$DESTDIR/usr/local/lib/?proj"
++      docdir="$DESTDIR/usr/local/share/doc/?proj"
++      datadir="$DESTDIR/usr/local/share/?proj/data"
++      nimbleDir="$DESTDIR/usr/local/share/nimble/pkgs/?c.nimblePkgName-?c.version"
+       ;;
+     "/opt")
+-      bindir="/opt/?proj/bin"
+-      configdir="/opt/?proj/config"
+-      libdir="/opt/?proj/lib"
+-      docdir="/opt/?proj/doc"
+-      datadir="/opt/?proj/data"
+-      nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version"
+-      mkdir -p /opt/?proj
++      bindir="$DESTDIR/opt/?proj/bin"
++      configdir="$DESTDIR/opt/?proj/config"
++      libdir="$DESTDIR/opt/?proj/lib"
++      docdir="$DESTDIR/opt/?proj/doc"
++      datadir="$DESTDIR/opt/?proj/data"
++      nimbleDir="$DESTDIR/opt/nimble/pkgs/?c.nimblePkgName-?c.version"
++      mkdir -p $DESTDIR/opt/?proj
+       mkdir -p $bindir
+       mkdir -p $configdir
+       ;;
+     *)
+-      bindir="$1/?proj/bin"
+-      configdir="$1/?proj/config"
+-      libdir="$1/?proj/lib"
+-      docdir="$1/?proj/doc"
+-      datadir="$1/?proj/data"
+-      nimbleDir="$1/?proj"
+-      mkdir -p $1/?proj
++      bindir="$DESTDIR$1/?proj/bin"
++      configdir="$DESTDIR$1/?proj/config"
++      libdir="$DESTDIR$1/?proj/lib"
++      docdir="$DESTDIR$1/?proj/doc"
++      datadir="$DESTDIR$1/?proj/data"
++      nimbleDir="$DESTDIR$1/?proj"
++      mkdir -p $DESTDIR$1/?proj
+       mkdir -p $bindir
+       mkdir -p $configdir
+       ;;
+@@ -89,35 +95,28 @@
+ #end for
+ 
+ #for f in items(c.cat[fcUnixBin]):
+-  cp ?f.toUnix $bindir/?f.skipRoot.toUnix
+-  chmod 755 $bindir/?f.skipRoot.toUnix
++  install -D -m 755 ?f.toUnix $bindir/?f.skipRoot.toUnix
+ #end for
+ #for f in items(c.cat[fcConfig]):
+-  cp ?f.toUnix $configdir/?f.skipRoot.toUnix
+-  chmod 644 $configdir/?f.skipRoot.toUnix
++  install -D -m 755 ?f.toUnix $configdir/?f.skipRoot.toUnix
+ #end for
+ #for f in items(c.cat[fcData]):
+   if [ -f ?f.toUnix ]; then
+-    cp ?f.toUnix $datadir/?f.skipRoot.toUnix
+-    chmod 644 $datadir/?f.skipRoot.toUnix
++    install -D -m 644 ?f.toUnix $datadir/?f.skipRoot.toUnix
+   fi
+ #end for
+ #for f in items(c.cat[fcDoc]):
+   if [ -f ?f.toUnix ]; then
+-    cp ?f.toUnix $docdir/?f.skipRoot.toUnix
+-    chmod 644 $docdir/?f.skipRoot.toUnix
++    install -D -m 644 ?f.toUnix $docdir/?f.skipRoot.toUnix
+   fi
+ #end for
+ #for f in items(c.cat[fcLib]):
+-  cp ?f.toUnix $libdir/?f.skipRoot.toUnix
+-  chmod 644 $libdir/?f.skipRoot.toUnix
++  install -D -m 644 ?f.toUnix $libdir/?f.skipRoot.toUnix
+ #end for
+ #for f in items(c.cat[fcNimble]):
+-  cp ?f.toUnix $nimbleDir/?f.toUnix
+-  chmod 644 $nimbleDir/?f.toUnix
++  install -D -m 644 ?f.toUnix $nimbleDir/?f.toUnix
+ #end for
+-cp ?{c.nimblePkgName}.nimble $nimbleDir/?{c.nimblePkgName}.nimble
+-chmod 644 $nimbleDir/?{c.nimblePkgName}.nimble
++install -D -m 644 ?{c.nimblePkgName}.nimble $nimbleDir/?{c.nimblePkgName}.nimble
+ 
+   echo "installation successful"
+ else
+@@ -130,5 +129,9 @@
+   echo "  <some other dir> (treated similar to '/opt')"
+   echo "To deinstall, use the command:"
+   echo "sh deinstall.sh DIR"
++  echo ""
++  echo "You may also use environment variable DESTDIR for staged installs"
++  echo "(DESTDIR is prepended to each install target file). Note that this"
++  echo "is added by Alpine Linux, it's not supported by standard niminst."
+   exit 1
+ fi
+--- a/tools/niminst/deinstall.tmpl
++++ b/tools/niminst/deinstall.tmpl
+@@ -19,17 +19,17 @@
+       bindir=/usr/bin
+       configdir=/etc
+       libdir=/usr/lib/?proj
+-      docdir=/usr/share/?proj/doc
++      docdir=/usr/share/doc/?proj
+       datadir=/usr/share/?proj/data
+-      nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version"
++      nimbleDir="/usr/share/nimble/pkgs/?c.nimblePkgName-?c.version"
+       ;;
+     "/usr/local/bin")
+       bindir=/usr/local/bin
+       configdir=/etc
+       libdir=/usr/local/lib/?proj
+-      docdir=/usr/local/share/?proj/doc
++      docdir=/usr/local/share/doc/?proj
+       datadir=/usr/local/share/?proj/data
+-      nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version"
++      nimbleDir="/usr/share/nimble/pkgs/?c.nimblePkgName-?c.version"
+       ;;
+     "/opt")
+       bindir="/opt/?proj/bin"
diff --git a/nimble/APKBUILD b/nimble/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=nimble
+pkgver=0.11.4
+pkgrel=0
+pkgdesc="Package manager for the Nim programming language"
+url="https://github.com/nim-lang/nimble"
+arch="all !s390x"
+license="BSD-3-Clause"
+depends="nim"
+source="$pkgname-$pkgver.tar.gz::https://github.com/nim-lang/$pkgname/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgver"
+
+build() {
+	cd "$builddir"
+	nim compile -d:release src/nimble
+}
+
+package() {
+	cd "$builddir"
+	install -D -m 755 src/nimble "$pkgdir"/usr/bin/nimble
+
+	mkdir -p ${pkgdir}/usr/share/nimble
+	cp -a src/nimblepkg "${pkgdir}/usr/share/${pkgname}"
+	ln -s ${pkgdir}/usr/share/${pkgname} "${pkgdir}/usr/bin/nimblepkg"
+}
+
+sha512sums="d36e72c7e4c2ef57d51f086b91bf093c6d96e43989a26c30453566889325f209995abfe00449731eacd59ec3d6ab0e6c591413e5356fa8ad6c91d8aa7d330aaa  nimble-0.11.4.tar.gz"
diff --git a/oeffisearch/APKBUILD b/oeffisearch/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor:
+# Maintainer:
+pkgname=oeffisearch
+pkgver=0.0.1
+pkgrel=9
+pkgdesc="fast and simple tripplanner for the web"
+url="https://cgit.ctu.cx/fritzbox-exporter"
+arch="all"
+license="MIT"
+depends="openssl"
+makedepends="nim"
+install="$pkgname.pre-install"
+subpackages=""
+source="$pkgname.tar.gz::https://cgit.ctu.cx/oeffisearch/snapshot/oeffisearch-master.tar.gz
+        $pkgname.initd"
+builddir="$srcdir/$pkgname-master/"
+
+build() {
+	cd $builddir
+	nim c -d:release --nimcache:$PWD src/oeffisearch.nim
+}
+
+check() {
+	:
+}
+
+package() {
+	install -Dm755 src/$pkgname $pkgdir/usr/bin/$pkgname
+	install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+	mkdir -p $pkgdir/usr/share
+	cp -r client $pkgdir/usr/share/oeffisearch
+}
+
+sha512sums="d4a3b3243f6de3d9afe301459b2ca4b8c6392e35608fee9511657327f5bb67a17f8708b3f1f4c8c35fb157b01a9a6a1fd1ed9f3e61aec12cc23e6eeb63c6ebc0  oeffisearch.tar.gz
+65dd12c9edb74505a9b9b48ddc91da6a62372d81b6729cd38984bcc39935a34caa790cfdfb2e56a1bee19daa57a76c979ee4e675702d881fa30c20d40579a3ef  oeffisearch.initd"
diff --git a/oeffisearch/oeffisearch.initd b/oeffisearch/oeffisearch.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+name="oeffisearch"
+description="fast and simple tripplanner for the web"
+
+PORT=8081
+CACHE_PATH=/var/lib/oeffisearch
+
+export PORT
+export CACHE_PATH
+
+command="/usr/bin/oeffisearch"
+command_user=oeffisearch:oeffisearch
+directory="/var/lib/$RC_SVCNAME"
+
+depend() {
+	need net localmount
+	after firewall
+}	
diff --git a/oeffisearch/oeffisearch.pre-install b/oeffisearch/oeffisearch.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S oeffisearch 2>/dev/null
+adduser -S -D -h /var/lib/oeffisearch -s /sbin/nologin -G oeffisearch -g oeffisearch oeffisearch 2>/dev/null
+
+exit 0