Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gem-config: add pg_query #72967

Open
wants to merge 1 commit into
base: master
from

Conversation

@manveru
Copy link
Contributor

manveru commented Nov 7, 2019

Motivation for this change

This is preparation for adding the pghero package. The pg_query gem would try to download a tarball during compilation and this fixes that behaviour.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @zimbatm @alyssais

@manveru manveru requested review from alyssais and zimbatm as code owners Nov 7, 2019
@manveru manveru force-pushed the manveru:init-pg_query branch from fa2c594 to b14a5c0 Nov 7, 2019
@manveru manveru changed the title gemConfig: add pg_query gem-config: add pg_query Nov 7, 2019
@manveru manveru mentioned this pull request Nov 7, 2019
4 of 10 tasks complete
@alyssais

This comment has been minimized.

Copy link
Member

alyssais commented Nov 7, 2019

pg_query = attrs:
let
libpg_query = fetchurl {
url = "https://codeload.github.com/lfittl/libpg_query/tar.gz/10-1.0.1";

This comment has been minimized.

Copy link
@zimbatm

zimbatm Nov 8, 2019

Member

This would pin the same version of libpg_query for all the released of the pg_query gem. Not sure what's the best option there...

Ideally we would know what version the gem wants to fetch and the ask the user to provide the right sha256 for that version.

@manveru

This comment has been minimized.

Copy link
Contributor Author

manveru commented Nov 9, 2019

Yeah, for now I only wanted to get pghero to work. The best solution I think would be to allow easier repacking of the .gem before installation, so we could add the tarball in the gem.
https://github.com/lfittl/pg_query/blob/master/ext/pg_query/extconf.rb#L13 does a check whether the tarball exists already, and I've seen this pattern increasingly in native extensions, but right now I can't find a good way to take advantage of it.

@zimbatm

This comment has been minimized.

Copy link
Member

zimbatm commented Nov 9, 2019

What do you think of passing a custom gemConfig to pghero in that case?

On the other hand it's not a new problem, we have the same issue with libv8 and other gems, ... so it's unfair of me to block you on that issue.

When putting the whishful thinker hat on, ideally I would like the ruby gems to include what external files they want to download in their gemspec metadata, and standardize where those would be downloaded on disk. If that were the case, bundix could do the prefetch-url dance and then place it in the right place for us at runtime.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.