Skip to content

Commit

Permalink
neovim-qt-unwrapped: init at 2.16.1
Browse files Browse the repository at this point in the history
more like a refactoring. It was already available but via neovim-qt.passthru.unwrapped

Co-authored-by: Sandro <[email protected]>
  • Loading branch information
2 people authored and teto committed Mar 22, 2021
1 parent 841b753 commit 3a25004
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 74 deletions.
43 changes: 43 additions & 0 deletions pkgs/applications/editors/neovim/neovim-qt.nix
Original file line number Diff line number Diff line change
@@ -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;
};
}
107 changes: 33 additions & 74 deletions pkgs/applications/editors/neovim/qt.nix
Original file line number Diff line number Diff line change
@@ -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;
}
1 change: 1 addition & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 { };
Expand Down

0 comments on commit 3a25004

Please sign in to comment.