Calvin Rose
2260a593bd
Add some test usage for the sample bundle.
2024-05-25 12:57:09 -05:00
Calvin Rose
7d8af2f99a
Add some testing to the bundle/ module.
2024-05-25 12:44:49 -05:00
Calvin Rose
46bdcece4d
Add some better logging when pruning bundles.
2024-05-25 10:56:40 -05:00
Calvin Rose
7387a1d91e
Add bundle/prune
and support for :auto-remove.
...
This allows dependencies to be marked such that they are not
primary dependencies installed by the users - rather, they are
dependencies of dependencies. This distinction is important when
a user installs a package that itself has dependencies.
This also interacts with new features to prevent a user from breaking
their installation by installing needed packages or
installing/uninstalling bundles out of order.
2024-05-25 10:48:26 -05:00
Calvin Rose
ae4b8078df
Merge branch 'master' into bundle-tools
2024-05-25 09:26:25 -05:00
Calvin Rose
60e0c8ea92
Ignore gcov
2024-05-25 09:25:27 -05:00
Calvin Rose
7d3acc0ed6
Get rid of "extended locale" support.
...
While useful on some platforms, behavior seems to be different across
the board, making use difficult.
2024-05-19 18:01:20 -05:00
Calvin Rose
2637b33957
Include locale.h and xlocale.h on some platforms.
2024-05-19 17:40:39 -05:00
Calvin Rose
58ccb66659
Move janet_buffer_dtostr
2024-05-19 17:14:21 -05:00
Calvin Rose
634429cf61
Merge branch 'locales'
2024-05-19 17:05:49 -05:00
Calvin Rose
6ac65e603d
Merge branch 'master' into bundle-tools
2024-05-19 15:52:25 -05:00
Calvin Rose
03166a745a
Disallow nan and inf in jdn.
2024-05-19 13:25:25 -05:00
Calvin Rose
4d61ba20ce
Fix -Werror=calloc-transposed-args
2024-05-19 09:55:39 -05:00
Calvin Rose
751ff677fe
Merge branch 'master' into bundle-tools
2024-05-19 09:53:14 -05:00
Calvin Rose
ace60e1898
Add ev/with-*lock macros.
2024-05-18 17:55:47 -05:00
Calvin Rose
876b7f106f
OpenBSD does not work with LC_*_MASK stuff.
2024-05-18 17:22:10 -05:00
Calvin Rose
809b6589a1
Put limits.h back.
2024-05-18 15:31:23 -05:00
Calvin Rose
02f53ca014
Formatting.
2024-05-18 15:21:37 -05:00
Calvin Rose
0b03ddb21b
More work on setting locale for extended locale support.
2024-05-18 15:20:22 -05:00
Calvin Rose
ea5d4fd3af
JANET_BSD not defined on apple.
2024-05-18 14:24:51 -05:00
Calvin Rose
e6b73f8cd1
BSD, use xlocale for thread safe functionality
2024-05-18 14:11:05 -05:00
Calvin Rose
af232ef729
windows needs a distinct implementation from posix for thread safety.
...
I must say, the windows solution is a lot simpler.
2024-05-18 14:02:20 -05:00
Calvin Rose
2e2f8abfc0
Work on add locales.
...
Need to be careful not to mess with %j formatter, or
in some other places.
2024-05-18 13:23:33 -05:00
Calvin Rose
91a583db27
Merge pull request #1448 from znley/master
...
Add LoongArch64 support
2024-05-18 06:33:07 -05:00
Calvin Rose
dc5cc630ff
Keep track of hooks and simple dependency tracking.
...
Refuse to install bundle unless dependencies are present.
Dependencies can be found for a bundle pre-install
by looking in ./bundle/info.jdn
2024-05-18 06:24:39 -05:00
znley
c1647a74c5
Add LoongArch64 support
2024-05-18 07:18:59 +00:00
Calvin Rose
721f280966
Add with-env
.
2024-05-16 21:52:49 -05:00
Calvin Rose
258ebb9145
Merge branch 'master' into bundle-tools
2024-05-16 21:39:41 -05:00
Calvin Rose
e914eaf055
Update CHANGELOG.md
2024-05-16 21:37:08 -05:00
Calvin Rose
fe54013679
Update naming *module-make-env* for #1447
2024-05-16 19:11:25 -05:00
Calvin Rose
fdaf2e1594
Add *module/make-env*
2024-05-16 19:10:30 -05:00
Calvin Rose
f0092ef69b
Add module/*make-env*
2024-05-16 19:06:07 -05:00
Calvin Rose
a88ae7e1d9
Merge branch 'master' into bundle-tools
2024-05-15 20:41:58 -05:00
Calvin Rose
9946f3bdf4
Add buffer/format-at
...
Move changes over from bundle-tools branch and add testing.
2024-05-15 20:16:42 -05:00
Calvin Rose
c747e8d16c
Address some compiler linter messages on openbsd
2024-05-15 18:20:20 -05:00
Calvin Rose
3e402d397e
Use older openbsd build for CI.
2024-05-15 18:16:19 -05:00
Calvin Rose
0350834cd3
By default, require and import extend current env.
2024-05-15 07:40:21 -05:00
Calvin Rose
980981c9ee
Print message if no hook found, but looked for
2024-05-15 07:30:29 -05:00
Calvin Rose
3c8346f24e
Install to bundle/ instead of _bundles/
2024-05-14 20:51:29 -05:00
Calvin Rose
42bd27c24b
Use a single janet file for hooks..
2024-05-14 16:45:27 -05:00
Calvin Rose
4a0f67f3bd
Update copyright.
2024-05-13 21:35:55 -05:00
Calvin Rose
09b6fc4670
Change storage locations for bundles.
...
Organize metadata a bit more cleanly under .bundles/<bundle-name>/
2024-05-13 20:59:06 -05:00
Calvin Rose
4d9bcd6bcc
Add is-backup option to bundle/pack.
...
We don't always to keep the old manifest and hooks.
2024-05-13 19:42:44 -05:00
Calvin Rose
cd34b89977
Rename bundle/backup to bundle/pack.
2024-05-13 19:38:14 -05:00
Calvin Rose
3151fa3988
Don't expose bundle/do-hook.
...
This is really an internal detail - rather than users writing
custom hooks, custom functionality should just be normal janet scripts.
2024-05-13 18:45:43 -05:00
Calvin Rose
5e58110e19
Add copyfile for copying large files.
2024-05-13 18:39:45 -05:00
Calvin Rose
e1cdd0f8cc
Update CHANGELOG.md
2024-05-13 12:47:46 -05:00
Calvin Rose
1f39a0f180
Add bundle/backup and buffer/format-at
...
bundle/backup is needed to make failed reinstalls able to rollback. It
also allows python wheel like functionality, where bundles can be build
on one machine, packaged, and then distributed and installed on other
compatible machines without compilers.
buffer/format-at is to buffer/format as buffer/push-at is to
buffer/push. It allows us to format in the middle of an existing
buffer. Prior, to do this operation and extra buffer creating was
required.
2024-05-13 12:06:17 -05:00
Calvin Rose
367c4b14f5
Sync manifest on error so that we uninstall the correct files.
...
If we cannot create files during install, we want to be able
to do a correct rollback.
2024-05-12 15:08:27 -05:00
Calvin Rose
9c437796d3
Add first versions of bundle/* module
...
The bundle module contains tools for modifying the contents of
(dyn *syspath*) and providing a common interface for installing
packages (called "bundles").
The functions are:
* bundle/install
* bundle/uninstall
* bundle/manifest
* bundle/do-hook
* bundle/list
* bundle/add-file
* bundle/add-directory
A bundle is a directory that contains any number of source files and
other extra files, as well as a directory "hooks/", which contains a
flat listing of janet scripts. This version of the bundle module is not
responsible for building C source modules or for downloading files over
the network.
2024-05-12 14:42:05 -05:00