anchor.diff:      url = "https://github.com/thestk/stk/blob/master/LICENSE";
     };
   
  -  tcltk = spdx {
  +  tcltk = {
       spdxId = "TCL";
       fullName = "TCL/TK License";
     };
  
positive.code:     url = "https://qwt.sourceforge.io/qwtlicense.html";
    };
  
    ruby = spdx {
      spdxId = "Ruby";
      fullName = "Ruby License";
    };
  
    sendmail = spdx {
      spdxId = "Sendmail";
      fullName = "Sendmail License";
    };
  
    sgi-b-20 = spdx {
      spdxId = "SGI-B-2.0";
      fullName = "SGI Free Software License B v2.0";
    };
  
    sleepycat = spdx {
      spdxId = "Sleepycat";
      fullName = "Sleepycat License";
    };
  
negative.code: { lib }:
  
  lib.mapAttrs (lname: lset: let
    defaultLicense = {
      shortName = lname;
    };
  
    mkLicense = licenseDeclaration: let
      applyDefaults = license: defaultLicense // license;
      applySpdx = license:
        if license ? spdxId
        then license // { url = "https://spdx.org/licenses/${license.spdxId}.html"; }
        else license;
    in lib.pipe licenseDeclaration [
      applyDefaults
      applySpdx
    ];
  in mkLicense lset) ({
    /* License identifiers from spdx.org where possible.
     * If you cannot find your license here, then look for a similar license or
     * add it to this list. The URL mentioned above is a good source for inspiration.
     */
  
    abstyles = {
      spdxId = "Abstyles";
      fullName = "Abstyles License";
    };
  
    afl20 = {
      spdxId = "AFL-2.0";
      fullName = "Academic Free License v2.0";
    };
  
    afl21 = {
      spdxId = "AFL-2.1";
      fullName = "Academic Free License v2.1";
    };
  
    afl3 = {
      spdxId = "AFL-3.0";
      fullName = "Academic Free License v3.0";
    };
  
    agpl3Only = {
      spdxId = "AGPL-3.0-only";
      fullName = "GNU Affero General Public License v3.0 only";
    };
  
    agpl3Plus = {
      spdxId = "AGPL-3.0-or-later";
      fullName = "GNU Affero General Public License v3.0 or later";
    };
  