summaryrefslogtreecommitdiff
path: root/dev-lang/tuprolog/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-lang/tuprolog/files
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-lang/tuprolog/files')
-rw-r--r--dev-lang/tuprolog/files/build-2.9.2.xml110
-rw-r--r--dev-lang/tuprolog/files/build-3.0.1.xml110
-rw-r--r--dev-lang/tuprolog/files/build-3.1.0.xml110
-rw-r--r--dev-lang/tuprolog/files/tuprolog-2.9.2-no-dynamic-object-test.patch20
-rw-r--r--dev-lang/tuprolog/files/tuprolog-2.9.2-no-ikvm.patch116
-rw-r--r--dev-lang/tuprolog/files/tuprolog-3.0.1-no-ikvm.patch137
-rw-r--r--dev-lang/tuprolog/files/tuprolog-3.0.1-oolibrary-unit-test.patch12
-rw-r--r--dev-lang/tuprolog/files/tuprolog-3.1.0-no-ikvm.patch137
8 files changed, 752 insertions, 0 deletions
diff --git a/dev-lang/tuprolog/files/build-2.9.2.xml b/dev-lang/tuprolog/files/build-2.9.2.xml
new file mode 100644
index 000000000000..823c2371d1fd
--- /dev/null
+++ b/dev-lang/tuprolog/files/build-2.9.2.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" ?><project default="jar" name="tuprolog">
+
+ <!-- some properties -->
+ <property name="src.dir" value="src"/>
+ <property name="build.dir" value="build"/>
+ <property name="docs.dir" value="docs"/>
+ <property name="dist.dir" value="dist"/>
+ <property name="test.dir" value="test"/>
+ <property name="test.build.dir" value="test.build"/>
+ <property name="jarfile" value="${ant.project.name}.jar"/>
+ <property file="build.properties"/>
+
+ <path id="compile.classpath">
+ <fileset dir="lib" includes="*.jar"/>
+ <pathelement path="${gentoo.classpath}"/>
+ </path>
+
+ <!-- init -->
+ <target name="init">
+ <tstamp/>
+ <mkdir dir="${dist.dir}"/>
+ <mkdir dir="${build.dir}"/>
+ <mkdir dir="${docs.dir}"/>
+ <mkdir dir="${test.build.dir}"/>
+ </target>
+
+ <!-- compile everything -->
+ <target depends="init" name="compile">
+ <javac deprecation="off"
+ destdir="${build.dir}"
+ encoding="ISO-8859-1"
+ srcdir="${src.dir}"
+ target="1.7">
+ <classpath>
+ <path refid="compile.classpath"/>
+ </classpath>
+ </javac>
+ <copy todir="${build.dir}">
+ <fileset dir="${src.dir}">
+ <exclude name="**/*.java"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <!-- build the jar file -->
+ <target depends="compile" name="jar">
+ <jar basedir="${build.dir}" jarfile="${dist.dir}/${jarfile}"/>
+ <jar basedir="${build.dir}" jarfile="${dist.dir}/2p.jar">
+ <manifest>
+ <attribute name="Main-Class" value="alice.tuprologx.ide.GUILauncher"/>
+ <attribute name="Class-Path" value="."/>
+ </manifest>
+ <zipgroupfileset dir="lib" includes="*.jar"/>
+ </jar>
+ </target>
+
+ <!-- generate javadocs -->
+ <target depends="init" name="javadoc">
+ <javadoc
+ author="false"
+ destdir="${docs.dir}"
+ encoding="ISO-8859-1"
+ breakiterator="yes"
+ packagenames="alice.*"
+ sourcepath="${src.dir}"
+ use="true"
+ version="true"
+ verbose="no"
+ windowtitle="${ant.project.name} API">
+ <classpath>
+ <path refid="compile.classpath"/>
+ </classpath>
+ </javadoc>
+ </target>
+
+ <!-- clean up -->
+ <target name="clean">
+ <delete dir="${build.dir}"/>
+ <delete dir="${dist.dir}"/>
+ <delete dir="${docs.dir}"/>
+ <delete dir="${test.build.dir}"/>
+ </target>
+
+ <!-- run testsuite -->
+ <target name="test">
+ <path id="dist.classpath">
+ <fileset dir="${dist.dir}">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
+ <javac classpathref="dist.classpath"
+ deprecation="off"
+ destdir="${test.build.dir}"
+ encoding="ISO-8859-1"
+ srcdir="${test.dir}/unit"
+ target="1.7"/>
+ <junit haltonfailure="on" showoutput="no" printsummary="yes">
+ <classpath>
+ <path refid="dist.classpath"/>
+ <pathelement path="${test.build.dir}"/>
+ </classpath>
+ <formatter type="xml"/>
+ <batchtest todir="${test.build.dir}">
+ <fileset dir="${test.build.dir}">
+ <include name="**/*TestCase.class"/>
+ </fileset>
+ </batchtest>
+ </junit>
+ </target>
+</project>
diff --git a/dev-lang/tuprolog/files/build-3.0.1.xml b/dev-lang/tuprolog/files/build-3.0.1.xml
new file mode 100644
index 000000000000..3b6f5818eaa6
--- /dev/null
+++ b/dev-lang/tuprolog/files/build-3.0.1.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" ?><project default="jar" name="tuprolog">
+
+ <!-- some properties -->
+ <property name="src.dir" value="src"/>
+ <property name="build.dir" value="build"/>
+ <property name="docs.dir" value="docs"/>
+ <property name="dist.dir" value="dist"/>
+ <property name="test.dir" value="test"/>
+ <property name="test.build.dir" value="test.build"/>
+ <property name="jarfile" value="${ant.project.name}.jar"/>
+ <property file="build.properties"/>
+
+ <path id="compile.classpath">
+ <fileset dir="lib" includes="*.jar"/>
+ <pathelement path="${gentoo.classpath}"/>
+ </path>
+
+ <!-- init -->
+ <target name="init">
+ <tstamp/>
+ <mkdir dir="${dist.dir}"/>
+ <mkdir dir="${build.dir}"/>
+ <mkdir dir="${docs.dir}"/>
+ <mkdir dir="${test.build.dir}"/>
+ </target>
+
+ <!-- compile everything -->
+ <target depends="init" name="compile">
+ <javac deprecation="off"
+ destdir="${build.dir}"
+ encoding="ISO-8859-1"
+ srcdir="${src.dir}"
+ source="1.8"
+ target="1.8">
+ <classpath>
+ <path refid="compile.classpath"/>
+ </classpath>
+ </javac>
+ <copy todir="${build.dir}">
+ <fileset dir="${src.dir}">
+ <exclude name="**/*.java"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <!-- build the jar file -->
+ <target depends="compile" name="jar">
+ <jar basedir="${build.dir}" jarfile="${dist.dir}/${jarfile}"/>
+ <jar basedir="${build.dir}" jarfile="${dist.dir}/2p.jar">
+ <manifest>
+ <attribute name="Main-Class" value="alice.tuprologx.ide.GUILauncher"/>
+ <attribute name="Class-Path" value="."/>
+ </manifest>
+ <zipgroupfileset dir="lib" includes="*.jar"/>
+ </jar>
+ </target>
+
+ <!-- generate javadocs -->
+ <target depends="init" name="javadoc">
+ <javadoc
+ author="false"
+ destdir="${docs.dir}"
+ encoding="ISO-8859-1"
+ breakiterator="yes"
+ packagenames="alice.*"
+ sourcepath="${src.dir}"
+ use="true"
+ version="true"
+ verbose="no"
+ windowtitle="${ant.project.name} API">
+ <classpath>
+ <path refid="compile.classpath"/>
+ </classpath>
+ </javadoc>
+ </target>
+
+ <!-- clean up -->
+ <target name="clean">
+ <delete dir="${build.dir}"/>
+ <delete dir="${dist.dir}"/>
+ <delete dir="${docs.dir}"/>
+ <delete dir="${test.build.dir}"/>
+ </target>
+
+ <!-- run testsuite -->
+ <target name="test">
+ <path id="dist.classpath">
+ <fileset dir="${dist.dir}">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
+ <javac classpathref="dist.classpath"
+ deprecation="off"
+ destdir="${test.build.dir}"
+ encoding="ISO-8859-1"
+ srcdir="${test.dir}/unit"
+ source="1.8"
+ target="1.8"/>
+ <junit fork="yes" failureproperty="test.failed" printsummary="yes">
+ <classpath>
+ <path refid="dist.classpath"/>
+ <pathelement path="${test.build.dir}"/>
+ </classpath>
+ <formatter type="xml"/>
+ <test name="alice.tuprolog.TuPrologTestSuite" todir="${test.build.dir}"/>
+ <test name="alice.tuprolog.ExceptionsTestSuite" todir="${test.build.dir}"/>
+ </junit>
+ <fail message="Test failure(s) detected" if="test.failed" />
+ </target>
+</project>
diff --git a/dev-lang/tuprolog/files/build-3.1.0.xml b/dev-lang/tuprolog/files/build-3.1.0.xml
new file mode 100644
index 000000000000..3b6f5818eaa6
--- /dev/null
+++ b/dev-lang/tuprolog/files/build-3.1.0.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" ?><project default="jar" name="tuprolog">
+
+ <!-- some properties -->
+ <property name="src.dir" value="src"/>
+ <property name="build.dir" value="build"/>
+ <property name="docs.dir" value="docs"/>
+ <property name="dist.dir" value="dist"/>
+ <property name="test.dir" value="test"/>
+ <property name="test.build.dir" value="test.build"/>
+ <property name="jarfile" value="${ant.project.name}.jar"/>
+ <property file="build.properties"/>
+
+ <path id="compile.classpath">
+ <fileset dir="lib" includes="*.jar"/>
+ <pathelement path="${gentoo.classpath}"/>
+ </path>
+
+ <!-- init -->
+ <target name="init">
+ <tstamp/>
+ <mkdir dir="${dist.dir}"/>
+ <mkdir dir="${build.dir}"/>
+ <mkdir dir="${docs.dir}"/>
+ <mkdir dir="${test.build.dir}"/>
+ </target>
+
+ <!-- compile everything -->
+ <target depends="init" name="compile">
+ <javac deprecation="off"
+ destdir="${build.dir}"
+ encoding="ISO-8859-1"
+ srcdir="${src.dir}"
+ source="1.8"
+ target="1.8">
+ <classpath>
+ <path refid="compile.classpath"/>
+ </classpath>
+ </javac>
+ <copy todir="${build.dir}">
+ <fileset dir="${src.dir}">
+ <exclude name="**/*.java"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <!-- build the jar file -->
+ <target depends="compile" name="jar">
+ <jar basedir="${build.dir}" jarfile="${dist.dir}/${jarfile}"/>
+ <jar basedir="${build.dir}" jarfile="${dist.dir}/2p.jar">
+ <manifest>
+ <attribute name="Main-Class" value="alice.tuprologx.ide.GUILauncher"/>
+ <attribute name="Class-Path" value="."/>
+ </manifest>
+ <zipgroupfileset dir="lib" includes="*.jar"/>
+ </jar>
+ </target>
+
+ <!-- generate javadocs -->
+ <target depends="init" name="javadoc">
+ <javadoc
+ author="false"
+ destdir="${docs.dir}"
+ encoding="ISO-8859-1"
+ breakiterator="yes"
+ packagenames="alice.*"
+ sourcepath="${src.dir}"
+ use="true"
+ version="true"
+ verbose="no"
+ windowtitle="${ant.project.name} API">
+ <classpath>
+ <path refid="compile.classpath"/>
+ </classpath>
+ </javadoc>
+ </target>
+
+ <!-- clean up -->
+ <target name="clean">
+ <delete dir="${build.dir}"/>
+ <delete dir="${dist.dir}"/>
+ <delete dir="${docs.dir}"/>
+ <delete dir="${test.build.dir}"/>
+ </target>
+
+ <!-- run testsuite -->
+ <target name="test">
+ <path id="dist.classpath">
+ <fileset dir="${dist.dir}">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
+ <javac classpathref="dist.classpath"
+ deprecation="off"
+ destdir="${test.build.dir}"
+ encoding="ISO-8859-1"
+ srcdir="${test.dir}/unit"
+ source="1.8"
+ target="1.8"/>
+ <junit fork="yes" failureproperty="test.failed" printsummary="yes">
+ <classpath>
+ <path refid="dist.classpath"/>
+ <pathelement path="${test.build.dir}"/>
+ </classpath>
+ <formatter type="xml"/>
+ <test name="alice.tuprolog.TuPrologTestSuite" todir="${test.build.dir}"/>
+ <test name="alice.tuprolog.ExceptionsTestSuite" todir="${test.build.dir}"/>
+ </junit>
+ <fail message="Test failure(s) detected" if="test.failed" />
+ </target>
+</project>
diff --git a/dev-lang/tuprolog/files/tuprolog-2.9.2-no-dynamic-object-test.patch b/dev-lang/tuprolog/files/tuprolog-2.9.2-no-dynamic-object-test.patch
new file mode 100644
index 000000000000..0416258e9e14
--- /dev/null
+++ b/dev-lang/tuprolog/files/tuprolog-2.9.2-no-dynamic-object-test.patch
@@ -0,0 +1,20 @@
+--- tuprolog-2.9.2.orig/test/unit/alice/tuprolog/JavaLibraryTestCase.java 2015-02-27 14:02:49.000000000 +0100
++++ tuprolog-2.9.2/test/unit/alice/tuprolog/JavaLibraryTestCase.java 2016-02-17 15:24:47.000000000 +0100
+@@ -39,7 +39,7 @@
+ SolveInfo goal = engine.solve(new Struct("demo", t));
+ assertFalse(goal.isSuccess());
+ }
+-
++/*
+ public void testDynamicObjectsRetrival() throws PrologException {
+ Prolog engine = new Prolog();
+ JavaLibrary lib = (JavaLibrary) engine.getLibrary("alice.tuprolog.lib.JavaLibrary");
+@@ -53,7 +53,7 @@
+ TestCounter counter = (TestCounter) lib.getRegisteredDynamicObject(id);
+ assertEquals(2, counter.getValue());
+ }
+-
++*/
+
+ public void test_java_object() throws PrologException, IOException
+ {
diff --git a/dev-lang/tuprolog/files/tuprolog-2.9.2-no-ikvm.patch b/dev-lang/tuprolog/files/tuprolog-2.9.2-no-ikvm.patch
new file mode 100644
index 000000000000..d94dc66bbac5
--- /dev/null
+++ b/dev-lang/tuprolog/files/tuprolog-2.9.2-no-ikvm.patch
@@ -0,0 +1,116 @@
+diff -urN tuprolog-2.9.0.orig/src/alice/tuprolog/LibraryManager.java tuprolog-2.9.0/src/alice/tuprolog/LibraryManager.java
+--- tuprolog-2.9.0.orig/src/alice/tuprolog/LibraryManager.java 2014-09-29 18:14:21.000000000 +0200
++++ tuprolog-2.9.0/src/alice/tuprolog/LibraryManager.java 2015-01-11 14:48:57.000000000 +0100
+@@ -9,11 +9,11 @@
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.*;
+-import cli.System.Reflection.Assembly;
++//import cli.System.Reflection.Assembly;
+
+ import alice.tuprolog.event.LibraryEvent;
+ import alice.tuprolog.event.WarningEvent;
+-import alice.util.AssemblyCustomClassLoader;
++//import alice.util.AssemblyCustomClassLoader;
+
+ /**
+ * @author Alex Benini
+@@ -179,31 +179,7 @@
+ } else
+ // .NET
+ {
+- Assembly asm = null;
+- boolean classFound = false;
+- className = "cli."
+- + className.substring(0, className.indexOf(","))
+- .trim();
+- for (int i = 0; i < paths.length; i++)
+- {
+- try
+- {
+- asm = Assembly.LoadFrom(paths[i]);
+- loader = new AssemblyCustomClassLoader(asm, urls);
+- lib = (Library) Class.forName(className, true, loader).newInstance();
+- if (lib != null)
+- {
+- classFound = true;
+- break;
+- }
+- } catch (Exception e)
+- {
+- e.printStackTrace();
+- continue;
+- }
+- }
+- if (!classFound)
+- throw new InvalidLibraryException(className, -1, -1);
++ throw new InvalidLibraryException(className, -1, -1);
+ }
+ }
+
+@@ -462,4 +438,4 @@
+ return optimizedDirectory;
+ }
+
+-}
+\ No newline at end of file
++}
+diff -urN tuprolog-2.9.0.orig/src/alice/tuprologx/ide/LibraryManager.java tuprolog-2.9.0/src/alice/tuprologx/ide/LibraryManager.java
+--- tuprolog-2.9.0.orig/src/alice/tuprologx/ide/LibraryManager.java 2014-09-29 18:14:21.000000000 +0200
++++ tuprolog-2.9.0/src/alice/tuprologx/ide/LibraryManager.java 2015-01-11 14:46:23.000000000 +0100
+@@ -18,7 +18,7 @@
+ package alice.tuprologx.ide;
+
+ import alice.tuprolog.*;
+-import alice.util.AssemblyCustomClassLoader;
++//import alice.util.AssemblyCustomClassLoader;
+
+ import java.io.File;
+ import java.net.URL;
+@@ -26,7 +26,7 @@
+ import java.util.ArrayList;
+ import java.util.Hashtable;
+ import java.util.StringTokenizer;
+-import cli.System.Reflection.Assembly;
++//import cli.System.Reflection.Assembly;
+
+ /**
+ * A dynamic manager for tuProlog libraries.
+@@ -155,10 +155,7 @@
+ // .NET
+ if(System.getProperty("java.vm.name").equals("IKVM.NET"))
+ {
+- Assembly asm = Assembly.LoadFrom(file.getPath());
+- loader = new AssemblyCustomClassLoader(asm, new URL[]{url});
+- libraryClassname = "cli." + libraryClassname.substring(0,
+- libraryClassname.indexOf(",")).trim();
++ throw new InvalidLibraryException(libraryClassname,-1,-1);
+ }
+ // JVM
+ else
+diff -urN tuprolog-2.9.0.orig/src/alice/util/AssemblyCustomClassLoader.java tuprolog-2.9.0/src/alice/util/AssemblyCustomClassLoader.java
+--- tuprolog-2.9.0.orig/src/alice/util/AssemblyCustomClassLoader.java 2014-09-29 18:14:21.000000000 +0200
++++ tuprolog-2.9.0/src/alice/util/AssemblyCustomClassLoader.java 1970-01-01 01:00:00.000000000 +0100
+@@ -1,21 +0,0 @@
+-package alice.util;
+-
+-import java.net.URL;
+-
+-public class AssemblyCustomClassLoader extends java.net.URLClassLoader
+-{
+- public AssemblyCustomClassLoader(cli.System.Reflection.Assembly asm, URL[] urls)
+- {
+- super(new java.net.URL[0], new ikvm.runtime.AssemblyClassLoader(asm));
+- // explicitly calling addURL() is safer than passing it to the super constructor,
+- // because this class loader instance may be used during the URL construction.
+- for (URL url : urls) {
+- addURL(url);
+- }
+- }
+-
+- public void addUrl(URL url)
+- {
+- addURL(url);
+- }
+-}
+\ No newline at end of file
diff --git a/dev-lang/tuprolog/files/tuprolog-3.0.1-no-ikvm.patch b/dev-lang/tuprolog/files/tuprolog-3.0.1-no-ikvm.patch
new file mode 100644
index 000000000000..660b22c79341
--- /dev/null
+++ b/dev-lang/tuprolog/files/tuprolog-3.0.1-no-ikvm.patch
@@ -0,0 +1,137 @@
+diff -urN tuprolog-3.0.1.orig/src/alice/tuprolog/LibraryManager.java tuprolog-3.0.1/src/alice/tuprolog/LibraryManager.java
+--- tuprolog-3.0.1.orig/src/alice/tuprolog/LibraryManager.java 2017-09-27 12:31:06.689334505 +0200
++++ tuprolog-3.0.1/src/alice/tuprolog/LibraryManager.java 2017-09-27 12:50:04.193286931 +0200
+@@ -9,11 +9,11 @@
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.*;
+-import cli.System.Reflection.Assembly;
++//import cli.System.Reflection.Assembly;
+
+ import alice.tuprolog.event.LibraryEvent;
+ import alice.tuprolog.event.WarningEvent;
+-import alice.util.AssemblyCustomClassLoader;
++//import alice.util.AssemblyCustomClassLoader;
+
+ /**
+ * @author Alex Benini
+@@ -179,31 +179,7 @@
+ } else
+ // .NET
+ {
+- Assembly asm = null;
+- boolean classFound = false;
+- className = "cli."
+- + className.substring(0, className.indexOf(","))
+- .trim();
+- for (int i = 0; i < paths.length; i++)
+- {
+- try
+- {
+- asm = Assembly.LoadFrom(paths[i]);
+- loader = new AssemblyCustomClassLoader(asm, urls);
+- lib = (Library) Class.forName(className, true, loader).newInstance();
+- if (lib != null)
+- {
+- classFound = true;
+- break;
+- }
+- } catch (Exception e)
+- {
+- e.printStackTrace();
+- continue;
+- }
+- }
+- if (!classFound)
+- throw new InvalidLibraryException(className, -1, -1);
++ throw new InvalidLibraryException(className, -1, -1);
+ }
+ }
+
+@@ -462,4 +438,4 @@
+ return optimizedDirectory;
+ }
+
+-}
+\ Manca newline alla fine del file
++}
+diff -urN tuprolog-3.0.1.orig/src/alice/tuprologx/ide/LibraryManager.java tuprolog-3.0.1/src/alice/tuprologx/ide/LibraryManager.java
+--- tuprolog-3.0.1.orig/src/alice/tuprologx/ide/LibraryManager.java 2017-09-27 12:31:06.696334504 +0200
++++ tuprolog-3.0.1/src/alice/tuprologx/ide/LibraryManager.java 2017-09-27 12:50:04.194286931 +0200
+@@ -18,7 +18,7 @@
+ package alice.tuprologx.ide;
+
+ import alice.tuprolog.*;
+-import alice.util.AssemblyCustomClassLoader;
++//import alice.util.AssemblyCustomClassLoader;
+
+ import java.io.File;
+ import java.net.URL;
+@@ -26,7 +26,7 @@
+ import java.util.ArrayList;
+ import java.util.Hashtable;
+ import java.util.StringTokenizer;
+-import cli.System.Reflection.Assembly;
++//import cli.System.Reflection.Assembly;
+
+ /**
+ * A dynamic manager for tuProlog libraries.
+@@ -155,10 +155,7 @@
+ // .NET
+ if(System.getProperty("java.vm.name").equals("IKVM.NET"))
+ {
+- Assembly asm = Assembly.LoadFrom(file.getPath());
+- loader = new AssemblyCustomClassLoader(asm, new URL[]{url});
+- libraryClassname = "cli." + libraryClassname.substring(0,
+- libraryClassname.indexOf(",")).trim();
++ throw new InvalidLibraryException(libraryClassname,-1,-1);
+ }
+ // JVM
+ else
+diff -urN tuprolog-3.0.1.orig/src/alice/util/AssemblyCustomClassLoader.java tuprolog-3.0.1/src/alice/util/AssemblyCustomClassLoader.java
+--- tuprolog-3.0.1.orig/src/alice/util/AssemblyCustomClassLoader.java 2017-09-27 12:31:06.699334504 +0200
++++ tuprolog-3.0.1/src/alice/util/AssemblyCustomClassLoader.java 1970-01-01 01:00:00.000000000 +0100
+@@ -1,21 +0,0 @@
+-package alice.util;
+-
+-import java.net.URL;
+-
+-public class AssemblyCustomClassLoader extends java.net.URLClassLoader
+-{
+- public AssemblyCustomClassLoader(cli.System.Reflection.Assembly asm, URL[] urls)
+- {
+- super(new java.net.URL[0], new ikvm.runtime.AssemblyClassLoader(asm));
+- // explicitly calling addURL() is safer than passing it to the super constructor,
+- // because this class loader instance may be used during the URL construction.
+- for (URL url : urls) {
+- addURL(url);
+- }
+- }
+-
+- public void addUrl(URL url)
+- {
+- addURL(url);
+- }
+-}
+\ Manca newline alla fine del file
+diff -urN tuprolog-3.0.1.orig/src/alice/util/proxyGenerator/Generator.java tuprolog-3.0.1/src/alice/util/proxyGenerator/Generator.java
+--- tuprolog-3.0.1.orig/src/alice/util/proxyGenerator/Generator.java 2017-09-27 12:31:06.700334504 +0200
++++ tuprolog-3.0.1/src/alice/util/proxyGenerator/Generator.java 2017-09-27 12:50:04.195286931 +0200
+@@ -1,7 +1,7 @@
+ package alice.util.proxyGenerator;
+ import javax.tools.*;
+
+-import cli.System.Reflection.Assembly;
++//import cli.System.Reflection.Assembly;
+
+ import java.lang.reflect.*;
+ import java.util.*;
+@@ -29,7 +29,7 @@
+ }
+
+ if(System.getProperty("java.vm.name").equals("IKVM.NET"))
+- ikvm.runtime.Startup.addBootClassPathAssemby(Assembly.Load("IKVM.OpenJDK.Tools"));
++ throw new UnsupportedOperationException("IKVM.NET not supported!");
+
+ jc = ToolProvider.getSystemJavaCompiler();
+ if (jc == null) {
diff --git a/dev-lang/tuprolog/files/tuprolog-3.0.1-oolibrary-unit-test.patch b/dev-lang/tuprolog/files/tuprolog-3.0.1-oolibrary-unit-test.patch
new file mode 100644
index 000000000000..9d09ff202b08
--- /dev/null
+++ b/dev-lang/tuprolog/files/tuprolog-3.0.1-oolibrary-unit-test.patch
@@ -0,0 +1,12 @@
+diff -ur tuprolog-3.0.1.orig/test/unit/alice/tuprolog/PrologTestCase.java tuprolog-3.0.1/test/unit/alice/tuprolog/PrologTestCase.java
+--- tuprolog-3.0.1.orig/test/unit/alice/tuprolog/PrologTestCase.java 2017-09-27 12:31:12.908334244 +0200
++++ tuprolog-3.0.1/test/unit/alice/tuprolog/PrologTestCase.java 2017-09-27 19:30:31.813282027 +0200
+@@ -32,7 +32,7 @@
+ assertNotNull(engine.getLibrary("alice.tuprolog.StringLibrary"));
+ Library javaLibrary = new alice.tuprolog.lib.OOLibrary();
+ engine.loadLibrary(javaLibrary);
+- assertSame(javaLibrary, engine.getLibrary("alice.tuprolog.lib.JavaLibrary"));
++ assertSame(javaLibrary, engine.getLibrary("alice.tuprolog.lib.OOLibrary"));
+ }
+
+ public void testGetLibraryWithName() throws InvalidLibraryException {
diff --git a/dev-lang/tuprolog/files/tuprolog-3.1.0-no-ikvm.patch b/dev-lang/tuprolog/files/tuprolog-3.1.0-no-ikvm.patch
new file mode 100644
index 000000000000..eb20dacd4430
--- /dev/null
+++ b/dev-lang/tuprolog/files/tuprolog-3.1.0-no-ikvm.patch
@@ -0,0 +1,137 @@
+diff -urN tuprolog-3.1.0.orig/src/alice/tuprolog/LibraryManager.java tuprolog-3.1.0/src/alice/tuprolog/LibraryManager.java
+--- tuprolog-3.1.0.orig/src/alice/tuprolog/LibraryManager.java 2017-10-08 17:06:55.710627376 +0200
++++ tuprolog-3.1.0/src/alice/tuprolog/LibraryManager.java 2017-10-08 17:18:20.817598723 +0200
+@@ -9,11 +9,11 @@
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.*;
+-import cli.System.Reflection.Assembly;
++//import cli.System.Reflection.Assembly;
+
+ import alice.tuprolog.event.LibraryEvent;
+ import alice.tuprolog.event.WarningEvent;
+-import alice.util.AssemblyCustomClassLoader;
++//import alice.util.AssemblyCustomClassLoader;
+
+ /**
+ * @author Alex Benini
+@@ -179,31 +179,7 @@
+ } else
+ // .NET
+ {
+- Assembly asm = null;
+- boolean classFound = false;
+- className = "cli."
+- + className.substring(0, className.indexOf(","))
+- .trim();
+- for (int i = 0; i < paths.length; i++)
+- {
+- try
+- {
+- asm = Assembly.LoadFrom(paths[i]);
+- loader = new AssemblyCustomClassLoader(asm, urls);
+- lib = (Library) Class.forName(className, true, loader).newInstance();
+- if (lib != null)
+- {
+- classFound = true;
+- break;
+- }
+- } catch (Exception e)
+- {
+- e.printStackTrace();
+- continue;
+- }
+- }
+- if (!classFound)
+- throw new InvalidLibraryException(className, -1, -1);
++ throw new InvalidLibraryException(className, -1, -1);
+ }
+ }
+
+@@ -462,4 +438,4 @@
+ return optimizedDirectory;
+ }
+
+-}
+\ Manca newline alla fine del file
++}
+diff -urN tuprolog-3.1.0.orig/src/alice/tuprologx/ide/LibraryManager.java tuprolog-3.1.0/src/alice/tuprologx/ide/LibraryManager.java
+--- tuprolog-3.1.0.orig/src/alice/tuprologx/ide/LibraryManager.java 2017-10-08 17:06:55.796627373 +0200
++++ tuprolog-3.1.0/src/alice/tuprologx/ide/LibraryManager.java 2017-10-08 17:20:18.378593806 +0200
+@@ -19,7 +19,7 @@
+
+ import alice.tuprolog.*;
+ import alice.tuprolog.InvalidLibraryException;
+-import alice.util.AssemblyCustomClassLoader;
++//import alice.util.AssemblyCustomClassLoader;
+
+ import java.io.File;
+ import java.net.URL;
+@@ -27,7 +27,7 @@
+ import java.util.ArrayList;
+ import java.util.Hashtable;
+ import java.util.StringTokenizer;
+-import cli.System.Reflection.Assembly;
++//import cli.System.Reflection.Assembly;
+
+ /**
+ * A dynamic manager for tuProlog libraries.
+@@ -156,10 +156,7 @@
+ // .NET
+ if(System.getProperty("java.vm.name").equals("IKVM.NET"))
+ {
+- Assembly asm = Assembly.LoadFrom(file.getPath());
+- loader = new AssemblyCustomClassLoader(asm, new URL[]{url});
+- libraryClassname = "cli." + libraryClassname.substring(0,
+- libraryClassname.indexOf(",")).trim();
++ throw new InvalidLibraryException(libraryClassname,-1,-1);
+ }
+ // JVM
+ else
+diff -urN tuprolog-3.1.0.orig/src/alice/util/AssemblyCustomClassLoader.java tuprolog-3.1.0/src/alice/util/AssemblyCustomClassLoader.java
+--- tuprolog-3.1.0.orig/src/alice/util/AssemblyCustomClassLoader.java 2017-10-08 17:06:55.863627370 +0200
++++ tuprolog-3.1.0/src/alice/util/AssemblyCustomClassLoader.java 1970-01-01 01:00:00.000000000 +0100
+@@ -1,21 +0,0 @@
+-package alice.util;
+-
+-import java.net.URL;
+-
+-public class AssemblyCustomClassLoader extends java.net.URLClassLoader
+-{
+- public AssemblyCustomClassLoader(cli.System.Reflection.Assembly asm, URL[] urls)
+- {
+- super(new java.net.URL[0], new ikvm.runtime.AssemblyClassLoader(asm));
+- // explicitly calling addURL() is safer than passing it to the super constructor,
+- // because this class loader instance may be used during the URL construction.
+- for (URL url : urls) {
+- addURL(url);
+- }
+- }
+-
+- public void addUrl(URL url)
+- {
+- addURL(url);
+- }
+-}
+\ Manca newline alla fine del file
+diff -urN tuprolog-3.1.0.orig/src/alice/util/proxyGenerator/Generator.java tuprolog-3.1.0/src/alice/util/proxyGenerator/Generator.java
+--- tuprolog-3.1.0.orig/src/alice/util/proxyGenerator/Generator.java 2017-10-08 17:06:55.877627369 +0200
++++ tuprolog-3.1.0/src/alice/util/proxyGenerator/Generator.java 2017-10-08 17:18:20.819598723 +0200
+@@ -1,7 +1,7 @@
+ package alice.util.proxyGenerator;
+ import javax.tools.*;
+
+-import cli.System.Reflection.Assembly;
++//import cli.System.Reflection.Assembly;
+
+ import java.lang.reflect.*;
+ import java.util.*;
+@@ -29,7 +29,7 @@
+ }
+
+ if(System.getProperty("java.vm.name").equals("IKVM.NET"))
+- ikvm.runtime.Startup.addBootClassPathAssemby(Assembly.Load("IKVM.OpenJDK.Tools"));
++ throw new UnsupportedOperationException("IKVM.NET not supported!");
+
+ jc = ToolProvider.getSystemJavaCompiler();
+ if (jc == null) {