public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Keri Harris" <keri@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/tuprolog/files/, dev-lang/tuprolog/
Date: Sun,  9 Oct 2016 09:27:30 +0000 (UTC)	[thread overview]
Message-ID: <1476005234.96441722e1253618b7739713cb19f6425e0c919a.keri@gentoo> (raw)

commit:     96441722e1253618b7739713cb19f6425e0c919a
Author:     Keri Harris <keri <AT> gentoo <DOT> org>
AuthorDate: Sun Oct  9 09:27:14 2016 +0000
Commit:     Keri Harris <keri <AT> gentoo <DOT> org>
CommitDate: Sun Oct  9 09:27:14 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96441722

dev-lang/tuprolog: version bump

Package-Manager: portage-2.3.0

 dev-lang/tuprolog/Manifest                         |   1 +
 dev-lang/tuprolog/files/build-3.0.0.xml            | 110 +++++++++++++++++
 .../tuprolog-3.0.0-no-dynamic-object-test.patch    |  20 +++
 .../tuprolog/files/tuprolog-3.0.0-no-ikvm.patch    | 137 +++++++++++++++++++++
 .../files/tuprolog-3.0.0-oolibrary-unit-test.patch |  11 ++
 dev-lang/tuprolog/tuprolog-3.0.0.ebuild            |  67 ++++++++++
 6 files changed, 346 insertions(+)

diff --git a/dev-lang/tuprolog/Manifest b/dev-lang/tuprolog/Manifest
index 99ab786..782017b 100644
--- a/dev-lang/tuprolog/Manifest
+++ b/dev-lang/tuprolog/Manifest
@@ -2,3 +2,4 @@ DIST 2p-2.4.0.zip 2421675 SHA256 f674b282bd7bc60e92ea417f8766e635979366d84d48634
 DIST tuprolog-2.7.2.tar.gz 9104934 SHA256 8b0c653d3c9d701197f13d8dec6e45548565cddfd052a5bec9578f4e6a50f21e SHA512 c327893e0fcf777b6ad8951b3baf88bc9527bf88e9d06ac54af04e777e6c0fc255b15f492c2cf483859d3a1966897d5969e1496370b88287b96e83d92babc722 WHIRLPOOL cf5082d0ca07f8bc59e678c27b1fb8aaa8879f6b15dc887949cb61760dfd721ba4a6fd5b05fb979ea94e6ab607dfcff5707be47d5ac657623556426e734ca395
 DIST tuprolog-2.9.0.tar.gz 4841110 SHA256 e789c7f1777a4f57698ac4756d03574f8fd5be4cebb1d5226722c35df75e163f SHA512 be15c99c40f750f3d1d4b70ae7ced9fe3792e8747876b6190ec1a01dd287e0fa34f88671f99f9e3fd7249e6fd44da7c4dadce0cd111b44b24e0e43d31c85165e WHIRLPOOL ada10ff775dc5e55d5c55c4dc920f5a4e7f8654891a10cf815734649e384fe6351921b807c54f6a6e8503fcbd0cbd9ee7f1569140bb5eba7e77e4da85f907203
 DIST tuprolog-2.9.2.tar.gz 6262268 SHA256 4205dff584b492e10f214c71ce7bc0e81297a915156ca1e10cfac8b34c8c0a6e SHA512 831c7390fe33fc57cb01d4b1d61485ac5df1aa8ebf386d5aae5c5d32f7677d46aa5aa6cc0eb1d3bb79989a54f8484ad8b97754b7f75fc21af6116ae170a28316 WHIRLPOOL 18dceea5e95be3e60b10fa8692970e61d9b16b2f518ac342de271ac7c6cb8313e8e9ca359fb93753d43a2c09780e47f212776ce560f9c2fefdb21d44f3316c77
+DIST tuprolog-3.0.0.tar.gz 6275327 SHA256 1c7a423cbd3faa626f8398a48ec6396c2d17431a77b1f22179d713cc76aeeb09 SHA512 7998dadb04b1314d096a33c54d11977534565accb3811b93a22f606fd838d2f9b0a6defe882992977a093832e1565283d3951dcc791809620deb61d3511c02d3 WHIRLPOOL 915a21632a2c86f33de25cc05ec75f3e40b33a0ba80f73219cfab6d06f69af07bc9d143a3d1cd80fbfd27fdeba9d4259f389f1a33704bfac2151403b26424e12

diff --git a/dev-lang/tuprolog/files/build-3.0.0.xml b/dev-lang/tuprolog/files/build-3.0.0.xml
new file mode 100644
index 00000000..823c237
--- /dev/null
+++ b/dev-lang/tuprolog/files/build-3.0.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}"
+			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/tuprolog-3.0.0-no-dynamic-object-test.patch b/dev-lang/tuprolog/files/tuprolog-3.0.0-no-dynamic-object-test.patch
new file mode 100644
index 00000000..36e683f
--- /dev/null
+++ b/dev-lang/tuprolog/files/tuprolog-3.0.0-no-dynamic-object-test.patch
@@ -0,0 +1,20 @@
+--- tuprolog-3.0.0.orig/test/unit/alice/tuprolog/JavaLibraryTestCase.java	2016-10-08 14:34:12.000000000 +0200
++++ tuprolog-3.0.0/test/unit/alice/tuprolog/JavaLibraryTestCase.java	2016-10-08 17:30:18.525111794 +0200
+@@ -39,7 +39,7 @@
+ 		SolveInfo goal = engine.solve(new Struct("demo", t));
+ 		assertFalse(goal.isSuccess());
+ 	}
+-
++/*
+ 	public void testDynamicObjectsRetrival() throws PrologException {
+ 		Prolog engine = new Prolog();
+ 		OOLibrary lib = (OOLibrary) engine.getLibrary("alice.tuprolog.lib.OOLibrary");
+@@ -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-3.0.0-no-ikvm.patch b/dev-lang/tuprolog/files/tuprolog-3.0.0-no-ikvm.patch
new file mode 100644
index 00000000..e0ee85c
--- /dev/null
+++ b/dev-lang/tuprolog/files/tuprolog-3.0.0-no-ikvm.patch
@@ -0,0 +1,137 @@
+diff -urN tuprolog-3.0.0.orig/src/alice/tuprolog/LibraryManager.java tuprolog-3.0.0/src/alice/tuprolog/LibraryManager.java
+--- tuprolog-3.0.0.orig/src/alice/tuprolog/LibraryManager.java	2016-10-08 14:33:19.000000000 +0200
++++ tuprolog-3.0.0/src/alice/tuprolog/LibraryManager.java	2016-10-08 16:49:12.005214951 +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;
+ 	}
+ 
+-}
+\ No newline at end of file
++}
+diff -urN tuprolog-3.0.0.orig/src/alice/tuprologx/ide/LibraryManager.java tuprolog-3.0.0/src/alice/tuprologx/ide/LibraryManager.java
+--- tuprolog-3.0.0.orig/src/alice/tuprologx/ide/LibraryManager.java	2016-10-08 14:33:19.000000000 +0200
++++ tuprolog-3.0.0/src/alice/tuprologx/ide/LibraryManager.java	2016-10-08 16:49:12.006214951 +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.0.orig/src/alice/util/AssemblyCustomClassLoader.java tuprolog-3.0.0/src/alice/util/AssemblyCustomClassLoader.java
+--- tuprolog-3.0.0.orig/src/alice/util/AssemblyCustomClassLoader.java	2016-10-08 14:33:19.000000000 +0200
++++ tuprolog-3.0.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 -urN tuprolog-3.0.0.orig/src/alice/util/proxyGenerator/Generator.java tuprolog-3.0.0/src/alice/util/proxyGenerator/Generator.java
+--- tuprolog-3.0.0.orig/src/alice/util/proxyGenerator/Generator.java	2016-10-08 14:33:19.000000000 +0200
++++ tuprolog-3.0.0/src/alice/util/proxyGenerator/Generator.java	2016-10-08 17:03:17.816179576 +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.0-oolibrary-unit-test.patch b/dev-lang/tuprolog/files/tuprolog-3.0.0-oolibrary-unit-test.patch
new file mode 100644
index 00000000..f9c13ae
--- /dev/null
+++ b/dev-lang/tuprolog/files/tuprolog-3.0.0-oolibrary-unit-test.patch
@@ -0,0 +1,11 @@
+--- tuprolog-3.0.0.orig/test/unit/alice/tuprolog/PrologTestCase.java	2016-10-08 14:34:12.000000000 +0200
++++ tuprolog-3.0.0/test/unit/alice/tuprolog/PrologTestCase.java	2016-10-08 17:43:28.339078761 +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/tuprolog-3.0.0.ebuild b/dev-lang/tuprolog/tuprolog-3.0.0.ebuild
new file mode 100644
index 00000000..c910851
--- /dev/null
+++ b/dev-lang/tuprolog/tuprolog-3.0.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils java-pkg-2 java-ant-2
+
+DESCRIPTION="tuProlog is a light-weight Prolog for Internet applications and infrastructures"
+HOMEPAGE="http://tuprolog.unibo.it/"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="LGPL-3 BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+
+RDEPEND=">=virtual/jdk-1.7:=
+	 dev-java/javassist:3
+	 dev-java/commons-lang:3.1"
+
+DEPEND="${RDEPEND}
+	dev-java/ant-core
+	test? (
+		dev-java/ant-junit4:0
+		dev-java/junit:4
+		dev-java/hamcrest-core:1.3
+	)"
+
+S="${WORKDIR}"/${P}
+
+EANT_GENTOO_CLASSPATH="javassist:3,commons-lang-3.1"
+
+src_prepare() {
+	epatch "${FILESDIR}"/${P}-no-ikvm.patch
+	epatch "${FILESDIR}"/${P}-no-dynamic-object-test.patch
+	epatch "${FILESDIR}"/${P}-oolibrary-unit-test.patch
+
+	cp "${FILESDIR}"/build-${PV}.xml "${S}"/build.xml || die
+}
+
+src_compile() {
+	eant jar $(use_doc)
+}
+
+src_test() {
+	cd "${S}"/dist
+	java-pkg_jar-from junit:4
+	java-pkg_jar-from hamcrest-core:1.3
+	cd "${S}"
+	ANT_TASKS="ant-junit4" eant test || die "eant test failed"
+}
+
+src_install() {
+	java-pkg_dojar dist/${PN}.jar
+	java-pkg_dojar dist/2p.jar
+
+	if use doc ; then
+		java-pkg_dohtml -r docs/* || die
+		dodoc doc/tuprolog-guide.pdf
+	fi
+
+	if use examples ; then
+		insinto /usr/share/doc/${PF}/examples
+		doins doc/examples/*.pl
+	fi
+}


             reply	other threads:[~2016-10-09  9:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-09  9:27 Keri Harris [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-09-26  9:34 [gentoo-commits] repo/gentoo:master commit in: dev-lang/tuprolog/files/, dev-lang/tuprolog/ Keri Harris
2017-10-08 16:18 Keri Harris
2017-09-28  8:57 Keri Harris
2017-09-27 17:40 Keri Harris
2016-02-17 14:42 Keri Harris
2016-02-15 18:28 Keri Harris

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1476005234.96441722e1253618b7739713cb19f6425e0c919a.keri@gentoo \
    --to=keri@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox