summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorWilliam Di Luigi2015-09-02 21:53:15 +0200
committerWilliam Di Luigi2015-09-02 22:07:46 +0200
commit045a0e29f13121d20f8a230cd2932b29e3f2bd6c (patch)
tree0577620380bed29e58e4bcc8be5a8eb2d28a14af /PKGBUILD
parent45b8345f0b027230ffeffc853b6f8cde3174176f (diff)
downloadaur-045a0e29f13121d20f8a230cd2932b29e3f2bd6c.tar.gz
Update package
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD88
1 files changed, 62 insertions, 26 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 8df5fbdd702f..92c16c84270a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,53 +1,89 @@
# Maintainer: William Di Luigi <williamdiluigi@gmail.com>
-#
-# https://github.com/wil93/aur/tree/master/cms-git
+
+# chosen at random
+CMSUSER_GID=26950
pkgname=cms-git
-pkgver=1.3.0
-pkgrel=2
+pkgver=r3151.608a8e4
+pkgrel=1
pkgdesc="CMS, or Contest Management System, is a distributed system for running and (to some extent) organizing a programming contest."
arch=('any')
url="http://cms-dev.github.io/"
license=('AGPL3')
depends=(
- 'postgresql' 'postgresql-libs' 'python2' 'python2-setuptools'
- 'python2-tornado' 'python2-psycopg2' 'python2-sqlalchemy' 'python2-psutil'
- 'python2-netifaces' 'python2-crypto' 'python2-pytz' 'python2-six'
- 'iso-codes' 'shared-mime-info' 'python2-beautifulsoup3' 'python2-mechanize'
- 'python2-mock' 'python2-requests' 'python2-werkzeug' 'python2-gevent'
- 'python2-coverage' 'libcgroup' 'patool-py2'
+ 'isolate' 'postgresql' 'postgresql-libs' 'python2' 'iso-codes' 'shared-mime-info'
)
optdepends=(
'fpc: support for Pascal submissions'
'sgi-stl-doc: support for STL documentation inside the contest'
- 'python2-yaml: support for cmsMake (for tasks in the "italian format")'
)
-makedepends=('git')
+makedepends=(
+ 'git'
+ 'python-virtualenv'
+)
provides=('cms')
conflicts=('cms')
+install=$pkgname.install
source=(
'git://github.com/cms-dev/cms.git'
- 'cms.patch'
)
sha256sums=(
'SKIP'
- 'edb4e5c5da138a4598d1c728e9e02041fcb0acfdb84911ba9aeefb85488fb323'
)
-prepare() {
- cd "cms"
- patch -p1 -i $srcdir/cms.patch
- sed "s|MAKEPKG_INSTALL_ROOT|$pkgdir|g" -i setup.py
-}
-
-build() {
- cd "cms"
- git submodule update --init
- python2 setup.py build
+pkgver() {
+ cd cms
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
package() {
- cd "cms"
- python2 setup.py install --prefix="/usr" --root="$pkgdir"
+ cd cms
+
+ # Configuration files
+ install -D -m660 -g$CMSUSER_GID config/cms.conf.sample $pkgdir/usr/lib/cms/cms.conf
+ install -D -m660 -g$CMSUSER_GID config/cms.ranking.conf.sample $pkgdir/usr/lib/cms/cms.ranking.conf
+
+ # Logs and cache directories
+ install -d -m770 -g$CMSUSER_GID $pkgdir/var/log/cms
+ install -d -m770 -g$CMSUSER_GID $pkgdir/var/cache/cms
+
+ # I'm not even sure if this is needed at all
+ install -d -m770 -g$CMSUSER_GID $pkgdir/var/lib/cms
+
+ # testlib.h
+ install -D -m644 cmscontrib/loaders/polygon/testlib.h $pkgdir/usr/include/cms/testlib.h
+
+ # Prepare virtual environment
+ virtualenv -p python2 $pkgdir/usr/lib/cms/venv
+ source $pkgdir/usr/lib/cms/venv/bin/activate
+ pip install -r requirements.txt
+
+ # Install the cms python package
+ python setup.py install
+
+ # This will hopefully go away with https://github.com/cms-dev/cms/issues/281
+ install -d $pkgdir/usr/bin
+ for cmd in \
+ cmsContestWebServer cmsResourceService cmsScoringService cmsDropDB \
+ cmsPrintingService cmsInitDB cmsAdminWebServer cmsWorker cmsChecker \
+ cmsEvaluationService cmsProxyService cmsRankingWebServer cmsLogService \
+ cmsSpoolExporter cmsTestFileCacher cmsAdaptContest cmsAddTask cmsMake \
+ cmsYamlImporter cmsRunTests cmsRWSHelper cmsRemoveTask cmsAddUser \
+ cmsContestExporter cmsDumpUpdater cmsDumpExporter cmsYamlReimporter \
+ cmsContestImporter cmsAddContest cmsComputeComplexity cmsRemoveUser \
+ cmsDumpImporter cmsReplayContest
+ do
+ ln -s /usr/lib/cms/venv/bin/$cmd $pkgdir/usr/bin/$cmd
+ done
+
+ # The following will also go away eventually (I hope :/)
+ install -d $pkgdir/var/local/log
+ install -d $pkgdir/var/local/cache
+ install -d $pkgdir/var/local/lib
+ install -d $pkgdir/var/local/run
+ ln -s /var/log/cms $pkgdir/var/local/log/cms
+ ln -s /var/cache/cms $pkgdir/var/local/cache/cms
+ ln -s /var/lib/cms $pkgdir/var/local/lib/cms
+ ln -s /var/run/cms $pkgdir/var/local/run/cms
}