lw64, to rust German

My expectation: will replace most other low level languages for relatively low level use cases. For example platform libraries, kernels, OS components, like services etc.
But I also think that a lot of these projects (especially platform libraries) care about that they won't just be able to be used by other Rust code.
Also my expectation: For a lot of these projects, will replace , because it just supports more features, and makes integration into an existing system easier.

bragefuglseth, (edited ) to GNOME
@bragefuglseth@fosstodon.org avatar

Are there any useful learning resources out there that are essentially "build systems for dummies"?

I haven't built any complex projects from source manually so far (spoiled by meson + GNOME Builder's Flatpak integration), but I'm finding myself wanting a better understanding of what's actually happening under the hood to turn the stuff in my project folder into something runnable. I don't know much about tweaking meson.build files, for instance.

michelin, to random
@michelin@hachyderm.io avatar

Hot take after an afternoon un-fsck-ing a project: *Config.cmake files are so much harder to debug than *.pc files, so not only are you trying to make sense of a Turing complete project definition but all the transitive dependencies that happen to use CMake too

I'm increasingly a fan.

mgorny, to rust Polish
@mgorny@pol.social avatar

Zdaje się, że już wszyscy i ich babcie używają exploitu w xz/sshd, by szerzyć swoją agendę, więc i ja nie będę gorszy.

  1. to zły system budowania. Skryptu configure są absolutnie nieczytelne, więc nikogo nie powinno dziwić, że nikt nie zauważył złośliwego kodu — wszak nie różni się niczym od całej reszty tego bełkotu.

  2. Statyczna konsolidacja i włączanie zależności są złe. Wiecie, dlaczego tak szybko udało się rozwiązać problem z liblzma? Bo wystarczyło cofnąć systemową bibliotekę do wcześniejszej wersji. Nie trzeba było przeszukiwać, łatać i wydawać na nowo setek projektów. Z i Cargo nie byłoby tak łatwo.

  3. Możecie winić za bycie niedofinansowanym i tym samym otwartym na tego rodzaju nadużycia w kluczowych projektach. Ale tak naprawdę żaden projekt IT nie jest w stanie być odpornym na poczynania złoczyńców o dostatecznych zasobach, a że przydarzyło się to xz, to tylko przypadek. Korpoprojekty też nie są bezpieczne, a tym bardziej własnościowe oprogramowanie z zamkniętym kodem źródłowym.

Tak więc: doceńcie Mesona, doceńcie dynamiczne ładowanie bibliotek, doceńcie dostawę oprogramowania przez dystrybucje, i rzućcie grosza wie… chciałem powiedzieć, devom open source.

bagder, to random
@bagder@mastodon.social avatar

I'm too stupid to figure out cmake.

grimmy,
@grimmy@mastodon.social avatar

@bagder build has been amazing. I used cmake for a long time as it was "better than autotools" but meson is just light years ahead of everything else.

QuLogic, to random

Here's something that the upcoming @pidgin 3 can do that Pidgin 2 could never hope to achieve:
building itself and all¹ of its dependencies (such as @GTK and @gstreamer) from source with MSVC, using the same build system as everywhere else, thanks to .

You can even run it without installing, using Meson's excellent devenv (though some icons are not found).

https://youtu.be/O3-dR8zXOsc

zirias, to FreeBSD
@zirias@techhub.social avatar

Today's progress on "userland from source" project: We have build systems! 🥳

Supported now (apart of plain ): GNU (including ), , and !

They're all supported with their original "USES", by some trickery in my new "USES=linuxsrc", fixing up just the parts that are different when building from/for the Linuxulator (like adjusting dependencies and commands to use the -native versions).

Ok, no yet, didn't need it so far 🙈

whynothugo, to random
@whynothugo@fosstodon.org avatar

Good examples of + ?

tristan957, to random
@tristan957@fosstodon.org avatar

So much tech debt in . Makes me sad 😢.

bugaevc, to random
@bugaevc@floss.social avatar

needs to learn that Linux is not an operating system unto itself.

No really, like 95% checks for host_machine.system() == 'linux' are wrong, unless you really care about kernel specifics like Linux kernel modules. Typically what you want to check is:

  • is my compiler GCC / Clang? (use the Meson compiler object for that!)
  • is my libc (a recent enough) glibc?
  • does this system use a "freedesktop" GUI stack?
  • etc etc

have_ld_preload = ['linux', 'freebsd', 'darwin', 'dragonfly'].contains(host_machine.system()) (from cairo/meson.build) because surely glibc's ld.so checks which kernel it's running on, and only enables LD_PRELOAD if running on Linux, right?
# Linker flags if host_machine.system() == 'linux' common_ldflags += cc.get_supported_link_arguments([ '-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now', ]) endif (from pango/meson.build) Because surely only Linux builds deserve security features like relro!

mattst88, to random
@mattst88@fosstodon.org avatar

You know what's a "code smell" I've noticed?

A dirty git status after a build.

Even worse if the build modifies (or deletes!) files tracked by git.

Yes, I saw this today. And man, oh man, is the whole project smelly.

mattst88,
@mattst88@fosstodon.org avatar

You know how some people that know Java don't put it on their résumé because they don't want to work in Java?

For me, that's , ,

PSA: please switch your projects to

rml, to random
@rml@functional.cafe avatar

Now that I'm expected to work with a different build tool for every language, I miss when everyone just used

xgqt,

@rml @PaniczGodek

is very nice if used instead of make as build tool, but it has limited support for languages.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • anitta
  • kavyap
  • DreamBathrooms
  • InstantRegret
  • magazineikmin
  • cubers
  • GTA5RPClips
  • thenastyranch
  • Youngstown
  • rosin
  • slotface
  • tacticalgear
  • ethstaker
  • modclub
  • JUstTest
  • Durango
  • everett
  • Leos
  • provamag3
  • mdbf
  • ngwrru68w68
  • cisconetworking
  • tester
  • osvaldo12
  • megavids
  • khanakhh
  • normalnudes
  • lostlight
  • All magazines