diff options
| author | Herbert Valerio Riedel <hvr@gnu.org> | 2018-02-05 07:36:03 +0100 | 
|---|---|---|
| committer | Herbert Valerio Riedel <hvr@gnu.org> | 2018-02-05 10:05:42 +0100 | 
| commit | beb5a37119e99b8d414ca8f5729e01af6b767e7e (patch) | |
| tree | b485ba2786aefedde22ebe5329ccc6f2abca0c74 | |
| parent | 9618091679cdbbcaac7622c0ff78f90a4fb58d83 (diff) | |
Add `SPDX-License-Identifier` as alised for "license" module header tokens
C.f. SPDX 2.1 - Appendix V
 https://spdx.org/spdx-specification-21-web-version#h.twlc0ztnng3b
    The tag should appear on its own line in the source file, generally as part of a comment.
    SPDX-License-Identifier: <SPDX License Expression>
Cherry-picked from #743
| -rw-r--r-- | CHANGES.md | 3 | ||||
| -rw-r--r-- | haddock-api/src/Haddock/Interface/ParseModuleHeader.hs | 11 | 
2 files changed, 9 insertions, 5 deletions
@@ -28,6 +28,9 @@   * Overhaul Haddock's rendering of kind signatures so that invisible kind     parameters are not printed (#681) + * Recognise `SPDX-License-Identifier` as alias for `License` in module header +   parser (#743) +  ## Changes in version 2.18.1   * Synopsis is working again (#599) diff --git a/haddock-api/src/Haddock/Interface/ParseModuleHeader.hs b/haddock-api/src/Haddock/Interface/ParseModuleHeader.hs index 768a31ce..6690c22d 100644 --- a/haddock-api/src/Haddock/Interface/ParseModuleHeader.hs +++ b/haddock-api/src/Haddock/Interface/ParseModuleHeader.hs @@ -37,21 +37,22 @@ parseModuleHeader dflags str0 =        (copyrightOpt,str3) = getKey "Copyright" str2        (licenseOpt,str4) = getKey "License" str3        (licenceOpt,str5) = getKey "Licence" str4 -      (maintainerOpt,str6) = getKey "Maintainer" str5 -      (stabilityOpt,str7) = getKey "Stability" str6 -      (portabilityOpt,str8) = getKey "Portability" str7 +      (spdxLicenceOpt,str6) = getKey "SPDX-License-Identifier" str5 +      (maintainerOpt,str7) = getKey "Maintainer" str6 +      (stabilityOpt,str8) = getKey "Stability" str7 +      (portabilityOpt,str9) = getKey "Portability" str8     in (HaddockModInfo {            hmi_description = parseString dflags <$> descriptionOpt,            hmi_copyright = copyrightOpt, -          hmi_license = licenseOpt `mplus` licenceOpt, +          hmi_license = spdxLicenceOpt `mplus` licenseOpt `mplus` licenceOpt,            hmi_maintainer = maintainerOpt,            hmi_stability = stabilityOpt,            hmi_portability = portabilityOpt,            hmi_safety = Nothing,            hmi_language = Nothing, -- set in LexParseRn            hmi_extensions = [] -- also set in LexParseRn -          }, parseParas dflags str8) +          }, parseParas dflags str9)  -- | This function is how we read keys.  --  | 
