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

neovim-gtk: init at 0.1.1 #36109

Closed
wants to merge 2 commits into from
Closed

neovim-gtk: init at 0.1.1 #36109

wants to merge 2 commits into from

Conversation

teto
Copy link
Member

@teto teto commented Feb 28, 2018

neovim ui that supports ligatures.

As usual with gtk applications, I don't have icons (be it libreoffice or other gtk apps)
2018-02-28-154812_956x949_scrot

First time packaging a rust program, it seems to compile quite a bit of stuff.

  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • 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 nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@Mic92
Copy link
Member

Mic92 commented Feb 28, 2018

In theory the package also requires a wrapper since nvim is not in PATH.
However this would collide with our vim plugin approach: https://nixos.wiki/wiki/Vim_plugins
This could be solved by a wrapped neovim-gtk, which I leave for future pull requests.

description = "GTK ui for neovim written in rust using gtk-rs bindings. With ligatures support.";
homepage = https://github.com/daa84/neovim-gtk;
license = with licenses; [ gpl3 ];
platforms = platforms.all;
Copy link
Member

Choose a reason for hiding this comment

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

Do you want to maintain this package?

Copy link
Member Author

Choose a reason for hiding this comment

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

Not really, I don't have any expertise in Rust and it was more because I wanted to try this UI. I might change my mind if I end up using it. Thanks for the icon fix.

Copy link
Contributor

Choose a reason for hiding this comment

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

Should we really accept packages without maintainers? If it is in the tree, someone will have to maintain it or it will become outdated soon.

If user just wants to share an expression, opening an issue or pull request should be enough.

Copy link
Member

Choose a reason for hiding this comment

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

Yes. We have too many unmaintained packages. Probably someone will pick it up eventually.

Copy link
Contributor

Choose a reason for hiding this comment

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

I would say it is a problem. How often does someone pick up a package to maintain it? I would say a large fraction of packages is unmaintained, only occasionally being updated by a random passer-by discovering Repology. This leads to burn-outs of either the passers-by or the core maintainers reviewing the PRs.

Copy link
Member Author

Choose a reason for hiding this comment

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

Nixos makes it kinda hard to try programs since you need to know nix to create the packages instead of just relying on the typical rust or python ecosystem. It's also difficult to ask for perfect packages from the start (like the wrapping thing, running the tests). I believe we need an overlay with a lower entry bar than nixpkgs, close to wiki-based (since the maintainer resource is scarce).

Copy link
Member

@Mic92 Mic92 Feb 28, 2018

Choose a reason for hiding this comment

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

I have not yet concrete ideas, how this could look like. But I have created the repository: https://github.com/nixos-users/NUR/tree/master

Copy link
Member Author

Choose a reason for hiding this comment

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

With github you still need someone to accept the PRs. Maybe a searchengine to search across different (user) overlays could work better, kind of what luarocks.org does. There is a default "root" repository but you can expand your search with user channels.
For instance I have a few nix packages available locally I don't mind making public but that don't meet yet nixos standards (ns-3/lkl improvements/castxml/pygccxml/mptcpanalyzer etc).

Copy link
Member

@Mic92 Mic92 Mar 1, 2018

Choose a reason for hiding this comment

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

The idea was to accept make this an automatic registration process, maybe not even through the github ui but version controlled and only keep a central list of overlays a user can subscribe.
Basically to improve discovery and provide a communication channel between consumer and producer of an overlay and also to make adding/removing overlays easier.

pkgs/applications/editors/neovim/neovim-gtk.nix Outdated Show resolved Hide resolved
pkgs/applications/editors/neovim/neovim-gtk.nix Outdated Show resolved Hide resolved
neovim ui that supports ligatures.
@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: neovim-gtk

Partial log (click to expand)


glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/a94n63d7g8xvv5vy0g3kir02nmncp6w1-neovim-gtk-0.1.1
shrinking /nix/store/a94n63d7g8xvv5vy0g3kir02nmncp6w1-neovim-gtk-0.1.1/bin/nvim-gtk
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/a94n63d7g8xvv5vy0g3kir02nmncp6w1-neovim-gtk-0.1.1/bin
patching script interpreter paths in /nix/store/a94n63d7g8xvv5vy0g3kir02nmncp6w1-neovim-gtk-0.1.1
checking for references to /tmp/nix-build-neovim-gtk-0.1.1.drv-0 in /nix/store/a94n63d7g8xvv5vy0g3kir02nmncp6w1-neovim-gtk-0.1.1...
/nix/store/a94n63d7g8xvv5vy0g3kir02nmncp6w1-neovim-gtk-0.1.1

@GrahamcOfBorg
Copy link

Failure on x86_64-linux (full log)

Attempted: neovim-gtk

Partial log (click to expand)

To use vendored sources, add this to your .cargo/config for this project:

[source.crates-io]
replace-with = "vendored-sources"

[source.vendored-sources]
directory = "/build/source/vendor"
fixed-output derivation produced path '/nix/store/by3gk41yanbnrjzkk1ii4q2qgcbsxyi2-neovim-gtk-0.1.1-vendor' with sha256 hash '1yqlj885bk7zbmn9563p5qzcrpwwdydl0q12ir5mijfjhi0whyyr' instead of the expected hash '0zpdsq96xffdcgi4b9s5gj0v0j4riqp0frqwqv8d4sczhlp2yq31'
cannot build derivation '/nix/store/1g510y6vvi55viv0c9zqah8zg52jy82x-neovim-gtk-0.1.1.drv': 1 dependencies couldn't be built
�[31;1merror:�[0m build of '/nix/store/1g510y6vvi55viv0c9zqah8zg52jy82x-neovim-gtk-0.1.1.drv' failed

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: neovim-gtk

Partial log (click to expand)

cannot build derivation '/nix/store/qzbqjfrvp0xlfwl19jj9gzizklxhd7m9-rust_serde_derive-1.0.18.drv': 6 dependencies couldn't be built
cannot build derivation '/nix/store/gj2rsajhd7a127m49mp7360pr0ih02hc-rust_crates-io-0.11.0.drv': 30 dependencies couldn't be built
cannot build derivation '/nix/store/9fvhpd2xnas77icmc2hi6py28cvva6mn-rust_docopt-0.8.1.drv': 19 dependencies couldn't be built
cannot build derivation '/nix/store/62hx0n9m300l1l93d25cnmrazp876k8r-rust_git2-curl-0.7.0.drv': 20 dependencies couldn't be built
cannot build derivation '/nix/store/vc34jlqvphknjzm8gab6kasc9vw63rnj-rust_ignore-0.2.2.drv': 18 dependencies couldn't be built
cannot build derivation '/nix/store/vjr612j1147n6j81fvppkq8hhmvck3xf-rust_cargo-0.22.0.drv': 78 dependencies couldn't be built
cannot build derivation '/nix/store/5hlnp1qyjw1ki4wafa6whhpfwn5az4qz-rust_cargo-vendor-0.1.13.drv': 79 dependencies couldn't be built
cannot build derivation '/nix/store/aczzi7dlql3v86b7sgc1h3glmy6cxz7x-neovim-gtk-0.1.1-vendor.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/gc53y2zbjks0lwks4fq6msxxig1aprb8-neovim-gtk-0.1.1.drv': 3 dependencies couldn't be built
�[31;1merror:�[0m build of '/nix/store/gc53y2zbjks0lwks4fq6msxxig1aprb8-neovim-gtk-0.1.1.drv' failed

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: neovim-gtk

Partial log (click to expand)

cannot build derivation '/nix/store/qzbqjfrvp0xlfwl19jj9gzizklxhd7m9-rust_serde_derive-1.0.18.drv': 6 dependencies couldn't be built
cannot build derivation '/nix/store/gj2rsajhd7a127m49mp7360pr0ih02hc-rust_crates-io-0.11.0.drv': 30 dependencies couldn't be built
cannot build derivation '/nix/store/9fvhpd2xnas77icmc2hi6py28cvva6mn-rust_docopt-0.8.1.drv': 19 dependencies couldn't be built
cannot build derivation '/nix/store/62hx0n9m300l1l93d25cnmrazp876k8r-rust_git2-curl-0.7.0.drv': 20 dependencies couldn't be built
cannot build derivation '/nix/store/vc34jlqvphknjzm8gab6kasc9vw63rnj-rust_ignore-0.2.2.drv': 18 dependencies couldn't be built
cannot build derivation '/nix/store/vjr612j1147n6j81fvppkq8hhmvck3xf-rust_cargo-0.22.0.drv': 78 dependencies couldn't be built
cannot build derivation '/nix/store/5hlnp1qyjw1ki4wafa6whhpfwn5az4qz-rust_cargo-vendor-0.1.13.drv': 79 dependencies couldn't be built
cannot build derivation '/nix/store/drymxwxrgc6xx6wf39da16g9m81nkq38-neovim-gtk-0.1.1-vendor.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/zwryawvkvsnjglfra5bnpvhp8xv0zdj0-neovim-gtk-0.1.1.drv': 3 dependencies couldn't be built
�[31;1merror:�[0m build of '/nix/store/zwryawvkvsnjglfra5bnpvhp8xv0zdj0-neovim-gtk-0.1.1.drv' failed

@dtzWill
Copy link
Member

dtzWill commented May 18, 2018

@GrahamcOfBorg build neovim-gtk

@GrahamcOfBorg
Copy link

Failure on x86_64-linux (full log)

Attempted: neovim-gtk

Partial log (click to expand)

patching sources
configuring
building
Running cargo build --release
error: no matching version `= 0.4.1` found for package `cairo-rs`
location searched: registry `https://github.com/rust-lang/crates.io-index`
versions found: 0.3.0
required by package `nvim-gtk v0.2.0 (file:///build/source)`
builder for '/nix/store/2pxqpyk811k4hrlhd0jpsljwx1d2bfih-neovim-gtk-0.1.1.drv' failed with exit code 101
error: build of '/nix/store/2pxqpyk811k4hrlhd0jpsljwx1d2bfih-neovim-gtk-0.1.1.drv' failed

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: neovim-gtk

Partial log (click to expand)

To use vendored sources, add this to your .cargo/config for this project:

[source.crates-io]
replace-with = "vendored-sources"

[source.vendored-sources]
directory = "/private/tmp/nix-build-neovim-gtk-0.1.1-vendor.drv-0/source/vendor"
fixed-output derivation produced path '/nix/store/by3gk41yanbnrjzkk1ii4q2qgcbsxyi2-neovim-gtk-0.1.1-vendor' with sha256 hash '1yqlj885bk7zbmn9563p5qzcrpwwdydl0q12ir5mijfjhi0whyyr' instead of the expected hash '0zpdsq96xffdcgi4b9s5gj0v0j4riqp0frqwqv8d4sczhlp2yq31'
cannot build derivation '/nix/store/jpnpzznr6kn5ik99y03wr85m05yimifq-neovim-gtk-0.1.1.drv': 1 dependencies couldn't be built
error: build of '/nix/store/jpnpzznr6kn5ik99y03wr85m05yimifq-neovim-gtk-0.1.1.drv' failed

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: neovim-gtk

Partial log (click to expand)

shrinking /nix/store/6lyr6989i2mcc012cam6a6ssigwsqbiq-gtk+3-3.22.29-dev/bin/gtk-query-settings
shrinking /nix/store/6lyr6989i2mcc012cam6a6ssigwsqbiq-gtk+3-3.22.29-dev/bin/gtk-builder-tool
shrinking /nix/store/6lyr6989i2mcc012cam6a6ssigwsqbiq-gtk+3-3.22.29-dev/bin/gtk-query-immodules-3.0
gzipping man pages under /nix/store/6lyr6989i2mcc012cam6a6ssigwsqbiq-gtk+3-3.22.29-dev/share/man/
strip is /nix/store/jk6j4lh9v5mvjdbdc35sj0zffhhf6s56-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/6lyr6989i2mcc012cam6a6ssigwsqbiq-gtk+3-3.22.29-dev/lib  /nix/store/6lyr6989i2mcc012cam6a6ssigwsqbiq-gtk+3-3.22.29-dev/bin
patching script interpreter paths in /nix/store/6lyr6989i2mcc012cam6a6ssigwsqbiq-gtk+3-3.22.29-dev
checking for references to /build in /nix/store/6lyr6989i2mcc012cam6a6ssigwsqbiq-gtk+3-3.22.29-dev...
cannot build derivation '/nix/store/8rg29xy3wil797raj9ib2rx15caarb0l-neovim-gtk-0.1.1.drv': 1 dependencies couldn't be built
�[31;1merror:�[0m build of '/nix/store/8rg29xy3wil797raj9ib2rx15caarb0l-neovim-gtk-0.1.1.drv' failed

@Mic92
Copy link
Member

Mic92 commented May 20, 2018

This is an updated version of it: ebf6538

@joachifm joachifm closed this Nov 4, 2018
@teto teto deleted the neovim-gtk branch May 13, 2020 09:49
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

6 participants