Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,16 @@ News
1-May-2026: Version 0.9.9 is here

What's new:
* MSI package for Windows
* MSI package & standalone executable for Windows
* .pkg package for Mac OS
* RPM for Linux
* .deb package for Ubuntu/Debian
* Homebrew formula
* Improved guessing of Python version
* New spec units: SPLITW and SPLITF for splitting input records by words or fields into multiple output records. Support optional custom separators, an OF clause (accepting the same input parts as SUBSTRING), and range output placement (e.g. `splitw 1-10`).

*Note:* Installing from package does not include Python support on Windows.

*Note:* On Linux, the `specs` binary is bigger when installed from package, as it is statically linked with libstdc++.
***
28-Feb-2026: Version 0.9.6 is here
Expand All @@ -38,9 +40,9 @@ To download your copy of *specs*, you can get it from [github](https://github.co

Building
========
If you have downloaded a git repository, first make sure to check out a stable tag such as v0.9.5:
If you have downloaded a git repository, first make sure to check out a stable tag such as v0.9.9:
```
git checkout v0.9.6
git checkout v0.9.9
```
A good way to get the latest stable release is to check out the `stable` branch and rebase to its tip:
```
Expand All @@ -49,12 +51,14 @@ git rebase
```

After that, _cd_ to the specs/src directory, and run the following three commands:
* `python setup.py`
* `python setup.py` - use `python3` or `python3.x` if your default Python version is 2.7
* `make some`
* `sudo make install`

*Note:* Windows does not need `sudo`.
*Note:* Only Python 3 is supported at this point.

*Note:* Only Python 3 is supported at this point. To enable Python support, you need to have the `python3-devel` package that matches your python version installed.

*Note:* On some Mac machines, `sudo make install` will cause a warning about being the wrong user.

Known Issues
Expand Down
19 changes: 13 additions & 6 deletions specs/src/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ def python_search(arg):
with open("test_script.py","w") as scriptf:
scriptf.write(script)
cmd = "{} test_script.py".format(arg)
rc = os.system(cmd)
rc = run_the_cmd(cmd)
cleanup_after_python()
if rc!=0:
sys.stdout.write("No -- could not get python version from {}.\n".format(arg))
Expand Down Expand Up @@ -612,18 +612,25 @@ def python_search(arg):
sys.stdout.write("configured for Python version {}.\n".format(cv['py_version']))
CFG_python = True
else:
if python_prefix=="": # default: python is optional and prefix is 'python'
CFG_python = python_search("python")
python_yes = (python_prefix=="yes")
if python_prefix=="" or python_prefix=="yes":
try:
python_prefix = sys.executable.split('/')[-1]
if len(python_prefix) < len("python"):
python_prefix = "python"
except:
python_prefix = "python"
CFG_python = python_search(python_prefix)
os.system("/bin/rm xx.txt")
if python_yes and not CFG_python:
sys.stdout.write("Python support not found.\n")
exit(-4)

elif python_prefix=="no":
sys.stdout.write("Python support configured off.\n")
CFG_python = False
full_python_version = "N/A"
else:
if python_prefix=="yes":
python_prefix = "python"

rc = python_search(python_prefix)
run_the_cmd("/bin/rm xx.txt")
if rc:
Expand Down
Loading