Re: Building with meson on NixOS/nixpkgs - Mailing list pgsql-hackers

From Tristan Partin
Subject Re: Building with meson on NixOS/nixpkgs
Date
Msg-id D3BJ9QJC7QZI.3BL9AW6QVCKJ5@partin.io
Whole thread Raw
In response to Re: Building with meson on NixOS/nixpkgs  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On Fri Aug 9, 2024 at 11:14 AM CDT, Andres Freund wrote:
> Hi,
>
>
> commit 4d8de281b5834c8f5e0be6ae21e884e69dffd4ce
> Author: Heikki Linnakangas <heikki.linnakangas@iki.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.linnakangas@iki.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@anarazel.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@pgadmin.org>
>     Reviewed-by: Tristan Partin <tristan@partin.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

pgsql-hackers by date:

Previous
From: "Tristan Partin"
Date:
Subject: Subscription to Postgres Releases via ICS
Next
From: Tomas Vondra
Date:
Subject: Re: Add LSN <-> time conversion functionality