From 3a25004f2b33b64b9292d923b1a6257b517157a7 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Sun, 7 Mar 2021 21:03:44 +0100 Subject: [PATCH] neovim-qt-unwrapped: init at 2.16.1 more like a refactoring. It was already available but via neovim-qt.passthru.unwrapped Co-authored-by: Sandro --- .../applications/editors/neovim/neovim-qt.nix | 43 +++++++ pkgs/applications/editors/neovim/qt.nix | 107 ++++++------------ pkgs/top-level/all-packages.nix | 1 + 3 files changed, 77 insertions(+), 74 deletions(-) create mode 100644 pkgs/applications/editors/neovim/neovim-qt.nix diff --git a/pkgs/applications/editors/neovim/neovim-qt.nix b/pkgs/applications/editors/neovim/neovim-qt.nix new file mode 100644 index 0000000000000..505fd41f797c0 --- /dev/null +++ b/pkgs/applications/editors/neovim/neovim-qt.nix @@ -0,0 +1,43 @@ +{ lib, stdenv, mkDerivation, fetchFromGitHub, cmake, doxygen, makeWrapper +, msgpack, neovim, pythonPackages, qtbase }: + +mkDerivation rec { + pname = "neovim-qt-unwrapped"; + version = "0.2.16.1"; + + src = fetchFromGitHub { + owner = "equalsraf"; + repo = "neovim-qt"; + rev = "v${version}"; + sha256 = "0x5brrim3f21bzdmh6wyrhrislwpx1248wbx56csvic6v78hzqny"; + }; + + cmakeFlags = [ + "-DUSE_SYSTEM_MSGPACK=1" + "-DENABLE_TESTS=0" # tests fail because xcb platform plugin is not found + ]; + + buildInputs = [ + neovim.unwrapped # only used to generate help tags at build time + qtbase + ] ++ (with pythonPackages; [ + jinja2 python msgpack + ]); + + nativeBuildInputs = [ cmake doxygen ]; + + preCheck = '' + # The GUI tests require a running X server, disable them + sed -i ../test/CMakeLists.txt -e '/^add_xtest_gui/d' + ''; + + doCheck = true; + + meta = with lib; { + description = "Neovim client library and GUI, in Qt5"; + homepage = "https://github.com/equalsraf/neovim-qt"; + license = licenses.isc; + maintainers = with maintainers; [ peterhoeg ]; + inherit (neovim.meta) platforms; + }; +} diff --git a/pkgs/applications/editors/neovim/qt.nix b/pkgs/applications/editors/neovim/qt.nix index 8eaa9204c4355..5210b6b67c8b4 100644 --- a/pkgs/applications/editors/neovim/qt.nix +++ b/pkgs/applications/editors/neovim/qt.nix @@ -1,79 +1,38 @@ { lib, stdenv, mkDerivation, fetchFromGitHub, cmake, doxygen, makeWrapper -, msgpack, neovim, pythonPackages, qtbase }: +, msgpack, neovim, pythonPackages, qtbase, neovim-qt-unwrapped }: let - unwrapped = mkDerivation rec { - pname = "neovim-qt-unwrapped"; - version = "0.2.16.1"; - - src = fetchFromGitHub { - owner = "equalsraf"; - repo = "neovim-qt"; - rev = "v${version}"; - sha256 = "0x5brrim3f21bzdmh6wyrhrislwpx1248wbx56csvic6v78hzqny"; - }; - - cmakeFlags = [ - "-DUSE_SYSTEM_MSGPACK=1" - "-DENABLE_TESTS=0" # tests fail because xcb platform plugin is not found - ]; - - buildInputs = [ - neovim.unwrapped # only used to generate help tags at build time - qtbase - ] ++ (with pythonPackages; [ - jinja2 python msgpack - ]); - - nativeBuildInputs = [ cmake doxygen ]; - - preCheck = '' - # The GUI tests require a running X server, disable them - sed -i ../test/CMakeLists.txt \ - -e '/^add_xtest_gui/d' - ''; - - doCheck = true; - - meta = with lib; { - description = "Neovim client library and GUI, in Qt5"; - homepage = "https://github.com/equalsraf/neovim-qt"; - license = licenses.isc; - maintainers = with maintainers; [ peterhoeg ]; - inherit (neovim.meta) platforms; - inherit version; - }; - }; + unwrapped = neovim-qt-unwrapped; in - stdenv.mkDerivation { - pname = "neovim-qt"; - version = unwrapped.version; - buildCommand = if stdenv.isDarwin then '' - mkdir -p $out/Applications - cp -r ${unwrapped}/bin/nvim-qt.app $out/Applications - - chmod -R a+w "$out/Applications/nvim-qt.app/Contents/MacOS" - wrapProgram "$out/Applications/nvim-qt.app/Contents/MacOS/nvim-qt" \ - --prefix PATH : "${neovim}/bin" - '' else '' - makeWrapper '${unwrapped}/bin/nvim-qt' "$out/bin/nvim-qt" \ - --prefix PATH : "${neovim}/bin" - - # link .desktop file - mkdir -p "$out/share/pixmaps" - ln -s '${unwrapped}/share/applications' "$out/share/applications" - ln -s '${unwrapped}/share/pixmaps/nvim-qt.png' "$out/share/pixmaps/nvim-qt.png" - ''; - - preferLocalBuild = true; - - nativeBuildInputs = [ - makeWrapper - ]; - - passthru = { - inherit unwrapped; - }; +stdenv.mkDerivation { + pname = "neovim-qt"; + version = unwrapped.version; + buildCommand = if stdenv.isDarwin then '' + mkdir -p $out/Applications + cp -r ${unwrapped}/bin/nvim-qt.app $out/Applications + + chmod -R a+w $out/Applications/nvim-qt.app/Contents/MacOS + wrapProgram $out/Applications/nvim-qt.app/Contents/MacOS/nvim-qt \ + --prefix PATH : ${neovim}/bin + '' else '' + makeWrapper ${unwrapped}/bin/nvim-qt $out/bin/nvim-qt \ + --prefix PATH : ${neovim}/bin + + # link .desktop file + mkdir -p $out/share/pixmaps + ln -s ${unwrapped}/share/applications $out/share/applications + ln -s ${unwrapped}/share/pixmaps/nvim-qt.png $out/share/pixmaps/nvim-qt.png + ''; + + preferLocalBuild = true; + + nativeBuildInputs = [ + makeWrapper + ]; + + passthru = { + inherit unwrapped; + }; - inherit (unwrapped) meta; - } + inherit (unwrapped) meta; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ac8dfdb41261b..9ce5e6fe8c8ce 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25959,6 +25959,7 @@ in neovimUtils = callPackage ../applications/editors/neovim/utils.nix { }; neovim = wrapNeovim neovim-unwrapped { }; + neovim-qt-unwrapped = libsForQt5.callPackage ../applications/editors/neovim/neovim-qt.nix { }; neovim-qt = libsForQt5.callPackage ../applications/editors/neovim/qt.nix { }; olifant = callPackage ../applications/misc/olifant { };