Ticket #9433: trac_9433-scripts.2.patch

File trac_9433-scripts.2.patch, 128.0 KB (added by jhpalmieri, 9 years ago)

rebased against 4.5.alpha4 + #9456

  • new file other-scripts/README.txt

    # HG changeset patch
    # User J. H. Palmieri <palmieri@math.washington.edu>
    # Date 1278603879 25200
    # Node ID da1d22e188bb40458c981956bb0c42c79d32fcbe
    # Parent  6f0d86da31580df5637e6da330f618766741051c
    #9433: put more files under revision control
    
    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/README.txt
    - +  
     1This directory provides revision control for two groups of files:
     2
     3 - those in the top-level directory $SAGE_ROOT -- these are contained
     4   in the "root" subdirectory.
     5
     6 - those in the spkg directory $SAGE_ROOT/spkg -- these are contained
     7   in the "spkg" subdirectory.
  • new file other-scripts/root/COPYING.txt

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/root/COPYING.txt
    - +  
     1This file is about the copyright on Sage and all included components.
     2 
     3Sage is a compilation both of original Python, C, C++, and Cython code,
     4and of existing free mathematics-related software.  All standard
     5components of sage (those included in sage-*.tar) are licensed under a
     6free open source license as defined at http://www.opensource.org/.
     7
     8Every component of Sage except jsmath is licensed under a GPL v2 (or
     9later) compatible license.
     10
     11REMARK: jsmath is licensed under the Apache license which is GPL v3 compatible,
     12but maybe not GPL v2 compatible.  However, Sage doesn't have any link to jsmath
     13-- we just distribute it as source code and users run it in their browser. 
     14
     15Some of the code available in *optional* Sage packages (not included
     16in sage-*.tar) are licensed under more restrictive conditions.
     17 
     18* ORIGINAL SAGE LIBRARY CODE:
     19  All original Sage code is distributed under the terms of the
     20  GNU General Public License, either version 2 of the License, or
     21  (at your option) any later version.
     22 
     23     This code is distributed in the hope that it will be useful,
     24     but WITHOUT ANY WARRANTY; without even the implied warranty of
     25     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     26     General Public License for more details.
     27 
     28The full text of the GPL is available below in this file. Details of
     29the licenses of the components of Sage are included below as well.
     30 
     31* LICENSES OF INCLUDED SOFTWARE:
     32 
     33SOFTWARE                           LICENSE
     34----------------------------------------------
     35atlas                                Modified BSD (see below)
     36bzip2                                BSD (customized)
     37cddlib                               GPL
     38clisp                                GPL
     39cython                               GPL (pyrex has no restrictions)
     40ec                                   Watkins (BSD-ish)
     41gmp-ecm                              LGPL
     42ellsea                               GPL
     43extcode                              GPL
     44flint                                GPL
     45flintqs                              GPL
     46freetype                             GPL
     47gap                                  GPL
     48gd                                   Custom (BSD-ish)
     49gdmodule                             Custom (BSD-ish)
     50genus2reduction                      GPL
     51gfan                                 GPL
     52givaro                               GPL
     53gmp                                  LGPL
     54gnuplotpy                            LGPL
     55gsl                                  GPL
     56iml                                  GPL, Modified BSD (see below)
     57ipython                              Modified BSD
     58ipython1                             Modified BSD
     59jmol                                 GPL (v2+)
     60jsmath                               Apache License 2.0 (see note below)
     61   note:  -- jsmath is never run by Sage or linked with Sage at runtime --
     62lcalc (Rubinstein)                   GPL
     63linbox                               LGPL
     64matplotlib                           Modified Python license
     65maxima                               GPL
     66mercurial                            GPL
     67moinmoin wiki                        GPL
     68mpfi                                 GPL
     69mpfr                                 LGPL
     70mwrank                               GPL
     71networkx                             LGPL
     72ntl                                  GPL
     73numpy                                Modified BSD
     74omalloc                              GPL (part of Singular; see below)
     75palp                                 GPL
     76pari                                 GPL
     77pexpect                              MIT (or X11) License
     78pycrypto                             No restrictions
     79pyopenssl                            GPL
     80pysqlite                             Modified BSD
     81python                               Python License
     82quaddouble                           Modified BSD
     83readline                             GPL
     84R                                    GPL
     85sage                                 GPL
     86sage_scripts                         GPL
     87simon-2descent                       GPL
     88singular                             GPL
     89sqlite                               Public Domain (no restrictions)
     90sympow                               Modified BSD
     91tachyon3d                            Modified BSD (see below)
     92termcap                              GPL
     93twisted                              Custom (Modified BSD)
     94twistedweb2                          MIT Free Software licence
     95weave                                SciPy License (=Modified BSD)
     96zlib                                 Custom (Modified BSD)
     97zodb3                                ZPL
     98 
     99 
     100CONTACT INFO:
     101     William Stein; wstein@gmail.com;
     102     http://www.sagemath.org
     103
     104=========================================================================
     105 
     106 
     107    GNU GENERAL PUBLIC LICENSE
     108       Version 2, June 1991
     109 
     110 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
     111                       51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     112 Everyone is permitted to copy and distribute verbatim copies
     113 of this license document, but changing it is not allowed.
     114 
     115    Preamble
     116 
     117  The licenses for most software are designed to take away your
     118freedom to share and change it.  By contrast, the GNU General Public
     119License is intended to guarantee your freedom to share and change free
     120software--to make sure the software is free for all its users.  This
     121General Public License applies to most of the Free Software
     122Foundation's software and to any other program whose authors commit to
     123using it.  (Some other Free Software Foundation software is covered by
     124the GNU Library General Public License instead.)  You can apply it to
     125your programs, too.
     126 
     127  When we speak of free software, we are referring to freedom, not
     128price.  Our General Public Licenses are designed to make sure that you
     129have the freedom to distribute copies of free software (and charge for
     130this service if you wish), that you receive source code or can get it
     131if you want it, that you can change the software or use pieces of it
     132in new free programs; and that you know you can do these things.
     133 
     134  To protect your rights, we need to make restrictions that forbid
     135anyone to deny you these rights or to ask you to surrender the rights.
     136These restrictions translate to certain responsibilities for you if you
     137distribute copies of the software, or if you modify it.
     138 
     139  For example, if you distribute copies of such a program, whether
     140gratis or for a fee, you must give the recipients all the rights that
     141you have.  You must make sure that they, too, receive or can get the
     142source code.  And you must show them these terms so they know their
     143rights.
     144 
     145  We protect your rights with two steps: (1) copyright the software, and
     146(2) offer you this license which gives you legal permission to copy,
     147distribute and/or modify the software.
     148 
     149  Also, for each author's protection and ours, we want to make certain
     150that everyone understands that there is no warranty for this free
     151software.  If the software is modified by someone else and passed on, we
     152want its recipients to know that what they have is not the original, so
     153that any problems introduced by others will not reflect on the original
     154authors' reputations.
     155 
     156  Finally, any free program is threatened constantly by software
     157patents.  We wish to avoid the danger that redistributors of a free
     158program will individually obtain patent licenses, in effect making the
     159program proprietary.  To prevent this, we have made it clear that any
     160patent must be licensed for everyone's free use or not licensed at all.
     161 
     162  The precise terms and conditions for copying, distribution and
     163modification follow.
     164 
     165    GNU GENERAL PUBLIC LICENSE
     166   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
     167 
     168  0. This License applies to any program or other work which contains
     169a notice placed by the copyright holder saying it may be distributed
     170under the terms of this General Public License.  The "Program", below,
     171refers to any such program or work, and a "work based on the Program"
     172means either the Program or any derivative work under copyright law:
     173that is to say, a work containing the Program or a portion of it,
     174either verbatim or with modifications and/or translated into another
     175language.  (Hereinafter, translation is included without limitation in
     176the term "modification".)  Each licensee is addressed as "you".
     177 
     178Activities other than copying, distribution and modification are not
     179covered by this License; they are outside its scope.  The act of
     180running the Program is not restricted, and the output from the Program
     181is covered only if its contents constitute a work based on the
     182Program (independent of having been made by running the Program).
     183Whether that is true depends on what the Program does.
     184 
     185  1. You may copy and distribute verbatim copies of the Program's
     186source code as you receive it, in any medium, provided that you
     187conspicuously and appropriately publish on each copy an appropriate
     188copyright notice and disclaimer of warranty; keep intact all the
     189notices that refer to this License and to the absence of any warranty;
     190and give any other recipients of the Program a copy of this License
     191along with the Program.
     192 
     193You may charge a fee for the physical act of transferring a copy, and
     194you may at your option offer warranty protection in exchange for a fee.
     195 
     196  2. You may modify your copy or copies of the Program or any portion
     197of it, thus forming a work based on the Program, and copy and
     198distribute such modifications or work under the terms of Section 1
     199above, provided that you also meet all of these conditions:
     200 
     201    a) You must cause the modified files to carry prominent notices
     202    stating that you changed the files and the date of any change.
     203 
     204    b) You must cause any work that you distribute or publish, that in
     205    whole or in part contains or is derived from the Program or any
     206    part thereof, to be licensed as a whole at no charge to all third
     207    parties under the terms of this License.
     208 
     209    c) If the modified program normally reads commands interactively
     210    when run, you must cause it, when started running for such
     211    interactive use in the most ordinary way, to print or display an
     212    announcement including an appropriate copyright notice and a
     213    notice that there is no warranty (or else, saying that you provide
     214    a warranty) and that users may redistribute the program under
     215    these conditions, and telling the user how to view a copy of this
     216    License.  (Exception: if the Program itself is interactive but
     217    does not normally print such an announcement, your work based on
     218    the Program is not required to print an announcement.)
     219 
     220These requirements apply to the modified work as a whole.  If
     221identifiable sections of that work are not derived from the Program,
     222and can be reasonably considered independent and separate works in
     223themselves, then this License, and its terms, do not apply to those
     224sections when you distribute them as separate works.  But when you
     225distribute the same sections as part of a whole which is a work based
     226on the Program, the distribution of the whole must be on the terms of
     227this License, whose permissions for other licensees extend to the
     228entire whole, and thus to each and every part regardless of who wrote it.
     229 
     230Thus, it is not the intent of this section to claim rights or contest
     231your rights to work written entirely by you; rather, the intent is to
     232exercise the right to control the distribution of derivative or
     233collective works based on the Program.
     234 
     235In addition, mere aggregation of another work not based on the Program
     236with the Program (or with a work based on the Program) on a volume of
     237a storage or distribution medium does not bring the other work under
     238the scope of this License.
     239 
     240  3. You may copy and distribute the Program (or a work based on it,
     241under Section 2) in object code or executable form under the terms of
     242Sections 1 and 2 above provided that you also do one of the following:
     243 
     244    a) Accompany it with the complete corresponding machine-readable
     245    source code, which must be distributed under the terms of Sections
     246    1 and 2 above on a medium customarily used for software interchange; or,
     247 
     248    b) Accompany it with a written offer, valid for at least three
     249    years, to give any third party, for a charge no more than your
     250    cost of physically performing source distribution, a complete
     251    machine-readable copy of the corresponding source code, to be
     252    distributed under the terms of Sections 1 and 2 above on a medium
     253    customarily used for software interchange; or,
     254 
     255    c) Accompany it with the information you received as to the offer
     256    to distribute corresponding source code.  (This alternative is
     257    allowed only for noncommercial distribution and only if you
     258    received the program in object code or executable form with such
     259    an offer, in accord with Subsection b above.)
     260 
     261The source code for a work means the preferred form of the work for
     262making modifications to it.  For an executable work, complete source
     263code means all the source code for all modules it contains, plus any
     264associated interface definition files, plus the scripts used to
     265control compilation and installation of the executable.  However, as a
     266special exception, the source code distributed need not include
     267anything that is normally distributed (in either source or binary
     268form) with the major components (compiler, kernel, and so on) of the
     269operating system on which the executable runs, unless that component
     270itself accompanies the executable.
     271 
     272If distribution of executable or object code is made by offering
     273access to copy from a designated place, then offering equivalent
     274access to copy the source code from the same place counts as
     275distribution of the source code, even though third parties are not
     276compelled to copy the source along with the object code.
     277 
     278  4. You may not copy, modify, sublicense, or distribute the Program
     279except as expressly provided under this License.  Any attempt
     280otherwise to copy, modify, sublicense or distribute the Program is
     281void, and will automatically terminate your rights under this License.
     282However, parties who have received copies, or rights, from you under
     283this License will not have their licenses terminated so long as such
     284parties remain in full compliance.
     285 
     286  5. You are not required to accept this License, since you have not
     287signed it.  However, nothing else grants you permission to modify or
     288distribute the Program or its derivative works.  These actions are
     289prohibited by law if you do not accept this License.  Therefore, by
     290modifying or distributing the Program (or any work based on the
     291Program), you indicate your acceptance of this License to do so, and
     292all its terms and conditions for copying, distributing or modifying
     293the Program or works based on it.
     294 
     295  6. Each time you redistribute the Program (or any work based on the
     296Program), the recipient automatically receives a license from the
     297original licensor to copy, distribute or modify the Program subject to
     298these terms and conditions.  You may not impose any further
     299restrictions on the recipients' exercise of the rights granted herein.
     300You are not responsible for enforcing compliance by third parties to
     301this License.
     302 
     303  7. If, as a consequence of a court judgment or allegation of patent
     304infringement or for any other reason (not limited to patent issues),
     305conditions are imposed on you (whether by court order, agreement or
     306otherwise) that contradict the conditions of this License, they do not
     307excuse you from the conditions of this License.  If you cannot
     308distribute so as to satisfy simultaneously your obligations under this
     309License and any other pertinent obligations, then as a consequence you
     310may not distribute the Program at all.  For example, if a patent
     311license would not permit royalty-free redistribution of the Program by
     312all those who receive copies directly or indirectly through you, then
     313the only way you could satisfy both it and this License would be to
     314refrain entirely from distribution of the Program.
     315 
     316If any portion of this section is held invalid or unenforceable under
     317any particular circumstance, the balance of the section is intended to
     318apply and the section as a whole is intended to apply in other
     319circumstances.
     320 
     321It is not the purpose of this section to induce you to infringe any
     322patents or other property right claims or to contest validity of any
     323such claims; this section has the sole purpose of protecting the
     324integrity of the free software distribution system, which is
     325implemented by public license practices.  Many people have made
     326generous contributions to the wide range of software distributed
     327through that system in reliance on consistent application of that
     328system; it is up to the author/donor to decide if he or she is willing
     329to distribute software through any other system and a licensee cannot
     330impose that choice.
     331 
     332This section is intended to make thoroughly clear what is believed to
     333be a consequence of the rest of this License.
     334 
     335  8. If the distribution and/or use of the Program is restricted in
     336certain countries either by patents or by copyrighted interfaces, the
     337original copyright holder who places the Program under this License
     338may add an explicit geographical distribution limitation excluding
     339those countries, so that distribution is permitted only in or among
     340countries not thus excluded.  In such case, this License incorporates
     341the limitation as if written in the body of this License.
     342 
     343  9. The Free Software Foundation may publish revised and/or new versions
     344of the General Public License from time to time.  Such new versions will
     345be similar in spirit to the present version, but may differ in detail to
     346address new problems or concerns.
     347 
     348Each version is given a distinguishing version number.  If the Program
     349specifies a version number of this License which applies to it and "any
     350later version", you have the option of following the terms and conditions
     351either of that version or of any later version published by the Free
     352Software Foundation.  If the Program does not specify a version number of
     353this License, you may choose any version ever published by the Free Software
     354Foundation.
     355 
     356  10. If you wish to incorporate parts of the Program into other free
     357programs whose distribution conditions are different, write to the author
     358to ask for permission.  For software which is copyrighted by the Free
     359Software Foundation, write to the Free Software Foundation; we sometimes
     360make exceptions for this.  Our decision will be guided by the two goals
     361of preserving the free status of all derivatives of our free software and
     362of promoting the sharing and reuse of software generally.
     363 
     364    NO WARRANTY
     365 
     366  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
     367FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
     368OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
     369PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
     370OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     371MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
     372TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
     373PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
     374REPAIR OR CORRECTION.
     375 
     376  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
     377WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
     378REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
     379INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
     380OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
     381TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
     382YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
     383PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
     384POSSIBILITY OF SUCH DAMAGES.
     385 
     386     END OF TERMS AND CONDITIONS
     387 
     388    How to Apply These Terms to Your New Programs
     389 
     390  If you develop a new program, and you want it to be of the greatest
     391possible use to the public, the best way to achieve this is to make it
     392free software which everyone can redistribute and change under these terms.
     393 
     394  To do so, attach the following notices to the program.  It is safest
     395to attach them to the start of each source file to most effectively
     396convey the exclusion of warranty; and each file should have at least
     397the "copyright" line and a pointer to where the full notice is found.
     398 
     399    <one line to give the program's name and a brief idea of what it does.>
     400    Copyright (C) <year>  <name of author>
     401 
     402    This program is free software; you can redistribute it and/or modify
     403    it under the terms of the GNU General Public License as published by
     404    the Free Software Foundation; either version 2 of the License, or
     405    (at your option) any later version.
     406 
     407    This program is distributed in the hope that it will be useful,
     408    but WITHOUT ANY WARRANTY; without even the implied warranty of
     409    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     410    GNU General Public License for more details.
     411 
     412    You should have received a copy of the GNU General Public License
     413    along with this program; if not, write to the Free Software
     414    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     415 
     416 
     417Also add information on how to contact you by electronic and paper mail.
     418 
     419If the program is interactive, make it output a short notice like this
     420when it starts in an interactive mode:
     421 
     422    Gnomovision version 69, Copyright (C) year name of author
     423    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     424    This is free software, and you are welcome to redistribute it
     425    under certain conditions; type `show c' for details.
     426 
     427The hypothetical commands `show w' and `show c' should show the appropriate
     428parts of the General Public License.  Of course, the commands you use may
     429be called something other than `show w' and `show c'; they could even be
     430mouse-clicks or menu items--whatever suits your program.
     431 
     432You should also get your employer (if you work as a programmer) or your
     433school, if any, to sign a "copyright disclaimer" for the program, if
     434necessary.  Here is a sample; alter the names:
     435 
     436  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
     437  `Gnomovision' (which makes passes at compilers) written by James Hacker.
     438 
     439  <signature of Ty Coon>, 1 April 1989
     440  Ty Coon, President of Vice
     441 
     442This General Public License does not permit incorporating your program into
     443proprietary programs.  If your program is a subroutine library, you may
     444consider it more useful to permit linking proprietary applications with the
     445library.  If this is what you want to do, use the GNU Library General
     446Public License instead of this License.
     447 
     448================================================================================
     449
     450atlas:
     451(http://math-atlas.sourceforge.net/)
     452             Automatically Tuned Linear Algebra Software v3.8.0
     453                    (C) Copyright 1998 R. Clint Whaley
     454
     455 Redistribution and use in source and binary forms, with or without
     456 modification, are permitted provided that the following conditions
     457 are met:
     458   1. Redistributions of source code must retain the above copyright
     459      notice, this list of conditions and the following disclaimer.
     460   2. Redistributions in binary form must reproduce the above copyright
     461      notice, this list of conditions, and the following disclaimer in the
     462      documentation and/or other materials provided with the distribution.
     463   3. The name of the ATLAS group or the names of its contributers may
     464      not be used to endorse or promote products derived from this
     465      software without specific written permission.
     466
     467 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     468 `AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     469 TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     470 PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ATLAS GROUP OR ITS CONTRIBUTORS
     471 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     472 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     473 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     474 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     475 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     476 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     477 POSSIBILITY OF SUCH DAMAGE.
     478
     479================================================================================
     480 
     481bzip2:
     482(http://www.bzip.org/)
     483Copyright © 1996-2005 Julian Seward.
     484This program, bzip2, the associated library libbzip2, and all documentation, are
     485copyright © 1996-2005 Julian Seward. All rights reserved.
     486 
     487Redistribution and use in source and binary forms, with or without modification, are
     488permitted provided that the following conditions are met:
     489 
     490*      Redistributions of source code must retain the above copyright notice,
     491       this list of conditions and the following disclaimer.
     492*      The origin of this software must not be misrepresented; you must not claim
     493       that you wrote the original software. If you use this software in a
     494       product, an acknowledgment in the product documentation would be appreciated
     495       but is not required.
     496*      Altered source versions must be plainly marked as such, and must not be
     497       misrepresented as being the original software.
     498*      The name of the author may not be used to endorse or promote products
     499       derived from this software without specific prior written permission.
     500 
     501================================================================================
     502 
     503clisp:
     504(http://clisp.sourceforge.net/)
     505ANSI Common Lisp is a high-level, general-purpose programming language.
     506GNU CLISP is a Common Lisp implementation by Bruno Haible of Karlsruhe
     507University and Michael Stoll of Munich University, both in Germany.
     508It mostly supports the Lisp described in the ANSI Common Lisp standard.
     509It runs on most GNU and Unix systems (GNU/Linux, FreeBSD, NetBSD, OpenBSD,
     510Solaris, Tru64, HP-UX, BeOS, NeXTstep, IRIX, AIX and others) and on
     511other systems (Windows NT/2000/XP, Windows 95/98/ME) and needs only
     5124 MB of RAM.
     513It is Free Software and may be distributed under the terms of GNU GPL,
     514while it is possible to distribute commercial proprietary applications
     515compiled with GNU CLISP.
     516 
     517Added by wdj: Michael Stoll is now at International University Bremen.
     518 
     519================================================================================
     520 
     521cython:
     522(http://www.cython.org/)
     523
     524Copyright Greg Ewing, Stefan Behnel, Robert Bradshaw, and William Stein
     525Python Software Foundation License
     526
     527---
     528
     529Cython is a language that makes writing C extensions for the Python language as
     530easy as Python itself. Cython is based on the well-known Pyrex, but supports
     531more cutting edge functionality and optimizations. Development of Cython is
     532mainly motivated by the needs of Sage.
     533 
     534================================================================================
     535 
     536ec:
     537Copyright Mark Watkins.
     538Redistribution and use in source and binary forms, with or without modification, are
     539permitted provided that the following conditions are met:
     540 
     541*      Redistributions of source code must retain the above copyright notice,
     542       this list of conditions and the following disclaimer.
     543*      The origin of this software must not be misrepresented; you must not claim
     544       that you wrote the original software. If you use this software in a
     545       product, an acknowledgment in the product documentation would be appreciated
     546       but is not required.
     547*      Altered source versions must be plainly marked as such, and must not be
     548       misrepresented as being the original software.
     549*      The name of the author may not be used to endorse or promote products
     550       derived from this software without specific prior written permission.
     551 
     552================================================================================
     553 
     554ellsea-1.0:
     555Copyright Christophe Doche and Sylvain Duquesne.
     556This is an implementation of the Schoof-Elkies-Atkin point counting algorithm
     557for elliptic curves, over the prime field F_p (up to about 300 bits).
     558This PARI-GP package was written in the course for the AREHCC project,
     559see http://www.arehcc.com/.
     560It is released under the GNU General Public License.
     561 
     562================================================================================
     563
     564flint:
     565(http://www.flintlib.org/)
     566William Hart and David Harvey
     567Contributors
     568International Colleagues
     569    * Jason Papadopoulos - Block Lanczos code for quadratic sieve and
     570        multiprecision complex root finding code for polynomials.
     571
     572Undergraduate Student Projects
     573    * Tomasz Lechowski - Contributed some NTL and Pari polynomial profiling code
     574        and researched algorithms for polynomials over finite fields. (Funded by
     575        the Nuffield Foundation)
     576    * Daniel Scott - Researched lazy and relaxed algorithms of Joris van der
     577        Hoeven. (Funded by Warwick University's Undergraduate Research Scholars
     578        Scheme)
     579    * David Howden - Wrote code for computing Bernoulli numbers mod many primes,
     580        including fast polynomial multiplication over Z/pZ specifically for the
     581        task. (Funded by Warwick University's Undergraduate Research Scholars
     582        Scheme)
     583
     584================================================================================
     585 
     586gap:
     587(http://www.gap-system.org)
     588GAP is free software; you can redistribute it and/or modify it
     589under the terms of the GNU General Public License as published
     590by the Free Software Foundation; either version 2 of the License,
     591or (at your option) any later version. For details, see the file
     592'GPL' in the 'etc' directory of the GAP distribution or see 
     593The FSF's own site.
     594
     595================================================================================
     596gd -- "The web site programmer's dynamic graphics generation tool":
     597(http://www.boutell.com/gd/)
     598
     599Permission has been granted to copy, distribute and modify gd in any
     600context without fee, including a commercial application, provided that
     601this notice is present in user-accessible supporting documentation.
     602(The rest of the notice is in the gd spkg, which is a bzip2'd tarball
     603included in the Sage source distribution.)
     604
     605================================================================================
     606
     607gdmodule:
     608(http://newcenturycomputers.net/projects/gdmodule.html)
     609
     610Permission granted for unlimited use, provided that the Quest Center
     611at Cold Spring Harbor Labs is given credit for the library in the
     612user-visible documentation of your software. If you modify gd, we ask
     613that you share the modifications with us so they can be added to the
     614distribution. See gd.html for details.  (The rest of the notice is in
     615the package gdmodule spkg, which is a bzip2'd tarball included in the
     616Sage source distribution.)
     617 
     618================================================================================
     619 
     620genus2reduction:
     621(http://www.math.u-bordeaux.fr/~liu/G2R/)
     622Copyright Qing LIU. See PARI for the license terms.
     623 
     624================================================================================
     625 
     626gmp:
     627(http://www.swox.com/gmp/)
     628GMP is distributed under the GNU LGPL. This license makes the
     629library free to use, share, and improve, and allows you to pass
     630on the result. The license gives freedoms, but also sets firm
     631restrictions on the use with non-free programs.
     632GMP is part of the GNU project. For more information about the
     633GNU project, please see the official GNU web site.
     634
     635================================================================================
     636iml:
     637
     638They include the GNU GPLv2 copyright file in their distribution,
     639but the individual source files all have the modified BSD license
     640in them.  So this code is probably really modified BSD.
     641 
     642================================================================================
     643 
     644ipython / ipython1:
     645(http://ipython.scipy.org/moin/)
     646
     647"Unless indicated otherwise, files in this project are covered by a BSD-type
     648license, included below.
     649
     650Individual authors are the holders of the copyright for their code and are
     651listed in each file.
     652
     653Some files (DPyGetOpt.py, for example) may be licensed under different
     654conditions. Ultimately each file indicates clearly the conditions under which
     655its author/authors have decided to publish the code.
     656
     657
     658IPython license
     659---------------
     660
     661IPython is released under a BSD-type license.
     662
     663Copyright (c) 2001, 2002, 2003, 2004 Fernando Perez <fperez@colorado.edu>.
     664
     665Copyright (c) 2001 Janko Hauser <jhauser@zscout.de> and Nathaniel Gray
     666<n8gray@caltech.edu>.
     667
     668All rights reserved.
     669
     670Redistribution and use in source and binary forms, with or without
     671modification, are permitted provided that the following conditions are met:
     672
     673  a. Redistributions of source code must retain the above copyright notice,
     674     this list of conditions and the following disclaimer.
     675
     676  b. Redistributions in binary form must reproduce the above copyright
     677     notice, this list of conditions and the following disclaimer in the
     678     documentation and/or other materials provided with the distribution.
     679
     680  c. Neither the name of the copyright holders nor the names of any
     681     contributors to this software may be used to endorse or promote products
     682     derived from this software without specific prior written permission.
     683
     684
     685THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     686AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     687IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     688ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
     689ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     690DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
     691SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     692CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     693LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     694OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
     695DAMAGE."
     696
     697================================================================================
     698
     699Copyright 1998-2007 The Jmol Development Team
     700
     701This library is free software; you can redistribute it and/or
     702modify it under the terms of the GNU Lesser General Public
     703License as published by the Free Software Foundation; either
     704version 2.1 of the License, or (at your option) any later version.
     705
     706This library is distributed in the hope that it will be useful,
     707but WITHOUT ANY WARRANTY; without even the implied warranty of
     708MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     709Lesser General Public License for more details.
     710
     711You should have received a copy of the GNU Lesser General Public
     712License along with this library; if not, write to the Free Software
     713Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
     71402111-1307  USA.
     715
     716
     717Complete source code for the Jmol application, the Jmol applet, and
     718surrounding utilities is available from http://www.jmol.org
     719
     720
     721This software uses several external libraries and resources:
     722
     723JUnit
     724  Used for unit testing. Distributed by the IBM Public License (see
     725  doc/ibm.license.html). See http://www.junit.org/.
     726
     727The Chemical Development Kit
     728  Used for reading and writing CML and ShelX. Distributed by Lesser GNU Public
     729  License
     730  See http://cdk.sf.net/.
     731
     732AElfred
     733  Used for XML parsing. Distributed free and without warranty.
     734  Copyright (C) 1997,1998 by Microstar Software Ltd.
     735  See http://www.microstar.com/aelfred.html.
     736
     737SAX
     738  Used for event-based XML parsing. Distributed free and without warranty.
     739  See http://www.megginson.com/SAX/.
     740
     741Acme Image encoders
     742  Used for exporting images in GIF and PPM formats. Distributed free and
     743  without warranty. Copyright (C) 1996,1998 by Jef Poskanzer.
     744  See http://www.acme.com/.
     745
     746JPEG Encoder
     747  Used for exporting images in JPEG format. Distributed free and without
     748  warranty (see doc/jpegEncoder.license).
     749  Copyright (c) 1998 James R. Weeks and BioElectroMech.
     750  See http://www.obrador.com/essentialjpeg/.
     751
     752Java Analysis Studio
     753  Used for graphs. Distributed by the GNU Lesser General Public License
     754  (see doc/lgpl.license), and requires providing the source code (see
     755  http://jas.freehep.org/source.htm). See http://jas.freehep.org/.
     756
     757Unofficial Java3D vecmath package
     758  Used for linear algebra. Distributed free and without warranty.
     759  Copyright (C) 1997,1998,1999 by Kenji Hiranabe.
     760  See http://www.esm.co.jp/divisions/open-sys/java/vecmath/.
     761
     762JFA Icon collection
     763  Used for icons in menus and toolbars. Distributed free and without warranty.
     764  Copyright (C) 1998 by Dean S. Jones.
     765  See http://jfa.javalobby.org/projects/icons/
     766
     767Jakarta Commons CLI
     768  Used for parsing command line optinos. Distributed with The Apache Software
     769  License, Version 1.1. Copyright (c) 1999-2001 The Apache Software Foundation.
     770  See http://jakarta.apache.org/commons/cli/.
     771
     772================================================================================
     773
     774jsmath:
     775
     776Jsmath is licensed under the Apache License, Version 2.0.
     777
     778The Apache Software Foundation considers their license to be GPL v2
     779compatible... maybe, but the FSF evidently doesn't.  Note that Sage
     780doesn't *link* with jsmath.  Sage only uses jsmath by sending it to a
     781web browsers, which then run jsmath.  I.e., the Sage program, which is
     782a web server, at no point actually runs or uses jsmath to do anything.
     783It is the web browser running on the client's computer that actually
     784runs jsmath.  Thus GPL compatibility of the jsmath license is not
     785relevant to Sage. 
     786
     787* From the Apache website: "It is the unofficial position of The
     788  Apache Software Foundation that the Apache license is compatible
     789  with the GPL. However, the Free Software Foundation holds a
     790  different position..."
     791  (http://www.apache.org/foundation/licence-FAQ.html#GPL), and the FSF
     792  writes (http://www.fsf.org/licensing/licenses/index_html) "This is a
     793  free software license but it is incompatible with the GPL. The
     794  Apache Software License is incompatible with the GPL because it has
     795  a specific requirement that is not in the GPL: it has certain patent
     796  termination cases that the GPL does not require. (We don't think
     797  those patent termination cases are inherently a bad idea, but
     798  nonetheless they are incompatible with the GNU GPL.)"
     799
     800
     801================================================================================
     802 
     803Lcalc:
     804(http://pmmac03.math.uwaterloo.ca/~mrubinst/L_function_public/CODE/)
     805copyright Michael Rubinstein
     806Lcalc is distributed under the GNU GPL.
     807 
     808================================================================================
     809
     810matplotlib:
     811
     812LICENSE AGREEMENT FOR MATPLOTLIB 0.90.0
     813--------------------------------------
     814
     8151. This LICENSE AGREEMENT is between the John D. Hunter ("JDH"), and the
     816Individual or Organization ("Licensee") accessing and otherwise using
     817matplotlib software in source or binary form and its associated
     818documentation.
     819
     8202. Subject to the terms and conditions of this License Agreement, JDH
     821hereby grants Licensee a nonexclusive, royalty-free, world-wide license
     822to reproduce, analyze, test, perform and/or display publicly, prepare
     823derivative works, distribute, and otherwise use matplotlib 0.90.0
     824alone or in any derivative version, provided, however, that JDH's
     825License Agreement and JDH's notice of copyright, i.e., "Copyright (c)
     8262002-2004 John D. Hunter; All Rights Reserved" are retained in
     827matplotlib 0.90.0 alone or in any derivative version prepared by
     828Licensee.
     829
     8303. In the event Licensee prepares a derivative work that is based on or
     831incorporates matplotlib 0.90.0 or any part thereof, and wants to
     832make the derivative work available to others as provided herein, then
     833Licensee hereby agrees to include in any such work a brief summary of
     834the changes made to matplotlib 0.90.0.
     835
     8364. JDH is making matplotlib 0.90.0 available to Licensee on an "AS
     837IS" basis.  JDH MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
     838IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, JDH MAKES NO AND
     839DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
     840FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF MATPLOTLIB 0.90.0
     841WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
     842
     8435. JDH SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF MATPLOTLIB
     8440.90.0 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR
     845LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING
     846MATPLOTLIB 0.90.0, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF
     847THE POSSIBILITY THEREOF.
     848
     8496. This License Agreement will automatically terminate upon a material
     850breach of its terms and conditions.
     851
     8527. Nothing in this License Agreement shall be deemed to create any
     853relationship of agency, partnership, or joint venture between JDH and
     854Licensee.  This License Agreement does not grant permission to use JDH
     855trademarks or trade name in a trademark sense to endorse or promote
     856products or services of Licensee, or any third party.
     857
     8588. By copying, installing or otherwise using matplotlib 0.90.0,
     859Licensee agrees to be bound by the terms and conditions of this License
     860Agreement.
     861
     862
     863
     864================================================================================
     865
     866
     867 
     868maxima:
     869(http://maxima.sourceforge.net/)
     870Maxima is dedicated to the memory of William F. Schelter. On 6 October
     8711998 William F. Schelter was formally notified that he could distribute
     872DOE-MACSYMA upon terms of his choosing, in particular the GNU General
     873Public License: <http://www.ma.utexas.edu/users/wfs/maxima-doe-auth.gif>
     874Schelter proceed to distribute derived works under the GPL.
     875 
     876In the formal notification a request was made that a paragraph "should
     877be included in the GPL and should accompany other modifications,
     878enhancements or derivative works of your program." This paragraph is
     879transcribed below in honor of that request. Like the preamble it does
     880not form part of the license.
     881 
     882"Distribution of such derivative works is subject to the U.S. Export
     883Administration Regulations (Title 15 CFR 768-799), which implements the
     884Export Administration Act of 1979, as amended, and/or the International
     885Traffic in Arms Regulations, of 12-6-84, (Title 22 CFR 121-130), which
     886implements the Arms Export Control Act (22 U.S.C. 2728) and may require
     887license for export."
     888 
     889================================================================================
     890 
     891MPFR:
     892(http://www.mpfr.org/)
     893MPFR is free. It is distributed under the GNU Lesser General Public
     894License (GNU Lesser GPL). The library has been registered in France
     895by the Agence de Protection des Programmes under the number
     896IDDN FR 001 120020 00 R P 2000 000 10800, on 15 March 2000. This
     897license guarantees your freedom to share and change MPFR, to make sure
     898MPFR is free for all its users. Unlike the ordinary General Public License,
     899the Lesser GPL enables developers of non-free programs to use MPFR in their
     900programs. If you have written a new function for MPFR or improved an
     901existing one, please share your work!
     902 
     903================================================================================
     904 
     905mwrank:
     906(http://www.maths.nott.ac.uk/personal/jec/ftp/progs/)
     907copyright John Cremona
     908Mwrank is released under the GNU General Public License.
     909 
     910================================================================================
     911 
     912NTL:
     913(http://www.shoup.net/ntl/)
     914A Library for Doing Number Theory
     915Copyright (C) 1996-2005  Victor Shoup
     916 
     917The most recent version of NTL is available at http://www.shoup.net
     918 
     919This program is free software; you can redistribute it and/or
     920modify it under the terms of the GNU General Public License
     921as published by the Free Software Foundation; either version 2
     922of the License, or (at your option) any later version.
     923 
     924This program is distributed in the hope that it will be useful,
     925but WITHOUT ANY WARRANTY; without even the implied warranty of
     926MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     927GNU General Public License for more details.
     928 
     929This entire copyright notice should be placed in an appropriately
     930conspicuous place accompanying all distributions of software that
     931make use of NTL.
     932 
     933The above terms apply to all of the software modules distributed with NTL,
     934i.e., all source files in either the ntl-xxx.tar.gz or WinNTL-xxx.zip
     935distributions.  In general, the individual files do not contain
     936copyright notices.
     937 
     938Note that the quad_float package is derived from the doubledouble package,
     939originally developed by Keith Briggs, and also licensed unger the GNU GPL.
     940The files quad_float.c and quad_float.h contain more detailed copyright
     941notices.
     942 
     943Note that the traditional long integer package used by NTL, lip.c, is derived
     944from---and represents an extensive modification of---
     945a package originally developed and copyrighted by Arjen Lenstra,
     946who has agreed to renounce any copyright claims on the particular
     947version of the long integer package appearing in NTL, so that the
     948this package now is covered by the GNU GPL as well.
     949 
     950Note that the alternative long integer package used by NTL is GMP,
     951which is written by Torbjorn Granlund <tege@swox.com>.
     952GMP is licensed under the terms of the GNU Lesser General Public License.
     953 
     954Note that NTL makes use of the RSA Data Security, Inc. MD5 Message
     955Digest Algorithm.
     956 
     957RSA MD5 Message Digest Algorithm License:
     958Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
     959rights reserved.
     960 
     961License to copy and use this software is granted provided that it
     962is identified as the "RSA Data Security, Inc. MD5 Message-Digest
     963Algorithm" in all material mentioning or referencing this software
     964or this function.
     965 
     966License is also granted to make and use derivative works provided
     967that such works are identified as "derived from the RSA Data
     968Security, Inc. MD5 Message-Digest Algorithm" in all material
     969mentioning or referencing the derived work.
     970 
     971RSA Data Security, Inc. makes no representations concerning either
     972the merchantability of this software or the suitability of this
     973software for any particular purpose. It is provided "as is"
     974without express or implied warranty of any kind.
     975 
     976These notices must be retained in any copies of any part of this
     977documentation and/or software.
     978 
     979================================================================================
     980 
     981numpy:
     982(http://numeric.scipy.org/)
     983Copyright (c) 2005, NumPy Developers
     984All rights reserved.
     985 
     986Redistribution and use in source and binary forms, with or without
     987modification, are permitted provided that the following conditions are
     988met:
     989 
     990    * Redistributions of source code must retain the above copyright
     991       notice, this list of conditions and the following disclaimer.
     992 
     993    * Redistributions in binary form must reproduce the above
     994       copyright notice, this list of conditions and the following
     995       disclaimer in the documentation and/or other materials provided
     996       with the distribution.
     997 
     998    * Neither the name of the NumPy Developers nor the names of any
     999       contributors may be used to endorse or promote products derived
     1000       from this software without specific prior written permission.
     1001 
     1002================================================================================
     1003
     1004openssl:
     1005
     1006  The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
     1007  the OpenSSL License and the original SSLeay license apply to the toolkit.
     1008  See below for the actual license texts. Actually both licenses are BSD-style
     1009  Open Source licenses. In case of any license issues related to OpenSSL
     1010  please contact openssl-core@openssl.org.
     1011
     1012  OpenSSL License
     1013  ---------------
     1014
     1015/* ====================================================================
     1016 * Copyright (c) 1998-2006 The OpenSSL Project.  All rights reserved.
     1017 *
     1018 * Redistribution and use in source and binary forms, with or without
     1019 * modification, are permitted provided that the following conditions
     1020 * are met:
     1021 *
     1022 * 1. Redistributions of source code must retain the above copyright
     1023 *    notice, this list of conditions and the following disclaimer.
     1024 *
     1025 * 2. Redistributions in binary form must reproduce the above copyright
     1026 *    notice, this list of conditions and the following disclaimer in
     1027 *    the documentation and/or other materials provided with the
     1028 *    distribution.
     1029 *
     1030 * 3. All advertising materials mentioning features or use of this
     1031 *    software must display the following acknowledgment:
     1032 *    "This product includes software developed by the OpenSSL Project
     1033 *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
     1034 *
     1035 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
     1036 *    endorse or promote products derived from this software without
     1037 *    prior written permission. For written permission, please contact
     1038 *    openssl-core@openssl.org.
     1039 *
     1040 * 5. Products derived from this software may not be called "OpenSSL"
     1041 *    nor may "OpenSSL" appear in their names without prior written
     1042 *    permission of the OpenSSL Project.
     1043 *
     1044 * 6. Redistributions of any form whatsoever must retain the following
     1045 *    acknowledgment:
     1046 *    "This product includes software developed by the OpenSSL Project
     1047 *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
     1048 *
     1049 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
     1050 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     1051 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     1052 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
     1053 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     1054 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     1055 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     1056 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     1057 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     1058 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     1059 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
     1060 * OF THE POSSIBILITY OF SUCH DAMAGE.
     1061 * ====================================================================
     1062 *
     1063 * This product includes cryptographic software written by Eric Young
     1064 * (eay@cryptsoft.com).  This product includes software written by Tim
     1065 * Hudson (tjh@cryptsoft.com).
     1066 *
     1067 */
     1068
     1069 Original SSLeay License
     1070 -----------------------
     1071
     1072/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
     1073 * All rights reserved.
     1074 *
     1075 * This package is an SSL implementation written
     1076 * by Eric Young (eay@cryptsoft.com).
     1077 * The implementation was written so as to conform with Netscapes SSL.
     1078 *
     1079 * This library is free for commercial and non-commercial use as long as
     1080 * the following conditions are aheared to.  The following conditions
     1081 * apply to all code found in this distribution, be it the RC4, RSA,
     1082 * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
     1083 * included with this distribution is covered by the same copyright terms
     1084 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
     1085 *
     1086 * Copyright remains Eric Young's, and as such any Copyright notices in
     1087 * the code are not to be removed.
     1088 * If this package is used in a product, Eric Young should be given attribution
     1089 * as the author of the parts of the library used.
     1090 * This can be in the form of a textual message at program startup or
     1091 * in documentation (online or textual) provided with the package.
     1092 *
     1093 * Redistribution and use in source and binary forms, with or without
     1094 * modification, are permitted provided that the following conditions
     1095 * are met:
     1096 * 1. Redistributions of source code must retain the copyright
     1097 *    notice, this list of conditions and the following disclaimer.
     1098 * 2. Redistributions in binary form must reproduce the above copyright
     1099 *    notice, this list of conditions and the following disclaimer in the
     1100 *    documentation and/or other materials provided with the distribution.
     1101 * 3. All advertising materials mentioning features or use of this software
     1102 *    must display the following acknowledgement:
     1103 *    "This product includes cryptographic software written by
     1104 *     Eric Young (eay@cryptsoft.com)"
     1105 *    The word 'cryptographic' can be left out if the rouines from the library
     1106 *    being used are not cryptographic related :-).
     1107 * 4. If you include any Windows specific code (or a derivative thereof) from
     1108 *    the apps directory (application code) you must include an acknowledgement:
     1109 *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
     1110 *
     1111 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
     1112 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     1113 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     1114 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
     1115 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     1116 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     1117 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     1118 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     1119 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     1120 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     1121 * SUCH DAMAGE.
     1122 *
     1123 * The licence and distribution terms for any publically available version or
     1124 * derivative of this code cannot be changed.  i.e. this code cannot simply be
     1125 * copied and put under another distribution licence
     1126 * [including the GNU Public Licence.]
     1127 */
     1128
     1129
     1130 
     1131================================================================================
     1132
     1133pari:
     1134(http://pari.math.u-bordeaux.fr/)
     1135Copyright 2003-2005 the PARI group.
     1136PARI/GP is free software. It is released under GNU's General Public
     1137License, or GPL for short.
     1138 
     1139================================================================================
     1140 
     1141pexpect:
     1142(http://pexpect.sourceforge.net/)
     1143Copyright (c) 2005 Noah Spurrier
     1144MIT style license:
     1145Free, open source, and all that good stuff.
     1146 
     1147Permission is hereby granted, free of charge, to any person obtaining
     1148a copy of this software and associated documentation files
     1149(the "Software"), to deal in the Software without restriction, including
     1150without limitation the rights to use, copy, modify, merge, publish,
     1151distribute, sublicense, and/or sell copies of the Software, and to permit
     1152persons to whom the Software is furnished to do so, subject to the
     1153following conditions:
     1154 
     1155The above copyright notice and this permission notice shall be included
     1156in all copies or substantial portions of the Software.
     1157
     1158================================================================================
     1159
     1160pycrypto:
     1161
     1162Distribute and use freely; there are no restrictions on further
     1163dissemination and usage except those imposed by the laws of your
     1164country of residence.  This software is provided "as is" without
     1165warranty of fitness for use or suitability for any purpose, express
     1166or implied. Use at your own risk or not at all.
     1167
     1168Incorporating the code into commercial products is permitted; you do
     1169not have to make source available or contribute your changes back
     1170(though that would be nice).
     1171
     1172--amk                                                             (www.amk.ca)
     1173
     1174
     1175================================================================================
     1176
     1177pyopenssl:
     1178
     1179(http://pyopenssl.sourceforge.net)
     1180
     1181standard GPL license
     1182
     1183================================================================================
     1184
     1185pysqlite:
     1186
     1187This software is provided 'as-is', without any express or implied warranty. In
     1188no event will the authors be held liable for any damages arising from the use
     1189of this software.
     1190
     1191Permission is granted to anyone to use this software for any purpose,
     1192including commercial applications, and to alter it and redistribute it freely,
     1193subject to the following restrictions:
     1194
     1195    1. The origin of this software must not be misrepresented; you must not
     1196       claim that you wrote the original software. If you use this software in
     1197       a product, an acknowledgment in the product documentation would be
     1198       appreciated but is not required.
     1199
     1200    2. Altered source versions must be plainly marked as such, and must not be
     1201       misrepresented as being the original software.
     1202
     1203    3. This notice may not be removed or altered from any source distribution.
     1204 
     1205================================================================================
     1206 
     1207python:
     1208(http://www.python.org/)
     1209All Python releases are Open Source (see http://www.opensource.org for
     1210the Open Source Definition).  Since version 2.0, Python
     1211releases have also been GPL-compatible.  Please see
     1212    http://www.python.org/download/releases/2.4.2/license/
     1213for further details.
     1214 
     1215================================================================================
     1216
     1217R:
     1218(http://www.r-project.org/)
     1219R was initially written by Robert Gentleman and Ross Ihaka of the
     1220Statistics Department of the University of Auckland.
     1221
     1222Since mid-1997 there has been a core group with write access to the R
     1223source, currently consisting of
     1224
     1225Douglas Bates       <bates@stat.wisc.edu>
     1226John Chambers       <jmc@R-project.org>
     1227Peter Dalgaard      <p.dalgaard@biostat.ku.dk>
     1228Seth Falcon     <sfalcon@fhcrc.org>
     1229Robert Gentleman    <rgentlem@fhcrc.org>
     1230Kurt Hornik     <Kurt.Hornik@wu-wien.ac.at>
     1231Stefano Iacus       <stefano.iacus@unimi.it>
     1232Ross Ihaka      <ihaka@stat.auckland.ac.nz>
     1233Friedrich Leisch    <Friedrich.Leisch@tuwien.ac.at>
     1234Thomas Lumley       <tlumley@u.washington.edu>
     1235Martin Maechler     <maechler@stat.math.ethz.ch>
     1236Duncan Murdoch      <murdoch@stats.uwo.ca>
     1237Paul Murrell        <paul@stat.auckland.ac.nz>
     1238Martyn Plummer      <plummer@iarc.fr>
     1239Brian Ripley        <ripley@stats.ox.ac.uk>
     1240Deepayan Sarkar     <deepayan@stat.wisc.edu>
     1241Duncan Temple Lang  <duncan@wald.ucdavis.edu>
     1242Luke Tierney        <luke@stat.uiowa.edu>
     1243Simon Urbanek       <urbanek@research.att.com>
     1244
     1245plus Heiner Schwarte <h.schwarte@bluewin.ch> up to October 1999
     1246and Guido Masarotto <guido@hal.stat.unipd.it> up to June 2003.
     1247
     1248
     1249            GNU GENERAL PUBLIC LICENSE
     1250               Version 2, June 1991
     1251
     1252                        ...
     1253
     1254================================================================================
     1255 
     1256readline:
     1257    The Readline Library is free software; you can redistribute it and/or modify
     1258    it under the terms of the GNU General Public License as published by
     1259    the Free Software Foundation; either version 2, or (at your option)
     1260    any later version.
     1261 
     1262================================================================================
     1263 
     1264singular:
     1265
     1266                        SINGULAR version 3-0-4
     1267                     University of Kaiserslautern
     1268      Department of Mathematics and  Centre for Computer Algebra
     1269           Authors: G.-M. Greuel, G. Pfister, H. Schoenemann
     1270                        Copyright (C) 1986-2007
     1271
     1272                               *NOTICE*
     1273
     1274This program is free software; you can redistribute it and/or modify it
     1275under the terms of the GNU General Public License as published by the
     1276Free Software Foundation ( version 2 or version 3 of the License ).
     1277
     1278The following software used with SINGULAR have their own copyright: the
     1279omalloc library, the readline library, the Gnu Multiple Precision
     1280Library (GMP), NTL: A Library for doing Number Theory (NTL), the Multi
     1281Protocol library (MP), the Singular-Factory library, the
     1282Singular-libfac library, and, for the Windows distributions the Cygwin
     1283DLL and the Cygwin tools (Cygwin), and the XEmacs editor (XEmacs).
     1284
     1285Their copyrights and licenses can be found in the accompanying files
     1286which are distributed along with these packages.  (Since version 3-0-3
     1287of SINGULAR, all parts have GPL or LGPL as (one of) their licences.)
     1288
     1289This program is distributed in the hope that it will be useful, but
     1290WITHOUT ANY WARRANTY; without even the implied warranty of
     1291MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     1292General Public License for more details.
     1293
     1294You should have received a copy of the GNU General Public License along
     1295with this program; if not, write to the Free Software Foundation, Inc.,
     129659 Temple Place, Suite 330, Boston, MA  02111-1307  USA (see GPL)
     1297
     1298Please send any comments or bug reports to
     1299<singular@mathematik.uni-kl.de>.
     1300
     1301If you want to be informed of new releases,  please register yourself
     1302as a SINGULAR user by using the registration form on the SINGULAR
     1303homepage               `http://www.singular.uni-kl.de'.  If for some
     1304reason you cannot access the registration form, you can also register
     1305by sending an email to               <singular@mathematik.uni-kl.de>
     1306with subject line `register' and body containing the following data:
     1307 your name, email address, organisation, country and platform(s).
     1308
     1309For the citation of SINGULAR see
     1310`http://www.singular.uni-kl.de/how_to_cite.html', for information on
     1311how to cite Singular.
     1312
     1313You can also support SINGULAR by informing us about your result
     1314obtained by using SINGULAR.
     1315
     1316================================================================================
     1317
     1318sqlite:
     1319
     1320SQLite Copyright
     1321
     1322SQLite is in the Public Domain
     1323
     1324All of the deliverable code in SQLite has been dedicated to the public
     1325domain by the authors. All code authors, and representatives of the
     1326companies they work for, have signed affidavits dedicating their
     1327contributions to the public domain and originals of those signed
     1328affidavits are stored in a firesafe at the main offices of
     1329Hwaci. Anyone is free to copy, modify, publish, use, compile, sell, or
     1330distribute the original SQLite code, either in source code form or as
     1331a compiled binary, for any purpose, commercial or non-commercial, and
     1332by any means.
     1333
     1334The previous paragraph applies to the deliverable code in SQLite -
     1335those parts of the SQLite library that you actually bundle and ship
     1336with a larger application. Portions of the documentation and some code
     1337used as part of the build process might fall under other licenses. The
     1338details here are unclear. We do not worry about the licensing of the
     1339documentation and build code so much because none of these things are
     1340part of the core deliverable SQLite library.
     1341
     1342All of the deliverable code in SQLite has been written from
     1343scratch. No code has been taken from other projects or from the open
     1344internet. Every line of code can be traced back to its original
     1345author, and all of those authors have public domain dedications on
     1346file. So the SQLite code base is clean and is uncontaminated with
     1347licensed code from other projects.
     1348
     1349================================================================================
     1350 
     1351sympow:
     1352(http://www.maths.bris.ac.uk/~mamjw/)
     1353copyright Mark Watkins.
     1354Redistribution and use in source and binary forms, with or without
     1355modification, are permitted provided that the following conditions are met:
     1356 
     1357    * Redistributions of source code must retain the above copyright notice,
     1358      this list of conditions and the following disclaimer.
     1359    * Redistributions in binary form must reproduce the above copyright notice,
     1360      this list of conditions and the following disclaimer in the documentation
     1361      and/or other materials provided with the distribution.
     1362    * Neither the name of sympow nor the names of its contributors may be used
     1363      to endorse or promote products derived from this software without specific
     1364      prior written permission.
     1365 
     1366 
     1367================================================================================
     1368 
     1369termcap:
     1370(http://hpux.connect.org.uk/hppd/hpux/Development/Libraries/termcap-1.3.1/)
     1371License: GNU General Public License V2
     1372
     1373================================================================================
     1374tachyon:
     1375     http://jedi.ks.uiuc.edu/~johns/raytracer/
     1376
     1377The licensed included with the software is original BSD, which is not
     1378GPL compatible.  However, I wrote to John Stone, who responded:
     1379"John Stone <johns@ks.uiuc.edu>       
     1380to: William Stein <wstein@gmail.com>         
     1381date: Jun 1, 2007 8:06 PM             
     1382subject: Re: Fwd: Tachyon3d License   
     1383mailed-by: moline.ks.uiuc.edu
     1384
     1385William,
     1386
     1387Yes, I'll update the license for you and post a new version.  Please
     1388give me a couple of days as it's not convenient for me to take care of
     1389this right now.
     1390
     1391Cheers,
     1392 John Stone
     1393 johns@ks.uiuc.edu"
     1394
     1395--------------------
     1396
     1397Copyright (c) 1994-2003 John E. Stone
     1398All rights reserved.
     1399
     1400Redistribution and use in source and binary forms, with or without
     1401modification, are permitted provided that the following conditions
     1402are met:
     14031. Redistributions of source code must retain the above copyright
     1404   notice, this list of conditions and the following disclaimer.
     14052. Redistributions in binary form must reproduce the above copyright
     1406   notice, this list of conditions and the following disclaimer in the
     1407   documentation and/or other materials provided with the distribution.
     14083. All advertising materials mentioning features or use of this software
     1409   must display the following acknowledgement:
     1410     This product includes software developed by John E. Stone
     14114. The name of the author may not be used to endorse or promote products
     1412   derived from this software without specific prior written permission.
     1413
     1414THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
     1415OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     1416WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     1417ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
     1418DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     1419DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     1420OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     1421HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     1422LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     1423OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     1424SUCH DAMAGE.
     1425
     1426================================================================================
     1427termcap:
     1428
     1429Copyright notice:
     1430
     1431 (C) 1995-2004 Jean-loup Gailly and Mark Adler
     1432
     1433  This software is provided 'as-is', without any express or implied
     1434  warranty.  In no event will the authors be held liable for any damages
     1435  arising from the use of this software.
     1436
     1437  Permission is granted to anyone to use this software for any purpose,
     1438  including commercial applications, and to alter it and redistribute it
     1439  freely, subject to the following restrictions:
     1440
     1441  1. The origin of this software must not be misrepresented; you must not
     1442     claim that you wrote the original software. If you use this software
     1443     in a product, an acknowledgment in the product documentation would be
     1444     appreciated but is not required.
     1445  2. Altered source versions must be plainly marked as such, and must not be
     1446     misrepresented as being the original software.
     1447  3. This notice may not be removed or altered from any source distribution.
     1448
     1449  Jean-loup Gailly        Mark Adler
     1450  jloup@gzip.org          madler@alumni.caltech.edu
     1451
     1452If you use the zlib library in a product, we would appreciate *not*
     1453receiving lengthy legal documents to sign. The sources are provided
     1454for free but without warranty of any kind.  The library has been
     1455entirely written by Jean-loup Gailly and Mark Adler; it does not
     1456include third-party code.
     1457
     1458If you redistribute modified sources, we would appreciate that you include
     1459in the file ChangeLog history information documenting your changes. Please
     1460read the FAQ for more information on the distribution of modified source
     1461versions.
     1462 
     1463================================================================================
     1464twisted:
     1465
     1466Their license is this:
     1467
     1468Permission is hereby granted, free of charge, to any person obtaining
     1469a copy of this software and associated documentation files (the
     1470"Software"), to deal in the Software without restriction, including
     1471without limitation the rights to use, copy, modify, merge, publish,
     1472distribute, sublicense, and/or sell copies of the Software, and to
     1473permit persons to whom the Software is furnished to do so, subject to
     1474the following conditions:
     1475
     1476The above copyright notice and this permission notice shall be
     1477included in all copies or substantial portions of the Software.
     1478
     1479THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     1480EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     1481MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     1482NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
     1483LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
     1484OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
     1485WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     1486
     1487
     1488================================================================================
     1489 
     1490zlib:
     1491GPL compatible according to
     1492  http://www.fsf.org/licensing/licenses/index_html#GPLCompatibleLicenses
     1493
     1494Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler
     1495 
     1496  This software is provided 'as-is', without any express or implied
     1497  warranty.  In no event will the authors be held liable for any damages
     1498  arising from the use of this software.
     1499 
     1500  Permission is granted to anyone to use this software for any purpose,
     1501  including commercial applications, and to alter it and redistribute it
     1502  freely, subject to the following restrictions:
     1503 
     1504  1. The origin of this software must not be misrepresented; you must not
     1505     claim that you wrote the original software. If you use this software
     1506     in a product, an acknowledgment in the product documentation would be
     1507     appreciated but is not required.
     1508  2. Altered source versions must be plainly marked as such, and must not be
     1509     misrepresented as being the original software.
     1510  3. This notice may not be removed or altered from any source distribution.
     1511 
     1512  Jean-loup Gailly jloup@gzip.org
     1513  Mark Adler madler@alumni.caltech.edu
     1514 
     1515 
     1516================================================================================
     1517 
     1518zodb3
     1519:
     1520(http://www.zope.org/Wikis/ZODB/)
     1521Zope Public License
     1522
     1523This is GPL compatible according to
     1524   http://www.fsf.org/licensing/licenses/index_html#GPLCompatibleLicenses
     1525 
     1526Zope is made available under the Zope Public License. This license seeks
     1527to allow free use of Zope and its source given a few conditions for use.
     1528 
     1529Our goals are to allow Zope to flourish as an open source project while
     1530making sure that we get some credit for having originally developed Zope.
     1531 
     1532The 2.1 version of the license is reusable. It supports having a consistent
     1533license for Zope and third-party products without requiring 3rd-party
     1534developers to assign copyright to Zope Corporation.
     1535 
     1536It is important that add-on products for Zope be released under the ZPL.
     1537Why? Two reasons:
     1538 
     1539* The ZPL is a flexible license that supports both commercial and
     1540  non-commercial use of the software.
     1541* If Zope add-on products are released under the ZPL, then users of
     1542  Zope and the add-on products only have one license to worry about.
     1543  Keeping track of many different licenses is a burden to users.
     1544 
     1545Software can be released under multiple licenses. For example, software
     1546can be released under both the ZPL and the GPL.
     1547 
     1548We will update the Zope software to use ZPL 2.1. This does not change the
     1549rules for contributing to the Zope software repository. Contributions to the
     1550Zope repository will still be owned by "Zope Corporation and Contributors".
     1551 
     1552To use the ZPL 2.1 license, just include the license with your software
     1553and also include a separate copyright statement (sample).
     1554 
     1555We have updated to the 2.1 version. The license though, like Zope itself,
     1556is a work-in-progress. We would love to hear your ideas on the license.
     1557Please send your comments on the license to legal@zope.com.
     1558 
     1559This license has received OSD branding. Zope Corporation is working to
     1560stay true to the spirit of the Open Source Definition and its stated
     1561rationales. This license has been confirmed as GPL compatible by the FSF.
     1562 
     1563================================================================================
     1564 
  • new file other-scripts/root/README.txt

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/root/README.txt
    - +  
     1Hello,
     2
     3This README.txt describes build instructions for Sage. If you downloaded
     4a binary, you do not need to do anything; just execute
     5
     6    ./sage
     7
     8from the command line. If you downloaded the sources, please read
     9below on how to build Sage and work around common issues.
     10
     11
     12---------------------------------------------------------------------------
     13
     14    Sage: Open Source Mathematical Software
     15
     16       "Creating a Viable Open Source Alternative to
     17          Magma, Maple, Mathematica, and Matlab"
     18
     19    Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
     20    William Stein and the Sage Development Team
     21
     22    Distributed under the terms of the GNU General Public License (GPL)
     23
     24                  http://www.sagemath.org
     25
     26    If you have questions, do not hesitate to email the sage-support list
     27
     28         http://groups.google.com/group/sage-support
     29
     30    AUTHORS: Over 200 people have contributed code to Sage. Please see
     31    one of the websites above for a list. In many cases, documentation
     32    for modules and functions list the authors.
     33
     34---------------------------------------------------------------------------
     35
     36
     37QUICK INSTRUCTIONS TO BUILD FROM SOURCE
     38---------------------------------------
     39
     40The following steps briefly outline the process of building Sage from
     41source. See below for more detailed instructions.
     42
     431. Make sure you have the dependencies and 2.5 GB of free disk space.
     44
     45   Linux (install these using your package manager):
     46
     47       GCC, g++, make, m4, perl, ranlib, and tar.
     48
     49   OS X: XCode.  WARNING: If "gcc -v" outputs 4.0.0, you *must*
     50         upgrade XCode (free from Apple), since that version of GCC is
     51         very broken.
     52
     53   Microsoft Windows: Not supported yet.
     54
     55   NOTE: On some operating systems, it might be necessary to install
     56   gas/as, gld/ld, gnm/nm. On most platforms, these are automatically
     57   installed when you install the programs listed above. Only OS X
     58   >= 10.4.x and certain Linux distributions are 100% supported. See
     59   below for a complete list.
     60
     612. Extract the tarball:
     62
     63       tar -xvf sage-*.tar
     64
     653. cd into the Sage directory and type make:
     66
     67       cd sage-*
     68       make
     69
     70   That's it! Everything is automatic and non-interactive.
     71
     72
     73SELINUX
     74--------
     75
     76On Linux, if you get this error message:
     77
     78    " restore segment prot after reloc: Permission denied "
     79
     80the problem is probably related to SELinux. See the following URL for
     81further information:
     82
     83    http://www.ittvis.com/services/techtip.asp?ttid=3092
     84
     85
     86OFFICIALLY SUPPORTED PLATFORMS
     87------------------------------
     88
     89Building of Sage from source is regularly tested on (minimal installs
     90of) the following platforms:
     91
     92  PROCESSOR        OPERATING SYSTEM
     93  x86              32-bit Linux -- Debian, Ubuntu, CentOS (=Red Hat),
     94                                   Fedora, openSUSE, Mandriva, Arch
     95  x86_64           64-bit Linux -- Debian, Ubuntu, CentOS (=Red Hat),
     96                                   Fedora, openSUSE, Mandriva, Arch
     97  IA-64 Itanium 2  64-bit Linux -- Red Hat, SUSE
     98  x86              Apple Mac OS X 10.4.x, 10.5.x, 10.6.x
     99  PPC              Apple Mac OS X 10.4.x, 10.5.x, 10.6.x
     100  Sparc            Solaris 10
     101
     102Use Sage on Microsoft Windows via VMware.  Active work to port Sage to
     103Cygwin (Windows) is in progress.
     104
     105
     106NOT OFFICIALLY SUPPORTED, BUT NEARLY WORKS
     107------------------------------------------
     108
     109  PROCESSOR  OPERATING SYSTEM
     110  x86_64     Solaris 10 -- does not work yet
     111
     112
     113NOT SUPPORTED
     114-------------
     115
     116  * AIX
     117  * FreeBSD
     118  * Gentoo Linux -- though Sage will probably work fine
     119  * HP-UX
     120  * Microsoft Windows (via Cygwin) -- active port in progress
     121  * Microsoft Windows (via Visual Studio C++)
     122  * OpenSolaris
     123
     124There is some effort to port Sage to FreeBSD and HP-UX. We like all of
     125the above operating systems, but just haven't had the time to make
     126Sage work well on them. Help wanted! Please send an email to
     127
     128    http://groups.google.com/group/sage-devel
     129
     130if you are interested in helping port Sage to any of the above
     131platforms.
     132
     133
     134FORTRAN
     135-------
     136
     137To build Sage on any platform except OS X, you must use a system-wide
     138gfortran compiler.  Sometimes you need to explicitly tell the Sage
     139build process about the Fortran compiler and library location. Do this
     140by typing
     141
     142    export SAGE_FORTRAN=/exact/path/to/gfortran
     143    export SAGE_FORTRAN_LIB=/path/to/fortran/libs/libgfortran.so
     144
     145Note that the SAGE_FORTRAN environment variable is supposed to impact
     146*only* the Fortran Sage package, otherwise known as the Fortran
     147spkg. Apart from that, this variable is *not* designed to do anything
     148at all to other spkg's that use Fortran. For example, the Lapack spkg
     149uses Fortran, but the compilation process of Lapack should ignore the
     150SAGE_FORTRAN environment variable. The SAGE_FORTRAN environment
     151variable does not mean "build any spkg that uses Fortran using this
     152Fortran". It means "when installing the Fortran spkg, setup the
     153sage_fortran script to run the Fortran specified by the SAGE_FORTRAN
     154variable".
     155
     156
     157IMPLEMENTATION
     158--------------
     159
     160Sage has significant components written in the following languages:
     161C/C++, Python, Cython, Lisp, and Fortran. Lisp (ECL) and Python are
     162built as part of Sage and a GNU Fortran (gfortran) binary is included
     163(OS X only), so you do not need them in order to build Sage.
     164
     165
     166MORE DETAILED INSTRUCTIONS TO BUILD FROM SOURCE
     167-----------------------------------------------
     168
     1691. Make sure you have about 2.5 GB of free disk space.
     170
     1712. Linux: Install GCC, g++, m4, ranlib, and make. The build should
     172   work fine on openSUSE, Fedora, Ubuntu, etc. If it doesn't, we want
     173   to know!
     174
     175   OS X: Make sure you have XCode version >= 2.4, i.e. "gcc -v" should
     176         output build >= 5363. If you don't, go to
     177
     178              http://developer.apple.com/
     179
     180         sign up, and download the free XCode package. Only
     181         OS X >= 10.4 is supported.
     182
     183   Windows: Download and install VirtualBox, install Linux into it, etc.
     184
     1853. Extract the Sage source tarball and cd into a directory with no
     186   spaces in it. If you have a machine with 4 processors, say, type
     187   the following to configure the build script to perform a parallel
     188   compilation of Sage using 4 jobs:
     189
     190       export MAKE="make -j4"
     191
     192   To start the build, type
     193
     194       make
     195
     196   If you want to run the test suite for each individual spkg as it is
     197   installed, type
     198
     199       export SAGE_CHECK="yes"
     200
     201   before starting the Sage build. This will run each test suite and
     202   will raise an error if any failures occur.
     203
     2044. Wait about 1 hour to 14 days, depending on your computer (it took
     205   about 2 weeks to build Sage on the Google G1 Android cell phone).
     206
     2075. Type ./sage to try it out.
     208
     2096. OPTIONAL: Start Sage and run the command
     210
     211       install_scripts("/usr/local/bin/")   # change /usr/local/bin/
     212
     213   Type "install_scripts?" in Sage for more details about what this
     214   command does.
     215
     2167. OPTIONAL: Type "make test" to test all examples in the
     217   documentation (over 93,000 lines of input!) -- this takes from 30
     218   minutes to several hours. Don't get too disturbed if there are 2 to
     219   3 failures, but always feel free to email the section of test.log
     220   that contains errors to this mailing list:
     221
     222       http://groups.google.com/group/sage-support
     223
     224   If there are numerous failures, there was a serious problem with
     225   your build.
     226
     2278. OPTIONAL: Documentation -- If you want to (try to) build the
     228   documentation, run "sage -docbuild help" for instructions. The HTML
     229   version of the documentation is built during the compilation
     230   process of Sage and resides in the directory
     231
     232       SAGE_ROOT/devel/sage/doc/output/html
     233
     234   LaTeX is required to build the PDF version of the documentation.
     235
     2369. OPTIONAL: GAP -- It is highly recommended that you install the
     237   optional GAP database by typing
     238
     239       ./sage -optional
     240
     241   then installing (with ./sage -i) the package whose name begins with
     242   database_gap. This will download the package from
     243   sage.math.washington.edu and install it. While you're at it, you
     244   might install other databases of interest to you.
     245
     24610. OPTIONAL: It is recommended that you have both LaTeX and the
     247    ImageMagick tools (e.g. the "convert" command) installed since
     248    some plotting functionality benefits from it.
     249
     250
     251SUPPORTED COMPILERS
     252-------------------
     253
     254 * Sage builds with GCC >= 3.x, GCC >= 4.0.1, and GCC >= 4.1.x.
     255 * Sage will not build with GCC 2.9.x.
     256 * WARNING: Don't build with GCC 4.0.0, which is very buggy.
     257 * Sage has never been built without using the GCC compiler.
     258
     259
     260RELOCATION
     261----------
     262
     263You *should* be able to move the sage-x.y.z directory anywhere you
     264want. If you copy the sage script or make a symbolic link to it, you
     265should modify the script to reflect this (as instructed at the top of
     266the script). It is best if the path to Sage does not have any spaces in
     267it.
     268
     269For a system-wide installation, as root you can move the sage-x.y.z
     270directory to a system-wide directory. Afterwards, you need to start
     271up Sage as root at least once prior to using the system-wide Sage
     272as a normal user. See the Installation Guide for further
     273information on performing a system-wide installation.
     274
     275If you find anything that doesn't work correctly after you moved the
     276directory, please email http://groups.google.com/group/sage-support
     277
     278
     279REDISTRIBUTION
     280--------------
     281
     282Your local Sage install is almost exactly the same as any "developer"
     283install. You can make changes to documentation, source, etc., and very
     284easily package up the complete results for redistribution just like we do.
     285
     2861. You can make your own source tarball (sage-x.y.z.tar) of Sage by
     287   typing "sage -sdist x.y.z", where the version is whatever you want.
     288   The result is placed in SAGE_ROOT/dist.
     289
     2902. You can make a binary distribution with the packages you have
     291   installed by typing "sage -bdist x.y.z". The result is placed in
     292   the SAGE_ROOT/dist directory.
     293
     2943. Fat Binaries: To make a binary that will run on the widest range of
     295   target machines, set the SAGE_FAT_BINARY environment variable to
     296   "yes" before building Sage:
     297
     298       export SAGE_FAT_BINARY="yes"
     299       make
     300       ./sage -bdist x.y.z-fat
     301
     302
     303CHANGES TO INCLUDED SOFTWARE
     304----------------------------
     305
     306All software included with Sage is copyright by the respective authors
     307and released under an open source license that is "GPL version 3 or
     308later"q compatible. See the file COPYING.txt for more details.
     309
     310Each spkg in SAGE_ROOT/spkg/standard/ is a bzip'd tarball. You can
     311extract it with
     312
     313    tar -jxvf name-*.spkg
     314
     315Inside the spkg, there is a file SPKG.txt that details all changes
     316made to the given package for inclusion with Sage. The inclusion of
     317such a file detailing changes is specifically required by some of the
     318packages included with Sage (e.g. for GAP).
     319
     320
     321REVISION CONTROL
     322----------------
     323
     324The text files in this directory -- COPYING.txt, README.txt, makefile,
     325sage, and sage-README-osx.txt -- are under revision control, but you
     326need to edit the corresponding files in local/bin/other-scripts/root/.
     327Then the new files will be incorporated into the sage_scripts spkg
     328file by running "sage -sdist ...".
  • new file other-scripts/root/makefile

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/root/makefile
    - +  
     1# NUM_THREADS is the number of threads to use for parallel testing (and
     2# sometime in the future, parallel building).  If this is 0, then it
     3# will be set to the number of processors, with a default maximum of 8
     4# -- see sage-ptest.
     5#
     6# The detection of number of processors might not be reliable on some
     7# platforms. On a Sun SPARC T5240 (t2.math), the number of processors
     8# reported by multiprocessing.cpu_count() might not correspond to the
     9# actual number of processors. See ticket #6283.
     10#
     11# WARNING: if your machine has <= 8 cpus (according to cpu_count() and
     12# you *don't* want to use that many threads for parallel doctesting,
     13# change the value of NUM_THREADS to a (sensible) positive integer. If
     14# cpu_count() reports > 8, then if NUM_THREADS is 0, only 8 threads will
     15# be used. The default value is zero.
     16NUM_THREADS=0 # 0 interpreted as min(8, multiprocessing.cpu_count())
     17
     18all: build doc
     19
     20build:
     21        cd spkg && ./install all 2>&1 | tee -a ../install.log
     22
     23doc:    doc-html
     24
     25doc-html: build
     26        ./sage -docbuild all html $(SAGE_DOCBUILD_OPTS) 2>&1 | tee -a dochtml.log
     27
     28doc-html-jsmath: build
     29        ./sage -docbuild all html -j $(SAGE_DOCBUILD_OPTS) 2>&1 | tee -a dochtml.log
     30
     31doc-pdf: build
     32        ./sage -docbuild all pdf $(SAGE_DOCBUILD_OPTS) 2>&1 | tee -a docpdf.log
     33
     34doc-clean:
     35        rm -rf devel/sage/doc/output
     36
     37clean:
     38        echo "Deleted spkg/build"
     39        rm -rf spkg/build
     40        mkdir -p spkg/build
     41        echo "Deleted spkg/archive"
     42        rm -rf spkg/archive
     43        mkdir -p spkg/archive
     44
     45distclean:
     46        make clean
     47        rm -rf local
     48        rm -rf spkg/installed/*
     49        rm -rf spkg/logs/*
     50        rm -f install.log
     51        rm -f test.log testall.log testlong.log ptest.log ptestlong.log
     52        rm -rf data
     53        rm -rf dist
     54        rm -rf devel
     55        rm -rf doc
     56        rm -rf examples
     57        rm -rf sage-python
     58        rm -rf spkg/build
     59        rm -rf spkg/archive
     60        rm -rf ipython
     61        rm -rf matplotlibrc
     62        rm -rf tmp
     63
     64TESTPRELIMS=. local/bin/sage-env && sage-starts &&
     65TESTDIRS=devel/sage/doc/common devel/sage/doc/en devel/sage/doc/fr devel/sage/sage
     66
     67test: all
     68        $(TESTPRELIMS) sage-maketest
     69
     70check: test
     71
     72testoptional: all
     73        ./sage -b
     74        $(TESTPRELIMS) ./sage -t -sagenb -optional $(TESTDIRS) 2>&1 | tee -a testall.log
     75
     76testlong: all
     77        ./sage -b
     78        $(TESTPRELIMS) ./sage -t -sagenb -long $(TESTDIRS) 2>&1 | tee -a testlong.log
     79
     80ptest: all
     81        $(TESTPRELIMS) ./sage -tp $(NUM_THREADS) -sagenb $(TESTDIRS) 2>&1 | tee -a ptest.log
     82
     83ptestall: all
     84        $(TESTPRELIMS) ./sage -tp $(NUM_THREADS) -sagenb -optional $(TESTDIRS) 2>&1 | tee -a ptest.log
     85
     86ptestlong: all
     87        $(TESTPRELIMS) ./sage -tp $(NUM_THREADS) -sagenb -long $(TESTDIRS) 2>&1 | tee -a ptestlong.log
     88
     89install:
     90        echo "Experimental use only!"
     91        if [ "$(DESTDIR)" = "" ]; then \
     92                echo "Set DESTDIR"; \
     93                exit 1; \
     94        fi
     95        mkdir -p $(DESTDIR)
     96        mkdir -p $(DESTDIR)/sage
     97        mkdir -p $(DESTDIR)/bin/
     98        cp -rpv * $(DESTDIR)/sage/
     99        python local/bin/sage-hardcode_sage_root $(DESTDIR)/sage/sage "$(DESTDIR)"/sage
     100        cp $(DESTDIR)/sage/sage $(DESTDIR)/bin/
     101        cd $(DESTDIR)/bin/; ./sage -c
     102
     103.PHONY: all build doc doc-html doc-html-jsmath doc-pdf doc-clean clean  \
     104        distclean test check testoptional testlong ptestall ptestlong   \
     105        install makefile
  • new file other-scripts/root/sage

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/root/sage
    - +  
     1#!/usr/bin/env bash
     2
     3# Set SAGE_ROOT to the location of the sage install.
     4SAGE_ROOT="....."
     5
     6CUR="`pwd`"   # save the current directory, so can change back after startup
     7
     8if [ "x$CUR" = "x" ]; then
     9    echo "**************************************************************"
     10    echo " Error: the current working directory does not exist. Please  "
     11    echo " run sage again from an existing directory.                   "
     12    echo "**************************************************************"
     13    exit 1
     14fi
     15
     16if [ "$SAGE_ROOT" = "....." ];  then
     17    SAGE_ROOT=`readlink -n "$0" 2> /dev/null` || \
     18    SAGE_ROOT=`realpath    "$0" 2> /dev/null` || \
     19    SAGE_ROOT="$0"
     20
     21    SAGE_ROOT="${SAGE_ROOT%/*}/"
     22
     23    if [ ! -f "$SAGE_ROOT/local/bin/sage-sage" ]; then
     24        echo "**************************************************************************"
     25        echo "You must compile Sage first using 'make' in the Sage root directory." >&2
     26        echo "(If you have already compiled Sage, you must set the SAGE_ROOT variable in "
     27        echo "the file '$0')".
     28        echo "**************************************************************************"
     29        exit 1
     30    fi
     31fi
     32
     33# Make root absolute:
     34cd "$SAGE_ROOT"
     35SAGE_ROOT=`pwd`
     36export SAGE_ROOT
     37export CUR
     38
     39"$SAGE_ROOT/local/bin/sage-sage" "$@"
     40
     41# This should kill all children of this process too.
     42# Uncomment this if you have trouble with orphans.
     43# Note that you'll get an annoying "Killed" message
     44# whenever Sage exits.
     45# kill -9 -$$
  • new file other-scripts/root/sage-README-osx.txt

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/root/sage-README-osx.txt
    - +  
     1This is Sage -- open source mathematical software.
     2
     3         http://www.sagemath.org
     4
     5**
     6  These binaries are only for the OS X version that is indicated by the package .dmg name.
     7  They generally will not work on any other OS X version (unless explicitly stated otherwise).
     8**
     9
     101) Download the dmg somewhere and double click on it.
     11
     122) Drag the sage folder somewhere, e.g., /Applications
     13
     14 ** WARNING ** If you get an error copying the folder do the following:
     15    Do not drag the the folder out of the dmg image. Use the
     16    shell (via Terminal) and do a
     17     "cp -R -P /Volumes/sage-2.9.2-OSX10.4-intel-i386-Darwin/sage ."
     18    from the location where you want to install to. Adjust the name of the
     19    Volume as needed.
     20
     213) Use finder to visit the sage folder you just copied it and double click on the "sage" icon.
     22
     234) Select to run it with "Terminal":
     24     Choose Applications, then select "All Applications" in the
     25     "Enable:" drop down.  Change the "Applications" drop down
     26     to "Utilities".  On the left, scroll and select "Terminal".
     27     Click "Open", then in the next dialog select "Update".
     28
     295) Sage should pop up in a window.
     30
     316) For the graphical notebook, type
     32     notebook()
     33   You might have to open Firefox or Safari (your choice)
     34   to the URL
     35       http://localhost:8000
     36   to use Sage on your computer.
     37
     387) Email
     39      http://groups.google.com/group/sage-support
     40   with any questions. 
     41
     42
     43If you're an OS X guru and want to make steps 4--6 much nicer,
     44join sage-devel and tell us.  You'll be greatly appreciated
     45by a lot of people!
     46           http://groups.google.com/group/sage-devel
  • new file other-scripts/spkg/README.txt

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/spkg/README.txt
    - +  
     1Sage .spkg files
     2================
     3
     4The directory SAGE_ROOT/spkg/standard contains spkg's. In a source
     5install, these are all Sage spkg files (actually .tar or .tar.bz2
     6files), which are the source code that defines Sage. In a binary
     7install some of these may be small placeholder files to save space.
     8
     9Sage packages are distributed as .spkg files, which are .tar.bz2 files
     10(or tar files) but have the extension .spkg to discourage
     11confusion. Although Sage packages are packed using tar and/or bzip2,
     12please note that .spkg files contain control information (installation
     13scripts and metadata) that are necessary for building and installing
     14them. For source distributions, when you compile Sage the file
     15SAGE_ROOT/makefile takes care of the unpacking, compilation, and
     16installation of Sage packages for you. For more information on the
     17structure of .spkg files, please refer to the Sage Developer's Guide
     18in your local installation of Sage at
     19
     20SAGE_ROOT/sage/doc/output/html/en/developer/index.html
     21
     22If you cannot locate that file in your local installation of Sage, you
     23might want to consider (re)building the standard Sage documentation
     24using this command:
     25
     26SAGE_ROOT/sage -docbuild all html
     27
     28or visit the URL
     29
     30http://www.sagemath.org/doc/developer/
     31
     32Additional Sage packages can be found at
     33
     34http://www.sagemath.org/download-packages.html
     35
     36
     37Revision control information:
     38=============================
     39The files
     40
     41  README.txt, gen_html, install, pipestatus, standard/README.txt,
     42  standard/deps, standard/libdist_filelist, standard/newest_version
     43
     44are under revision control: edit the appropriate files in the
     45directory $SAGE_ROOT/local/bin/other-scripts/spkg/.  Then the new
     46files will be incorporated into the sage_scripts spkg file by running
     47"sage -sdist ...".
  • new file other-scripts/spkg/gen_html

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/spkg/gen_html
    - +  
     1#!/usr/bin/env python
     2
     3import os
     4
     5cur = os.path.abspath(os.curdir)
     6
     7def archive_directories():
     8    for F in os.listdir('.'):
     9        if os.path.isdir(F):
     10            cmd = "mv -v %s ../archive/"%F
     11            print cmd
     12            os.system(cmd)
     13
     14def package_name(F):
     15    i = F.find("-")
     16    if i == -1:
     17        return F
     18    return F[:i]
     19
     20def archive_all_but_newest(F, D):
     21    if not os.path.exists(F):
     22        return
     23    if not os.path.exists("../archive/"):
     24        os.makedirs("../archive/")
     25    name = package_name(F)
     26    versions = [(os.path.getmtime(m), m) for m in D if os.path.exists(m) and package_name(m) == name]
     27    versions.sort()
     28    for G in versions[:-1]:
     29        print "Archiving %s..."%G[1]
     30        cmd = "mv %s.* ../archive/"%G[1][:-5]
     31        print cmd
     32        os.system(cmd)
     33
     34def index(dir):
     35    os.chdir(dir)
     36    if dir != 'archive':
     37        archive_directories()
     38    s = '<html><title>SAGE %s Packages</title>\n<body>\n<h1 align=center><a href="..">SAGE %s Packages</a></h1>\n'%(dir.capitalize(), dir.capitalize())
     39    if dir == 'experimental':
     40        s += "<h1 align=center>These are EXPERIMENTAL!  They probably won't work at all for you!  Use at your own risk!  Many of these have *never* been successfully built on any platform!  (But still, if you can figure out how to build them, I'd like to know about it.)   These also my not be available under a GPL-compatible license.</h1>"
     41    s += "<table width=70% bgcolor=black cellpadding=10 align=center><tr><td bgcolor=white>\n"
     42    if dir != 'standard':
     43        s += "To install one of these packages, type e.g., the following at the UNIX shell prompt:"
     44        s += "<pre>        sage -i db-jones-2005-11-02</pre>"
     45        s += "Note that the package name contains the version number, and it "
     46        s += "will be downloaded automatically if necessary."
     47    else:
     48        s += "To upgrade to the latest versions of all these packages, at the UNIX shell prompt type:"
     49        s += "<pre>        sage -upgrade</pre>"
     50    s += "\n</tr></td></table><br><hr><br>\n"
     51       
     52    s += '<table align=center width=100% bgcolor=black cellpadding=10>\n'
     53    D = [F for F in os.listdir('.') if F[-5:] == ".spkg"]
     54    D.sort()
     55    for F in D:
     56        if dir != 'archive':
     57            archive_all_but_newest(F, D)
     58        if not os.path.exists(F):
     59            continue
     60        txt = "%s.txt"%F[:-5]
     61        if os.path.exists(txt):
     62            O = open(txt).read()
     63            i = O.find('\n')
     64            if i != -1:
     65                desc = O[:i]
     66                details = O[i+1:]               
     67            else:
     68                desc = O
     69                details = ""
     70            X = open("%s.html"%F[:-5], 'w')
     71            t = '<html><title>%s</title>\n<body>\n<h1 align=center><a href="../">SAGE Package</a>: %s</h1>\n'%(F[:-5], F[:-5])
     72            t += '<hr><h2 align=center><a href="../%s/%s">%s</a>: %s</h2><hr><br>'%(dir, F, F[:-5], desc)
     73            t += '<table align=center cellpadding=15><tr><td>%s</td></tr></table>'%details
     74            t += '</body></html>'
     75            X.write(t)
     76        else:
     77            desc = ''
     78        s += '<tr><td bgcolor=white><a href="%s">%s</a></td><td bgcolor=white><a href="%s.html">%s</a></td></tr>\n'%(F,F[:-5],F[:-5],desc)
     79    s += '\n</table>\n'
     80    if os.path.exists('deps'):
     81        s += '<br><center><a href="deps">Dependency File</a></center>\n'
     82    s += '\n</body></html>\n'
     83    open('index.html','w').write(s)
     84    open('list','w').write('\n'.join([F[:-5] for F in D]))
     85   
     86    os.chdir(cur)
     87
     88index('standard')
     89index('optional')
     90index('experimental')
     91index('archive')
  • new file other-scripts/spkg/install

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/spkg/install
    - +  
     1#!/usr/bin/env bash
     2
     3CUR=`pwd`
     4cd ..
     5SAGE_ROOT=`pwd`
     6# Storing the start time of the build process. The time is stored in
     7# seconds since 1970-01-01 in a hidden file called
     8# "SAGE_ROOT/.BUILDSTART". See ticket #6744.
     9echo `date -u "+%s"` > .BUILDSTART
     10cd "$CUR"
     11SAGE_LOCAL="$SAGE_ROOT/local"
     12SAGE_LOGS="$SAGE_ROOT/spkg/logs"
     13PATH="$SAGE_ROOT:$SAGE_LOCAL/bin:$PATH"
     14PYTHONPATH="$SAGE_LOCAL"
     15PKGDIR=standard
     16export PATH SAGE_ROOT SAGE_LOCAL SAGE_LOGS PYTHONPATH
     17
     18if [ ! -f "$SAGE_LOCAL/bin/sage-spkg" ]; then
     19    if [ ! -d "$SAGE_LOCAL" ]; then
     20        mkdir "$SAGE_LOCAL"
     21    fi
     22    if [ ! -d "$SAGE_LOCAL/bin" ]; then
     23        mkdir "$SAGE_LOCAL/bin"
     24    fi
     25    cp base/sage-* base/testcc.sh base/testcxx.sh "$SAGE_LOCAL/bin/"
     26fi
     27
     28if [ ! -d "$SAGE_LOGS" ]; then
     29    mkdir -p "$SAGE_LOGS"
     30fi
     31
     32############
     33# Setup environment variables pointing to the newest versions
     34# of the base packages
     35############
     36newest="$PKGDIR/newest_version -base "
     37
     38SAGE_BZIP2=`$newest bzip2`
     39export SAGE_BZIP2
     40
     41DIR=`$newest dir`
     42export DIR
     43
     44PREREQ=`$newest prereq`
     45export PREREQ
     46
     47############
     48# Setup environment variables pointing to the newest versions
     49# of the standard packages
     50############
     51newest="$PKGDIR/newest_version"
     52
     53ATLAS=`$newest atlas`
     54export ATLAS
     55
     56BLAS=`$newest blas`
     57export BLAS
     58
     59BOEHM_GC=`$newest boehm_gc`
     60export BOEHM_GC
     61
     62BOOST_CROPPED=`$newest boost-cropped`
     63export BOOST_CROPPED
     64
     65CEPHES=`$newest cephes`
     66export CEPHES
     67
     68CLIQUER=`$newest cliquer`
     69export CLIQUER
     70
     71CDDLIB=`$newest cddlib`
     72export CDDLIB
     73
     74ECL=`$newest ecl`
     75export ECL
     76
     77CONWAY=`$newest conway_polynomials`
     78if [ $? -ne 0 ]; then
     79    echo "Error determining package name using spkg/standard/newest_version script."
     80    exit 1
     81fi
     82export CONWAY
     83
     84ECLIB=`$newest eclib`
     85export ECLIB
     86
     87ELLIPTIC_CURVES=`$newest elliptic_curves`
     88export ELLIPTIC_CURVES
     89
     90CVXOPT=`$newest cvxopt`
     91export CVXOPT
     92
     93DOCUTILS=`$newest docutils`
     94export DOCUTILS
     95
     96ECM=`$newest ecm`
     97export ECM
     98
     99EXAMPLES=`$newest examples`
     100export EXAMPLES
     101
     102EXTCODE=`$newest extcode`
     103export EXTCODE
     104
     105F2C=`$newest f2c`
     106export F2C
     107
     108ICONV=`$newest iconv`
     109export ICONV
     110
     111#############
     112# This is all for GNUtls crypto
     113LIBGCRYPT=`$newest libgcrypt`
     114export LIBGCRYPT
     115
     116OPENCDK=`$newest opencdk`
     117export OPENCDK
     118
     119GNUTLS=`$newest gnutls`
     120export GNUTLS
     121
     122LIBGPG_ERROR=`$newest libgpg_error`
     123export LIBGPG_ERROR
     124
     125PYGMENTS=`$newest pygments`
     126export PYGMENTS
     127
     128PYTHON_GNUTLS=`$newest python_gnutls`
     129export PYTHON_GNUTLS
     130############# end gnutls crypto
     131
     132PIL=`$newest pil`
     133export PIL
     134
     135LIBM4RI=`$newest libm4ri`
     136export LIBM4RI
     137
     138FORTRAN=`$newest fortran`
     139export FORTRAN
     140
     141FPLLL=`$newest libfplll`
     142export FPLLL
     143
     144FREETYPE=`$newest freetype`
     145export FREETYPE
     146
     147GAP=`$newest gap`
     148export GAP
     149
     150G2RED=`$newest genus2reduction`
     151export G2RED
     152
     153GD=`$newest gd`
     154export GD
     155
     156GDMODULE=`$newest gdmodule`
     157export GDMODULE
     158
     159GFAN=`$newest gfan`
     160export GFAN
     161
     162GIVARO=`$newest givaro`
     163export GIVARO
     164
     165MPIR=`$newest mpir`
     166export MPIR
     167
     168GRAPHS=`$newest graphs`
     169export GRAPHS
     170
     171GSL=`$newest gsl`
     172export GSL
     173
     174IPYTHON=`$newest ipython`
     175export IPYTHON
     176
     177LAPACK=`$newest lapack`
     178export LAPACK
     179
     180LCALC=`$newest lcalc`
     181export LCALC
     182
     183LIBPNG=`$newest libpng`
     184export LIBPNG
     185
     186LINBOX=`$newest linbox`
     187export LINBOX
     188
     189IML=`$newest iml`
     190export IML
     191
     192JINJA=`$newest jinja`
     193export JINJA
     194
     195JINJA2=`$newest jinja2`
     196export JINJA2
     197
     198MATPLOTLIB=`$newest matplotlib`
     199export MATPLOTLIB
     200
     201MAXIMA=`$newest maxima`
     202export MAXIMA
     203
     204MERCURIAL=`$newest mercurial`
     205export MERCURIAL
     206
     207MPFI=`$newest mpfi`
     208export MPFI
     209
     210MOIN=`$newest moin`
     211export MOIN
     212
     213MPFR=`$newest mpfr`
     214export MPFR
     215
     216MPMATH=`$newest mpmath`
     217export MPMATH
     218
     219NETWORKX=`$newest networkx`
     220export NETWORKX
     221
     222NUMPY=`$newest numpy`
     223export NUMPY
     224
     225NTL=`$newest ntl`
     226export NTL
     227
     228#OPENSSL=`$newest openssl`
     229#export OPENSSL
     230
     231#PYOPENSSL=`$newest pyopenssl`
     232#export PYOPENSSL
     233
     234PALP=`$newest palp`
     235export PALP
     236
     237PARI=`$newest pari`
     238export PARI
     239
     240PEXPECT=`$newest pexpect`
     241export PEXPECT
     242
     243POLYBORI=`$newest polybori`
     244export POLYBORI
     245
     246PYNAC=`$newest pynac`
     247export PYNAC
     248
     249CYTHON=`$newest cython`
     250export CYTHON
     251
     252RATPOINTS=`$newest ratpoints`
     253export RATPOINTS
     254
     255SAGENB=`$newest sagenb`
     256export SAGENB
     257
     258SAGETEX=`$newest sagetex`
     259export SAGETEX
     260
     261SPHINX=`$newest sphinx`
     262export SPHINX
     263
     264SQLALCHEMY=`$newest sqlalchemy`
     265export SQLALCHEMY
     266
     267SQLITE=`$newest sqlite`
     268export SQLITE
     269
     270FLINTQS=`$newest flintqs`
     271export FLINTQS
     272
     273FLINT=`$newest flint`
     274export FLINT
     275
     276POLYTOPES_DB=`$newest polytopes_db`
     277export POLYTOPES_DB
     278
     279PYCRYPTO=`$newest pycrypto`
     280export PYCRYPTO
     281
     282PYTHON=`$newest python`
     283export PYTHON
     284
     285R=`$newest r`
     286export R
     287
     288READLINE=`$newest readline`
     289export READLINE
     290
     291RUBIKS=`$newest rubiks`
     292export RUBIKS
     293
     294SAGE=`$newest sage`
     295export SAGE
     296
     297SAGE_SCRIPTS=`$newest sage_scripts`
     298export SAGE_SCRIPTS
     299
     300SCIPY=`$newest scipy`
     301export SCIPY
     302
     303SCIPY_SANDBOX=`$newest scipy_sandbox`
     304export SCIPY_SANDBOX
     305
     306TACHYON=`$newest tachyon`
     307export TACHYON
     308
     309TWISTED=`$newest twisted`
     310export TWISTED
     311
     312SCONS=`$newest scons`
     313export SCONS
     314
     315SETUPTOOLS=`$newest setuptools`
     316export SETUPTOOLS
     317
     318SINGULAR=`$newest singular`
     319export SINGULAR
     320
     321SYMPOW=`$newest sympow`
     322export SYMPOW
     323
     324SYMPY=`$newest sympy`
     325export SYMPY
     326
     327SYMMETRICA=`$newest symmetrica`
     328export SYMMETRICA
     329
     330TERMCAP=`$newest termcap`
     331export TERMCAP
     332
     333WEAVE=`$newest weave`
     334export WEAVE
     335
     336ZLIB=`$newest zlib`
     337export ZLIB
     338
     339ZODB=`$newest zodb3`
     340export ZODB
     341
     342ZNPOLY=`$newest zn_poly`
     343export ZNPOLY
     344
     345########
     346# NOW do the actual build
     347if [ "$SAGE_PARALLEL_SPKG_BUILD" = "yes" ] && [ -n "$MAKE" ]; then
     348    time $MAKE -f standard/deps $1
     349else
     350    time make -f standard/deps $1
     351fi
     352
     353# added by Burcin Erocal, see trac #6295.
     354if [ $? -ne 0 ]; then
     355    echo "Error building Sage."
     356    exit 1
     357fi
     358
     359if [ "$1" = "all" -a $? = 0 ]; then
     360    echo "To install gap, gp, singular, etc., scripts"
     361    echo "in a standard bin directory, start sage and"
     362    echo "type something like"
     363    echo "   sage: install_scripts('/usr/local/bin')"
     364    echo "at the Sage command prompt."
     365    echo ""
     366    echo "To build the documentation, run"
     367    echo "   make doc"
     368    echo ""
     369    echo "Sage build/upgrade complete!"
     370fi
  • new file other-scripts/spkg/pipestatus

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/spkg/pipestatus
    - +  
     1#!/usr/bin/env bash
     2
     3if [ -z "$1" ]; then
     4    echo "Run two commands in a pipeline 'CMD1 | CMD2' and exit"
     5    echo "with the exit status of CMD1, *not* that of CMD2."
     6    echo "$0 cmd1 cmd2"
     7    exit
     8fi
     9
     10# This is useful, for example, in a makefile, where we tee the output
     11# of a build command to a log file.  Because $? is the exit status of
     12# the last command in a pipeline, make won't stop if tee succeeds but
     13# a preceding command in the pipeline fails.
     14
     15VER=${BASH_VERSINFO[0]}
     16
     17if [ $VER -gt 2 ]; then
     18    # Use bash 3.0's pipefail option.
     19    (set -o pipefail; eval "$1 | $2")
     20    exit $?
     21else
     22    # Use redirection.  Adapted from the comp.unix.shell FAQ.  See
     23    # http://www.unix.com/shell-programming-scripting/92163-command-does-not-return-exit-status-due-tee.html
     24    exec 3>&1
     25    eval `
     26    exec 4>&1 >&3 3>&-
     27    {
     28        eval "$1" 4>&-; echo "ES1=$?;" >&4
     29    } | eval "$2"
     30    echo "ES2=$?;" >&4
     31    `
     32    exit $ES1
     33fi
  • new file other-scripts/spkg/standard/README.txt

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/spkg/standard/README.txt
    - +  
     1See the README.txt in the above directory.
  • new file other-scripts/spkg/standard/deps

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/spkg/standard/deps
    - +  
     1INST = installed
     2SAGE_SPKG = sage-spkg
     3INSTALL = $(SAGE_ROOT)/spkg/pipestatus
     4
     5########################################
     6# The base system; required in order to run sage-spkg
     7########################################
     8BASE = $(INST)/$(PREREQ) $(INST)/$(DIR) $(INST)/$(SAGE_BZIP2)       
     9
     10# Also install scripts before we continue with other spkgs
     11BASE += $(INST)/$(SAGE_SCRIPTS)
     12
     13# Tell make not to look for files with these (base)names:
     14.PHONY: all base scripts
     15
     16# Targets
     17all: $(BASE) \
     18     $(INST)/$(ATLAS) \
     19     $(INST)/$(BLAS) \
     20     $(INST)/$(BOEHM_GC) \
     21     $(INST)/$(BOOST_CROPPED) \
     22     $(INST)/$(CDDLIB) \
     23     $(INST)/$(CEPHES) \
     24     $(INST)/$(CLIQUER) \
     25     $(INST)/$(CONWAY) \
     26     $(INST)/$(CVXOPT) \
     27     $(INST)/$(CYTHON) \
     28     $(INST)/$(DOCUTILS) \
     29     $(INST)/$(ECL) \
     30     $(INST)/$(ECLIB) \
     31     $(INST)/$(ECM) \
     32     $(INST)/$(ELLIPTIC_CURVES) \
     33     $(INST)/$(EXAMPLES) \
     34     $(INST)/$(EXTCODE) \
     35     $(INST)/$(F2C) \
     36     $(INST)/$(FLINT) \
     37     $(INST)/$(FLINTQS) \
     38     $(INST)/$(FORTRAN) \
     39     $(INST)/$(FPLLL) \
     40     $(INST)/$(FREETYPE) \
     41     $(INST)/$(G2RED) \
     42     $(INST)/$(GAP) \
     43     $(INST)/$(GD) \
     44     $(INST)/$(GDMODULE) \
     45     $(INST)/$(GFAN) \
     46     $(INST)/$(GIVARO) \
     47     $(INST)/$(GLPK) \
     48     $(INST)/$(GNUTLS) \
     49     $(INST)/$(GRAPHS) \
     50     $(INST)/$(GSL) \
     51     $(INST)/$(ICONV) \
     52     $(INST)/$(IML) \
     53     $(INST)/$(IPYTHON) \
     54     $(INST)/$(JINJA) \
     55     $(INST)/$(JINJA2) \
     56     $(INST)/$(LAPACK) \
     57     $(INST)/$(LCALC) \
     58     $(INST)/$(LIBGCRYPT) \
     59     $(INST)/$(LIBGPG_ERROR) \
     60     $(INST)/$(LIBM4RI) \
     61     $(INST)/$(LIBPNG) \
     62     $(INST)/$(LINBOX) \
     63     $(INST)/$(MATPLOTLIB) \
     64     $(INST)/$(MAXIMA) \
     65     $(INST)/$(MERCURIAL) \
     66     $(INST)/$(MOIN) \
     67     $(INST)/$(MPFI) \
     68     $(INST)/$(MPFR) \
     69     $(INST)/$(MPIR) \
     70     $(INST)/$(MPMATH) \
     71     $(INST)/$(NETWORKX) \
     72     $(INST)/$(NTL) \
     73     $(INST)/$(NUMPY) \
     74     $(INST)/$(OPENCDK) \
     75     $(INST)/$(PALP) \
     76     $(INST)/$(PARI) \
     77     $(INST)/$(PEXPECT) \
     78     $(INST)/$(PIL) \
     79     $(INST)/$(POLYBORI) \
     80     $(INST)/$(POLYTOPES_DB) \
     81     $(INST)/$(PYCRYPTO) \
     82     $(INST)/$(PYGMENTS) \
     83     $(INST)/$(PYNAC) \
     84     $(INST)/$(PYTHON) \
     85     $(INST)/$(PYTHON_GNUTLS) \
     86     $(INST)/$(RATPOINTS) \
     87     $(INST)/$(R) \
     88     $(INST)/$(READLINE) \
     89     $(INST)/$(RUBIKS) \
     90     $(INST)/$(SAGE) \
     91     $(INST)/$(SAGE_SCRIPTS) \
     92     $(INST)/$(SAGENB) \
     93     $(INST)/$(SAGETEX) \
     94     $(INST)/$(SCIPY) \
     95     $(INST)/$(SCIPY_SANDBOX) \
     96     $(INST)/$(SCONS) \
     97     $(INST)/$(SETUPTOOLS) \
     98     $(INST)/$(SINGULAR) \
     99     $(INST)/$(SPHINX) \
     100     $(INST)/$(SQLALCHEMY) \
     101     $(INST)/$(SQLITE) \
     102     $(INST)/$(SYMMETRICA) \
     103     $(INST)/$(SYMPOW) \
     104     $(INST)/$(SYMPY) \
     105     $(INST)/$(TACHYON) \
     106     $(INST)/$(TERMCAP) \
     107     $(INST)/$(TWISTED) \
     108     $(INST)/$(WEAVE) \
     109     $(INST)/$(ZLIB) \
     110     $(INST)/$(ZNPOLY) \
     111     $(INST)/$(ZODB)
     112
     113base: $(BASE)
     114
     115scripts: $(BASE)
     116
     117########################################
     118# Building the base system
     119########################################
     120$(INST)/$(DIR):
     121        $(INSTALL) "base/$(DIR)-install 2>&1" "tee -a $(SAGE_LOGS)/$(DIR).log"
     122
     123$(INST)/$(PREREQ): $(INST)/$(DIR)
     124        $(INSTALL) "base/$(PREREQ)-install 2>&1" "tee -a $(SAGE_LOGS)/$(PREREQ).log"
     125
     126$(INST)/$(SAGE_BZIP2): $(INST)/$(PREREQ) $(INST)/$(DIR)
     127        $(INSTALL) "base/$(SAGE_BZIP2)-install 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_BZIP2).log"
     128
     129$(INST)/$(SAGE_SCRIPTS): $(INST)/$(SAGE_BZIP2) $(INST)/$(PREREQ) \
     130                         $(INST)/$(DIR)
     131        $(INSTALL) "$(SAGE_SPKG) $(SAGE_SCRIPTS) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_SCRIPTS).log"
     132
     133########################################
     134# Building normal packages
     135########################################
     136$(INST)/$(ATLAS): $(BASE) $(INST)/$(LAPACK) $(INST)/$(PYTHON)
     137        $(INSTALL) "$(SAGE_SPKG) $(ATLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(ATLAS).log"
     138
     139$(INST)/$(BOEHM_GC): $(BASE)
     140        $(INSTALL) "$(SAGE_SPKG) $(BOEHM_GC) 2>&1" "tee -a $(SAGE_LOGS)/$(BOEHM_GC).log"
     141
     142$(INST)/$(BOOST_CROPPED): $(BASE)
     143        $(INSTALL) "$(SAGE_SPKG) $(BOOST_CROPPED) 2>&1" "tee -a $(SAGE_LOGS)/$(BOOST_CROPPED).log"
     144
     145$(INST)/$(CLIQUER): $(BASE) $(INST)/$(SCONS)
     146        $(INSTALL) "$(SAGE_SPKG) $(CLIQUER) 2>&1" "tee -a $(SAGE_LOGS)/$(CLIQUER).log"
     147
     148$(INST)/$(TERMCAP): $(BASE)
     149        $(INSTALL) "$(SAGE_SPKG) $(TERMCAP) 2>&1" "tee -a $(SAGE_LOGS)/$(TERMCAP).log"
     150
     151$(INST)/$(READLINE): $(BASE)
     152        $(INSTALL) "$(SAGE_SPKG) $(READLINE) 2>&1" "tee -a $(SAGE_LOGS)/$(READLINE).log"
     153
     154$(INST)/$(ICONV): $(BASE)
     155        $(INSTALL) "$(SAGE_SPKG) $(ICONV) 2>&1" "tee -a $(SAGE_LOGS)/$(ICONV).log"
     156
     157$(INST)/$(DOCUTILS): $(BASE) $(INST)/$(PYTHON)
     158        $(INSTALL) "$(SAGE_SPKG) $(DOCUTILS) 2>&1" "tee -a $(SAGE_LOGS)/$(DOCUTILS).log"
     159
     160$(INST)/$(ELLIPTIC_CURVES): $(BASE)
     161        $(INSTALL) "$(SAGE_SPKG) $(ELLIPTIC_CURVES) 2>&1" "tee -a $(SAGE_LOGS)/$(ELLIPTIC_CURVES).log"
     162
     163$(INST)/$(CONWAY): $(BASE)
     164        $(INSTALL) "$(SAGE_SPKG) $(CONWAY) 2>&1" "tee -a $(SAGE_LOGS)/$(CONWAY).log"
     165
     166$(INST)/$(GRAPHS): $(BASE)
     167        $(INSTALL) "$(SAGE_SPKG) $(GRAPHS) 2>&1" "tee -a $(SAGE_LOGS)/$(GRAPHS).log"
     168
     169$(INST)/$(GLPK): $(BASE) $(INST)/$(MPIR) $(INST)/$(ZLIB)
     170        $(INSTALL) "$(SAGE_SPKG) $(GLPK) 2>&1" "tee -a $(SAGE_LOGS)/$(GLPK).log"
     171
     172$(INST)/$(PYTHON): $(BASE) $(INST)/$(ZLIB) $(INST)/$(TERMCAP) \
     173                   $(INST)/$(READLINE) $(INST)/$(SQLITE) \
     174                   $(INST)/$(GNUTLS) $(INST)/$(LIBPNG)
     175        $(INSTALL) "$(SAGE_SPKG) $(PYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON).log"
     176
     177$(INST)/$(MPIR): $(BASE) $(INST)/$(ICONV)
     178        $(INSTALL) "$(SAGE_SPKG) $(MPIR) 2>&1" "tee -a $(SAGE_LOGS)/$(MPIR).log"
     179
     180$(INST)/$(GSL): $(BASE) $(INST)/$(ATLAS)
     181        $(INSTALL) "$(SAGE_SPKG) $(GSL) 2>&1" "tee -a $(SAGE_LOGS)/$(GSL).log"
     182
     183$(INST)/$(NTL): $(BASE) $(INST)/$(MPIR)
     184        $(INSTALL) "$(SAGE_SPKG) $(NTL) 2>&1" "tee -a $(SAGE_LOGS)/$(NTL).log"
     185
     186$(INST)/$(FPLLL): $(BASE) $(INST)/$(MPIR) $(INST)/$(MPFR)
     187        $(INSTALL) "$(SAGE_SPKG) $(FPLLL) 2>&1" "tee -a $(SAGE_LOGS)/$(FPLLL).log"
     188
     189$(INST)/$(PARI): $(BASE) $(INST)/$(TERMCAP) $(INST)/$(READLINE) \
     190                 $(INST)/$(MPIR)
     191        $(INSTALL) "$(SAGE_SPKG) $(PARI) 2>&1" "tee -a $(SAGE_LOGS)/$(PARI).log"
     192
     193$(INST)/$(POLYBORI): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SCONS) \
     194                     $(INST)/$(BOOST_CROPPED) $(INST)/$(LIBM4RI)
     195        $(INSTALL) "$(SAGE_SPKG) $(POLYBORI) 2>&1" "tee -a $(SAGE_LOGS)/$(POLYBORI).log"
     196
     197$(INST)/$(POLYTOPES_DB): $(BASE)
     198        $(INSTALL) "$(SAGE_SPKG) $(POLYTOPES_DB) 2>&1" "tee -a $(SAGE_LOGS)/$(POLYTOPES_DB).log"
     199
     200$(INST)/$(MPFR): $(BASE) $(INST)/$(MPIR)
     201        $(INSTALL) "$(SAGE_SPKG) $(MPFR) 2>&1" "tee -a $(SAGE_LOGS)/$(MPFR).log"
     202
     203$(INST)/$(MPFI): $(BASE) $(INST)/$(MPIR) $(INST)/$(MPFR)
     204        $(INSTALL) "$(SAGE_SPKG) $(MPFI) 2>&1" "tee -a $(SAGE_LOGS)/$(MPFI).log"
     205
     206$(INST)/$(GIVARO): $(BASE) $(INST)/$(MPIR)
     207        $(INSTALL) "$(SAGE_SPKG) $(GIVARO) 2>&1" "tee -a $(SAGE_LOGS)/$(GIVARO).log"
     208
     209$(INST)/$(LINBOX): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL) $(INST)/$(GIVARO) \
     210                   $(INST)/$(GSL) $(INST)/$(ATLAS)
     211        $(INSTALL) "$(SAGE_SPKG) $(LINBOX) 2>&1" "tee -a $(SAGE_LOGS)/$(LINBOX).log"
     212
     213$(INST)/$(IML): $(BASE) $(INST)/$(MPIR) $(INST)/$(GSL)
     214        $(INSTALL) "$(SAGE_SPKG) $(IML) 2>&1" "tee -a $(SAGE_LOGS)/$(IML).log"
     215
     216$(INST)/$(ECLIB): $(BASE) $(INST)/$(MPIR) $(INST)/$(PARI) $(INST)/$(NTL)
     217        $(INSTALL) "$(SAGE_SPKG) $(ECLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(ECLIB).log"
     218
     219$(INST)/$(G2RED): $(BASE) $(INST)/$(PARI)
     220        $(INSTALL) "$(SAGE_SPKG) $(G2RED) 2>&1" "tee -a $(SAGE_LOGS)/$(G2RED).log"
     221
     222$(INST)/$(PALP): $(BASE)
     223        $(INSTALL) "$(SAGE_SPKG) $(PALP) 2>&1" "tee -a $(SAGE_LOGS)/$(PALP).log"
     224
     225$(INST)/$(LCALC): $(BASE) $(INST)/$(PARI) $(INST)/$(MPFR)
     226        $(INSTALL) "$(SAGE_SPKG) $(LCALC) 2>&1" "tee -a $(SAGE_LOGS)/$(LCALC).log"
     227
     228$(INST)/$(PYNAC): $(BASE) $(INST)/$(PYTHON)
     229        $(INSTALL) "$(SAGE_SPKG) $(PYNAC) 2>&1" "tee -a $(SAGE_LOGS)/$(PYNAC).log"
     230
     231$(INST)/$(SYMPOW): $(BASE)
     232        $(INSTALL) "$(SAGE_SPKG) $(SYMPOW) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPOW).log"
     233
     234$(INST)/$(SYMMETRICA): $(BASE)
     235        $(INSTALL) "$(SAGE_SPKG) $(SYMMETRICA) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMMETRICA).log"
     236
     237# gap requires SAGE so that gap_reset_workspace works.
     238$(INST)/$(GAP): $(BASE) $(INST)/$(TERMCAP) $(INST)/$(READLINE) $(INST)/$(SAGE)
     239        $(INSTALL) "$(SAGE_SPKG) $(GAP) 2>&1" "tee -a $(SAGE_LOGS)/$(GAP).log"
     240
     241$(INST)/$(IPYTHON): $(BASE) $(INST)/$(PYTHON)
     242        $(INSTALL) "$(SAGE_SPKG) $(IPYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(IPYTHON).log"
     243
     244$(INST)/$(PEXPECT): $(BASE) $(INST)/$(PYTHON)
     245        $(INSTALL) "$(SAGE_SPKG) $(PEXPECT) 2>&1" "tee -a $(SAGE_LOGS)/$(PEXPECT).log"
     246
     247$(INST)/$(GD): $(BASE) $(INST)/$(LIBPNG) $(INST)/$(FREETYPE) $(INST)/$(ICONV)
     248        $(INSTALL) "$(SAGE_SPKG) $(GD) 2>&1" "tee -a $(SAGE_LOGS)/$(GD).log"
     249
     250$(INST)/$(GDMODULE): $(BASE) $(INST)/$(PYTHON) $(INST)/$(GD) $(INST)/$(ICONV)
     251        $(INSTALL) "$(SAGE_SPKG) $(GDMODULE) 2>&1" "tee -a $(SAGE_LOGS)/$(GDMODULE).log"
     252
     253$(INST)/$(OPENCDK): $(BASE) $(INST)/$(ZLIB) $(INST)/$(LIBGCRYPT)
     254        $(INSTALL) "$(SAGE_SPKG) $(OPENCDK) 2>&1" "tee -a $(SAGE_LOGS)/$(OPENCDK).log"
     255
     256$(INST)/$(LIBGPG_ERROR): $(BASE) $(INST)/$(ICONV)
     257        $(INSTALL) "$(SAGE_SPKG) $(LIBGPG_ERROR) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGPG_ERROR).log"
     258
     259$(INST)/$(LIBGCRYPT): $(BASE) $(INST)/$(LIBGPG_ERROR)
     260        $(INSTALL) "$(SAGE_SPKG) $(LIBGCRYPT) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBGCRYPT).log"
     261
     262$(INST)/$(GNUTLS): $(BASE) $(INST)/$(ZLIB) $(INST)/$(OPENCDK) \
     263                   $(INST)/$(LIBGCRYPT) $(INST)/$(LIBGPG_ERROR)
     264        $(INSTALL) "$(SAGE_SPKG) $(GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(GNUTLS).log"
     265
     266$(INST)/$(PYTHON_GNUTLS): $(BASE) $(INST)/$(GNUTLS) $(INST)/$(PYTHON)
     267        $(INSTALL) "$(SAGE_SPKG) $(PYTHON_GNUTLS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYTHON_GNUTLS).log"
     268
     269$(INST)/$(SCONS): $(BASE) $(INST)/$(PYTHON)
     270        $(INSTALL) "$(SAGE_SPKG) $(SCONS) 2>&1" "tee -a $(SAGE_LOGS)/$(SCONS).log"
     271
     272$(INST)/$(RUBIKS): $(BASE)
     273        $(INSTALL) "$(SAGE_SPKG) $(RUBIKS) 2>&1" "tee -a $(SAGE_LOGS)/$(RUBIKS).log"
     274
     275# extcode must be built before moin moin because it has jsmath in it.
     276$(INST)/$(MOIN): $(BASE) $(INST)/$(PYTHON) $(INST)/$(EXTCODE) \
     277                 $(INST)/$(SAGENB)
     278        $(INSTALL) "$(SAGE_SPKG) $(MOIN) 2>&1" "tee -a $(SAGE_LOGS)/$(MOIN).log"
     279
     280$(INST)/$(SQLITE): $(BASE) $(INST)/$(TERMCAP) $(INST)/$(READLINE)
     281        $(INSTALL) "$(SAGE_SPKG) $(SQLITE) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLITE).log"
     282
     283$(INST)/$(MERCURIAL): $(BASE) $(INST)/$(PYTHON)
     284        $(INSTALL) "$(SAGE_SPKG) $(MERCURIAL) 2>&1" "tee -a $(SAGE_LOGS)/$(MERCURIAL).log"
     285
     286# make Sage and gap prerequisites for sagetex so that as much of Sage
     287# is installed as possible: this is so that spkg-check works for
     288# sagetex.  (To build sagetex, you just need python, but to test it,
     289# you need a full Sage installation.)
     290$(INST)/$(SAGETEX): $(INST)/$(PYTHON) $(INST)/$(SAGE) $(INST)/$(GAP)
     291        $(INSTALL) "$(SAGE_SPKG) $(SAGETEX) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGETEX).log"
     292
     293$(INST)/$(SETUPTOOLS): $(BASE) $(INST)/$(PYTHON)
     294        $(INSTALL) "$(SAGE_SPKG) $(SETUPTOOLS) 2>&1" "tee -a $(SAGE_LOGS)/$(SETUPTOOLS).log"
     295
     296$(INST)/$(SINGULAR): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL) \
     297                     $(INST)/$(TERMCAP) $(INST)/$(READLINE) $(INST)/$(MPFR)
     298        $(INSTALL) "$(SAGE_SPKG) $(SINGULAR) 2>&1" "tee -a $(SAGE_LOGS)/$(SINGULAR).log"
     299
     300$(INST)/$(PYCRYPTO): $(BASE) $(INST)/$(PYTHON)
     301        $(INSTALL) "$(SAGE_SPKG) $(PYCRYPTO) 2>&1" "tee -a $(SAGE_LOGS)/$(PYCRYPTO).log"
     302
     303$(INST)/$(WEAVE): $(BASE) $(INST)/$(NUMPY)
     304        $(INSTALL) "$(SAGE_SPKG) $(WEAVE) 2>&1" "tee -a $(SAGE_LOGS)/$(WEAVE).log"
     305
     306$(INST)/$(NETWORKX): $(BASE) $(INST)/$(PYTHON)
     307        $(INSTALL) "$(SAGE_SPKG) $(NETWORKX) 2>&1" "tee -a $(SAGE_LOGS)/$(NETWORKX).log"
     308
     309$(INST)/$(MPMATH): $(BASE) $(INST)/$(PYTHON)
     310        $(INSTALL) "$(SAGE_SPKG) $(MPMATH) 2>&1" "tee -a $(SAGE_LOGS)/$(MPMATH).log"
     311
     312$(INST)/$(ZLIB): $(BASE)
     313        $(INSTALL) "$(SAGE_SPKG) $(ZLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZLIB).log"
     314
     315##  << NON-GUI matplotlib >>
     316$(INST)/$(FREETYPE): $(BASE)
     317        $(INSTALL) "$(SAGE_SPKG) $(FREETYPE) 2>&1" "tee -a $(SAGE_LOGS)/$(FREETYPE).log"
     318
     319$(INST)/$(LIBPNG): $(BASE) $(INST)/$(ZLIB)
     320        $(INSTALL) "$(SAGE_SPKG) $(LIBPNG) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBPNG).log"
     321
     322$(INST)/$(MATPLOTLIB): $(BASE) $(INST)/$(PYTHON) $(INST)/$(NUMPY) \
     323                       $(INST)/$(FREETYPE) $(INST)/$(LIBPNG) \
     324                       $(INST)/$(GDMODULE)
     325        $(INSTALL) "$(SAGE_SPKG) $(MATPLOTLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(MATPLOTLIB).log"
     326####
     327
     328$(INST)/$(CDDLIB): $(BASE) $(INST)/$(MPIR)
     329        $(INSTALL) "$(SAGE_SPKG) $(CDDLIB) 2>&1" "tee -a $(SAGE_LOGS)/$(CDDLIB).log"
     330
     331$(INST)/$(GFAN): $(BASE) $(INST)/$(MPIR) $(INST)/$(CDDLIB)
     332        $(INSTALL) "$(SAGE_SPKG) $(GFAN) 2>&1" "tee -a $(SAGE_LOGS)/$(GFAN).log"
     333
     334$(INST)/$(TACHYON): $(BASE) $(INST)/$(LIBPNG)
     335        $(INSTALL) "$(SAGE_SPKG) $(TACHYON) 2>&1" "tee -a $(SAGE_LOGS)/$(TACHYON).log"
     336
     337$(INST)/$(ECM): $(BASE) $(INST)/$(MPIR)
     338        $(INSTALL) "$(SAGE_SPKG) $(ECM) 2>&1" "tee -a $(SAGE_LOGS)/$(ECM).log"
     339
     340$(INST)/$(RATPOINTS): $(BASE) $(INST)/$(MPIR)
     341        $(INSTALL) "$(SAGE_SPKG) $(RATPOINTS) 2>&1" "tee -a $(SAGE_LOGS)/$(RATPOINTS).log"
     342
     343$(INST)/$(ECL): $(BASE) $(INST)/$(MPIR) $(INST)/$(TERMCAP) \
     344                $(INST)/$(READLINE) $(INST)/$(BOEHM_GC)
     345        $(INSTALL) "$(SAGE_SPKG) $(ECL) 2>&1" "tee -a $(SAGE_LOGS)/$(ECL).log"
     346
     347$(INST)/$(MAXIMA): $(BASE) $(INST)/$(ECL)
     348        $(INSTALL) "$(SAGE_SPKG) $(MAXIMA) 2>&1" "tee -a $(SAGE_LOGS)/$(MAXIMA).log"
     349
     350$(INST)/$(R): $(BASE) $(INST)/$(PYTHON) $(INST)/$(ATLAS) $(INST)/$(ICONV)
     351        $(INSTALL) "$(SAGE_SPKG) $(R) 2>&1" "tee -a $(SAGE_LOGS)/$(R).log"
     352
     353$(INST)/$(SYMPY): $(BASE) $(INST)/$(PYTHON)
     354        $(INSTALL) "$(SAGE_SPKG) $(SYMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SYMPY).log"
     355
     356$(INST)/$(CYTHON): $(BASE) $(INST)/$(PYTHON)
     357        $(INSTALL) "$(SAGE_SPKG) $(CYTHON) 2>&1" "tee -a $(SAGE_LOGS)/$(CYTHON).log"
     358
     359$(INST)/$(FLINTQS): $(BASE) $(INST)/$(MPIR)
     360        $(INSTALL) "$(SAGE_SPKG) $(FLINTQS) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINTQS).log"
     361
     362$(INST)/$(FLINT): $(BASE) $(INST)/$(MPIR) $(INST)/$(NTL)
     363        $(INSTALL) "$(SAGE_SPKG) $(FLINT) 2>&1" "tee -a $(SAGE_LOGS)/$(FLINT).log"
     364
     365# Mercurial must be built before building extcode. See trac ticket #6508.
     366$(INST)/$(EXTCODE): $(BASE) $(INST)/$(MERCURIAL)
     367        $(INSTALL) "$(SAGE_SPKG) $(EXTCODE) 2>&1" "tee -a $(SAGE_LOGS)/$(EXTCODE).log"
     368
     369$(INST)/$(EXAMPLES): $(BASE)
     370        $(INSTALL) "$(SAGE_SPKG) $(EXAMPLES) 2>&1" "tee -a $(SAGE_LOGS)/$(EXAMPLES).log"
     371
     372$(INST)/$(LIBM4RI): $(BASE)
     373        $(INSTALL) "$(SAGE_SPKG) $(LIBM4RI) 2>&1" "tee -a $(SAGE_LOGS)/$(LIBM4RI).log"
     374
     375$(INST)/$(ZNPOLY): $(BASE) $(INST)/$(MPIR)
     376        $(INSTALL) "$(SAGE_SPKG) $(ZNPOLY) 2>&1" "tee -a $(SAGE_LOGS)/$(ZNPOLY).log"
     377
     378# setuptools forgets to update easy-install.pth during parallel
     379# builds, so we build the relevant packages serially.  Note: To avoid
     380# branching, we haven't given explicit dependencies, but the chain's
     381# order is important.
     382$(INST)/$(SAGENB): $(BASE) $(INST)/$(SQLALCHEMY)
     383        $(INSTALL) "$(SAGE_SPKG) $(SAGENB) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGENB).log"
     384
     385$(INST)/$(SQLALCHEMY): $(BASE) $(INST)/$(SPHINX)
     386        $(INSTALL) "$(SAGE_SPKG) $(SQLALCHEMY) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLALCHEMY).log"
     387
     388$(INST)/$(SPHINX): $(BASE) $(INST)/$(JINJA2)
     389        $(INSTALL) "$(SAGE_SPKG) $(SPHINX) 2>&1" "tee -a $(SAGE_LOGS)/$(SPHINX).log"
     390
     391$(INST)/$(JINJA2): $(BASE) $(INST)/$(JINJA)
     392        $(INSTALL) "$(SAGE_SPKG) $(JINJA2) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA2).log"
     393
     394$(INST)/$(JINJA): $(BASE) $(INST)/$(PYGMENTS)
     395        $(INSTALL) "$(SAGE_SPKG) $(JINJA) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA).log"
     396
     397$(INST)/$(PYGMENTS): $(BASE) $(INST)/$(ZODB)
     398        $(INSTALL) "$(SAGE_SPKG) $(PYGMENTS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYGMENTS).log"
     399
     400$(INST)/$(ZODB): $(BASE) $(INST)/$(TWISTED)
     401        $(INSTALL) "$(SAGE_SPKG) $(ZODB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZODB).log"
     402
     403$(INST)/$(TWISTED): $(BASE) $(INST)/$(PYTHON) $(INST)/$(PYTHON_GNUTLS) \
     404                    $(INST)/$(PEXPECT) $(INST)/$(DOCUTILS) \
     405                    $(INST)/$(SETUPTOOLS)
     406        $(INSTALL) "$(SAGE_SPKG) $(TWISTED) 2>&1" "tee -a $(SAGE_LOGS)/$(TWISTED).log"
     407
     408# For reference and for when the setuptools problem is solved, here
     409# are the actual dependencies, as of 4.3.3:
     410#
     411# sagenb: python pexpect twisted jinja jinja2 sphinx docutils setuptools
     412# sqlalchemy: python setuptools
     413# sphinx: docutils jinja2 pygments
     414# jinja2: python docutils setuptools
     415# jinja: python docutils setuptools
     416# pygments: python setuptools
     417# twisted: python python_gnutls setuptools
     418# zodb: python setuptools
     419
     420# All components that are linked against extensions need to be listed here
     421$(INST)/$(SAGE): $(BASE) \
     422                 $(INST)/$(ATLAS) \
     423                 $(INST)/$(CEPHES) \
     424                 $(INST)/$(CLIQUER) \
     425                 $(INST)/$(CONWAY) \
     426                 $(INST)/$(CYTHON) \
     427                 $(INST)/$(DOCUTILS) \
     428                 $(INST)/$(ECL) \
     429                 $(INST)/$(ECLIB) \
     430                 $(INST)/$(ECM) \
     431                 $(INST)/$(ELLIPTIC_CURVES) \
     432                 $(INST)/$(EXTCODE) \
     433                 $(INST)/$(FLINT) \
     434                 $(INST)/$(FPLLL) \
     435                 $(INST)/$(GDMODULE) \
     436                 $(INST)/$(GRAPHS) \
     437                 $(INST)/$(GIVARO) \
     438                 $(INST)/$(GLPK) \
     439                 $(INST)/$(GSL) \
     440                 $(INST)/$(IML) \
     441                 $(INST)/$(IPYTHON) \
     442                 $(INST)/$(LIBM4RI) \
     443                 $(INST)/$(LINBOX) \
     444                 $(INST)/$(MATPLOTLIB) \
     445                 $(INST)/$(MERCURIAL) \
     446                 $(INST)/$(MPFI) \
     447                 $(INST)/$(MPFR) \
     448                 $(INST)/$(MPIR) \
     449                 $(INST)/$(MPMATH) \
     450                 $(INST)/$(NETWORKX) \
     451                 $(INST)/$(NTL) \
     452                 $(INST)/$(NUMPY) \
     453                 $(INST)/$(PARI) \
     454                 $(INST)/$(PEXPECT) \
     455                 $(INST)/$(POLYBORI) \
     456                 $(INST)/$(PYCRYPTO) \
     457                 $(INST)/$(PYNAC) \
     458                 $(INST)/$(PYTHON) \
     459                 $(INST)/$(R) \
     460                 $(INST)/$(RATPOINTS) \
     461                 $(INST)/$(RUBIKS) \
     462                 $(INST)/$(SAGENB) \
     463                 $(INST)/$(SCONS) \
     464                 $(INST)/$(SETUPTOOLS) \
     465                 $(INST)/$(SINGULAR) \
     466                 $(INST)/$(SYMMETRICA) \
     467                 $(INST)/$(SYMPY) \
     468                 $(INST)/$(ZNPOLY)
     469        $(INSTALL) "$(SAGE_SPKG) $(SAGE) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE).log"
     470
     471$(INST)/$(FORTRAN): $(BASE)
     472        $(INSTALL) "$(SAGE_SPKG) $(FORTRAN) 2>&1" "tee -a $(SAGE_LOGS)/$(FORTRAN).log"
     473
     474$(INST)/$(F2C): $(BASE) $(INST)/$(FORTRAN)
     475        $(INSTALL) "$(SAGE_SPKG) $(F2C) 2>&1" "tee -a $(SAGE_LOGS)/$(F2C).log"
     476
     477$(INST)/$(PIL): $(BASE) $(INST)/$(PYTHON)
     478        $(INSTALL) "$(SAGE_SPKG) $(PIL) 2>&1" "tee -a $(SAGE_LOGS)/$(PIL).log"
     479
     480$(INST)/$(LAPACK): $(BASE) $(INST)/$(FORTRAN)
     481        $(INSTALL) "$(SAGE_SPKG) $(LAPACK) 2>&1" "tee -a $(SAGE_LOGS)/$(LAPACK).log"
     482
     483$(INST)/$(BLAS): $(BASE) $(INST)/$(FORTRAN)
     484        $(INSTALL) "$(SAGE_SPKG) $(BLAS) 2>&1" "tee -a $(SAGE_LOGS)/$(BLAS).log"
     485
     486$(INST)/$(NUMPY): $(BASE) $(INST)/$(PYTHON) $(INST)/$(FORTRAN) $(INST)/$(F2C) \
     487                  $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(ATLAS)
     488        $(INSTALL) "$(SAGE_SPKG) $(NUMPY) 2>&1" "tee -a $(SAGE_LOGS)/$(NUMPY).log"
     489
     490$(INST)/$(SCIPY): $(BASE) $(INST)/$(FORTRAN) $(INST)/$(F2C) \
     491                  $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(NUMPY)
     492        $(INSTALL) "$(SAGE_SPKG) $(SCIPY) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY).log"
     493
     494$(INST)/$(SCIPY_SANDBOX): $(BASE) $(INST)/$(SCIPY)
     495        $(INSTALL) "$(SAGE_SPKG) $(SCIPY_SANDBOX) 2>&1" "tee -a $(SAGE_LOGS)/$(SCIPY_SANDBOX).log"
     496
     497$(INST)/$(CVXOPT): $(BASE) $(INST)/$(FORTRAN) $(INST)/$(F2C) \
     498                   $(INST)/$(LAPACK) $(INST)/$(BLAS) $(INST)/$(NUMPY) \
     499                   $(INST)/$(ATLAS) $(INST)/$(CEPHES)
     500        $(INSTALL) "$(SAGE_SPKG) $(CVXOPT) 2>&1" "tee -a $(SAGE_LOGS)/$(CVXOPT).log"
     501
     502$(INST)/$(CEPHES): $(BASE)
     503        $(INSTALL) "$(SAGE_SPKG) $(CEPHES) 2>&1" "tee -a $(SAGE_LOGS)/$(CEPHES).log"
  • new file other-scripts/spkg/standard/libdist_filelist

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/spkg/standard/libdist_filelist
    - +  
     1cddlib
     2conway_polynomials
     3cremona_mini
     4doc
     5examples
     6extcode
     7genus2reduction
     8gfan
     9lcalc
     10mpfr
     11mwrank
     12ntl
     13pari
     14pyrexembed
     15sage
     16sage_scripts
     17sage_user
     18singular
     19sympow
  • new file other-scripts/spkg/standard/newest_version

    diff -r 6f0d86da3158 -r da1d22e188bb other-scripts/spkg/standard/newest_version
    - +  
     1#!/bin/sh
     2
     3if [ $# -ne 1 -a $# -ne 2 ]; then
     4   echo "Usage: $0 [-base] <pkgname>"
     5   echo "Exact name of newest version of package."
     6   echo "Must be run from \$SAGE_ROOT/spkg directory."
     7   echo "If optional -base option is given, gets newest version"
     8   echo "of package in the spkg/base directory."
     9   exit 1
     10fi
     11
     12if [ "$1" = '-base' ]; then
     13    # newest version of package in the base directory.
     14    shift
     15    PKG=$1
     16    ANS=""   
     17    cd base > /dev/null 2>/dev/null
     18    for FILE in `/bin/ls -1rt $PKG-*-install`
     19    do
     20       ANS=`echo "$FILE" | sed -e 's/-install//'`
     21       if [ $? -ne 0 ]; then
     22           echo "Error running sed to extract base package name."
     23           exit 1
     24       fi
     25    done
     26    echo $ANS
     27    exit 0
     28fi
     29
     30
     31# newest version of package in the standard directory
     32
     33PKG=$1
     34
     35ANS=""
     36cd standard > /dev/null 2>/dev/null
     37for FILE in `/bin/ls -1rt $PKG-*.spkg`
     38do
     39   ANS=`echo "$FILE" | sed -e 's/\.spkg//'`
     40   if [ $? -ne 0 ]; then
     41       echo "Error running sed to extract package name."
     42       exit 1
     43   fi
     44done
     45
     46echo $ANS
     47
     48
     49
     50#From John Jones
     51#Hi William,
     52 
     53#The problem was in the script newest_version.  It has a command
     54#"cd standard" and cd, at least in this version of bash, outputs the
     55#new directory path to the standard output.  The directory was then
     56#passed as part of the output of newest_version, and so it was being
     57#captured as part of the environment variable values in spkg/install,
     58#which in turn caused problems for the makefile deps.
     59 
     60#To fix it, I changed the line to be "cd standard >& /dev/null", and
     61#now it is building.
     62 
  • sage-bdist

    diff -r 6f0d86da3158 -r da1d22e188bb sage-bdist
    a b if [ "$UNAME" = "Darwin" ]; then 
    8585    echo "There will be an error about x below that you can safely ignore."
    8686    mv * x
    8787    mv x sage
    88     cp sage/local/bin/sage-README-osx.txt README.txt
    8988
    9089    if [ "$SAGE_APP_BUNDLE" = "yes" ]; then
    9190        echo 'Copying Sage.app'
  • sage-make_devel_packages

    diff -r 6f0d86da3158 -r da1d22e188bb sage-make_devel_packages
    a b fi 
    136136rm -rf $SCRIPTS
    137137mkdir $SCRIPTS
    138138chmod +x sage-*
    139 chmod -x sage-README-osx.txt sage-banner sage-gdb-commands
     139chmod -x sage-banner sage-gdb-commands
    140140chmod -x sage-maxima.lisp sage-verify-pyc
    141141rm sage-*~
    142142
    143143cp -pr sage-* .hg* ipy_profile_sage.py $SCRIPTS/
     144cp -pr other-scripts $SCRIPTS/
    144145cp -p $SAGE_ROOT/sage-python $SCRIPTS/
    145146cp -p $SAGE_ROOT/*.txt $SCRIPTS/
    146147cp -pr $SAGE_ROOT/ipython $SCRIPTS/
  • sage-sdist

    diff -r 6f0d86da3158 -r da1d22e188bb sage-sdist
    a b cp -LRp makefile *.txt *.sage sage ipyth 
    5353STD=standard
    5454mkdir $TMP/$PKGDIR
    5555mkdir $TMP/$PKGDIR/$STD
    56 cp -p $PKGDIR/$STD/deps $TMP/$PKGDIR/$STD/
    57 cp -p $PKGDIR/$STD/libdist_filelist $TMP/$PKGDIR/$STD/
    58 cp -p $PKGDIR/$STD/newest_version $TMP/$PKGDIR/$STD/
     56cp -p local/bin/other-scripts/spkg/$STD/deps $TMP/$PKGDIR/$STD/
     57cp -p local/bin/other-scripts/spkg/$STD/libdist_filelist $TMP/$PKGDIR/$STD/
     58cp -p local/bin/other-scripts/spkg/$STD/README.txt $TMP/$PKGDIR/$STD/
     59cp -p local/bin/other-scripts/spkg/$STD/newest_version $TMP/$PKGDIR/$STD/
    5960cp -pr $PKGDIR/base $TMP/$PKGDIR/
    60 cp -p $PKGDIR/install $TMP/$PKGDIR/
    61 cp -p $PKGDIR/pipestatus $TMP/$PKGDIR/
    62 cp -p $PKGDIR/update $TMP/$PKGDIR/
    63 cp -p $PKGDIR/gen_html $TMP/$PKGDIR/
    64 cp -p $PKGDIR/README.txt $TMP/$PKGDIR/
     61cp -p local/bin/other-scripts/spkg/install $TMP/$PKGDIR/
     62cp -p local/bin/other-scripts/spkg/pipestatus $TMP/$PKGDIR/
     63cp -p local/bin/other-scripts/spkg/update $TMP/$PKGDIR/
     64cp -p local/bin/other-scripts/spkg/gen_html $TMP/$PKGDIR/
     65cp -p local/bin/other-scripts/spkg/README.txt $TMP/$PKGDIR/
    6566
    6667$SAGE_ROOT/local/bin/sage-make_devel_packages $SAGE_VERSION $SAGE_ROOT $TMP/devel
    6768
  • sage-spkg-install

    diff -r 6f0d86da3158 -r da1d22e188bb sage-spkg-install
    a b else 
    1919
    2020    # Initial install.  Just copy all the files over.
    2121    cp -r sage-*  *doctest.py SbuildHack.pm .hg* ipy_profile_sage.py "$TARGET"
     22    cp -pr other-scripts "$TARGET"
    2223
    2324fi
    2425
    2526# Finally, make sure some symbolic links exist.
    2627cd "$CUR"
    2728
    28 # These are not part of the scripts repo and are
    29 # not under revision control, so they get wacked (at least
    30 # we do save the last versions in tmp, just in case).
     29# The file "SAGE_ROOT/sage-python" and the directory
     30# "SAGE_ROOT/ipython" are not part of the scripts repo and are not
     31# under revision control, so they may get wacked (at least we do save
     32# the last versions in tmp, just in case).
    3133TMP="$SAGE_ROOT"/tmp/
    3234if [ ! -d "$TMP" ]; then
    3335    mkdir "$TMP"
    fi 
    3537cp "$SAGE_ROOT"/sage-python "$TMP"/
    3638cp sage-python "$SAGE_ROOT"/
    3739
    38 cp "$SAGE_ROOT"/spkg/install "$TMP"/
    39 cp install "$SAGE_ROOT"/spkg/
     40OTHER_SPKG="other_scripts/spkg"
     41cp "$OTHER_SPKG"/README.txt "$SAGE_ROOT"/spkg/
     42cp "$OTHER_SPKG"/gen_html "$SAGE_ROOT"/spkg/
     43cp "$OTHER_SPKG"/install "$SAGE_ROOT"/spkg/
     44cp "$OTHER_SPKG"/pipestatus "$SAGE_ROOT"/spkg/
     45cp "$OTHER_SPKG"/standard/README.txt "$SAGE_ROOT"/spkg/standard/
     46cp "$OTHER_SPKG"/standard/deps "$SAGE_ROOT"/spkg/standard/
     47cp "$OTHER_SPKG"/standard/libdist_filelist "$SAGE_ROOT"/spkg/standard/
     48cp "$OTHER_SPKG"/standard/newest_version "$SAGE_ROOT"/spkg/standard/
    4049
    41 cp "$SAGE_ROOT"/*.txt "$TMP"/
    42 cp *.txt "$SAGE_ROOT"/
     50cp other-scripts/root/* "$SAGE_ROOT"/
    4351
    4452rm -rf "$TMP"/ipython
    4553cp -r "$SAGE_ROOT"/ipython "$TMP"/