Skip to content
  • Oleg Grenrus's avatar
    Change license :: License to Either SPDX.License License · ffbfafd6
    Oleg Grenrus authored
    Resolves #2547
    
    I introduce SimpleLicenseExpression to make "OrAnyLater LicenseRef"
    unrepresentable. That also simplifies types.
    
    license field is parsed as old `License` when cabal-version <2.2,
    and as SPDX expression otherwise. `NONE` is recognised.
    
    There are best-effort functions to convert between `License` and
    `SPDX.License`.
    
    There are also IPI changes: parser accepts both `License` and
    `SPDX.License`, as both can occur in package database. Cabal will
    `register` a SDPX expression as `license` for GHC >= 8.4, and legacy
    `License` for other (we are smart when converting `PackageDescription` +
    LBI and other data to `InstalledPackageInfo`)
    
    Also add NFData InstalledPackageInfo
    ffbfafd6