summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorÓscar García Amor2020-11-25 11:11:37 +0100
committerÓscar García Amor2020-11-25 11:11:37 +0100
commita5fab79bd1b590c109e64db25c4e1b5779716a8b (patch)
treeda0542f831bc2cfe79aecd594c4ca038467c1f7c
downloadaur-a5fab79bd1b590c109e64db25c4e1b5779716a8b.tar.gz
Initial upload: supersonic 2020.11.24-1
-rw-r--r--.SRCINFO29
-rw-r--r--.gitignore7
-rw-r--r--PKGBUILD49
-rw-r--r--supersonic.install12
-rw-r--r--supersonic.service21
-rw-r--r--supersonic.socket10
6 files changed, 128 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..e9c5e56f9a08
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = supersonic
+ pkgdesc = A Subsonic music server implemented in C++
+ pkgver = 2020.11.24
+ pkgrel = 1
+ url = https://github.com/davidgfnet/supersonic-cpp
+ install = supersonic.install
+ arch = i686
+ arch = x86_64
+ arch = armv6h
+ arch = armv7h
+ arch = aarch64
+ license = Unlicense
+ depends = fcgi
+ depends = openssl
+ depends = sqlite
+ depends = taglib
+ source = supersonic-2020.11.24.tar.gz::https://github.com/davidgfnet/supersonic-cpp/archive/2d157f99bd683d127aac8ca1f5f396120b721c9e.tar.gz
+ source = https://raw.githubusercontent.com/hbristow/argparse/43edb8acf2135509590631a0ac4582e3741016bf/argparse.hpp
+ source = supersonic.install
+ source = supersonic.service
+ source = supersonic.socket
+ sha256sums = 7686430618849103b5fa9de416add6e7e854187c44e4416ce420612139baf8de
+ sha256sums = 7e43bf60bac7445e2c8dcf307928ed6e62b7940071b43a5a6674a04d6476e61b
+ sha256sums = 4a48d22aed461d9ea52bfd91c32835dbead08d47157d9e49062561db63113f41
+ sha256sums = 3ffba956ec0044df1fd5e7e4fe18188e341634d1763994ebbf47498067fca676
+ sha256sums = df937e7a8922a04d69ed9db46774d67d565a0fe2738661119311c44ba365a047
+
+pkgname = supersonic
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..f56b4826168f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+*
+!.gitignore
+!PKGBUILD
+!.SRCINFO
+!supersonic.install
+!supersonic.service
+!supersonic.socket
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..259d9e1db2a8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,49 @@
+# Maintainer: "Amhairghin" Oscar Garcia Amor (https://ogarcia.me)
+
+_commit='2d157f99bd683d127aac8ca1f5f396120b721c9e'
+pkgname=supersonic
+pkgver=2020.11.24
+pkgrel=1
+pkgdesc='A Subsonic music server implemented in C++'
+arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
+url='https://github.com/davidgfnet/supersonic-cpp'
+license=('Unlicense')
+depends=('fcgi' 'openssl' 'sqlite' 'taglib')
+install="${pkgname}.install"
+source=("${pkgname}-${pkgver}.tar.gz::https://github.com/davidgfnet/${pkgname}-cpp/archive/${_commit}.tar.gz"
+ "https://raw.githubusercontent.com/hbristow/argparse/43edb8acf2135509590631a0ac4582e3741016bf/argparse.hpp"
+ "${pkgname}.install"
+ "${pkgname}.service"
+ "${pkgname}.socket")
+sha256sums=('7686430618849103b5fa9de416add6e7e854187c44e4416ce420612139baf8de'
+ '7e43bf60bac7445e2c8dcf307928ed6e62b7940071b43a5a6674a04d6476e61b'
+ '4a48d22aed461d9ea52bfd91c32835dbead08d47157d9e49062561db63113f41'
+ '3ffba956ec0044df1fd5e7e4fe18188e341634d1763994ebbf47498067fca676'
+ 'df937e7a8922a04d69ed9db46774d67d565a0fe2738661119311c44ba365a047')
+
+prepare() {
+ mv argparse.hpp "${pkgname}-cpp-${_commit}"/argparse
+}
+
+build() {
+ cd "${pkgname}-cpp-${_commit}"
+ make
+}
+
+package() {
+ # binaries
+ install -D -m755 "${srcdir}/${pkgname}-cpp-${_commit}/supersonic-scanner" \
+ "${pkgdir}/usr/bin/supersonic-scanner"
+ install -D -m755 "${srcdir}/${pkgname}-cpp-${_commit}/supersonic-server" \
+ "${pkgdir}/usr/bin/supersonic-server"
+
+ # readme
+ install -Dm644 "${srcdir}/${pkgname}-cpp-${_commit}/README.md" \
+ "${pkgdir}/usr/share/doc/${pkgname}/README.md"
+
+ # service
+ install -D -m644 "${srcdir}/${pkgname}.service" \
+ "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
+ install -D -m644 "${srcdir}/${pkgname}.socket" \
+ "${pkgdir}/usr/lib/systemd/system/${pkgname}.socket"
+}
diff --git a/supersonic.install b/supersonic.install
new file mode 100644
index 000000000000..024436ab6c04
--- /dev/null
+++ b/supersonic.install
@@ -0,0 +1,12 @@
+post_install() {
+ echo "Remember that you must create Supersonic database before first run."
+ echo "# mkdir -p /var/lib/supersonic"
+ echo "# supersonic-scanner scan /var/lib/supersonic/supersonic.sqlite /your/music/folder"
+ echo "# supersonic-scanner useradd /var/lib/supersonic/supersonic.sqlite someusername supersecurepass"
+}
+
+post_remove() {
+ echo "Remember that the following directories aren't removed."
+ echo " -> /var/lib/supersonic"
+ echo " -> /var/lib/private/supersonic"
+}
diff --git a/supersonic.service b/supersonic.service
new file mode 100644
index 000000000000..37cd2d5a2df3
--- /dev/null
+++ b/supersonic.service
@@ -0,0 +1,21 @@
+[Unit]
+Description=Supersonic music server
+After=network.target
+Requires=supersonic.socket
+Wants=network-online.target
+
+[Service]
+DynamicUser=yes
+RuntimeDirectory=supersonic
+StateDirectory=supersonic
+User=supersonic
+Group=supersonic
+ExecStart=/usr/bin/supersonic-server --musicdb /var/lib/supersonic/supersonic.sqlite --userdb /var/lib/supersonic/supersonic.sqlite
+StandardOutput=null
+StandardInput=socket
+StandardError=null
+Restart=on-failure
+
+[Install]
+Also=supersonic.socket
+WantedBy=multi-user.target
diff --git a/supersonic.socket b/supersonic.socket
new file mode 100644
index 000000000000..1fe837c453c9
--- /dev/null
+++ b/supersonic.socket
@@ -0,0 +1,10 @@
+[Unit]
+Description=Supersonic music server socket
+PartOf=supersonic.service
+
+[Socket]
+SocketMode=0666
+ListenStream=/run/supersonic/supersonic.sock
+
+[Install]
+WantedBy=sockets.target