Re: Building with meson on NixOS/nixpkgs

Wolfgang Walther <walther@technowledgy.de>

From: walther@technowledgy.de
To: Peter Eisentraut <peter@eisentraut.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-04-17T12:02:41Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Support falling back to non-preferred readline implementation with meson

  2. Support absolute bindir/libdir in regression tests with meson

  3. Fallback to clang in PATH with meson

  4. Fallback to uuid for ossp-uuid with meson

  5. meson: Add support for detecting ossp-uuid without pkg-config

Peter Eisentraut:
> On 29.03.24 19:47, walther@technowledgy.de wrote:
>  > -    uuid = dependency('ossp-uuid', required: true)
>  > +    # upstream is called "uuid", but many distros change this to 
> "ossp-uuid"
>  > +    uuid = dependency('ossp-uuid', 'uuid', required: true)
> 
> How would this behave if you have only uuid.pc from e2fsprogs installed 
> but choose -Duuid=ossp?  Then it would pick up uuid.pc here, but fail to 
> compile later?

It would still fail the meson setup step, because for e2fs we have:

uuidfunc = 'uuid_generate'
uuidheader = 'uuid/uuid.h'

while for ossp we have:

uuidfunc = 'uuid_export'
uuidheader = 'uuid.h'

and later we do:

if not cc.has_header_symbol(uuidheader, uuidfunc, args: test_c_args, 
dependencies: uuid)
     error('uuid library @0@ missing required function 
@1@'.format(uuidopt, uuidfunc))
endif

Best,

Wolfgang