<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nixos/nixpkgs.git/pkgs/servers/sql/postgresql/postgresqlBuildExtension.nix, branch master</title>
<subtitle>Nix Packages collection</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/'/>
<entry>
<title>treewide: run nixfmt 1.0.0</title>
<updated>2025-07-24T11:55:40+00:00</updated>
<author>
<name>Wolfgang Walther</name>
<email>walther@technowledgy.de</email>
</author>
<published>2025-07-22T13:19:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=5a0711127cd8b916c3d3128f473388c8c79df0da'/>
<id>5a0711127cd8b916c3d3128f473388c8c79df0da</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>staging-next 2025-04-03 (#395862)</title>
<updated>2025-04-13T14:07:22+00:00</updated>
<author>
<name>Vladimír Čunát</name>
<email>v@cunat.cz</email>
</author>
<published>2025-04-13T14:07:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=a61952af35b8f0117238de39cdef524957d45320'/>
<id>a61952af35b8f0117238de39cdef524957d45320</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>postgresqlPackages: use lib.extendMkDerivation in postgresqlBuildExtension</title>
<updated>2025-04-12T19:05:30+00:00</updated>
<author>
<name>Wolfgang Walther</name>
<email>walther@technowledgy.de</email>
</author>
<published>2025-04-12T19:02:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=54d293fc50564787db8252c2468d97aa44655ead'/>
<id>54d293fc50564787db8252c2468d97aa44655ead</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>postgresql: replace pg_config with custom script</title>
<updated>2025-03-21T17:05:38+00:00</updated>
<author>
<name>Wolfgang Walther</name>
<email>walther@technowledgy.de</email>
</author>
<published>2025-03-10T18:35:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=88dfade94b8865ef8457a9622f706836bdf30f09'/>
<id>88dfade94b8865ef8457a9622f706836bdf30f09</id>
<content type='text'>
By replacing upstream's pg_config binary with a shell script, we:
- gain the ability to run pg_config easily when cross-compiling,
- can remove the fake pg_config in the default output,
- can remove the pg_config wrapper script dealing with special cases.

Some 20 years ago, pg_config *was* a shell script upstream, too. It was
changed to a binary, when it was made "relocatable", so it would return
paths depending on the location of the "postgres" binary. However, this
is exactly the thing that just hurts us in nixpkgs - we don't want those
paths to change, we want them to always point at the right outputs. By
writing the script ourselves, this becomes a lot less painful.

This approach means more lines of codes, but all of them are dead simple
and we have a lot less complexity overall.

Additionally, pg_config is now made a separate derivation, only exposed
as "postgresql.pg_config". This has the nice side-effect, that all users
of postgresql and libpq in nixpkgs must be very *explicit* about their
dependency on pg_config. This gives a lot more visibility into the state
of affairs regarding pkg-config support for libpq, which ultimately is
the much better solution.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By replacing upstream's pg_config binary with a shell script, we:
- gain the ability to run pg_config easily when cross-compiling,
- can remove the fake pg_config in the default output,
- can remove the pg_config wrapper script dealing with special cases.

Some 20 years ago, pg_config *was* a shell script upstream, too. It was
changed to a binary, when it was made "relocatable", so it would return
paths depending on the location of the "postgres" binary. However, this
is exactly the thing that just hurts us in nixpkgs - we don't want those
paths to change, we want them to always point at the right outputs. By
writing the script ourselves, this becomes a lot less painful.

This approach means more lines of codes, but all of them are dead simple
and we have a lot less complexity overall.

Additionally, pg_config is now made a separate derivation, only exposed
as "postgresql.pg_config". This has the nice side-effect, that all users
of postgresql and libpq in nixpkgs must be very *explicit* about their
dependency on pg_config. This gives a lot more visibility into the state
of affairs regarding pkg-config support for libpq, which ultimately is
the much better solution.
</pre>
</div>
</content>
</entry>
<entry>
<title>postgresqlPackages: rename buildPostgresqlExtension to postgresqlBuildExtension</title>
<updated>2025-03-18T17:17:24+00:00</updated>
<author>
<name>Wolfgang Walther</name>
<email>walther@technowledgy.de</email>
</author>
<published>2025-03-16T20:28:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=72b8186ff7bbb914573d5e52c8326b8a12e44c1f'/>
<id>72b8186ff7bbb914573d5e52c8326b8a12e44c1f</id>
<content type='text'>
This is for consistency with postgresqlTestExtension and
postgresqlTestHook. Everything that is passed via postgresql's
generic.nix "packages scope" now is prefixed with "postgresql".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is for consistency with postgresqlTestExtension and
postgresqlTestHook. Everything that is passed via postgresql's
generic.nix "packages scope" now is prefixed with "postgresql".
</pre>
</div>
</content>
</entry>
</feed>
