@@ -33,14 +33,15 @@ workspace
33
33
means a workspace is where the :file: `_build ` and :file: `registry `
34
34
directories are generated. In most cases, a workspace is the directory
35
35
containing the :file: `dylan-package.json ` file, but the ultimate arbiter is
36
- the workspace.json file, if it exists. See `workspaces `_ for details.
36
+ the :file: ` workspace.json ` file, if it exists. See `workspaces `_ for details.
37
37
38
38
active package
39
39
A package checked out into the top-level of a workspace. In most cases a
40
40
workspace is the same as a package directory so there is only one active
41
- package. See `Workspaces `_ for discussion of multi-package
42
- workspaces. Example: the `dylan update `_ subcommand scans active packages
43
- when creating the registry.
41
+ package. See `Workspaces `_ for discussion of multi-package workspaces.
42
+
43
+ The `dylan update `_ subcommand scans active packages when creating the
44
+ registry.
44
45
45
46
release
46
47
A specific version of a package. A release has a `Semantic Version `_ associated
@@ -50,24 +51,28 @@ release
50
51
Requirements
51
52
============
52
53
53
- To find and install packages on the local file system many of the
54
- :program: `dylan ` subcommands use the :envvar: `DYLAN ` environment variable. If
55
- :envvar: `DYLAN ` is not set, ``$HOME/dylan `` is used instead. (Much of this
56
- documentation is written to assume that :envvar: `DYLAN ` is set, but it is not
57
- required.)
58
-
59
54
Make sure :program: `git ` is on your :envvar: `PATH ` so it can be found by the
60
55
package manager, which currently exec's ``git clone `` to install
61
56
packages. (This dependency will be removed in a future release.)
62
57
63
- The :program: `dylan ` tool installs packages, including the `pacman-catalog `_
64
- package (which describes where to find other packages), under ``$DYLAN/pkg/ ``.
65
58
66
- .. warning ::
59
+ Where are Packages Installed?
60
+ =============================
61
+
62
+ The :program: `dylan ` tool installs package dependencies locally in the
63
+ workspace directory by default. However, you may choose to install them
64
+ globally with :command: `dylan update --global `. Also, the package manager
65
+ caches `its catalog <https://github.com/dylan-lang/pacman-catalog >`_ into a
66
+ global location per user. This location is chosen based on environment
67
+ variables, in this order:
68
+
69
+ 1. ``${DYLAN}/_packages `` if :envvar: `DYLAN ` is set.
70
+
71
+ 2. ``${XDG_STATE_HOME}/dylan/_packages `` (Unix) if :envvar: `XDG_STATE_HOME ` is
72
+ set, or ``${CSIDL_LOCAL_APPDATA}/dylan/_packages `` (Windows) if
73
+ :envvar: `CSIDL_LOCAL_APPDATA ` is set.
67
74
68
- Don't put files you want to keep in the ``$DYLAN/pkg/ `` directory. The
69
- expectation should be that anything in this directory may be deleted at any
70
- time by the package manager.
75
+ 3. ``${HOME}/.local/state/dylan/_packages `` otherwise.
71
76
72
77
73
78
Building From Source
@@ -85,8 +90,8 @@ version, follow these steps to build and install.
85
90
86
91
#. Read the `Requirements `_ section, above.
87
92
88
- #. Make sure you have :program: `git `, :program: `make `, and Open Dylan
89
- installed.
93
+ #. Make sure you have :program: `git `, :program: `make `, and
94
+ :program: ` dylan-compiler ` installed.
90
95
91
96
#. Clone and build the "dylan-tool" project::
92
97
@@ -97,7 +102,8 @@ version, follow these steps to build and install.
97
102
$ make install
98
103
99
104
#. Make sure that ``$DYLAN/bin `` is on your ``$PATH ``. If you prefer not to
100
- set ``$DYLAN ``, make sure that ``$HOME/dylan/bin `` is on your ``$PATH ``.
105
+ set ``$DYLAN ``, make sure that ``$HOME/dylan/bin `` is on your ``$PATH ``, as
106
+ that is where the Makefile installs the executable.
101
107
102
108
You should now be able to run `dylan help `_ and go through the Hello World
103
109
example below.
@@ -462,13 +468,14 @@ Options:
462
468
dylan install
463
469
-------------
464
470
465
- Install a package into the package cache, `` ${DYLAN}/pkg `` .
471
+ Install packages .
466
472
467
473
Synopsis: ``dylan install <package> [<package> ...] ``
468
474
469
475
This command is primarily useful if you want to browse the source code in a
470
- package locally without having to worry about where to clone it from. The
471
- packages are installed into ``${DYLAN}/pkg/<package-name>/<version>/src/ ``.
476
+ package locally without having to worry about where to clone it from. If you
477
+ are in a workspace directory the packages are installed in the workspace's
478
+ "_packages" subdirectory. Otherwise, see `Where are Packages Installed? `_.
472
479
473
480
474
481
.. index ::
0 commit comments