#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.