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

haskellPackages.termonad: Fix dependency on gi-vte #93798

Closed
wants to merge 6 commits into from

Conversation

cdepillabout
Copy link
Member

@cdepillabout cdepillabout commented Jul 25, 2020

Motivation for this change

Termonad broke in 4c8da32, because a new version of gi-vte was released upstream that requires bumped versions of all the gi-* libraries:

https://hackage.haskell.org/package/gi-vte-2.91.27

However, this PR depends on #93799, which needs to be merged into master first.

I also wanted to point out to @maralorn the overrideScope attribute. It allows you to do a "deep" override, so you don't have to recursively override stuff by hand. I thought this might be able to be used to clean up the neuron overrides slightly.

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.

@cdepillabout cdepillabout changed the title Fix termonad haskellPackages.termonad: Fix dependency on gi-vte Jul 25, 2020
@cdepillabout
Copy link
Member Author

Currently building termonad failed with errors like the following:

Preprocessing library for termonad-4.0.0.0..
Building library for termonad-4.0.0.0..
[ 1 of 14] Compiling Paths_termonad   ( dist/build/autogen/Paths_termonad.hs, dist/build/Paths_termonad.o )
[ 2 of 14] Compiling Termonad.Pcre    ( src/Termonad/Pcre.hs, dist/build/Termonad/Pcre.o )

<no location info>: error:
    <command line>: /nix/store/m698laypml11x54fw35g4cfb7jj2fpsr-gi-gobject-2.0.23/lib/ghc-8.8.4/x86_64-linux-ghc-8.8.4/libHSgi-gobject-2.0.23-IQah2rYZEFjLoqlrEACpRH-ghc8.8.4.so: undefined symbol: intern
[ 3 of 14] Compiling Termonad.Prelude ( src/Termonad/Prelude.hs, dist/build/Termonad/Prelude.o )
[ 4 of 14] Compiling Termonad.Gtk     ( src/Termonad/Gtk.hs, dist/build/Termonad/Gtk.o )
[ 5 of 14] Compiling Termonad.Types   ( src/Termonad/Types.hs, dist/build/Termonad/Types.o )
[ 6 of 14] Compiling Termonad.PreferencesFile ( src/Termonad/PreferencesFile.hs, dist/build/Termonad/PreferencesFile.o )
[ 7 of 14] Compiling Termonad.Lenses  ( src/Termonad/Lenses.hs, dist/build/Termonad/Lenses.o )

<no location info>: error:
    <command line>: /nix/store/m698laypml11x54fw35g4cfb7jj2fpsr-gi-gobject-2.0.23/lib/ghc-8.8.4/x86_64-linux-ghc-8.8.4/libHSgi-gobject-2.0.23-IQah2rYZEFjLoqlrEACpRH-ghc8.8.4.so: undefined symbol: intern
[11 of 14] Compiling Termonad.Config  ( src/Termonad/Config.hs, dist/build/Termonad/Config.o )
[12 of 14] Compiling Termonad.XML     ( src/Termonad/XML.hs, dist/build/Termonad/XML.o )

<no location info>: error:
    <command line>: /nix/store/m698laypml11x54fw35g4cfb7jj2fpsr-gi-gobject-2.0.23/lib/ghc-8.8.4/x86_64-linux-ghc-8.8.4/libHSgi-gobject-2.0.23-IQah2rYZEFjLoqlrEACpRH-ghc8.8.4.so: undefined symbol: intern

builder for '/nix/store/hczcjanw51i1gdfpp0r760w6ddhwi267-termonad-4.0.0.0.drv' failed with exit code 1
error: build of '/nix/store/hczcjanw51i1gdfpp0r760w6ddhwi267-termonad-4.0.0.0.drv' failed

This maybe related to haskell-gi/haskell-gi#297.

@maralorn
Copy link
Member

Thx for the hint @cdepillabout , I was very much wondering how too achieve something like that. I kinda wonder, if there would ever be a reason not to use overrideScope …

Also when I look at your changes I get reminded of how sad it is, that we don‘t have better syntax for function composition …

@peti peti force-pushed the haskell-updates branch 3 times, most recently from 8a7eb3e to ed16234 Compare August 7, 2020 18:35
bradparker added a commit to bradparker/dotfiles that referenced this pull request Aug 12, 2020
When NixOS/nixpkgs#93798 is resolved I can have
it back.
@maralorn
Copy link
Member

@cdepillabout Oh, no. I just realized, that I duplicated a lot of this work in #95434 . But possibly starting from newest master this PR might be easier to get right? I think your problem might stem from a newly introduced gobject-introspection dependency, that is fixed in my PR. (credit goes to @srhb for finding that solution).

@cdepillabout
Copy link
Member Author

@maralorn Thanks for the heads up!

I was basically using this PR as a playground for overrideScope (since I had never used it before), and as a way to figure out what bugs I needed to report to the upstream haskell-gi library.

I would like to get Termonad working again at some point before the branch off of 20.09!

@maralorn
Copy link
Member

So, we can close this?

@cdepillabout
Copy link
Member Author

@maralorn Thanks for the reminder.

This has been fixed in #96265.

@cdepillabout cdepillabout deleted the fix-termonad branch November 1, 2021 05:10
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

3 participants