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

pkgname=redmine
pkgver=6.1.1
pkgrel=1
pkgdesc="A flexible project management web application written using Ruby on Rails framework."
arch=('x86_64')
url="https://www.redmine.org"
license=('GPL2')
depends=(
  imagemagick
  libxml2
  libxslt
  ruby
)
makedepends=(
  mariadb-libs
  postgresql-libs
  ruby-bundler
  ruby-erb
  sqlite
  systemd
  clang
)
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=('ed3e3e4f8939e652893eaa3f1d8728570cb2d92093a3abb3d2308618dc4956bd809b0ed40ddcb92d34aa6a07bd08b0c309e2df76ca63f52168e120d800811adc'
            'dff9cdfaa296130003cdc92822e924bea164ba6a7405893887cc3b87e8f84325b499c884853d13c33fe00613a776d6b84cfdf8a5240a6130fbf7c6eb1bd9b39b'
            'e8cf8b47fdc51f01cbbcfde2b822e9c57eb3989ada116cd2ffe6982d9947feca30f256221e018babc3afedb9c62c65ff158bb024259ebfabc30d719b90692166')

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

    sed -i "/ruby '/d" Gemfile
    cp "${srcdir}"/Gemfile.local Gemfile.local

    bundle config build.nokogiri --use-system-libraries "-- --with-cflags='$(ruby -r rbconfig -e 'print RbConfig::CONFIG["CFLAGS"]') -Wno-incompatible-pointer-types'"
    bundle config set without 'development test'
    bundle config set force_ruby_platform true
    bundle config set no-cache true
    bundle config set deployment true

    bundle lock
    bundle install
}

package() {
    install -dm 755 "$pkgdir"/usr/share/webapps/

    rm "$srcdir"/redmine-$pkgver/vendor/bundle/ruby/3*/extensions/*/*/*/{mkmf.log,gem_make.out}
    rm -rf "$srcdir"/redmine-$pkgver/vendor/bundle/ruby/3*/gems/*/ext/

    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
}
