summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD123
1 files changed, 123 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..3850238501a4
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,123 @@
+# Maintainer: Fabian Bornschein <fabiscafe@mailbox.org>
+
+pkgname=misskey
+pkgver=12.102.1
+pkgrel=1
+pkgdesc="🌎 An interplanetary microblogging platform 🚀 (Experimental)"
+url="https://github.com/misskey-dev/misskey"
+options=("!strip")
+arch=("x86_64")
+license=("AGPL3" "MIT")
+depends=("nodejs-lts-gallium" "npm" "postgresql" "redis" "yarn")
+makedepends=("git" "python")
+install="misskey.install"
+optdepends=("elasticsearch: search functionality"
+ "ffmpeg: something something"
+ "nginx: reverse-proxy usage")
+_commit="97885d3def2ec2daa7e2706971f96052b60fbe79"
+source=("git+https://github.com/misskey-dev/misskey.git#commit=${_commit}" #tag/12.102.1
+ "${pkgname}.install"
+ "${pkgname}.service"
+ "${pkgname}.sysusers"
+ "${pkgname}.tmpfiles")
+md5sums=('SKIP'
+ 'aa0312f32fe331cd7a2e471902dad1f4'
+ '9abc87cea2314b95334d4ad3b309e931'
+ 'a3fe48c606eabebf818106648c0bf0d9'
+ 'c6f7dc5885f8db2329b3b1e3c2a67ef5')
+sha256sums=('SKIP'
+ 'd860082dbc90b0e7ecadcb1bfeeeb11dae6f24544d4746883e4a2bfafd052284'
+ '5cd19f1798eb1852c47c7786021adede99d95ab83feb0802e7b1fba50a308517'
+ 'a3ff9c1b77920ebbb0df8fb1affe9e8ef54d907bd4d16ed7c6076cbf52726df7'
+ 'c368b2ed2efbeca0e488f883defb2ccb7ed4661cc6832d2c396176206a794f34')
+
+pkgver() {
+ cd "${pkgname}"
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd "${pkgname}"
+
+ # Dependency handling
+ git submodule update --init
+ HOME="${srcdir}/${pkgname}" yarn install
+
+ # Example configuration
+ ## Change example configuration to reflect
+ ## this packages purpose
+ _example_file="${srcdir}/${pkgname}/.config/example.yml"
+
+ sed -i \
+ 's|https://example.tld/|https://wiki.archlinux.org/title/Misskey|;
+ s|use option 1, uncomment|not use option 1, comment out|;
+ s|#port: 3000|port: 3000|;
+ s|example-misskey-user|misskey|;
+ s| pass: example-misskey-pass|# pass: misskey|;
+ s|#outgoingAddressFamily: ipv4|outgoingAddressFamily: dual|' \
+ ${_example_file}
+}
+
+build() {
+ cd "${pkgname}"
+ NODE_ENV=production HOME="${srcdir}/${pkgname}" yarn build
+
+ # Cleanup
+ find "${srcdir}/${pkgname}" \
+ -depth \
+ -type d \
+ \( -iname '.git' \
+ -o -iname '.github' \
+ -o -iname '.vscode' \) \
+ -execdir rm -rf '{}' \;
+ find "${srcdir}/${pkgname}" \
+ -type f \
+ \( -name '.git' \
+ -o -name '.gitattributes' \
+ -o -name '.gitignore' \
+ -o -name '.gitmodules' \
+ -o -name '.docker*' \
+ -o -iname 'docker*' \
+ -o -name '.editor*' \
+ -o -name '.vsls.json' \) \
+ -not -name 'docker*.js' \
+ -delete
+ rm -r "${srcdir}/${pkgname}/cypress"
+ rm -r "${srcdir}/${pkgname}/.cache"
+ rm -r "${srcdir}/${pkgname}/docs"
+ rm -r "${srcdir}/${pkgname}/misskey-assets"
+ rm -rf "${srcdir}/${pkgname}/.npm"
+ rm -r "${srcdir}/${pkgname}/scripts"
+ rm -r "${srcdir}/${pkgname}/.yarn"
+}
+
+package() {
+ # systemd files
+ install -Dm644 ${pkgname}.service -t "${pkgdir}"/usr/lib/systemd/system/
+ install -Dm644 ${pkgname}.sysusers "${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf
+ install -Dm644 ${pkgname}.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/${pkgname}.conf
+
+ install -dm755 "${pkgdir}/usr/share/webapps"
+ mv "${srcdir}/${pkgname}" "${pkgdir}/usr/share/webapps/"
+
+ # config setup
+ install -dm755 "${pkgdir}/etc/webapps/${pkgname}"
+ mv "${pkgdir}/usr/share/webapps/${pkgname}/.config/example.yml" -t \
+ "${pkgdir}/etc/webapps/${pkgname}/"
+ rmdir "${pkgdir}/usr/share/webapps/${pkgname}/.config"
+ ln -s "/etc/webapps/${pkgname}" "${pkgdir}/usr/share/webapps/${pkgname}/.config"
+
+ # cache setup
+ ln -s "/var/cache/${pkgname}" "${pkgdir}/usr/share/webapps/${pkgname}/.cache"
+
+ # yarn, npm setup
+ ln -s "/var/lib/${pkgname}/yarn" "${pkgdir}/usr/share/webapps/${pkgname}/.yarn"
+ ln -s "/var/lib/${pkgname}/npm" "${pkgdir}/usr/share/webapps/${pkgname}/.npm"
+
+ # files (upload, …)
+ ln -s "/var/lib/${pkgname}/files" "${pkgdir}/usr/share/webapps/${pkgname}/files"
+
+ # license
+ install -Dm644 "${pkgdir}/usr/share/webapps/${pkgname}/COPYING" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}