[pl] Fix JPL interface
Petr Pisar
ppisar at fedoraproject.org
Thu Mar 8 14:57:39 UTC 2012
commit f9fdbdf223ec9fc24df0cc249138b658f7559bd4
Author: Petr Písař <ppisar at redhat.com>
Date: Thu Mar 8 15:09:23 2012 +0100
Fix JPL interface
pl-5.10.2-jni.patch | 21 ---------------------
pl-6.0.2-jni.patch | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
pl.spec | 17 +++++++++++------
3 files changed, 61 insertions(+), 27 deletions(-)
---
diff --git a/pl-6.0.2-jni.patch b/pl-6.0.2-jni.patch
new file mode 100644
index 0000000..e07a1da
--- /dev/null
+++ b/pl-6.0.2-jni.patch
@@ -0,0 +1,50 @@
+From d3695f95a95e834ed13c8f02f21feaf22ce51627 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Thu, 8 Mar 2012 14:54:23 +0100
+Subject: [PATCH] Fix JNI
+
+Prefer JNI and poved JNI files per Java Fedora packaging guidelines
+---
+ packages/jpl/jpl.pl | 5 +++--
+ packages/jpl/src/java/jpl/JPL.java | 2 +-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/packages/jpl/jpl.pl b/packages/jpl/jpl.pl
+index 83b8aee..f614d9e 100644
+--- a/packages/jpl/jpl.pl
++++ b/packages/jpl/jpl.pl
+@@ -4390,7 +4390,8 @@ prolog:error_message(java_exception(Ex)) -->
+ :- multifile user:file_search_path/2.
+ :- dynamic user:file_search_path/2.
+
+-user:file_search_path(jar, swi(lib)).
++user:file_search_path(jar, 'LIBDIR/swipl-jpl').
++user:file_search_path(jni, 'LIBDIR/swipl-jpl').
+
+ %% add_search_path(+Var, +Value) is det.
+ %
+@@ -4534,7 +4535,7 @@ add_jpl_to_classpath :-
+
+ libjpl(File) :-
+ ( current_prolog_flag(unix, true)
+- -> File = foreign(libjpl)
++ -> File = jni(libjpl)
+ ; File = foreign(jpl)
+ ).
+
+diff --git a/packages/jpl/src/java/jpl/JPL.java b/packages/jpl/src/java/jpl/JPL.java
+index 1c82d83..311355c 100644
+--- a/packages/jpl/src/java/jpl/JPL.java
++++ b/packages/jpl/src/java/jpl/JPL.java
+@@ -97,7 +97,7 @@ public class JPL {
+ } else if (nativeLibraryDir != null) {
+ System.load((new File(nativeLibraryDir, System.mapLibraryName(nativeLibraryName))).getAbsolutePath());
+ } else {
+- System.loadLibrary(nativeLibraryName); // as resolved somewhere on system property 'java.library.path'
++ System.load((new File(LIBDIR, System.mapLibraryName(nativeLibraryName))).getAbsolutePath());
+ }
+ }
+ // setDTMMode
+--
+1.7.7.6
+
diff --git a/pl.spec b/pl.spec
index 0426674..ab757c8 100644
--- a/pl.spec
+++ b/pl.spec
@@ -29,7 +29,7 @@ Source2: %{url}download/xpce/doc/userguide/userguide.html.tgz
Source3: JavaConfig.java
Patch1: %{name}-5.10.5-jpl-configure.patch
Patch2: %{name}-5.10.5-man-files.patch
-Patch3: %{name}-5.10.2-jni.patch
+Patch3: %{name}-6.0.2-jni.patch
Patch4: %{name}-5.10.5-pc.patch
# Base
@@ -190,6 +190,7 @@ in Prolog. In both setups it provides a re-entrant bidirectional interface.
# Adjustments to take into account the new location of JNI stuff
sed --in-place=.jni2 -e 's#LIBDIR#%{_libdir}#g' packages/jpl/jpl.pl
sed --in-place=.jni2 -e 's#LIBDIR#%{_libdir}#g' packages/jpl/src/java/jpl/fli/Prolog.java
+sed --in-place=.jni2 -e 's#LIBDIR#"%{_libdir}/swipl-jpl"#g' packages/jpl/src/java/jpl/JPL.java
%build
@@ -231,11 +232,13 @@ popd
%if %{with_java}
# Move the JPL JNI stuff to where the Java packaging guidelines
# say it should be
-mkdir -p $RPM_BUILD_ROOT%{_libdir}/swipl-jpl
-mv $RPM_BUILD_ROOT%{_libdir}/swipl-%{version}/lib/*/libjpl.so \
- $RPM_BUILD_ROOT%{_libdir}/swipl-jpl/
-mv $RPM_BUILD_ROOT%{_libdir}/swipl-%{version}/lib/jpl.jar \
- $RPM_BUILD_ROOT%{_libdir}/swipl-jpl/
+pushd $RPM_BUILD_ROOT%{_libdir}
+mkdir -p swipl-jpl
+mv swipl-%{version}/lib/*/libjpl.so swipl-jpl/
+mv swipl-%{version}/lib/jpl.jar swipl-jpl/
+# Original JAR locations is referenced by internal libraries and examples
+ln -s ../../swipl-jpl/jpl.jar swipl-%{version}/lib/jpl.jar
+popd
%endif
mv $RPM_BUILD_ROOT%{_libdir}/swipl-%{version}/xpce/man/xpce-client.1 \
@@ -320,6 +323,7 @@ rm $RPM_BUILD_ROOT%{_libdir}/swipl-%{version}/xpce/bin/x86_64-linux/xpce-client
%files jpl
%doc packages/jpl/docs/*
%doc packages/jpl/examples
+%{_libdir}/swipl-%{version}/lib/jpl.jar
%{_libdir}/swipl-%{version}/library/jpl.pl
%{_libdir}/swipl-jpl
%endif
@@ -335,6 +339,7 @@ rm $RPM_BUILD_ROOT%{_libdir}/swipl-%{version}/xpce/bin/x86_64-linux/xpce-client
- Move documentation into separate sub-package
- Move XPCE into separate sub-package
- Move ODBC interface into separate sub-package
+- Fix JPL interface (bug #590499)
* Thu Mar 01 2012 Petr Pisar <ppisar at redhat.com> - 6.0.1-1
- 6.0.1 bump
More information about the scm-commits
mailing list