Re: Building with meson on NixOS/nixpkgs

From: "Tristan Partin" <tristan(at)partin(dot)io>
To: "Andres Freund" <andres(at)anarazel(dot)de>, "Heikki Linnakangas" <hlinnaka(at)iki(dot)fi>
Cc: <walther(at)technowledgy(dot)de>, "PostgreSQL Hackers" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Building with meson on NixOS/nixpkgs
Date: 2024-08-09 16:49:08
Message-ID: D3BJ9QJC7QZI.3BL9AW6QVCKJ5@partin.io
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri Aug 9, 2024 at 11:14 AM CDT, Andres Freund wrote:
> Hi,
>
>
> commit 4d8de281b5834c8f5e0be6ae21e884e69dffd4ce
> Author: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
> Date: 2024-07-27 13:53:11 +0300
>
> Fallback to clang in PATH with meson
>
> Some distributions put clang into a different path than the llvm
> binary path.
>
> For example, this is the case on NixOS / nixpkgs, which failed to find
> clang with meson before this patch.
>
>
> I think this is a bad change unfortunately - this way clang and llvm version
> can mismatch. Yes, we've done it that way for autoconf, but back then LLVM
> broke compatibility far less often.

See the attached patch on how we could make this situation better.

> commit a00fae9d43e5adabc56e64a4df6d332062666501
> Author: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
> Date: 2024-07-27 13:53:08 +0300
>
> Fallback to uuid for ossp-uuid with meson
>
> The upstream name for the ossp-uuid package / pkg-config file is
> "uuid". Many distributions change this to be "ossp-uuid" to not
> conflict with e2fsprogs.
>
> This lookup fails on distributions which don't change this name, for
> example NixOS / nixpkgs. Both "ossp-uuid" and "uuid" are also checked
> in configure.ac.
>
> Author: Wolfgang Walther
> Reviewed-by: Nazir Bilal Yavuz, Alvaro Herrera, Peter Eisentraut
> Reviewed-by: Tristan Partin
> Discussion: https://www.postgresql.org/message-id/ca8f37e1-a2c3-40e2-91f6-59c3d3652ad4@technowledgy.de
> Backpatch: 16-, where meson support was added
>
> I think this is a redundant change with
>
> commit 2416fdb3ee30bdd2810408f93f14d47bff840fea
> Author: Andres Freund <andres(at)anarazel(dot)de>
> Date: 2024-07-20 13:51:08 -0700
>
> meson: Add support for detecting ossp-uuid without pkg-config
>
> This is necessary as ossp-uuid on windows installs neither a pkg-config nor a
> cmake dependency information. Nor is there another supported uuid
> implementation available on windows.
>
> Reported-by: Dave Page <dpage(at)pgadmin(dot)org>
> Reviewed-by: Tristan Partin <tristan(at)partin(dot)io>
> Discussion: https://postgr.es/m/20240709065101.xhc74r3mdg2lmn4w@awork3.anarazel.de
> Backpatch: 16-, where meson support was added

I'm not sure I would call them redundant. It's cheaper (and better) to
do a pkg-config lookup than it is to do the various checks in your
patch. I think the two patches are complementary. Yours services Windows
plus anywhere else that doesn't have a pkg-config file, while Wolfgang's
services distros that install the pkg-config with a different name.

--
Tristan Partin
https://tristan.partin.io

Attachment Content-Type Size
v1-0001-Use-the-found-LLVM-version-when-finding-clang.patch text/x-patch 1.2 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Abdoulaye Ba 2024-08-09 16:59:37 Re: PATCH: Add hooks for pg_total_relation_size and pg_indexes_size
Previous Message Tristan Partin 2024-08-09 16:27:08 Subscription to Postgres Releases via ICS