#20382: Replace is_package_installed with Features
-------------------------------------+-------------------------------------
       Reporter:  saraedum           |        Owner:
           Type:  enhancement        |       Status:  new
       Priority:  major              |    Milestone:  sage-7.2
      Component:  build              |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Julian Rüth        |    Reviewers:  Nicolas M. Thiéry,
Report Upstream:  N/A                |  ...
         Branch:                     |  Work issues:
  u/saraedum/replace_is_package_installed_with_features|       Commit:
   Dependencies:                     |  1e275a8db635e5c9a0f63f9e37acc245616e94dd
                                     |     Stopgaps:
-------------------------------------+-------------------------------------
Changes (by {'newvalue': u'Julian R\xfcth', 'oldvalue': ''}):

 * reviewer:   => Nicolas M. Thiéry, ...
 * author:   => Julian Rüth


Comment:

 Hi Julian,

 Just some rambling, thinking about use cases for this ticket or some
 follow up:

 While discussing with the Debian people, it was stressed out that we
 will eventually want to be able to support simultaneously a stable
 version of software X (as provided by the distributions), and a devel
 version of it (for our researchers that need the very latest
 features). Therefore we probably will want to have code that could
 look like:

 {{{
         def latest_feature():
             """
             ...

             EXAMPLES::

                 sage: X = ...
                 sage: X.latest_feature()    # optional gap >= 3.5
             """
             GAP(min_version=3.5).require()      # or some better syntax
             ...
             return gap.latest_feature()
 }}}

 To support this use case we would need:

 - support for version checking in the Feature code (probably in a follow
 up ticket).

   Probably not much can be written generically, except possibly for
 Executables,
   trying to pass the --version and scanning the output for something that
 looks
   like a version number

 - some updates to the doctesting framework to support version
   annotations (definitely in another ticket)

 - mapping feature names appearing in the #optional annotations to actual
 Feature's
   (it's going in this direction in #20182).


 Not directly related to this ticket, but building on the discussion we had
 while walking in Cernay, we may want to be able to write the annotation
 as::

 {{{
         def latest_feature():
             """
             ...

             .. REQUIRES:: gap >= 3.5

             EXAMPLES::

                 sage: X = ...
                 sage: X.latest_feature()
             """
 }}}

 Cheers,
                            Nicolas

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

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to