#6456: Upgrade cvxopt in sage from 0.9 to 1.1.2
--------------------------------+-------------------------------------------
   Reporter:  was               |       Owner:  mabshoff    
       Type:  defect            |      Status:  needs_review
   Priority:  major             |   Milestone:  sage-4.5.2  
  Component:  packages          |    Keywords:              
     Author:  schilly, dimpase  |    Upstream:  N/A         
   Reviewer:                    |      Merged:              
Work_issues:                    |  
--------------------------------+-------------------------------------------

Comment(by drkirkby):

 Looking in

 {{{
 cvxopt-1.1.2/src
 }}}

 I see

 {{{
 drwxr-xr-x   3 drkirkby staff          5 Mar 24 11:40 cvxopt-1.1.2
 lrwxrwxrwx   1 drkirkby staff         16 Jul 26 16:10 src ->
 cvxopt-1.1.2/src
 }}}

 It is certainly unusual to do this. Normally the top level src directory
 contains the source, not another directory with a link like this. I know
 of no other package like this.

 I'm also puzzled why we have this:

 {{{
 # Solaris-specific patches
 cp -p patches/sun_complex.h src/src/C/
 cp -p patches/cvxopt.h src/src/C/
 }}}

 There is no file {{{src/src/C/sun_complex.h}}} so the first line just
 creates copies the file {{{/usr/include/complex.h}}} from Solaris to the
 patches directory. That file is from Sun, and its doubtful we can legally
 distribute {{{/usr/include/complex.h}}}

 The second patch, patches/cvxopt.h differs from src/src/C/cvxopt.h by very
 little. A diff shows:

 {{{
 drkir...@hawk:~/sage-4.5.2.alpha0/spkg/optional/cvxopt-1.1.2$ diff -u
 src/src/C/cvxopt.h patches/cvxopt.h
 --- src/src/C/cvxopt.h  Mon Jul 26 11:16:09 2010
 +++ patches/cvxopt.h    Mon Jul 26 10:58:48 2010
 @@ -26,7 +26,14 @@
  /* ANSI99 complex is disabled during build of CHOLMOD */

  #ifndef NO_ANSI99_COMPLEX
 +
 +/* work around Solaris 10 specific problem in complex.h */
 +#if defined (__sun)
 +#include "sun_complex.h"
 +#else
  #include "complex.h"
 +#endif
 +
  #define MAT_BUFZ(O)  ((complex *)((matrix *)O)->buffer)
  #endif
 }}}

 If I'm not mistaken, all these two patches achieve is to

  * Add a file {{{/usr/include/complex.h}}} to Sage taken from Solaris,
 that it is doubtful we can legally include, though I doubt Sun (now
 Oracle) will complain.
  * Change a file {{{patches/cvxopt.h}}} to include the file we have just
 illegally copied.

 It would to me at least be a lot easier to just change the second file so
 it had

 {{{
 #ifdef if defined __sun /* Need to check if that's the best one */
 #include <complex.h>
 #endif
 }}}

 Why are we bothering to copy a system file from Solaris, rather than just
 not use {{{#include <complex.h>}}}?

 Dave

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6456#comment:39>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to