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

gi-gdkx11: restrict to versions below 4 #79525

Merged
merged 1 commit into from Feb 10, 2020

Conversation

clkamp
Copy link
Contributor

@clkamp clkamp commented Feb 8, 2020

Motivation for this change

...because later versions depend on gtk4 which is not provided

Fixes #77588

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 nixpkgs-review --run "nixpkgs-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.

Comment on lines 72 to 74
# gdk 4 is not provided
- gi-gdkx11 < 4
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this mean that gdk 4 is not provided?

Can we instead provide gdk4 to gi-gdkx11?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, it comment is a bit misleading, (and there is a typo it should be gtk4) better would be gtk4 is still in development (see haskell-gi/haskell-gi#269 (comment))

I'll correct that and update the pull request

Comment on lines 72 to 74
# gtk 4 is still under development
- gi-gdkx11 < 4
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me see if I understand this.

gi-gtk that supports gtk-4 is still not released to hackage, so it doesn't make any sense to track the latest version of gi-gdk (and gi-gdkx11)?

Could you expand to this comment with information about when you expect we will be able to remove this override? (Maybe when gi-gtk-4 is released to hackage?)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gtk4 isn't even in nixpkgs yet for that matter, it's still in development.

@@ -69,6 +69,8 @@ core-packages:
default-package-overrides:
# pandoc-2.9 does not accept the 0.3 version yet
- doclayout < 0.3
# gtk 4 is still under development
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# gtk 4 is still under development
# gi-gdkx11-4.x requires gtk-4.x, which is still under development and not yet available in Nixpkgs

... because gi-gdkx11-4.x requires gtk-4.x, which is still under
development and not yet available in Nixpkgs

Fixes NixOS#77588
@cdepillabout
Copy link
Member

I'm not sure if this will work to get gi-gdkx11 compiling as-is.

I've tried to compile gi-gdkx11-3.0.9 with the following command, but I get an error:

$ nix-build -E 'with import ./. {}; haskellPackages.callHackage "gi-gdkx11" "3.0.9" {}'
...
configuring
configureFlags: --verbose --prefix=/nix/store/cbvnd84y7f5bsyxsajz2wy4f8zp7zkdv-gi-gdkx11-3.0.9 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --docdir=/nix/store/asz1zd328cldf27i3vzwisdyxbjpf3yz-gi-gdkx11-3.0.9-doc/share/doc/gi-gdkx11-3.0.9 --with-gcc=gcc --package-db=/build/package.conf.d --ghc-option=-j4 --disable-split-objs --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-option=-split-sections --extra-lib-dirs=/nix/store/w4p00d7v2mzcapzv1miryamg2sq19bwj-ncurses-6.1-20190112/lib --extra-lib-dirs=/nix/store/pfws5vmlr6m8qghz3v7pm8zf1x607gp4-libffi-3.3/lib --extra-lib-dirs=/nix/store/qqyagbb106qfx7f45bwxzmcvxpmvfggp-gmp-6.1.2/lib --extra-include-dirs=/nix/store/wdn8mff6k211j5mk33wavqfxsxxvsrkd-gobject-introspection-1.62.0-dev/include --extra-lib-dirs=/nix/store/wdn8mff6k211j5mk33wavqfxsxxvsrkd-gobject-introspection-1.62.0-dev/lib --extra-include-dirs=/nix/store/b5v42mnrj3nvvrmm26vwkw73fwk1c3n0-libffi-3.3-dev/include --extra-lib-dirs=/nix/store/b5v42mnrj3nvvrmm26vwkw73fwk1c3n0-libffi-3.3-dev/lib --extra-lib-dirs=/nix/store/pfws5vmlr6m8qghz3v7pm8zf1x607gp4-libffi-3.3/lib --extra-include-dirs=/nix/store/2l3lj1v8skfy6z86nvdac5anh6j1ppz2-glib-2.62.4-dev/include --extra-lib-dirs=/nix/store/2l3lj1v8skfy6z86nvdac5anh6j1ppz2-glib-2.62.4-dev/lib --extra-include-dirs=/nix/store/zwlzd0c6adm3v2az2dr13r3i4zjq2vwb-zlib-1.2.11-dev/include --extra-lib-dirs=/nix/store/zwlzd0c6adm3v2az2dr13r3i4zjq2vwb-zlib-1.2.11-dev/lib --extra-lib-dirs=/nix/store/vz8xrrnnr0r9mglwqzjk25d71vdlryag-zlib-1.2.11/lib --extra-include-dirs=/nix/store/azcydh7bnsj131wzydzgf0p7nh2590cz-gettext-0.20.1/include --extra-lib-dirs=/nix/store/azcydh7bnsj131wzydzgf0p7nh2590cz-gettext-0.20.1/lib --extra-include-dirs=/nix/store/gxbr1jc725v6j8acq7aavymdml9dimh8-glibc-iconv-2.27/include --extra-lib-dirs=/nix/store/ijxlhkf9j7dppqr3vlgwwyyanqzz7977-glib-2.62.4/lib --extra-lib-dirs=/nix/store/l1anxs2364a2l4c0pfm17pj25h8bx99n-gobject-introspection-1.62.0/lib
Using Parsec parser
Did not find a GI repository for GdkX11-3.0 in ["/nix/store/wdn8mff6k211j5mk33wavqfxsxxvsrkd-gobject-introspection-1.62.0-dev/share/gir-1.0","/nix/store/wdn8mff6k211j5mk33wavqfxsxxvsrkd-gobject-introspection-1.62.0-dev/share/gir-1.0","/nix/store/wdn8mff6k211j5mk33wavqfxsxxvsrkd-gobject-introspection-1.62.0-dev/share/gir-1.0","/nix/store/wdn8mff6k211j5mk33wavqfxsxxvsrkd-gobject-introspection-1.62.0-dev/share/gir-1.0","/nix/store/wdn8mff6k211j5mk33wavqfxsxxvsrkd-gobject-introspection-1.62.0-dev/share/gir-1.0"].
CallStack (from HasCallStack):
  error, called at lib/Data/GI/GIR/Repository.hs:89:20 in haskell-gi-0.23.0-7CoJoCKfEerKdqQHmXLNkT:Data.GI.GIR.Repository
...

The error in question is:

Did not find a GI repository for GdkX11-3.0 in ["/nix/store/wdn8mff6k211j5mk33wavqfxsxxvsrkd-gobject-introspection-1.62.0-dev/share/gir-1.0","/nix/store/wdn8mff6k211j5mk33wavqfxsxxvsrkd-gobject-introspection-1.62.0-dev/share/gir-1.0","/nix/store/wdn8mff6k211j5mk33wavqfxsxxvsrkd-gobject-introspection-1.62.0-dev/share/gir-1.0","/nix/store/wdn8mff6k211j5mk33wavqfxsxxvsrkd-gobject-introspection-1.62.0-dev/share/gir-1.0","/nix/store/wdn8mff6k211j5mk33wavqfxsxxvsrkd-gobject-introspection-1.62.0-dev/share/gir-1.0"].

gi-gdkx11 might need some overrides to get building correctly.

@clkamp
Copy link
Contributor Author

clkamp commented Feb 9, 2020

I have tested it like you do and yes, then it fails, but when I regenerate the hackage-packages.nix using hackage2nix and then build the package it succeeds.

Don't know whats the difference in the generated derivations, but there is one. Maybe @peti knows more about it?

@cdepillabout
Copy link
Member

when I regenerate the hackage-packages.nix using hackage2nix and then build the package it succeeds

Okay, this sounds good to me. I'm not sure why this would be happening either.

I'll go ahead and merge this in, but please keep an eye on the haskell-updates branch for the next few days. Next time it gets an update (which generally happens once a day?), please try building gi-gdkx11. If it doesn't build for whatever reason, please open an issue (or a PR if you know how to fix it).

@cdepillabout cdepillabout merged commit 1c77680 into NixOS:haskell-updates Feb 10, 2020
@clkamp
Copy link
Contributor Author

clkamp commented Feb 10, 2020

It did build fine on hydra: https://hydra.nixos.org/build/112189521

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants