41829c3170
process: fix segmentation fault in strtosig
...
Refactor some of the magic behind strtosig;
store the signal count in a static variable,
avoiding the complexity of accessing the Lua registry.
2024-03-26 16:30:38 +13:00
be1d3a1352
tests: add test for printfmt
2024-03-26 16:28:49 +13:00
75096fdf99
tests: improve
2024-08-11 18:22:08 +12:00
0e4c48fda3
tests: use fs.mkpath
2024-03-26 14:54:14 +13:00
821b717583
configure: drop dynamically linked liblua comment
...
Callisto uses modified versions of the Lua standard libraries,
therefore using a dynamically linked liblua is impossible.
2024-03-25 09:46:25 +13:00
b7ea19b167
gitignore: remove unnecessary entries
...
Remove lua, luac, and *.so. The Lua executables aren't built anymore
so we don't need these in the gitignore any longer, and therefore we
won't need the external gitignore either.
2024-03-25 09:40:08 +13:00
0aa68af3d7
extra: init function "printfmt"
...
Roughly equivalent to:
io.stdout:write(string.format(fstring, ...), '\n')
Only possible because of the newly bundled string.format replacement.
2024-03-24 20:22:06 +13:00
3fa54b0cfc
cl: use lstrfmt over string.format
2024-03-24 18:41:37 +13:00
89e584c5f5
util: bundle string.format replacement
...
Needed for functions like cl.mesg which need to print a formatted
message. Previously these functions had to call string.format, and
would have to throw an error if it was not available.
2024-03-24 18:39:40 +13:00
a87c36d61e
fs: init function "issymlink"
2024-03-24 15:32:03 +13:00
1c408c914e
fs: use fs.type backend for isdirectory and isfile
2024-03-24 15:31:27 +13:00
1c156e6f74
fs: init function "type"
...
Returns a string describing the given file's type.
2024-03-24 15:30:23 +13:00
5071aed152
fs: fix isfile documentation
2024-03-24 14:45:56 +13:00
2799d481d5
fs: remove unnecessary break
2024-04-12 09:10:18 +12:00
c620c39f0a
fs: use lstat over stat
2024-03-24 14:21:49 +13:00
a27ebcd8c3
fs: fix dirname documentation
2024-03-24 14:10:04 +13:00
a1c2f49232
fs: fix security issues in mkdir and mkpath
...
777 is writable to anyone, 755 is only writable to the owner/group
2024-03-24 14:06:56 +13:00
dac9418d8e
fs: split mkdir's recursive functionality into "mkpath"
2024-03-24 14:05:24 +13:00
78b55f2205
fs: fix memory leak in mkdir
2024-03-24 13:45:40 +13:00
5bd98fd137
fs: init function "entries"
2024-03-24 13:34:11 +13:00
3dfbb9a386
external/lua: cease building lua/luac executables
2024-08-11 18:17:46 +12:00
d8519cc39f
fs: init function "status"
...
fs.status returns a table containing information concerning the status
of a file. Currently, the table includes the following information:
string path -- the given path to the file; the first argument
integer mode -- bitmask of file modes; see chmod(2)
integer uid -- owner of the file in UID form
integer gid -- owner group of the file in GID form
integer accessdate -- date the file was last accessed
integer modifydate -- date the file was last modified
integer chdate -- date the file's status last changed
Dates are given in the form of an integer number representing the
number of seconds since Jan 1, 1970 (unixtime).
For more information consult the definition of sys/stat.h
according to POSIX:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html
2024-03-20 16:00:46 +13:00
cfca6cf880
fs: include mode constants in the library table
2024-03-20 15:57:54 +13:00
4fd5dcf29a
tests: remove json tests
...
There's no point in testing it.
2024-03-20 13:59:28 +13:00
0053bec0b1
builds: make -Ccallisto -> make -C callisto
2024-08-09 11:26:06 +12:00
a294d76b1b
builds/debian.yml: drop
2024-08-09 11:25:58 +12:00
cdae936548
external/lua: update to Lua 5.4.7
...
Update the version of Lua included with Callisto to Lua 5.4.7.
Re-generate patches to apply cleanly on top of Lua 5.4.7 sources.
Fixes: https://todo.sr.ht/~jeremy/callisto/8
2024-07-01 08:51:36 +12:00
045cb437ba
configure: create config.mk before calling Lua's makefile
...
https://builds.sr.ht/~jeremy/job/1249641
2024-06-13 11:17:57 +12:00
1a0a492215
makefile: link Lua objects into libcallisto
...
Fixes: https://todo.sr.ht/~jeremy/callisto/13
2024-06-13 11:13:07 +12:00
b6cd36ec38
external/lua: don't build liblua.a
2024-06-13 10:51:20 +12:00
90af5483fa
scripts/install-lua.sh: init script
...
Add a script that installs a Lua source archive into the Callisto
source tree. This will ease the pain of transitioning to Lua 5.4.7.
References: https://todo.sr.ht/~jeremy/callisto/8
2024-06-13 10:50:38 +12:00
00ea15b0b4
flake.lock: update to 24.05
2024-06-12 15:27:32 +12:00
e9c473e671
flake: add devshell
2024-06-12 15:23:23 +12:00
392a041d2e
builds/debian: init build
...
Replaces the old Arch Linux build.
2024-06-12 15:21:20 +12:00
bd335f17c8
builds/archlinux: remove
2024-06-12 15:21:12 +12:00
1edb34b313
clang-format: remove SpacesInParens
...
It's exclusive to clang-format 17 which is too new at the moment.
2024-06-12 15:17:54 +12:00
6ce41f687d
environ: implement __pairs metamethod
...
Implements: https://todo.sr.ht/~jeremy/callisto/11
2024-06-12 14:34:58 +12:00
b3f6d52152
environ: rename local functions
2024-06-12 10:24:26 +12:00
9267342649
makefile: add gitconfig target
2024-06-11 15:11:54 +12:00
95e410feff
README.md: update contributing section
2024-06-11 10:56:24 +12:00
9e6e82ecf5
README.md: add note surrounding POSIX compatibility
...
Also specify the supported POSIX revision is POSIX.1-2017.
POSIX.1-2024 is soon to be published.
2024-06-11 10:56:19 +12:00
a67c7d3eee
builds: install correct gcc package on OpenBSD
2024-05-28 12:45:59 +12:00
cdb477b798
configure: link with -E
...
Fixes the error 'undefined symbol: lua_gettop' when trying to load
external Lua shared object libraries.
2024-03-19 17:48:35 +13:00
a1e01cf3c3
flake: remove with statement
2024-03-19 10:18:25 +13:00
38d243fc40
editorconfig: add rule for nix files
2024-03-19 10:15:59 +13:00
dfb81afddb
configure: compile Lua with -DLUA_USE_DLOPEN
...
Fixes errors when trying to load external dynamic libraries at runtime.
2024-03-18 09:47:21 +13:00
e0c6377779
configure: revert -Oz back to -O3
...
Apparently OpenBSD's gcc doesn't support -Oz...
2024-03-14 14:53:17 +13:00
ec2a841c04
configure: use -Oz in release mode
2024-03-14 14:50:49 +13:00
820ed598d9
process: reformat
2024-03-14 10:32:15 +13:00
6f123e5665
process: add clang-format on comment
2024-03-14 10:29:53 +13:00