* Subversion with Java bindings.

svn path=/nixpkgs/trunk/; revision=1322
This commit is contained in:
Eelco Dolstra
2004-08-23 19:23:03 +00:00
parent 57978bb80c
commit 38f56c36dc
6 changed files with 130 additions and 13 deletions
@@ -0,0 +1,44 @@
buildInputs="$openssl $db4 $httpd $swig $python $j2sdk $expat $patch"
. $stdenv/setup
configureFlags="--without-gdbm --disable-static"
if test "$localServer"; then
configureFlags="--with-berkeley-db=$db4 $configureFlags"
fi
if test "$sslSupport"; then
configureFlags="--with-ssl --with-libs=$openssl $configureFlags"
fi
if test "$httpServer"; then
configureFlags="--with-apxs=$httpd/bin/apxs --with-apr=$httpd --with-apr-util=$httpd $configureFlags"
makeFlags="APACHE_LIBEXECDIR=$out/modules $makeFlags"
fi
if test "$pythonBindings"; then
configureFlags="--with-swig=$swig $configureFlags"
fi
if test "$javaBindings"; then
configureFlags="--enable-javahl --with-jdk=$j2sdk $configureFlags"
fi
installFlags="$makeFlags"
postInstall() {
if test "$pythonBindings"; then
make swig-py
make install-swig-py
fi
if test "$javaBindings"; then
mkdir subversion/bindings/java/javahl/classes # bug fix
make javahl
make install-javahl
fi
}
postInstall=postInstall
genericBuild
@@ -0,0 +1,40 @@
{ localServer ? false
, httpServer ? false
, sslSupport ? false
, pythonBindings ? false
, javaBindings ? false
, stdenv, fetchurl
, openssl ? null, httpd ? null, db4 ? null, expat, swig ? null, patch
}:
assert expat != null;
assert localServer -> db4 != null;
assert httpServer -> httpd != null && httpd.expat == expat;
assert sslSupport -> openssl != null && (httpServer -> httpd.openssl == openssl);
assert pythonBindings -> swig != null && swig.pythonSupport;
assert javaBindings -> swig != null && swig.javaSupport;
stdenv.mkDerivation {
name = "subversion-1.1.0pre-rc2";
builder = ./builder.sh;
src = fetchurl {
url = http://subversion.tigris.org/tarballs/subversion-1.1.0-rc2.tar.bz2;
md5 = "ecd53e9f065739023da768891b83b70e";
};
# This is a hopefully temporary fix for the problem that
# libsvnjavahl.so isn't linked against libstdc++, which causes
# loading the library into the JVM to fail.
patches = if javaBindings then [./javahl.patch] else [];
openssl = if sslSupport then openssl else null;
httpd = if httpServer then httpd else null;
db4 = if localServer then db4 else null;
swig = if pythonBindings || javaBindings then swig else null;
python = if pythonBindings then swig.python else null;
j2sdk = if javaBindings then swig.j2sdk else null;
inherit expat patch localServer httpServer sslSupport
pythonBindings javaBindings;
}
@@ -0,0 +1,20 @@
diff -rc subversion-orig/build-outputs.mk subversion-1.1.0-rc2/build-outputs.mk
*** subversion-orig/build-outputs.mk 2004-08-10 20:17:32.000000000 +0200
--- subversion-1.1.0-rc2/build-outputs.mk 2004-08-23 21:04:35.000000000 +0200
***************
*** 200,206 ****
libsvnjavahl_DEPS = subversion/bindings/java/javahl/native/BlameCallback.lo subversion/bindings/java/javahl/native/CommitMessage.lo subversion/bindings/java/javahl/native/Inputer.lo subversion/bindings/java/javahl/native/JNIByteArray.lo subversion/bindings/java/javahl/native/JNICriticalSection.lo subversion/bindings/java/javahl/native/JNIMutex.lo subversion/bindings/java/javahl/native/JNIStackElement.lo subversion/bindings/java/javahl/native/JNIStringHolder.lo subversion/bindings/java/javahl/native/JNIThreadData.lo subversion/bindings/java/javahl/native/JNIUtil.lo subversion/bindings/java/javahl/native/MessageReceiver.lo subversion/bindings/java/javahl/native/Notify.lo subversion/bindings/java/javahl/native/Outputer.lo subversion/bindings/java/javahl/native/Path.lo subversion/bindings/java/javahl/native/Pool.lo subversion/bindings/java/javahl/native/Prompter.lo subversion/bindings/java/javahl/native/Revision.lo subversion/bindings/java/javahl/native/SVNAdmin.lo subversion/bindings/java/javahl/native/SVNBase.lo subversion/bindings/java/javahl/native/SVNClient.lo subversion/bindings/java/javahl/native/Targets.lo subversion/bindings/java/javahl/native/libsvnjavahl.la.lo subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNAdmin.lo subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNClient.lo subversion/libsvn_client/libsvn_client-1.la subversion/libsvn_wc/libsvn_wc-1.la subversion/libsvn_ra/libsvn_ra-1.la subversion/libsvn_delta/libsvn_delta-1.la subversion/libsvn_subr/libsvn_subr-1.la
libsvnjavahl_OBJECTS = BlameCallback.lo CommitMessage.lo Inputer.lo JNIByteArray.lo JNICriticalSection.lo JNIMutex.lo JNIStackElement.lo JNIStringHolder.lo JNIThreadData.lo JNIUtil.lo MessageReceiver.lo Notify.lo Outputer.lo Path.lo Pool.lo Prompter.lo Revision.lo SVNAdmin.lo SVNBase.lo SVNClient.lo Targets.lo libsvnjavahl.la.lo org_tigris_subversion_javahl_SVNAdmin.lo org_tigris_subversion_javahl_SVNClient.lo
subversion/bindings/java/javahl/native/libsvnjavahl-1.la: $(libsvnjavahl_DEPS)
! cd subversion/bindings/java/javahl/native && $(LINK_JAVAHL_CXX) -o libsvnjavahl-1.la $(LT_NO_UNDEFINED) $(libsvnjavahl_OBJECTS) ../../../../../subversion/libsvn_client/libsvn_client-1.la ../../../../../subversion/libsvn_wc/libsvn_wc-1.la ../../../../../subversion/libsvn_ra/libsvn_ra-1.la ../../../../../subversion/libsvn_delta/libsvn_delta-1.la ../../../../../subversion/libsvn_subr/libsvn_subr-1.la $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(NEON_LIBS) $(LIBS)
locale_DEPS = subversion/po/de.mo subversion/po/es.mo subversion/po/ja.mo subversion/po/nb.mo subversion/po/pl.mo subversion/po/sv.mo
locale: $(locale_DEPS)
--- 200,206 ----
libsvnjavahl_DEPS = subversion/bindings/java/javahl/native/BlameCallback.lo subversion/bindings/java/javahl/native/CommitMessage.lo subversion/bindings/java/javahl/native/Inputer.lo subversion/bindings/java/javahl/native/JNIByteArray.lo subversion/bindings/java/javahl/native/JNICriticalSection.lo subversion/bindings/java/javahl/native/JNIMutex.lo subversion/bindings/java/javahl/native/JNIStackElement.lo subversion/bindings/java/javahl/native/JNIStringHolder.lo subversion/bindings/java/javahl/native/JNIThreadData.lo subversion/bindings/java/javahl/native/JNIUtil.lo subversion/bindings/java/javahl/native/MessageReceiver.lo subversion/bindings/java/javahl/native/Notify.lo subversion/bindings/java/javahl/native/Outputer.lo subversion/bindings/java/javahl/native/Path.lo subversion/bindings/java/javahl/native/Pool.lo subversion/bindings/java/javahl/native/Prompter.lo subversion/bindings/java/javahl/native/Revision.lo subversion/bindings/java/javahl/native/SVNAdmin.lo subversion/bindings/java/javahl/native/SVNBase.lo subversion/bindings/java/javahl/native/SVNClient.lo subversion/bindings/java/javahl/native/Targets.lo subversion/bindings/java/javahl/native/libsvnjavahl.la.lo subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNAdmin.lo subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNClient.lo subversion/libsvn_client/libsvn_client-1.la subversion/libsvn_wc/libsvn_wc-1.la subversion/libsvn_ra/libsvn_ra-1.la subversion/libsvn_delta/libsvn_delta-1.la subversion/libsvn_subr/libsvn_subr-1.la
libsvnjavahl_OBJECTS = BlameCallback.lo CommitMessage.lo Inputer.lo JNIByteArray.lo JNICriticalSection.lo JNIMutex.lo JNIStackElement.lo JNIStringHolder.lo JNIThreadData.lo JNIUtil.lo MessageReceiver.lo Notify.lo Outputer.lo Path.lo Pool.lo Prompter.lo Revision.lo SVNAdmin.lo SVNBase.lo SVNClient.lo Targets.lo libsvnjavahl.la.lo org_tigris_subversion_javahl_SVNAdmin.lo org_tigris_subversion_javahl_SVNClient.lo
subversion/bindings/java/javahl/native/libsvnjavahl-1.la: $(libsvnjavahl_DEPS)
! cd subversion/bindings/java/javahl/native && $(LINK_JAVAHL_CXX) -o libsvnjavahl-1.la $(LT_NO_UNDEFINED) $(libsvnjavahl_OBJECTS) ../../../../../subversion/libsvn_client/libsvn_client-1.la ../../../../../subversion/libsvn_wc/libsvn_wc-1.la ../../../../../subversion/libsvn_ra/libsvn_ra-1.la ../../../../../subversion/libsvn_delta/libsvn_delta-1.la ../../../../../subversion/libsvn_subr/libsvn_subr-1.la $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(NEON_LIBS) $(LIBS) -lstdc++
locale_DEPS = subversion/po/de.mo subversion/po/es.mo subversion/po/ja.mo subversion/po/nb.mo subversion/po/pl.mo subversion/po/sv.mo
locale: $(locale_DEPS)