summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorShane Chen2019-04-17 17:08:23 +0800
committerShane Chen2019-05-01 21:03:15 +0800
commitcafd47f4589ac56ea10d7322ca78961056aa1a84 (patch)
treed48821897784c526c781e84452d615d9da818ddc /PKGBUILD
parentaec6c02d1a3644c5fd69fc47ade4298464c3876b (diff)
downloadaur-cafd47f4589ac56ea10d7322ca78961056aa1a84.tar.gz
domjudge: new upstream release 7.0.0
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD124
1 files changed, 92 insertions, 32 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 66315b77f3fb..742f2ff4a817 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,42 +1,102 @@
# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
-pkgname=domjudge
-pkgver=5.1.2
+pkgbase=domjudge
+pkgname=('domjudge-domserver' 'domjudge-docs' 'domjudge-judgehost' 'domjudge-submit')
+pkgver=7.0.0
pkgrel=1
-pkgdesc="programming contest jury system"
-arch=('i686' 'x86_64')
-url="http://domjudge.sourceforge.net/"
+pkgdesc="an automated judge system to run programming contests"
+arch=("$CARCH")
+url="http://www.domjudge.org/"
license=('GPL')
-depends=('php-apache' 'mysql' 'texlive-core' 'libcgroup' 'curl' 'jsoncpp')
-makedepends=('boost')
-optdepends=('phpmyadmin: to access database in an emergency'
- 'ntp: to keep judgehosts clocks in sync'
- 'beep: for notification of errors')
-install='domjudge.install'
-
-source=(http://www.domjudge.org/releases/domjudge-$pkgver.tar.gz
- domjudge-judgehostd.service jsoncpp.patch)
-md5sums=('a200a53f86596a8e89c76bbc014c1e66'
- '93cd5b10fc2636b664f2c17b4f34436f'
- '69e8aef0a5f9394fd0a4f42785d0732e')
+makedepends=('boost' 'composer' 'inetutils' 'libcgroup' 'git' 'jsoncpp')
+optdepends=(
+ 'mysql: to run database on current host'
+ 'phpmyadmin: to access database in an emergency'
+ 'ntp: to keep judgehosts clocks in sync'
+ 'beep: for notification of errors')
+source=(
+ "https://www.domjudge.org/releases/domjudge-$pkgver.tar.gz"
+ domjudge-domserver.conf
+ domjudge-judgehost.conf
+ domjudge-judgehostd.service
+ domjudge-judgehostd@.service
+ domjudge-cgroup.service)
+sha256sums=('d794b313c622f16aca3e7bc2779b7b474ef271efff99546a5c309973e85c6dcf'
+ 'c0dfd31c0d19856df324057ffb4f81d50fe765c48026d419ceaea71864663532'
+ '06faeeea3e3abda5a53a9ae150c6289cd49062c9a22129436640d11a9948eed5'
+ '9ed301acc46bcc4de0ac38fc7fa9abe13912deb64ff549dd68ada54b9158f680'
+ '2b88ea6555d1887f4e27a863be151326955a2687c6388e81512517a56d009334'
+ 'd0a921ca8f81b3550acc8fa27713624ca39540090c943293242dcc9cd85b8049')
build() {
- cd "$srcdir"/domjudge-$pkgver
- patch -p0 < ../jsoncpp.patch
- ./configure --enable-fhs --enable-cgroups --prefix=/usr \
- --sysconfdir=/etc --localstatedir=/var \
- --enable-submitclient=http,dolstra \
- --with-domjudge-user=root --with-webserver-group=http
- make all
+ cd "$srcdir/domjudge-$pkgver"
+ domserver_lib="/usr/lib/domserver"
+ judgehost_lib="/usr/lib/judgehost"
+ domserver_var="/var/lib/domserver"
+ judgehost_var="/var/lib/judgehost"
+ ./configure --enable-fhs --prefix=/usr\
+ --bindir=/usr/bin\
+ --sbindir=/usr/bin\
+ --libexecdir=/usr/libexec\
+ --sysconfdir=/etc\
+ --sharedstatedir=/var\
+ --localstatedir=/var\
+ --libdir=/usr/lib\
+ --includedir=/usr/include\
+ --datarootdir=/var/lib\
+ --with-domserver_etcdir=/etc/domserver\
+ --with-domserver_webappdir=$domserver_var/webapp\
+ --with-domserver_sqldir=$domserver_var/sql\
+ --with-domserver_libdir=$domserver_lib\
+ --with-domserver_libvendordir=$domserver_lib/vendor\
+ --with-domserver_libsubmitdir=$domserver_lib/submit\
+ --with-domserver_rundir=$domserver_var/run\
+ --with-domserver_logdir=/var/log/domserver\
+ --with-domserver_submitdir=$domserver_var/submissions\
+ --with-judgehost_etcdir=/etc/judgehost\
+ --with-judgehost_libdir=$judgehost_lib\
+ --with-judgehost_libvendordir=$judgehost_lib/vendor\
+ --with-judgehost_libjudgedir=$judgehost_lib/judge\
+ --with-judgehost_logdir=/var/log/judgehost\
+ --with-judgehost_rundir=$judgehost_var/run\
+ --with-judgehost_judgedir=$judgehost_var/judgings\
+ --with-domjudge-user=512 --with-webserver-group=http\
+ --with-runuser=domjudge-run --with-rungroup=domjudge-run
+ make all
+}
+
+package_domjudge-submit() {
+ arch=("$CARCH")
+ depends=('curl' 'jsoncpp' 'file')
+ install -Dm 755 "$srcdir/domjudge-$pkgver/submit/submit" "$pkgdir/usr/bin/submit"
}
-package() {
- cd "$srcdir"/domjudge-$pkgver
- make install-{domserver,judgehost,docs} DESTDIR="$pkgdir"/
- rm -rf "$pkgdir"/tmp
- install -D -m 440 "$pkgdir"/etc/domjudge/sudoers-domjudge "$pkgdir"/etc/sudoers.d/domjudge
- sed -s "s/^root/domjudge/g" -i "$pkgdir"/etc/sudoers.d/domjudge
- rm "$pkgdir"/etc/domjudge/{restapi.secret,sudoers-domjudge,dbpasswords.secret}
- install -D "$srcdir"/domjudge-judgehostd.service "$pkgdir"/etc/systemd/system/domjudge-judgehostd.service
+package_domjudge-domserver() {
+ arch=('any')
+ depends=('curl' 'php' 'php-gd' 'php-intl' 'unzip' 'zip' 'apache')
+ install=domjudge-domserver.install
+ cd "$srcdir/domjudge-$pkgver"
+ make install-domserver DESTDIR="$pkgdir"/
+ install -Dm 644 "$srcdir/domjudge-domserver.conf" "$pkgdir/usr/lib/sysusers.d/domjudge-domserver.conf"
}
+package_domjudge-docs() {
+ arch=('any')
+ depends=('php')
+ cd "$srcdir/domjudge-$pkgver"
+ make install-docs DESTDIR="$pkgdir"/
+}
+
+package_domjudge-judgehost() {
+ arch=("$CARCH")
+ depends=('libcgroup' 'curl' 'php' 'unzip' 'zip' 'lsof')
+ cd "$srcdir/domjudge-$pkgver"
+ make install-judgehost DESTDIR="$pkgdir"/
+ install -Dm 644 "$srcdir/domjudge-judgehostd.service" "$pkgdir/usr/lib/systemd/system/domjudge-judgehostd.service"
+ install -Dm 644 "$srcdir/domjudge-judgehostd@.service" "$pkgdir/usr/lib/systemd/system/domjudge-judgehostd@.service"
+ install -Dm 644 "$srcdir/domjudge-cgroup.service" "$pkgdir/usr/lib/systemd/system/domjudge-cgroup.service"
+ install -Dm 644 "$srcdir/domjudge-judgehost.conf" "$pkgdir/usr/lib/sysusers.d/domjudge-judgehost.conf"
+ sed -i 's/512/domjudge/g' "$pkgdir/etc/judgehost/sudoers-domjudge"
+ mkdir -p "$pkgdir/etc/sudoers.d"
+ ln -s "/etc/judgehost/sudoers-domjudge" "$pkgdir/etc/sudoers.d/domjudge"
+}