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: