diff --git a/.gitignore b/.gitignore --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ +/appview/tangled/ +/appview/*.zip +/appview/htmx.min.js +/appview/pkg +/appview/src /knotserver/tangled/ /knotserver-git/tangled/ /knotserver/src diff --git a/appview/PKGBUILD b/appview/PKGBUILD new file mode 100644 --- /dev/null +++ b/appview/PKGBUILD @@ -0,0 +1,52 @@ +_pkgver=1.2.0-alpha +pkgname=appview +pkgdesc='git collaboration platform built on ATproto' +pkgver=${_pkgver/\-/\.} +pkgrel=1 +license=(MIT) +arch=(x86_64) +url=https://tangled.sh/@tangled.sh/core +depends=(git) +makedepends=(go npm) +options=(strip !debug) +source=( + "tangled::git+$url#tag=v$_pkgver" + "https://unpkg.com/htmx.org@2.0.4/dist/htmx.min.js" + "https://github.com/lucide-icons/lucide/releases/download/0.483.0/lucide-icons-0.483.0.zip" + "https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip" + "https://github.com/IBM/plex/releases/download/%40ibm%2Fplex-mono%401.1.0/ibm-plex-mono.zip") +sha256sums=('2462863939d6837afe026fc0baba383e4a1dad9ca035a90aecd4084590db80b7' + 'e209dda5c8235479f3166defc7750e1dbcd5a5c1808b7792fc2e6733768fb447' + 'cc9c1db50676416f6fbb4bbaf8fba46f83331ed7c895dd9602145aebd0daa20e' + '9883fdd4a49d4fb66bd8177ba6625ef9a64aa45899767dde3d36aa425756b11e' + '4bfc936d0e1fd19db6327a3786eabdbc3dc0d464500576f6458f6706df68d26c') + +build() { + mkdir -p "${srcdir}/build" + mkdir -p ${srcdir}/tangled/appview/pages/static/{fonts,icons} + cp -f "${srcdir}/htmx.min.js" "${srcdir}/tangled/appview/pages/static/htmx.min.js" + cp -rf ${srcdir}/icons/*.svg "${srcdir}/tangled/appview/pages/static/icons/" + cp -f ${srcdir}/web/InterVariable*.woff2 "${srcdir}/tangled/appview/pages/static/fonts/" + cp -f ${srcdir}/web/InterDisplay*.woff2 "${srcdir}/tangled/appview/pages/static/fonts/" + cp -f "${srcdir}/ibm-plex-mono/fonts/complete/woff2/IBMPlexMono-Regular.woff2" "${srcdir}/tangled/appview/pages/static/fonts/" + + pwd + cd ${srcdir}/tangled + npm install tailwindcss@3 @tailwindcss/typography + npx tailwindcss -i input.css -o appview/pages/static/tw.css + cd ${srcdir} + + export CGO_ENABLED=1 + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CFLAGS="${CFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + export CGO_LDFLAGS="${LDFLAGS}" + export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw" + cd ${srcdir}/tangled + go build -o "${srcdir}/build/appview" ./cmd/appview +} + +package() { + install -Dm755 "${srcdir}/build/appview" "${pkgdir}/usr/bin/appview" + install -Dm644 "${srcdir}/tangled/license" "${pkgdir}/usr/share/licenses/knotserver/LICENSE" +}