= CVXOPT =

== Description ==

CVXOPT is a free software package for convex optimization based on the
Python programming language. It can be used with the interactive
Python interpreter, on the command line by executing Python scripts,
or integrated in other software via Python extension modules. Its main
purpose is to make the development of software for convex optimization
applications straightforward by building on Python's extensive
standard library and on the strengths of Python as a high-level
programming language.

== Upstream Contact ==

 * J. Dahl <dahl.joachim@gmail.com>
 * L. Vandenberghe <vandenbe@ee.ucla.edu>

Downloaded from http://cvxopt.org

== License ==

GPLv3 or later. Includes parts under GPLv2,
GNU Lesser General Public License, v2.1.  See src/LICENSE for more details.
(Sage-compatible)

== Dependencies ==

 * GNU patch
 * GSL
 * GLPK

== Special Update/Build Instructions ==

 * cvxopt.h.patch: Fix building with GCC on Solaris.

 * setup.py.patch: look for libraries and includes in $SAGE_LOCAL
   instead of /usr.  Add fortran, blas,... libraries if needed.
   Build with GSL and GLPK support.

 * remove doc/html/, as it can be rebuild by invoking 'sage -sh' and
   running 'make html' in doc/

 * TODO: Add more tests in spkg-check

 * TODO: one might want to enhance the code to allow other Sage
   random sources, at the moment only GSL is used in CVXOPT-1.1.3
   spkg, apparently it will need an unclear to me "with seed(..)"
   construct.

== Changelog ==

=== cvxopt-1.1.8 (Dima Pasechnik, 10 Dec 2015) ===
 * #19687: upgrade to version 1.1.8.

=== cvxopt-1.1.7 (Dima Pasechnik, 24 Aug 2014) ===
 * #16874: upgrade to version 1.1.7.

=== cvxopt-1.1.6.p0 (Volker Braun, Jeroen Demeyer, 15 May 2013) ===
 * #12832: upgrade to version 1.1.6.
 * Remove undocumented patch changing int_t to int.
 * Fix BLAS_LIB_DIR on Cygwin and OS X.

=== cvxopt-1.1.5.p0 (Jean-Pierre Flori, 5 December 2012) ===
 * #13799: add back linking dependencies removed by #13160 and needed on Cygwin.

=== cvxopt-1.1.5 (François Bissey, 25 June 2012) ===
 * #13160: update to 1.1.5, drop dense.c patch as it is not needed anymore.
 * rewrite and simplify the patch for setup.py. Keep the necessary linking minimal.
 * First attempt at doc building

=== cvxopt-1.1.4.p1 (Jeroen Demeyer, 3 April 2012) ===
 * Trac #12011: edit cvxopt.h.patch to apply with all GCC versions.

=== cvxopt-1.1.4.p0 (John Palmieri, 31 March 2012) ===
 * Upgrade to version 1.1.4.
 * Trac #12011: apply upstream fix (from 1.1.5) dense.c.patch to fix
   self-tests on OS X Lion.

=== cvxopt-1.1.3.p1 (Jeroen Demeyer, 23 February 2012) ===
 * Trac #12519: Do not add -lcblas and -latlas on Darwin, since those
   libraries aren't installed on Darwin.
 * Use patch for patching.
 * Make spkg-check actually fail when there is a failure.
 * Removed useless bits from patches/setup.py.patch
 * Removed useless __init__.py.patch

=== cvxopt-1.1.3 (Dima Pasechnik, Mike Hansen, Harald Schilly, David Kirkby, Peter Jeremy, November, 2010) ===
 * fiddled with the lists of libraries to link, on per Fortran compiler basis.
 * added recognition of g95 directly, rather than by platform.
 * added getting the right -L path to libf95 for g95.
 * #6456 Updated to 1.1.3.
 * Modified setup.py to build correctly under Cygwin.
 * applied P.Jeremy's FreeBSD patch (see #6456)
 * corrected the 64-bit specific int* bug reported by pjeremy
 * turned on GSL extension (this is the default mode for CVXOPT, and GSL is a standard Sage spkg, so
   this makes perfect sense); this in particular allowed to get rid of strange random seed-related
   import bugs uncovered by David Kirkby's spkg-check
 * modified spkg-check to report test names, cd to appropriate subdirs, and skip .bin files.
 * corrected the .patch files in patches/ to be in right order --- just run the makepatchfiles
   script to re-create these files!
 * removed html doc files in src/doc; the .rst doc files are there, so it's a question of
   rebuilding them
   (e.g. one can do sage -sh; cd src/doc; make html)
 * included David's shortened and gcc-version targeted Sun-specific patch
   (comment 88 on #6456); removed sun_complex.h
 * took care of SPKG.txt sections, as mentioned in comment 87 on #6456
 * incorporating building the GLPK extension (track #9598)
 * #9525 Correct the fact that installation of cvxopt will allways
   report it was
   successful, even if it failed.
 * Add a spkg-check file, as #9281 listed cvxopt was missing such a file
 * implemented changes requested in comment 28 of track ticket #6456:

   (kept a harmless SAGE_LOCAL check)

   On building cvxopt extensions:
   the non-required extension are not built;
   however, it is possible to switch on the dsdp and dsl extensions by
   flipping the BUILD_..-flags in setup.py (and modifying dirs for dsdp)
   Remaining extensions were not tested; it should not be hard to have
   them provided the corresponding libs are there (e.g. parts of Sage)

 * modified setup.py to streamline and make it more Sage-like;
   in particular got rid of f77blas and f95 dependences that
   are obsolete, since Sage switched to gfortran
 * rebased Solaris-specific patches from cvxopt-0.9 spkg
   (only cvxopt.h needed to be patched, while the old
    native cvxopt random framework is now gone (since cvxopt-1.1
    at least)
 * modified setup.py and src/python/__init__.py
 * moved old patches to patches-old (solaris, ...) for future reference
 * simplifying spkg-install

=== cvxopt-0.9.p8 (Gonzalo Tornaria, June 19th, 2009) ===
 * Replace perl spkg-install with a bash one.

=== cvxopt-0.9.p7 (Michael Abshoff, September 24th, 2008) ===
 * Work around Solaris 10 problem with complex.h

