summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD94
1 files changed, 94 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..417984cc4307
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,94 @@
+# Maintainer: leonekmi <usingarchbtw@leonekmi.fr>
+pkgname=karaokemugen-git
+pkgver=3.2.0.rc1.r15.g1a01c9c8
+pkgrel=1
+pkgdesc="Karaoke playlist manager/player app used in parties or events."
+arch=(x86_64 i686)
+url="https://mugen.karaokes.moe/"
+license=('MIT')
+groups=()
+depends=('mpv' 'ffmpeg' 'postgresql' 'electron')
+makedepends=('git' 'npm' 'typescript' 'yarn' 'nodejs>=12')
+provides=("${pkgname%-git}")
+conflicts=("${pkgname%-git}")
+replaces=()
+backup=()
+options=()
+install=${pkgname%-git}.install
+source=('karaokemugen::git+https://lab.shelter.moe/karaokemugen/karaokemugen-app.git'
+ 'karaokemugen-lib::git+https://lab.shelter.moe/karaokemugen/lib.git'
+ 'install.sh'
+ 'run.sh'
+ 'database-tweak.diff'
+ 'database.json')
+noextract=()
+md5sums=('SKIP'
+ 'SKIP'
+ '1673054cbeb6b80097dae4601cf35959'
+ '6efac0086021d7a7abcf637aae17cc99'
+ 'c1807f76ea2d800999910fe66e56fe73'
+ '0f887855e641ec949ce7c6b69d79ad1e')
+
+# Please refer to the 'USING VCS SOURCES' section of the PKGBUILD man page for
+# a description of each element in the source array.
+
+pkgver() {
+ cd "$srcdir/${pkgname%-git}"
+ # Git, tags available
+ git describe --long --tags | sed -e 's/^v//' -e 's/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+prepare() {
+ cd "$srcdir/${pkgname%-git}"
+ git submodule init
+ git config submodule.src/lib.url $srcdir/${pkgname%-git}-lib
+ git submodule update
+ patch --forward -p1 -i '../database-tweak.diff'
+}
+
+build() {
+ cd "$srcdir/${pkgname%-git}"
+
+ # Prepare dependencies
+ export HOME="$srcdir/$pkgname-home"
+ export XDG_CACHE_HOME="$srcdir/$pkgname-cache"
+ export npm_config_devdir="$srcdir/$pkgname-npm-dev"
+ export npm_config_cache="$srcdir/$pkgname-npm-cache"
+ yarn global add electron-builder
+ yarn install
+ yarn installFrontend
+ yarn installSystemPanel
+ # Build and package with electron-builder
+ export NODE_ENV='production'
+ yarn build
+ yarn buildFrontend
+ yarn buildSystemPanel
+ "$(yarn global dir)/node_modules/.bin/electron-builder" --dir
+}
+
+package() {
+ cd "$srcdir/${pkgname%-git}"
+
+ # Application itself
+ install -dm775 "$pkgdir/opt/${pkgname%-git}"
+ cp -r --no-preserve=ownership,mode packages/linux-unpacked/* "$pkgdir/opt/${pkgname%-git}/"
+ install -dm775 "$pkgdir/opt/${pkgname%-git}/app"
+ chmod -R 775 "$pkgdir/opt/${pkgname%-git}/"
+
+ # Symlinks for configuration
+ install -dm775 "$pkgdir/etc/${pkgname%-git}"
+ cp "config.sample.yml" "$pkgdir/opt/${pkgname%-git}/app/config.sample.yml"
+ cp "$srcdir/database.json" "$pkgdir/opt/${pkgname%-git}/app/database.json"
+ ln -s "$pkgdir/opt/${pkgname%-git}/app/database.json" "$pkgdir/etc/${pkgname%-git}/database.json"
+ ln -s "$pkgdir/opt/${pkgname%-git}/app/config.yml" "$pkgdir/etc/${pkgname%-git}/config.yml"
+
+ # License
+ install -dm755 "$pkgdir/usr/share/licenses/${pkgname%-git}"
+ cp --no-preserve=ownership,mode LICENSE.md "$pkgdir/usr/share/licenses/${pkgname%-git}/LICENSE"
+
+ # Runtimes
+ install -dm755 "$pkgdir/usr/bin/"
+ cp "$srcdir/run.sh" "$pkgdir/usr/bin/karaokemugen"
+ cp "$srcdir/install.sh" "$pkgdir/usr/bin/karaokemugen-install"
+ chmod 755 "$pkgdir/usr/bin/karaokemugen" "$pkgdir/usr/bin/karaokemugen-install"
+} \ No newline at end of file