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

pkgname=redmine
pkgver=7.0.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
  lld
)
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"
	"redmine.tmpfiles"
	"redmine.sysusers")
sha512sums=('d180fcc0b3babceaeda49272aca6bfd5d31accad35220561ae8a629ea56ac03226b7b6cefb9371689aa24b29e365cda03937a8150228efa67717bb02c5316976'
            'dff9cdfaa296130003cdc92822e924bea164ba6a7405893887cc3b87e8f84325b499c884853d13c33fe00613a776d6b84cfdf8a5240a6130fbf7c6eb1bd9b39b'
            '2bca76c0c60e966693d514295ba29cf597b0f5402de0b414d63ad4687cdc0bcda6720cc753398582248fb57121250fc24e966ae878694abdba3a980bf3e1b6ad'
            '4bcd4efa38bb23cc872b1bfbe9126c6bfcafaa2da37dd407317223bb05fffb2d1ad38891a0fe8059537e6c60c7d1f941c7219c94255ca6b5661e43a915bda580'
            'b06eead193444056d4db0c7b94e37603287777d37553bc70ad4a910759ef634ae35178cb9570cf5be76970361530818ab7de286eb0efb92cc54aa15adf87d7ca')

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

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

    export RUSTFLAGS="-C link-arg=-fuse-ld=lld"

    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
    install -Dm 644 "${srcdir}"/redmine.sysusers "$pkgdir"/usr/lib/sysusers.d/redmine.conf
    install -Dm 644 "${srcdir}"/redmine.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/redmine.conf

    cd "$pkgdir"/usr/share/webapps/redmine
    rm -rf files log
    install -dm0755 "$pkgdir"/var/lib/redmine/files
    install -dm0755 "$pkgdir"/var/log/redmine
    mv tmp "$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
}
