[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#992203: buster-pu: package wims/2:4.17b+svn13454~dfsg2-1



Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu

[ Reason ]
The package wims got a bugreport (#992088, "contains two files with a non-free
"disparaging to Sun" license") with severity "serious" on
11 August; I uploaded the fix on 13 August, but it was too late
to take it in account for the unblock request.

[ Impact ]
The popcon score for wims is low, but this package is used only by sysadmins.
Typically, when a sysadmin runs wims for an education group, it can reach
hundreds of users online.
.
Unlike the upstream wims distribution, the debian package can provide a
featureful server in minutes, as the only command is to type "apt install
wims". So, the Debian package (and the same in Ubuntu) are a good introduction
to this free software.

[ Tests ]
I tested manually the build and the installation of the new package.

[ Risks ]
Wims is a leaf package, so it cannot harm other parts of the distribution.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
The directory containing the two non-free files was removed from the source
package, debian patches and the Makefile were adjusted accordingly

[ Other info ]
Thank you in advance for the update
diff -Nru wims-4.17b+svn13454~dfsg1/debian/changelog wims-4.17b+svn13454~dfsg2/debian/changelog
--- wims-4.17b+svn13454~dfsg1/debian/changelog	2021-01-02 16:54:11.000000000 +0100
+++ wims-4.17b+svn13454~dfsg2/debian/changelog	2021-08-13 13:28:13.000000000 +0200
@@ -1,3 +1,14 @@
+wims (1:4.17b+svn13454~dfsg2-1) unstable; urgency=medium
+
+  * created a Git branch debian/bugfix-992088
+  * made a new orig tarball without files
+    wims/src/Misc/applets/Lattice/src/LatticeViewer.java and
+    wims/src/Misc/applets/Lattice/src/Matrix3D.java
+    (the subdirectory wims/src/Misc/applets/Lattice was removed)
+  * updated the debian pactch modifying java builds
+
+ -- Georges Khaznadar <georgesk@debian.org>  Fri, 13 Aug 2021 13:28:13 +0200
+
 wims (1:4.17b+svn13454~dfsg1-6) unstable; urgency=medium
 
   * created the line "usr/share/man/man1/flydraw.1.gz" in
diff -Nru wims-4.17b+svn13454~dfsg1/debian/not-installed wims-4.17b+svn13454~dfsg2/debian/not-installed
--- wims-4.17b+svn13454~dfsg1/debian/not-installed	2021-01-02 16:50:29.000000000 +0100
+++ wims-4.17b+svn13454~dfsg2/debian/not-installed	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/share/man/man1/flydraw.1.gz
diff -Nru wims-4.17b+svn13454~dfsg1/debian/patches/java.patch wims-4.17b+svn13454~dfsg2/debian/patches/java.patch
--- wims-4.17b+svn13454~dfsg1/debian/patches/java.patch	2020-04-19 16:44:31.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/debian/patches/java.patch	2021-08-13 13:28:13.000000000 +0200
@@ -277,19 +277,6 @@
  	<!-- used for install of symlink & jar -->
  	<property name="WIMS_HOME"  value="../../../.."/>
  	<property name="APPLET_DIR" value="public_html/java"/>
-Index: wims/wims/src/Misc/applets/Lattice/build.xml
-===================================================================
---- wims.orig/wims/src/Misc/applets/Lattice/build.xml
-+++ wims/wims/src/Misc/applets/Lattice/build.xml
-@@ -19,7 +19,7 @@
- 	<property name="source-dir"       location="src"/>
- 	<property name="build"        location="build"/>
- 	<property name="dist"         location="dist"/>
--	<property name="java-level"       value="1.4"/>
-+	<property name="java-level"       value="1.8"/>
- 	<property name="wims_old_classes_dir"       location="../../../../public_html/java/Lattice"/>
- 	
- 	<!-- Compiles the classes.  -->
 Index: wims/wims/src/Misc/applets/ThreeD/build.xml
 ===================================================================
 --- wims.orig/wims/src/Misc/applets/ThreeD/build.xml
diff -Nru wims-4.17b+svn13454~dfsg1/.gitignore wims-4.17b+svn13454~dfsg2/.gitignore
--- wims-4.17b+svn13454~dfsg1/.gitignore	1970-01-01 01:00:00.000000000 +0100
+++ wims-4.17b+svn13454~dfsg2/.gitignore	2021-08-13 13:20:53.000000000 +0200
@@ -0,0 +1,2 @@
+*~
+.pc/
diff -Nru wims-4.17b+svn13454~dfsg1/wims/public_html/scripts/authors/jm.evers/js/geogebra2wims.js wims-4.17b+svn13454~dfsg2/wims/public_html/scripts/authors/jm.evers/js/geogebra2wims.js
--- wims-4.17b+svn13454~dfsg1/wims/public_html/scripts/authors/jm.evers/js/geogebra2wims.js	2013-06-16 15:44:40.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/public_html/scripts/authors/jm.evers/js/geogebra2wims.js	1970-01-01 01:00:00.000000000 +0100
@@ -1,66 +0,0 @@
-/* 
-14/6/2013
-Changed to geogebra3 : OpenJDK was not able to export the java array getAllObjectNames()
-(as was already a problem for internet explorer version 6,7,8?) 
-Resulting in lockups of the browser and OpenJDK java virtual machine.
-getAllObjectNames() function is depreciated since geogebra > 2.7 (btw: Oracle / Sun virtualmachine  & plugin were/are ok ! )
-
-getAllObjectNames() is replaced by a combination of
-int getObjectNumber() -> Returns the total number of objects in the construction.
-String getObjectName(int i) --> returns the construction name of the i-th object
-
-Added 'triangle','quadrilateral' 'etc' als alternatives for 'polygon' (pffff)
-Now this script recognizes : 
-list_of_things=['text','point','line','segment','circle','function','polygon','conic','ellipse','polynomial','vector','number','angle'];
-And will alert , if it encounters a unknown object.
-
-Examples:
-circle @ name @ x_center @ y_center @ radius
-line @ name @ slope @ constant   (e.g. : y = slope*x + constant)
-line @ name @ perp @ x = number (e.g. : vertical line x=some_number)
-polygon @ name @ surface_area @ A @ B @ C .... @ Z (e.g. : names of corners points)
-
-remarks: 
-geogebra3 has some issues with frame closing, it will not respond to normal appletmethods stop(),destroy()
-I will try to get hold of the source code  geogebra-2.7 ; and manually add the required new functions.
-geogebra4 is much too heavy for normal usage (use a CAS in java applet ? )
-*/
-function geogebra2wims(list_of_things){
-    var debug=0;var polygon_alternatives = ['triangle','quadrilateral','pentagon','hexagon','heptagon','octagon'];var applet = document.getElementById("ggbApplet");var max = applet.getObjectNumber();var total_object_count=0;var point_count=0;var line_count=0;var circle_count=0;var segment_count=0;var polygon_count=0;var function_count=0;var polynomial_count=0;var conic_count=0;var ellipse_count=0;var hyperbola_count=0;var vector_count=0;var angle_count=0;var text_count=0;var reply='';var data = '';if(debug == 1 ){alert(' \"list_of_things\" to check \n'+list_of_things);}var listcnt = list_of_things.length;
-    for( var i = 0 ; i < max ; i++ ){
-	var thing = applet.getObjectName(i);var whatisit = applet.getObjectType(thing);if( polygon_alternatives.indexOf(whatisit) != -1 ){whatisit = "polygon";}if(debug == 1){alert("whatisit = "+whatisit);}
-	for ( var p=0 ; p < listcnt ; p++){
-	    var it = list_of_things[p];
-	    if( it == whatisit ){
-		data = applet.getValueString(thing);data = encodeURIComponent(data);if(debug == 1){alert("found : "+it+"="+whatisit+"\ndata = "+data);}if( it=="circle" ){ data = data.replace(/%C2%B2/g,'@');} else {data = data.replace(/%C2%B/g,'^');}data = decodeURIComponent(data);
-		if (data.indexOf("_") != 2 ){/* protected names my_somename*/
-		  total_object_count++;
-		  if (it == "point"){var x = applet.getXcoord(thing);var y = applet.getYcoord(thing);data='point@'+thing+'@'+x+'@'+y ;point_count++;} 
-		  else if (it == "circle"){ data = data.replace(/\=/g,'');var t = data.length;var c = data.indexOf(':');data = data.substring(c+1,t);var broken_up_string = data.replace(/[x-y]/g,'');broken_up_string = broken_up_string.split("@");var x = broken_up_string[0];var y = broken_up_string[1];var d = broken_up_string[2];if (x == ' ' || x==' + ' || x == ' - '){x = 0;}if (y == ' ' || y == ' + ' || y == ' + '){y = 0;}if (d == ' '){d = 0;}x='-1*('+x+')';y = '-1*('+y+')';data='circle@'+thing+'@'+parseFloat(eval(x))+'@'+parseFloat(eval(y))+'@'+d;circle_count++;}
-		  else if (it == "line"){ var t = data.length;var n = data.indexOf(':');var f = data.indexOf('=');var d = data.indexOf('x');var e = data.indexOf('y');var a,b,c,r,q; if( d > 0 && e > 0 ){ a = data.substring(n+1,d); a = a.replace(/\ /g,""); if(a == 'x'){a = '1';} if(a == ''){a = '1';} if(a == '-'){a = '-1';} b = data.substring(d+1,e); b = b.replace(/\ /g,""); if(b == '+'){b = '1';}if(b == '-'){b='-1';} c = data.substring(f+1,t);r = '(-1*('+a+')/('+b+'))';q = '('+c+')/('+b+')';data='line@'+thing+'@'+parseFloat(eval(r))+'@'+parseFloat(eval(q));} else {if (d > 0 ){ c = data.substring(f+1,t);r = 'perp'; q = 'x='+c;data='line@'+thing+'@'+r+'@'+q;} else { c = data.substring(f+1,t);r = '0';q = c;data='line@'+thing+'@'+parseFloat(eval(r))+'@'+parseFloat(eval(q));	}}  line_count++;}
-  		  else if (it == "polygon" ){var def=applet.getCommandString(thing);var i1=def.indexOf("[");var i2=def.indexOf("]");var points_of_polygon = def.substring(i1+1,i2);while ( points_of_polygon.indexOf(',') != -1){points_of_polygon = points_of_polygon.replace(',','@');}data = data.replace(/\=/g,'@');data = 'polygone@'+data+'@'+points_of_polygon;polygon_count++;}
-  		  else if (it == "segment"){data = 'segment@'+data;segment_count++;}	
-  		  else if (it == "function"){data = 'function@'+data;function_count++;}
-  		  else if (it == "polynomial"){data = 'polynomial@'+data;polynomial_count++;}
-  		  else if (it == "conic"){data = 'conic@'+data;conic_count++;}
-  		  else if (it == "ellipse"){data = 'ellipse@'+data;ellipse_count++;}
-  		  else if (it == "hyperbola"){data = 'hyperbola@'+data;hyperbola_count++;}
-  		  else if (it == "text"){data = 'text@'+data;text_count++;}
-  		  else if (it == "angle"){data = data.split("=");name = data[0];data = data[1];data=name+'@'+data;angle_count++;}
-  		  else if (it == "vector"){var x = applet.getXcoord(thing);var y = applet.getYcoord(thing);data = 'vector@'+thing+'@'+x+'@'+y ;vector_count++;}
-		  else {alert ('object type with name: '+thing+'... is not in my list, please add: ' + it);}
-		  if( i < max - 1 ){ reply = reply + data +',';} else {reply = reply + data ;}if(debug == '1'){alert ('we add the variable \"data\" to the URL string :\n' +data);}
-		}
-	    }
-        }
-    }
-    // lost track about this ...
-    reply = reply.replace(/undefined/g,'');reply = reply.replace(/%C2%B/g,'^');reply = reply.replace(/%CE%B/g,'angle@');reply = reply.replace(/\^0/g,' degree');
-    reply = total_object_count+','+point_count+','+circle_count+','+line_count+','+segment_count+','+polygon_count+','+conic_count+','+ellipse_count+','+hyperbola_count+','+angle_count+','+vector_count+','+function_count+','+polynomial_count+','+text_count+','+reply;
-    // if some inputareas are present called myinpu0....myinput100 ; read these as well         
-    // and append it to the "geogebra string" as "text="+txt  
-    // we use @ as fieldseparator.   
-    if(document.getElementById('myinput0') ){var p = 0;var t="";var txt="";while( document.getElementById('myinput'+p) ){ t = document.getElementById('myinput'+p).value; if( p == 0 ){ txt = t; } else { txt = txt +"@"+t;} p++;  } reply=reply+",text="+txt;}if(debug == 1){alert(reply);}
-    return reply;
-}
-
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/applets/Lattice/build.xml wims-4.17b+svn13454~dfsg2/wims/src/Misc/applets/Lattice/build.xml
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/applets/Lattice/build.xml	2013-06-23 01:31:55.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/applets/Lattice/build.xml	1970-01-01 01:00:00.000000000 +0100
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!-- 
-
-	This is the Ant build script for Lattice.jar.
-	to build ,type:
-	ant -v 
-	to clean , type
-	ant -v clean
-	
--->
-
-
-<project name="Lattice" default="jar" basedir=".">
-
-	<description>Lattice build file</description>
-	<!-- Set global properties for this build. -->
-	<property name="version"          value="1.0"/>
-	<property name="source-dir"       location="src"/>
-	<property name="build"        location="build"/>
-	<property name="dist"         location="dist"/>
-	<property name="java-level"       value="1.4"/>
-	<property name="wims_old_classes_dir"       location="../../../../public_html/java/Lattice"/>
-	
-	<!-- Compiles the classes.  -->
-	<target name="compile" description="Compile the source">
-		<delete includeEmptyDirs="true" quiet="true" dir="${build}"/>
-		<mkdir dir="${build}"/>
-		<javac srcdir="${source-dir}" destdir="${build}" source="${java-level}" target="${java-level}"/>
-	</target>
-
-
-	<!-- Creates the jar file. -->
-
-	<target name="jar" depends="compile" description="Create Lattice jar">
-		<mkdir dir="${dist}"/>	
-		<jar destfile="${dist}/Lattice.jar">
-			<fileset dir="${build}"/>
-			<manifest>
-				<attribute name="Specification-Title" value="Lattice"/>
-				<attribute name="Specification-Version" value="${version}"/>
-				<attribute name="Implementation-Title" value="Lattice"/>
-				<attribute name="Implementation-Version" value="${version}"/>
-				<section name="Lattice">
-					<attribute name="Specification-Title" value="Lattice"/>
-					<attribute name="Specification-Version" value="${version}"/>
-					<attribute name="Implementation-Title" value="Lattice"/>
-					<attribute name="Implementation-Version" value="${version}"/>
-				</section>
-			</manifest>
-		</jar>
-	</target>
-	<target name="clean" description="clean up">
-	<!-- Delete the ${build} and ${dist} directory trees -->
-	    <delete dir="./build"/>
-	    <delete dir="./dist"/>
-	</target>
-
-
-</project>
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/applets/Lattice/CHANGELOG wims-4.17b+svn13454~dfsg2/wims/src/Misc/applets/Lattice/CHANGELOG
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/applets/Lattice/CHANGELOG	2011-10-13 07:58:01.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/applets/Lattice/CHANGELOG	1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-13/10/2011
-build.xml: will not copy *.html / *.lat to "~/public_html/java/Lattice"
-
-12/10/2011  
-Moved sources to src/Misc/applets/Lattice ; uniform build
-Backward compatibility by copying (see build.xml) the *.class files into ~/public_html/java/Lattice
-
-Future applet usage: use the "Lattice.jar" instead of "*.class"
-    
-LatticeViewer.java
- Date :       18th Feb 1998	
- Adapted by : Simon P.A.Gill
- http://www.le.ac.uk/engineering/spg3/lattice/
- The following java code is an adaptation of the Molecule Viewer XYZApp.java
- freely distributed by Sun Microsystems. The conditions stated below apply
- to this code. S.P.A. Gill takes no responsibility for this code. 
- Requires class Matrix3D.java (also from Sun at
- http://www.javasoft.com:80/applets/js-applets.html)
\ Pas de fin de ligne à la fin du fichier
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/applets/Lattice/diamond.lat wims-4.17b+svn13454~dfsg2/wims/src/Misc/applets/Lattice/diamond.lat
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/applets/Lattice/diamond.lat	2011-10-12 21:23:27.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/applets/Lattice/diamond.lat	1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-ATOM C 255 0 0 1.0
-ATOM X 0 0 0 0.0
-c 0 0 0 2
-c 0.985977 0.985977 0.985977 3 7
-c 0 1.97195 1.97195 4
-c 0.985977 2.95792 2.95792 9 12
-c 1.97195 0 1.97195 2 6
-c 2.95792 0.985977 2.95792 10 13
-c 1.97195 1.97195 0 8
-c 2.95792 2.95792 0.985977 9 11
-c 1.97195 3.94389 1.97195
-c 3.94389 1.97195 1.97195 8
-c 3.94389 3.94389 0
-c 0 3.94389 3.94389
-c 1.97195 1.97195 3.94389 4
-c 3.94389 0 3.94389 6
-x 0 0 3.94389
-x 3.94389 0 0
-x 0 3.94389 0
-x 3.94389 3.94389 3.94389
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/applets/Lattice/lattice.html wims-4.17b+svn13454~dfsg2/wims/src/Misc/applets/Lattice/lattice.html
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/applets/Lattice/lattice.html	2011-10-12 21:23:27.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/applets/Lattice/lattice.html	1970-01-01 01:00:00.000000000 +0100
@@ -1,45 +0,0 @@
-<html>
-<title>Crystal Atomic Lattice Viewer</title>
-<BODY bgcolor="#ffffff">
-<center><h1>Crystal Atomic Lattice Viewer</h1></center>
-<p>
-<center>If your browser supports Java you should be able to
-rotate these structures using your mouse!!</center>
-<p>
-<hr>
-<p>
-<center>
-<h2>Diamond</h2>
-<td align=center>
-<h2>Buckminsterfullerene</h2>
-<tr>
-<td align=center>
-<applet code=LatticeViewer.class width=250 height=250>
-<param name=model    value=diamond.lat>
-<param name=label    value=false>
-<param name=scale    value=0.8>
-<param name=box      value=false>
-<param name=bonds    value=true>
-<param name=bgcolor  value="ffffff">
-<param name=bondcolor value="000000">
-<img src="diamond.gif">
-</applet>
-</center>
-<p>
-<hr>
-<p>
-The above Java applets have been developed by 
-<a href="http://www.le.ac.uk/eg/spg3/spg3.html";>Simon Gill</a> from Sun
-Microsystems <a href="http://www.javasoft.com:80/applets/js-applets.html";>
-Molecule Viewer</a>. Copyright restrictions and instructions on how to use this 
-<b>freely available applet</b> are in the source code
-<a href="http://www.le.ac.uk/eg/spg3/lattice/LatticeViewer.java";>LatticeViewer.java</a>
-which also requires 
-<a href="http://www.le.ac.uk/eg/spg3/lattice/Matrix3D.java";>Matrix3D.java</a>. If you 
-do use this applet I would be pleased if you let me know.
-<p>
-The atomic positions of the following crystal structures were obtained from the
-<a href="http://cst-www.nrl.navy.mil/lattice/";>Complex Systems Theory</a> branch of the
-US Navy.
-</body>
-</html>
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/applets/Lattice/src/LatticeViewer.java wims-4.17b+svn13454~dfsg2/wims/src/Misc/applets/Lattice/src/LatticeViewer.java
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/applets/Lattice/src/LatticeViewer.java	2011-11-01 22:02:13.000000000 +0100
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/applets/Lattice/src/LatticeViewer.java	1970-01-01 01:00:00.000000000 +0100
@@ -1,694 +0,0 @@
-/*
- * LatticeViewer.java	
- * Date :       18th Feb 1998	
- * Adapted by : Simon P.A.Gill
- * WWW :	http://www.le.ac.uk/engineering/spg3/lattice/
- * 
- * The following java code is an adaptation of the Molecule Viewer XYZApp.java
- * freely distributed by Sun Microsystems. The conditions stated below apply
- * to this code. S.P.A. Gill takes no responsibility for this code. 
- * Requires class Matrix3D.java (also from Sun at
- * http://www.javasoft.com:80/applets/js-applets.html)
- *
- *****************************************************************************
- *
- * @(#)XYZApp.java	1.3 96/12/06
- *
- * Copyright (c) 1994-1996 Sun Microsystems, Inc. All Rights Reserved.
- *
- * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
- * modify and redistribute this software in source and binary code form,
- * provided that i) this copyright notice and license appear on all copies of
- * the software; and ii) Licensee does not utilize the software in a manner
- * which is disparaging to Sun.
- *
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
- * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
- * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
- * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
- * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
- * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
- * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
- * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * This software is not designed or intended for use in on-line control of
- * aircraft, air traffic, aircraft navigation or aircraft communications; or in
- * the design, construction, operation or maintenance of any nuclear
- * facility. Licensee represents and warrants that it will not use or
- * redistribute the Software for such purposes.
- */
-
-/*
- * Initially a set of classes to parse, represent and display Chemical compounds
- * in .xyz format (see http://chem.leeds.ac.uk/Project/MIME.html). Now adapted
- * to also display interatomic bonds, allow the user to define the atomic radii
- * and colour of the atoms and define other lines in the display (such as the
- * unit cell). This code will still display .xyz files but all the atoms will
- * look the same (the default atom size and colour) unless they are defined
- * in the .xyz file. A .xyz file in which the bond locations and atom colours and
- * sizes have been defined have been distinguished by the .lat extension
- *
- * FILE FORMAT :
- *
- * The file format is based around the standard .xyz file which defines the 
- * position in space of the atoms in the lattice
- * (see http://cst-www.nrl.navy.mil/lattice/ for details and many examples).
- * Any comments must be removed. Each atom type must be defined. 
- * The following line defines an atom by its name (C), its RGB colour (red=255,
- * green=0, blue=0) and relative size (default=1.0, minimum=0.0 maximum=2.0)
- *
- *	ATOM  C  255  0  0  1.0 
- *
- * The position and bonds of the atom are defined as follows :
- * 
- *  	C  0.0  1.0  0.0  3  6  8
- *
- * This places a carbon (C) atom at the co-ordinates (0.0,1.0,0.0) and says that
- * bonds exist between it and the 3rd, 6th and 8th atoms in the list of atoms.
- * An atom can have an unlimited number of bonds, the only restriction is that
- * the total is less than 300 (unless the array size of bonds[] is increased.
- * NOTE - any atom defined with a size of 0.0 (eg ATOM X 0 0 0 0.0) can be used
- * to define the location of a position in space without an atom being placed
- * there. Any bonds between such points are known as the BOX (as these have
- * been used here to define the unit cell of a lattice) and are only displayed
- * if parameter box has value=true (see below).
- *
- * APPLET OPTIONS :
- *
- * PARAM = model	VALUE = filename
- * PARAM = label	VALUE = true/false	- labels atoms with their
- *						  numerical position in the list.
- *						  Very useful when defining bond
- *						  positions (default = false)
- * PARAM = scale	VALUE = float		- size of lattice in applet (default=1.0)
- * PARAM = box		VALUE = true/false	- the box concept is defined above.
- *						  Only displayed if TRUE (default=false)
- * PARAM = bonds	VALUE = true/false	- display interatomic bonds if true (default=false).
- * PARAM = bgcolor	VALUE = RGB colour	- background colour (default=lightGrey)
- * PARAM = bondcolor	VALUE = RGB colour	- bond colour (default=black)
- * PARAM = boxcolor	VALUE = RGB colour 	- colour of box bonds (default=red)
- * 
- * NOTE - it has been found that this applet runs significantly better under Sun's 
- * appletviewer than on Netscape (especially when viewing complex structures)
- */
-
-import java.applet.Applet;
-import java.awt.Image;
-import java.awt.Event;
-import java.awt.Graphics;
-import java.awt.Dimension;
-import java.awt.Color;
-import java.io.StreamTokenizer;
-import java.io.InputStream;
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.Hashtable;
-import java.awt.image.IndexColorModel;
-import java.awt.image.ColorModel;
-import java.awt.image.MemoryImageSource;
-
-
-/** The representation of a Chemical .xyz or Atomic Lattice (.lat) model */
-class XYZLatModel {
-    float vert[];
-    ScaleableAtom atoms[];
-    int tvert[];
-    int ZsortMap[];
-    int nvert, maxvert;
-    int bond[][] = new int[800][2];
-    int nbond = -1;
-    boolean box;
-    boolean label;
-    boolean bonds;
-    int br, bg, bb;	// RGB of bonds
-    int gr, gg, gb;	// RGB of background
-    int xr, xg, xb;	// RGB of box
-
-    static Hashtable atomTable;
-    static ScaleableAtom defaultAtom;
-
-    boolean transformed;
-    Matrix3D mat;
-
-    float xmin, xmax, ymin, ymax, zmin, zmax;
-
-
-    XYZLatModel () {
-	mat = new Matrix3D();
-	mat.xrot(20);
-	mat.yrot(30);
-    }
-
-
-    /** Create a Chemical model by parsing an input stream */
-    XYZLatModel (InputStream is, boolean labl, boolean bx, boolean bnds, Color bgcolor, Color bndcolor, Color bxcolor) throws Exception
-    {
-       this();
-       StreamTokenizer st;
-       st = new StreamTokenizer(new BufferedInputStream(is, 4000));
-       st.eolIsSignificant(true);
-       st.commentChar('#');
-       int slot = 0;
-      
-       this.label=labl;
-       this.box=bx;
-       this.bonds=bnds;
-       this.br=bndcolor.getRed();
-       this.bg=bndcolor.getGreen();
-       this.bb=bndcolor.getBlue();
-       this.gr=bgcolor.getRed();
-       this.gg=bgcolor.getGreen();
-       this.gb=bgcolor.getBlue();
-       this.xr=bxcolor.getRed();
-       this.xg=bxcolor.getGreen();
-       this.xb=bxcolor.getBlue();
-       atomTable = new Hashtable();
-       defaultAtom = new ScaleableAtom(255, 100, 200, 1.0);
-       try
-       {
-scan:
-          while (true)
-          {
-             switch ( st.nextToken() ) 
-             {
-                case StreamTokenizer.TT_EOF:
-                   break scan;
-                default:
-                   break;
-                case StreamTokenizer.TT_WORD:
-                   // get atom type
-                   String name = st.sval;
-                   if (name.equals("ATOM")) {
-                       // get name, RGB colour and size
-                       int r=255, g=255, b=255;
-                       double s=1.0;
-                       if (st.nextToken() == StreamTokenizer.TT_WORD) 
-                       {
-                           name=st.sval;
-                           if (st.nextToken() == StreamTokenizer.TT_NUMBER) 
-                           {
-                              r = (int)st.nval;
-                              if (st.nextToken() == StreamTokenizer.TT_NUMBER) 
-                              {
-                                 g = (int)st.nval;
-                                 if (st.nextToken() == StreamTokenizer.TT_NUMBER)
-                                 {
-                                     b =(int)st.nval;
-                                     if (st.nextToken() == StreamTokenizer.TT_NUMBER)
-                                         s = (double)st.nval;
-                                 }
-                              }
-                           }
-                       }
-                       if (s>=2.0) s=2.0;
-                       if (s<0.0) s=1.0;
-	               atomTable.put(name.toLowerCase(), new ScaleableAtom(r, g, b, s));
-                   } else {
-                       // get position
-                       double x = 0, y = 0, z = 0;
-                       if (st.nextToken() == StreamTokenizer.TT_NUMBER) 
-                       {
-                          x = st.nval;
-                          if (st.nextToken() == StreamTokenizer.TT_NUMBER) 
-                          {
-                             y = st.nval;
-                             if (st.nextToken() == StreamTokenizer.TT_NUMBER)
-                                z = st.nval;
-                          }
-                       }
-                       addVert(name, (float) x, (float) y, (float) z);
-                       // get connectivities
-                       while (st.nextToken() == StreamTokenizer.TT_NUMBER)
-                       {
-                         nbond++;
-                         bond[nbond][0]=nvert;
-                         bond[nbond][1]=(int)st.nval;
-                       }
-                   }
-                   while( st.ttype != StreamTokenizer.TT_EOL &&
-                          st.ttype != StreamTokenizer.TT_EOF )
-                   st.nextToken();
-
-             }   // end Switch
-
-          }  // end while
-
-          is.close();
-
-       }  // end Try
-       catch( IOException e) {}
-
-       if (st.ttype != StreamTokenizer.TT_EOF)
-          throw new Exception(st.toString());
-
-    }  // end XYZLatModel()
-
-
-    /** Add a vertex to this model */
-    int addVert(String name, float x, float y, float z) {
-	int i = nvert;
-	if (i >= maxvert)
-	    if (vert == null) {
-		maxvert = 100;
-		vert = new float[maxvert * 3];
-		atoms = new ScaleableAtom[maxvert];
-	    } else {
-		maxvert *= 2;
-		float nv[] = new float[maxvert * 3];
-		System.arraycopy(vert, 0, nv, 0, vert.length);
-		vert = nv;
-		ScaleableAtom na[] = new ScaleableAtom[maxvert];
-		System.arraycopy(atoms, 0, na, 0, atoms.length);
-		atoms = na;
-	    }
-	ScaleableAtom a = (ScaleableAtom) atomTable.get(name.toLowerCase());
-	if (a == null) a = defaultAtom;
-	atoms[i] = a;
-	i *= 3;
-	vert[i] = x;
-	vert[i + 1] = y;
-	vert[i + 2] = z;
-	return nvert++;
-    }
-
-    /** Transform all the points in this model */
-    void transform() {
-	if (transformed || nvert <= 0)
-	    return;
-	if (tvert == null || tvert.length < nvert * 3)
-	    tvert = new int[nvert * 3];
-	mat.transform(vert, tvert, nvert);
-	transformed = true;
-    }
-
-
-    /** Paint this model to a graphics context.  It uses the matrix associated
-	with this model to map from model space to screen space.
-	The next version of the browser should have double buffering,
-	which will make this *much* nicer */
-    void paint(Graphics g) {
-	if (vert == null || nvert <= 0)
-	    return;
-	transform();
-	int v[] = tvert;
-	int zs[] = ZsortMap;
-	if (zs == null) {
-	    ZsortMap = zs = new int[nvert];
-	    for (int i = nvert; --i >= 0;)
-		zs[i] = i * 3;
-	}
-
-	/*
-	 * I use a bubble sort since from one iteration to the next, the sort
-	 * order is pretty stable, so I just use what I had last time as a
-	 * "guess" of the sorted order.  With luck, this reduces O(N log N)
-	 * to O(N)
-	 */
-
-	for (int i = nvert - 1; --i >= 0;) {
-	    boolean flipped = false;
-	    for (int j = 0; j <= i; j++) {
-		int a = zs[j];
-		int b = zs[j + 1];
-		if (v[a + 2] > v[b + 2]) {
-		    zs[j + 1] = a;
-		    zs[j] = b;
-		    flipped = true;
-		}
-	    }
-	    if (!flipped)
-		break;
-	}
-
-	int lg = 0;
-	int lim = nvert;
-	ScaleableAtom ls[] = atoms;
-        int drawn[] = new int[nbond+1];
-	if (lim <= 0 || nvert <= 0)
-	    return;
-	for (int i = 0; i < lim; i++) {
-	    int j = zs[i];
-	    int grey = v[j + 2];
-	    if (grey < 0)
-		grey = 0;
-	    if (grey > 15)
-		grey = 15;
-
-            // draw bonds
-            int v1, v2;
-            boolean e = atoms[j/3].Exist();
-            v1=j/3+1;
-            if (((e)&&(bonds))||((!e)&&(box)))
-            {
-                for (int k=0; k<=nbond; k++)
-                {
-                    v2=-1;
-                    if (bond[k][0]==v1)
-                        v2=bond[k][1]-1;
-                    if (bond[k][1]==v1)
-                        v2=bond[k][0]-1;
-                    if ((v2!=-1)&&(drawn[k]==0))
-                    {
-                        drawn[k]=1;
-                        double rr=(v[j+2]+v[v2*3+2]+6)/36.0;
-                        int r1,b1,g1;
-                        if (e) {
-                            r1=(int)(rr*(br-gr)+gr);
-                            b1=(int)(rr*(bb-gb)+gb);
-                            g1=(int)(rr*(bg-gg)+gg);
-                        } else {
-                            r1=(int)(rr*(xr-gr)+gr);
-                            b1=(int)(rr*(xb-gb)+gb);
-                            g1=(int)(rr*(xg-gg)+gg);
-                        }   
-                        Color line = new Color(r1,g1,b1);
-                        g.setColor(line);
-                        g.drawLine(v[j],v[j+1],v[v2*3],v[v2*3+1]);
-                    }
-                }
-            }
-            if (e)
-	        atoms[j/3].paint(g, v[j], v[j + 1], grey);
-            if (label) {
-                g.setColor(Color.black);
-	        g.drawString(String.valueOf(v1), v[j], v[j+1]); 
-            }
-	}
-    }
-
-    /** Find the bounding box of this model */
-    void findBB() {
-	if (nvert <= 0)
-	    return;
-	float v[] = vert;
-	float xmin = v[0], xmax = xmin;
-	float ymin = v[1], ymax = ymin;
-	float zmin = v[2], zmax = zmin;
-	for (int i = nvert * 3; (i -= 3) > 0;) {
-	    float x = v[i];
-	    if (x < xmin)
-		xmin = x;
-	    if (x > xmax)
-		xmax = x;
-	    float y = v[i + 1];
-	    if (y < ymin)
-		ymin = y;
-	    if (y > ymax)
-		ymax = y;
-	    float z = v[i + 2];
-	    if (z < zmin)
-		zmin = z;
-	    if (z > zmax)
-		zmax = z;
-	}
-	this.xmax = xmax;
-	this.xmin = xmin;
-	this.ymax = ymax;
-	this.ymin = ymin;
-	this.zmax = zmax;
-	this.zmin = zmin;
-    }
-}
-
-/** An applet to put a Chemical/Atomic Lattice model into a page */
-public class LatticeViewer extends Applet implements Runnable {
-    XYZLatModel md;
-    boolean painted = true;
-    float xfac;
-    int prevx, prevy;
-    float xtheta, ytheta;
-    float scalefudge = 1;
-    Matrix3D amat = new Matrix3D(), tmat = new Matrix3D();
-    String mdname = null;
-    String message = null;
-    boolean label = false;
-    boolean box = false;
-    boolean bonds = false;
-    Image backBuffer;
-    Graphics backGC;
-    Dimension backSize;
-    String param;
-    Color bgcolor, bondcolor, boxcolor;
-
-
-    private synchronized void newBackBuffer() {
-	backBuffer = createImage(size().width, size().height);
-	backGC = backBuffer.getGraphics();
-	backSize = size();
-    }
-
-    public void init() {
-	mdname = getParameter("model");
-	try {
-	    scalefudge = Float.valueOf(getParameter("scale")).floatValue();
-	} catch(Exception e) {
-	};
-	try {
-	    label = Boolean.valueOf(getParameter("label")).booleanValue();
-	} catch(Exception e) {
-	};
-	try {
-	    box = Boolean.valueOf(getParameter("box")).booleanValue();
-	} catch(Exception e) {
-	};
-	try {
-	    bonds = Boolean.valueOf(getParameter("bonds")).booleanValue();
-	} catch(Exception e) {
-	};
-	try {
-	    param = getParameter("bgcolor");
-	} catch(Exception e) {
-	};
-        try {
-	   Integer i = Integer.valueOf(param, 16);
-	   bgcolor = new Color(i.intValue());
-        } catch (NumberFormatException e) {
-	   bgcolor = Color.lightGray;
-        }
-	try {
-	    param = getParameter("bondcolor");
-	} catch(Exception e) {
-	};
-        try {
-	   Integer i = Integer.valueOf(param, 16);
-	   bondcolor = new Color(i.intValue());
-        } catch (NumberFormatException e) {
-	   bondcolor = Color.black;
-        };
-	try {
-	    param = getParameter("boxcolor");
-	} catch(Exception e) {
-	};
-        try {
-	   Integer i = Integer.valueOf(param, 16);
-	   boxcolor = new Color(i.intValue());
-        } catch (NumberFormatException e) {
-	   boxcolor = Color.red;
-        };
-	amat.yrot(20);
-	amat.xrot(20);
-	if (mdname == null)
-	    mdname = "model.obj";
-	resize(size().width <= 20 ? 400 : size().width,
-	       size().height <= 20 ? 400 : size().height);
-	newBackBuffer();
-    }
-    public void run() {
-	InputStream is = null;
-	try {
-	    Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
-	    is = new URL(getDocumentBase(), mdname).openStream();
-	    XYZLatModel m = new XYZLatModel (is, label, box, bonds, bgcolor, bondcolor, boxcolor);
-	    ScaleableAtom.setApplet(this);
-	    md = m;
-	    m.findBB();
-	    float xw = m.xmax - m.xmin;
-	    float yw = m.ymax - m.ymin;
-	    float zw = m.zmax - m.zmin;
-	    if (yw > xw)
-		xw = yw;
-	    if (zw > xw)
-		xw = zw;
-	    float f1 = size().width / xw;
-	    float f2 = size().height / xw;
-	    xfac = 0.7f * (f1 < f2 ? f1 : f2) * scalefudge;
-	} catch(Exception e) {
-	    e.printStackTrace();
-	    md = null;
-	    message = e.toString();
-	}
-	try {
-	    if (is != null)
-		is.close();
-	} catch(Exception e) {
-	}
-	repaint();
-    }
-    public void start() {
-	if (md == null && message == null)
-	    new Thread(this).start();
-    }
-    public void stop() {
-    }
-    public boolean mouseDown(Event e, int x, int y) {
-	prevx = x;
-	prevy = y;
-	return true;
-    }
-    public boolean mouseDrag(Event e, int x, int y) {
-	tmat.unit();
-	float xtheta = (prevy - y) * (360.0f / size().width);
-	float ytheta = (x - prevx) * (360.0f / size().height);
-	tmat.xrot(xtheta);
-	tmat.yrot(ytheta);
-	amat.mult(tmat);
-	if (painted) {
-	    painted = false;
-	    repaint();
-	}
-	prevx = x;
-	prevy = y;
-	return true;
-    }
-    public void update(Graphics g) {
-	if (backBuffer == null)
-	    g.clearRect(0, 0, size().width, size().height);
-	paint(g);
-    }
-
-    public void paint(Graphics g) {
-	if (md != null) {
-	    md.mat.unit();
-	    md.mat.translate(-(md.xmin + md.xmax) / 2,
-			     -(md.ymin + md.ymax) / 2,
-			     -(md.zmin + md.zmax) / 2);
-	    md.mat.mult(amat);
-	    // md.mat.scale(xfac, -xfac, 8 * xfac / size().width);
-	    md.mat.scale(xfac, -xfac, 16 * xfac / size().width);
-	    md.mat.translate(size().width / 2, size().height / 2, 8);
-	    md.transformed = false;
-	    if (backBuffer != null) {
-		if (!backSize.equals(size()))
-		    newBackBuffer();
-                setBackground(bgcolor);
-		backGC.setColor(bgcolor);
-		backGC.fillRect(0,0,size().width,size().height);
-		md.paint(backGC);
-		g.drawImage(backBuffer, 0, 0, this);
-	    }
-	    else
-		md.paint(g);
-	    setPainted();
-	} else if (message != null) {
-	    g.drawString("Error in model:", 3, 20);
-	    g.drawString(message, 10, 40);
-	}
-    }
-    private synchronized void setPainted() {
-	painted = true;
-	notifyAll();
-    }
-
-    private synchronized void waitPainted() 
-    {
-       while (!painted)
-       {
-          try
-          {
-             wait();
-          }
-          catch (InterruptedException e) {}
-       }
-       painted = false;
-    }
-}   // end class LatticeViewer
-
-class ScaleableAtom {
-    private static Applet applet;
-    private static byte[] data;
-    private final static int R = 40;
-    private final static int hx = 15;
-    private final static int hy = 15;
-    private final static int bgGrey = 192;
-    private static int maxr;
-
-    private int Rl;
-    private int Gl;
-    private int Bl;
-    private double Sf;
-
-    private Image balls[];
-
-    static {
-	data = new byte[R * 2 * R * 2];
-	int mr = 0;
-	for (int Y = 2 * R; --Y >= 0;) {
-	    int x0 = (int) (Math.sqrt(R * R - (Y - R) * (Y - R)) + 0.5);
-	    int p = Y * (R * 2) + R - x0;
-	    for (int X = -x0; X < x0; X++) {
-		int x = X + hx;
-		int y = Y - R + hy;
-		int r = (int) (Math.sqrt(x * x + y * y) + 0.5);
-		if (r > mr)
-		    mr = r;
-		data[p++] = r <= 0 ? 1 : (byte) r;
-	    }
-	}
-	maxr = mr;
-    }
-    static void setApplet(Applet app) {
-	applet = app;
-    }
-    ScaleableAtom(int Rl, int Gl, int Bl, double Sf) {
-	this.Rl = Rl;
-	this.Gl = Gl;
-	this.Bl = Bl;
-        this.Sf = Sf;
-    }
-    boolean Exist() {
-	if (Sf==0.0)
-            return false;
-        else
-            return true;
-    }
-    private final int blend(int fg, int bg, float fgfactor) {
-	return (int) (bg + (fg - bg) * fgfactor);
-    }
-    private void Setup(int nBalls) {
-	balls = new Image[nBalls];
-	byte red[] = new byte[256];
-	red[0] = (byte) bgGrey;
-	byte green[] = new byte[256];
-	green[0] = (byte) bgGrey;
-	byte blue[] = new byte[256];
-	blue[0] = (byte) bgGrey;
-	for (int r = 0; r < nBalls; r++) {
-	    float b = (float) (r+1) / nBalls;
-	    for (int i = maxr; i >= 1; --i) {
-		float d = (float) i / maxr;
-		red[i] = (byte) blend(blend(Rl, 255, d), bgGrey, b);
-		green[i] = (byte) blend(blend(Gl, 255, d), bgGrey, b);
-		blue[i] = (byte) blend(blend(Bl, 255, d), bgGrey, b);
-	    }
-	    IndexColorModel model = new IndexColorModel(8, maxr + 1,
-							red, green, blue, 0);
-	    balls[r] = applet.createImage(
-		new MemoryImageSource(R*2, R*2, model, data, 0, R*2));
-	}
-    }
-    void paint(Graphics gc, int x, int y, int r) {
-	Image ba[] = balls;
-	if (ba == null) {
-	    Setup((int)(16*Sf));
-	    ba = balls;
-	}
-        r=(int)(r*Sf);
-	Image i = ba[r];
-	int size = 10 + r;
-	gc.drawImage(i, x - (size >> 1), y - (size >> 1), size, size, applet);
-    }
-}
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/applets/Lattice/src/Matrix3D.java wims-4.17b+svn13454~dfsg2/wims/src/Misc/applets/Lattice/src/Matrix3D.java
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/applets/Lattice/src/Matrix3D.java	2011-10-12 21:23:27.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/applets/Lattice/src/Matrix3D.java	1970-01-01 01:00:00.000000000 +0100
@@ -1,225 +0,0 @@
-/*
- * @(#)Matrix3D.java	1.2 96/12/06
- *
- * Copyright (c) 1994-1996 Sun Microsystems, Inc. All Rights Reserved.
- *
- * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
- * modify and redistribute this software in source and binary code form,
- * provided that i) this copyright notice and license appear on all copies of
- * the software; and ii) Licensee does not utilize the software in a manner
- * which is disparaging to Sun.
- *
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
- * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
- * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
- * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
- * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
- * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
- * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
- * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * This software is not designed or intended for use in on-line control of
- * aircraft, air traffic, aircraft navigation or aircraft communications; or in
- * the design, construction, operation or maintenance of any nuclear
- * facility. Licensee represents and warrants that it will not use or
- * redistribute the Software for such purposes.
- */
-
-/** A fairly conventional 3D matrix object that can transform sets of
-    3D points and perform a variety of manipulations on the transform */
-class Matrix3D {
-    float xx, xy, xz, xo;
-    float yx, yy, yz, yo;
-    float zx, zy, zz, zo;
-    static final double pi = 3.14159265;
-    /** Create a new unit matrix */
-    Matrix3D () {
-	xx = 1.0f;
-	yy = 1.0f;
-	zz = 1.0f;
-    }
-    /** Scale by f in all dimensions */
-    void scale(float f) {
-	xx *= f;
-	xy *= f;
-	xz *= f;
-	xo *= f;
-	yx *= f;
-	yy *= f;
-	yz *= f;
-	yo *= f;
-	zx *= f;
-	zy *= f;
-	zz *= f;
-	zo *= f;
-    }
-    /** Scale along each axis independently */
-    void scale(float xf, float yf, float zf) {
-	xx *= xf;
-	xy *= xf;
-	xz *= xf;
-	xo *= xf;
-	yx *= yf;
-	yy *= yf;
-	yz *= yf;
-	yo *= yf;
-	zx *= zf;
-	zy *= zf;
-	zz *= zf;
-	zo *= zf;
-    }
-    /** Translate the origin */
-    void translate(float x, float y, float z) {
-	xo += x;
-	yo += y;
-	zo += z;
-    }
-    /** rotate theta degrees about the y axis */
-    void yrot(double theta) {
-	theta *= (pi / 180);
-	double ct = Math.cos(theta);
-	double st = Math.sin(theta);
-
-	float Nxx = (float) (xx * ct + zx * st);
-	float Nxy = (float) (xy * ct + zy * st);
-	float Nxz = (float) (xz * ct + zz * st);
-	float Nxo = (float) (xo * ct + zo * st);
-
-	float Nzx = (float) (zx * ct - xx * st);
-	float Nzy = (float) (zy * ct - xy * st);
-	float Nzz = (float) (zz * ct - xz * st);
-	float Nzo = (float) (zo * ct - xo * st);
-
-	xo = Nxo;
-	xx = Nxx;
-	xy = Nxy;
-	xz = Nxz;
-	zo = Nzo;
-	zx = Nzx;
-	zy = Nzy;
-	zz = Nzz;
-    }
-    /** rotate theta degrees about the x axis */
-    void xrot(double theta) {
-	theta *= (pi / 180);
-	double ct = Math.cos(theta);
-	double st = Math.sin(theta);
-
-	float Nyx = (float) (yx * ct + zx * st);
-	float Nyy = (float) (yy * ct + zy * st);
-	float Nyz = (float) (yz * ct + zz * st);
-	float Nyo = (float) (yo * ct + zo * st);
-
-	float Nzx = (float) (zx * ct - yx * st);
-	float Nzy = (float) (zy * ct - yy * st);
-	float Nzz = (float) (zz * ct - yz * st);
-	float Nzo = (float) (zo * ct - yo * st);
-
-	yo = Nyo;
-	yx = Nyx;
-	yy = Nyy;
-	yz = Nyz;
-	zo = Nzo;
-	zx = Nzx;
-	zy = Nzy;
-	zz = Nzz;
-    }
-    /** rotate theta degrees about the z axis */
-    void zrot(double theta) {
-	theta *= (pi / 180);
-	double ct = Math.cos(theta);
-	double st = Math.sin(theta);
-
-	float Nyx = (float) (yx * ct + xx * st);
-	float Nyy = (float) (yy * ct + xy * st);
-	float Nyz = (float) (yz * ct + xz * st);
-	float Nyo = (float) (yo * ct + xo * st);
-
-	float Nxx = (float) (xx * ct - yx * st);
-	float Nxy = (float) (xy * ct - yy * st);
-	float Nxz = (float) (xz * ct - yz * st);
-	float Nxo = (float) (xo * ct - yo * st);
-
-	yo = Nyo;
-	yx = Nyx;
-	yy = Nyy;
-	yz = Nyz;
-	xo = Nxo;
-	xx = Nxx;
-	xy = Nxy;
-	xz = Nxz;
-    }
-    /** Multiply this matrix by a second: M = M*R */
-    void mult(Matrix3D rhs) {
-	float lxx = xx * rhs.xx + yx * rhs.xy + zx * rhs.xz;
-	float lxy = xy * rhs.xx + yy * rhs.xy + zy * rhs.xz;
-	float lxz = xz * rhs.xx + yz * rhs.xy + zz * rhs.xz;
-	float lxo = xo * rhs.xx + yo * rhs.xy + zo * rhs.xz + rhs.xo;
-
-	float lyx = xx * rhs.yx + yx * rhs.yy + zx * rhs.yz;
-	float lyy = xy * rhs.yx + yy * rhs.yy + zy * rhs.yz;
-	float lyz = xz * rhs.yx + yz * rhs.yy + zz * rhs.yz;
-	float lyo = xo * rhs.yx + yo * rhs.yy + zo * rhs.yz + rhs.yo;
-
-	float lzx = xx * rhs.zx + yx * rhs.zy + zx * rhs.zz;
-	float lzy = xy * rhs.zx + yy * rhs.zy + zy * rhs.zz;
-	float lzz = xz * rhs.zx + yz * rhs.zy + zz * rhs.zz;
-	float lzo = xo * rhs.zx + yo * rhs.zy + zo * rhs.zz + rhs.zo;
-
-	xx = lxx;
-	xy = lxy;
-	xz = lxz;
-	xo = lxo;
-
-	yx = lyx;
-	yy = lyy;
-	yz = lyz;
-	yo = lyo;
-
-	zx = lzx;
-	zy = lzy;
-	zz = lzz;
-	zo = lzo;
-    }
-
-    /** Reinitialize to the unit matrix */
-    void unit() {
-	xo = 0;
-	xx = 1;
-	xy = 0;
-	xz = 0;
-	yo = 0;
-	yx = 0;
-	yy = 1;
-	yz = 0;
-	zo = 0;
-	zx = 0;
-	zy = 0;
-	zz = 1;
-    }
-    /** Transform nvert points from v into tv.  v contains the input
-        coordinates in floating point.  Three successive entries in
-	the array constitute a point.  tv ends up holding the transformed
-	points as integers; three successive entries per point */
-    void transform(float v[], int tv[], int nvert) {
-	float lxx = xx, lxy = xy, lxz = xz, lxo = xo;
-	float lyx = yx, lyy = yy, lyz = yz, lyo = yo;
-	float lzx = zx, lzy = zy, lzz = zz, lzo = zo;
-	for (int i = nvert * 3; (i -= 3) >= 0;) {
-	    float x = v[i];
-	    float y = v[i + 1];
-	    float z = v[i + 2];
-	    tv[i    ] = (int) (x * lxx + y * lxy + z * lxz + lxo);
-	    tv[i + 1] = (int) (x * lyx + y * lyy + z * lyz + lyo);
-	    tv[i + 2] = (int) (x * lzx + y * lzy + z * lzz + lzo);
-	}
-    }
-    public String toString() {
-	return ("[" + xo + "," + xx + "," + xy + "," + xz + ";"
-		+ yo + "," + yx + "," + yy + "," + yz + ";"
-		+ zo + "," + zx + "," + zy + "," + zz + "]");
-    }
-}
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/changelog wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/changelog
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/changelog	2008-05-28 20:38:25.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/changelog	1970-01-01 01:00:00.000000000 +0100
@@ -1,245 +0,0 @@
-chemeq (2.8-1) unstable; urgency=low
-
-  * Modified the package to make it non-native, because it can be used 
-    outside Debian.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Wed, 05 Dec 2007 21:40:36 +0100
-
-chemeq (2.7) unstable; urgency=low
-
-  * fixed one bug with the option -wl: the output contained sequences
-    like "\," and Wims considers le commas like list separators.
-  * added an automatic update of the version number (for Debian 
-    packages).
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 18 Nov 2007 02:00:33 +0100
-
-chemeq (2.6) unstable; urgency=low
-
-  * fixed some bugs with the option -w
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sat, 17 Nov 2007 23:18:03 +0100
-
-chemeq (2.5) unstable; urgency=low
-
-  * implemented the support of an output for WIMS with the option -w or 
-    -wl
-
- -- Georges Khaznadar <georgesk@ofset.org>  Fri, 16 Nov 2007 09:15:31 +0100
-
-chemeq (2.4) unstable; urgency=low
-
-  * applied Thiemo Seufer's patch, Closes: #451049.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Wed, 14 Nov 2007 12:35:44 +0100
-
-chemeq (2.3) unstable; urgency=low
-
-  * modified the management of standard potentials and equilibrium 
-    constants upon multiplication : an undefined constant must lead
-    to an undefined result.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 16 Sep 2007 17:53:33 +0200
-
-chemeq (2.2) unstable; urgency=low
-
-  * added a new multiplicative operator, to be able to multiply every
-    coefficients of each reactive or product of an equation of reaction
-    at the same time.
-  * added some tests into the suite to account for this new feature.
-  * removed a --strip option in the Makefile.
-    Closes: #436622
-  * modified the format of the outputs when LaTeX notations are
-    involved. For example 3.2e-12 now gives 3.2\times 10^{-12}.
-  * Fixed a buggy test item with the direct composition of equations
-    (# operator), adapted test items according to the modification for
-    LaTeX outputs.
-  * Implemented the calculus of equilibrium constants and standard
-    potentials throughout the possible combinations of chemical
-    equations, by multiplying, adding, and substracting them with the
-    operators *, # and ~.
-  * recoded the files to utf-8.
-  * updated the scripts chemreport, so the test suite is correctly
-    formatted with LaTeX.
-  * fixed a bug for negative standard potential. There stil remains a
-    documented bug, due to the fact that the syntax -{int} means an
-    electric charge.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 26 Aug 2007 21:35:39 +0200
-
-chemeq (2.1) unstable; urgency=low
-
-  * added a better simplification behavior: now H2 + H2 is resolved as
-    2H2 for example.
-  * updated the test suite and made it utf-8 compliant.
-  * Major feature enhancement: added new binary operators, # to add two 
-    chemical equations, and ~ to make a substraction between two chemical 
-    equations.
-  * added two tests into the suite to account for this new feature.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Fri, 01 Jun 2007 00:35:59 +0200
-
-chemeq (1.13) unstable; urgency=low
-
-  * made some modifications to fix compilation bugs with gcc-4.3
-    Closes: Bug#417131
-
- -- Georges Khaznadar <georgesk@ofset.org>  Tue,  3 Apr 2007 19:51:22 +0200
-
-chemeq (1.12) unstable; urgency=low
-
-  * modified the behaviour with -C : now the charge count is displaied
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 11 Mar 2007 12:49:31 +0100
-
-chemeq (1.11) unstable; urgency=low
-
-  * fixed an error for the option -C with atom groups; for example
-    B(OH)3 yelded something like B(OH)3|B:1*1 (O:1*1 H:1*1)3 which
-    has little sense. Now it yelds B(OH)3|B:1*1 O:1*3 H:1*3, which
-    would be the same than parsing BO3H3.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sat, 10 Mar 2007 22:00:17 +0100
-
-chemeq (1.10) unstable; urgency=low
-
-  * fixed two stupid errors in operators '&' and '-' for the Membre object:
-    their return value were undefined!
-    Now there is no more segmentation error when the normalisation is done.
-  * added a new feature, bound to the option -C (detailed count) :
-    it prints a detailed count of molecules and atoms in each member
-    of the equation. This count can be used by other programs.
-  * added similar features (options -e and -s), which are simpler than
-    the option -C: they just print respectively the electric charges,
-    and the chemical species.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Fri, 23 Feb 2007 11:54:22 +0100
-
-chemeq (1.9) unstable; urgency=low
-
-  * recompiled with a new version of flex (see 
-    http://www.debian.org/security/2006/dsa-1020)
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun,  2 Apr 2006 16:45:22 +0200
-
-chemeq (1.8) unstable; urgency=low
-
-  * added a feature: the normalised output (chemeq -n) makes simplifications
-    by substracting equivalent amounts of chemicals in both members of an
-    equation.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Thu, 16 Feb 2006 23:37:38 +0100
-
-chemeq (1.7) unstable; urgency=low
-
-  * added the environment variables prefixed with w_ to comply with Gang
-    Xiao's WIMS server.
-  * updated the manpage
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sat, 28 Jan 2006 23:37:03 +0100
-
-chemeq (1.6) unstable; urgency=low
-
-  * fixed issues about the environment variable chemeq_input
-  * updated the manpage
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sat, 28 Jan 2006 20:04:22 +0100
-
-chemeq (1.5) unstable; urgency=low
-
-  * recompilation to be consistent with the new libstdc++
-  * dropped the reference to g++-3.0
-
- -- Georges Khaznadar <georgesk@ofset.org>  Thu, 22 Dec 2005 20:38:40 +0100
-
-chemeq (1.4) unstable; urgency=low
-
-  * chemeq takes in account another environment variable, chemeq_input, which
-    may contain the input string for chemeq.
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sun, 27 Feb 2005 23:55:33 +0100
-
-chemeq (1.3) unstable; urgency=low
-
-  * now chemeq takes in account a parameter chemeq_option, which can be used
-    to pass the options "mMlcwnh"
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Wed, 26 Jan 2005 13:36:12 +0100
-
-chemeq (1.2-1) unstable; urgency=low
-
-  * added the -M switch; features molecular weights calculation
-  * corrected the references to endl (using std::endl instead)
-    closes: Bug#188906
-    other incorrect references to cin, cout and cerr are due to a bad
-    behavior of flex when used in c++ mode.
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Mon, 14 Apr 2003 12:04:35 +0200
-
-chemeq (1.1.0.3-8) unstable; urgency=low
-
-  * Rewritten the "closes"  assertion correctly
-    closes: Bug#176265
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sun,  2 Feb 2003 22:09:56 +0100
-
-chemeq (1.1.0.3-7) unstable; urgency=low
-
-  * modified the type of the "ch" varaible which is used to get the result
-    of the getopt() function, to int. So the condition -1 == ch can be
-    reached on every architecture.
-    Closes: #176265
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sat, 11 Jan 2003 18:45:29 +0100
-
-chemeq (1.1.0.3-6) unstable; urgency=low
-
-  * some fixes to comply with g++-3.2, thanks to Jeroen T. Vermeulen
-    Closes: #174962
-
- -- Georges Khaznadar <georgesk@gk.homelinux.org>  Sun,  5 Jan 2003 00:15:16 +0100
-
-chemeq (1.1.0.3-5) unstable; urgency=low
-
-  * chemeq is now compliant with g++-v3 and should build on all archs.
-    Closes: #146530
-
- -- Georges Khaznadar <georgesk@gk.homelinux.org>  Sun, 10 Nov 2002 22:00:10 +0100
-
-chemeq (1.1.0.3-4) unstable; urgency=low
-
-  * corrected build-depends according to last post about Bug#146552
-    gcc and g++ are no more in buid-depends.
-    Closes: #146530, #146552
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sun, 27 Oct 2002 11:22:05 +0100
-
-chemeq (1.1.0.3-3) unstable; urgency=low
-
-  * corrected a missing parenthesis in chemreport.pl (test suite)
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sun, 12 May 2002 15:53:36 +0200
-
-chemeq (1.1.0.3-2) unstable; urgency=low
-
-  * added build-depends : flex, bison, gcc, g++
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sat, 11 May 2002 19:06:01 +0200
-
-chemeq (1.1.0.3-1) unstable; urgency=low
-
-  * Integrated test suite
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sun, 05 May 2002 10:12:49 +0200
-
-chemeq (1.1.0.2-1) unstable; urgency=low
-
-  * Initial Release.
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Thu, 28 Apr 2002 22:50:45 +0200
-
-
-Local variables:
- mode: debian-changelog
-End:
-
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/chlg wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/chlg
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/chlg	2007-07-16 17:14:10.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/chlg	1970-01-01 01:00:00.000000000 +0100
@@ -1,27 +0,0 @@
-chemeq (1.1.0.3-4) stable; urgency=low
-
-  * corrected build-depends according to last post about Bug#146552
-    gcc and g++ are no more in buid-depends.
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Tue May 14 23:20:32 CEST 2002
-
-  * corrected a missing parenthesis in chemreport.pl (test suite)
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sun May 12 15:53:36 CEST 2002
-
-  * added build-depends : flex, bison, gcc, g++
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sat May 11 19:06:01 CEST 2002
-
-  * Integrated test suite
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sun May  5 10:12:49 CEST 2002
-
-  * Initial Release.
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Thu, 28 Apr 2002 22:50:45 +0200
-
-Local variables:
- mode: debian-changelog
-End:
-
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/compat wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/compat
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/compat	2007-07-16 17:14:10.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/compat	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-4
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/control wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/control
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/control	2007-07-16 17:14:10.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/control	1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-Source: chemeq
-Section: tex
-Priority: optional
-Maintainer: Georges Khaznadar <georgesk@ofset.org>
-Build-Depends: flex (>= 2.5.31-1), bison, debhelper (>= 4.0.0)
-Standards-Version: 3.7.2
-
-Package: chemeq
-Architecture: any
-Depends: ${shlibs:Depends}
-Suggests: tetex-bin, wims
-Description: Parser for chemical formula and equilibria
- chemeq is a basic standalone filter written in C language,
- flex and bison. It inputs strings like:
-  2H2 + O2 ---> 2 H2O
- then it outputs LaTeX code and messages about the equilibrium of a
- chemical reaction.
- .
-  example:~/src$ echo "2H2 + O2 ---> 2 H2O" | chemeq -lc
-  2\,H_{2}\,+\,O_{2}\,\rightarrow\,2\,H_{2}O
-  OK
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/copyright wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/copyright
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/copyright	2007-07-16 17:14:10.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/copyright	1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-This package was debianized by Georges Khaznadar <gekhajofour@netinfo.fr> on
-Thu, 28 Apr 2002 22:50:45 +0200.
-
-It was downloaded from ftp://boltz.univ-littoral.fr/pub/chemeq
-
-Upstream Author: Georges Khaznadar <gekhajofour@netinfo.fr>
-
-Since version 1.2 :
-Atomic data from gperiodic, authored by Kyle Burton <mortis@voicent.com>,
- downloaded from http://gperiodic.seul.org/
-
-Copyright:
-
-This software is copyright (c) 2000-02 by Georges Khaznadar
-
-You are free to distribute this software under the terms of
-the GNU General Public License.
-On Debian systems, the complete text of the GNU General Public
-License can be found in /usr/share/common-licenses/GPL file.
-
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/docs wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/docs
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/docs	2007-07-16 17:14:10.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/docs	1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-README
-LISEZMOI
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/README.debian wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/README.debian
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/README.debian	2007-07-16 17:14:10.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/README.debian	1970-01-01 01:00:00.000000000 +0100
@@ -1,10 +0,0 @@
-Running the test suite for chemeq :
-
-$ cd /usr/share/doc/chemeq/tests
-$ sh chemtest
-$ sh chemreport
-
-chemtest should report several OK statements
-
-chemreport should output a DVI file. chemreport relies on LaTeX 
-being installed.
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/rules wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/rules
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/rules	2008-05-28 20:38:25.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/rules	1970-01-01 01:00:00.000000000 +0100
@@ -1,92 +0,0 @@
-#!/usr/bin/make -f
-# Sample debian/rules that uses debhelper.
-# GNU copyright 1997 to 1999 by Joey Hess.
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
-	CFLAGS += -g
-endif
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-	INSTALL_PROGRAM += -s
-endif
-
-configure: configure-stamp
-configure-stamp:
-	dh_testdir
-	# Add here commands to configure the package.
-	version=$$(basename $$(pwd)| sed 's/chemeq-//'); \
-	sed "s/VERSION.*/VERSION \"$${version}\"/" src/chemeq.h > src/chemeq.h.tmp && \
-	mv src/chemeq.h.tmp src/chemeq.h
-
-	touch configure-stamp
-
-
-build: build-stamp
-
-build-stamp: configure-stamp 
-	dh_testdir
-
-	# Add here commands to compile the package.
-	$(MAKE)
-	#/usr/bin/docbook-to-man debian/chemeq.sgml > chemeq.1
-
-	touch build-stamp
-
-clean:
-	dh_testdir
-	dh_testroot
-	rm -f build-stamp configure-stamp
-
-	# Add here commands to clean up after the build process.
-	$(MAKE) clean
-
-	dh_clean
-
-install: build
-	dh_testdir
-	dh_testroot
-	dh_clean -k
-	dh_installdirs
-
-	# Add here commands to install the package into debian/chemeq.
-	$(MAKE) install DESTDIR=$(CURDIR)/debian/chemeq
-
-
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
-	dh_testdir
-	dh_testroot
-#	dh_installdebconf	
-	dh_installdocs
-	dh_installexamples
-	dh_installmenu
-#	dh_installlogrotate
-#	dh_installemacsen
-#	dh_installpam
-#	dh_installmime
-#	dh_installinit
-	dh_installcron
-	dh_installman
-	dh_installinfo
-#	dh_undocumented
-	dh_installchangelogs 
-	dh_link
-	dh_strip
-	dh_compress
-	dh_fixperms
-#	dh_makeshlibs
-	dh_installdeb
-#	dh_perl
-	dh_shlibdeps
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/semantic.cache wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/semantic.cache
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/chemeq/debian/semantic.cache	2007-07-16 17:14:10.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/chemeq/debian/semantic.cache	1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-;; Object debian/
-;; SEMANTICDB Tags save file
-(semanticdb-project-database-file "debian/"
-  :tables (list 
-   (semanticdb-table "rules"
-    :major-mode 'makefile-mode
-    :tags '(("configure" function (:arguments ("configure-stamp")) nil [322 364]) ("configure-stamp" function nil nil [349 426]) ("build" function (:arguments ("build-stamp")) nil [451 471]) ("build-stamp" function (:arguments ("configure-stamp")) nil [471 514]) ("clean" function nil nil [645 713]) ("install" function (:arguments ("build")) nil [799 869]) ("binary-indep" function (:arguments ("build" "install")) nil [1029 1093]) ("binary-arch" function (:arguments ("build" "install")) nil [1137 1210]) ("binary" function (:arguments ("binary-indep" "binary-arch")) nil [1583 1622]))
-    :file "rules"
-    :pointmax 1686
-    )
-   )
-  :file "semantic.cache"
-  :semantic-tag-version "2.0pre3"
-  :semanticdb-version "2.0pre3"
-  )
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/changelog wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/changelog
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/changelog	2018-04-20 23:22:40.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/changelog	1970-01-01 01:00:00.000000000 +0100
@@ -1,325 +0,0 @@
-units-filter (3.9-1) unstable; urgency=medium
-
-  * new upstream release : more units recognized.
-  * dropped the build-dependency on sphinx stuff since the documentation
-    is build by upstream.
-
- -- Georges Khaznadar <georgesk@debian.org>  Fri, 20 Apr 2018 17:41:25 +0200
-
-units-filter (3.8-1) unstable; urgency=medium
-
-  * new upstream release, which changes the source of the documentation:
-    sphinx is used to generate both man pages and html docs.
-  * removed build-dependencies for xsltproc, added others for sphinx
-
- -- Georges Khaznadar <georgesk@debian.org>  Fri, 20 Apr 2018 15:50:46 +0200
-
-units-filter (3.7-4) unstable; urgency=medium
-
-  * added VCS stuff
-  * upgraded Standards-Version to 4.1.4, dh and compat to 10.
-
- -- Georges Khaznadar <georgesk@debian.org>  Fri, 20 Apr 2018 15:17:28 +0200
-
-units-filter (3.7-3) unstable; urgency=medium
-
-  * added a build-dependency on libfl-dev; Closes: #846453
-
- -- Georges Khaznadar <georgesk@debian.org>  Fri, 02 Dec 2016 20:14:23 +0100
-
-units-filter (3.7-2) unstable; urgency=medium
-
-  * dropped the dependency on hardening-wrapper. Closes: #836659
-  * upgraded Standards-Version to 3.9.8
-
- -- Georges Khaznadar <georgesk@debian.org>  Wed, 14 Sep 2016 15:50:13 +0200
-
-units-filter (3.7-1) unstable; urgency=medium
-
-  * rewrote the code to depend no longer on libmpfrc++-dev. 
-    + Created a Decimal class implementing few operations, based on libgmp
-    + Restored the dependency on libgmp-dev
-
- -- Georges Khaznadar <georgesk@debian.org>  Fri, 22 Aug 2014 16:22:10 +0200
-
-units-filter (3.6-1) unstable; urgency=medium
-
-  * improved the comments in src/unites.y; translated every comment in English.
-  * rewrote the code to use libmpfrc++ instead of libgmp3
-  * changed the build-dependencies accordingly
-  * upgraded Standards-Version to 3.9.5
-
- -- Georges Khaznadar <georgesk@debian.org>  Sat, 05 Apr 2014 18:23:09 +0200
-
-units-filter (3.5-3) unstable; urgency=low
-
-  * Modified my DEBEMAIL
-  * fixed a conversion not allowed by the last version of gcc. Closes:#707460
-  * updated Standards-Version and compat level
-  * fixed the Suggests: field in control file
-  * introduced hardening-wrapper in the rules and build-dependencies
-  * fixed src/unites.y: added a format string for printf
-  * fixed src/Makefile to take in account fortifying options in CXXFLAGS
-
- -- Georges Khaznadar <georgesk@debian.org>  Sun, 12 May 2013 19:52:37 +0200
-
-units-filter (3.5-2) unstable; urgency=low
-
-  * fixed typos in the manpage, thanks to A. Costa's patch.
-    Closes: #649228
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sat, 19 Nov 2011 14:00:30 +0100
-
-units-filter (3.5-1) unstable; urgency=low
-
-  * fixed a bug which appeared with data containing too much digits.
-  * added unitary tests for this feature
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sat, 27 Aug 2011 20:46:11 +0200
-
-units-filter (3.4-1) unstable; urgency=low
-
-  * fixed a bug about significative digit guessing when the option -s
-    is active and no explicite number of significatif digits is entered.
-  * added unitary tests for this feature
-
- -- Georges Khaznadar <georgesk@ofset.org>  Thu, 25 Aug 2011 15:38:18 +0200
-
-units-filter (3.3-3) unstable; urgency=low
-
-  * added missing ";" in unites.y, thanks to Bernadette RIOU's bugreport
-
- -- Georges Khaznadar <georgesk@ofset.org>  Thu, 18 Aug 2011 18:31:36 +0200
-
-units-filter (3.3-2) unstable; urgency=low
-
-  * modified src/Makefile, thanks to Ilya Barygin's patch.
-    Closes: #632567
-  * simplified the file debian/rules.
-  * switched to source format 3.0 (quilt).
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 03 Jul 2011 21:30:09 +0200
-
-units-filter (3.3-1) unstable; urgency=low
-
-  * introduced the type "decimal" which differs from "double" to get rid of
-    the false digitalization for non-integers. Removed any use of functions
-    which are based on the type "double". This should definitely close the
-    bugs related to significative digits.
-  * updated Standards-Version: 3.9.1 -> 3.9.2
-
- -- Georges Khaznadar <georgesk@ofset.org>  Fri, 24 Jun 2011 18:04:54 +0200
-
-units-filter (3.2-1) unstable; urgency=low
-
-  * added as a possibilty to replace the symbol "e" or "E" by "*10^" in
-    float representation of input numbers.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Wed, 02 Mar 2011 21:54:58 +0100
-
-units-filter (3.1-2) unstable; urgency=low
-
-  * modified the Makefile, now the invokation of flex can be used even with
-    older versions of flex.
-  * upgraded Standards-Version to 3.9.1
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 15 Aug 2010 20:19:50 +0200
-
-units-filter (3.1-1) unstable; urgency=low
-
-  * fixed a bug about the output with negative numbers
-  * fixed a bug about the output with zero numbers
-
- -- Georges Khaznadar <georgesk@ofset.org>  Thu, 10 Dec 2009 18:48:32 +0100
-
-units-filter (3.0-3) unstable; urgency=low
-
-  * updated lintian and fixed the warning about standards-version
-
- -- Georges Khaznadar <georgesk@ofset.org>  Thu, 29 Oct 2009 14:11:08 +0100
-
-units-filter (3.0-2) unstable; urgency=low
-
-  * fixed a bug which was not detected by the test suite: the written
-    output for numbers lesser than 1 was false. Integrated one new test
-    in the suite.
-  * modified the routine used to round the numbers. As many examples
-    made by teachers use integer data, and divisions by 2, rounding
-    numbers whose mantissa should be 0.5 is not unfrequent. 
-    Unfortunately computations with floats (for example with the
-    interpreter of Wims) often yelds unprecise results. This may cause
-    troublesome behaviors, when a mantissa which should be 0.5 is actually
-    0.4999999999999998 or so. Therefore, the routine used to round numbers
-    adds the fraction 1000000001/2000000000 before making a 
-    trucation.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 06 Sep 2009 16:30:16 +0200
-
-units-filter (3.0-1) unstable; urgency=low
-
-  * introduced multiprecision calculus, in order to avoid errors when 
-    doing truncations (for exemple when specifying the number of 
-    significant digits)
-  * recoded sources from latin1 to utf8
-
- -- Georges Khaznadar <georgesk@ofset.org>  Mon, 31 Aug 2009 11:31:43 +0200
-
-units-filter (2.9-7) unstable; urgency=low
-
-  * added a dependency on docbook-xsl, thanks to José L. Redrejo 
-    Rodríguez
-  * replaced some spaces by unbreakable spaces in debian/control
-    to get rid of a lintian warning about redundancy of the zeros.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Tue, 30 Jun 2009 11:40:29 +0200
-
-units-filter (2.9-6) unstable; urgency=low
-
-  * updated the compat level, fixed a typo in the file debian/control,
-    rewritten the manpage with docbook (xml)
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 28 Jun 2009 22:59:33 +0200
-
-units-filter (2.9-5) unstable; urgency=low
-
-  * modified unites.y and Makefile so it is possible to suppress the
-    support for UTF8.
-  * added the profiles of the functions trunc and round to avoid a 
-    warning from gcc and have these functione properly managed.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 15 Jun 2008 23:49:41 +0200
-
-units-filter (2.9-4) unstable; urgency=low
-
-  * fixed a segfault bug when the environment variable LC_ALL was not 
-    set.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 16 Dec 2007 20:18:00 +0100
-
-units-filter (2.9-3) unstable; urgency=low
-
-  * fixed the definition of eV : it is now a unit of energy (=1.6e-19 J)
-  * modified the routine to simplify the output of floating numbers.
-  * now the default behavior with the option -o is to display the unit
-    given in the input (if it exists).
-  * modified the test suite accordingly.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 16 Dec 2007 19:43:27 +0100
-
-units-filter (2.9-2) unstable; urgency=low
-
-  * fixed a nasty bug which made a segfault when some units were used
-
- -- Georges Khaznadar <georgesk@ofset.org>  Fri, 14 Dec 2007 11:24:07 +0100
-
-units-filter (2.9-1) unstable; urgency=low
-
-  * Modified the package to make it non-native, as it can be used
-    outside Debian.
-  * Added some code to take in account the necessary recoding of some
-    units for non-ASCII environments, like UTF-8
-
- -- Georges Khaznadar <georgesk@ofset.org>  Wed, 05 Dec 2007 21:54:55 +0100
-
-units-filter (2.8) unstable; urgency=low
-
-  * removed the option --strip from the Makefile.
-    Closes: 438234
-
- -- Georges Khaznadar <georgesk@ofset.org>  Fri, 24 Aug 2007 17:17:34 +0200
-
-units-filter (2.7) unstable; urgency=low
-
-  * modified the behavior with the option -o: when then output string 
-    contains e+00, the substring e+00 is erased.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 27 May 2007 17:03:57 +0200
-
-units-filter (2.6-1) unstable; urgency=low
-
-  * added a new feature, to consider physical quantities with a given
-    rate of relative precision: syntax <quantity>~percent, to mean a
-    physical quantity plus or minus percent % tolerance. The syntax
-    <quantity>+-percent% is also allowed, which adds some rentrance.
-  * added a new option switch, -l, to have an output in LaTeX language.
-
- -- Georges Khaznadar <georgesk@ofset.org>  Tue, 17 Oct 2006 19:41:28 +0200
-
-units-filter (2.5-1) unstable; urgency=low
-
-  * repackaged as a non-native package
-    Closes: #230993
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun, 25 Jun 2006 12:59:02 +0200
-
-units-filter (2.5) unstable; urgency=low
-
-  * allowed some spaces in the representation of real numbers. 
-  * fixed some issues with strncat in unites.y
-  * added a syntax for wanted units in the output string
-  * fixed a bug with non-SI units at a negative power
-  * fixed a bug with the unit h
-
- -- Georges Khaznadar <georgesk@ofset.org>  Thu, 15 Jun 2006 09:30:26 +0200
-
-units-filter (2.4) unstable; urgency=low
-
-  * recompiled with the new version of flex, see 
-    http://www.debian.org/security/2006/dsa-1020)
-
- -- Georges Khaznadar <georgesk@ofset.org>  Sun,  2 Apr 2006 16:49:55 +0200
-
-units-filter (2.3) unstable; urgency=low
-
-  * fixed the canonical output when some significative number of digits is
-    expected: an automatic rounding is made.
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sun,  5 Dec 2004 23:49:26 +0100
-
-units-filter (2.2) unstable; urgency=low
-
-  * added the possibility to pass an option via the environment as suggested
-    by Gang XIAO. 
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Mon, 29 Nov 2004 00:42:30 +0100
-
-units-filter (2.1) unstable; urgency=low
-
-  * added an option to output a simple canonical expression with basic units
-    of the International System.
-  * added support for usual units as N, J, W, etc.
-  * fixed a bug about numbers beginning with a '+' or '-' sign.
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sun, 21 Nov 2004 16:58:42 +0100
-
-units-filter (2.0) unstable; urgency=low
-
-  * added a syntax to express significative numbers : suffix "#n"
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sat, 20 Nov 2004 22:36:53 +0100
-
-units-filter (1.0-3) unstable; urgency=low
-
-  * removed hard dependance on libc6 without release number
-    Closes: #215949
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sun, 25 Jan 2004 19:23:07 +0100
-
-units-filter (1.0-2) unstable; urgency=low
-
-  * fixed a bug in debian/control : non-ascii character "Mu" is no more used. 
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Sun, 21 Sep 2003 01:54:38 +0200
-
-units-filter (1.0-1) unstable; urgency=low
-
-  * strcpy,strcat => strncpy, strncat : buffers should be secure.
-  * added "a" (are) unity (1 are = 100 m^2).
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Tue, 23 Jul 2002 19:30:05 +0200
-units-filter (0.9.7-1) unstable; urgency=low
-
-  * Initial Release.
-
- -- Georges Khaznadar <gekhajofour@netinfo.fr>  Tue, 30 Apr 2002 19:41:41 +0200
-
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/compat wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/compat
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/compat	2018-04-20 23:22:40.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/compat	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-10
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/control wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/control
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/control	2018-04-20 23:22:40.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/control	1970-01-01 01:00:00.000000000 +0100
@@ -1,30 +0,0 @@
-# -*- coding: utf-8 -*-
-Source: units-filter
-Section: science
-Priority: optional
-Maintainer: Georges Khaznadar <georgesk@debian.org>
-Build-Depends: debhelper (>> 10), flex, bison,
- libgmp-dev, libfl-dev,  librecode-dev
-Standards-Version: 4.1.4
-Vcs-Browser: https://salsa.debian.org/georgesk/units-filter
-Vcs-Git: https://salsa.debian.org/georgesk/units-filter.git
-
-Package: units-filter
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Suggests: wims
-Description: Parser for expressions concerning physical values
- Units-filter is a basic standalone filter written in C language,
- flex and bison. It inputs strings like "1.5e3 nN.m.s^-1" (it could
- be the time growth ratio of a torque) and outputs the value in
- standard SI unit, followed by the physical dimension of this value.
- .
-  example :~/src$ echo 1.5e3 nN.m.s^-1 | units-filter
-  1.5e-06   2   1  -3   0   0   0   0    0    0
- .
-                                   2     -3
-  which means : 1.5e-06 (SI unit) m .kg.s
- .
- This parser can be embedded in educational test systems, in order to
- analyze a student's answer to a problem of physics or chemistry.
-
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/copyright wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/copyright
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/copyright	2008-05-28 20:40:30.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/copyright	1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-This package was debianized by Georges Khaznadar <georgesk@ofset.org> on
-Tue, 30 Apr 2002 19:41:41 +0200.
-
-It was downloaded from ftp://boltz.univ-littoral.fr/pub/units-filter
-
-Upstream Author: Georges Khaznadar <gekhajofour@netinfo.fr>
-
-Copyright:
-
-This software is copyright (c) 2000-02 by Georges Khaznadar
-
-You are free to distribute this software under the terms of
-the GNU General Public License.
-On Debian systems, the complete text of the GNU General Public
-License can be found in /usr/share/common-licenses/GPL file.
-
-
-
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/docs wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/docs
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/docs	2007-07-16 17:14:10.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/docs	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-README LISEZMOI
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/rules wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/rules
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/rules	2018-04-20 23:22:40.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/rules	1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-#!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-export DEB_BUILD_HARDENING=1
-
-%:
-	dh $@ 
diff -Nru wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/source/format wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/source/format
--- wims-4.17b+svn13454~dfsg1/wims/src/Misc/units-filter/debian/source/format	2018-04-20 23:22:40.000000000 +0200
+++ wims-4.17b+svn13454~dfsg2/wims/src/Misc/units-filter/debian/source/format	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-3.0 (quilt)

Reply to: