Autodafe: "freeing your freeing your project from the clammy grip of autotools."

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Scout Monitoring - Free Django app performance insights with Scout Monitoring
Get Scout setup in minutes, and let us sweat the small stuff. A couple lines in settings.py is all you need to start monitoring your apps. Sign up for our free tier today.
www.scoutapm.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • autodafe

    > entry points

    I was curious where this was from, so I looked at https://gitlab.com/esr/autodafe/-/blob/master/de-autoconfisc...

    As someone who targets clang/gcc/msvc/icc, I don't see much value in these defines. Let's pick on HAVE_STRDUP: what's the point?

    If it's always defined on your target platforms, just use the stdlib unconditionally - the define is pointless.

    If it's never defined on your target platforms, you'll have to roll an alternative of your own no matter what - the define is pointless.

    So the presumed theoretical use case for this is if you sometimes want to define your own, and sometimes want to use the standard library. But do I actually want that? Rarely. Very rarely. If I care to target old systems, I'd generally rather unconditionally define my own version that doesn't conflict with the standard library, that gets tested and used in all builds on all platforms - it'll be less code than adding a bunch of #ifdef soup, and it'll be less brittle - no "works on my machine but fails on the build server" nonsense because of a typo in sometimes-dead code.

    That leaves one even narrower use case which isn't entirely theoretical: wanting to backport a modern codebase to an "ancient" toolchain/stdlib via polyfills without touching the modern codebase or the toolchain/stdlib. That approach has it's niches, but... it is worth emphasizing, niches.

  • Scout Monitoring

    Free Django app performance insights with Scout Monitoring. Get Scout setup in minutes, and let us sweat the small stuff. A couple lines in settings.py is all you need to start monitoring your apps. Sign up for our free tier today.

    Scout Monitoring logo
  • st

    build of the suckless simple terminal with patches for alpha, font2, copyurl, openclipboard, invert, appsync, xresources, scrollback, w3m, keyboard select, boxdraw (by mrdotx)

    > you need to "edit your makefile". That isn't going to work for distributions

    Is it not? [st] requires exactly that. And distros seem to have no issues shipping it.

    [st] https://st.suckless.org/

  • spack

    A flexible package manager that supports multiple versions, configurations, platforms, and compilers.

    > Are we talking about the same autotools?

    Yes. Instead of figuring out how to do something particular with every single software package, I can do a --with-foo or --without-bar or --prefix=/opt/baz-1.2.3, and be fairly confident that it will work the way I want.

    Certainly with package managers or (FreeBSD) Ports a lot is taken care of behind the scenes, but the above would also help the package/port maintainers as well. Lately I've been using Spack for special-needs compiles, but maintainer ease also helps there, but there are still cases one a 'fully manual' compile is still done.

    > Suffice it to say, I prefer to work with handwritten makefiles.

    Having everyone 'roll their own' system would probably be worse, because any "mysteriously failure" then has to be debugged specially for each project.

    Have you tried Spack?

    * https://spack.io

    * https://spack.readthedocs.io/en/latest/

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Spack – a multi-platform, multi-version package manager for OS X, Windows, Linux

    1 project | news.ycombinator.com | 5 Aug 2024
  • Spack Package Manager v0.21.0

    1 project | news.ycombinator.com | 12 Nov 2023
  • Show HN: FlakeHub – Discover and publish Nix flakes

    2 projects | news.ycombinator.com | 22 Aug 2023
  • Cython 3.0 Released

    4 projects | news.ycombinator.com | 18 Jul 2023
  • Linux server for physics simulations

    1 project | /r/linux | 7 Jul 2023

Did you konow that Python is
the 1st most popular programming language
based on number of metions?