diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2018-07-01 14:46:04 -0300 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2018-07-01 21:32:39 -0300 |
| commit | 3b8d91a9bf9ddc8da1f104d3c3aa20241670e17b (patch) | |
| tree | 0ec8a92c5b69b01f9a46aa407528dd0d162124fa /src | |
| parent | a5550c50a3ad8d4eb2dbdc27048fcf90d2acd1d8 (diff) | |
| download | luarocks-3b8d91a9bf9ddc8da1f104d3c3aa20241670e17b.tar.gz luarocks-3b8d91a9bf9ddc8da1f104d3c3aa20241670e17b.tar.bz2 luarocks-3b8d91a9bf9ddc8da1f104d3c3aa20241670e17b.zip | |
build, write_rockspec: autodetect scripts to install as well
Diffstat (limited to 'src')
| -rw-r--r-- | src/luarocks/build/builtin.lua | 25 | ||||
| -rw-r--r-- | src/luarocks/cmd/write_rockspec.lua | 2 |
2 files changed, 20 insertions, 7 deletions
diff --git a/src/luarocks/build/builtin.lua b/src/luarocks/build/builtin.lua index 7050cf8b..012bc59a 100644 --- a/src/luarocks/build/builtin.lua +++ b/src/luarocks/build/builtin.lua | |||
| @@ -75,6 +75,7 @@ do | |||
| 75 | 75 | ||
| 76 | function builtin.autodetect_modules(libs, incdirs, libdirs) | 76 | function builtin.autodetect_modules(libs, incdirs, libdirs) |
| 77 | local modules = {} | 77 | local modules = {} |
| 78 | local install | ||
| 78 | local copy_directories | 79 | local copy_directories |
| 79 | 80 | ||
| 80 | local prefix = "" | 81 | local prefix = "" |
| @@ -104,6 +105,19 @@ do | |||
| 104 | end | 105 | end |
| 105 | end | 106 | end |
| 106 | 107 | ||
| 108 | if prefix ~= "" then | ||
| 109 | fs.pop_dir() | ||
| 110 | end | ||
| 111 | |||
| 112 | local bindir = (fs.is_dir("src/bin") and "src/bin") | ||
| 113 | or (fs.is_dir("bin") and "bin") | ||
| 114 | if bindir then | ||
| 115 | install = { bin = {} } | ||
| 116 | for _, file in ipairs(fs.list_dir(bindir)) do | ||
| 117 | table.insert(install.bin, dir.path(bindir, file)) | ||
| 118 | end | ||
| 119 | end | ||
| 120 | |||
| 107 | for _, directory in ipairs({ "doc", "docs", "samples", "tests" }) do | 121 | for _, directory in ipairs({ "doc", "docs", "samples", "tests" }) do |
| 108 | if fs.is_dir(directory) then | 122 | if fs.is_dir(directory) then |
| 109 | if not copy_directories then | 123 | if not copy_directories then |
| @@ -113,11 +127,7 @@ do | |||
| 113 | end | 127 | end |
| 114 | end | 128 | end |
| 115 | 129 | ||
| 116 | if prefix ~= "" then | 130 | return modules, install, copy_directories |
| 117 | fs.pop_dir() | ||
| 118 | end | ||
| 119 | |||
| 120 | return modules, copy_directories | ||
| 121 | end | 131 | end |
| 122 | end | 132 | end |
| 123 | 133 | ||
| @@ -254,7 +264,10 @@ function builtin.run(rockspec) | |||
| 254 | if not build.modules then | 264 | if not build.modules then |
| 255 | if rockspec:format_is_at_least("3.0") then | 265 | if rockspec:format_is_at_least("3.0") then |
| 256 | local libs, incdirs, libdirs = autoextract_libs(rockspec.external_dependencies, rockspec.variables) | 266 | local libs, incdirs, libdirs = autoextract_libs(rockspec.external_dependencies, rockspec.variables) |
| 257 | build.modules = builtin.autodetect_modules(libs, incdirs, libdirs) | 267 | local install, copy_directories |
| 268 | build.modules, install, copy_directories = builtin.autodetect_modules(libs, incdirs, libdirs) | ||
| 269 | build.install = build.install or install | ||
| 270 | build.copy_directories = build.copy_directories or copy_directories | ||
| 258 | else | 271 | else |
| 259 | return nil, "Missing build.modules table" | 272 | return nil, "Missing build.modules table" |
| 260 | end | 273 | end |
diff --git a/src/luarocks/cmd/write_rockspec.lua b/src/luarocks/cmd/write_rockspec.lua index b4007e85..cc218bde 100644 --- a/src/luarocks/cmd/write_rockspec.lua +++ b/src/luarocks/cmd/write_rockspec.lua | |||
| @@ -185,7 +185,7 @@ local function fill_as_builtin(rockspec, libs) | |||
| 185 | end | 185 | end |
| 186 | end | 186 | end |
| 187 | 187 | ||
| 188 | rockspec.build.modules, rockspec.build.copy_directories = builtin.autodetect_modules(libs, incdirs, libdirs) | 188 | rockspec.build.modules, rockspec.build.install, rockspec.build.copy_directories = builtin.autodetect_modules(libs, incdirs, libdirs) |
| 189 | end | 189 | end |
| 190 | 190 | ||
| 191 | local function rockspec_cleanup(rockspec) | 191 | local function rockspec_cleanup(rockspec) |
