From 6f424e70ba3a206987095f8c6ec88f28e30b51f2 Mon Sep 17 00:00:00 2001
From: Hisham Muhammad <hisham@gobolinux.org>
Date: Mon, 16 Jul 2018 10:07:23 -0300
Subject: write_rockspec: detect ISC license

---
 src/luarocks/cmd/write_rockspec.lua | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/luarocks/cmd/write_rockspec.lua b/src/luarocks/cmd/write_rockspec.lua
index cf9181e6..701b079e 100644
--- a/src/luarocks/cmd/write_rockspec.lua
+++ b/src/luarocks/cmd/write_rockspec.lua
@@ -158,8 +158,13 @@ local function detect_description()
    return summary, detailed
 end
 
-local function detect_mit_license(data)
-   local strip_copyright = (data:gsub("Copyright [^\n]*\n", ""))
+local licenses = {
+   [78656] = "MIT",
+   [49311] = "ISC",
+}
+
+local function detect_license(data)
+   local strip_copyright = (data:gsub("^Copyright [^\n]*\n", ""))
    local sum = 0
    for i = 1, #strip_copyright do
       local num = string.byte(strip_copyright:sub(i,i))
@@ -167,7 +172,7 @@ local function detect_mit_license(data)
          sum = sum + num
       end
    end
-   return sum == 78656
+   return licenses[sum]
 end
 
 local function check_license()
@@ -175,8 +180,9 @@ local function check_license()
    if not fd then return nil end
    local data = fd:read("*a")
    fd:close()
-   if detect_mit_license(data) then
-      return "MIT", data
+   local license = detect_license(data)
+   if license then
+      return license, data
    end
    return nil, data
 end
-- 
cgit v1.2.3-55-g6feb