Live data from Hacker News

Please – A Cross-Language Build System

please.build

111–120 of 122 posts

Re: Please – A Cross-Language Build System

#111
post #61

Earlier quoted context omitted.

How? It's over HTTPS, and you're already trusting them to execute code on your system... and it's not even root... I see no way in which this "leaves your computer at their mercy" more than any other process of purposefully executing code they control on your system.

this seems like a 'perfect is the enemy of good' framing. in any event, it's more surface area. their web server being compromised and serving a bad shell script is just more that can go wrong.

> in any event, it's more surface area. their web server being compromised and serving a bad shell script is just more that can go wrong.

If they were serving up a binary you would have the same exact threat that you mentioned.

The threat model barely, barely changes when talking about curl | sh vs downloading and manually executing a binary. Barely.

Re: Please – A Cross-Language Build System

#112
post #103

Earlier quoted context omitted.

The systems that I use it for all have Python installed by default, so really it's just: 'pip install meson', which takes all of a few seconds to run. The binary it produces is still dependency free.

I’m (honestly) glad it works for you. Distributing binaries outside of package managers is a) a rarity in the Linux world, and b) not in keeping with the open source philosophy. Requiring end users to have python so they can compile a c/c++ application will never make sense for a large portion of the user base build systems target.

It's no more egregious than requiring cmake or autotools.

And like I said, many Linux systems (and almost any used as a developers machine) will have Python installed by default.

And the simplicity of meson's build files far outweighs any issues installing it.

Re: Please – A Cross-Language Build System

#113

Apologies in advance for shitting on this, but PLEASE STOP BUILDING BUILD SYSTEMS. We already have a serious incompatibility problem with projects using autotools vs CMake vs Meson vs gyp vs Boost.Build vs SCons vs BUCK vs... and now we throw Please onto the pile. It sucks when you find a smallish library and discover it uses an esoteric build system whose dependencies dwarf the library themselves (cough Yoga). The O…

>PLEASE STOP BUILDING BUILD SYSTEMS.

This couls also be said about many other things as well. For example package managers and test suites. Even worse is that every language feels like they are obligated to build their own because they are obviously the best programmers on the planet (them using that language is a proof of that obviously). What results is dozens upon dozens restrictive and sub-par build systems, package mangagers and test suite that are all used by only a small group of people and are just an extra dependency for everyone else.

>It sucks when you find a smallish library and discover it uses an esoteric build system whose dependencies dwarf the library themselves (cough Yoga). The OSS community needs build system consolidation, not tacking on a 15th wheel to the cart.

Developers generally don't think of the build system as a dependency because tehy already have it installed on their own machine. Though it shoudl also be mentioned that a big portion of developers (especially those using languages that encourage to install everything with their own package manager) have a very low or no barrier for adding new dependencies.

Re: Please – A Cross-Language Build System

#114
post #103

Earlier quoted context omitted.

Except it’s a build system for C/C++ that brings in a dependency on the entire Python kitchen sink just to build a 10kb otherwise dependency-free binary.

The systems that I use it for all have Python installed by default, so really it's just: 'pip install meson', which takes all of a few seconds to run. The binary it produces is still dependency free.

>The binary it produces is still dependency free.

But the project now depends on Python, pip and Meson.

Re: Please – A Cross-Language Build System

#115
post #13

Cross language but not cross platform -- no windows support, and none planned.

Noted. https://github.com/qznc/annoying-build-systems#please

Consider adding the fact that waf requires a binary blob in every god damn repo as a drawback to it.

Re: Please – A Cross-Language Build System

#116

Apologies in advance for shitting on this, but PLEASE STOP BUILDING BUILD SYSTEMS. We already have a serious incompatibility problem with projects using autotools vs CMake vs Meson vs gyp vs Boost.Build vs SCons vs BUCK vs... and now we throw Please onto the pile. It sucks when you find a smallish library and discover it uses an esoteric build system whose dependencies dwarf the library themselves (cough Yoga). The O…

>contribute to or extend I don't think it's that simple. Sure, I could spend time figuring out the GNU Make source code. I could somehow shove a C preprocessor into it and make it automatically generate dependencies based on include directives. I could make it depend on clang. Will the make maintainers accept my patch if I send it their way, though? Somehow I doubt it. What if I changed the make language to make it e…

> I could somehow shove a C preprocessor into it and make it automatically generate dependencies based on include directives.

But the C compilers already provide tools for example `gcc -MMD`

Re: Please – A Cross-Language Build System

#117
post #103

Earlier quoted context omitted.

The systems that I use it for all have Python installed by default, so really it's just: 'pip install meson', which takes all of a few seconds to run. The binary it produces is still dependency free.

>The binary it produces is still dependency free. But the project now depends on Python, pip and Meson.

As opposed to cmake or autotools?

I mean it's not like Python is a rarity on Linux systems, or a difficult thing to install (assuming it wasn't installed by default)

Re: Please – A Cross-Language Build System

#118
post #117

Earlier quoted context omitted.

>The binary it produces is still dependency free. But the project now depends on Python, pip and Meson.

As opposed to cmake or autotools? I mean it's not like Python is a rarity on Linux systems, or a difficult thing to install (assuming it wasn't installed by default)

Python might not be rare but Meson for sure is. Cmake and autotools are very common compared to that.

Re: Please – A Cross-Language Build System

#119
post #117

Earlier quoted context omitted.

As opposed to cmake or autotools? I mean it's not like Python is a rarity on Linux systems, or a difficult thing to install (assuming it wasn't installed by default)

Python might not be rare but Meson for sure is. Cmake and autotools are very common compared to that.

Rare yes, but no more effort to install, and significantly more pleasant to use.

Re: Please – A Cross-Language Build System

#120
post #13

Cross language but not cross platform -- no windows support, and none planned.

Noted. https://github.com/qznc/annoying-build-systems#please

Nice list! CMake is missing a few dozen entries though!

"Stringly typed" - even lists are just semicolon-separated strings.

Insane quoting rules. I recently tried to work out exactly how the argument parsing works and the source code has undocumented behaviour. It's ridiculous.

Accessing undeclared variables works fine. They're just empty. Good luck tracking down silently ignored typos!

Scratching the surface...

Post reply on HN