# $Id: Portfile 90553 2012-03-08 21:36:07Z dluke@macports.org $

PortSystem 1.0

name			subversion-javahlbindings
version			1.7.4
categories		devel java
platforms		darwin
maintainers		geeklair.net:dluke blair
description		Java (javahl) bindings for the subversion version control system (svn)
license			Apache-2

long_description	Subversion (svn) is a version control system designed to be \
			as similar to cvs(1) as possible, while fixing many \
			outstanding problems with cvs(1). The java bindings \
			provide access to subversion API from java.

homepage		http://subversion.apache.org/
master_sites		apache:subversion
use_bzip2		yes
checksums	md5	99ace9433be21a4793fc1cdbf2fdea09 \
		sha1	57a3cd351c1dbedddd020e7a1952df6cd2674527 \
		rmd160	769bf868f728d606f68c9951320c2529abc3dd95

distname		subversion-${version}
dist_subdir		subversion

depends_lib		port:expat port:neon \
			port:apr port:apr-util \
			port:db46 port:subversion \
			port:junit port:sqlite3 \
			port:gettext port:libiconv \
			port:serf1 port:cyrus-sasl2

configure.args		--with-berkeley-db=:${prefix}/include/db46:${prefix}/lib/db46:db-4.6 \
			--with-neon=${prefix} --with-apr=${prefix}/bin/apr-1-config \
			--with-apr-util=${prefix}/bin/apu-1-config --without-apxs \
			--mandir=\\\${prefix}/share/man \
			--disable-neon-version-check --with-serf=${prefix} \
			--with-sasl=${prefix} \
			--enable-javahl --without-jikes \
			--with-junit=${prefix}/share/java/junit.jar

build.target		javahl
destroot.target		install-javahl

use_parallel_build	no

test.run		yes
test.target		check-javahl

destroot.violate_mtree	yes

pre-test {		reinplace "s|-Djava.library.path=:\$(libdir)|-Djava.library.path=:${worksrcpath}/subversion/bindings/javahl/native/.libs|g" \
			${worksrcpath}/Makefile

			system "ln -sf ${worksrcpath}/subversion/bindings/javahl/native/.libs/libsvnjavahl-1.dylib ${worksrcpath}/subversion/bindings/javahl/native/.libs/libsvnjavahl.jnilib"
			}

pre-configure {		reinplace "s|hardcode_direct=yes|hardcode_direct=no|g" \
				${worksrcpath}/configure
			reinplace "s|\\(LINK_JAVAHL_CXX.*\\)-rpath|\\1-dynamiclib -rpath|g" \
				${worksrcpath}/Makefile.in
			reinplace "s|@@DESTROOT@@|${destroot}|g" \
				${worksrcpath}/configure
			}

post-configure {	reinplace "s|need_relink=yes|need_relink=no|g" \
				${worksrcpath}/libtool
			}

platform darwin  10	{	pre-fetch {
					if {![file isfile "/System/Library/Frameworks/JavaVM.framework/Headers/jni.h"]} {
						return -code error "\n********************\n${name} requires the Java for Mac OS X Developer Package from Apple.\nPlease download and install this package:\nhttps://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20719\n********************"
					}
				}
			}

platform darwin 9	{	pre-fetch {
					if {![file isfile "/System/Library/Frameworks/JavaVM.framework/Headers/jni.h"]} {
                                                return -code error "\n********************\n${name} requires the Java for Mac OS X Developer Package from Apple.\nPlease download and install this package:\nhttps://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20720\n********************"
					}
				}
			}

variant no_bdb description {Build without support for BerkeleyDB repositories} {
			depends_lib-delete	port:db46 port:py-bsddb
			configure.args-delete	--with-berkeley-db=:${prefix}/include/db46:${prefix}/lib/db46:db-4.6
			configure.args-append	--without-berkeley-db
			}

variant no_neon description {Build without neon (http/https support)} {
			depends_lib-delete	port:neon
			configure.args-append	--without-neon
			configure.args-delete	--with-neon=${prefix}
			}

post-destroot {
		file mkdir ${destroot}/Library/Java/Extensions
		system "ln -sf ${prefix}/lib/libsvnjavahl-1.dylib ${destroot}/Library/Java/Extensions/libsvnjavahl.jnilib"
		file mkdir ${destroot}${prefix}/share/java
		system "ln -sf ${prefix}/lib/svn-javahl/svn-javahl.jar ${destroot}${prefix}/share/java/svn-javahl.jar"
		}

# CarbonCore/MacTypes.h: No such file or directory
platform puredarwin {		configure.args-append \
					--disable-keychain
				}

livecheck.type  regex
livecheck.url   http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74
livecheck.regex "subversion-(\\d+(?:\\.\\d+)*)${extract.suffix}"
