neovide (a GUI for neovim GitHub - Kethku/neovide: No Nonsense Neovim Client in Rust) has recently been added to nixpkgs.
I would like to build neovide from a git clone using
nix-shell -A neovide ~/nixpkgs. I can achieve this running
cargo build + patchelf but I would like to use the nix packaging. I’ve tried a couple of things but all fail:
neovide on main via 🦀 v1.53.0 via ❄️ IMPURE (neovide-unstable-2021-06-21) (ins)+ ➜ configurePhase fixing libtool script ./target/debug/build/sdl2-sys-f6598deb0bca8d71/out/SDL2-2.0.12/build-scripts/ltmain.sh no configure script, doing nothing neovide on main via 🦀 v1.53.0 via ❄️ IMPURE (neovide-unstable-2021-06-21) took 35s (ins)➜ eval "$configurePhase"
(ins)➜ buildPhase no Makefile, doing nothing Executing cargoInstallPostBuildHook cp: cannot stat 'target/x86_64-unknown-linux-gnu/release/*': No such file or directory Finished cargoInstallPostBuildHook neovide on main via 🦀 v1.53.0 via ❄️ IMPURE (neovide-unstable-2021-06-21) (ins)➜ eval "$buildPhase" Executing cargoBuildHook ++ env CC_x86_64-unknown-linux-gnu=/nix/store/fdy0bnh3x01rysv3cig42wq3sfcqf0zz-gcc-wrapper-10.3.0/bin/cc CXX_x86_64-unknown-linux-gnu=/nix/store/fdy0bnh3x01rysv3cig42wq3sfcqf0zz-gcc-wrapper-10.3.0/bin/c++ CC_x86_64-unknown-linux-gnu=/nix/store/fdy0bnh3x01rysv3cig42wq3sfcqf0zz-gcc-wrapper-10.3.0/bin/cc CXX_x86_64-unknown-linux-gnu=/nix/store/fdy0bnh3x01rysv3cig42wq3sfcqf0zz-gcc-wrapper-10.3.0/bin/c++ cargo build -j 8 --target x86_64-unknown-linux-gnu --frozen --release error: failed to get `skia-safe` as a dependency of package `neovide v0.7.0 (/home/teto/neovide)` Caused by: attempting to make an HTTP request, but --frozen was specified Executing cargoInstallPostBuildHook cp: cannot stat 'target/x86_64-unknown-linux-gnu/release/*': No such file or directory Finished cargoInstallPostBuildHook Finished cargoBuildHook
and finally if I try genericBuild I get
neovide on main via 🦀 v1.53.0 via ❄️ IMPURE (neovide-unstable-2021-06-21) (ins)➜ genericBuild unpacking sources unpacking source archive /nix/store/255l92wfjx5hx9k9vmdrvgz9lcspbld8-source source root is source Executing cargoSetupPostUnpackHook unpacking source archive /nix/store/hskwakai3hk4f0b8np9lx7bhiximpd7f-neovide-unstable-2021-06-21-vendor.tar.gz Finished cargoSetupPostUnpackHook patching sources Executing cargoSetupPostPatchHook Validating consistency between /run/user/1000/source//Cargo.lock and /run/user/1000/neovide-unstable-2021-06-21-vendor.tar.gz/Cargo.lock /nix/store/bizkvxwm3972081hvjfgirf9w7v5nqkr-diffutils-3.7/bin/diff: /run/user/1000/source//Cargo.lock: No such file or directory /nix/store/bizkvxwm3972081hvjfgirf9w7v5nqkr-diffutils-3.7/bin/diff: /run/user/1000/neovide-unstable-2021-06-21-vendor.tar.gz/Cargo.lock: No such file or directory ERROR: Missing Cargo.lock from src. Expected to find it at: /run/user/1000/source//Cargo.lock Hint: You can use the cargoPatches attribute to add a Cargo.lock manually to the build. exit
What’s the recommended way ? I am not familiar with rust packaging.