# Map interpreter to installation placement (and optionally # the dependency relation required to obtain the interpreter) # # Entries in this file are generally used for versioned interpreters, # but can also be used for unversioned ones (when there is no # definition in scripts/interpreters). # syntax: # => , , , [, ] # # is the "unversioned base name" of the interpreter. It is computed by # stripping any trailing dashes ("-"), digits ([0-9]) and dots ("."). As an example, # the unversioned base name for: # python2.6 is python # guile-1.6 is guile # # NB: If the is not listed in scripts/interpreters, the unversioned # ones are also looked up in this data file. For cases where this is undesired, # please use @SKIP_UNVERSIONED@ (as described below). # # is the path in which the interpreter is installed (usually /usr/bin). # # is a regex for matching the full name of the interpreter *and* extracting # the version of it. It should have exactly one capture group, which captures the # version. If the regex does not match the interpreter or does not capture a version # in the , the entry is assumed not to apply to this interpreter. # NB: The regex will be anchored and must match the /entire/ interpreter with version. # (e.g. guile-([\d\.]*) is matched as m/^guile-([\d\.]*)$/) # # is a dependency template that will generate the dependency # relation from a version. The token "$1" is replaced with the version of the # interpreter. The template cannot contain commas (and therefore can only contain # predicates or "OR" relations). # # is a space-separated list of known interpreter versions. It is used # both to generate the dependency relation for uses of the unversioned interpreter and # (together with ) for ensuring the entry applies to the interpreter. # # NB: can be one of the following magic values: # * @SKIP_UNVERSIONED@ # - Do not use this entry for unversioned interpreters. The common usage case # for this is when the interpreter is also listed in scripts/interpreters. # # When used on a versioned interpreter, Lintian will check for a dependency satisfying # the dependency generated by applying the version to the . # Example: # Interpreter pike7.6 and template "pike$1 | pike$1-core" will make Lintian check # for the dependency: # "pike7.6 | pike7.6-core" # # When used on an unversioned interpreter, Lintian will check for a dependency satisfying # ANY of the versioned dependencies that can be generated from applying the versions from # to . Furthermore, also check for the dependency on # the (assuming it is not empty or one of the magic values). # Example: # Interpreter guile, template guile-$1, version list 1.6 1.8 and the dependency relation # guile will make Lintian check for the dependency: # "guile | guile-1.6 | guile-1.8" # # Manually maintained table - please keep it sorted (by key)! guile => /usr/bin, guile-([\d.]+), guile-$1:any, 2.2 3.0, guile:any jruby => /usr/bin, jruby([\d.]+), jruby$1:any, 1.0 1.1 1.2, jruby:any lua => /usr/bin, lua([\d.]+), lua$1:any, 40 50 5.1 5.2 5.3 5.4, lua:any octave => /usr/bin, octave([\d.]+), octave$1:any, 3.0 3.2, octave:any pike => /usr/bin, pike([\d.]+), pike$1:any | pike$1-core:any, 7.6 7.8 python2 => /usr/bin, python([\d.]+), python$1:any | python$1-minimal:any, 2.7, @SKIP_UNVERSIONED@ python3 => /usr/bin, python3([\d.]+), python3$1:any | python3$1-minimal:any, 3.4 3.5 3.7 3.8, @SKIP_UNVERSIONED@ ruby => /usr/bin, ruby([\d.]+), ruby$1:any, 1.8 1.9, @SKIP_UNVERSIONED@ runghc => /usr/bin, runghc(\d+), ghc$1:any, 6, ghc:any scsh => /usr/bin, scsh-([\d.]+), scsh-$1:any, 0.6, scsh:any tclsh => /usr/bin, tclsh([\d.]+), tcl$1:any, 8.3 8.4 8.5 8.6, tclsh:any | tcl:any wish => /usr/bin, wish([\d.]+), tk$1:any, 8.3 8.4 8.5 8.6, wish:any | tk:any