diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 1f59cc3e35411..31e70d7247ad5 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -2634,6 +2634,18 @@ final: prev: meta.homepage = "https://github.com/ms-jpq/coq_nvim/"; }; + cornelis = buildVimPlugin { + pname = "cornelis"; + version = "2024-04-17"; + src = fetchFromGitHub { + owner = "isovector"; + repo = "cornelis"; + rev = "c97b4817034a927dcadb22294cf97a88087a935f"; + sha256 = "03wkq7jly9syv7kqsf66hdq8p7fqk6a240azcys9fsak797nbs1a"; + }; + meta.homepage = "https://github.com/isovector/cornelis/"; + }; + cosco-vim = buildVimPlugin { pname = "cosco.vim"; version = "2018-08-07"; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index c3711bd412fed..c6425c0a5a9d0 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -63,6 +63,8 @@ , # command-t dependencies getconf , ruby +, # cornelis dependencies + cornelis , # cpsm dependencies boost , cmake @@ -462,6 +464,17 @@ patches = [ ./patches/coq_nvim/emulate-venv.patch ]; }; + cornelis = super.cornelis.overrideAttrs { + dependencies = with self; [ vim-textobj-user ]; + opt = with self; [ vim-which-key ]; + # Unconditionally use the cornelis binary provided by the top-level package: + patches = [ ./patches/cornelis/0001-Unconditionally-use-global-binary.patch ]; + postInstall = '' + substituteInPlace $out/ftplugin/agda.vim \ + --subst-var-by CORNELIS "${lib.getBin cornelis}/bin/cornelis" + ''; + }; + cpsm = super.cpsm.overrideAttrs { nativeBuildInputs = [ cmake ]; buildInputs = [ diff --git a/pkgs/applications/editors/vim/plugins/patches/cornelis/0001-Unconditionally-use-global-binary.patch b/pkgs/applications/editors/vim/plugins/patches/cornelis/0001-Unconditionally-use-global-binary.patch new file mode 100644 index 0000000000000..67caa386c76c3 --- /dev/null +++ b/pkgs/applications/editors/vim/plugins/patches/cornelis/0001-Unconditionally-use-global-binary.patch @@ -0,0 +1,31 @@ +From f8e993846551bda77a34a77aad7ad6dcc45b66a7 Mon Sep 17 00:00:00 2001 +From: Philipp Joram +Date: Tue, 16 Apr 2024 12:48:42 +0300 +Subject: [PATCH] Unconditionally use global binary + +--- + ftplugin/agda.vim | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/ftplugin/agda.vim b/ftplugin/agda.vim +index c7dd9d0..6b4aba3 100644 +--- a/ftplugin/agda.vim ++++ b/ftplugin/agda.vim +@@ -11,13 +11,7 @@ if exists("b:cornelis_ftplugin") + endif + let b:cornelis_ftplugin = 1 + +-if exists("g:cornelis_use_global_binary") +- call remote#host#Register('cornelis', '*', rpcstart('cornelis', [])) +-else +- call nvimhs#start(expand(':p:h:h'), 'cornelis', ['-v', 'DEBUG', '-l', '/tmp/cornelis.log']) +-endif +- +-nnoremap :call nvimhs#compileAndRestart('cornelis') ++call remote#host#Register('cornelis', '*', rpcstart('@CORNELIS@', [])) + + runtime agda-input.vim + runtime agda-matchpairs.vim +-- +2.44.0 + diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index acdd809e54387..b9a963e8ab619 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -219,6 +219,7 @@ https://github.com/ms-jpq/coq.artifacts/,HEAD, https://github.com/ms-jpq/coq.thirdparty/,HEAD, https://github.com/jvoorhis/coq.vim/,, https://github.com/ms-jpq/coq_nvim/,, +https://github.com/isovector/cornelis/,HEAD, https://github.com/lfilho/cosco.vim/,, https://github.com/nixprime/cpsm/,, https://github.com/saecki/crates.nvim/,, diff --git a/pkgs/by-name/co/cornelis/package.nix b/pkgs/by-name/co/cornelis/package.nix new file mode 100644 index 0000000000000..0ad61b5113474 --- /dev/null +++ b/pkgs/by-name/co/cornelis/package.nix @@ -0,0 +1,27 @@ +{ + lib, + haskell, + haskellPackages, + + # Test dependencies + cornelis, + runCommand, +}: +let + inherit (haskell.lib.compose) overrideCabal justStaticExecutables; + overrides = { + description = "agda-mode for Neovim"; + + passthru = { + tests = runCommand "cornelis-tests" { nativeBuildInputs = [ cornelis ]; } '' + cornelis --help > $out + ''; + }; + }; +in +lib.pipe haskellPackages.cornelis [ + (overrideCabal overrides) + + # Reduce closure size + justStaticExecutables +] diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index c07e2faa55969..de346b1aa584b 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -3093,6 +3093,10 @@ self: super: { # https://github.com/isovector/type-errors/issues/9 type-errors = dontCheck super.type-errors; + # 2024-05-15: Hackage distribution is missing files needed for tests + # https://github.com/isovector/cornelis/issues/150 + cornelis = dontCheck super.cornelis; + cabal-gild = super.cabal-gild.overrideScope (self: super: { tasty = super.tasty_1_5; tasty-quickcheck = super.tasty-quickcheck_0_10_3; diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index aaa45de71e210..45c6061f8fd3e 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -1003,7 +1003,6 @@ broken-packages: - core-haskell # failure in job https://hydra.nixos.org/build/233222588 at 2023-09-02 - corenlp-types # failure in job https://hydra.nixos.org/build/243808366 at 2024-01-01 - core-warn # failure in job https://hydra.nixos.org/build/233204404 at 2023-09-02 - - cornelis # failure in job https://hydra.nixos.org/build/259604220 at 2024-05-15 - Coroutine # failure in job https://hydra.nixos.org/build/233211213 at 2023-09-02 - coroutine-object # failure in job https://hydra.nixos.org/build/233220413 at 2023-09-02 - couchdb-conduit # failure in job https://hydra.nixos.org/build/233227244 at 2023-09-02 diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 2294abaea1389..36a457de5fc05 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -254,6 +254,8 @@ package-maintainers: - Unique libjared: - sensei + malo: + - cornelis maralorn: - bluefin - cabal-fmt @@ -322,6 +324,8 @@ package-maintainers: - titlecase - xmonad - xmonad-contrib + phijor: + - cornelis poscat: - hinit psibi: diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index b8e04d8d8650c..561aed3b10178 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -75510,9 +75510,8 @@ self: { vector ]; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; mainProgram = "cornelis"; - broken = true; + maintainers = [ lib.maintainers.malo lib.maintainers.phijor ]; }) {}; "coroutine-enumerator" = callPackage