summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: aea5c5a9c9a88202b15a531ae9397673383f94ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Maintainer: Matthieu Ippersiel <matthieu.ippersiel@gmail.com>
# Contributor: David Runge <dvzrv@archlinux.org>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Alexander 'gridcol' Griesbaum <agrsbm@gmail.com>
# Contributor: Ravenman <correo.cuervo@gmail.com>
# Contributor: Anton Bazhenov <anton.bazhenov@gmail>
# Contributor: Angel 'angvp' Velasquez <angvp@archlinux.com.ve>

pkgname=mantisbt
pkgver=2.26.2
pkgrel=1
pkgdesc="Web-based issue tracking system"
arch=(any)
url="https://www.mantisbt.org/"
license=(GPL2)
depends=(php)
optdepends=(
  'curl: interface Twitter'
  'mariadb: use local MySQL server'
  'php-fpm: run in fastCGI process manager'
  'php-gd: generate captcha'
  'php-pgsql: use PostgreSQL database backend'
  'postgresql: use local PostgreSQL database'
  'uwsgi-plugin-php: run as application container'
)
backup=(
  "etc/webapps/${pkgname}/config_inc.php"
  "etc/webapps/${pkgname}/custom_strings_inc.php"
  "etc/webapps/${pkgname}/custom_relationships_inc.php"
  "etc/webapps/${pkgname}/custom_functions_inc.php"
  "etc/webapps/${pkgname}/custom_constants_inc.php"
  "etc/uwsgi/${pkgname}.ini"
)
# building from source requires dead tooling for documentation:
# https://mantisbt.org/bugs/view.php?id=27140
# source=("${pkgname}-${pkgver}.tar.gz::https://github.com/${pkgname}/${pkgname}/archive/release-${pkgver}.tar.gz"
source=(
  "https://downloads.sourceforge.net/project/${pkgname}/mantis-stable/${pkgver}/${pkgname}-${pkgver}.tar.gz"
  "${pkgname}.sysusers"
  "${pkgname}.tmpfiles"
  "${pkgname}.uwsgi"
)
sha512sums=('55a8cae5036c34fc346fb5585eeffdd86d252ac1f64bbf44e361d09aedad8a24ac4f047f2659ccc80343784aa92a1a4217fe2c41873b6c0ace208af7ebc37c55'
  '3fd4e7faad7774892abfd20006ae3efcd7b0ba315447da9cea8d7352d5fd1e7f0c558d3855ad4e667a0bfe6ae0d95d12c848a78d53312521a7f551f2edca723e'
  '6f6c6ca7cafeb3f76ba0aa62af1a7adb39b87d7db201b30a52d57507b1333cdffd60ae787b15c97919380a7a133daef73bd22fde5cccda2d5b98f54b32049c5b'
  'c6033ab6bfe6c89c2918dde66b3ec912dc50d4c6ad34c413076e16ccb9c7374f5d65a637c2c8e935eabfbe354ff3f316cd1969bcc7b50dfec45628d8918aa07a')
b2sums=('6020c68f80bcc3a3c61a234955b5b18361c34c6abff2a99e912e99581f4182a8ca9fd0f24c0186b82eebf2c0b38e8e3c63fb6a1b3af9577b0fc91995d1a00eaa'
  'a533265d7bbbf1ae059a128baa43fb639e803094c62179252b416957fcfdb43a6068182d2bf29003c8fa55757a95bb1c3f054622bb0926055819c5dc989fe067'
  '39b7704651933f3f153909e9b3900a65b24fc99eaa652c9b42affdaf1bb0b8383105573d7c8d9e6aa94250b9e5ea7b4ccc0dd781dbc888421930bc64773aa130'
  '74954a9ee3e0fa390b8d80ba63023e523a6a816256d92c63b1b1a8d808c320d6c7bf3b336ccb2113876c0840010ccb273e3e9250d8a57d2634700ca7ca83edf5')
install="${pkgname}.install"

prepare() {
  # Create customization files
  touch custom_{constants,functions,relationships,strings}_inc.php

  # Remove useless scripts
  find "${pkgname}-${pkgver}/vendor" -type f -iname "*.py" -delete
}

package() {
  cd "${pkgname}-${pkgver}"
  # Configuration and add suggestion disk location as per package structure
  install -Dm 640 config/config_inc.php.sample "${pkgdir}/etc/webapps/${pkgname}/config_inc.php"
  rm config/config_inc.php.sample
  sed -i "/^# \\\$g_absolute_path_default_upload_folder/s|''|'/var/lib/${pkgname}/'|" "${pkgdir}/etc/webapps/${pkgname}/config_inc.php"
  install -Dm 644 ../*.php -t "${pkgdir}/etc/webapps/${pkgname}/"

  # Doc
  install -Dm 644 ./*.md -t "${pkgdir}/usr/share/doc/${pkgname}/"
  rm ./*.md

  # Web application
  find . -type f -exec install -Dm 644 {} "${pkgdir}/usr/share/webapps/${pkgname}/"{} \;

  # Symlink configuration and customization
  for config in {config,custom_{constants,functions,relationships,strings}}_inc.php; do
    ln -s "/etc/webapps/${pkgname}/${config}" "${pkgdir}/usr/share/webapps/${pkgname}/config/${config}"
  done

  # tmpfiles.d
  install -Dm 644 ../${pkgname}.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"

  # sysusers.d
  install -Dm 644 ../${pkgname}.sysusers "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"

  # uWSGI
  install -Dm 644 ../${pkgname}.uwsgi "${pkgdir}/etc/uwsgi/${pkgname}.ini"
}