Commit graph

108 commits

Author SHA1 Message Date
Alex Shinn
1f1b361010 Using Makefile-configured snow install directories. 2022-08-08 18:43:30 +09:00
Alex Shinn
70acbf5a08 fix indentation 2022-08-03 22:44:28 +09:00
Alex Shinn
2f50a6cf74
Merge pull request #848 from lockywolf/crutch-for-relative-install-lib-dir
Add a crutch to better detect snow binary extension dir.
2022-08-03 22:42:40 +09:00
Lockywolf
ac5c10c114 Add a crutch to better detect snow binary extension dir. 2022-08-03 21:40:48 +08:00
Alex Shinn
66deb6fe3b install-data-file should return the installed path 2022-08-03 22:38:07 +09:00
Nguyễn Thái Ngọc Duy
f4008c92cf snow: add TODO regarding summary before upload 2020-09-05 09:31:29 +07:00
Nguyễn Thái Ngọc Duy
711c89cd97 snow: confirm before uploading packages
Uploading a package is an irreversible operation. It's not even about
accidentally leaking your secret sauce to the internet. You could upload
a package to snow-fort.org by accident and pullute the package name
space [1].

So let's ask the user first before going ahead uploading stuff. We only
ask once even if we're going to upload a dozen packages, so it's not
that annoying. The target repo is also shown in case you want to upload
to a custom repo and want to make sure it does so.

[1] I did (while attempting to uploading to a local snow-fort instance
    during testing). I guess `(chibi snow commands)` is forever mine
    now.
2020-09-04 19:25:29 +07:00
Alex Shinn
c82baa3aa9 ignore snow package meta files whose installed files have been removed 2020-09-04 14:04:53 +09:00
Nguyễn Thái Ngọc Duy
b52b2024f8 snow: extract feature list for cond-expand
Currently a package's cond-expand contains the symbol of the target
implementation and optionally more from config file. Execute a
command (once) on target implementation to add their full feature list,
making it available for each package to use.

All of these Schemes are tested. Larceny is just too annoying to get the
feature list (no one-liner, and it could take a while) so Larceny stays
the current behavior.

There is a small unrelated change here: the gosh command to get
version. We don't need to call (exit), if stdin is closed properly (it
should) then gosh should exit regardless.
2020-08-28 16:30:00 +07:00
Alex Shinn
9d65c61350 Merge branch 'master' of github.com:ashinn/chibi-scheme 2020-08-25 15:22:45 +09:00
Alex Shinn
0a503dc3ad use curl for GET as well as POST in snow (i(issue #549) 2020-08-25 15:21:25 +09:00
Nguyễn Thái Ngọc Duy
0eb0834bbc snow: accept "_" as version separator
$ tools/snow-chibi  implementations
    WARNING: Implementation gauche is an unsupported version,
    0.9.10_pre1, but at least 0.9.4 is required.
    cyclone
    sagittarius

The easy solution is also accept "_" as version separator and consider
"pre1" the forth component. This makes the warning go away, and I don't
think it'll affect version comparison on other schemes.
2020-08-24 18:36:31 +07:00
Alex Shinn
772542694b missing argument in snow package-spec+files 2020-08-01 00:00:38 +09:00
Alex Shinn
67dcd04d03 speedup snow search 2020-07-29 11:01:56 +09:00
Alex Shinn
d593a5cb0a death to tabs 2020-07-28 15:26:42 +09:00
Alex Shinn
5fe3ad766f avoid duplicate libraries 2020-07-21 15:48:35 +09:00
Alex Shinn
fad3413235
Merge pull request #609 from ilammy/snow-usr-local
Always install Snow libraries to /usr/local
2020-02-06 21:15:39 +08:00
Alexei Lozovsky
50a9c9d4d4 Use sudo when doing "snow-chibi remove"
Currently "remove" command does not know how to use sudo to remove
files installed into directories owned by root. By default Snow
installs stuff into /usr/local hierarchy and uses sudo for that.
Let's teach it to remove packages without explicit sudo too.
2020-02-02 16:46:23 +02:00
Alexei Lozovsky
26061930e9 Always install Snow libraries to /usr/local
Snow-Chibi is a local package manager, not a system one. It can install
Scheme packages into system but they are not managed by system package
manager like dpkg, RPM, pacman, ports, etc.

Traditionally (and in accordance with Filesystem Hierarchy Standard),
/usr/local hierarchy should be used for local administrator installs --
and that's what Snow-Chibi provides.

Let's make sure that Snow-Chibi installs snowballs into /usr/local
hierarchy even if Chibi is compiled for installation into the system,
with PREFIX=/usr. Introduce a distinct bunch of variables holding paths
to library installation directories, with "SNOW" prefix:

  - SNOWPREFIX    - default prefix for Snow-installed stuff
  - SNOWLIBDIR    - custom libraries required for Snow itself
  - SNOWSOLIBDIR  - shared libraries required for Snow itself
  - SNOWMODDIR    - Snow installs Scheme modules here
  - SNOWBINMODDIR - Snow installs native libraries here

All of these are set to /use/local by default, just as they are now.
However, they are not affected by regular PREFIX, LIBDIR, MODDIR, etc.
which affect only libraries bundled with Chibi.

And in order for these to work, they need to be added into the current
module path so that they can be used in parallel with system libraries.
Furthermore, we need to tweak "get-install-library-dir" function to use
those paths instead of hardcoded "/usr/local/lib" by default. Introduce
a new helper "get-install-library-dirs", similar to "get-install-dirs".
It will look up the correct installation directories in current module
path, giving preference to the ones with "/lib" in them.

With these defaults, Snow will install Scheme modules into
/usr/local/share/snow and native libraries go into /usr/local/lib/snow,
similar to how built-it libraries are installed into
/usr/local/share/chibi and /usr/local/lib/chibi is used for native code.
Of course, this can be overriden at build time by setting SNOWPREFIX or
individual SNOWMODDIR, SNOWBINMODDIR variables.
2020-02-02 16:21:21 +02:00
Robert Fisher
7f3d322407 Fix installation for Chicken 5
To get the repository path in Chicken 5, we not only have to require the
chicken.platform module, we also need to take the car of the result
since it now returns a list.
2019-08-29 11:42:21 -05:00
Robert Fisher
13d4bbf1d1 Change snow-chibi to work with Chicken 5
The method snow-chibi used to get the version of Chicken installed
doesn't work with Chicken 5. Adding "-R chicken.platform" would make it
work with Chicken 5, but then it wouldn't work with Chicken 4.

In both Chicken 4 & 5, however, csi has a -release option that will just
give the version number. So, I've changed the Chicken version detection
in snow-chibi to use this option.

Testing with...

	./chibi-scheme tools/snow-chibi.scm implementations

...then seemed to work with both Chicken 4 & 5.
2019-08-29 09:16:36 -05:00
Alex Shinn
afd887e672 update-repository shouldn't exit 2019-01-11 08:48:45 +08:00
Alex Shinn
6d3ae7a28e replacing (srfi 142) with (srfi 151) 2017-08-21 22:32:57 +09:00
Alex Shinn
8589333868 fix previous change for inline docs 2017-07-03 07:00:25 +09:00
Alex Shinn
c3e298757b Merge branch 'master' of https://github.com/ashinn/chibi-scheme 2017-07-03 06:57:13 +09:00
Alex Shinn
7b68f141c6 allow urls for snow docs 2017-07-03 06:57:09 +09:00
arthurmaciel
264a4a4ede Added support for Cyclone to Snow 2017-07-02 16:55:38 -03:00
Alex Shinn
eb79e98d20 adding (srfi 142), using that in place of (srfi 33) 2017-04-16 22:06:56 +09:00
Alex Shinn
806d92aa15 adding --scheme-script and --scheme-program-command args to snow (issue #400) 2017-03-26 21:30:53 +09:00
Alex Shinn
c03ae08bbd various portability improvements 2017-03-26 16:00:31 +09:00
Alex Shinn
1a1dfc64ca supporting installing srfi's for chicken 2017-01-31 22:47:01 +09:00
Alex Shinn
812dc59b20 removing debug output 2017-01-30 22:51:52 +09:00
Alex Shinn
7c12b0aaf3 sort libs within a package before installing,
plus other small fixes for (chibi iset) for chicken
2017-01-30 22:48:02 +09:00
Alex Shinn
ac6d0124c4 making (chibi term edit-line) portable, using from (chibi snow interface) 2017-01-23 23:12:58 +09:00
Alex Shinn
789b448e54 recursively install library-include-declarations 2017-01-14 16:23:17 +09:00
Alex Shinn
302ee50075 fixing path resolution for include-library-declarations 2017-01-14 15:52:06 +09:00
Alex Shinn
f691ae6a76 determining chicken-binary-version from (##sys#fudge 42) 2017-01-14 15:00:21 +09:00
Alex Shinn
396baa752f Updating chicken install path to 8. 2017-01-14 14:54:06 +09:00
Alex Shinn
50b17ac397 working towards snow portability 2016-10-17 23:00:14 +09:00
Alex Shinn
5804493889 additional string-cursor fixes for snow 2016-05-19 23:38:13 +09:00
Alex Shinn
3d8fbafab9 fixing disjoint cursor bug 2016-05-19 00:56:02 +09:00
Alex Shinn
841bf95509 supporting email stripping for multiple authors 2015-07-01 07:41:47 +09:00
Alex Shinn
64f3be9c99 use blocking io by default in snow 2015-06-22 20:51:20 +09:00
Alex Shinn
4ab97dd9bd adding experimental --use-curl option 2015-06-19 00:02:05 +09:00
Alex Shinn
c9a856b8f6 fix path adjustment of inline test files in snow-chibi package command 2015-06-15 23:39:38 +09:00
Alex Shinn
19df6e7578 strip leading parents in package test 2015-06-13 22:06:12 +09:00
Alex Shinn
a05b94f3c2 fixing bug in extract-program-dependencies 2015-06-13 20:59:01 +09:00
Alex Shinn
9f565d77c5 Allow optional sxml for the head section in page. 2015-05-20 21:23:12 +09:00
Alex Shinn
f255c35695 Fixing bug in invalid-signature-reason, allowing a proc value in update-repo-package. 2015-05-19 22:46:36 +09:00
Alex Shinn
09b1e3041c Setting utf-8 charset by default. 2015-05-11 20:40:21 +09:00