#SCons

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2025-03-17

I want a build system that:

- is as powerful and flexible as #SCons
- as readable and concise as #SnakeMake
- has a fricking progress bar+ETA
- is :datalad: #datalad / :gitannex: #gitannex agnostic (knows that files can be fetched from elsewhere
- remembers how long building things takes
- balances that to decide if rebuilding locally instead of fetching gigabytes via slow internet is favorable
- integrates well with :nixos: #nix for reproducibility

#rdm #dataAnalysis

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2025-03-15

It is beyond me why build systems like #make #scons #snakemake et al. all don't have a flag like `--pattern '*2022-*'` that will make only those files it knows how to make matching a given pattern.

(using shell brace expansion and/or globbing is risky and doesn't work fully if not all the files exist yet)

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2025-03-13

@cbleslie Yeah seems like you can set the store path globally, but that doesn't help and will cause everything to be rebuilt.

I guess theoretically each derivation *could* have its own store defined, but guaranteeing those are available might be a problem.

The way to go is probably what I currently do: pin the environment with nix, then use a build system like #scons to build the files. But then you're in build-system land again with all those quirks.

2025-02-16

I finally finished my blog post on how to use C/C++ package managers with SCons and integrating third-party libraries into your projects. This can be useful for all Godot GDExtension users wanting to integrate a library in C++

paddy-exe.github.io/posts/how-

#godot #scons #cpp

Jesus Michał "Le Sigh" 🏔 (he)mgorny@treehouse.systems
2024-05-11

Of course, there's a #PEP517 backend for #SCons, one of the most horrible build systems ever made by humankind.

Of course, it managed not to implement PEP517 correctly.

discuss.python.org/t/are-build
github.com/dholth/enscons/issu

#Gentoo #Python

Jezus Michał "Le Wzdych" (on)mgorny@pol.social
2024-05-11

Rzecz jasna, że jest backend #PEP517 dla Sconsa, jednego z najgorszych systemów budowania w dziejach ludzkości.

Rzecz jasna, że nie implementuje poprawnie PEP517.

discuss.python.org/t/are-build
github.com/dholth/enscons/issu

#Gentoo #Python #SCons

2024-04-24

It had ceased to spark joy. #autotools #scons #softwareengineering

Screenshot from github.com showing a commit titled "Thank you for your service, Autotools *yeet*" which removes over 7,000 lines of crappy Autotools boilerplate from the project.
SupplyChain360SC360
2024-04-12

Are you ready to make the strategic pivot towards network effects management for a resilient supply chain?

Delve deeper:supplychain360.io/strategic-sh

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-02-14

Insight of the week:

To parallelize data processing :scons: #scons, use separate scripts. scons runs Python-only builders as threads, which is amazing to keep the code simple and concise and even shared progress bars are possible, but the GIL (🤷) makes it super ineffective. Running in a multiprocessing.Process is unreliable and prone to freezing or is downright impossible when your data structures aren't pickleable.

Separate scripts means a lot more boilerplate, but at least it works.

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-02-12

I have to say, :scons: #scons + :nixos: #nix + :datalad: #DataLad / :gitannex: #gitAnnex is a very powerful combination for #reproducibleResearch - or just data analysis in general! Reproducibility is as much a service you do for yourself as for others.

· nix provides the identical software environment
· DataLad / git-annex help you move input and output files between machines, see and track changes
· scons lets you organize processing of all your files

@datalad

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-02-04

@linux_mclinuxface Isn't this just the equivalent of using a build system like #scons for parallelisation?

I have just updated and tagged GDExtensionTemplate for Godot 4.2!

If you want to use an existing C++ library in #Godot or use #CMake instead of #Scons for your C++ extension, check it out!

github.com/asmaloney/GDExtensi

It takes care of all the setup/building/linking with godot-cpp and the GitHub CI so you can focus on your code right away.

#GodotEngine #Godot4 #GDExtension #extension #plugin #GameDev #IndieDev #cpp

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2023-11-03

@amszmidt The logs were targets, made from data and code sources. The process got stuck or whatever, I CTRL-C'd it, logs (targets) were removed.

Make had never failed me - I used it extensively - but for this it is apparently the wrong tool. Although I think #scons would have dole the same, I'm not sure.

2023-09-23
Felix Palmen 📯zirias@techhub.social
2023-08-28

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

Supported now (apart of plain #make): GNU #autotools (including #autoreconf), #cmake, #meson and #ninja!

They're all supported with their original #ports "USES", by some #bmake 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 #Linux-native versions).

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

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2023-07-19

@birnim Sure, I could also directly use #SCons, but it's multi*threaded*, not multi*processed*, which has some problems when working with NetCDF4 files for example. Intermediate files can also be huge, so a RAMDISK is not ideal. Also, why introduce temporary files for stuff that really shouldn't be stored but are just variables in #Python?

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2023-07-19

I am looking for a parallelized pipeline system in #Python. Basically a build system lile #SCons but without the files as intermediary step, all in memory. So for example I'd like to read some data files, extract metadata from them, then save that metadata (with :gitannex: #gitAnnex). Along the way there might be other branches of logic that could need parallelization.

Ideally with progress visualisation.

Is there something like this in #Python or do I have to roll my own?

2023-07-12

@ru @rf
Uploaded new ovr-utils-dashboard release, now it becomes as #vr #compositing window manager #wm and allows to put windows into overlays. #Debloated #godot (main binary now is17mb and plugins are less 1mb).
GODOT BUILDSYSTEM IS AWFUL AND COMPLETELY BROKEN, SOMEONE PLEASE FIX IT #scons #bloat #sconstruct

I have just updated and tagged GDExtensionTemplate for Godot 4.1!

If you want to use an existing C++ library in #Godot or use #CMake instead of #Scons for your C++ extension, check it out!

github.com/asmaloney/GDExtensi

It takes care of all the setup/building/linking with godot-cpp and the GitHub CI so you can focus on your code right away.

#GodotEngine #Godot4 #GDExtension #extension #plugin #GameDev #IndieDev #cpp

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst