Earlier quoted context omitted.
What's hermetic builds?
Hermetic Builds. ... Our builds are hermetic, meaning that they are insensitive to the libraries and other software installed on the build machine. Instead, builds depend on known versions of build tools, such as compilers, and dependencies, such as libraries. Kind of like a container for building? I had to look it up myself.
Show HN: Xmake, a modern C/C++ build utility
181–190 of 190 posts
Re: Show HN: Xmake, a modern C/C++ build utility
#182Earlier quoted context omitted.
> just create a virtual environment Yaw super lightweight ...
In other comments you talk about "lightweight" as cognitive load, I'm curious why Python is any different than other languages? I haven't used virtualenv very much, but I've been doing similar things for longer than virtualenv has been around. You need a `python` binary on PATH and a PYTHONPATH pointing to where you want to get your libraries from. virtualenv packages this up into a directory in a more user friendly…
I don't mean to be rude, but the key to getting people's attention is to get your point across quickly. As soon as somebody starts going all you have to do is install a frobozz and murtle a plinth I really just lose interest.
EDIT - doubting myself I went back up the thread here and this topic kicks off with "meson installation has many dependencies, it is not very lightweight" ("lightweight" operationally defined here for this discussion) - to which somebody replies "it doesn't matter, Ninja includes Python" or words to that effect. "it's not the correct version of Python" is the general gist of what comes next to which our GGP here says "all you have to do" is set up a python virtual environment, which is around the point where I start to feel frustrated and the need to go do something interesting.
So to be clear, the discussion is not about python being lightweight, but meson, and trying to wave complexity away with yet another layer of complexity (even if it's something as well known as python virtualenvs) is not reducing complexity but hiding it, IMO.
Re: Show HN: Xmake, a modern C/C++ build utility
#183Earlier quoted context omitted.
The dependences do not change upon distribution, so they can be safely encoded on the makefile. As for "detecting" the compiler, either it is in the path, or in the CC variable (or analogous), in which case the makefile can work; I do not honestly understand what is the task of cmake here. The only use that I can see is creating projects for other build-systems, e.g. for windows. But if you only distribute your code…
The dependencies do change depending on the user. Different version of libraries will be in different locations, may require different build flags, etc, etc. Likewise the build may support a range of compilers which require (sometimes completely) different compiler options for a successful build. This is the reason autotools existed in the first place (and it was only intended to even out the differences between 'POS…
What you say is true, but it can be interpreted as either positive or negative features. I would say that code that depends on specific versions of a library or specific compiler options is bad code; and propagating bad code instead of fixing it is not a good idea. Cmake makes it very easy and convenient to ship bad code, as you explain. Thus, it is a force of evil! It allows, even encourages, the programmers to be sloppy without short-term visible consequences.
Re: Show HN: Xmake, a modern C/C++ build utility
#184Earlier quoted context omitted.
In other comments you talk about "lightweight" as cognitive load, I'm curious why Python is any different than other languages? I haven't used virtualenv very much, but I've been doing similar things for longer than virtualenv has been around. You need a `python` binary on PATH and a PYTHONPATH pointing to where you want to get your libraries from. virtualenv packages this up into a directory in a more user friendly…
That you needed four paragraphs to get your point across kind of emphasises my point. I don't mean to be rude, but the key to getting people's attention is to get your point across quickly. As soon as somebody starts going all you have to do is install a frobozz and murtle a plinth I really just lose interest. EDIT - doubting myself I went back up the thread here and this topic kicks off with "meson installation has…
I agree long wandering threads are difficult to follow.
I have little interest in new C++ build systems, but will jump in and contribute when I see a familiar problem I want to learn more about like managing sizable Python codebases. Python 2/3 isn't relevant at all to meson and I don't see the docs mentioning any need for version or package management. I've only ever heard/seen virtualenv needed in project management, never in distributed software. Is your beef with Python or any software using an interpreted language? Outside of the 2to3 transition and being deeply integrated in many distros, it has the fundamental problems other interpreted languages have and are handled in the same way.
Re: Show HN: Xmake, a modern C/C++ build utility
#185Earlier quoted context omitted.
>When did "Show HN" threads became shark tank? From the 2007 announcement of Dropbox: https://news.ycombinator.com/item?id=8863 """ 1. For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software. """
Does anybody actually use Dropbox anymore? Feel like it’s a dead product.
Re: Show HN: Xmake, a modern C/C++ build utility
#186Re: Show HN: Xmake, a modern C/C++ build utility
#187Re: Show HN: Xmake, a modern C/C++ build utility
#188Earlier quoted context omitted.
I have python 2 vs 3 issues if not every day, then at least 3 times a week, because of being stuck with a version of third party software that uses Python 2 (ArcGIS 10 series) for part of my code base. Of course Python apologists are now going to say 'oh you're just one guy in a niche situation', and 'yeah that's what you get for not upgrading to the latest version of all software', or any of the dozens of other excu…
In fairness to the python community by-and-large, they are very supportive of legacy users and niche configurations. Python 2.x seems like something like 15 years now past its sell by date and is still actively supported. There's a lot of patience there ... people will make the leap when they're ready. I think the pressure to always be on the latest and greatest is what did for the ruby and perl communities, and this…
Re: Show HN: Xmake, a modern C/C++ build utility
#189Earlier quoted context omitted.
It is if you run it inside a Docker container... no mess, no fuss...
I cant tell if you’re joking or not ;)
But to be fair, I usually just clone a Virtualbox machine because I'm used to the workflow. :)
Re: Show HN: Xmake, a modern C/C++ build utility
#190Earlier quoted context omitted.
The dependencies do change depending on the user. Different version of libraries will be in different locations, may require different build flags, etc, etc. Likewise the build may support a range of compilers which require (sometimes completely) different compiler options for a successful build. This is the reason autotools existed in the first place (and it was only intended to even out the differences between 'POS…
> The dependencies do change depending on the user. Different version of libraries will be in different locations, may require different build flags, etc, etc. Likewise the build may support a range of compilers which require (sometimes completely) different compiler options for a successful build. What you say is true, but it can be interpreted as either positive or negative features. I would say that code that depe…