# Maintainer: Natanael Copa pkgname=proj pkgver=6.1.1 pkgrel=0 _datumgridver=1.8 _jdkver=11 pkgdesc="PROJ coordinate transformation software library" url="https://proj.org/" arch="s390x aarch64 x86_64 ppc64le" license="MIT" makedepends=" apache-ant openjdk$_jdkver-jdk sqlite sqlite-dev " subpackages=" $pkgname-doc $pkgname-static $pkgname-util:util java-$pkgname:java:noarch $pkgname-datumgrid:datumgrid:noarch $pkgname-dev " source=" http://download.osgeo.org/proj/proj-$pkgver.tar.gz http://download.osgeo.org/proj/proj-datumgrid-$_datumgridver.zip 10-test-tolerance.patch TestJni.java " prepare() { default_prepare unzip -o "$srcdir/proj-datumgrid-$_datumgridver.zip" -d data/ } build() { ./configure \ CPPFLAGS=-I/usr/lib/jvm/java-$_jdkver-openjdk/include/linux \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --with-jni=/usr/lib/jvm/java-$_jdkver-openjdk/include make cd "$builddir/jniwrap" ant compile javadoc } package() { depends="$pkgname-datumgrid" replaces="proj4" make DESTDIR="$pkgdir" install mkdir -p "$pkgdir/usr/share/doc/$pkgname/javadoc" cp -R jniwrap/out/apidocs/* "$pkgdir/usr/share/doc/$pkgname/javadoc" install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" } datumgrid() { pkgdesc="Cartographic projection filter and library (datum package)" mkdir -p "$subpkgdir/usr/share/proj" mv "$pkgdir/usr/share/proj" "$subpkgdir/usr/share" } java() { pkgdesc="Cartographic projection library (JNI bindings)" depends="so:libproj.so.15" cd "$builddir/jniwrap" mkdir -p "$subpkgdir/usr/share/java/" local _javabindingsver=$(grep "name=\"version\"" build.xml | cut -d'"' -f 4) mv out/proj.jar "$subpkgdir/usr/share/java/proj-$_javabindingsver.jar" ln -s "proj-$_javabindingsver.jar" "$subpkgdir/usr/share/java/proj.jar" local _libfilepath=$(ls $pkgdir/usr/lib/libproj.so.??) local _libfilename=$(basename $_libfilepath) mkdir -p "$subpkgdir/usr/java/packages/lib/" ln -s "/usr/lib/$_libfilename" "$subpkgdir/usr/java/packages/lib/libproj.so" } util() { pkgdesc="Cartographic projection library (utilities)" mkdir -p "$subpkgdir/usr/bin" mv "$pkgdir/usr/bin" "$subpkgdir/usr" } check() { make -j1 check # Test JNI bindings cp $srcdir/TestJni.java TestJni.java /usr/lib/jvm/default-jvm/bin/javac -cp "$builddir/jniwrap/out/proj.jar" TestJni.java PROJ_LIB="$builddir"/data /usr/lib/jvm/java-$_jdkver-openjdk/bin/java \ -Djava.library.path="$builddir/src/.libs/" \ -cp "$builddir/jniwrap/out/proj.jar":. \ TestJni | \ grep "\[9.0, 0.0, 8.101251062924646, 0.904618578893133, 9.898748937075354, -0.904618578893133\]" } sha512sums="a92a920b7fdb1249c50a092dcdebac6791402367715b3956ca89d501eb33532e5627b572ce9c9745b404e93ddc8a7c879683b446ac08d9731d972dc8c5818ed9 proj-6.1.1.tar.gz 991206f17348b3de484eb5364d773cd06577057228c2d1a0a1c1658308e2596ca13338a666fa71ddd76d538f23dd5bf21e178fd26a785717edd847a17e5c0cd1 proj-datumgrid-1.8.zip d26e7e4c87e322682fad2bb6e4dec09f610dfc9f9d82b3c96fe379167fef47ad67449701c32efc6cd44f66621354585a436130148df3fbbbf085adda1371bf7a 10-test-tolerance.patch 36fe2482f89c6ca38883db99b7f1bf5c650a499c678f799f6b10040e3c90873f6c8bfae08f80eaca99b8957a5361b6966f1925184b4050885af1808e05d063e9 TestJni.java"