Commit graph

192 commits

Author SHA1 Message Date
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
30a1097bb0 tree: reformat
Done automatically by clang-format
2024-03-12 12:21:39 +13:00
669eb3fd28 tree: add clang-format off labels
When I figure out how to make clang-format ignore struct array
initialisers, I'll get rid of this.
2024-03-12 12:19:23 +13:00
3c53685e4a clang-format: align trailing comments 2024-03-12 12:12:57 +13:00
c87a8b03aa clang-format: don't reflow comments 2024-03-12 12:05:59 +13:00
784fd5e787 csto: change comment style to match style(9)
See http://man.openbsd.org/style.9
2024-03-12 11:56:38 +13:00