initial import
This commit is contained in:
52
ympd/PKGBUILD
Normal file
52
ympd/PKGBUILD
Normal file
@@ -0,0 +1,52 @@
|
||||
# Maintainer: Jesus E. <heckyel@riseup.net>
|
||||
|
||||
pkgname=ympd
|
||||
pkgver=1.3.0
|
||||
pkgrel=5
|
||||
pkgdesc="A standalone MPD Web GUI"
|
||||
arch=('i686' 'x86_64')
|
||||
url='https://github.com/notandy/ympd'
|
||||
license=('GPL-2')
|
||||
depends=('libmpdclient' 'libressl' 'logger')
|
||||
makedepends=('cmake')
|
||||
optdepends=('mpd: for local running instance')
|
||||
provides=('ympd')
|
||||
install="${pkgname}.install"
|
||||
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/notandy/ympd/archive/v${pkgver}.tar.gz"
|
||||
"fix-compile.patch"
|
||||
"${pkgname}.confd"
|
||||
"${pkgname}.initd"
|
||||
"${pkgname}.conf"
|
||||
"${pkgname}.run")
|
||||
sha512sums=('7e2bd4124b0e7692e2528e9fc50955d1b357ba042d8c97941160ad31ee0c89bc53b349195b45d27ce77aaa954bc01aceba1a30cdb89d9f58644a0b4934498a16'
|
||||
'b8447217fcb7e47d7a0114b605ca14276d0d8f0d56070c48d9664332a77bcd3f47e4758e56aa7700f59c18b40674e6ecf8206b9099a0690e53f0782168b18125'
|
||||
'54c227d7dbb9c0eba8e785964f142b64fb5c32de562471acc7050b016d81d2f6f32f6802261a4e3de33836468122ad2197e0034af2ebb3799b02f24c44e7bab8'
|
||||
'fbe65af0fc0f7e434eb5aea8cce3565cdd89561d0c17467eb80a217f0bf33026f5c19a834d8234b7584347e3332e5814c75dfc17139665a529ea5145933edd3d'
|
||||
'0a04f4dae610b7336c2a452db73deffca2ab7aae0d9d60c8c49e25abfdbaf9e13870bcc538e7655d4cb241870e2e2ec248936cb6d87f0495fe0be67d60256f09'
|
||||
'a45fd90b1ccf739bd43260c14ad15a30e26537ad35821f134cb6ecdb58e1ec664f52277e79bcfe3434be8c90905eae44cf51c2fdc83f1c7275fcb820e5d4d5ce')
|
||||
|
||||
prepare() {
|
||||
patch -d "${pkgname}-${pkgver}" -Np1 -i "${srcdir}"/fix-compile.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $srcdir/$pkgname-$pkgver
|
||||
cmake \
|
||||
-B build \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=/usr
|
||||
make -C build
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $srcdir/$pkgname-$pkgver
|
||||
make DESTDIR="$pkgdir/" -C build install
|
||||
|
||||
# services
|
||||
install -Dm644 "${srcdir}/${pkgname}.confd" "${pkgdir}/etc/conf.d/${pkgname}"
|
||||
install -Dm755 "${srcdir}/${pkgname}.initd" "${pkgdir}/etc/init.d/${pkgname}"
|
||||
install -Dm644 "${srcdir}/${pkgname}.conf" "${pkgdir}/etc/sv/${pkgname}/conf"
|
||||
install -Dm755 "${srcdir}/${pkgname}.run" "${pkgdir}/etc/sv/${pkgname}/run"
|
||||
|
||||
# license
|
||||
install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/$pkgname"
|
||||
}
|
||||
27
ympd/fix-compile.patch
Normal file
27
ympd/fix-compile.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
diff --git a/src/mpd_client.c b/src/mpd_client.c
|
||||
index 7271984..1f086e4 100644
|
||||
--- a/src/mpd_client.c
|
||||
+++ b/src/mpd_client.c
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
/* forward declaration */
|
||||
static int mpd_notify_callback(struct mg_connection *c, enum mg_event ev);
|
||||
+struct t_mpd mpd;
|
||||
|
||||
const char * mpd_cmd_strs[] = {
|
||||
MPD_CMDS(GEN_STR)
|
||||
diff --git a/src/mpd_client.h b/src/mpd_client.h
|
||||
index dd78af9..386a31d 100644
|
||||
--- a/src/mpd_client.h
|
||||
+++ b/src/mpd_client.h
|
||||
@@ -92,7 +92,9 @@ struct t_mpd {
|
||||
|
||||
int song_id;
|
||||
unsigned queue_version;
|
||||
-} mpd;
|
||||
+};
|
||||
+
|
||||
+extern struct t_mpd mpd;
|
||||
|
||||
struct t_mpd_client_session {
|
||||
int song_id;
|
||||
2
ympd/ympd.conf
Normal file
2
ympd/ympd.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
YMPD_USER="ympd"
|
||||
YMPD_OPTS="-u $YMPD_USER"
|
||||
1
ympd/ympd.confd
Normal file
1
ympd/ympd.confd
Normal file
@@ -0,0 +1 @@
|
||||
ympd_user="ympd"
|
||||
22
ympd/ympd.initd
Normal file
22
ympd/ympd.initd
Normal file
@@ -0,0 +1,22 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
supervisor=supervise-daemon
|
||||
|
||||
name=ympd
|
||||
description="MPD Web GUI"
|
||||
|
||||
pidfile="/run/${RC_SVCNAME}.pid"
|
||||
command=/usr/bin/$name
|
||||
command_args_background="-u $ympd_user"
|
||||
command_background=true
|
||||
|
||||
depend() {
|
||||
use logger dns
|
||||
need net
|
||||
after firewall
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
checkpath --directory --owner "$ympd_user" \
|
||||
--mode 0775 /var/run/"$name"
|
||||
}
|
||||
25
ympd/ympd.install
Normal file
25
ympd/ympd.install
Normal file
@@ -0,0 +1,25 @@
|
||||
post_install() {
|
||||
# create group and user
|
||||
if ! getent group ympd &>/dev/null; then
|
||||
groupadd -r ympd >/dev/null
|
||||
fi
|
||||
if ! getent passwd ympd &>/dev/null; then
|
||||
useradd -r -c "ympd web-interface user" -d /var/empty -g ympd -s /bin/nologin ympd >/dev/null
|
||||
fi
|
||||
|
||||
# message for user
|
||||
echo "Please note that either a local or remote running instance of MPD is needed."
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
post_install
|
||||
}
|
||||
|
||||
post_remove() {
|
||||
if getent passwd ympd &>/dev/null; then
|
||||
userdel ympd >/dev/null
|
||||
fi
|
||||
if getent group ympd &>/dev/null; then
|
||||
groupdel ympd >/dev/null
|
||||
fi
|
||||
}
|
||||
3
ympd/ympd.run
Normal file
3
ympd/ympd.run
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
[ -r conf ] && . ./conf
|
||||
exec ympd ${YMPD_OPTS} 2>&1
|
||||
Reference in New Issue
Block a user