update-luarocks: can install for a different lua

the recent luarocks can install for a different interpreter than the one
running luarocks.
Due to the way the update is done on nix, it seems more practical to use
this feature than running the script with different luarocks-nix ?
This commit is contained in:
Matthieu Coudron 2019-06-04 18:48:44 +09:00
parent e967121053
commit 6402fbb6b8

View File

@ -76,16 +76,16 @@ FOOTER="
function convert_pkg () { function convert_pkg () {
nix_pkg_name="$1" nix_pkg_name="$1"
lua_pkg_name="$2" lua_pkg_name="$2"
server="${3:+--server=$3}"
version="${4:-}"
server="${3:+--only-server=$3}" server="${3:+--only-server=$3}"
pkg_version="${4:-}"
lua_version="${5:+--lua-dir=$(nix path-info nixpkgs.$5)/bin}"
echo "looking at $lua_pkg_name (version $version) from server [$server]" >&2 echo "looking at $lua_pkg_name (version $pkg_version) from server [$server]" >&2
cmd="luarocks nix $server $lua_pkg_name $version" cmd="luarocks nix $server $lua_version $lua_pkg_name $pkg_version"
echo "Running $cmd" >&2
drv="$nix_pkg_name = $($cmd)" drv="$nix_pkg_name = $($cmd)"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "Failed to convert $pkg" >&2 echo "Failed to convert $pkg" >&2
echo "$drv" >&2
else else
echo "$drv" | tee -a "$TMP_FILE" echo "$drv" | tee -a "$TMP_FILE"
fi fi
@ -95,8 +95,7 @@ function convert_pkg () {
echo "$HEADER" | tee "$TMP_FILE" echo "$HEADER" | tee "$TMP_FILE"
# list of packages with format # list of packages with format
# name,server,version while IFS=, read -r nix_pkg_name lua_pkg_name server pkg_version luaversion
while IFS=, read -r nix_pkg_name lua_pkg_name server version
do do
if [ "${nix_pkg_name:0:1}" == "#" ]; then if [ "${nix_pkg_name:0:1}" == "#" ]; then
echo "Skipping comment ${nix_pkg_name}" >&2 echo "Skipping comment ${nix_pkg_name}" >&2
@ -106,7 +105,7 @@ do
echo "Using nix_name as lua_pkg_name" >&2 echo "Using nix_name as lua_pkg_name" >&2
lua_pkg_name="$nix_pkg_name" lua_pkg_name="$nix_pkg_name"
fi fi
convert_pkg "$nix_pkg_name" "$lua_pkg_name" "$server" "$version" convert_pkg "$nix_pkg_name" "$lua_pkg_name" "$server" "$pkg_version" "$luaversion"
done < "$CSV_FILE" done < "$CSV_FILE"
# close the set # close the set