This channel is intended for people just starting with the Raku Programming Language (raku.org). Logs are available at irclogs.raku.org/raku-beginner/live.html Set by lizmat on 8 June 2022. |
|||
00:31
topnep left,
topnep joined
02:35
topnep left
02:36
topnep joined
10:57
topnep left
10:59
topnep joined
13:36
topnep_ joined
|
|||
ab5tract | tio.run does seem to be responsive to PRs though | 13:37 | |
13:38
topnep left
14:51
habere-et-disper joined
15:40
topnep_ left
15:41
topnep joined
16:01
habere-et-disper left
16:39
habere-et-disper joined
17:45
topnep left
17:49
topnep joined
18:14
habere-et-disper left
19:02
sivoais left
19:04
sivoais joined
19:19
Lembark joined
|
|||
Lembark | How do I configure zef to stop polluting my home dir's during install? github.com/ugexe/zef shows '--install-to' and DefaultCUQ, but I don't see any way to have the installation >abort< if the --install-to is not writable when it's in auto mode. | 19:27 | |
Ideally it'd all be configured to use /tmp/zef/whatever for staging via TempDir & StoreDir, but I don't see a workaround for not defaulting to ~/.zef (other than my current had of 'ln -fsv non-existant ~.zef' for each user). | |||
Thanks | |||
lizmat | for clarity: zef doesn't actually do any installing: it calls the logic of the appropriate CompUnit:: modules in core | 19:35 | |
so any change would most likely need to be done there | |||
docs.raku.org/programs/03-environm...ompilation looks like RAKUDO_PREFIX might be what you need? ugexe ? | 19:37 | ||
Lembark | ./resources/config.json | ||
$*TMPDIR | |||
This is an IO::Path object representing the "system temporary directory" as determined by .tmpdir IO::Spec::* method. | |||
{ | |||
"ConfigVersion" : "1", | |||
"StoreDir" : "$*HOME/.zef/store", | |||
"TempDir" : "$*TMPDIR/.zef.{time}.{$*PID}", | |||
I can see how to replace $*HOME with $*TMPDIR; I can see that $*TMPDIR is "n IO::Path object representing the "system temporary directory" as determined by .tmpdir IO::Spec::* method," but docs.raku.org/type/IO::Spec gives me nothing on how I would >SET< the tmpdir. | |||
RAKUDO_PREFIX is the installation directory, I think? | |||
lizmat | ah, maybe I misunderstood the question | ||
Lembark | What is the RAKU/zef equivalent of PERL_CPANM_HOME? | 19:38 | |
i.e., a prefix for the root of all storage used for material snagged from the cloud and during processing for installation of modules into RAKDUO_PREFIX? | 19:39 | ||
lizmat | ~/.zef/store I believe ? | ||
Lembark | The whole point of this is keeping the garbage OUT of home dirs and moving it into a common (managed) space, likely in /var/tmp. | ||
e.g., export PERL_CPAN_HOME=/tmp/CPANM; | 19:40 | ||
lizmat | perhaps ZEF_CONFIG_STOREDIR ? | 19:41 | |
look at ENV OPTIONS with zef --help | 19:42 | ||
Lembark | If $*TMPDIR is (mixing a few metaphores here) equivalent to $ENV{ TMPDIR } then I can "export TMPDIR=/tmp/zef" and then hack the json to use $*TMPDIR/store and $*TMPDIR/{$*PID} or something similar. | ||
lizmat | TIL | ||
Lembark | I'm trying to INSTALL zef :-) | ||
lizmat | raku -I. bin/zef install . | 19:43 | |
in the zef source dir | |||
you use zef to install zef | 19:44 | ||
Lembark | Which will puke given that my ~/.zef is a symlink to nowhere in order to avoid zef polluting the home dir with side-effects of installing. | 19:45 | |
Sanity check: | |||
export ZEF_CONFIG_STORE_DIR=/tmp/zef/store ZEF_CONFIG_TEMPDIR=/tmp/zef/tmp; | |||
would isolate any content written as part of the install using zef to /tmp/zef? | |||
i.e., there isn't a third env var somewhere? | |||
Q: is $*TMPDIR defaulted from the environment's TMPDIR (or which module defines it, since that would allow me to just replace $*HOME with $*TMPDIR in the JSON config and be done with it. | 19:46 | ||
lizmat | depends on the OS | 19:47 | |
Lembark | *NIX | ||
Setting this all on windog requires playing with the home device, etc, anyway. | |||
lizmat | method tmpdir { | 19:48 | |
for %*ENV<TMPDIR>, '/tmp' { | |||
so, TMPDIR env | |||
and if not set, assume '/tmp' | |||
and if /tmp doesn't exist, assume current dir | |||
github.com/rakudo/rakudo/blob/main...od#L85-L94 | 19:49 | ||
Lembark | Which would, I think, allow for: | 19:51 | |
"StoreDir" : "/var/lib/zef/store", | |||
"TempDir" : "/tmp/.zef/{$*PID}.{time}" | |||
or | |||
"TempDir" : "/run/user/{$*PID}/{time}" | |||
to isolate any stored content to a common /var/lib/zef/store and put an in-work extract/compile artifacts into /tmp or /run/user/$$ (bashspeak). | |||
lizmat | I guess | 19:52 | |
afk& | 20:01 | ||
20:05
Lembark left
20:17
habere-et-disper joined
21:44
habere-et-disper left
22:42
habere-et-disper joined
23:20
habere-et-disper left
23:26
habere-et-disper joined
23:34
habere-et-disper left
|