summaryrefslogtreecommitdiffstats
path: root/maintainers/scripts/update-luarocks-packages
diff options
context:
space:
mode:
authorMatthieu Coudron <mcoudron@hotmail.com>2021-08-16 17:44:40 +0200
committerMatthieu Coudron <mcoudron@hotmail.com>2021-08-31 00:07:28 +0200
commit15e5c924959cc2e8398737b69fbeb7b2082a836a (patch)
tree7c3e9fc65b6a91e47f2361e5fff96dd30f4ef811 /maintainers/scripts/update-luarocks-packages
parent7292ed91df14abc1d9b55322b5d112a9b34af6c7 (diff)
luaPackages: update
Diffstat (limited to 'maintainers/scripts/update-luarocks-packages')
-rwxr-xr-xmaintainers/scripts/update-luarocks-packages50
1 files changed, 39 insertions, 11 deletions
diff --git a/maintainers/scripts/update-luarocks-packages b/maintainers/scripts/update-luarocks-packages
index e0bdfec53bf9..55076f889e99 100755
--- a/maintainers/scripts/update-luarocks-packages
+++ b/maintainers/scripts/update-luarocks-packages
@@ -1,7 +1,6 @@
#!/usr/bin/env nix-shell
#!nix-shell update-luarocks-shell.nix -i python3
-
# format:
# $ nix run nixpkgs.python3Packages.black -c black update.py
# type-check:
@@ -20,7 +19,7 @@ import logging
import textwrap
from multiprocessing.dummy import Pool
-from typing import List, Tuple
+from typing import List, Tuple, Optional
from pathlib import Path
log = logging.getLogger()
@@ -51,10 +50,21 @@ FOOTER="""
@dataclass
class LuaPlugin:
name: str
- version: str
+ '''Name of the plugin, as seen on luarocks.org'''
+ src: str
+ '''address to the git repository'''
+ ref: str
+ '''git reference (branch name/tag)'''
+ version: Optional[str]
+ '''Set it to pin a package '''
server: str
- luaversion: str
- maintainers: str
+ '''luarocks.org registers packages under different manifests.
+ Its value can be 'http://luarocks.org/dev'
+ '''
+ luaversion: Optional[str]
+ '''Attribue of the lua interpreter if a package is available only for a specific lua version'''
+ maintainers: Optional[str]
+ ''' Optional string listing maintainers separated by spaces'''
@property
def normalized_name(self) -> str:
@@ -150,16 +160,33 @@ def generate_pkg_nix(plug: LuaPlugin):
Our cache key associates "p.name-p.version" to its rockspec
'''
log.debug("Generating nix expression for %s", plug.name)
- cmd = [ "luarocks", "nix", plug.name]
+ cmd = [ "luarocks", "nix"]
- if plug.server:
- cmd.append(f"--only-server={plug.server}")
if plug.maintainers:
cmd.append(f"--maintainers={plug.maintainers}")
- if plug.version:
- cmd.append(plug.version)
+ # updates plugin directly from its repository
+ print("server: [%s]" % plug.server)
+ # if plug.server == "src":
+ if plug.src != "":
+ if plug.src is None:
+ msg = "src must be set when 'version' is set to \"src\" for package %s" % plug.name
+ log.error(msg)
+ raise RuntimeError(msg)
+ log.debug("Updating from source %s", plug.src)
+ cmd.append(plug.src)
+ # update the plugin from luarocks
+ else:
+ cmd.append(plug.name)
+ if plug.version and plug.version != "src":
+
+ cmd.append(plug.version)
+
+ #
+ if plug.server != "src" and plug.server:
+ cmd.append(f"--only-server={plug.server}")
+
if plug.luaversion:
with CleanEnvironment():
@@ -170,7 +197,7 @@ def generate_pkg_nix(plug: LuaPlugin):
lua_drv_path=subprocess.check_output(cmd2, text=True).strip()
cmd.append(f"--lua-dir={lua_drv_path}/bin")
- log.debug("running %s", cmd)
+ log.debug("running %s", ' '.join(cmd))
output = subprocess.check_output(cmd, text=True)
return (plug, output)
@@ -192,3 +219,4 @@ if __name__ == "__main__":
main()
+# vim: set ft=python noet fdm=manual fenc=utf-8 ff=unix sts=0 sw=4 ts=4 :