aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/applications/editors/neovim/gnvim/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/editors/neovim/gnvim/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/gnvim/default.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/editors/neovim/gnvim/default.nix b/nixpkgs/pkgs/applications/editors/neovim/gnvim/default.nix
new file mode 100644
index 00000000000..764d7004940
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/neovim/gnvim/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, rustPlatform, fetchFromGitHub, gtk, webkitgtk }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "gnvim-unwrapped";
+ version = "0.1.5";
+
+ src = fetchFromGitHub {
+ owner = "vhakulinen";
+ repo = "gnvim";
+ rev = version;
+ sha256 = "11gb59lhc1sp5dxj2fdm6072f4nxxay0war3kmchdwsk41nvxlrh";
+ };
+
+ cargoSha256 = "00r5jf5qdw02vcv3522qqrnwj14mip0l58prcncbvyg4pxlm2rb2";
+
+ buildInputs = [ gtk webkitgtk ];
+
+ # The default build script tries to get the version through Git, so we
+ # replace it
+ prePatch = ''
+ cat << EOF > build.rs
+ use std::env;
+ use std::fs::File;
+ use std::io::Write;
+ use std::path::Path;
+
+ fn main() {
+ let out_dir = env::var("OUT_DIR").unwrap();
+ let dest_path = Path::new(&out_dir).join("gnvim_version.rs");
+ let mut f = File::create(&dest_path).unwrap();
+ f.write_all(b"const VERSION: &str = \"${version}\";").unwrap();
+ }
+ EOF
+ '';
+
+ installPhase = ''
+ make install PREFIX="${placeholder "out"}"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "GUI for neovim, without any web bloat";
+ homepage = "https://github.com/vhakulinen/gnvim";
+ license = licenses.mit;
+ maintainers = with maintainers; [ minijackson ];
+ inherit version;
+ };
+}