IRC channel logs

2022-04-21.log

back to list of logs

<stikonas>fossy: https://github.com/fosslinux/live-bootstrap/pull/149
<fossy>stikonas: reviewing now
<stikonas>I've just pushed some linter fixes
<fossy>i have a couple of changes locally on top of this but we'll merge this one first then i'll pr my changes on top of it
<stikonas>ok
<stikonas>a couple of other minor chnages that can be done:
<stikonas>1. we can swap patch and make and build patch using makefile. 2. do not download 2nd copy of automake-1.16.3.xz (use .gz)
<stikonas>at some point if I have time I can do those
<stikonas>fossy: we also should update documentation with steps how to kick it off manually
<stikonas>now it should be much simpler
<fossy>agreed
<stikonas>I think just copy over live-bootstrap on top of stage0-posix
<fossy>also locally i have sysa/distfiles and sysc/distfiles rather than merged /distfiles so you don't even need to do that
<stikonas>ok
<stikonas>oh, another thing, we should probably do tarball checksumming inside too
<fossy>i can't think of anything else that stops someone from just copying it over and running it now?
<fossy>yes
<fossy>been meaning to do that for a while just kept forgetting
<stikonas>well, it was mostly tarballs in individual directories that prevented that
<fossy>yeah
<stikonas>fossy: yes, I think it should just run now
<stikonas>if you look at sysb.py and sysc.py
<stikonas>they basically just do copytree and nothing else
<stikonas>and sysa does that and stage0-posix
<fossy>just a couple of small things
<stikonas>it's a bit annoying that we have SOURCES=/sysa... now
<stikonas>(which used to be /after)
<stikonas>but now there is /sources directory
<fossy>one of my local changes is changing /sources to /distfiles
<fossy>to avoid the confusion between tarball sources and script sources
<stikonas>ok, makes sense
<stikonas>ok, made changes, but need to test them
<stikonas>I think it's working fine
***j-k39 is now known as j-k
<j-k[m]>hi
<j-k[m]>is it possible to actually bootstrap dotnet? I'm looking at their "build from source" guide but it seems to just download an old version for building the newer version. I can't see any detail for starting from something like gcc or clang, or at the very least what is the lowest prebuilt dotnet I can use to build v6 etc
<pabs3>there was some discussion of this in recent weeks, the /topic has a link to the channel logs. search for .NET and Mono to find it
<j-k[m]>ok cool. I'll have a search. thanks
<oriansj>j-k[m]: well dotnet is a framework and it comes in two varieties: core and microsoft. Core could be built by a modern C# compiler like Mono (state of bootstrapping C# here: https://bootstrapping.miraheze.org/wiki/Boostrapping_Specific_Languages#C# ) and the microsoft one is proprietary and it can't be bootstrapped.
<j-k[m]>Thanks. So Im reading through and playing around with these:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/af9234171e313ed9cf95dae74d6648ea76000cc8)
<j-k[m]>Looking at arch and homebrew they both take this approach of clone the installer dir, run `./build.sh /p:ArcadeBuildTarball=true /p:TarballDir=blah` etc following the instructions
<j-k[m]>ah, I also just spotted
<j-k[m]>> As of December 2012, the DotGNU project has been decommissioned, until and unless a substantial new volunteer effort arises.
<muurkha>Mono is the thing we were talking about
<muurkha>IIRC
<j-k[m]>yeah it was mostly about mono - http://logs.guix.gnu.org/bootstrappable/2022-04-06.log#050701
<j-k[m]>I'm still very confused the relation between mono and .net - I looked around for details on building .net with anything other than itself e.g. mono but didn't find anything
<muurkha>is the source code to .net even available, much less under a free license?
<unmatched-paren>muurkha, j-k[m]: this is my understanding of the dotnet situation (someone please correct me if i'm wrong):
<unmatched-paren>dotnet was a proprietary microsoft thing at first; it was going to be some massive thing according to Microsoft, so GNU decided to write Portable.NET to stop them, which has now been stopped
<unmatched-paren>at some point, Mono started, but was bootstrapped at first from the proprietary dotnet
<unmatched-paren>and now, Microsoft has freed dotnet and called it `dotnet core', which is _also_ not bootstrappable
<unmatched-paren>but portable.net was written in C
<unmatched-paren>the reason dotnet-core and mono are not bootstrappable is _not_ because of the runtime, which is written in C for both i think, it's because the C# compilers which create CIL bytecode are written in C#
<unmatched-paren>(same situation for F#)
<muurkha>neat, thanks
<muurkha>one minor correction of something you left implicit and so possibly didn't mean: dotnet *is* some massive thing; check the StackOverflow tags for C# and VB.NET
<unmatched-paren>but we _might_ be able to use pnet's C# compiler written in C with one of the three runtimes
<unmatched-paren>so pnet compiles the mono compiler, which compiles Roslyn, the dotnet-core compiler
<unmatched-paren>potentially, of course
<unmatched-paren>muurkha: yeah, i mean i've heard they said it was going to take over the whole internet
<unmatched-paren>which was why GNU didn't like it at all :P
<unmatched-paren>(i wasn't programming at the time, so i'm just going off what i've heard)
<unmatched-paren>the F# compiler is in a worse position than the C# compiler
<muurkha>yeah, MS was really hoping .NET and Hailstorm and Palladium would be a bigger deal than they were
<unmatched-paren>because at the time when pnet was written, there was no such thing as F#
<unmatched-paren>(and i don't *think* there's a mono F# either?)
<muurkha>but even in their failure state we still have hundreds of thousands of people programming in C# fulltime
<unmatched-paren>yep
<muurkha>I think you can run the normal F# on Mono
<unmatched-paren>the F# compiler is written in F#
<muurkha>naturally
<unmatched-paren>you could certainly run its output CIL on Mono though
<muurkha>because OCaml is a good langauge for bootstrapping compilers
<muurkha>F# was open-source from the beginning I think?
<muurkha>*language
<unmatched-paren>dunno
<unmatched-paren> https://github.com/dotnet/fsharp
<unmatched-paren>this is the only fsharp compiler i think
<unmatched-paren>VB also comes free with Roslyn, but i don't think anybody actually wants VB :P
<unmatched-paren>*anyone in the free software community
<muurkha>I feel like VB.NET is kind of an alternate syntax for C#, but I don't know if that's really justified
<unmatched-paren>muurkha: a worse alternate syntax :)
<muurkha>I admit I like C#'s syntax better than VB.NET's
<muurkha>but there are people who prefer VB syntax
<unmatched-paren>VB is an alternate syntax for C# with different features in the same way that Kotlin is kind of like an alternate syntax for Java with different features
<unmatched-paren>they both compile to the same bytecode, running on the same VM
<muurkha>well, Kotlin offers a lot more expressiveness and safety than Java
<muurkha>I don't htink that's true of VB.NET
<muurkha>VB (pre-.NET) was a pretty nice system, kind of like Perl or PHP for GUIs. lots of whipupitude, not much manipulexity, less error-prone and faster to debug than C++ or C. I feel like C# kind of gave you the best of both worlds
<unmatched-paren>Perl or PHP for GUIs sounds like an insult :P
<muurkha>not if you've ever written a CGI program in C
<unmatched-paren>so, tldr for j-k[m]: it might be possible to get mono's mcs compiler compiled with pnet's cscc, then compile dotnet-core's roslyn with mcs
<unmatched-paren>but nobody's tried yet as far as i know, maybe partially because of the patent ugliness
<unmatched-paren>i've never written F#, but i know it's very similar to ocaml. i'm wondering how easy it would be to hand-convert it to ocaml...
<unmatched-paren>the F
<unmatched-paren>the F# compiler i mean
<unmatched-paren>wouldn't work well with most languages, but if F# is as similar to OCaml as i've heard, then it might be possible?
<unmatched-paren>i don't *think* F# actually depends on C#, either
<unmatched-paren>so we could have the `fsharp' compiler (written in F#) and the `dotnet' runtime (written in C) without `roslyn' (written in C#)
<unmatched-paren>actually, ignore my previous statement
<unmatched-paren>it seems obvious to me now that F# would require C#
<unmatched-paren>for important dotnet standard libraries that are presumably written in C#
<muurkha>also C++
<j-k[m]>thanks unmatched-paren
<unmatched-paren>no problem :D
<unmatched-paren>j-k[m]: are you on guix?
<unmatched-paren>if so, the first thing you should do is package `pnet'; there doesn't seem to be any package for it (`guix search dotgnu' returns nothing)
***lh is now known as hupfer
***hupfer is now known as lh
***hpfr is now known as lph
***lph is now known as hpfr
***lh is now known as lhindir
***lhindir is now known as liamiam
***liamiam is now known as lmhpfr
***lmhpfr is now known as lhupfer
***lhupfer is now known as liamhupfer
***liamhupfer is now known as lh
<littlebobeep>identity crisis?