Module luarocks.build
Module implementing the LuaRocks "build" command. Builds a rock, compiling its C parts if any.
Functions
apply_patches (rockspec) | Applies patches inlined in the build.patches section and extracts files inlined in the build.extra_files section of a rockspec. |
build_rock (rock_file, need_to_fetch) | Build and install a rock. |
build_rockspec (rockspec_file, need_to_fetch, minimal_mode) | Build and install a rock given a rockspec. |
extract_from_rockspec (files) | Write to the current directory the contents of a table, where each key is a file name and its value is the file content. |
install_files (files, location) | Install files to a given location. |
run (..., name, version) | Driver function for "build" command. |
Functions
- apply_patches (rockspec)
-
Applies patches inlined in the build.patches section and extracts files inlined in the build.extra_files section of a rockspec.
Parameters
- rockspec: table: A rockspec table.
Return value:
boolean or (nil, string): True if succeeded or nil and an error message. - build_rock (rock_file, need_to_fetch)
-
Build and install a rock.
Parameters
- rock_file: string: local or remote filename of a rock.
- need_to_fetch: boolean: true if sources need to be fetched, false if the rockspec was obtained from inside a source rock.
Return value:
boolean or (nil, string, [string]): True if build was successful, or false and an error message and an optional error code. - build_rockspec (rockspec_file, need_to_fetch, minimal_mode)
-
Build and install a rock given a rockspec.
Parameters
- rockspec_file: string: local or remote filename of a rockspec.
- need_to_fetch: boolean: true if sources need to be fetched, false if the rockspec was obtained from inside a source rock.
- minimal_mode:
Return value:
boolean or (nil, string, [string]): True if succeeded or nil and an error message followed by an error code. - extract_from_rockspec (files)
-
Write to the current directory the contents of a table, where each key is a file name and its value is the file content.
Parameters
- files: table: The table of files to be written.
- install_files (files, location)
-
Install files to a given location. Takes a table where the array part is a list of filenames to be copied. In the hash part, other keys are identifiers in Lua module format, to indicate which subdirectory the file should be copied to. For example, install_files({["foo.bar"] = "src/bar.lua"}, "boo") will copy src/bar.lua to boo/foo.
Parameters
- files: table or nil: A table containing a list of files to copy in the format described above. If nil is passed, this function is a no-op. Directories should be delimited by forward slashes as in internet URLs.
- location: string: The base directory files should be copied to.
Return value:
boolean or (nil, string): True if succeeded or nil and an error message. - run (..., name, version)
-
Driver function for "build" command.
Parameters
- ...:
- name: string: A local or remote rockspec or rock file. If a package name is given, forwards the request to "search" and, if returned a result, installs the matching rock.
- version: string: When passing a package name, a version number may also be given.
Return value:
boolean or (nil, string): True if build was successful; nil and an error message otherwise.