summaryrefslogtreecommitdiffstats
path: root/abs/extra
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra')
-rw-r--r--abs/extra/subversion/PKGBUILD117
-rw-r--r--abs/extra/subversion/__changelog2
-rw-r--r--abs/extra/subversion/ruby-frozen-nil.patch42
-rw-r--r--abs/extra/subversion/subversion.rpath.fix.patch7
-rwxr-xr-xabs/extra/subversion/svnserve42
-rw-r--r--abs/extra/subversion/svnserve.conf2
-rw-r--r--abs/extra/subversion/svnserve.service11
-rw-r--r--abs/extra/subversion/svnserve.tmpfiles1
8 files changed, 132 insertions, 92 deletions
diff --git a/abs/extra/subversion/PKGBUILD b/abs/extra/subversion/PKGBUILD
index 0086102..c5bee1f 100644
--- a/abs/extra/subversion/PKGBUILD
+++ b/abs/extra/subversion/PKGBUILD
@@ -1,76 +1,104 @@
-# $Id: PKGBUILD 160577 2012-06-02 10:29:00Z bluewind $
-# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# $Id$
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Paul Mattal <paul@archlinux.org>
# Contributor: Jason Chu <jason@archlinux.org>
pkgname=subversion
-pkgver=1.7.5
-pkgrel=2
+pkgver=1.9.7
+pkgrel=4
pkgdesc="A Modern Concurrent Version Control System"
-arch=('i686' 'x86_64')
+arch=('x86_64')
+url="http://subversion.apache.org/"
license=('APACHE')
-depends=('neon' 'apr-util' 'sqlite' 'file')
-#optdepends=('libgnome-keyring' 'kdeutils-kwallet' 'bash-completion: for svn bash completion' \
-optdepends=('bash-completion: for svn bash completion' \
- 'python2: for some hook scripts')
-
-makedepends=('krb5' 'apache' 'python2' 'perl' 'swig' 'autoconf' 'db' 'e2fsprogs')
+depends=('sqlite' 'file' 'serf' 'systemd')
+makedepends=('apache' 'python2' 'perl' 'swig' 'java-environment'
+ 'libgnome-keyring' 'ruby')
+optdepends=('libgnome-keyring: for GNOME Keyring for auth credentials'
+ 'kdebase-runtime: for KWallet for auth credentials'
+ 'bash-completion: for svn bash completion'
+ 'python2: for some hook scripts'
+ 'java-environment: for Java support'
+ 'ruby: for some hook scripts')
+provides=('svn')
backup=('etc/xinetd.d/svn' 'etc/conf.d/svnserve')
+options=('!makeflags' '!emptydirs')
+source=(https://www.apache.org/dist/subversion/subversion-${pkgver}.tar.bz2{,.asc}
+ svn
+ svnserve.conf
+ svnserve.tmpfiles
+ svnserve.service
+ subversion.rpath.fix.patch
+ ruby-frozen-nil.patch)
+sha512sums=('a55efd3edaddbc099450d849fcc6fe5a8d20b85ece966d8ac2fd73ee9cb4255a0349bbcfceb4e9fca6daf054ce7c648eff8d273c6873f5dade6e62dcea7eeb2b'
+ 'SKIP'
+ '3df59e92aa0314ff6adce26e2e1162bf2872ca03ff1f78891081a60e67b521b6046b4a2f85f718dcd27f9d5709594658817a09548cdb74e3976d371dbe47e7db'
+ 'f7f2ceac2446cc94ac2be3404083cc54a0f1f4d04d5301f600dfafca38819669bcffdfa45f1b90b9f3cdb042469385a764f11dc1a827f10c23ddf73b7ac6c9da'
+ '7775f4da5003970c9ebdc2f696ba090df194a77d9daed791875488c943f72ae496b5f9cc6f3ff9f3f4de9f352a3b518137babdea38947d1a2d5dd16aa1844036'
+ '8cc23ae71bd7ce7c337eaf12929f1af0a11b55250808e88f06397b874daf2efb9491c464be3d082d937a82c2b0b7c3ed06d6695cfd8a3fda1f803bbfd15837de'
+ '60d538160e738eb3b3e84a3881fe5a8d75c79053d3f31c4c29ef6ace6ccc5dd4367ed712766c911bae3436e9706e4dd144b270bb45161a6c1834a37e154d0440'
+ 'bb772e55acd9601121ad06b254c364e8d8cf772ca59b8df0cf4c5c5ecba110d4108d0363672f121f770550cdd052802474029e57643258f398aacd2b63ccb898')
+validpgpkeys=('19BBCAEF7B19B280A0E2175E62D48FAD16A0DE01'
+ '8BC4DAE0C5A4D65F404401074F7DBAA99A59B973'
+ 'BA3C15B1337CF0FB222BD41A1BCA6586A347943F'
+ 'E7B2A7F4EC28BE9FF8B38BA4B64FFF1209F9FA74'
+ '3D1DC66D6D2E0B9039528138C4A6C625CCC8E1DF')
+# Ben Reser / Stefan Sperling / Branko Čibej / Evgeny Kotkov / Bert Huijben
-url="http://subversion.apache.org/"
-provides=('svn')
-options=('!makeflags' '!libtool' '!emptydirs')
-source=(http://apache.mirror.rafal.ca/subversion/$pkgname-$pkgver.tar.bz2{,.asc}
- svnserve svn svnserve.conf subversion.rpath.fix.patch)
-sha1sums=('05c079762690d5ac1ccd2549742e7ef70fa45cf1'
- 'b267cba19b4f56360657a5bf5b231950e027a45a'
- '64ba3e6ebafc08ac62f59d788f7a825fdce69573'
- '73b36c046c09cec2093354911c89e3ba8056af6c'
- 'ad117bf3b2a838a9a678a93fd8db1a066ad46c41'
- '3d1e28408a9abb42af2e531adc0d01ce21acfad6')
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -Np0 -i ../subversion.rpath.fix.patch
+ patch -p1 -i ../ruby-frozen-nil.patch
+ sed -i 's|/usr/bin/env python|/usr/bin/env python2|' tools/hook-scripts/{,mailer/{,tests/}}*.py subversion/tests/cmdline/*.py
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
export PYTHON=/usr/bin/python2
-
- patch -p0 -i ../subversion.rpath.fix.patch
- sed -i 's|/usr/bin/env python|/usr/bin/env python2|' tools/hook-scripts/{,mailer/{,tests/}}*.py
-
./configure --prefix=/usr --with-apr=/usr --with-apr-util=/usr \
- --with-zlib=/usr --with-neon=/usr --with-apxs \
- --with-sqlite=/usr --with-berkeley-db=:/usr/include/:/usr/lib:db-5.3
-# --enable-javahl --with-gnome-keyring --with-kwallet
+ --with-zlib=/usr --with-serf=/usr --with-apxs \
+ --with-sqlite=/usr \
+ --enable-javahl --with-jdk=/usr/lib/jvm/default \
+ --with-gnome-keyring --without-kwallet \
+ --with-apache-libexecdir=/usr/lib/httpd/modules \
+ --with-ruby-sitedir=/usr/lib/ruby/vendor_ruby \
+ --disable-static
- make external-all
- make LT_LDFLAGS="-L$Fdestdir/usr/lib" local-all
+ make LT_LDFLAGS="-L$Fdestdir/usr/lib"
make swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
- swig_pydir_extra=/usr/lib/python2.7/site-packages/svn swig-py swig-pl #javahl # swig-rb
+ swig_pydir_extra=/usr/lib/python2.7/site-packages/svn swig-py swig-pl javahl swig-rb
}
-#check() {
-# cd "${srcdir}/${pkgname}-${pkgver}"
-# export LANG=C LC_ALL=C
-# make check check-swig-pl check-swig-py check-javahl CLEANUP=yes # check-swig-rb
-#}
+check() {
+ cd ${pkgname}-${pkgver}
+ export LANG=C LC_ALL=C
+ make check check-swig-pl check-swig-py check-swig-rb CLEANUP=yes # check-javahl
+}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
export LD_LIBRARY_PATH="${pkgdir}"/usr/lib:${LD_LIBRARY_PATH}
make DESTDIR="${pkgdir}" INSTALLDIRS=vendor \
swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
swig_pydir_extra=/usr/lib/python2.7/site-packages/svn \
- install install-swig-py install-swig-pl #install-javahl # install-swig-rb
+ install install-swig-py install-swig-pl install-javahl install-swig-rb
- install -d "${pkgdir}"/usr/share/subversion
+ install -dm755 "${pkgdir}"/usr/share/subversion
cp -a tools/hook-scripts "${pkgdir}"/usr/share/subversion/
rm "${pkgdir}"/usr/share/subversion/hook-scripts/*.in
- rm "${pkgdir}"/usr/lib/perl5/vendor_perl/auto/SVN/_Core/.packlist
- rm -r "${pkgdir}"/usr/lib/perl5/core_perl
+ ## svnserve ...
- install -D -m 755 "${srcdir}"/svnserve "${pkgdir}"/etc/rc.d/svnserve
+ # xinetd
install -D -m 644 "${srcdir}"/svn "${pkgdir}"/etc/xinetd.d/svn
+
+ # ... systemd
+ install -D -m 644 "${srcdir}"/svnserve.service "${pkgdir}"/usr/lib/systemd/system/svnserve.service
+ install -D -m 644 "${srcdir}"/svnserve.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/svnserve.conf
+
+ # ... common config
install -D -m 644 "${srcdir}"/svnserve.conf "${pkgdir}"/etc/conf.d/svnserve
install -Dm 644 tools/client-side/bash_completion \
@@ -79,3 +107,4 @@ package() {
ln -sf subversion "${pkgdir}"/usr/share/bash-completion/completions/${i}
done
}
+
diff --git a/abs/extra/subversion/__changelog b/abs/extra/subversion/__changelog
index 24ce429..8b2015e 100644
--- a/abs/extra/subversion/__changelog
+++ b/abs/extra/subversion/__changelog
@@ -1 +1 @@
-remove java,kdelibs , libgnome
+PKGBUILD: remove dep kdelibs and --without-kwallet
diff --git a/abs/extra/subversion/ruby-frozen-nil.patch b/abs/extra/subversion/ruby-frozen-nil.patch
new file mode 100644
index 0000000..ef29bc1
--- /dev/null
+++ b/abs/extra/subversion/ruby-frozen-nil.patch
@@ -0,0 +1,42 @@
+commit 6c69127693e9e395c026d982f871253548037a4d
+Author: James McCoy <jamessan@debian.org>
+Date: Sun Nov 8 23:06:45 2015 -0500
+
+ Create a new Ruby Object instead of attempting to modify nil.
+
+ Starting in Ruby 2.2, the nil, true, and false objects are frozen. This
+ was causing test_repos.rb's test_load to fail due to calling
+ "repos.load_fs(nil)". This results in svn_swig_rb_make_stream trying to
+ attributes on nil, which isn't allowed.
+
+ * subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c:
+ (svn_swig_rb_make_stream): Create a new Object if the given io is nil.
+ Also call svn_swig_rb_get_pool in order to deduplicate some
+ pool-handling code.
+
+diff --git a/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c b/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
+index a25ec5a..2210853 100644
+--- a/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
++++ b/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
+@@ -3230,14 +3230,16 @@ svn_swig_rb_make_stream(VALUE io)
+ stream_p = &stream;
+ r2c_swig_type2(io, "svn_stream_t *", (void **)stream_p);
+ } else {
++ if (NIL_P(io)) {
++ io = rb_class_new_instance(0, NULL, rb_cObject);
++ }
+ VALUE rb_pool = rb_pool_new(Qnil);
+- apr_pool_wrapper_t *pool_wrapper;
+- apr_pool_wrapper_t **pool_wrapper_p;
++ apr_pool_t *pool;
++
++ svn_swig_rb_get_pool(0, NULL, io, &rb_pool, &pool);
+
+ rb_set_pool(io, rb_pool);
+- pool_wrapper_p = &pool_wrapper;
+- r2c_swig_type2(rb_pool, "apr_pool_wrapper_t *", (void **)pool_wrapper_p);
+- stream = svn_stream_create((void *)io, pool_wrapper->pool);
++ stream = svn_stream_create((void *)io, pool);
+ svn_stream_set_read2(stream, NULL /* only full read support */,
+ read_handler_rbio);
+ svn_stream_set_write(stream, write_handler_rbio);
diff --git a/abs/extra/subversion/subversion.rpath.fix.patch b/abs/extra/subversion/subversion.rpath.fix.patch
index ba6ee9e..aaec8fd 100644
--- a/abs/extra/subversion/subversion.rpath.fix.patch
+++ b/abs/extra/subversion/subversion.rpath.fix.patch
@@ -3,8 +3,9 @@
@@ -678,6 +678,7 @@
$(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL
- cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL
+ cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL PREFIX=$(prefix)
+ cd $(SWIG_PL_DIR)/native; sed -i 's|LD_RUN_PATH|DIE_RPATH_DIE|g' Makefile{,.{client,delta,fs,ra,repos,wc}}
- swig-pl_DEPS = autogen-swig-pl libsvn_swig_perl \
- $(SWIG_PL_DIR)/native/Makefile
+ # There is a "readlink -f" command on some systems for the same purpose,
+ # but it's not as portable (e.g. Mac OS X doesn't have it). These should
+ # only be used where Python/Perl are known to be available.
diff --git a/abs/extra/subversion/svnserve b/abs/extra/subversion/svnserve
deleted file mode 100755
index 670fee7..0000000
--- a/abs/extra/subversion/svnserve
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/svnserve
-
-PID=`pidof -o %PPID /usr/bin/svnserve`
-case "$1" in
- start)
- stat_busy "Starting svnserve"
- if [ -z "$PID" ]; then
- if [ -n "$SVNSERVE_USER" ]; then
- su -s '/bin/sh' $SVNSERVE_USER -c "/usr/bin/svnserve -d $SVNSERVE_ARGS" &
- else
- /usr/bin/svnserve -d $SVNSERVE_ARGS &
- fi
- fi
- if [ ! -z "$PID" -o $? -gt 0 ]; then
- stat_fail
- else
- add_daemon svnserve
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping svnserve"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon svnserve
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
diff --git a/abs/extra/subversion/svnserve.conf b/abs/extra/subversion/svnserve.conf
index 37fb7ea..f4dc40f 100644
--- a/abs/extra/subversion/svnserve.conf
+++ b/abs/extra/subversion/svnserve.conf
@@ -3,5 +3,3 @@
#
#SVNSERVE_ARGS="-r /path/to/some/repos"
SVNSERVE_ARGS=""
-
-#SVNSERVE_USER="svn"
diff --git a/abs/extra/subversion/svnserve.service b/abs/extra/subversion/svnserve.service
new file mode 100644
index 0000000..713aba5
--- /dev/null
+++ b/abs/extra/subversion/svnserve.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Subversion protocol daemon
+After=syslog.target network.target
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/svnserve
+ExecStart=/usr/bin/svnserve --daemon $SVNSERVE_ARGS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/extra/subversion/svnserve.tmpfiles b/abs/extra/subversion/svnserve.tmpfiles
new file mode 100644
index 0000000..e8487d3
--- /dev/null
+++ b/abs/extra/subversion/svnserve.tmpfiles
@@ -0,0 +1 @@
+D /run/svnserve 0700 root root -