diff --git a/pkgs/by-name/lu/luarocks-packages-updater/updater.py b/pkgs/by-name/lu/luarocks-packages-updater/updater.py index 2cff160066e2..d09016ebf76d 100755 --- a/pkgs/by-name/lu/luarocks-packages-updater/updater.py +++ b/pkgs/by-name/lu/luarocks-packages-updater/updater.py @@ -66,6 +66,35 @@ FOOTER = ( + "\n" ) +LICENSE_NORMALIZATION = { + "AGPL-3.0": "lib.licenses.agpl3Only", + "Apache 2": "lib.licenses.asl20", + "Apache 2.0": "lib.licenses.asl20", + "Apache-2.0": "lib.licenses.asl20", + "Apache License Version 2": "lib.licenses.asl20", + "BSD-2-Clause": "lib.licenses.bsd2", + "BSD-3-Clause": "lib.licenses.bsd3", + "GPL-2+": "lib.licenses.gpl2Plus", + "GPL-2.0": "lib.licenses.gpl2Only", + "GPL-2.0-only": "lib.licenses.gpl2Only", + "GPL-2.0-or-later": "lib.licenses.gpl2Plus", + "GPL-3.0": "lib.licenses.gpl3Only", + "GPL-3.0-only": "lib.licenses.gpl3Only", + "GPL-3.0-or-later": "lib.licenses.gpl3Plus", + "ISC": "lib.licenses.isc", + "LGPL-2.0": "lib.licenses.lgpl2Only", + "LGPL-2.1": "lib.licenses.lgpl21Only", + "LGPL-3.0": "lib.licenses.lgpl3Only", + "MIT": "lib.licenses.mit", + "MIT ": "lib.licenses.mit", + "MPL-2.0": "lib.licenses.mpl20", + "Unlicense": "lib.licenses.unlicense", + "2-clause BSD": "lib.licenses.bsd2", + "Two-clause BSD": "lib.licenses.bsd2", +} + +LICENSE_FULL_NAME_RE = re.compile(r'(?P\s*)license\.fullName = "(?P[^"]+)";') + @dataclass class LuaPlugin: @@ -105,6 +134,18 @@ def extract_rev(nix_expr: str) -> str | None: return None +def normalize_license_metadata(nix_expr: str) -> str: + def replace(match: re.Match[str]) -> str: + license_full_name = match.group("license") + license_attr = LICENSE_NORMALIZATION.get(license_full_name) + if license_attr is None: + return match.group(0) + indent = match.group("indent") + return f"{indent}license = {license_attr};" + + return LICENSE_FULL_NAME_RE.sub(replace, nix_expr) + + def commit_files(repo, message: str, files: list[Path]) -> None: worktree = repo.working_tree_dir paths = [str(path) for path in files] @@ -470,6 +511,7 @@ def generate_pkg_nix(plug: LuaPlugin): output = run_luarocks(cmd) ## FIXME: luarocks nix command output isn't formatted properly + output = normalize_license_metadata(output) output = "callPackage(\n" + output.strip() + ") {};\n\n" return (plug, output, None) except subprocess.CalledProcessError as e: diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix index 97a992d11795..cb9c236cab84 100644 --- a/pkgs/development/lua-modules/generated-packages.nix +++ b/pkgs/development/lua-modules/generated-packages.nix @@ -76,7 +76,7 @@ final: prev: { meta = { homepage = "https://github.com/kikito/ansicolors.lua"; maintainers = with lib.maintainers; [ Freed-Wu ]; - license.fullName = "MIT "; + license = lib.licenses.mit; description = "Library for color Manipulation."; longDescription = '' Ansicolors is a simple Lua function for printing to the console in color. @@ -110,7 +110,7 @@ final: prev: { meta = { homepage = "https://github.com/luarocks/argparse"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A feature-rich command-line argument parser"; longDescription = "Argparse supports positional arguments, options, flags, optional arguments, subcommands and more. Argparse automatically generates usage, help, and error messages, and can generate shell completion scripts."; }; @@ -140,7 +140,7 @@ final: prev: { meta = { homepage = "https://github.com/aiq/basexx"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A base2, base16, base32, base64 and base85 library for Lua"; longDescription = "A Lua library which provides base2(bitfield), base16(hex), base32(crockford/rfc), base64(rfc/url), base85(z85) decoding and encoding."; }; @@ -174,7 +174,7 @@ final: prev: { meta = { homepage = "http://github.com/mikejsavage/lua-bcrypt"; maintainers = with lib.maintainers; [ ulysseszhan ]; - license.fullName = "ISC"; + license = lib.licenses.isc; description = "A Lua wrapper for bcrypt"; }; } @@ -241,7 +241,7 @@ final: prev: { meta = { homepage = "http://www.lua.org/manual/5.2/manual.html#6.7"; maintainers = with lib.maintainers; [ lblasc ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Lua 5.2 bit manipulation library"; longDescription = '' bit32 is the native Lua 5.2 bit manipulation library, in the version @@ -295,7 +295,7 @@ final: prev: { meta = { homepage = "https://lunarmodules.github.io/busted/"; - license.fullName = "MIT "; + license = lib.licenses.mit; description = "Elegant Lua unit testing"; longDescription = '' An elegant, extensible, testing framework. @@ -333,7 +333,7 @@ final: prev: { meta = { homepage = "https://github.com/hishamhm/busted-htest"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A pretty output handler for Busted"; longDescription = '' This is an alternative output handler for Busted, @@ -374,7 +374,7 @@ final: prev: { meta = { homepage = "https://github.com/sile-typesetter/cassowary.lua"; maintainers = with lib.maintainers; [ alerque ]; - license.fullName = "Apache 2"; + license = lib.licenses.asl20; description = "The cassowary constraint solver"; longDescription = '' This is a Lua port of the Cassowary constraint solving toolkit. @@ -446,7 +446,7 @@ final: prev: { meta = { homepage = "https://linrongbin16.github.io/commons.nvim/"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "The commons lua library for Neovim plugin project."; }; } @@ -478,7 +478,7 @@ final: prev: { meta = { homepage = "https://github.com/lunarmodules/lua-compat-5.3"; maintainers = with lib.maintainers; [ vcunat ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1"; longDescription = '' This is a small module that aims to make it easier to write Lua @@ -625,7 +625,7 @@ final: prev: { meta = { homepage = "https://github.com/teal-language/cyan"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A build system for the Teal language"; longDescription = "A build system for the Teal language along with an api for external tooling to work with Teal"; }; @@ -777,7 +777,7 @@ final: prev: { meta = { homepage = "http://leafo.net/lua-enet"; maintainers = with lib.maintainers; [ ulysseszhan ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A library for doing network communication in Lua"; longDescription = '' Binding to ENet, network communication layer on top of UDP. @@ -813,7 +813,7 @@ final: prev: { meta = { homepage = "https://github.com/leafo/etlua"; maintainers = with lib.maintainers; [ ulysseszhan ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Embedded templates for Lua"; longDescription = '' Allows you to render ERB style templates but with Lua. Supports <% %>, <%= @@ -850,7 +850,7 @@ final: prev: { meta = { homepage = "https://fennel-lang.org"; maintainers = with lib.maintainers; [ misterio77 ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A lisp that compiles to Lua"; longDescription = "Get your parens on--write macros and homoiconic code on the Lua runtime!"; }; @@ -882,7 +882,7 @@ final: prev: { meta = { homepage = "https://github.com/j-hui/fidget.nvim"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Extensible UI for Neovim notifications and LSP progress messages."; longDescription = '' Fidget is an unintrusive window in the corner of your editor that manages its own lifetime. @@ -959,7 +959,7 @@ final: prev: { meta = { homepage = "https://github.com/alerque/fluent-lua"; maintainers = with lib.maintainers; [ alerque ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Lua implementation of Project Fluent"; longDescription = '' A Lua port of Project Fluent, a localization paradigm designed to unleash @@ -993,7 +993,7 @@ final: prev: { meta = { homepage = "https://github.com/aikooo7/funnyfiles.nvim"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "This plugin is a way of creating/deleting files/folders without needing to open a file explorer."; }; } @@ -1024,7 +1024,7 @@ final: prev: { meta = { homepage = "https://github.com/ibhagwan/fzf-lua"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "AGPL-3.0"; + license = lib.licenses.agpl3Only; description = "Improved fzf.vim written in lua"; }; } @@ -1055,7 +1055,7 @@ final: prev: { meta = { homepage = "https://github.com/swarn/fzy-lua"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A lua implementation of the fzy fuzzy matching algorithm"; longDescription = '' A Lua port of fzy's fuzzy string matching algorithm. @@ -1090,7 +1090,7 @@ final: prev: { meta = { homepage = "https://github.com/lewis6991/gitsigns.nvim"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Git integration for buffers"; }; } @@ -1121,7 +1121,7 @@ final: prev: { meta = { homepage = "https://github.com/MagicDuck/grug-far.nvim"; maintainers = with lib.maintainers; [ teto ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Find And Replace plugin for neovim"; }; } @@ -1152,7 +1152,7 @@ final: prev: { meta = { homepage = "https://github.com/mrcjkb/haskell-tools.nvim"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "GPL-2.0"; + license = lib.licenses.gpl2Only; description = " 🦥 Supercharge your Haskell experience in neovim!"; longDescription = '' This plugin automatically configures the haskell-language-server builtin LSP client @@ -1207,7 +1207,7 @@ final: prev: { meta = { homepage = "https://github.com/daurnimator/lua-http"; maintainers = with lib.maintainers; [ vcunat ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "HTTP library for Lua"; }; } @@ -1236,7 +1236,7 @@ final: prev: { meta = { homepage = "https://github.com/kikito/inspect.lua"; - license.fullName = "MIT "; + license = lib.licenses.mit; description = "Lua table visualizer, ideal for debugging"; longDescription = '' inspect will print out your lua tables nicely so you can debug your programs quickly. It sorts keys by type and name and handles recursive tables properly. @@ -1271,7 +1271,7 @@ final: prev: { meta = { homepage = "https://github.com/kmarius/jsregexp"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "javascript (ECMA19) regular expressions for lua"; longDescription = '' Provides ECMAScript regular expressions for Lua 5.1, 5.2, 5.3, 5.4 and LuaJit. Uses libregexp from Fabrice Bellard's QuickJS. @@ -1343,7 +1343,7 @@ final: prev: { meta = { homepage = "http://lunarmodules.github.io/ldoc"; - license.fullName = "MIT "; + license = lib.licenses.mit; description = "A Lua Documentation Tool"; longDescription = '' LDoc is a LuaDoc-compatible documentation generator which can also @@ -1441,7 +1441,7 @@ final: prev: { meta = { homepage = "http://www.myriabit.com/ljsyscall/"; maintainers = with lib.maintainers; [ lblasc ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "LuaJIT Linux syscall FFI"; }; } @@ -1486,7 +1486,7 @@ final: prev: { meta = { homepage = "https://github.com/jeffzi/llscheck"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Human-friendly Lua code analysis powered by Lua Language Server"; longDescription = '' LLSCheck runs Lua Language Server diagnostics and formats results for humans. @@ -1583,7 +1583,7 @@ final: prev: { meta = { homepage = "https://github.com/leafo/loadkit"; maintainers = with lib.maintainers; [ alerque ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Loadkit allows you to load arbitrary files within the Lua package path"; longDescription = '' Loadkit lets you register new file extension handlers that can be opened @@ -1655,7 +1655,7 @@ final: prev: { meta = { homepage = "https://github.com/daurnimator/lpeg_patterns/archive/v0.5.zip"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "a collection of LPEG patterns"; }; } @@ -1868,7 +1868,7 @@ final: prev: { meta = { homepage = "https://linrongbin16.github.io/lsp-progress.nvim/"; maintainers = with lib.maintainers; [ gepbird ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A performant lsp progress status for Neovim."; }; } @@ -1899,7 +1899,7 @@ final: prev: { meta = { homepage = "http://lua.sqlite.org/"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A binding for Lua to the SQLite3 database library"; longDescription = '' lsqlite3 is a thin wrapper around the public domain SQLite3 database engine. SQLite3 is @@ -1935,7 +1935,7 @@ final: prev: { meta = { homepage = "https://github.com/euclidianAce/ltreesitter"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Treesitter bindings to Lua"; longDescription = "Standalone Lua bindings to the Treesitter api (with full type definitions for Teal)."; }; @@ -1965,7 +1965,7 @@ final: prev: { meta = { homepage = "https://github.com/FourierTransformer/ltreesitter-ts"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Treesitter parsing library bindings for Lua"; longDescription = "This combines [ltreesitter](https://github.com/EuclidianAce/ltreesitter) and the [tree-sitter](https://github.com/tree-sitter/tree-sitter) library together to have an easy LuaRocks based install for tree sitter parsing. There are no other enhancements to either library. It can be imported as just `ltreesitter`."; }; @@ -1998,7 +1998,7 @@ final: prev: { meta = { homepage = "http://www.kyne.com.au/~mark/software/lua-cjson.php"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A fast JSON encoding/parsing module"; longDescription = '' The Lua CJSON module provides JSON support for Lua. It features: @@ -2038,7 +2038,7 @@ final: prev: { meta = { homepage = "http://github.com/antirez/lua-cmsgpack"; - license.fullName = "Two-clause BSD"; + license = lib.licenses.bsd2; description = "MessagePack C implementation and bindings for Lua 5.1/5.2/5.3"; }; } @@ -2176,7 +2176,7 @@ final: prev: { meta = { homepage = "https://github.com/Alloyed/lua-lsp"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A Language Server implementation for lua, the language"; longDescription = '' A Language Server for Lua code, written in Lua. @@ -2254,7 +2254,7 @@ final: prev: { meta = { homepage = "https://github.com/starwing/lua-protobuf"; maintainers = with lib.maintainers; [ lockejan ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "protobuf data support for Lua"; longDescription = '' This project offers a simple C library for basic protobuf wire format encode/decode. @@ -2289,7 +2289,7 @@ final: prev: { meta = { homepage = "https://github.com/ledgetech/lua-resty-http"; - license.fullName = "2-clause BSD"; + license = lib.licenses.bsd2; description = "Lua HTTP client cosocket driver for OpenResty / ngx_lua."; }; } @@ -2323,7 +2323,7 @@ final: prev: { meta = { homepage = "https://github.com/cdbattags/lua-resty-jwt"; - license.fullName = "Apache License Version 2"; + license = lib.licenses.asl20; description = "JWT for ngx_lua and LuaJIT."; longDescription = '' This library requires an nginx build @@ -2369,7 +2369,7 @@ final: prev: { meta = { homepage = "https://github.com/zmartzone/lua-resty-openidc"; - license.fullName = "Apache 2.0"; + license = lib.licenses.asl20; description = "A library for NGINX implementing the OpenID Connect Relying Party (RP) and the OAuth 2.0 Resource Server (RS) functionality"; longDescription = '' lua-resty-openidc is a library for NGINX implementing the OpenID Connect Relying Party (RP) and the OAuth 2.0 Resource Server (RS) functionality. @@ -2480,7 +2480,7 @@ final: prev: { meta = { homepage = "https://github.com/lblasc/lua-rtoml"; maintainers = with lib.maintainers; [ lblasc ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Lua bindings for the Rust toml crate."; }; } @@ -2508,7 +2508,7 @@ final: prev: { meta = { homepage = "https://github.com/xlq/lua-subprocess"; maintainers = with lib.maintainers; [ scoder12 ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A Lua module written in C that allows you to create child processes and communicate with them."; longDescription = "A Lua module written in C that allows you to create child processes and communicate with them. The API is based on the Python subprocess module, but is not yet as complete."; }; @@ -2564,7 +2564,7 @@ final: prev: { meta = { homepage = "https://github.com/jonstoler/lua-toml"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "toml decoder/encoder for Lua"; longDescription = "TOML 0.4.0 compliant Lua library with tests. Serializes TOML into a Lua table, and serlaizes Lua tables into TOML."; }; @@ -2596,7 +2596,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-neorg/lua-utils.nvim"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A set of utility functions for Neovim plugins."; longDescription = '' This repository contains a small set of nicities for performing repetitive tasks within Neovim. @@ -2667,7 +2667,7 @@ final: prev: { meta = { homepage = "https://github.com/brimworks/lua-zlib"; maintainers = with lib.maintainers; [ koral ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Simple streaming interface to zlib for Lua."; longDescription = '' Simple streaming interface to zlib for Lua. @@ -2705,7 +2705,7 @@ final: prev: { meta = { homepage = "https://github.com/lunarmodules/lua_cliargs.git"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A command-line argument parsing module for Lua"; longDescription = '' This module adds support for accepting CLI arguments easily using multiple @@ -2781,7 +2781,7 @@ final: prev: { meta = { homepage = "https://github.com/lunarmodules/luacheck"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A static analyzer and a linter for Lua"; longDescription = '' Luacheck is a command-line tool for linting and static analysis of Lua @@ -2820,7 +2820,7 @@ final: prev: { meta = { homepage = "https://lunarmodules.github.ioluacov/"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Coverage analysis tool for Lua scripts"; longDescription = '' LuaCov is a simple coverage analysis tool for Lua scripts. @@ -2861,7 +2861,7 @@ final: prev: { meta = { homepage = "https://github.com/daurnimator/luacov-reporter-lcov"; maintainers = with lib.maintainers; [ ulysseszhan ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A luacov reporter for use with lcov"; }; } @@ -3074,7 +3074,7 @@ final: prev: { meta = { homepage = "http://siffiejoe.github.io/lua-luaepnf/"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Extended PEG Notation Format (easy grammars for LPeg)"; longDescription = '' This Lua module provides sugar for writing grammars/parsers using @@ -3107,7 +3107,7 @@ final: prev: { meta = { homepage = "https://github.com/harningt/luaevent"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "libevent binding for Lua"; longDescription = '' This is a binding of libevent to Lua @@ -3255,7 +3255,7 @@ final: prev: { meta = { homepage = "https://lualdap.github.io/lualdap/"; maintainers = with lib.maintainers; [ aanderse ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A Lua interface to the OpenLDAP library"; longDescription = '' LuaLDAP is a simple interface from Lua to an LDAP client, in @@ -3294,7 +3294,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-lualine/lualine.nvim"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A blazing fast and easy to configure neovim statusline plugin written in pure lua."; }; } @@ -3523,7 +3523,7 @@ final: prev: { mrcjkb teto ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A package manager for Lua modules."; longDescription = '' LuaRocks allows you to install Lua modules as self-contained @@ -3562,7 +3562,7 @@ final: prev: { meta = { homepage = "https://github.com/mlua-rs/luarocks-build-rust-mlua"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A LuaRocks build backend for Lua modules written in Rust using mlua"; }; } @@ -3594,7 +3594,7 @@ final: prev: { meta = { homepage = "https://github.com/FourierTransformer/luarocks-build-tree-sitter-cli"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A LuaRocks build backend to install the tree-sitter CLI"; longDescription = "luarocks-build-tree-sitter-cli is a LuaRocks build.type that allows installing tree-sitter CLI binaries via LuaRocks directly. It works similarly to the npm install option for tree-sitter, but uses LuaRocks instead."; }; @@ -3628,7 +3628,7 @@ final: prev: { meta = { homepage = "https://github.com/lumen-oss/luarocks-build-treesitter-parser"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A luarocks build backend for tree-sitter parsers."; }; } @@ -3661,7 +3661,7 @@ final: prev: { meta = { homepage = "https://github.com/lumen-oss/luarocks-build-treesitter-parser-cpp"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A luarocks build backend for tree-sitter parsers written in C++."; }; } @@ -3696,7 +3696,7 @@ final: prev: { meta = { homepage = "https://github.com/brunoos/luasec/wiki"; maintainers = with lib.maintainers; [ flosse ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A binding for OpenSSL library to provide TLS/SSL communication over LuaSocket."; longDescription = "This version delegates to LuaSocket the TCP connection establishment between the client and server. Then LuaSec uses this connection to start a secure TLS/SSL session."; }; @@ -3729,7 +3729,7 @@ final: prev: { meta = { homepage = "https://github.com/L3MON4D3/LuaSnip"; - license.fullName = "Apache-2.0"; + license = lib.licenses.asl20; description = "Snippet Engine for Neovim written in Lua."; }; } @@ -3761,7 +3761,7 @@ final: prev: { meta = { homepage = "https://github.com/lunarmodules/luasocket"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Network support for the Lua language"; longDescription = '' LuaSocket is a Lua extension library composed of two parts: a set of C @@ -3838,7 +3838,7 @@ final: prev: { meta = { homepage = "https://lunarmodules.github.io/busted/"; - license.fullName = "MIT "; + license = lib.licenses.mit; description = "Lua assertions extension"; longDescription = '' Adds a framework that allows registering new assertions @@ -3874,7 +3874,7 @@ final: prev: { meta = { homepage = "https://github.com/lunarmodules/luasystem"; - license.fullName = "MIT "; + license = lib.licenses.mit; description = "Platform independent system calls for Lua."; longDescription = '' Adds a Lua API for making platform independent system calls. @@ -3909,7 +3909,7 @@ final: prev: { meta = { homepage = "https://github.com/f4z3r/luatext/tree/main"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A small library to print colored text"; longDescription = '' A libary providing an abstaction over ANSI escape codes @@ -3944,7 +3944,7 @@ final: prev: { meta = { homepage = "https://www.zash.se/luaunbound.html"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A binding to libunbound"; }; } @@ -4024,7 +4024,7 @@ final: prev: { meta = { homepage = "http://github.com/starwing/luautf8"; maintainers = with lib.maintainers; [ pstn ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A UTF-8 support module for Lua"; longDescription = '' This module adds UTF-8 support to Lua. It's compatible with Lua "string" module. @@ -4060,7 +4060,7 @@ final: prev: { meta = { homepage = "https://github.com/mpeterv/luazip"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Library for reading files inside zip files"; longDescription = '' LuaZip is a lightweight Lua extension library used to read files @@ -4099,7 +4099,7 @@ final: prev: { meta = { homepage = "https://github.com/svermeulen/lusc_luv"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Structured Async/Concurrency for Lua using Luv"; longDescription = "Structured Async/Concurrency for Lua using Luv"; }; @@ -4235,7 +4235,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-neorocks/lz.n"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "GPL-2+"; + license = lib.licenses.gpl2Plus; description = "🦥 A dead simple lazy-loading Lua library for Neovim plugins."; longDescription = '' It is intended to be used @@ -4270,7 +4270,7 @@ final: prev: { meta = { homepage = "https://github.com/BirdeeHub/lze"; maintainers = with lib.maintainers; [ birdee ]; - license.fullName = "GPL-2+"; + license = lib.licenses.gpl2Plus; description = "A lazy-loading library for neovim, inspired by, but different from, nvim-neorocks/lz.n"; longDescription = '' It is intended to be used @@ -4305,7 +4305,7 @@ final: prev: { meta = { homepage = "https://github.com/BirdeeHub/lzextras"; maintainers = with lib.maintainers; [ birdee ]; - license.fullName = "GPL-2+"; + license = lib.licenses.gpl2Plus; description = "A collection of utilities and handlers for BirdeeHub/lze"; longDescription = "A collection of extensions for BirdeeHub/lze"; }; @@ -4339,7 +4339,7 @@ final: prev: { meta = { homepage = "https://github.com/horriblename/lzn-auto-require"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "GPL-2.0"; + license = lib.licenses.gpl2Only; description = "Auto load optional plugins via lua modules with lz.n"; }; } @@ -4372,7 +4372,7 @@ final: prev: { meta = { homepage = "https://github.com/leafo/magick.git"; maintainers = with lib.maintainers; [ donovanglover ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Lua bindings to ImageMagick & GraphicsMagick for LuaJIT using FFI"; }; } @@ -4465,7 +4465,7 @@ final: prev: { meta = { homepage = "http://olivinelabs.com/mediator_lua/"; - license.fullName = "MIT "; + license = lib.licenses.mit; description = "Event handling through channels"; longDescription = '' mediator_lua allows you to subscribe and publish to a central object so @@ -4501,7 +4501,7 @@ final: prev: { meta = { homepage = "https://github.com/ColinKennedy/mega.cmdparse"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A Neovim command-mode parser. Similar to Python's argparse module"; }; } @@ -4528,7 +4528,7 @@ final: prev: { meta = { homepage = "https://github.com/ColinKennedy/mega.logging"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A Neovim plugin for logging to Neovim or to disk"; }; } @@ -4557,7 +4557,7 @@ final: prev: { meta = { homepage = "https://github.com/kikito/middleclass"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A simple OOP library for Lua"; longDescription = "It has inheritance, metamethods (operators), class variables and weak mixin support"; }; @@ -4626,7 +4626,7 @@ final: prev: { meta = { homepage = "https://github.com/echasnovski/mini.test"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Test neovim plugins. Part of the mini.nvim suite."; }; } @@ -4662,7 +4662,7 @@ final: prev: { meta = { homepage = "http://moonscript.org"; maintainers = with lib.maintainers; [ arobyn ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A programmer friendly language that compiles to Lua"; longDescription = "A programmer friendly language that compiles to Lua"; }; @@ -4686,7 +4686,7 @@ final: prev: { meta = { homepage = "https://github.com/libmpack/libmpack-lua"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Lua binding to libmpack"; }; } @@ -4731,7 +4731,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-neorg/neorg"; maintainers = with lib.maintainers; [ GaetanLepage ]; - license.fullName = "GPL-3.0"; + license = lib.licenses.gpl3Only; description = "Modernity meets insane extensibility. The future of organizing your life in Neovim."; }; } @@ -4763,7 +4763,7 @@ final: prev: { meta = { homepage = "https://github.com/benlubas/neorg-interim-ls"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Temporarily providing a limited set of LSP features to neorg"; }; } @@ -4800,7 +4800,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-neotest/neotest"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "An extensible framework for interacting with tests within NeoVim."; }; } @@ -4833,7 +4833,7 @@ final: prev: { meta = { homepage = "https://github.com/knyar/nginx-lua-prometheus"; maintainers = with lib.maintainers; [ ulysseszhan ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Prometheus metric library for Nginx"; }; } @@ -4864,7 +4864,7 @@ final: prev: { meta = { homepage = "https://github.com/mfussenegger/nlua"; maintainers = with lib.maintainers; [ teto ]; - license.fullName = "GPL-3.0"; + license = lib.licenses.gpl3Only; description = "Neovim as Lua interpreter"; longDescription = '' Neovim embeds a Lua interpreter, but it doesn't expose the same command line interface as plain lua. @@ -4898,7 +4898,7 @@ final: prev: { meta = { homepage = "https://github.com/MunifTanjim/nui.nvim"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "UI Component Library for Neovim."; longDescription = '' UI Component Library for Neovim. @@ -4929,7 +4929,7 @@ final: prev: { meta = { homepage = "https://github.com/hrsh7th/nvim-cmp"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A completion plugin for neovim"; longDescription = '' A completion engine plugin for neovim written in Lua. Completion sources are installed from external repositories and "sourced". @@ -4963,7 +4963,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-neotest/nvim-nio"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A library for asynchronous IO in Neovim"; }; } @@ -4993,7 +4993,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-tree/nvim-web-devicons"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Nerd Font icons for neovim"; longDescription = '' Coloured Nerd Font file icons for neovim. @@ -5029,7 +5029,7 @@ final: prev: { meta = { homepage = "https://github.com/stevearc/oil.nvim"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Neovim file explorer: edit your filesystem like a buffer"; }; } @@ -5059,7 +5059,7 @@ final: prev: { meta = { homepage = "https://nvim-orgmode.github.io"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Orgmode clone written in Lua for Neovim 0.11.0+."; }; } @@ -5096,7 +5096,7 @@ final: prev: { meta = { homepage = "https://github.com/jghauser/papis.nvim"; maintainers = with lib.maintainers; [ GaetanLepage ]; - license.fullName = "GPL-3.0"; + license = lib.licenses.gpl3Only; description = "Manage your bibliography from within your favourite editor"; longDescription = '' Papis.nvim is a neovim companion plugin for the bibliography manager papis. @@ -5132,7 +5132,7 @@ final: prev: { meta = { homepage = "https://pysan3.github.io/pathlib.nvim/"; - license.fullName = "MPL-2.0"; + license = lib.licenses.mpl20; description = "OS Independent, ultimate solution to path handling in neovim."; longDescription = '' This plugin aims to decrease the difficulties of path management across mutliple OSs in neovim. @@ -5233,7 +5233,7 @@ final: prev: { meta = { homepage = "https://github.com/daurnimator/lua-psl"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Bindings to libpsl, a C library that handles the Public Suffix List (PSL)"; longDescription = '' Bindings to libpsl, a C library that handles the Public Suffix List (PSL). @@ -5279,7 +5279,7 @@ final: prev: { meta = { homepage = "https://github.com/xpol/lua-rapidjson"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Json module based on the very fast RapidJSON."; longDescription = "A json module for Lua 5.1/5.2/5.3 and LuaJIT based on the very fast RapidJSON."; }; @@ -5323,7 +5323,7 @@ final: prev: { meta = { homepage = "https://github.com/rest-nvim/rest.nvim"; maintainers = with lib.maintainers; [ teto ]; - license.fullName = "GPL-3.0"; + license = lib.licenses.gpl3Only; description = "A very fast, powerful, extensible and asynchronous Neovim HTTP client written in Lua."; longDescription = '' A very fast, powerful, extensible and asynchronous Neovim HTTP client written in Lua. @@ -5359,7 +5359,7 @@ final: prev: { meta = { homepage = "https://github.com/lumen-oss/rocks-config.nvim"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "GPL-3.0"; + license = lib.licenses.gpl3Only; description = "Allow rocks.nvim to help configure your plugins."; longDescription = '' rocks-config.nvim is a rocks.nvim utility module for helping to configure @@ -5405,7 +5405,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-neorocks/rocks-dev.nvim"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "GPL-3.0"; + license = lib.licenses.gpl3Only; description = "A swiss-army knife for testing and developing rocks.nvim modules."; longDescription = '' rocks-dev.nvim is a rocks.nvim utility module, serving as a swiss army knife @@ -5447,7 +5447,7 @@ final: prev: { meta = { homepage = "https://github.com/lumen-oss/rocks-git.nvim"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "GPL-3.0"; + license = lib.licenses.gpl3Only; description = "Use rocks.nvim to install plugins from git!"; }; } @@ -5492,7 +5492,7 @@ final: prev: { meta = { homepage = "https://github.com/lumen-oss/rocks.nvim"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "GPL-3.0"; + license = lib.licenses.gpl3Only; description = "🌒 Neovim plugin management inspired by Cargo, powered by luarocks"; longDescription = '' rocks.nvim is an all in one solution for installing and managing @@ -5537,7 +5537,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-neorocks/rtp.nvim"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "GPL-3.0"; + license = lib.licenses.gpl3Only; description = "Source plugin and ftdetect directories on the Neovim runtimepath."; }; } @@ -5568,7 +5568,7 @@ final: prev: { meta = { homepage = "https://github.com/mrcjkb/rustaceanvim/archive/refs/tags/v9.0.4.zip"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "GPL-2.0-only"; + license = lib.licenses.gpl2Only; description = "🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim"; }; } @@ -5600,7 +5600,7 @@ final: prev: { meta = { homepage = "https://lunarmodules.github.io/say"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Lua string hashing/indexing library"; longDescription = '' Useful for internationalization. @@ -5637,7 +5637,7 @@ final: prev: { meta = { homepage = "https://github.com/pkulchenko/serpent"; maintainers = with lib.maintainers; [ lockejan ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Lua serializer and pretty printer"; }; } @@ -5681,7 +5681,7 @@ final: prev: { meta = { homepage = "https://github.com/f4z3r/sofa"; maintainers = with lib.maintainers; [ f4z3r ]; - license.fullName = "MIT "; + license = lib.licenses.mit; description = "A command execution engine powered by rofi."; longDescription = '' A tool to organise and execute your commands, so convenient you can @@ -5717,7 +5717,7 @@ final: prev: { meta = { homepage = "https://github.com/tami5/sqlite.lua"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "SQLite/LuaJIT binding and a highly opinionated wrapper for storing, retrieving, caching, and persisting [SQLite] databases"; }; } @@ -5872,7 +5872,7 @@ final: prev: { meta = { homepage = "https://github.com/teal-language/teal-language-server"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A language server for the Teal language"; longDescription = "A language server for the Teal language"; }; @@ -5905,7 +5905,7 @@ final: prev: { meta = { homepage = "https://github.com/mrcjkb/telescope-manix"; - license.fullName = "GPL-2.0"; + license = lib.licenses.gpl2Only; description = "A telescope.nvim extension for Manix - A fast documentation searcher for Nix"; longDescription = '' Manix is a fast documentation searcher for nix. @@ -5942,7 +5942,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-telescope/telescope.nvim"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Find, Filter, Preview, Pick. All lua, all the time."; longDescription = '' A highly extendable fuzzy finder over lists. @@ -5983,7 +5983,7 @@ final: prev: { meta = { homepage = "https://github.com/gptlang/lua-tiktoken"; maintainers = with lib.maintainers; [ natsukium ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "An experimental port of OpenAI's Tokenizer to lua"; longDescription = '' The Lua module written in Rust that provides Tiktoken support for Lua. @@ -6023,7 +6023,7 @@ final: prev: { meta = { homepage = "https://github.com/teal-language/tl"; maintainers = with lib.maintainers; [ mephistophiles ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Teal, a typed dialect of Lua"; }; } @@ -6054,7 +6054,7 @@ final: prev: { meta = { homepage = "https://github.com/BirdeeHub/tomlua"; maintainers = [ lib.maintainers.birdee ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Speedy toml parsing for lua, implemented in C"; longDescription = '' Speedy toml parsing for lua, implemented in C @@ -6090,7 +6090,7 @@ final: prev: { meta = { homepage = "https://github.com/lumen-oss/toml-edit.lua"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "TOML Parser + Formatting and Comment-Preserving Editor"; longDescription = '' `toml-edit` is a library to parse and edit `.toml` files as if they were lua tables, all while preserving formatting and comments. @@ -6125,7 +6125,7 @@ final: prev: { meta = { homepage = "https://github.com/FourierTransformer/tree-sitter-cli"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Install tree-sitter CLI binaries"; longDescription = "An option to install the tree-sitter CLI via LuaRocks"; }; @@ -6189,7 +6189,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-neorg/tree-sitter-norg"; maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "The official tree-sitter parser for Norg documents."; }; } @@ -6219,7 +6219,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-neorg/tree-sitter-norg-meta"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "Treesitter parser for Norg's `@document.meta` blocks."; }; } @@ -6249,7 +6249,7 @@ final: prev: { meta = { homepage = "https://github.com/nvim-orgmode/tree-sitter-org"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A fork of tree-sitter-org, for use with the orgmode Neovim plugin"; }; } @@ -6313,7 +6313,7 @@ final: prev: { meta = { homepage = "http://github.com/starwing/luautf8"; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "A UTF-8 support module for Lua"; longDescription = '' This module adds UTF-8 support to Lua. It's compatible with Lua "string" module. @@ -6383,7 +6383,7 @@ final: prev: { meta = { homepage = "https://github.com/notomo/vusted"; - license.fullName = "MIT "; + license = lib.licenses.mit; description = "`busted` wrapper for testing neovim plugin"; }; } @@ -6416,7 +6416,7 @@ final: prev: { meta = { homepage = "http://manoelcampos.github.io/xml2lua/"; maintainers = with lib.maintainers; [ teto ]; - license.fullName = "MIT"; + license = lib.licenses.mit; description = "An XML Parser written entirely in Lua that works for Lua 5.1+"; longDescription = '' Enables parsing a XML string into a Lua Table and