aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Jaekel <holger.jaekel@gmx.de>2019-05-31 21:54:00 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2019-06-10 11:01:00 +0000
commit67dd4f6b150820c30abf4e38516587df5c38b0be (patch)
treebdc072dbb80480e44a66f961f5e60765d5a67d5c
parentdcb8c95d3893d02fa5b2752b68f1a7919e4d5179 (diff)
downloadalpine_aports-67dd4f6b150820c30abf4e38516587df5c38b0be.tar.bz2
alpine_aports-67dd4f6b150820c30abf4e38516587df5c38b0be.tar.xz
alpine_aports-67dd4f6b150820c30abf4e38516587df5c38b0be.zip
testing/proj4: add java-proj4 subpackage
add subpackage for java bindings add check() remove cd "$builddir" remove empty variables remove || return 1
-rw-r--r--testing/proj4/10-test-tolerance.patch14
-rw-r--r--testing/proj4/APKBUILD77
-rw-r--r--testing/proj4/TestJni.java20
3 files changed, 96 insertions, 15 deletions
diff --git a/testing/proj4/10-test-tolerance.patch b/testing/proj4/10-test-tolerance.patch
new file mode 100644
index 0000000000..645f8a4ecb
--- /dev/null
+++ b/testing/proj4/10-test-tolerance.patch
@@ -0,0 +1,14 @@
1Author: Holger Jaekel <holger.jaekel@gmx.de>
2Summary: Adapt test tolerance for build on aarch64
3----
4
5--- a/test/gie/builtins.gie
6+++ b/test/gie/builtins.gie
7@@ -5632,7 +5632,7 @@ van der Grinten (I)
8 -------------------------------------------------------------------------------
9 operation +proj=vandg +a=6400000 +lat_1=0.5 +lat_2=2
10 -------------------------------------------------------------------------------
11-tolerance 0.15 mm
12+tolerance 0.25 mm
13 accept 2 1
14 expect 223395.249543407 111704.596633675
diff --git a/testing/proj4/APKBUILD b/testing/proj4/APKBUILD
index 8c62f9644f..6ce9b66421 100644
--- a/testing/proj4/APKBUILD
+++ b/testing/proj4/APKBUILD
@@ -1,33 +1,80 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=proj4 2pkgname=proj4
3pkgver=6.1.0 3pkgver=6.1.0
4pkgrel=0 4pkgrel=1
5_jdkver=10
5pkgdesc="PROJ.4 - Cartographic Projections Library" 6pkgdesc="PROJ.4 - Cartographic Projections Library"
6url="https://trac.osgeo.org/proj/" 7url="https://trac.osgeo.org/proj/"
7arch="all" 8arch="s390x aarch64 x86_64 ppc64le"
8license="MIT" 9license="MIT"
9options="" 10makedepends="
10depends="" 11 apache-ant
11makedepends="sqlite sqlite-dev" 12 openjdk${_jdkver}-jdk
12subpackages="$pkgname-doc $pkgname-dev" 13 sqlite
13source="http://download.osgeo.org/proj/proj-$pkgver.tar.gz 14 sqlite-dev
15 "
16subpackages="
17 $pkgname-doc
18 $pkgname-dev
19 java-$pkgname:java:noarch
20 "
21source="
22 http://download.osgeo.org/proj/proj-$pkgver.tar.gz
23 10-test-tolerance.patch
24 TestJni.java
14 " 25 "
15 26
16builddir="$srcdir"/proj-$pkgver 27builddir="$srcdir/proj-$pkgver"
17build () { 28build () {
18 cd "$builddir"
19 ./configure \ 29 ./configure \
30 CPPFLAGS=-I/usr/lib/jvm/java-${_jdkver}-openjdk/include/linux \
20 --build=$CBUILD \ 31 --build=$CBUILD \
21 --host=$CHOST \ 32 --host=$CHOST \
22 --prefix=/usr \ 33 --prefix=/usr \
23 --without-jni \ 34 --with-jni=/usr/lib/jvm/java-${_jdkver}-openjdk/include
24 || return 1 35 make
25 make || return 1 36
37 cd "$builddir/jniwrap"
38 ant compile javadoc
26} 39}
27 40
28package() { 41package() {
29 cd "$builddir"
30 mkdir -p $pkgdir/usr/bin
31 make DESTDIR="$pkgdir" install 42 make DESTDIR="$pkgdir" install
43
44 mkdir -p "$pkgdir/usr/share/doc/$pkgname/javadoc"
45 cp -R jniwrap/out/apidocs/* "$pkgdir/usr/share/doc/$pkgname/javadoc"
46 install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
47}
48
49java() {
50 pkgdesc="Cartographic projection library (JNI bindings)"
51 depends="so:libproj.so.15"
52
53 cd "$builddir/jniwrap"
54 mkdir -p "$subpkgdir/usr/share/java/"
55 local _javabindingsver=`grep "name=\"version\"" build.xml | cut -d'"' -f 4`
56 mv out/proj.jar "$subpkgdir/usr/share/java/proj-${_javabindingsver}.jar"
57 ln -s "proj-${_javabindingsver}.jar" "$subpkgdir/usr/share/java/proj.jar"
58
59 local _libfilepath=`ls $pkgdir/usr/lib/libproj.so.??`
60 local _libfilename=`basename $_libfilepath`
61 mkdir -p "$subpkgdir/usr/java/packages/lib/"
62 ln -s "/usr/lib/$_libfilename" "$subpkgdir/usr/java/packages/lib/libproj.so"
63}
64
65check() {
66 make -j1 check
67
68 # Test JNI bindings
69 cp $srcdir/TestJni.java TestJni.java
70 /usr/lib/jvm/default-jvm/bin/javac -cp "$builddir/jniwrap/out/proj.jar" TestJni.java
71 PROJ_LIB="$builddir"/data /usr/lib/jvm/java-${_jdkver}-openjdk/bin/java \
72 -Djava.library.path="$builddir/src/.libs/" \
73 -cp "$builddir/jniwrap/out/proj.jar":. \
74 TestJni | \
75 grep "\[9.0, 0.0, 8.101251062924646, 0.904618578893133, 9.898748937075354, -0.904618578893133\]"
32} 76}
33sha512sums="7e7af901031801aa799df5dd2c863f31f0fb98eef7cc6883257bc4778b2df1b8eeee30f8ffca2f882261655ebfb04d46804dd87192bb47a58e9a253d4c461c69 proj-6.1.0.tar.gz" 77
78sha512sums="7e7af901031801aa799df5dd2c863f31f0fb98eef7cc6883257bc4778b2df1b8eeee30f8ffca2f882261655ebfb04d46804dd87192bb47a58e9a253d4c461c69 proj-6.1.0.tar.gz
79d26e7e4c87e322682fad2bb6e4dec09f610dfc9f9d82b3c96fe379167fef47ad67449701c32efc6cd44f66621354585a436130148df3fbbbf085adda1371bf7a 10-test-tolerance.patch
8036fe2482f89c6ca38883db99b7f1bf5c650a499c678f799f6b10040e3c90873f6c8bfae08f80eaca99b8957a5361b6966f1925184b4050885af1808e05d063e9 TestJni.java"
diff --git a/testing/proj4/TestJni.java b/testing/proj4/TestJni.java
new file mode 100644
index 0000000000..6a517849f6
--- /dev/null
+++ b/testing/proj4/TestJni.java
@@ -0,0 +1,20 @@
1import org.proj4.*;
2import java.util.Arrays;
3
4/**
5 * Converts coordinates from EPSG:32632 (WGS 84 / UTM zone 32N) to WGS84,
6 * then prints the result to the standard output stream.
7 */
8public class TestJni {
9 public static void main(String[] args) throws PJException {
10 PJ sourcePJ = new PJ("+init=epsg:32632"); // (x,y) axis order
11 PJ targetPJ = new PJ("+proj=latlong +datum=WGS84"); // (λ,φ) axis order
12 double[] coordinates = {
13 500000, 0, // First coordinate
14 400000, 100000, // Second coordinate
15 600000, -100000 // Third coordinate
16 };
17 sourcePJ.transform(targetPJ, 2, coordinates, 0, 3);
18 System.out.println(Arrays.toString(coordinates));
19 }
20}