🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
japhb While looking to trim some extra disk from my rakudo-zef Docker image, I noticed that ~/.zef/store contains two separate copies of each repo contents list (in different directories). Is this intentional? Should they be symlinked instead? Or one copy just deleted? 02:02
ugexe i think you can delete the ones in subdirectories, and the download into subdirectories bit could be changed to a tmp directory. the reason it is the way it is now is because at one time it defaulted to doing e.g. `git pull` to download changes to the ecosystem list and thus needed a location to keep that repo cloned 03:29
japhb gotcha 03:33
ugexe basically this - github.com/ugexe/zef/blob/1f100e2b...#L128-L142 03:35
($!cache typically points at ~/.zef/store)
04:45 japhb left 04:49 japhb joined 04:53 japhb left 04:54 japhb joined 05:12 MasterDuke left
japhb Making some progress on a debian-slim + Rakudo + Zef docker container: 06:48
REPOSITORY TAG IMAGE ID CREATED SIZE
rakudo-zef 2024.02 ee2cd559905d 2 hours ago 174MB
That's about 35 MB smaller than tonyodell/rakudo-nightly, which itself is over 300 MB smaller than rakudo-star 06:49
I haven't uploaded anything to dockerhub yet, but the Dockerfile for it is at github.com/Raku-MUGS/rakudo-zef/bl...Dockerfile 06:50
07:55 sena_kun joined 09:23 sivoais_ left 10:08 sena_kun left 10:57 kjp left 11:07 kjp joined
Geth rakudo/main: 4ee064dc23 | (Elizabeth Mattijsen)++ | src/Perl6/bootstrap.c/BOOTSTRAP.nqp
Streamline bootstrap so more

  - separate deconting self into separate statements: unclear whether
   these deconts are needed, and this way they can be removed easily
   if it becomes clear the deconting is not needed
  - switch default for auto_viv_container in scalar_attr: it's more
   common to *not* have an auto_viv_container in the bootstrap: also
... (5 more lines)
11:48
rakudo/main: ec11e06b28 | (Elizabeth Mattijsen)++ | src/Perl6/bootstrap.c/BOOTSTRAP.nqp
Streamline Block in bootstrap

Specifically should now be smarter about handling the case where a block is cloned and it has phasers.
Sadly, the information about which phasers are actually available in a block, is lost: so we need to check at runtime *every time* whenever a Block is cloned. This needs to get smarter.
But for now, this appears to make "test" and "spectest" sigificantyly faster.
13:51
jdv japhb: what's your use case? 14:30
lizmat: is there a number that can be associated with "sigificantyly"? 14:31
japhb jdv: Packaging MUGS: irclogs.raku.org/mugs/2024-03-04.html 15:14
jdv i get golfing container images for deployment perf or storage cost opti but for a game? :) 15:18
also curious what your image cut out that the other one didn't 15:28
japhb Well part of the goal was trying to understand the ways that a Raku container can bloat; it turns out that there were (after packaging all the MUGS layers) hundreds of MB of accumulated cruft. 15:30
For example, /tmp/.zef holds a fair amount of unneeded junk, but you can't just remove it entirely always, because of modules that build a binary and leave it in there. 15:31
Likewise, you don't need multiple copies of the repo manifests in the final image. 15:32
jdv ah, nice 15:33
japhb (And of course, you don't want one to slip into a layer either (because deleting on a separate layer doesn't actually save any space), so big RUN '&&' ladders are the norm.
jdv looks like tony's just pulls in a handful more from apt
japhb I also wanted to do as much work as I could as the raku user, limiting root use to stuff that needs to do native installs 15:34
Some of tony's apt installs are redundant (they're pulled in by the ones I install), so it's not quite as different there as it looks. 15:35
One of my annoyances is that things that require TLS don't depend on ca-certificates, and it is neither Essential nor build-essential. 15:36
But good luck using https without it ....
lizmat jdv: not within noise levels 15:37
jdv japhb: yeah, that is odd. i noticed that recently when i was building a app image for a mojolicious based thing 15:38
lizmat: nice 15:39
japhb lizmat: FYI in English "significant" has two very different meanings: colloquially "enough to make a real difference", and statistically what you said. They have rather different connotations, hence possible confusion. :-) 15:40
patrickb is once more amused that "curl rakubrew.org/" magically does what it does. (I built this, but it's still amusing me.) 15:51
ugexe japhb: in case you run into them again, it i worth know which distributions are building an leaving binaries in ~/.zef that are still referenced after they are installed (i.e. using %?RESOURCES<...>.Str in compile time stuff) so we can fix them 16:15
actually i'm not sure if the %?RESOURCES<...> thing would cause that... those generally happen when the staging stuff (in /tmp) get referenced after install 16:17
oh sorry, you did say /tmp/.zef 16:18
japhb ugexe: Term::termios:ver<0.2> leaves a binary in /tmp/.zef, but I haven't tried the very latest version of that one. (The old version pin is because of some bugs/incompatibilities in subsequent releases, but like I said I haven't tried the very newest one.) 16:43
16:48 sivoais joined
lizmat notable6: weekly 17:07
notable6 lizmat, No notes for “weekly”
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2024/03/04/2024-...rammarism/ 18:41
18:58 sena_kun joined
jdv coulda said something about it being a "leap release":) 20:03
lizmat++
lizmat heh... good one 20:04
updated and afk&
23:24 sena_kun left 23:40 kjp left 23:47 kjp joined