home.social

#scons — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #scons, aggregated by home.social.

  1. Why not switch your crappy software from crappy #SCons build system to even more crappy #Bazel build system over a patch release, call it "fully backwards compatible", and then effectively leave all the distros stuck on old versions with half a dozen vulnerabilities?

    Yeah, just a random reminder that #MongoDB is total crap, and you shouldn't use it. Or expect people to package it for you.

    jira.mongodb.org/browse/SERVER

    #Gentoo

  2. Why not switch your crappy software from crappy #SCons build system to even more crappy #Bazel build system over a patch release, call it "fully backwards compatible", and then effectively leave all the distros stuck on old versions with half a dozen vulnerabilities?

    Yeah, just a random reminder that #MongoDB is total crap, and you shouldn't use it. Or expect people to package it for you.

    jira.mongodb.org/browse/SERVER

    #Gentoo

  3. Why not switch your crappy software from crappy #SCons build system to even more crappy #Bazel build system over a patch release, call it "fully backwards compatible", and then effectively leave all the distros stuck on old versions with half a dozen vulnerabilities?

    Yeah, just a random reminder that #MongoDB is total crap, and you shouldn't use it. Or expect people to package it for you.

    jira.mongodb.org/browse/SERVER

    #Gentoo

  4. Why not switch your crappy software from crappy #SCons build system to even more crappy #Bazel build system over a patch release, call it "fully backwards compatible", and then effectively leave all the distros stuck on old versions with half a dozen vulnerabilities?

    Yeah, just a random reminder that #MongoDB is total crap, and you shouldn't use it. Or expect people to package it for you.

    jira.mongodb.org/browse/SERVER

    #Gentoo

  5. Why not switch your crappy software from crappy #SCons build system to even more crappy #Bazel build system over a patch release, call it "fully backwards compatible", and then effectively leave all the distros stuck on old versions with half a dozen vulnerabilities?

    Yeah, just a random reminder that #MongoDB is total crap, and you shouldn't use it. Or expect people to package it for you.

    jira.mongodb.org/browse/SERVER

    #Gentoo

  6. I want a build system that:

    - is as powerful and flexible as
    - as readable and concise as
    - has a fricking progress bar+ETA
    - is :datalad: / :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: for reproducibility

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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)

  12. It is beyond me why build systems like 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)

  13. 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)

  14. 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)

  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)

  16. @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.

  17. @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 to build the files. But then you're in build-system land again with all those quirks.

  18. @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.

  19. @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.

  20. @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.

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. anyone know about #scons and specifically #godot? is there a way to tell it to have a separate build directory so the object files from each platform don't overwrite each other?

  27. anyone know about #scons and specifically #godot? is there a way to tell it to have a separate build directory so the object files from each platform don't overwrite each other?

  28. 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.

  29. Insight of the week:

    To parallelize data processing :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.

  30. 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.

  31. 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.