mirror of
https://git.sr.ht/~crc_/retroforth
synced 2024-11-16 19:48:56 +01:00
nga-python: add Makefile.python target to package, upload for pypi (#23)
FossilOrigin-Name: 3ad6ae382f4a6fb777d52cee8bf892ad6c5174642ea64c24fcfd8e5e372c3c6e
This commit is contained in:
parent
475a53d21f
commit
f51e345931
8 changed files with 2694 additions and 1445 deletions
|
@ -1,4 +1,5 @@
|
|||
PYTHON ?= python3
|
||||
EDITOR ?= nano
|
||||
|
||||
default: baseimage
|
||||
cp ngaImage pythonImage
|
||||
|
@ -10,3 +11,10 @@ baseimage:
|
|||
$(PYTHON) tools/retro-muri.py image/retro.muri
|
||||
$(PYTHON) tools/retro-extend.py ngaImage image/retro.forth
|
||||
|
||||
release:
|
||||
retro tools/amalgamate-python.retro >rel/python/retroforth/retroforth.py
|
||||
$(EDITOR) rel/python/setup.py
|
||||
cd rel/python && python3 setup.py sdist bdist_wheel
|
||||
|
||||
upload:
|
||||
cd rel/python && python3 -m twine upload dist/*
|
||||
|
|
BIN
ngaImage
BIN
ngaImage
Binary file not shown.
52
rel/python/LICENSE
Normal file
52
rel/python/LICENSE
Normal file
|
@ -0,0 +1,52 @@
|
|||
RETRO is a personal, minimalistic Forth
|
||||
|
||||
## Legalities
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software
|
||||
for any purpose with or without fee is hereby granted, provided
|
||||
that the copyright notice and this permission notice appear in
|
||||
all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS
|
||||
ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
|
||||
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
|
||||
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
|
||||
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
OF THIS SOFTWARE.
|
||||
|
||||
RETRO 12 is:
|
||||
|
||||
Copyright (c) 2008 - 2021, Charles Childers
|
||||
|
||||
Portions of the code derive from RETRO 11, which was:
|
||||
|
||||
Copyright (c) 2008 - 2016, Charles Childers
|
||||
Copyright (c) 2012 - 2013, Michal J Wallace
|
||||
Copyright (c) 2009 - 2011, Luke Parrish
|
||||
Copyright (c) 2009 - 2010, JGL
|
||||
Copyright (c) 2010 - 2011, Marc Simpson
|
||||
Copyright (c) 2011 - 2012, Oleksandr Kozachuk
|
||||
Copyright (c) 2010, Jay Skeer
|
||||
Copyright (c) 2010, Greg Copeland
|
||||
Copyright (c) 2011, Aleksej Saushev
|
||||
Copyright (c) 2011, Foucist
|
||||
Copyright (c) 2011, Erturk Kocalar
|
||||
Copyright (c) 2011, Kenneth Keating
|
||||
Copyright (c) 2011, Ashley Feniello
|
||||
Copyright (c) 2011, Peter Salvi
|
||||
Copyright (c) 2011, Christian Kellermann
|
||||
Copyright (c) 2011, Jorge Acereda
|
||||
Copyright (c) 2011, Remy Moueza
|
||||
Copyright (c) 2012, John M Harrison
|
||||
Copyright (c) 2012, Todd Thomas
|
||||
|
||||
The Free Pascal implementation in vm/nga-pascal is:
|
||||
|
||||
Copyright (c) 2016, Rob Judd
|
||||
|
||||
The Nim implementation in vm/nga-nim is:
|
||||
|
||||
Copyrigh (c) 2021, Jorge Acereda
|
97
rel/python/README
Normal file
97
rel/python/README
Normal file
|
@ -0,0 +1,97 @@
|
|||
## Retro: A Modern, Pragmatic Forth
|
||||
|
||||
RETRO is a modern, pragmatic Forth drawing influences from many
|
||||
sources. It's clean, elegant, tiny, and easy to grasp and adapt
|
||||
to various uses.
|
||||
|
||||
Features:
|
||||
|
||||
- Open Source (ISC License)
|
||||
- Portable (runs on a MISC-style virtual machine)
|
||||
- Small source & binaries
|
||||
- Builds into a single, self contained binary for easy deployment
|
||||
- Sources in literate format, using a Markdown variant
|
||||
|
||||
## Quick Start
|
||||
|
||||
For most systems (FreeBSD, NetBSD, OpenBSD, macOS, Linux):
|
||||
|
||||
make
|
||||
|
||||
You will need a standard C compiler and `make`.
|
||||
|
||||
## Executables
|
||||
|
||||
Binaries will be placed in the `bin` directory.
|
||||
|
||||
The primary executable is `retro`. This is used for running the
|
||||
examples and the Atua (gopher) & Casket (http) servers that
|
||||
power forthworks.com.
|
||||
|
||||
The `retro` executable embeds the image into the binary, making
|
||||
it trivial to copy and deploy.
|
||||
|
||||
This interface layer also extends the language with many new
|
||||
words and vocabularies, adds scripting, file i/o, gopher, and
|
||||
floating point math support.
|
||||
|
||||
The `retro` executable can handle a variety of command line
|
||||
arguments:
|
||||
|
||||
retro -i
|
||||
|
||||
Starts the *listener*, a basic REPL for interactive use.
|
||||
|
||||
retro filename
|
||||
|
||||
This will run the code in the specified file, then exit. This
|
||||
is also used to run programs as shell-type scripts using a
|
||||
header line like `#!/usr/bin/env retro`.
|
||||
|
||||
retro -i -f filename
|
||||
|
||||
This will run the code in the specified file, then start the
|
||||
listener.
|
||||
|
||||
retro -h
|
||||
|
||||
Displays a summary of the command line arguments.
|
||||
|
||||
Source files for use with `retro` are written with code in
|
||||
fenced blocks:
|
||||
|
||||
commentary here
|
||||
|
||||
~~~
|
||||
code here
|
||||
~~~
|
||||
|
||||
Anything outside the fenced blocks will be ignored.
|
||||
|
||||
## Documentation
|
||||
|
||||
The primary documentation is in RETRO-Book.md (and the formatted
|
||||
RETRO-Book.html.) Additional notes can be found in the `doc`
|
||||
directory.
|
||||
|
||||
## Alternative Implementations
|
||||
|
||||
In addition to the C and Python implementations, this source
|
||||
tree includes additional implementations in C#, JavaScript,
|
||||
and Pascal. These are not as well tested or as feature complete
|
||||
as the main implementations, but are provided for your use if
|
||||
the standard implementations will not suffice.
|
||||
|
||||
## Patreon
|
||||
|
||||
I have a Patreon at https://www.patreon.com/_crc for those that
|
||||
want to financially support development. All funds raised via
|
||||
Pateron are put into development related expenses (server expenses,
|
||||
app store fees, hardware).
|
||||
|
||||
Thanks go out to my current and past patrons:
|
||||
|
||||
- Kiyoshi YONEDA
|
||||
- Krinkleneck
|
||||
- Rick Carlino
|
||||
- Scott McCallum
|
1
rel/python/retroforth/__init__.py
Normal file
1
rel/python/retroforth/__init__.py
Normal file
|
@ -0,0 +1 @@
|
|||
__version__ = '0.1.0'
|
1989
rel/python/retroforth/retroforth.py
Normal file
1989
rel/python/retroforth/retroforth.py
Normal file
File diff suppressed because it is too large
Load diff
25
rel/python/setup.py
Normal file
25
rel/python/setup.py
Normal file
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env python3
|
||||
# encoding: utf-8
|
||||
|
||||
import setuptools
|
||||
|
||||
with open("README", "r", encoding="utf-8") as fh:
|
||||
long_description = fh.read()
|
||||
|
||||
setuptools.setup(
|
||||
name="retroforth",
|
||||
version="2021.1",
|
||||
author="Charles Childers",
|
||||
author_email="crc@forthworks.com",
|
||||
description="RetroForth is a modern, pragmatic Forth",
|
||||
long_description=long_description,
|
||||
long_description_content_type="text/markdown",
|
||||
url="http://forthworks.com/retro",
|
||||
packages=setuptools.find_packages(),
|
||||
classifiers=[
|
||||
"Programming Language :: Python :: 3",
|
||||
"License :: OSI Approved :: ISC License (ISCL)",
|
||||
"Operating System :: OS Independent",
|
||||
],
|
||||
python_requires='>=3.6',
|
||||
)
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue