Subject 01/04/2021: This month in KISS (#7)! From Dilyn Corner Date Thu, 1 Apr 2021 08:00:00 -0500 Welcome to month 7! A lot of small things have happened. [0.0] Index ________________________________________________________________________________ - repo-bin [1.0] - zig [2.0] - Small things [3.0] - Fun notes [4.0] [1.0] repo-bin ________________________________________________________________________________ Y'all may have noticed that Dylan stopped providing firefox-bin - relevant commit https://github.com/kisslinux/repo/commit/cbd962343faadd36d31623b729350c0143ee453e I know that I personally switched to a source-based distrubtion for more 'control' over how my packages are built, and many of you probably had a similar inclination. But that doesn't change the fact that many users are on old or slow hardware, and some packages take quite a long time to build (on my 2014 Macbook Pro, chromium takes FORTY hours. FORTY!). I recently acquired a far more powerful computer - chromium now takes less than an hour to build. As a result, I have looked into providing binaries for the larger packages we have, including some in community. These packages won't be modified from their source-based counterparts, and will be built using the same set of flags the release tarballs are made with. The current list of packages I will aim to provide are: chromium, clang, cmake, firefox{-esr}, llvm, qt5-webengine, and rust. More can be added to this list if need be. The goal is not to turn KISS into a binary distribution, just to save users some time. It may become the case one day that binary options will exist for EVERY package, but I don't know if I have the time or interest in doing this (though I will be investigating it). Currently, firefox is available in $/kiss-community/repo-bin - I have several more packages ready to go, I just didn't push them. I am currently on vacation in Tennessee, and will push them when I return later this month. To use these packages, simply prepend repo-bin/repo to your KISS_PATH so that they come before $/kiss-community/repo and $/kiss-community/community - you can also fork them into your own repo if you'd prefer to only use bins of some of the packages. How wonderful! [2.0] zig ________________________________________________________________________________ zig recently became buildable on KISS! Unfortunately, zig requires that llvm be built with all the targets, and our build in repo/extra currently only targets host and AMDGPU. Because of the size increase in the llvm package if we make the change required (over 100MB larger), and the fact that it would only be to support zig (which would live in community), I have decided to not accept zig into the community repository. However, you can find zig at $/Ominitay/kiss-zig or $/mmatongo/kiss-lang You can find my reasoning here $/kiss-community/repo-main/issues/31 !!!UPDATE!!! It was discovered that some tweaking could be done to the zig build which allows it to be built with the version of llvm provided by the main repos! Anyone looking to do cross-compiling with zig will still have to build llvm by removing the -DLLVM_TARGETS_TO_BUILD line and rebuid zig, but you can find zig now over in community. Along with zig, lld has been merged as an optional replacement linker for the usual ld! If you already have llvm installed, maybe check it out. [3.0] Small things ________________________________________________________________________________ Mozilla seems to be moving firefox closer and closer to a GTK+2-free future. While I was under the impression that this would be happening at the end of December with the firefox 86 release, I should have known better. But the no-gtk2 patch that we have seems to work just fine (considering how heavily they're rewriting some parts of the code), and I hope to continue with the patch until Mozilla blesses us with a firefox that doesn't *entirely* rely on decades-old codebases. RIP gtk+2, and may you never return to repo/extra. In a similar vein, there is no clarity on when projects will stop relying on python2; chromium seems to be the last holdout, and who knows when that will change. If Google spent as much time on python2 as they do most of their other projects, they probably could've dropped the requirement years ago. Void Linux and Gentoo have recently finalized their transition from libressl back to openssl, the best argument for this about-face being 'difficulty to maintain patches for compatibility'. The question was asked if KISS' ssl implementation will change, and the answer is 'no'. We have very few packages which require crypto libraries, and even fewer which actually require patches (rust requires a version bump, qt5* require small amounts of patch adjustment). Until using libressl becomes untenable, there is zero good reason to switch. You can find some of the discussions around here in the IRC logs: https://freenode.logbot.info/kisslinux/20210228#c7068386 [4.0] Fun notes ________________________________________________________________________________ A recent libva update saw a change in the headers relating to protected content, which caused some breakage with chromium. As far as I know, we were one of the first distros to have a patch ready for this problem - very exciting. Even more exciting, however, was the fact that this patch made its way all the way to an Arch PKGBUILD! We're a real distro now, folks. $/archlinux/svntogit-packages/blob/packages/chromium/trunk/PKGBUILD#L94 Dante Haversham has become the latest to embark on the illustrious path of rewriting our package manager in nonshell. First to the finish line wins praise, glory, and the knowledge that their contribution to the community is unique and will never be upstreamed :) They aim to have it be the same spirit as $/dylanaraps/k but 'a lot simpler', which are some of the best goals as far as I'm concerned. Find it here https://git.sr.ht/~dante/rpkg