# Maintainer: spiritomb <spiritomb@protonmail.com>
# Contributor: Chih-Hsuan Yen <base64_decode("eXUzYWN0eHQydHR0ZmlteEBjaHllbi5jYwo=")>
# Contributor: YuutaW <i@yuuta.moe>

pkgname=rsshub-git
pkgver=r17350.652abd126c
pkgrel=1
pkgdesc="Everything is RSSible"
# The built package bundles native Node.js extensions like OpenCC
arch=('x86_64')
url="https://rsshub.app/"
license=('MIT')
depends=('nodejs')
# rsshub uses pnpm, and some deps (ex: re2) uses npm
makedepends=('npm' 'pnpm' 'node-gyp' 'git')
optdepends=(
  'chromium: for routes using a headless browser'
)
backup=('etc/rsshub/rsshub.conf')
source=("$pkgname::git+https://github.com/DIYgod/RSSHub.git"
        "rsshub.conf"
        "rsshub.service"
        "rsshub_sysuser.conf"
        "rsshub_tmpfile.conf")
sha512sums=('SKIP'
            'f8f0e8195a05cc7cd43630a2ce3b28250279d3b4adbfa3693b57b23ea70013b9e5de8ab4905a6411152bdf0ab470d5873c11f6836fc281c8fd961f520a10f3b4'
            '24f0a3686083920b7d8ff6e8f89561b73f9900bd43aed632190ae2d723b7111ff59291261df1fd6d74adaa23d7eb548b428a7c5c08fe4ee1df053f063814bd14'
            '892a82aa32c0f486009eb2b620b8fd5b8674de6a36ab16d42545e64fbdb7184b7d1f2ca63d6841ec420f639bc714df88dd32c17803772aa489a4c5f12f7ec96f'
            'ae2fd7a452716fccd0f421176aba9b9971edf9a9a3f241bd023044f9bce140dfcad0777eff9d47a891264d0ea49ce9f9f7671043b44fd2bcf7c9f484c08b8449')
# clean-nm.sh leaves many empty directories
options=('!emptydirs' '!strip')

pkgver() {
    cd $pkgname
    printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

prepare() {
    cd $pkgname
    # Remove unnecessary directory
    rm -rf .github
    rm -rf docs
    rm -rf test
}

build() {
    cd $pkgname

    PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true pnpm install --store-dir "${srcdir}/pnpm-store"

    pnpm build

    rm -rf node_modules/

    PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true pnpm install --store-dir "${srcdir}/pnpm-store" --prod

    rm -rf node_modules/.cache
}

package() {
    cd $pkgname
    install -Ddm755 "$pkgdir"/opt/rsshub
    cp -R ./* "$pkgdir"/opt/rsshub/
    chown -R root:root "${pkgdir}/opt/"
    find "${pkgdir}/opt" -type d -exec chmod 755 {} +

    install -Dm640 "$srcdir"/rsshub.conf -t "$pkgdir"/etc/rsshub/

    install -Dm644 ./LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE

    # TODO: We still have several JS which contains the $srcdir
    find "$pkgdir" -type f -name package.json -print0 | xargs -0 sed -i "/_where/d"

    install -Dm644 "$srcdir"/rsshub.service -t "$pkgdir"/usr/lib/systemd/system/

    install -Dm644 "$srcdir"/rsshub_sysuser.conf -t "$pkgdir"/usr/lib/sysusers.d/

    install -Dm644 "$srcdir"/rsshub_tmpfile.conf -t "$pkgdir"/usr/lib/tmpfiles.d/
}
