# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Federico Cuello <fedux@fedux.com.ar>

pkgname=redmine
pkgver=4.2.2
pkgrel=1
pkgdesc="A flexible project management web application written using Ruby on Rails framework."
arch=('any')
url="https://www.redmine.org"
license=('GPL2')
depends=('ruby2.6' 'imagemagick' 'libxml2' 'libxslt')
makedepends=('mariadb-libs' 'postgresql-libs' 'systemd')
optdepends=('apache: A supported application server'
            'nginx: A supported application server'
            'mysql: MySQL database support'
            'postgresql: PostgreSQL database support'
            'sqlite: SQLite database support')
source=("$url/releases/$pkgname-$pkgver.tar.gz"
	"Gemfile.local"
	"redmine.service")
sha512sums=('71155358ca68d9eb5bf6b79e26202c29ba3355d499662bfe659ff1672625a25d91694d5f1e4bb8db18456642470244aca914efe4456adef2850b70ff7eb216b2'
            '4121bc1c30ca626a7cef5b4993dbe8480acfcb0c84367520a45433ba09878ed541247be1980a32a8b74f9a4f0802ff5fa341efca3cde91cd2fe1fe11c8412754'
            '0b897980a8920538674fa7585e1dbaef48a152226215d598c41b3fcf4ac6566b5866d6e3132c30c0adbdc0d8e0080e2541cb4a119aedc6bef24fd6c129abd4eb')

build() {
    cd "$srcdir"/redmine-$pkgver

    export PATH=/opt/ruby2.6/bin:$PATH

    cp "${srcdir}"/Gemfile.local Gemfile.local
    bundle-2.6 lock
    bundle-2.6 install --no-cache --deployment --without development test
}

package() {
    install -dm 755 "$pkgdir"/usr/share/webapps/
    cp -a --no-preserve=ownership "$srcdir"/redmine-$pkgver "$pkgdir"/usr/share/webapps/redmine

    install -Dm0644 "${srcdir}"/redmine.service "${pkgdir}"/usr/lib/systemd/system/redmine.service

    cd "$pkgdir"/usr/share/webapps/redmine
    rm -rf files log
    install -dm0755 -o http -g http "$pkgdir"/var/lib/redmine/files
    install -dm0755 -o http -g http "$pkgdir"/var/log/redmine
    mv tmp "$pkgdir"/var/lib/redmine/tmp
    chown -R http:http "$pkgdir"/var/lib/redmine/tmp
    ln -s /var/log/redmine log
    ln -s /var/lib/redmine/files files
    ln -s /var/lib/redmine/tmp tmp
}
