At the risk of starting an internet holy war-
---
Which build system do you prefer?
---
It seems that to use something other than GNU Make is to harm the user and yourself. But both GNU Make and CMake are considered harmful.
#suckless recommends #Plan9 mk(1) of which Russ Cox has graciously provided the source code here: https://9fans.github.io/plan9port/unix/
I suppose you could make a #Nix expression with nix-build: https://nixos.org/nix/manual/#sec-nix-build

Why are they considered harmful?
There is also #meson (http://mesonbuild.com/) which gained a lot of users lately.
@danyspin97 No deterministic builds 
@danyspin97 #Meson looks like the next best thing and it uses Ninja under the hood. 
@uranther
Using python3 to compile c/c++ doesn't seem good tough.
But it works and the build files are really simple.
@uranther yesterday I had to debug a build written in #CMake and one written in #mk
I could debug and understand the mk one in a few minutes, whereas the CMake one was just a mess and I still don't understand it. (tbh it's also a much bigger project, but even its submodules' CMake scripts are hard to read)
So, my preference is: mk (or pure makefiles without fancy GNU extensions)
@grainloom tup looks sane 
@uranther I'm afraid make is still my least unfavourite for any project that involves more than one language or any language that doesn't have its own build system. It would be nice if it had some other ways to test a task had been done than creating a file, though: imagine if you could have make prerequisites like "something is listening on this tcp port" or "this process is running" - you could use it to write init ;-)
I've spent my weekend trying to build #Gnome3 dports on #DragonflyBSD.
It is mind-boggling the number of version errors, circular dependencies, compilation failures, and other hacks #Make comes up with. I especially enjoy the claims in the manual that say "if all goes well" and "theoretically" every port should build.
Why do we continue using failed systems?
@uranther AFAIK Gnome depends on systemd, so forget about it.
@Exagone313 and everything else in the kitchen!
@uranther I don't have any problem in using systemd, but I have a problem with a DE that suddenly stops to be cross-platform, also it appears that it's the only one working on accessibility stuff, what a shame.
@uranther I wonder if it's the same with Cinnamon and MATE.
@Exagone313 Good question, they are more lightweight so probably not. There's also #Lumina from #TrueOS. But like you say, accessibility (and ergonomics) seem to be lacking in most projects.
@Exagone313 @uranther May be outdated, but the component of systemd required can and has been reimplemented independently of it.
@Exagone313 I found this: https://github.com/dantrell/gentoo-project-gnome-without-systemd
This is disgusting. I guess won't be using GNOME after all.
@uranther ^^
Someone pointed out that GuixSD has Gnome, but their package is so big that I can't really read it.
@uranther Nix really isn't a build system, it's a packaging system that captures the build process.
It's... uh... a black hole.
I've used Shake, Rake, and Make a lot.