pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/lang/py-hy py-hy: updated to 0.18.0
details: https://anonhg.NetBSD.org/pkgsrc/rev/db19a9d3b948
branches: trunk
changeset: 426183:db19a9d3b948
user: adam <adam%pkgsrc.org@localhost>
date: Fri Mar 27 15:27:41 2020 +0000
description:
py-hy: updated to 0.18.0
0.18.0
==============================
Removals
------------------------------
* Python 2 is no longer supported.
* Support for attribute lists in `defclass` has been removed. Use `setv`
and `defn` instead.
* Literal keywords are no longer parsed differently in calls to functions
with certain names.
* `hy.contrib.multi` has been removed. Use `cond` or the PyPI package
`multipledispatch` instead.
Other Breaking Changes
------------------------------
* `HySequence` is now a subclass of `tuple` instead of `list`.
Thus, a `HyList` will never be equal to a `list`, and you can't
use `.append`, `.pop`, etc. on a `HyExpression` or `HyList`.
New Features
------------------------------
* Added special forms `py` to `pys` that allow Hy programs to include
inline Python code.
* Added a special form `cmp` for chained comparisons.
* All augmented assignment operators (except `%=` and `^=`) now allow
more than two arguments.
* Added support for function annotations (PEP 3107) and variable
annotations (PEP 526).
* Added a function `parse-args` as a wrapper for Python's `argparse`.
Bug Fixes
------------------------------
* Statements in the second argument of `assert` are now executed.
* Fixed a bug that caused the condition of a `while` to be compiled
twice.
* `in` and `not-in` now allow more than two arguments, as in Python.
* `hy2py` can now handle format strings.
* Fixed crashes from inaccessible history files.
* Removed an accidental import from the internal Python module `test`.
* Fixed a swarm of bugs in `hy.extra.anaphoric`.
Misc. Improvements
------------------------------
* Replaced the dependency `clint` with `colorama`.
0.17.0
==============================
**Warning**: Hy 0.17.x will be the last Hy versions to support Python 2,
and we expect 0.17.0 to be the only release in this line. By the time
0.18.0 is released (in 2020, after CPython 2 has ceased being developed),
Hy will only support Python 3.
Removals
------------------------------
* Python 3.4 is no longer supported.
New Features
------------------------------
* Python 3.8 is now supported.
* Format strings with embedded Hy code (e.g., `f"The sum is {(+ x y)}"`)
are now supported, even on Pythons earlier than 3.6.
* Added a special form `setx` to create Python 3.8 assignment expressions.
* Added new core functions `list?` and `tuple`.
* Gensyms now have a simpler format that's more concise when
mangled (e.g., `_hyx_XsemicolonXfooXvertical_lineX1235` is now
`_hyx_fooXUffffX1`).
Bug Fixes
------------------------------
* Fixed a crash caused by errors creating temporary files during
bytecode compilation.
0.16.0
==============================
Removals
------------------------------
* Empty expressions (`()`) are no longer legal at the top level.
New Features
------------------------------
* `eval` / `hy_eval` and `hy_compile` now accept an optional `compiler`
argument that enables the use of an existing `HyASTCompiler` instance.
* Keyword objects (not just literal keywords) can be called, as
shorthand for `(get obj :key)`, and they accept a default value
as a second argument.
* Minimal macro expansion namespacing has been implemented. As a result,
external macros no longer have to `require` their own macro
dependencies.
* Macros and tags now reside in module-level `__macros__` and `__tags__`
attributes.
Bug Fixes
------------------------------
* Cleaned up syntax and compiler errors.
* You can now call `defmain` with an empty lambda list.
* `require` now compiles to Python AST.
* Fixed circular `require`\s.
* Fixed module reloading.
* Fixed circular imports.
* Fixed errors from `from __future__ import ...` statements and missing
Hy module docstrings caused by automatic importing of Hy builtins.
* Fixed `__main__` file execution.
* Fixed bugs in the handling of unpacking forms in method calls and
attribute access.
* Fixed crashes on Windows when calling `hy-repr` on date and time
objects.
* Fixed a crash in `mangle` for some pathological inputs.
* Fixed incorrect mangling of some characters at low code points.
* Fixed a crash on certain versions of Python 2 due to changes in the
standard module `tokenize`.
0.15.0
==============================
Removals
------------------------------
* Dotted lists, `HyCons`, `cons`, `cons?`, and `list*` have been
removed. These were redundant with Python's built-in data structures
and Hy's most common model types (`HyExpression`, `HyList`, etc.).
* `&key` is no longer special in lambda lists. Use `&optional` instead.
* Lambda lists can no longer unpack tuples.
* `ap-pipe` and `ap-compose` have been removed. Use threading macros and
`comp` instead.
* `for/a` has been removed. Use `(for [:async ...] ...)` instead.
* `(except)` is no longer allowed. Use `(except [])` instead.
* `(import [foo])` is no longer allowed. Use `(import foo)` instead.
Other Breaking Changes
------------------------------
* `HyExpression`, `HyDict`, and `HySet` no longer inherit from `HyList`.
This means you can no longer use alternative punctuation in place of
square brackets in special forms (e.g. `(fn (x) ...)` instead of
the standard `(fn [x] ...)`).
* Mangling rules have been overhauled; now, mangled names are
always legal Python identifiers.
* `_` and `-` are now equivalent, even as single-character names.
* The REPL history variable `_` is now `*1`.
* Non-shadow unary `=`, `is`, `<`, etc. now evaluate their argument
instead of ignoring it.
* `list-comp`, `set-comp`, `dict-comp`, and `genexpr` have been replaced
by `lfor`, `sfor`, `dfor`, and `gfor`, respectively, which use a new
syntax and have additional features. All Python comprehensions can now
be written in Hy.
* `&`-parameters in lambda lists must now appear in the same order that
Python expects.
* Literal keywords now evaluate to themselves, and `HyKeyword` no longer
inherits from a Python string type
* `HySymbol` no longer inherits from `HyString`.
New Features
------------------------------
* Python 3.7 is now supported.
* `while` and `for` are allowed to have empty bodies.
* `for` supports the various new clause types offered by `lfor`.
* `defclass` in Python 3 supports specifying metaclasses and other
keyword arguments.
* Added `mangle` and `unmangle` as core functions.
* Added more REPL history variables: `*2` and `*3`.
* Added a REPL variable holding the last exception: `*e`.
* Added a command-line option `-E` per CPython.
* Added a new module `hy.model_patterns`.
Bug Fixes
------------------------------
* `hy2py` should now output legal Python code equivalent to the input Hy
code in all cases.
* Fixed `(return)` so it can exit a Python 2 generator.
* Fixed a case where `->` and `->>` duplicated an argument.
* Fixed bugs that caused `defclass` to drop statements or crash.
* Fixed a REPL crash caused by illegal backslash escapes.
* `NaN` can no longer create an infinite loop during macro-expansion.
* Fixed a bug that caused `try` to drop expressions.
* The compiler now properly recognizes `unquote-splice`.
* Trying to import a dotted name is now a syntax error, as in Python.
* `defmacro!` now allows optional arguments.
* Fixed handling of variables that are bound multiple times in a single
`let`.
Misc. Improvements
----------------------------
* `hy-repr` uses registered functions instead of methods.
* `hy-repr` supports more standard types.
* `macroexpand-all` will now expand macros introduced by a `require` in the body of a macro.
diffstat:
lang/py-hy/ALTERNATIVES | 6 +++---
lang/py-hy/Makefile | 19 +++++++++++--------
lang/py-hy/PLIST | 25 +++++++------------------
lang/py-hy/distinfo | 10 +++++-----
4 files changed, 26 insertions(+), 34 deletions(-)
diffs (134 lines):
diff -r d331e0eeab3e -r db19a9d3b948 lang/py-hy/ALTERNATIVES
--- a/lang/py-hy/ALTERNATIVES Fri Mar 27 15:25:36 2020 +0000
+++ b/lang/py-hy/ALTERNATIVES Fri Mar 27 15:27:41 2020 +0000
@@ -1,3 +1,3 @@
-bin/hy @PREFIX@/bin/hy@PYVERSSUFFIX@
-bin/hy2py @PREFIX@/bin/hy2py@PYVERSSUFFIX@
-bin/hyc @PREFIX@/bin/hyc@PYVERSSUFFIX@
+bin/hy @PREFIX@/bin/hy-@PYVERSSUFFIX@
+bin/hy2py @PREFIX@/bin/hy2py-@PYVERSSUFFIX@
+bin/hyc @PREFIX@/bin/hyc-@PYVERSSUFFIX@
diff -r d331e0eeab3e -r db19a9d3b948 lang/py-hy/Makefile
--- a/lang/py-hy/Makefile Fri Mar 27 15:25:36 2020 +0000
+++ b/lang/py-hy/Makefile Fri Mar 27 15:27:41 2020 +0000
@@ -1,27 +1,30 @@
-# $NetBSD: Makefile,v 1.8 2018/02/23 07:03:09 adam Exp $
+# $NetBSD: Makefile,v 1.9 2020/03/27 15:27:41 adam Exp $
-DISTNAME= hy-0.14.0
+DISTNAME= hy-0.18.0
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= lang python
MASTER_SITES= ${MASTER_SITE_PYPI:=h/hy/}
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE= http://hylang.org/
+HOMEPAGE= https://docs.hylang.org/
COMMENT= Lisp and Python love each other
LICENSE= mit
DEPENDS+= ${PYPKGPREFIX}-astor>=0.6:../../devel/py-astor
-DEPENDS+= ${PYPKGPREFIX}-clint>=0.4:../../devel/py-clint
-DEPENDS+= ${PYPKGPREFIX}-rply>=0.7.5:../../devel/py-rply
+DEPENDS+= ${PYPKGPREFIX}-colorama-[0-9]*:../../comms/py-colorama
+DEPENDS+= ${PYPKGPREFIX}-funcparserlib>=0.3.6:../../devel/py-funcparserlib
+DEPENDS+= ${PYPKGPREFIX}-rply>=0.7.7:../../devel/py-rply
USE_LANGUAGES= # none
+PYTHON_VERSIONS_INCOMPATIBLE= 27
+
post-install:
cd ${DESTDIR}${PREFIX}/bin && \
${RM} hy[23] hy2py[23] hyc[23] && \
- ${MV} hy hy${PYVERSSUFFIX} && \
- ${MV} hy2py hy2py${PYVERSSUFFIX} && \
- ${MV} hyc hyc${PYVERSSUFFIX} || ${TRUE}
+ ${MV} hy hy-${PYVERSSUFFIX} && \
+ ${MV} hy2py hy2py-${PYVERSSUFFIX} && \
+ ${MV} hyc hyc-${PYVERSSUFFIX} || ${TRUE}
.include "../../lang/python/egg.mk"
.include "../../mk/bsd.pkg.mk"
diff -r d331e0eeab3e -r db19a9d3b948 lang/py-hy/PLIST
--- a/lang/py-hy/PLIST Fri Mar 27 15:25:36 2020 +0000
+++ b/lang/py-hy/PLIST Fri Mar 27 15:27:41 2020 +0000
@@ -1,7 +1,7 @@
-@comment $NetBSD: PLIST,v 1.3 2017/12/18 12:48:46 adam Exp $
-bin/hy${PYVERSSUFFIX}
-bin/hy2py${PYVERSSUFFIX}
-bin/hyc${PYVERSSUFFIX}
+@comment $NetBSD: PLIST,v 1.4 2020/03/27 15:27:41 adam Exp $
+bin/hy-${PYVERSSUFFIX}
+bin/hy2py-${PYVERSSUFFIX}
+bin/hyc-${PYVERSSUFFIX}
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
@@ -30,30 +30,18 @@
${PYSITELIB}/hy/contrib/__init__.pyc
${PYSITELIB}/hy/contrib/__init__.pyo
${PYSITELIB}/hy/contrib/botsbuildbots.hy
-${PLIST.py3x}${PYSITELIB}/hy/contrib/botsbuildbots.pyc
${PYSITELIB}/hy/contrib/hy_repr.hy
-${PLIST.py3x}${PYSITELIB}/hy/contrib/hy_repr.pyc
${PYSITELIB}/hy/contrib/loop.hy
-${PLIST.py3x}${PYSITELIB}/hy/contrib/loop.pyc
-${PYSITELIB}/hy/contrib/multi.hy
-${PLIST.py3x}${PYSITELIB}/hy/contrib/multi.pyc
${PYSITELIB}/hy/contrib/profile.hy
-${PLIST.py3x}${PYSITELIB}/hy/contrib/profile.pyc
${PYSITELIB}/hy/contrib/sequences.hy
-${PLIST.py3x}${PYSITELIB}/hy/contrib/sequences.pyc
${PYSITELIB}/hy/contrib/walk.hy
-${PLIST.py3x}${PYSITELIB}/hy/contrib/walk.pyc
${PYSITELIB}/hy/core/__init__.py
${PYSITELIB}/hy/core/__init__.pyc
${PYSITELIB}/hy/core/__init__.pyo
${PYSITELIB}/hy/core/bootstrap.hy
-${PLIST.py3x}${PYSITELIB}/hy/core/bootstrap.pyc
${PYSITELIB}/hy/core/language.hy
-${PLIST.py3x}${PYSITELIB}/hy/core/language.pyc
${PYSITELIB}/hy/core/macros.hy
-${PLIST.py3x}${PYSITELIB}/hy/core/macros.pyc
${PYSITELIB}/hy/core/shadow.hy
-${PLIST.py3x}${PYSITELIB}/hy/core/shadow.pyc
${PYSITELIB}/hy/errors.py
${PYSITELIB}/hy/errors.pyc
${PYSITELIB}/hy/errors.pyo
@@ -61,9 +49,7 @@
${PYSITELIB}/hy/extra/__init__.pyc
${PYSITELIB}/hy/extra/__init__.pyo
${PYSITELIB}/hy/extra/anaphoric.hy
-${PLIST.py3x}${PYSITELIB}/hy/extra/anaphoric.pyc
${PYSITELIB}/hy/extra/reserved.hy
-${PLIST.py3x}${PYSITELIB}/hy/extra/reserved.pyc
${PYSITELIB}/hy/importer.py
${PYSITELIB}/hy/importer.pyc
${PYSITELIB}/hy/importer.pyo
@@ -82,6 +68,9 @@
${PYSITELIB}/hy/macros.py
${PYSITELIB}/hy/macros.pyc
${PYSITELIB}/hy/macros.pyo
+${PYSITELIB}/hy/model_patterns.py
+${PYSITELIB}/hy/model_patterns.pyc
+${PYSITELIB}/hy/model_patterns.pyo
${PYSITELIB}/hy/models.py
${PYSITELIB}/hy/models.pyc
${PYSITELIB}/hy/models.pyo
diff -r d331e0eeab3e -r db19a9d3b948 lang/py-hy/distinfo
--- a/lang/py-hy/distinfo Fri Mar 27 15:25:36 2020 +0000
+++ b/lang/py-hy/distinfo Fri Mar 27 15:27:41 2020 +0000
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.5 2018/02/23 07:03:09 adam Exp $
+$NetBSD: distinfo,v 1.6 2020/03/27 15:27:41 adam Exp $
-SHA1 (hy-0.14.0.tar.gz) = 6bdf18c39aeab76b37d02a6ce9e631499887784a
-RMD160 (hy-0.14.0.tar.gz) = d260ea81f6b235267ce54bd95ec441b163ddfd27
-SHA512 (hy-0.14.0.tar.gz) = fd65ce96282a6c9c9149e2a6d0d06ff3fe05c55421c4b4f9fd29132e91e1012d266f4fcff48175b2d90cc40feee6eacfd165794edb63400b2aa0d75b5063d793
-Size (hy-0.14.0.tar.gz) = 71895 bytes
+SHA1 (hy-0.18.0.tar.gz) = 4e402d8b86554efd1028e7117e79031495dd65b4
+RMD160 (hy-0.18.0.tar.gz) = c662ae772e336683e39e9228fc384e2de0960c21
+SHA512 (hy-0.18.0.tar.gz) = 0e79a9e8057c2cf022703d4c8d7ff6832a211562d97024ebcb9e3d16bfc1b427d3ba08b855cef9b5810a36e33bde694b8bd3bbac947615e3f1693c9cdf32e8b2
+Size (hy-0.18.0.tar.gz) = 83803 bytes
SHA1 (patch-setup.py) = dc39e78039b408334f6f126730492355148e45c8
Home |
Main Index |
Thread Index |
Old Index