Skip to content

postgresql: libpq-only lib output#273175

Closed
szlend wants to merge 1 commit intoNixOS:masterfrom
szlend:postgres-libpq
Closed

postgresql: libpq-only lib output#273175
szlend wants to merge 1 commit intoNixOS:masterfrom
szlend:postgres-libpq

Conversation

@szlend
Copy link
Member

@szlend szlend commented Dec 9, 2023

Description of changes

This change makes it so only libpq.* is moved to the lib output.

Advantages:

  • Smaller postgresql.lib
  • Potentially less workarounds patching $lib->$out. In theory we should only have to do this for libpq now.

Disadvantages:

  • It's not clear what LIBDIR = in pg_config should point to since there are now two /libs. It could potentially break some builds that rely on pg_config.
  • Potentially a breaking change for postgresql.lib users.

Previous discussions: #61580 #234470

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@szlend
Copy link
Member Author

szlend commented Dec 9, 2023

This is only a draft. Just curious about the initial thoughts on this approach from maintainers who have more experience dealing with postgres. cc @thoughtpolice @marsam

I tested this with a sample project using libpq through postgresql.lib and it seems to work fine. But I'm not familiar with the intricacies of the postgres server and all its extensions.

@ofborg ofborg bot added 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 1001-2500 This PR causes many rebuilds on Darwin and should most likely target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Dec 9, 2023
@szlend szlend mentioned this pull request Dec 10, 2023
12 tasks
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Mar 20, 2024
@szlend
Copy link
Member Author

szlend commented Apr 20, 2024

Closing in favor of #294504

@szlend szlend closed this Apr 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 1001-2500 This PR causes many rebuilds on Darwin and should most likely target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants