# Maintainer: RocketDev <ma2014119@outlook.com>

pkgname=filebrowser
pkgver=2.63.23
pkgrel=1
pkgdesc="Standalone web file manager"
arch=(x86_64)
url="https://filebrowser.org/"
license=(Apache-2.0)
depends=(glibc)
makedepends=(git go pnpm)
source=("git+https://github.com/filebrowser/filebrowser.git#tag=v${pkgver}")
sha512sums=('fd768b53f6577e026a2790d1fb2d52deb6a45eb5660312a316942310719b82934f14684b8a03677672d536d5a38db4d104f8e0147061e0ecc8f278330272e1bf')

build() {
    cd "$pkgname"

    pushd frontend
    pnpm install --frozen-lockfile
    pnpm run build
    popd

    _commit=$(git describe --long | sed 's/^[^g]*g//')
    export GOPATH="$srcdir"
    export CGO_CPPFLAGS="${CPPFLAGS}"
    export CGO_CFLAGS="${CFLAGS}"
    export CGO_CXXFLAGS="${CXXFLAGS}"
    export CGO_LDFLAGS="${LDFLAGS}"
    export GOPATH="${srcdir}"
    export GOFLAGS="-buildmode=pie -mod=readonly -modcacherw"

    PATCH_VERSION="'github.com/filebrowser/filebrowser/v2/version.Version=$pkgver'"
    PATCH_COMMIT="'github.com/filebrowser/filebrowser/v2/version.CommitSHA=$_commit'" 
    go build \
        -ldflags "-compressdwarf=false -linkmode external -X $PATCH_VERSION -X $PATCH_COMMIT" \
        -o $pkgname .
    }

package() {
    cd "$pkgname"
    install -Dm755 "$pkgname" "$pkgdir/usr/bin/$pkgname"
    install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
}
