Skip to content

Commit ea63c4b

Browse files
authored
Merge of #11978
2 parents 7d5e438 + 105fdc9 commit ea63c4b

14 files changed

Lines changed: 11078 additions & 404 deletions

File tree

Cabal-syntax/src/Distribution/SPDX/LicenseExceptionId.hs

Lines changed: 134 additions & 54 deletions
Large diffs are not rendered by default.

Cabal-syntax/src/Distribution/SPDX/LicenseId.hs

Lines changed: 789 additions & 332 deletions
Large diffs are not rendered by default.

Cabal-syntax/src/Distribution/SPDX/LicenseListVersion.hs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,12 @@ data LicenseListVersion
2525
LicenseListVersion_3_25
2626
| -- | @since 3.16.0.0
2727
LicenseListVersion_3_26
28+
| -- | @since 3.18.0.0
29+
LicenseListVersion_3_28
2830
deriving (Eq, Ord, Show, Enum, Bounded)
2931

3032
cabalSpecVersionToSPDXListVersion :: CabalSpecVersion -> LicenseListVersion
33+
cabalSpecVersionToSPDXListVersion CabalSpecV3_18 = LicenseListVersion_3_28
3134
cabalSpecVersionToSPDXListVersion CabalSpecV3_16 = LicenseListVersion_3_26
3235
cabalSpecVersionToSPDXListVersion CabalSpecV3_14 = LicenseListVersion_3_25
3336
cabalSpecVersionToSPDXListVersion CabalSpecV3_12 = LicenseListVersion_3_23

Cabal-tests/tests/UnitTests/Distribution/Utils/Structured.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ tests = testGroup "Distribution.Utils.Structured"
1818
[ testCase "VersionRange" $
1919
md5Check (Proxy :: Proxy VersionRange) 0x39396fc4f2d751aaa1f94e6d843f03bd
2020
, testCase "SPDX.License" $
21-
md5Check (Proxy :: Proxy License) 0xf90ab6c2e4ffbc71b2e8c12531e50356
21+
md5Check (Proxy :: Proxy License) 0x2804cd5d2137508059c16ac2449741d2
2222
-- The difference is in encoding of newtypes
2323
, testCase "GenericPackageDescription" $ md5CheckGenericPackageDescription (Proxy :: Proxy GenericPackageDescription)
2424
, testCase "LocalBuildInfo" $ md5CheckLocalBuildInfo (Proxy :: Proxy LocalBuildInfo)
@@ -29,8 +29,8 @@ md5Check proxy md5Int = structureHash proxy @?= md5FromInteger md5Int
2929

3030
md5CheckGenericPackageDescription :: Proxy GenericPackageDescription -> Assertion
3131
md5CheckGenericPackageDescription proxy = md5Check proxy
32-
0xfd3ceefd3ccba5b23fa3688aefb363a9
32+
0xfbca1c1f2a700fb3a174ec5346e86cbb
3333

3434
md5CheckLocalBuildInfo :: Proxy LocalBuildInfo -> Assertion
3535
md5CheckLocalBuildInfo proxy = md5Check proxy
36-
0x1bc2c98e507f9818275835dcf4dd2f12
36+
0x3bf7bf1420847ce5fdaf6e36e33aecb2

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ SPDX_EXCEPTION_HS:=Cabal-syntax/src/Distribution/SPDX/LicenseExceptionId.hs
108108
.PHONY: spdx
109109
spdx : $(SPDX_LICENSE_HS) $(SPDX_EXCEPTION_HS)
110110

111-
SPDX_LICENSE_VERSIONS:=3.0 3.2 3.6 3.9 3.10 3.16 3.23 3.25 3.26
111+
SPDX_LICENSE_VERSIONS:=3.0 3.2 3.6 3.9 3.10 3.16 3.23 3.25 3.26 3.28
112112

113113
$(SPDX_LICENSE_HS) : templates/SPDX.LicenseId.template.hs cabal-dev-scripts/src/GenUtils.hs cabal-dev-scripts/src/GenSPDX.hs license-list-data/licenses-3.0.json license-list-data/licenses-3.2.json
114114
cabal run --builddir=dist-newstyle-meta --project-file=cabal.meta.project gen-spdx -- templates/SPDX.LicenseId.template.hs $(SPDX_LICENSE_VERSIONS:%=license-list-data/licenses-%.json) $(SPDX_LICENSE_HS)

cabal-dev-scripts/src/GenSPDX.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ main = generate =<< O.execParser opts where
3838
<*> licenses "3.23"
3939
<*> licenses "3.25"
4040
<*> licenses "3.26"
41+
<*> licenses "3.28"
4142

4243
template = O.strArgument $ mconcat
4344
[ O.metavar "SPDX.LicenseId.template.hs"

cabal-dev-scripts/src/GenSPDXExc.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ main = generate =<< O.execParser opts where
3838
<*> licenses "3.23"
3939
<*> licenses "3.25"
4040
<*> licenses "3.26"
41+
<*> licenses "3.28"
4142

4243
template = O.strArgument $ mconcat
4344
[ O.metavar "SPDX.LicenseExceptionId.template.hs"

cabal-dev-scripts/src/GenUtils.hs

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,14 @@ data SPDXLicenseListVersion
3333
| SPDXLicenseListVersion_3_23
3434
| SPDXLicenseListVersion_3_25
3535
| SPDXLicenseListVersion_3_26
36+
| SPDXLicenseListVersion_3_28
3637
deriving (Eq, Ord, Show, Enum, Bounded)
3738

3839
allVers :: Set.Set SPDXLicenseListVersion
3940
allVers = Set.fromList [minBound .. maxBound]
4041

4142
prettyVer :: SPDXLicenseListVersion -> Text
43+
prettyVer SPDXLicenseListVersion_3_28 = "SPDX License List 3.28"
4244
prettyVer SPDXLicenseListVersion_3_26 = "SPDX License List 3.26"
4345
prettyVer SPDXLicenseListVersion_3_25 = "SPDX License List 3.25"
4446
prettyVer SPDXLicenseListVersion_3_23 = "SPDX License List 3.23"
@@ -50,6 +52,7 @@ prettyVer SPDXLicenseListVersion_3_2 = "SPDX License List 3.2"
5052
prettyVer SPDXLicenseListVersion_3_0 = "SPDX License List 3.0"
5153

5254
suffixVer :: SPDXLicenseListVersion -> String
55+
suffixVer SPDXLicenseListVersion_3_28 = "_3_28"
5356
suffixVer SPDXLicenseListVersion_3_26 = "_3_26"
5457
suffixVer SPDXLicenseListVersion_3_25 = "_3_25"
5558
suffixVer SPDXLicenseListVersion_3_23 = "_3_23"
@@ -64,23 +67,24 @@ suffixVer SPDXLicenseListVersion_3_0 = "_3_0"
6467
-- Per version
6568
-------------------------------------------------------------------------------
6669

67-
data PerV a = PerV a a a a a a a a a
70+
data PerV a = PerV a a a a a a a a a a
6871
deriving (Show, Functor, Foldable, Traversable)
6972

7073
class Functor f => Representable i f | f -> i where
7174
index :: i -> f a -> a
7275
tabulate :: (i -> a) -> f a
7376

7477
instance Representable SPDXLicenseListVersion PerV where
75-
index SPDXLicenseListVersion_3_0 (PerV x _ _ _ _ _ _ _ _) = x
76-
index SPDXLicenseListVersion_3_2 (PerV _ x _ _ _ _ _ _ _) = x
77-
index SPDXLicenseListVersion_3_6 (PerV _ _ x _ _ _ _ _ _) = x
78-
index SPDXLicenseListVersion_3_9 (PerV _ _ _ x _ _ _ _ _) = x
79-
index SPDXLicenseListVersion_3_10 (PerV _ _ _ _ x _ _ _ _) = x
80-
index SPDXLicenseListVersion_3_16 (PerV _ _ _ _ _ x _ _ _) = x
81-
index SPDXLicenseListVersion_3_23 (PerV _ _ _ _ _ _ x _ _) = x
82-
index SPDXLicenseListVersion_3_25 (PerV _ _ _ _ _ _ _ x _) = x
83-
index SPDXLicenseListVersion_3_26 (PerV _ _ _ _ _ _ _ _ x) = x
78+
index SPDXLicenseListVersion_3_0 (PerV x _ _ _ _ _ _ _ _ _) = x
79+
index SPDXLicenseListVersion_3_2 (PerV _ x _ _ _ _ _ _ _ _) = x
80+
index SPDXLicenseListVersion_3_6 (PerV _ _ x _ _ _ _ _ _ _) = x
81+
index SPDXLicenseListVersion_3_9 (PerV _ _ _ x _ _ _ _ _ _) = x
82+
index SPDXLicenseListVersion_3_10 (PerV _ _ _ _ x _ _ _ _ _) = x
83+
index SPDXLicenseListVersion_3_16 (PerV _ _ _ _ _ x _ _ _ _) = x
84+
index SPDXLicenseListVersion_3_23 (PerV _ _ _ _ _ _ x _ _ _) = x
85+
index SPDXLicenseListVersion_3_25 (PerV _ _ _ _ _ _ _ x _ _) = x
86+
index SPDXLicenseListVersion_3_26 (PerV _ _ _ _ _ _ _ _ x _) = x
87+
index SPDXLicenseListVersion_3_28 (PerV _ _ _ _ _ _ _ _ _ x) = x
8488

8589
tabulate f = PerV
8690
(f SPDXLicenseListVersion_3_0)
@@ -92,6 +96,7 @@ instance Representable SPDXLicenseListVersion PerV where
9296
(f SPDXLicenseListVersion_3_23)
9397
(f SPDXLicenseListVersion_3_25)
9498
(f SPDXLicenseListVersion_3_26)
99+
(f SPDXLicenseListVersion_3_28)
95100

96101
-------------------------------------------------------------------------------
97102
-- Sorting

changelog.d/pr-11978

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
synopsis: add SPDX license data version 3.28
2+
packages: Cabal
3+
prs: #11978
4+
5+
description: {
6+
7+
- Update SPDX license list to version 3.28.0 2026-02-20
8+
9+
}

doc/file-format-changelog.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,18 @@ relative to the respective preceding *published* version.
1919
versions of the ``Cabal`` library denote unreleased development
2020
branches which have no stability guarantee.
2121

22+
``cabal-version: 3.18``
23+
-----------------------
24+
25+
* License fields use identifiers from SPDX License List version
26+
``3.28 2026-02-20``.
27+
28+
``cabal-version: 3.16``
29+
-----------------------
30+
31+
* License fields use identifiers from SPDX License List version
32+
``3.26 2025-06-10``.
33+
2234
``cabal-version: 3.14``
2335
-----------------------
2436

0 commit comments

Comments
 (0)