sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.32k stars 451 forks source link

kenzo package and interface #27188

Closed miguelmarco closed 5 years ago

miguelmarco commented 5 years ago

Add a kenzo optional package, and the corresponding interface.

The source file is taken from https://github.com/miguelmarco/kenzo, which is a small fork by Miguel Marco to include some utility scripts from https://github.com/gheber/kenzo, which is in turn a fork of the original source code modified to be compatible with other lisps (in particular it works on ecl).

Tarball (to be renamed kenzo-1.1.7-r1.tar.gz):

(Miguel Marco is maintaining a fork for the moment, this version includes a script to compile kenzo into a .fas file).

The interface uses the ecl interface, and provides a wrapper for some kenzo objects (we hope to extend it in the future).

CC: @jhpalmieri @slel @dimpase

Component: interfaces

Keywords: upgrade, kenzo, topology

Author: Miguel Marco, Ana Romero

Branch: 4a164a8

Reviewer: Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/27188

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 5 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

b78241fCapital K for Eilenberg-MacLane docstring
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 5 years ago

Changed commit from b95f759 to b78241f

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 5 years ago

Changed commit from b78241f to d9f8d4a

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 5 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

d9f8d4aMissing terminal points in docstrings
miguelmarco commented 5 years ago
comment:42

Thanks for the thorough review!

Is it ok if I set it to positive review?

tscrim commented 5 years ago

Reviewer: Travis Scrimshaw

tscrim commented 5 years ago
comment:43

You definitely should have put me as reviewer, but it would have been maybe slightly better to let me have one final lookover. However, as I mentioned I will let the little doc stuff slide to avoid over-nitpicking. ;)

slel commented 5 years ago
comment:44

Adding "upgrade" to the keywords so the release manager knows there is a tarball to upload.

What is our convention for renaming the tarball? Do we need version numbers to not contain dashes?

slel commented 5 years ago

Description changed:

--- 
+++ 
@@ -1,9 +1,12 @@
 Add a kenzo optional package, and the corresponding interface.

-The source file is taken from https://github.com/miguelmarco/kenzo, which is a small fork i made to include some utility scripts from https://github.com/gheber/kenzo, which is in turn a fork of the original source code modified to be compatible with other lisps (in particular it works on ecl).
+The source file is taken from https://github.com/miguelmarco/kenzo, which is a small fork by Miguel Marco to include some utility scripts from https://github.com/gheber/kenzo, which is in turn a fork of the original source code modified to be compatible with other lisps (in particular it works on ecl).

-The file used is https://github.com/miguelmarco/kenzo/archive/1.1.7-r1.tar.gz (I have decided to mantain a fork for the moment, this version includes a script to compile kenzo into a .fas file).
+**Tarball** (to be renamed `kenzo-1.1.7.r1.tar.gz`):
+
+- ​https://github.com/miguelmarco/kenzo/archive/1.1.7-r1.tar.gz
+
+(Miguel Marco is maintaining a fork for the moment, this version includes a script to compile kenzo into a .fas file).

 The interface uses the ecl interface, and provides a wrapper for some kenzo objects (we hope to extend it in the future).

-
slel commented 5 years ago

Changed keywords from kenzo topology to upgrade, kenzo, topology

tscrim commented 5 years ago
comment:45

Replying to @slel:

What is our convention for renaming the tarball? Do we need version numbers to not contain dashes?

They can contain dashes, underscores, etc.; e.g.:

lidia-2.3.0+latte-patches-2014-10-04.tar.gz
jmol-14.6.1_2016.07.11.tar.bz2

I don't think we have any specific conventions for tarball names in general other than date formats yyyymmdd for things that do not have version numbers or a sha1.

slel commented 5 years ago
comment:46

Right, I misremembered that. Maybe our package names can't contain dashes, so the first dash in a tarball name ends the package name and starts the version number. That might be why we sometimes rename some-package-name to some_package_name. No problem with kenzo in that respect.

slel commented 5 years ago

Description changed:

--- 
+++ 
@@ -2,7 +2,7 @@

 The source file is taken from https://github.com/miguelmarco/kenzo, which is a small fork by Miguel Marco to include some utility scripts from https://github.com/gheber/kenzo, which is in turn a fork of the original source code modified to be compatible with other lisps (in particular it works on ecl).

-**Tarball** (to be renamed `kenzo-1.1.7.r1.tar.gz`):
+**Tarball** (to be renamed `kenzo-1.1.7-r1.tar.gz`):

 - ​https://github.com/miguelmarco/kenzo/archive/1.1.7-r1.tar.gz
kiwifb commented 5 years ago
comment:47
sage -t --long /usr/lib64/python2.7/site-packages/sage/interfaces/kenzo.py
**********************************************************************
File "/usr/lib64/python2.7/site-packages/sage/interfaces/kenzo.py", line 153, in sage.interfaces.kenzo.EilenbergMacLaneSpace
Failed example:
    from sage.interfaces.kenzo import EilenbergMacLaneSpace
Exception raised:
    Traceback (most recent call last):
      File "/usr/lib64/python2.7/site-packages/sage/doctest/forker.py", line 671, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/lib64/python2.7/site-packages/sage/doctest/forker.py", line 1095, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.interfaces.kenzo.EilenbergMacLaneSpace[0]>", line 1, in <module>
        from sage.interfaces.kenzo import EilenbergMacLaneSpace
      File "/usr/lib64/python2.7/site-packages/sage/interfaces/kenzo.py", line 53, in <module>
        ecl_eval("(require :kenzo)")
      File "sage/libs/ecl.pyx", line 1326, in sage.libs.ecl.ecl_eval (/dev/shm/portage/sci-mathematics/sage-9999/work/sage-9999/src-python2_7/build/cythonized/sage/libs/ecl.c:10127)
        cpdef EclObject ecl_eval(str s):
      File "sage/libs/ecl.pyx", line 1341, in sage.libs.ecl.ecl_eval (/dev/shm/portage/sci-mathematics/sage-9999/work/sage-9999/src-python2_7/build/cythonized/sage/libs/ecl.c:10066)
        o=ecl_safe_eval(o)
      File "sage/libs/ecl.pyx", line 350, in sage.libs.ecl.ecl_safe_eval (/dev/shm/portage/sci-mathematics/sage-9999/work/sage-9999/src-python2_7/build/cythonized/sage/libs/ecl.c:5124)
        raise RuntimeError("ECL says: {}".format(
    RuntimeError: ECL says: Module error: Don't know how to REQUIRE KENZO.
**********************************************************************

on a machine without the kenzo package installed. That import line needs to be marked # optional - kenzo as well.

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 5 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

4a164a8Add optional tag to doctest
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 5 years ago

Changed commit from d9f8d4a to 4a164a8

vbraun commented 5 years ago

Changed branch from u/mmarco/kenzo_package_and_interface to 4a164a8

jdemeyer commented 5 years ago

Changed commit from 4a164a8 to none

jdemeyer commented 5 years ago
comment:51

Did anybody ever test that this actually passes doctests? See #27554.

tscrim commented 5 years ago
comment:52

I think I might have only run it without the package installed...sorry about that.