From 665eb3d665d4c3963e6b3e1f974030eb79767646 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 19 Apr 2025 10:20:46 +1200 Subject: [PATCH 001/308] update nix-tools-static.nix (#2268) * Update nix-tools and use GHC 9.6.7 and Cabal 3.14 to build them * Add libc++abi.dylib to fixup-nix-deps * Fix wait for hydra * Use new json format in dummy ghc code * Fix index-state issues (related to use of newer Cabal in make-install-plan) * Fix error output formatting now that details of failures are in exceptions thrown by the Cabal planner (they were printed before). --- compiler/ghc/default.nix | 1 - lib/call-cabal-project-to-nix.nix | 22 +- nix-tools-static.nix | 10 +- nix-tools/cabal.project | 10 +- nix-tools/flake.lock | 268 ++++++------------ .../nix-tools/lib-cabal2nix/Cabal2Nix.hs | 36 +-- .../make-install-plan/MakeInstallPlan.hs | 3 +- .../make-install-plan/ProjectPlanOutput.hs | 3 +- nix-tools/nix-tools/nix-tools.cabal | 8 +- nix-tools/nix-tools/setup-ghcjs/Setup.hs | 42 +-- nix-tools/overlay.nix | 2 +- nix-tools/static/packaging.nix | 11 +- nix-tools/static/project.nix | 2 +- test/cabal.project.local | 4 +- test/gi-gtk/default.nix | 2 - 15 files changed, 164 insertions(+), 260 deletions(-) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index a84d394c0a..13abf8bdf7 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -269,7 +269,6 @@ let inherit compiler-nix-name; name = "hadrian"; compilerSelection = p: p.haskell.compiler; - index-state = buildPackages.haskell-nix.internalHackageIndexState; evalPackages = hadrianEvalPackages; modules = [{ reinstallableLibGhc = false; diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index 5d013827da..03c6cad9ad 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -151,7 +151,7 @@ in let let suitable-index-states = builtins.filter - (s: s >= index-state-max) # This compare is why we need zulu time + (s: s > index-state-max) # This compare is why we need zulu time (builtins.attrNames index-state-hashes); in if builtins.length suitable-index-states == 0 @@ -518,22 +518,30 @@ let json_cabal_file=$(mktemp) cabal2json $fixed_cabal_file > $json_cabal_file - exposed_modules="$(jq -r '.library."exposed-modules"//[]|.[]|select(type=="array")[]' $json_cabal_file)" - reexported_modules="$(jq -r '.library."reexported-modules"//[]|.[]|select(type=="array")[]' $json_cabal_file | sed 's/.* as //g')" + exposed_modules="$(jq -r '.components.lib."exposed-modules"//[]|.[]|select(type=="string")' $json_cabal_file)" + reexported_modules="$(jq -r '.components.lib."reexported-modules"//[]|.[]|select(type=="string")' $json_cabal_file | sed 's/.* as //g')" # FIXME This is a bandaid. Rather than doing this, conditionals should be interpreted. ${pkgs.lib.optionalString pkgs.stdenv.targetPlatform.isGhcjs '' - exposed_modules+=" $(jq -r '.library."exposed-modules"//[]|.[]|select(type=="object" and .if.arch == "javascript")|.then[]' $json_cabal_file)" + exposed_modules+=" $(jq -r '.components.lib."exposed-modules"//[]|.[]|select(type=="object" and ._if.arch == "javascript")|._then[]' $json_cabal_file)" ''} ${pkgs.lib.optionalString pkgs.stdenv.targetPlatform.isWindows '' - exposed_modules+=" $(jq -r '.library."exposed-modules"//[]|.[]|select(type=="object" and .if.os == "windows")|.then[]' $json_cabal_file)" + exposed_modules+=" $(jq -r '.components.lib."exposed-modules"//[]|.[]|select(type=="object" and ._if.os == "windows")|._then[]' $json_cabal_file)" ''} ${pkgs.lib.optionalString (!pkgs.stdenv.targetPlatform.isWindows) '' - exposed_modules+=" $(jq -r '.library."exposed-modules"//[]|.[]|select(type=="object" and .if.not.os == "windows")|.then[]' $json_cabal_file)" + exposed_modules+=" $(jq -r '.components.lib."exposed-modules"//[]|.[]|select(type=="object" and ._if.not.os == "windows")|._then[]' $json_cabal_file)" ''} EXPOSED_MODULES_${varname name}="$(tr '\n' ' ' <<< "$exposed_modules $reexported_modules")" - DEPS_${varname name}="$(jq -r '.library."build-depends"[]|select(type=="array")[],select(type=="object" and .if.not.flag != "vendor-filepath").then[]' $json_cabal_file | sed 's/^\([A-Za-z0-9-]*\).*$/\1/g' | sort -u | tr '\n' ' ')" + deps="$(jq -r '.components.lib."build-depends"[]|select(.package)|.package' $json_cabal_file)" + deps+=" $(jq -r '.components.lib."build-depends"[]|select((.if.flag or ._if.not.flag) and ._if.not.flag != "vendor-filepath")._then[]|.package' $json_cabal_file)" + ${pkgs.lib.optionalString pkgs.stdenv.targetPlatform.isWindows '' + deps+=" $(jq -r '.components.lib."build-depends"[]|select(._if.os == "windows")|._then[]|.package' $json_cabal_file)" + ''} + ${pkgs.lib.optionalString (!pkgs.stdenv.targetPlatform.isWindows) '' + deps+=" $(jq -r '.components.lib."build-depends"[]|select(._if.not.os == "windows")|._then[]|.package' $json_cabal_file)" + ''} + DEPS_${varname name}="$(tr '\n' ' ' <<< "$deps")" VER_${varname name}="$(jq -r '.version' $json_cabal_file)" PKGS+=" ${name}" LAST_PKG="${name}" diff --git a/nix-tools-static.nix b/nix-tools-static.nix index 9ab307a25f..5a6b7d8834 100644 --- a/nix-tools-static.nix +++ b/nix-tools-static.nix @@ -1,22 +1,22 @@ -pkgs: let baseurl = "https://github.com/input-output-hk/haskell.nix/releases/download/nix-tools-0.2.6/"; in { +pkgs: let baseurl = "https://github.com/input-output-hk/haskell.nix/releases/download/nix-tools-0.3.2/"; in { aarch64-darwin = pkgs.fetchurl { name = "aarch64-darwin-nix-tools-static"; url = "${baseurl}aarch64-darwin-nix-tools-static.zip"; - sha256 = "sha256-9WpTIWlpUvG3pI+tcbAMh6sMH0QO/coZrxDYWD43iq0="; + sha256 = "sha256-SlTAgNj3YjZpobl/aIZLI+o8EpxznW5X90UBTtHDwbw="; }; x86_64-darwin = pkgs.fetchurl { name = "x86_64-darwin-nix-tools-static"; url = "${baseurl}x86_64-darwin-nix-tools-static.zip"; - sha256 = "sha256-UUr9bo2OpLPsvHRSeO2B6DKVDVTsHepRlTqN6UZoZ2M="; + sha256 = "sha256-6m2f3DoARyoxR5Fh+87TfVCLkewwhozVLKbUzfXvUxs="; }; aarch64-linux = pkgs.fetchurl { name = "aarch64-linux-nix-tools-static"; url = "${baseurl}aarch64-linux-nix-tools-static.zip"; - sha256 = "sha256-96s6RXN8st0JK0eYSOkTJvnlTxYVdE81+ZUGJEsC46A="; + sha256 = "sha256-MX4u23nzjByT9zcSN+HlKOAgQNtYvcuR8iOh54wR41U="; }; x86_64-linux = pkgs.fetchurl { name = "x86_64-linux-nix-tools-static"; url = "${baseurl}x86_64-linux-nix-tools-static.zip"; - sha256 = "sha256-LMFVUKNycjVFBb3ChZsPbRNgab50zOHl7nMBrDdeTrQ="; + sha256 = "sha256-QzTCy7HPY5xN6VFKJcibE1gWLsT4u8OPfJHvDMK3v7M="; }; } diff --git a/nix-tools/cabal.project b/nix-tools/cabal.project index 902e02ba31..536360b4e7 100644 --- a/nix-tools/cabal.project +++ b/nix-tools/cabal.project @@ -1,4 +1,8 @@ -index-state: 2024-10-15T20:31:31Z +index-state: 2025-04-12T00:00:00Z + +-- Needed for building aarch64-linux musl version with GHC 9.6 +constraints: containers installed, Cabal >=3.14.1.0 +allow-older: Cabal-syntax-json:base, Cabal-syntax-json:containers packages: nix-tools @@ -36,5 +40,5 @@ source-repository-package source-repository-package type: git location: https://github.com/andreabedini/Cabal-syntax-json.git - tag: b7192832f730d9181a013ef7c77f2ad0b30cca43 - --sha256: sha256-Yw2HQOCmjOvfKHi3xWbSniAZfyrshOvsgmUbqFmDDpU= + tag: b0033ed4d00a09340c64f4290cc649f4009deabd + --sha256: sha256-Aymi25AQLSMextVeXbsMnaOppxAO93qVbwo7Vt44ej4= diff --git a/nix-tools/flake.lock b/nix-tools/flake.lock index 06581f1296..5c98214994 100644 --- a/nix-tools/flake.lock +++ b/nix-tools/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1729124899, - "narHash": "sha256-cmb4iMcgk5+jUGMiZGNMzPCAnG17Kz9J6WIitYM17Fc=", + "lastModified": 1744676755, + "narHash": "sha256-UxlAdjsE/mDKkONhvkOHeqDlExp6fw757+3iwGeUeFM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "138edf81c8bcc4209e9706966f7feece70c37a96", + "rev": "a81af937e40034d4c89b80728f937bff6b997121", "type": "github" }, "original": { @@ -133,6 +133,23 @@ "type": "github" } }, + "hackage-for-stackage": { + "flake": false, + "locked": { + "lastModified": 1744676745, + "narHash": "sha256-Wzgh3li2OARjgAwl2P0CmNAsqLJUT1Px4YtYtVRpILc=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "e1d749fd0df3cf34bcb0b5c4958e0f2a715f1e23", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "for-stackage", + "repo": "hackage.nix", + "type": "github" + } + }, "haskellNix": { "inputs": { "HTTP": "HTTP", @@ -143,8 +160,11 @@ "flake-compat": "flake-compat", "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", "hackage": "hackage", + "hackage-for-stackage": "hackage-for-stackage", + "hls": "hls", "hls-1.10": "hls-1.10", "hls-2.0": "hls-2.0", + "hls-2.10": "hls-2.10", "hls-2.2": "hls-2.2", "hls-2.3": "hls-2.3", "hls-2.4": "hls-2.4", @@ -154,30 +174,25 @@ "hls-2.8": "hls-2.8", "hls-2.9": "hls-2.9", "hpc-coveralls": "hpc-coveralls", - "hydra": "hydra", "iserv-proxy": "iserv-proxy", "nixpkgs": [ "haskellNix", "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003", - "nixpkgs-2105": "nixpkgs-2105", - "nixpkgs-2111": "nixpkgs-2111", - "nixpkgs-2205": "nixpkgs-2205", - "nixpkgs-2211": "nixpkgs-2211", "nixpkgs-2305": "nixpkgs-2305", "nixpkgs-2311": "nixpkgs-2311", "nixpkgs-2405": "nixpkgs-2405", + "nixpkgs-2411": "nixpkgs-2411", "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", "stackage": "stackage" }, "locked": { - "lastModified": 1729126246, - "narHash": "sha256-OXGwQF3AMERYaVdImhGLlvJgOE8Zr0yURef4J7zlp6k=", + "lastModified": 1744678331, + "narHash": "sha256-R6Z3kRSRoENSPxJbaZXbHKGhNjH7x6NRppUlpOJxOsE=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "c2070f089bf688571c14af77744982c86f0c2e21", + "rev": "3a97196af86fa053ed267a91234f4e24511c7fd9", "type": "github" }, "original": { @@ -186,6 +201,22 @@ "type": "github" } }, + "hls": { + "flake": false, + "locked": { + "lastModified": 1741604408, + "narHash": "sha256-tuq3+Ip70yu89GswZ7DSINBpwRprnWnl6xDYnS4GOsc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "682d6894c94087da5e566771f25311c47e145359", + "type": "github" + }, + "original": { + "owner": "haskell", + "repo": "haskell-language-server", + "type": "github" + } + }, "hls-1.10": { "flake": false, "locked": { @@ -220,6 +251,23 @@ "type": "github" } }, + "hls-2.10": { + "flake": false, + "locked": { + "lastModified": 1743069404, + "narHash": "sha256-q4kDFyJDDeoGqfEtrZRx4iqMVEC2MOzCToWsFY+TOzY=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "2318c61db3a01e03700bd4b05665662929b7fe8b", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.10.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, "hls-2.2": { "flake": false, "locked": { @@ -342,11 +390,11 @@ "hls-2.9": { "flake": false, "locked": { - "lastModified": 1720003792, - "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", + "lastModified": 1719993701, + "narHash": "sha256-wy348++MiMm/xwtI9M3vVpqj2qfGgnDcZIGXw8sF1sA=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "0c1817cb2babef0765e4e72dd297c013e8e3d12b", + "rev": "90319a7e62ab93ab65a95f8f2bcf537e34dae76a", "type": "github" }, "original": { @@ -372,37 +420,14 @@ "type": "github" } }, - "hydra": { - "inputs": { - "nix": "nix", - "nixpkgs": [ - "haskellNix", - "hydra", - "nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1671755331, - "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", - "owner": "NixOS", - "repo": "hydra", - "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", - "type": "github" - }, - "original": { - "id": "hydra", - "type": "indirect" - } - }, "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1717479972, - "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", + "lastModified": 1742121966, + "narHash": "sha256-x4bg4OoKAPnayom0nWc0BmlxgRMMHk6lEPvbiyFBq1s=", "owner": "stable-haskell", "repo": "iserv-proxy", - "rev": "2ed34002247213fc435d0062350b91bab920626e", + "rev": "e9dc86ed6ad71f0368c16672081c8f26406c3a7e", "type": "github" }, "original": { @@ -412,139 +437,6 @@ "type": "github" } }, - "lowdown-src": { - "flake": false, - "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" - }, - "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" - } - }, - "nix": { - "inputs": { - "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs", - "nixpkgs-regression": "nixpkgs-regression" - }, - "locked": { - "lastModified": 1661606874, - "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", - "owner": "NixOS", - "repo": "nix", - "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "2.11.0", - "repo": "nix", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1657693803, - "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.05-small", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2003": { - "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2105": { - "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2111": { - "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2205": { - "locked": { - "lastModified": 1685573264, - "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "380be19fbd2d9079f677978361792cb25e8a3635", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2211": { - "locked": { - "lastModified": 1688392541, - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-22.11-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-2305": { "locked": { "lastModified": 1705033721, @@ -579,11 +471,11 @@ }, "nixpkgs-2405": { "locked": { - "lastModified": 1726447378, - "narHash": "sha256-2yV8nmYE1p9lfmLHhOCbYwQC/W8WYfGQABoGzJOb1JQ=", + "lastModified": 1735564410, + "narHash": "sha256-HB/FA0+1gpSs8+/boEavrGJH+Eq08/R2wWNph1sM1Dg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "086b448a5d54fd117f4dc2dee55c9f0ff461bdc1", + "rev": "1e7a8f391f1a490460760065fa0630b5520f9cf8", "type": "github" }, "original": { @@ -593,29 +485,29 @@ "type": "github" } }, - "nixpkgs-regression": { + "nixpkgs-2411": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1739151041, + "narHash": "sha256-uNszcul7y++oBiyYXjHEDw/AHeLNp8B6pyWOB+RLA/4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "94792ab2a6beaec81424445bf917ca2556fbeade", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-24.11-darwin", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1726583932, - "narHash": "sha256-zACxiQx8knB3F8+Ze+1BpiYrI+CbhxyWpcSID9kVhkQ=", + "lastModified": 1737110817, + "narHash": "sha256-DSenga8XjPaUV5KUFW/i3rNkN7jm9XmguW+qQ1ZJTR4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "658e7223191d2598641d50ee4e898126768fe847", + "rev": "041c867bad68dfe34b78b2813028a2e2ea70a23c", "type": "github" }, "original": { @@ -654,11 +546,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1729039017, - "narHash": "sha256-fGExfgG+7UNSOV8YfOrWPpOHWrCjA02gQkeSBhaAzjQ=", + "lastModified": 1744675976, + "narHash": "sha256-WvQ2HI/OtCNjUO1NE/fEdwCeTwf0rXu25Y6CcUXpo3Y=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "df1d8f0960407551fea7af7af75a9c2f9e18de97", + "rev": "5a0a1124c429fdb16f1cde0f4c85c0ee658b9fba", "type": "github" }, "original": { diff --git a/nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs b/nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs index d35c14b48b..a0156f1df4 100644 --- a/nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs +++ b/nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs @@ -10,7 +10,7 @@ import Distribution.Simple.PackageDescription (readGenericPackageDescription) import Distribution.Verbosity (normal) import Distribution.Pretty ( pretty, prettyShow ) import Distribution.Utils.ShortText (fromShortText) -import Distribution.Utils.Path (getSymbolicPath) +import Distribution.Utils.Path (getSymbolicPath, makeSymbolicPath) import Data.Char (toUpper) import System.FilePath import Data.ByteString (ByteString) @@ -97,7 +97,7 @@ data CabalDetailLevel = MinimalDetails | FullDetails deriving (Show, Eq) cabal2nix :: Bool -> CabalDetailLevel -> Maybe Src -> CabalFile -> IO NExpr cabal2nix isLocal fileDetails src = \case (OnDisk path) -> gpd2nix isLocal fileDetails src Nothing - <$> readGenericPackageDescription normal path + <$> readGenericPackageDescription normal Nothing (makeSymbolicPath path) (InMemory gen _ body) -> gpd2nix isLocal fileDetails src (genExtra <$> gen) <$> case runParseResult (parseGenericPackageDescription body) of (_, Left (_, err)) -> error ("Failed to parse in-memory cabal file: " ++ show err) @@ -137,11 +137,11 @@ instance IsComponent ForeignLib where instance IsComponent Executable where getBuildInfo = buildInfo - getMainPath Executable {modulePath = p} = Just p + getMainPath Executable {modulePath = p} = Just (getSymbolicPath p) instance IsComponent TestSuite where getBuildInfo = testBuildInfo - getMainPath TestSuite {testInterface = (TestSuiteExeV10 _ p)} = Just p + getMainPath TestSuite {testInterface = (TestSuiteExeV10 _ p)} = Just (getSymbolicPath p) getMainPath _ = Nothing instance IsComponent Benchmark where @@ -211,11 +211,11 @@ toNixPackageDescription isLocal detailLevel pd = mkNonRecSet $ else [ "detailLevel" $= mkStr (fromString (show detailLevel)) , "licenseFiles" $= toNix (map getSymbolicPath (licenseFiles pd)) - , "dataDir" $= mkStr (fromString (dataDir pd)) - , "dataFiles" $= toNix (dataFiles pd) - , "extraSrcFiles" $= toNix (extraSrcFiles pd) - , "extraTmpFiles" $= toNix (extraTmpFiles pd) - , "extraDocFiles" $= toNix (extraDocFiles pd) + , "dataDir" $= mkStr (fromString (getSymbolicPath (dataDir pd))) + , "dataFiles" $= toNix (map getSymbolicPath (dataFiles pd)) + , "extraSrcFiles" $= toNix (map getSymbolicPath (extraSrcFiles pd)) + , "extraTmpFiles" $= toNix (map getSymbolicPath (extraTmpFiles pd)) + , "extraDocFiles" $= toNix (map getSymbolicPath (extraDocFiles pd)) ] where toSetupDepends (Dependency pkg _ libs) = SetupDependency pkg <$> toList libs @@ -328,7 +328,7 @@ toNixGenericPackageDescription isLocal detailLevel gpd = mkNonRecSet mkNonRecSet ( [ "depends" $= toNix deps | Just deps <- [shakeTree . fmap ( (>>= depends) . targetBuildDepends . getBuildInfo) $ comp ] ] ++ [ "libs" $= toNix deps | Just deps <- [shakeTree . fmap ( fmap mkSysDep . extraLibs . getBuildInfo) $ comp ] ] ++ - [ "frameworks" $= toNix deps | Just deps <- [shakeTree . fmap ( fmap mkSysDep . frameworks . getBuildInfo) $ comp ] ] ++ + [ "frameworks" $= toNix deps | Just deps <- [shakeTree . fmap ( fmap mkSysDep . fmap getSymbolicPath . frameworks . getBuildInfo) $ comp ] ] ++ [ "pkgconfig" $= toNix deps | Just deps <- [shakeTree . fmap ( pkgconfigDepends . getBuildInfo) $ comp ] ] ++ [ "build-tools" $= toNix deps | Just deps <- [shakeTree . fmap ( toolDeps . getBuildInfo) $ comp ] ] ++ [ "buildable" $= boolTreeToNix (and <$> b) | Just b <- [shakeTree . fmap ((:[]) . buildable . getBuildInfo) $ comp ] ] ++ @@ -336,14 +336,14 @@ toNixGenericPackageDescription isLocal detailLevel gpd = mkNonRecSet then [] else [ "modules" $= toNix mods | Just mods <- [shakeTree . fmap (fmap ModuleName.toFilePath . modules) $ comp ] ] ++ - [ "asmSources" $= toNix src | Just src <- [shakeTree . fmap (asmSources . getBuildInfo) $ comp ] ] ++ - [ "cmmSources" $= toNix src | Just src <- [shakeTree . fmap (cmmSources . getBuildInfo) $ comp ] ] ++ - [ "cSources" $= toNix src | Just src <- [shakeTree . fmap (cSources . getBuildInfo) $ comp ] ] ++ - [ "cxxSources" $= toNix src | Just src <- [shakeTree . fmap (cxxSources . getBuildInfo) $ comp ] ] ++ - [ "jsSources" $= toNix src | Just src <- [shakeTree . fmap (jsSources . getBuildInfo) $ comp ] ] ++ - [ "hsSourceDirs" $= toNix (fmap getSymbolicPath <$> dir) | Just dir <- [shakeTree . fmap (hsSourceDirs . getBuildInfo) $ comp ] ] ++ - [ "includeDirs" $= toNix dir | Just dir <- [shakeTree . fmap (includeDirs . getBuildInfo) $ comp] ] ++ - [ "includes" $= toNix dir | Just dir <- [shakeTree . fmap (includes . getBuildInfo) $ comp] ] ++ + [ "asmSources" $= toNix (fmap getSymbolicPath <$> src) | Just src <- [shakeTree . fmap (asmSources . getBuildInfo) $ comp ] ] ++ + [ "cmmSources" $= toNix (fmap getSymbolicPath <$> src) | Just src <- [shakeTree . fmap (cmmSources . getBuildInfo) $ comp ] ] ++ + [ "cSources" $= toNix (fmap getSymbolicPath <$> src) | Just src <- [shakeTree . fmap (cSources . getBuildInfo) $ comp ] ] ++ + [ "cxxSources" $= toNix (fmap getSymbolicPath <$> src) | Just src <- [shakeTree . fmap (cxxSources . getBuildInfo) $ comp ] ] ++ + [ "jsSources" $= toNix (fmap getSymbolicPath <$> src) | Just src <- [shakeTree . fmap (jsSources . getBuildInfo) $ comp ] ] ++ + [ "hsSourceDirs" $= toNix (fmap getSymbolicPath <$> dir) | Just dir <- [shakeTree . fmap (hsSourceDirs . getBuildInfo) $ comp ] ] ++ + [ "includeDirs" $= toNix (fmap getSymbolicPath <$> dir) | Just dir <- [shakeTree . fmap (includeDirs . getBuildInfo) $ comp] ] ++ + [ "includes" $= toNix (fmap getSymbolicPath <$> dir) | Just dir <- [shakeTree . fmap (includes . getBuildInfo) $ comp] ] ++ [ "mainPath" $= toNix p | Just p <- [shakeTree . fmap (maybeToList . getMainPath) $ comp] ]) where name = fromString $ unUnqualComponentName unQualName depends (Dependency pkg _ libs) = HaskellLibDependency pkg <$> toList libs diff --git a/nix-tools/nix-tools/make-install-plan/MakeInstallPlan.hs b/nix-tools/nix-tools/make-install-plan/MakeInstallPlan.hs index 4eef9e8444..69889088b7 100644 --- a/nix-tools/nix-tools/make-install-plan/MakeInstallPlan.hs +++ b/nix-tools/nix-tools/make-install-plan/MakeInstallPlan.hs @@ -36,6 +36,7 @@ import ProjectPlanOutput (writePlanExternalRepresentation) import System.Environment (getArgs) import System.FilePath import System.IO (IOMode (WriteMode), hClose, openFile) +import Distribution.Simple.Utils (topHandler) main :: IO () main = do @@ -49,7 +50,7 @@ main = do flags@NixStyleFlags{configFlags} = mkflags (commandDefaultFlags cmdUI) verbosity = fromFlagOrDefault Verbosity.normal (configVerbosity configFlags) cliConfig = commandLineFlagsToProjectConfig globalFlags flags mempty - in installPlanAction verbosity cliConfig + in topHandler (installPlanAction verbosity cliConfig) cmdUI :: CommandUI (NixStyleFlags ()) cmdUI = diff --git a/nix-tools/nix-tools/make-install-plan/ProjectPlanOutput.hs b/nix-tools/nix-tools/make-install-plan/ProjectPlanOutput.hs index 374dc15e9c..b1fa805141 100644 --- a/nix-tools/nix-tools/make-install-plan/ProjectPlanOutput.hs +++ b/nix-tools/nix-tools/make-install-plan/ProjectPlanOutput.hs @@ -53,6 +53,7 @@ import qualified Data.Map as Map import System.FilePath import Distribution.Client.ProjectPlanning +import Distribution.Utils.Path (makeSymbolicPath, getSymbolicPath) ----------------------------------------------------------------------------- -- Writing plan.json files @@ -230,7 +231,7 @@ encodePlanAsJson distDirLayout elaboratedInstallPlan elaboratedSharedConfig targ | elabSetupScriptCliVersion elab < mkVersion [3, 7, 0, 0] = "build-info" J..= J.Null | otherwise = - "build-info" J..= J.String (buildInfoPref dist_dir) + "build-info" J..= J.String (getSymbolicPath (buildInfoPref (makeSymbolicPath dist_dir))) packageLocationToJ :: PackageLocation (Maybe FilePath) -> J.Value packageLocationToJ pkgloc = diff --git a/nix-tools/nix-tools/nix-tools.cabal b/nix-tools/nix-tools/nix-tools.cabal index 27544a5b2e..1168ecf76b 100644 --- a/nix-tools/nix-tools/nix-tools.cabal +++ b/nix-tools/nix-tools/nix-tools.cabal @@ -15,14 +15,14 @@ common warnings common cabal-deps build-depends: - Cabal ^>=3.12, - Cabal-syntax ^>=3.12 + Cabal ^>=3.14, + Cabal-syntax ^>=3.14 common cabal-install-deps import: cabal-deps build-depends: - cabal-install ^>=3.12, - cabal-install-solver ^>=3.12 + cabal-install ^>=3.14, + cabal-install-solver ^>=3.14 library import: warnings diff --git a/nix-tools/nix-tools/setup-ghcjs/Setup.hs b/nix-tools/nix-tools/setup-ghcjs/Setup.hs index c4a20daba6..2b35578776 100644 --- a/nix-tools/nix-tools/setup-ghcjs/Setup.hs +++ b/nix-tools/nix-tools/setup-ghcjs/Setup.hs @@ -27,7 +27,7 @@ import Distribution.Simple.Test.LibV09 (stubName) import Distribution.Types.Executable (exeName, Executable(..)) import Distribution.Types.Benchmark (Benchmark(..)) import Distribution.Types.UnqualComponentName (unUnqualComponentName) - +import Distribution.Utils.Path (makeSymbolicPath, getSymbolicPath) emarProgram :: Program emarProgram = simpleProgram "emar" @@ -36,31 +36,31 @@ buildEMCCLib :: PackageDescription -> LocalBuildInfo -> IO () buildEMCCLib desc lbi = do let verbosity = verbose -- get build dir - createDirectoryIfMissingVerbose verbosity True ((buildDir lbi) "emcc") + createDirectoryIfMissingVerbose verbosity True ((getSymbolicPath (buildDir lbi)) "emcc") -- case library desc of Just lib -> do -- Let's see if we are going to export anything. If not there is likely no point in compiling anything -- from the C code. names <- forM (jsSources . libBuildInfo $ lib) $ \src -> do - unwords . concatMap (drop 2 . words) . filter (isPrefixOf "// EMCC:EXPORTED_FUNCTIONS") . lines <$> readFile src + unwords . concatMap (drop 2 . words) . filter (isPrefixOf "// EMCC:EXPORTED_FUNCTIONS") . lines <$> readFile (getSymbolicPath src) unless (null names) $ do let depIncludeDirs = concatMap IPI.includeDirs (topologicalOrder $ installedPkgs lbi) -- alright, let's compile all .c files into .o files with emcc, which is the `gcc` program. forM_ (cSources . libBuildInfo $ lib) $ \src -> do - let dst = (buildDir lbi) "emcc" (src -<.> "o") + let dst = (getSymbolicPath (buildDir lbi)) "emcc" (getSymbolicPath src -<.> "o") createDirectoryIfMissingVerbose verbosity True (takeDirectory dst) runDbProgram verbosity gccProgram (withPrograms lbi) $ - ["-c", src, "-o", dst] ++ ["-I" <> incDir | incDir <- (includeDirs . libBuildInfo $ lib) ++ depIncludeDirs] + ["-c", getSymbolicPath src, "-o", dst] ++ ["-I" <> getSymbolicPath incDir | incDir <- (includeDirs . libBuildInfo $ lib) ++ map makeSymbolicPath depIncludeDirs] -- and now construct a canonical `.js_a` file, *if* we have any cSources we turned into objects. unless (null . cSources . libBuildInfo $ lib) $ do - let dstLib = (buildDir lbi) "libEMCC" <> (unPackageName . pkgName . package $ desc) <> ".js_a" + let dstLib = (getSymbolicPath (buildDir lbi)) "libEMCC" <> (unPackageName . pkgName . package $ desc) <> ".js_a" runDbProgram verbosity emarProgram (withPrograms lbi) $ - [ "-r", dstLib ] ++ [ (buildDir lbi) "emcc" (src -<.> "o") | src <- cSources . libBuildInfo $ lib ] + [ "-r", dstLib ] ++ [ getSymbolicPath (buildDir lbi) "emcc" (getSymbolicPath src -<.> "o") | src <- cSources . libBuildInfo $ lib ] - let expLib = (buildDir lbi) "libEMCC" <> (unPackageName . pkgName . package $ desc) <> ".exported.js_a" + let expLib = getSymbolicPath (buildDir lbi) "libEMCC" <> (unPackageName . pkgName . package $ desc) <> ".exported.js_a" writeFile expLib (unwords names) -- if there's no lib, this is a fairly pointless exercise @@ -96,19 +96,19 @@ linkCLib libname desc lbi = do exfns <- concat <$> forM exff (fmap words . readFile) unless (null libs0 && null exfns) $ do libs1 <- case libs0 of - [] -> do writeFile (buildDir lbi "emcc_linking_dummy.c") "" + [] -> do writeFile (getSymbolicPath (buildDir lbi) "emcc_linking_dummy.c") "" runDbProgram verbosity gccProgram (withPrograms lbi) $ - ["-c", buildDir lbi "emcc_linking_dummy.c", "-o", buildDir lbi "emcc_linking_dummy.o"] - return [(buildDir lbi "emcc_linking_dummy.o")] + ["-c", getSymbolicPath (buildDir lbi) "emcc_linking_dummy.c", "-o", getSymbolicPath (buildDir lbi) "emcc_linking_dummy.o"] + return [(getSymbolicPath (buildDir lbi) "emcc_linking_dummy.o")] _ -> return libs0 - let dst = if libname == "emcc" "lib.js" then buildDir lbi + let dst = if libname == "emcc" "lib.js" then getSymbolicPath (buildDir lbi) -- who designed this shit in cabal? else case comp of - (CTest test@(TestSuite { testInterface = TestSuiteLibV09 _ _ })) -> buildDir lbi stubName test stubName test ++ "-tmp" - (CTest test@(TestSuite { testInterface = TestSuiteExeV10 _ _ })) -> buildDir lbi unUnqualComponentName (testName test) unUnqualComponentName (testName test) ++ "-tmp" - (CExe exe) -> buildDir lbi unUnqualComponentName (exeName exe) unUnqualComponentName (exeName exe) ++ "-tmp" - _ -> componentBuildDir lbi clbi + (CTest test@(TestSuite { testInterface = TestSuiteLibV09 _ _ })) -> getSymbolicPath (buildDir lbi) stubName test stubName test ++ "-tmp" + (CTest test@(TestSuite { testInterface = TestSuiteExeV10 _ _ })) -> getSymbolicPath (buildDir lbi) unUnqualComponentName (testName test) unUnqualComponentName (testName test) ++ "-tmp" + (CExe exe) -> getSymbolicPath (buildDir lbi) unUnqualComponentName (exeName exe) unUnqualComponentName (exeName exe) ++ "-tmp" + _ -> getSymbolicPath (componentBuildDir lbi clbi) dst' = dst libname createDirectoryIfMissingVerbose verbosity True (takeDirectory dst') runDbProgram verbosity gccProgram (withPrograms lbi) $ @@ -126,7 +126,7 @@ postBuildHook :: Args -> BuildFlags -> PackageDescription -> LocalBuildInfo -> I postBuildHook _args flags desc lbi = do case (takeFileName . programPath <$> lookupProgram ghcProgram (withPrograms lbi)) of Just "js-unknown-ghcjs-ghc" -> - readBuildTargets silent desc (buildArgs flags) >>= \case + readBuildTargets silent desc (buildTargets flags) >>= \case [BuildTargetComponent (CLibName _)] -> print "OK. Lib (Build)" >> buildEMCCLib desc lbi [BuildTargetComponent (CExeName _)] -> print "OK. Exe" [BuildTargetComponent (CTestName _)] -> print "OK. Test" @@ -142,7 +142,7 @@ postConfHook args flags desc lbi = do -- this is technically only needed if the package uses TH somewhere. linkEMCCTHLib desc lbi -- only link the final lib if we want to produce an output. - readBuildTargets silent desc (configArgs flags) >>= \case + readBuildTargets silent desc (configureArgs False flags) >>= \case [BuildTargetComponent (CLibName _)] -> print "OK. Lib" >> postConf simpleUserHooks args flags desc lbi [BuildTargetComponent (CExeName _)] -> print "OK. Exe (Link)" >> linkEMCCLib desc lbi [BuildTargetComponent (CTestName _)] -> print "OK. Test (Link)" >> linkEMCCLib desc lbi @@ -194,7 +194,7 @@ emccBuildHook desc lbi hooks flags = do -- emccCopyHook :: PackageDescription -> LocalBuildInfo -> UserHooks -> CopyFlags -> IO () emccCopyHook desc lbi hooks flags = do - emccLibs <- filterM (\l -> doesFileExist (buildDir lbi "lib" <> l <> ".js_a")) + emccLibs <- filterM (\l -> doesFileExist (getSymbolicPath (buildDir lbi) "lib" <> l <> ".js_a")) [ "EMCC" <> (unPackageName . pkgName . package $ desc) , "EMCC" <> (unPackageName . pkgName . package $ desc) <> ".exported" ] print $ "EMCC extra lib files: " ++ intercalate ", " emccLibs @@ -210,7 +210,7 @@ emccCopyHook desc lbi hooks flags = do emccRegHook :: PackageDescription -> LocalBuildInfo -> UserHooks -> RegisterFlags -> IO () emccRegHook desc lbi hooks flags = do - emccLibs <- filterM (\l -> doesFileExist (buildDir lbi "lib" <> l <> ".js_a")) + emccLibs <- filterM (\l -> doesFileExist (getSymbolicPath (buildDir lbi) "lib" <> l <> ".js_a")) [ "EMCC" <> (unPackageName . pkgName . package $ desc) , "EMCC" <> (unPackageName . pkgName . package $ desc) <> ".exported" ] print $ "EMCC extra lib files: " ++ intercalate ", " emccLibs @@ -226,7 +226,7 @@ emccRegHook desc lbi hooks flags = do emccUnregHook :: PackageDescription -> LocalBuildInfo -> UserHooks -> RegisterFlags -> IO () emccUnregHook desc lbi hooks flags = do - emccLibs <- filterM (\l -> doesFileExist (buildDir lbi "lib" <> l <> ".js_a")) + emccLibs <- filterM (\l -> doesFileExist (getSymbolicPath (buildDir lbi) "lib" <> l <> ".js_a")) [ "EMCC" <> (unPackageName . pkgName . package $ desc) , "EMCC" <> (unPackageName . pkgName . package $ desc) <> ".exported" ] print $ "EMCC extra lib files: " ++ intercalate ", " emccLibs diff --git a/nix-tools/overlay.nix b/nix-tools/overlay.nix index 6035cda448..dd915b6f48 100644 --- a/nix-tools/overlay.nix +++ b/nix-tools/overlay.nix @@ -1,7 +1,7 @@ final: _prev: let - compiler-nix-name = "ghc9101"; + compiler-nix-name = "ghc96"; nix-tools = nix-tools-set { nix-tools = nix-tools-unchecked; diff --git a/nix-tools/static/packaging.nix b/nix-tools/static/packaging.nix index 0eb446d909..d6d7d25d8e 100644 --- a/nix-tools/static/packaging.nix +++ b/nix-tools/static/packaging.nix @@ -28,12 +28,13 @@ let text = '' for nixlib in $(otool -L "$1" |awk '/nix\/store/{ print $1 }'); do case "$nixlib" in - *libiconv.dylib) install_name_tool -change "$nixlib" /usr/lib/libiconv.dylib "$1" ;; + *libiconv.dylib) install_name_tool -change "$nixlib" /usr/lib/libiconv.dylib "$1" ;; *libiconv.2.dylib) install_name_tool -change "$nixlib" /usr/lib/libiconv.2.dylib "$1" ;; - *libffi.*.dylib) install_name_tool -change "$nixlib" /usr/lib/libffi.dylib "$1" ;; - *libc++.*.dylib) install_name_tool -change "$nixlib" /usr/lib/libc++.dylib "$1" ;; - *libz.dylib) install_name_tool -change "$nixlib" /usr/lib/libz.dylib "$1" ;; - *libresolv.*.dylib) install_name_tool -change "$nixlib" /usr/lib/libresolv.dylib "$1" ;; + *libffi.*.dylib) install_name_tool -change "$nixlib" /usr/lib/libffi.dylib "$1" ;; + *libc++.*.dylib) install_name_tool -change "$nixlib" /usr/lib/libc++.dylib "$1" ;; + *libc++abi.*.dylib) install_name_tool -change "$nixlib" /usr/lib/libc++abi.dylib "$1" ;; + *libz.dylib) install_name_tool -change "$nixlib" /usr/lib/libz.dylib "$1" ;; + *libresolv.*.dylib) install_name_tool -change "$nixlib" /usr/lib/libresolv.dylib "$1" ;; *) ;; esac done diff --git a/nix-tools/static/project.nix b/nix-tools/static/project.nix index e7ed7832e7..4202cc5e17 100644 --- a/nix-tools/static/project.nix +++ b/nix-tools/static/project.nix @@ -64,7 +64,7 @@ let static-nix-tools-project = pkgs.haskell-nix.project' { - compiler-nix-name = "ghc928"; + compiler-nix-name = "ghc96"; src = ../.; diff --git a/test/cabal.project.local b/test/cabal.project.local index cdecdf5ac2..fa75ea73b4 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -23,14 +23,14 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-RQS0PUBA6nAD1T0OSVFhcF7ldh+6L+cW+k96Hgo3z5s= + --sha256: sha256-xilNP+uPmCGM1NXZJYgCEYXmGdjnE8todMdQKJ2BkJw= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b secure: True root-keys: key-threshold: 0 - --sha256: sha256-mHxgsrbjHdyE8yqOkhZsk4WGKGZDFqSn07ENMPy1rVA= + --sha256: sha256-RXRKmHMpOY7ePZGGabZ1YGhF42+eLslZEIMe2JUYwB0= if os(ghcjs) extra-packages: ghci diff --git a/test/gi-gtk/default.nix b/test/gi-gtk/default.nix index 1fe2389ecd..cdab43a1bb 100644 --- a/test/gi-gtk/default.nix +++ b/test/gi-gtk/default.nix @@ -10,8 +10,6 @@ let cabalProjectLocal = builtins.readFile ../cabal.project.local + '' -- The overloading feature of haskell-gi makes build times very long constraints: haskell-gi-overloading ==0.0 - -- Needed for the current nix-tools TODO remove once nix-tools is updated - constraints: Cabal <3.12 ''; }; From 96ea8870f0d422b184c43dce079a13e209aff6bb Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 19 Apr 2025 00:51:57 +0000 Subject: [PATCH 002/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 6d579c20c7..841006dc80 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1744935896, - "narHash": "sha256-jsIFpLR8EOoj1np4f/fwYvm55ONVF4ebXHimW07pv3c=", + "lastModified": 1745022598, + "narHash": "sha256-lSlM5rDHWnUdo4Gqd/oDffhuJB1w23Lb6CMJ2Y9mmOQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "616d5d6d08eee94376c57b560c1155a43ddfb1b1", + "rev": "bb0a07c77973b28f1c8e188865110cd9ea22f93d", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1744935886, - "narHash": "sha256-51sNWB+CsVaq24DC7gYLuDmTX73AMIpfpW0HvOyCi/8=", + "lastModified": 1745022587, + "narHash": "sha256-+Sype0bQtltgCXGpH8Dhnzfg6ujwf/+nScrN6qchAXs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4e36dca00cbcf1db7afea37c5196b7394ccc53ea", + "rev": "b62f05ab7ebad9d069a92d9aa5db23ac87a88be3", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1744935141, - "narHash": "sha256-uY89wZrjzINYWSoLL/kdz8lNgqiiYX2Wqk1cZe0kZ4M=", + "lastModified": 1745022249, + "narHash": "sha256-rtuGw9EVP/Pwzhn7Db+mI2W8oZTL7rEmQ3/J5M0LoFM=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "5858674ee4daba8e9b81f5ecce2dc4215a286767", + "rev": "89798b3be20d5737594073f5ecc00bd50719c846", "type": "github" }, "original": { From a0a5d6173c6c79cd7bf27a71d439cf936165479f Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 20 Apr 2025 00:52:10 +0000 Subject: [PATCH 003/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 841006dc80..77e566655d 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1745022598, - "narHash": "sha256-lSlM5rDHWnUdo4Gqd/oDffhuJB1w23Lb6CMJ2Y9mmOQ=", + "lastModified": 1745109066, + "narHash": "sha256-5JGETERJbEifXAhx4xCgerbfyu5w9CDZT9VoCnJyJLE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "bb0a07c77973b28f1c8e188865110cd9ea22f93d", + "rev": "6fbbbdd45b59bef57ee7baedfa8e81e807c08345", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1745022587, - "narHash": "sha256-+Sype0bQtltgCXGpH8Dhnzfg6ujwf/+nScrN6qchAXs=", + "lastModified": 1745109056, + "narHash": "sha256-07QmyG9ecYbTEi0FGwtO58/Bf6nwgWGtHZxb8+hievM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b62f05ab7ebad9d069a92d9aa5db23ac87a88be3", + "rev": "38b8e2bb80af4ab7716611f356fbf32a2b3f0bf6", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1745022249, - "narHash": "sha256-rtuGw9EVP/Pwzhn7Db+mI2W8oZTL7rEmQ3/J5M0LoFM=", + "lastModified": 1745108441, + "narHash": "sha256-huvzWsmD8smZF+wQlYcxYERKRuxGPzgcVhb61q9gkMs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "89798b3be20d5737594073f5ecc00bd50719c846", + "rev": "2e5808f3dc71d693d4fdf41d3e17ebeadf7a0aa0", "type": "github" }, "original": { From f008ae2f5581cf57bdf99775e38a76aa6e809f5a Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 21 Apr 2025 00:52:14 +0000 Subject: [PATCH 004/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 77e566655d..7dbc980051 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1745109066, - "narHash": "sha256-5JGETERJbEifXAhx4xCgerbfyu5w9CDZT9VoCnJyJLE=", + "lastModified": 1745195189, + "narHash": "sha256-8tzX7ocy8yEQ6ceW9A8vpt7YyWzCRmJ7LqWrMHZgWqw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6fbbbdd45b59bef57ee7baedfa8e81e807c08345", + "rev": "e30f856546df57cca3f976363fb8ebe584bc5d65", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1745109056, - "narHash": "sha256-07QmyG9ecYbTEi0FGwtO58/Bf6nwgWGtHZxb8+hievM=", + "lastModified": 1745195179, + "narHash": "sha256-M8X6CfGmCJhZEcgOKk7qFz2aT22yS9yQpPgXBBM+fpo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "38b8e2bb80af4ab7716611f356fbf32a2b3f0bf6", + "rev": "6bb879ed57fd29b6474f026b09b20b520ec1d2c9", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1745108441, - "narHash": "sha256-huvzWsmD8smZF+wQlYcxYERKRuxGPzgcVhb61q9gkMs=", + "lastModified": 1745194414, + "narHash": "sha256-Su2YWbgkio4NwVtbaRkzpNPaNQyHcd3rU0XgU0+AYh4=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "2e5808f3dc71d693d4fdf41d3e17ebeadf7a0aa0", + "rev": "80f504a4629952885dc9f1df7f152ff103b7ca98", "type": "github" }, "original": { From e1a4a210211870cafc4e4bec2c47d558aacae83d Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 22 Apr 2025 00:52:06 +0000 Subject: [PATCH 005/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7dbc980051..64656babdc 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1745195189, - "narHash": "sha256-8tzX7ocy8yEQ6ceW9A8vpt7YyWzCRmJ7LqWrMHZgWqw=", + "lastModified": 1745281531, + "narHash": "sha256-rsQHPBeNimoPRXTAnfq+ICzBhaItCgKS8PCxtKByS74=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e30f856546df57cca3f976363fb8ebe584bc5d65", + "rev": "485cdbf24e7ce1673749659510f9568f9ac686aa", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1745195179, - "narHash": "sha256-M8X6CfGmCJhZEcgOKk7qFz2aT22yS9yQpPgXBBM+fpo=", + "lastModified": 1745281520, + "narHash": "sha256-dk/70Cmjx8fGSURcAHQnowETeAOElzDxn0wH/P4DUWA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6bb879ed57fd29b6474f026b09b20b520ec1d2c9", + "rev": "4c98778277c642e326b3cb7c2c9cbb9163b9ffbd", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1745194414, - "narHash": "sha256-Su2YWbgkio4NwVtbaRkzpNPaNQyHcd3rU0XgU0+AYh4=", + "lastModified": 1745280765, + "narHash": "sha256-XEIUgQ5un33yTMsDnHoEPYUiS3HEtc1N7D0ZWpnjBF0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "80f504a4629952885dc9f1df7f152ff103b7ca98", + "rev": "02793dd58ae6448fc06fc262af37e28fdc5d62e1", "type": "github" }, "original": { From a3b1ef076983f1878a4cf6b182b77ea516d04823 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 23 Apr 2025 00:51:32 +0000 Subject: [PATCH 006/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 64656babdc..078156b4db 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1745281531, - "narHash": "sha256-rsQHPBeNimoPRXTAnfq+ICzBhaItCgKS8PCxtKByS74=", + "lastModified": 1745367943, + "narHash": "sha256-uNeFIEnFGqmbLZk5UXLdWRKsyBvwLb4At3QrnH2HN4Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "485cdbf24e7ce1673749659510f9568f9ac686aa", + "rev": "f12db0c941e509f8a9334418f0ccb38bfa0efe8c", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1745281520, - "narHash": "sha256-dk/70Cmjx8fGSURcAHQnowETeAOElzDxn0wH/P4DUWA=", + "lastModified": 1745367932, + "narHash": "sha256-3wuje6j3cwmfvqkau5Qvg/ffV8c1OeOTDrCpOJWvbe0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4c98778277c642e326b3cb7c2c9cbb9163b9ffbd", + "rev": "b808c8edf5031fcc26a22306eafb2e037d2ec094", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1745280765, - "narHash": "sha256-XEIUgQ5un33yTMsDnHoEPYUiS3HEtc1N7D0ZWpnjBF0=", + "lastModified": 1745367162, + "narHash": "sha256-Kt75CsTcck1d38A33LxgY8/n8kiqfs9LINLASXfdHH8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "02793dd58ae6448fc06fc262af37e28fdc5d62e1", + "rev": "b50895aadf07291c8cd806fc246489a492c1f76f", "type": "github" }, "original": { From ac4d74385d1e2848ca011a4fc905fec1e4600346 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 23 Apr 2025 13:17:09 +1200 Subject: [PATCH 007/308] Fix selection of crossPlaforms for cross compiltion (#2348) * Fix selection of crossPlaforms for cross compiltion * Update overlays/haskell.nix Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- overlays/haskell.nix | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 9e7bb7a8e3..112ce22690 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -826,10 +826,10 @@ final: prev: { # ]; # } # - shellFor = shellArgs: + shellFor = extraArgs: shellFor' (rawProject.args.shell // extraArgs).crossPlatforms extraArgs; + shellFor' = crossPlatforms: extraArgs: let - # These are the args we will pass to the main shell. - args' = builtins.removeAttrs (rawProject.args.shell // shellArgs) [ "crossPlatforms" ]; + shellArgs = builtins.removeAttrs (rawProject.args.shell // extraArgs) [ "crossPlatforms" ]; # These are the args we will pass to the shells for the corss compiler argsCross = # These things should match main shell @@ -839,17 +839,12 @@ final: prev: { # The main shell's hoogle will probably be faster to build. withHoogle = false; }; - # These are the cross compilation versions of the project we will include. - selectedCrossProjects = - if shellArgs ? crossPlatforms - then shellArgs.crossPlatforms projectCross - else []; # Shells for cross compilation - crossShells = builtins.map (project: project.shellFor argsCross) - selectedCrossProjects; - in rawProject.hsPkgs.shellFor (args' // { + crossShells = builtins.map (project: project.shellFor' (_p: []) argsCross) + (crossPlatforms projectCross); + in rawProject.hsPkgs.shellFor (shellArgs // { # Add inputs from the cross compilation shells - inputsFrom = args'.inputsFrom or [] ++ crossShells; + inputsFrom = shellArgs.inputsFrom or [] ++ crossShells; }); # Default shell From cafa5223a5411fa7545f21d76e9b8743f4d00c29 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 24 Apr 2025 00:51:40 +0000 Subject: [PATCH 008/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 078156b4db..8c75eacdee 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1745367943, - "narHash": "sha256-uNeFIEnFGqmbLZk5UXLdWRKsyBvwLb4At3QrnH2HN4Y=", + "lastModified": 1745454330, + "narHash": "sha256-MA9xYIHwc1JcffoUx1toBCpcmmx1MYqi4Ds9n+iP8Ig=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f12db0c941e509f8a9334418f0ccb38bfa0efe8c", + "rev": "989ae6c63d1f2fcee69aa7f126010ac5844e1637", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1745367932, - "narHash": "sha256-3wuje6j3cwmfvqkau5Qvg/ffV8c1OeOTDrCpOJWvbe0=", + "lastModified": 1745454319, + "narHash": "sha256-SCBdlrFg1TmVqrrM6UWLuE+dhfDV5cKrNgdFTaR91gE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b808c8edf5031fcc26a22306eafb2e037d2ec094", + "rev": "cfa745733399e92f1214d94e26e22f9f721702ba", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1745367162, - "narHash": "sha256-Kt75CsTcck1d38A33LxgY8/n8kiqfs9LINLASXfdHH8=", + "lastModified": 1745453555, + "narHash": "sha256-UdWBshU4hyz5Q76yqxvkhbc+ywAYeQtrigyUnOGTaV4=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "b50895aadf07291c8cd806fc246489a492c1f76f", + "rev": "077ab84d76fdcd96ba879b135f35c1edb853fcd2", "type": "github" }, "original": { From 24b03d0982f0a290411612f03275b3b35d1c4294 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 25 Apr 2025 00:52:03 +0000 Subject: [PATCH 009/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 8c75eacdee..8e4795ed8e 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1745454330, - "narHash": "sha256-MA9xYIHwc1JcffoUx1toBCpcmmx1MYqi4Ds9n+iP8Ig=", + "lastModified": 1745540747, + "narHash": "sha256-U6cGKDFyZmiDeU+elxQfhO91hGRYuURdsC0Q4l2pDUg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "989ae6c63d1f2fcee69aa7f126010ac5844e1637", + "rev": "1b43da1c0dc2efd89a5f5ff3297a4d441f05e80c", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1745454319, - "narHash": "sha256-SCBdlrFg1TmVqrrM6UWLuE+dhfDV5cKrNgdFTaR91gE=", + "lastModified": 1745540736, + "narHash": "sha256-xvQItNz2ePHDPIsammAcege2VIJMW4k7+vC38q/jEik=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "cfa745733399e92f1214d94e26e22f9f721702ba", + "rev": "c62849535b9359b39917da8f35f6057182218907", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1745453555, - "narHash": "sha256-UdWBshU4hyz5Q76yqxvkhbc+ywAYeQtrigyUnOGTaV4=", + "lastModified": 1745539978, + "narHash": "sha256-0J+/+5ApD/rgxRKk7A+F0DKWo5j59ARGxEfKo3bNsR0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "077ab84d76fdcd96ba879b135f35c1edb853fcd2", + "rev": "66b79101570fc437b81d3ae4b7b7948271943cfd", "type": "github" }, "original": { From 546e5f85928ef3917ac95cd67506dc239f25d536 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 26 Apr 2025 00:51:57 +0000 Subject: [PATCH 010/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 8e4795ed8e..3c05cdef24 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1745540747, - "narHash": "sha256-U6cGKDFyZmiDeU+elxQfhO91hGRYuURdsC0Q4l2pDUg=", + "lastModified": 1745627112, + "narHash": "sha256-Y6ltic+W32pk9GTUzsaYFpuKLEHcFgrWHBn3khs5s1k=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1b43da1c0dc2efd89a5f5ff3297a4d441f05e80c", + "rev": "75d31b8f01b964d7bc1736d05e8bb6a4aff4d2ba", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1745540736, - "narHash": "sha256-xvQItNz2ePHDPIsammAcege2VIJMW4k7+vC38q/jEik=", + "lastModified": 1745627102, + "narHash": "sha256-3l0GpgiEl/oPEJzwrteLYlQEIXjUxzlDL0KxaEncqrc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c62849535b9359b39917da8f35f6057182218907", + "rev": "711767469d7b22a5bff741f3934ae1c96089349f", "type": "github" }, "original": { From dd0712e2816b06ad43d3da2cfac8e691dc6da4ef Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 27 Apr 2025 00:52:17 +0000 Subject: [PATCH 011/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 3c05cdef24..a9821175d0 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1745627112, - "narHash": "sha256-Y6ltic+W32pk9GTUzsaYFpuKLEHcFgrWHBn3khs5s1k=", + "lastModified": 1745713642, + "narHash": "sha256-ppFOtKiL6uUBjniZL6/zezpkjqNnYUE+tKXaa45pSBk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "75d31b8f01b964d7bc1736d05e8bb6a4aff4d2ba", + "rev": "24ac83a7a12a2ac5a4dad054bbe888ef7faba627", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1745627102, - "narHash": "sha256-3l0GpgiEl/oPEJzwrteLYlQEIXjUxzlDL0KxaEncqrc=", + "lastModified": 1745713632, + "narHash": "sha256-EvWC/XZEL4PIXt2o/AaCGGmHORJK+0YvTXlmr4jF1tc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "711767469d7b22a5bff741f3934ae1c96089349f", + "rev": "f77fbbab1086adfe7b9854f0f73e11e5602cdd62", "type": "github" }, "original": { From 80ca9ce6f5bf5316fe277738420615656bfe2a8a Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 28 Apr 2025 00:51:39 +0000 Subject: [PATCH 012/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index a9821175d0..45c8072106 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1745713642, - "narHash": "sha256-ppFOtKiL6uUBjniZL6/zezpkjqNnYUE+tKXaa45pSBk=", + "lastModified": 1745799992, + "narHash": "sha256-0ZTjdYV0jCkyGFiHtS4K3SbTzCbU8neT+V8rl2a5ySE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "24ac83a7a12a2ac5a4dad054bbe888ef7faba627", + "rev": "b507038df90053f33a73489a1ba3c3c3f2450f0e", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1745713632, - "narHash": "sha256-EvWC/XZEL4PIXt2o/AaCGGmHORJK+0YvTXlmr4jF1tc=", + "lastModified": 1745799982, + "narHash": "sha256-amRcoe8oqtvCrpschbRKyQc/ExmRviRu9UdGbIq91so=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f77fbbab1086adfe7b9854f0f73e11e5602cdd62", + "rev": "b94005ee2eb810c6abf6187b4bd61d04ab313368", "type": "github" }, "original": { From 6227f508b3103dd1654ca82c47c824e526790d17 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 29 Apr 2025 00:52:07 +0000 Subject: [PATCH 013/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 45c8072106..63b6cdfce2 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1745799992, - "narHash": "sha256-0ZTjdYV0jCkyGFiHtS4K3SbTzCbU8neT+V8rl2a5ySE=", + "lastModified": 1745886331, + "narHash": "sha256-Wm9fXouCzOmfLzyOhyyTtv+Qrmjx/JqvTUaLKoHi0nk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b507038df90053f33a73489a1ba3c3c3f2450f0e", + "rev": "ed432f8c47910d9f31493a6e06d5aa5fabb97168", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1745799982, - "narHash": "sha256-amRcoe8oqtvCrpschbRKyQc/ExmRviRu9UdGbIq91so=", + "lastModified": 1745886322, + "narHash": "sha256-/+bAYBe/tGnep+Wb1pHGJAmi5wMowUa5zq8Y6YvY/lk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b94005ee2eb810c6abf6187b4bd61d04ab313368", + "rev": "c82913083512409c0a480f7175ab7e2fb947f56e", "type": "github" }, "original": { From 3f249707a0ee0d02b3dd121874ffe29d3106b248 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 30 Apr 2025 00:52:07 +0000 Subject: [PATCH 014/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 63b6cdfce2..2885f8298e 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1745886331, - "narHash": "sha256-Wm9fXouCzOmfLzyOhyyTtv+Qrmjx/JqvTUaLKoHi0nk=", + "lastModified": 1745972738, + "narHash": "sha256-Wl393kUi7vMfIacHv2AuTV0OjOBZZT3dMcNW4Mnqrn8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ed432f8c47910d9f31493a6e06d5aa5fabb97168", + "rev": "fbb0696c81f2f709f8e486476350b3ce92022192", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1745886322, - "narHash": "sha256-/+bAYBe/tGnep+Wb1pHGJAmi5wMowUa5zq8Y6YvY/lk=", + "lastModified": 1745972728, + "narHash": "sha256-3u86wAf+PoaFINiucIUmglbHtDbCHyznmuM+2D0T5Cc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c82913083512409c0a480f7175ab7e2fb947f56e", + "rev": "11e5c9a197f56a35e10e433afce538272dd4993d", "type": "github" }, "original": { From 0e7c929c4d26cd11e3fd69021c96f5d8d7d46d24 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 1 May 2025 00:52:20 +0000 Subject: [PATCH 015/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 2885f8298e..7e739d02c6 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1745972738, - "narHash": "sha256-Wl393kUi7vMfIacHv2AuTV0OjOBZZT3dMcNW4Mnqrn8=", + "lastModified": 1746059277, + "narHash": "sha256-qZFW7A5SWMvXfsazI7GY+Fi0C4GepSbay7OrGQu2rp0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fbb0696c81f2f709f8e486476350b3ce92022192", + "rev": "e5dda063af4baccaef266204560ab992ffe996b6", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1745972728, - "narHash": "sha256-3u86wAf+PoaFINiucIUmglbHtDbCHyznmuM+2D0T5Cc=", + "lastModified": 1746059267, + "narHash": "sha256-01hyBjuVS90MnUzMpJZdnvpBCCXxc3LjGC1XGSBbF3Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "11e5c9a197f56a35e10e433afce538272dd4993d", + "rev": "4a16cf04fa3ee0360ec30001953daff807fbb2b4", "type": "github" }, "original": { From 87f5bf66df6928da8ceffe47fa10e4e451c95964 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 2 May 2025 00:52:08 +0000 Subject: [PATCH 016/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7e739d02c6..d3557db4ac 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1746059277, - "narHash": "sha256-qZFW7A5SWMvXfsazI7GY+Fi0C4GepSbay7OrGQu2rp0=", + "lastModified": 1746145538, + "narHash": "sha256-ltGS8N/XlHJEfmBkAWiWXiq6yVC5nO2yTvcwAsRfMsw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e5dda063af4baccaef266204560ab992ffe996b6", + "rev": "3c76d4c872385929440789a37f9674c419c6f4f4", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1746059267, - "narHash": "sha256-01hyBjuVS90MnUzMpJZdnvpBCCXxc3LjGC1XGSBbF3Y=", + "lastModified": 1746145528, + "narHash": "sha256-CIwe81iezOIVa6EqB0N8LvRPyvy7fVaNLODti05sQpA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4a16cf04fa3ee0360ec30001953daff807fbb2b4", + "rev": "3db133af78eccc7540eea37478d0a0ec8bbef745", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1745539978, - "narHash": "sha256-0J+/+5ApD/rgxRKk7A+F0DKWo5j59ARGxEfKo3bNsR0=", + "lastModified": 1746144767, + "narHash": "sha256-tSRDYP/V7KOGPDc/655/5bs9ykiDN8c53spYUZkYTtk=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "66b79101570fc437b81d3ae4b7b7948271943cfd", + "rev": "0cc2834b4625572a9c562a9ad394b131a077fe06", "type": "github" }, "original": { From 853414c88f54e690aee4cc74a0972d3eef43c546 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 3 May 2025 00:52:07 +0000 Subject: [PATCH 017/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d3557db4ac..f7c6b3bf1b 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1746145538, - "narHash": "sha256-ltGS8N/XlHJEfmBkAWiWXiq6yVC5nO2yTvcwAsRfMsw=", + "lastModified": 1746231921, + "narHash": "sha256-Jzk4vjRf6lVaKznZjs9NSUrSxOvmRdUL14AbcH46FYM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3c76d4c872385929440789a37f9674c419c6f4f4", + "rev": "fe7c066da3eba792a7e71f100bcd0627c8cd6fea", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1746145528, - "narHash": "sha256-CIwe81iezOIVa6EqB0N8LvRPyvy7fVaNLODti05sQpA=", + "lastModified": 1746231911, + "narHash": "sha256-C6l8ntxUOWDP1+CxOl+/b9qT8PLKLA0YIR0gHs092fc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3db133af78eccc7540eea37478d0a0ec8bbef745", + "rev": "76ee5f7ab0073fa6dd728450076839f770b3541b", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1746144767, - "narHash": "sha256-tSRDYP/V7KOGPDc/655/5bs9ykiDN8c53spYUZkYTtk=", + "lastModified": 1746231145, + "narHash": "sha256-2/BxWl5cu5n+YxYC4Qc0xEWGbU/RY82hNSiBnweWdk4=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "0cc2834b4625572a9c562a9ad394b131a077fe06", + "rev": "d1f26d00c94c284d75d27335d8d754caa46f84f2", "type": "github" }, "original": { From c462c3b882db951faf439ab5320a3ccc9c093b95 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 4 May 2025 00:52:17 +0000 Subject: [PATCH 018/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f7c6b3bf1b..a4ebdd1c86 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1746231921, - "narHash": "sha256-Jzk4vjRf6lVaKznZjs9NSUrSxOvmRdUL14AbcH46FYM=", + "lastModified": 1746318486, + "narHash": "sha256-bLu2KAxMu+mYitKln6TFaoR7dSO6BDzRAvw7ZRe58do=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fe7c066da3eba792a7e71f100bcd0627c8cd6fea", + "rev": "71073b6191b8d613f0bc51231a37fdd3d6f800e4", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1746231911, - "narHash": "sha256-C6l8ntxUOWDP1+CxOl+/b9qT8PLKLA0YIR0gHs092fc=", + "lastModified": 1746318476, + "narHash": "sha256-G7xHHjuFcS/PNVLrZf32o7pZiQbZxIruWeutBeUw8og=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "76ee5f7ab0073fa6dd728450076839f770b3541b", + "rev": "7cfa07e721ef84eceba9a8996a825d718fc8cd8b", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1746231145, - "narHash": "sha256-2/BxWl5cu5n+YxYC4Qc0xEWGbU/RY82hNSiBnweWdk4=", + "lastModified": 1746317641, + "narHash": "sha256-AY9W9LcVzNTrnS7oYCmYmgXHHZceVPbkBZOJV7gOzmg=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d1f26d00c94c284d75d27335d8d754caa46f84f2", + "rev": "1b1b4c312d6b36b48f76dbb270c7b30c9075c9ae", "type": "github" }, "original": { From 5d3c225974360def0c61fb34e0b04095c8c2da92 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 5 May 2025 00:52:09 +0000 Subject: [PATCH 019/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a4ebdd1c86..a8cfbbd1f4 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1746318486, - "narHash": "sha256-bLu2KAxMu+mYitKln6TFaoR7dSO6BDzRAvw7ZRe58do=", + "lastModified": 1746404840, + "narHash": "sha256-pZIXtOZDEs5XMrt5BEpAtl7IXpd5uZNvEjtOGOW9KYk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "71073b6191b8d613f0bc51231a37fdd3d6f800e4", + "rev": "7c580e86c40cd722de94cf33e25a6429ac4f2c42", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1746318476, - "narHash": "sha256-G7xHHjuFcS/PNVLrZf32o7pZiQbZxIruWeutBeUw8og=", + "lastModified": 1746404829, + "narHash": "sha256-V6jOcvjQf8wGThzmE94P05CkY560j+wqkxAuMjiBOes=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7cfa07e721ef84eceba9a8996a825d718fc8cd8b", + "rev": "1ad24d4c8899d35526f7907d19b90da808bbb249", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1746317641, - "narHash": "sha256-AY9W9LcVzNTrnS7oYCmYmgXHHZceVPbkBZOJV7gOzmg=", + "lastModified": 1746404023, + "narHash": "sha256-4DzfCNJvxop4T9e7TUz7f+L+ml9ZOE8TsDbEpcbfHuw=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "1b1b4c312d6b36b48f76dbb270c7b30c9075c9ae", + "rev": "4e936e6a341752ab45cf7ba580443f81beafa2ef", "type": "github" }, "original": { From 2c920fdedb2435bfb39937ddc7410e76d43cd4ec Mon Sep 17 00:00:00 2001 From: Tom McLaughlin Date: Mon, 5 May 2025 01:05:41 -0700 Subject: [PATCH 020/308] Try fixing ghc-toolchain.nix on aarch64-darwin (#2350) Co-authored-by: Tom McLaughlin --- .../ghc9101-aarch64/ghc-toolchain.nix | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 materialized/ghc-boot-packages-nix/ghc9101-aarch64/ghc-toolchain.nix diff --git a/materialized/ghc-boot-packages-nix/ghc9101-aarch64/ghc-toolchain.nix b/materialized/ghc-boot-packages-nix/ghc9101-aarch64/ghc-toolchain.nix new file mode 100644 index 0000000000..a46ace1fa2 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9101-aarch64/ghc-toolchain.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.4"; + identifier = { name = "ghc-toolchain"; version = "0.1.0.0"; }; + license = "NONE"; + copyright = "(c) The GHC Developers"; + maintainer = "ben@well-typed.com"; + author = "Ben Gamari"; + homepage = ""; + url = ""; + synopsis = "Utility for managing GHC target toolchains"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } From a0a8dfddf635382506a3acbf63af7fba3185485f Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 6 May 2025 00:52:08 +0000 Subject: [PATCH 021/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a8cfbbd1f4..cee9fe3900 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1746404840, - "narHash": "sha256-pZIXtOZDEs5XMrt5BEpAtl7IXpd5uZNvEjtOGOW9KYk=", + "lastModified": 1746491153, + "narHash": "sha256-n8vsvbH4KbZjxLIOiYVfFgdBK3CzyjCC3tIAoo276xQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7c580e86c40cd722de94cf33e25a6429ac4f2c42", + "rev": "d6384f5f77f32c8f816fd48316431dde64b37dcb", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1746404829, - "narHash": "sha256-V6jOcvjQf8wGThzmE94P05CkY560j+wqkxAuMjiBOes=", + "lastModified": 1746491143, + "narHash": "sha256-z5CuJarWylph7Ocfzw8ttpBYSwIdIUS1rSAcj6p4tuw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1ad24d4c8899d35526f7907d19b90da808bbb249", + "rev": "d00791f894713a2887f92cfb67509f2aefcabcef", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1746404023, - "narHash": "sha256-4DzfCNJvxop4T9e7TUz7f+L+ml9ZOE8TsDbEpcbfHuw=", + "lastModified": 1746490378, + "narHash": "sha256-cApoeTyHzeJVbHpNydaS3LVuoyJnMeENO+sklg4DOuw=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "4e936e6a341752ab45cf7ba580443f81beafa2ef", + "rev": "680384482c7316b27816cac1f2ac35716648b7ca", "type": "github" }, "original": { From cd4f09fe0629beb2887bdd83b3d35936b00b9850 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 7 May 2025 00:51:36 +0000 Subject: [PATCH 022/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index cee9fe3900..f525a6b819 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1746491153, - "narHash": "sha256-n8vsvbH4KbZjxLIOiYVfFgdBK3CzyjCC3tIAoo276xQ=", + "lastModified": 1746577546, + "narHash": "sha256-57Wg38IQJ78KlgOIVsKmZDZ6Es0nNx39Ekix2lR4m3k=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d6384f5f77f32c8f816fd48316431dde64b37dcb", + "rev": "4032122ed456935c946d9c89e3f43c7bd62e1260", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1746491143, - "narHash": "sha256-z5CuJarWylph7Ocfzw8ttpBYSwIdIUS1rSAcj6p4tuw=", + "lastModified": 1746577536, + "narHash": "sha256-VUmWF33KqI3wBm5Z++Fh/whv53Fu9z20s+XwgrWJVvQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d00791f894713a2887f92cfb67509f2aefcabcef", + "rev": "87bebf6893e5fdef90100c9b40f121594e57f4ee", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1746490378, - "narHash": "sha256-cApoeTyHzeJVbHpNydaS3LVuoyJnMeENO+sklg4DOuw=", + "lastModified": 1746576772, + "narHash": "sha256-oXgi3Qt0FDdhmAH/Rw8/PC9dHCCBAPldzWdNcEiu3Jk=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "680384482c7316b27816cac1f2ac35716648b7ca", + "rev": "cd0c2e35944d9ff5ffbda4e95e60a9399629e60a", "type": "github" }, "original": { From f98f6bf207d8344c0b043ae4ccbac8a9f887f3a4 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 8 May 2025 00:52:08 +0000 Subject: [PATCH 023/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f525a6b819..43c44b1615 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1746577546, - "narHash": "sha256-57Wg38IQJ78KlgOIVsKmZDZ6Es0nNx39Ekix2lR4m3k=", + "lastModified": 1746663969, + "narHash": "sha256-SnVSxxxX+J1hVI7sFh3nBUPEI5ql8ieNwE9xFm4uizk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4032122ed456935c946d9c89e3f43c7bd62e1260", + "rev": "cc4e4c0d1b0c76dad98de5eaf1e9065516caf6dc", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1746577536, - "narHash": "sha256-VUmWF33KqI3wBm5Z++Fh/whv53Fu9z20s+XwgrWJVvQ=", + "lastModified": 1746663959, + "narHash": "sha256-sv0/0CmiQWHqsWlcwhSNlnux8YPMJx2Y3FxAalvB54s=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "87bebf6893e5fdef90100c9b40f121594e57f4ee", + "rev": "a4f96c31bebc5cbee31b7ea079bc7ffeb5d35957", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1746576772, - "narHash": "sha256-oXgi3Qt0FDdhmAH/Rw8/PC9dHCCBAPldzWdNcEiu3Jk=", + "lastModified": 1746663191, + "narHash": "sha256-s1Yln2DNZp1aJyNuCQm3/vvW8W6wgDWG5L5L5HOx3j8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "cd0c2e35944d9ff5ffbda4e95e60a9399629e60a", + "rev": "b9b32646970b0f8ea5e399ff948aaa9d212aca91", "type": "github" }, "original": { From 6e4c22549e5045bf0ff5b15b8a0d14ca9b8407b4 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 9 May 2025 00:52:09 +0000 Subject: [PATCH 024/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 43c44b1615..ea6c7979e7 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1746663969, - "narHash": "sha256-SnVSxxxX+J1hVI7sFh3nBUPEI5ql8ieNwE9xFm4uizk=", + "lastModified": 1746750371, + "narHash": "sha256-RjeQ3ITyLy8EUQkQQww2TYgYeFpNGfekYx86+RJEDmY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "cc4e4c0d1b0c76dad98de5eaf1e9065516caf6dc", + "rev": "fb0bf47ca325226cf115d467f23fd2ef03339861", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1746663959, - "narHash": "sha256-sv0/0CmiQWHqsWlcwhSNlnux8YPMJx2Y3FxAalvB54s=", + "lastModified": 1746750361, + "narHash": "sha256-U63OLr9ECT4rx1kSWpV6UMVQeEzCD3TbBFU84cABU7g=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a4f96c31bebc5cbee31b7ea079bc7ffeb5d35957", + "rev": "535df5fbe747407601112a99b8cd37c7620fd0ce", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1746663191, - "narHash": "sha256-s1Yln2DNZp1aJyNuCQm3/vvW8W6wgDWG5L5L5HOx3j8=", + "lastModified": 1746749572, + "narHash": "sha256-0jUwKXRwaOuzVkmaz1zajXmVic948PsUtWLvN4Be6R0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "b9b32646970b0f8ea5e399ff948aaa9d212aca91", + "rev": "4029bb170a515bb908251a8ca5be0b03b2cce72a", "type": "github" }, "original": { From 5cc54670fb06177c69558bdce32db28ea535dda1 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 9 May 2025 19:27:33 +1200 Subject: [PATCH 025/308] Add GHC 9.10.2 (#2353) * Add GHC 9.10.2 * Update patch version bounds * Update patch version bounds * Add materialization * Disable HLS build for GHC 9.10.2 * Add materialization * Add materialization * Disable broken TH test for android armv7a * Update docs * Update github action --- .github/workflows/pipeline.yml | 6 +- build.nix | 2 +- docs/reference/supported-ghc-versions.md | 2 +- lazy-inputs/default.nix | 1 + lazy-inputs/ghc9102/flake.lock | 30 +++++++ lazy-inputs/ghc9102/flake.nix | 12 +++ .../ghc9102-aarch64/base.nix | 34 ++++++++ .../ghc9102-aarch64/deriveConstants.nix | 39 +++++++++ .../ghc9102-aarch64/genprimopcode.nix | 40 +++++++++ .../ghc9102-aarch64/ghc-bignum.nix | 37 +++++++++ .../ghc9102-aarch64/ghc-boot.nix | 47 +++++++++++ .../ghc9102-aarch64/ghc-heap.nix | 36 +++++++++ .../ghc9102-aarch64/ghc-internal.nix | 49 +++++++++++ .../ghc9102-aarch64/ghc-platform.nix | 31 +++++++ .../ghc9102-aarch64/ghc-prim.nix | 47 +++++++++++ .../ghc9102-aarch64/ghc-toolchain.nix | 39 +++++++++ .../ghc9102-aarch64/ghc.nix | 81 +++++++++++++++++++ .../ghc9102-aarch64/ghci.nix | 45 +++++++++++ .../ghc9102-aarch64/hpc.nix | 38 +++++++++ .../ghc9102-aarch64/integer-gmp.nix | 36 +++++++++ .../ghc9102-aarch64/iserv.nix | 41 ++++++++++ .../ghc9102-aarch64/remote-iserv.nix | 36 +++++++++ .../ghc9102-aarch64/template-haskell.nix | 36 +++++++++ .../ghc9102-ghcjs/base.nix | 34 ++++++++ .../ghc9102-ghcjs/deriveConstants.nix | 39 +++++++++ .../ghc9102-ghcjs/genprimopcode.nix | 40 +++++++++ .../ghc9102-ghcjs/ghc-bignum.nix | 37 +++++++++ .../ghc9102-ghcjs/ghc-boot.nix | 47 +++++++++++ .../ghc9102-ghcjs/ghc-heap.nix | 36 +++++++++ .../ghc9102-ghcjs/ghc-internal.nix | 49 +++++++++++ .../ghc9102-ghcjs/ghc-platform.nix | 31 +++++++ .../ghc9102-ghcjs/ghc-prim.nix | 47 +++++++++++ .../ghc9102-ghcjs/ghc-toolchain.nix | 39 +++++++++ .../ghc9102-ghcjs/ghc.nix | 81 +++++++++++++++++++ .../ghc9102-ghcjs/ghci.nix | 45 +++++++++++ .../ghc9102-ghcjs/hpc.nix | 38 +++++++++ .../ghc9102-ghcjs/integer-gmp.nix | 36 +++++++++ .../ghc9102-ghcjs/iserv.nix | 41 ++++++++++ .../ghc9102-ghcjs/remote-iserv.nix | 36 +++++++++ .../ghc9102-ghcjs/template-haskell.nix | 36 +++++++++ .../ghc-boot-packages-nix/ghc9102/base.nix | 34 ++++++++ .../ghc9102/deriveConstants.nix | 39 +++++++++ .../ghc9102/genprimopcode.nix | 40 +++++++++ .../ghc9102/ghc-bignum.nix | 37 +++++++++ .../ghc9102/ghc-boot.nix | 47 +++++++++++ .../ghc9102/ghc-heap.nix | 36 +++++++++ .../ghc9102/ghc-internal.nix | 49 +++++++++++ .../ghc9102/ghc-platform.nix | 31 +++++++ .../ghc9102/ghc-prim.nix | 47 +++++++++++ .../ghc9102/ghc-toolchain.nix | 39 +++++++++ .../ghc-boot-packages-nix/ghc9102/ghc.nix | 81 +++++++++++++++++++ .../ghc-boot-packages-nix/ghc9102/ghci.nix | 45 +++++++++++ .../ghc-boot-packages-nix/ghc9102/hpc.nix | 38 +++++++++ .../ghc9102/integer-gmp.nix | 36 +++++++++ .../ghc-boot-packages-nix/ghc9102/iserv.nix | 41 ++++++++++ .../ghc9102/remote-iserv.nix | 36 +++++++++ .../ghc9102/template-haskell.nix | 36 +++++++++ .../ghc9102llvm-aarch64/base.nix | 34 ++++++++ .../ghc9102llvm-aarch64/deriveConstants.nix | 39 +++++++++ .../ghc9102llvm-aarch64/genprimopcode.nix | 40 +++++++++ .../ghc9102llvm-aarch64/ghc-bignum.nix | 37 +++++++++ .../ghc9102llvm-aarch64/ghc-boot.nix | 47 +++++++++++ .../ghc9102llvm-aarch64/ghc-heap.nix | 36 +++++++++ .../ghc9102llvm-aarch64/ghc-internal.nix | 49 +++++++++++ .../ghc9102llvm-aarch64/ghc-platform.nix | 31 +++++++ .../ghc9102llvm-aarch64/ghc-prim.nix | 47 +++++++++++ .../ghc9102llvm-aarch64/ghc-toolchain.nix | 39 +++++++++ .../ghc9102llvm-aarch64/ghc.nix | 81 +++++++++++++++++++ .../ghc9102llvm-aarch64/ghci.nix | 45 +++++++++++ .../ghc9102llvm-aarch64/hpc.nix | 38 +++++++++ .../ghc9102llvm-aarch64/integer-gmp.nix | 36 +++++++++ .../ghc9102llvm-aarch64/iserv.nix | 41 ++++++++++ .../ghc9102llvm-aarch64/remote-iserv.nix | 36 +++++++++ .../ghc9102llvm-aarch64/template-haskell.nix | 36 +++++++++ .../ghc9102llvm/base.nix | 34 ++++++++ .../ghc9102llvm/deriveConstants.nix | 39 +++++++++ .../ghc9102llvm/genprimopcode.nix | 40 +++++++++ .../ghc9102llvm/ghc-bignum.nix | 37 +++++++++ .../ghc9102llvm/ghc-boot.nix | 47 +++++++++++ .../ghc9102llvm/ghc-heap.nix | 36 +++++++++ .../ghc9102llvm/ghc-internal.nix | 49 +++++++++++ .../ghc9102llvm/ghc-platform.nix | 31 +++++++ .../ghc9102llvm/ghc-prim.nix | 47 +++++++++++ .../ghc9102llvm/ghc-toolchain.nix | 39 +++++++++ .../ghc-boot-packages-nix/ghc9102llvm/ghc.nix | 81 +++++++++++++++++++ .../ghc9102llvm/ghci.nix | 45 +++++++++++ .../ghc-boot-packages-nix/ghc9102llvm/hpc.nix | 38 +++++++++ .../ghc9102llvm/integer-gmp.nix | 36 +++++++++ .../ghc9102llvm/iserv.nix | 41 ++++++++++ .../ghc9102llvm/remote-iserv.nix | 36 +++++++++ .../ghc9102llvm/template-haskell.nix | 36 +++++++++ overlays/bootstrap.nix | 60 ++++++++++---- test/haskell-language-server/cabal.nix | 2 +- test/th-dlls/default.nix | 2 + 94 files changed, 3657 insertions(+), 20 deletions(-) create mode 100644 lazy-inputs/ghc9102/flake.lock create mode 100644 lazy-inputs/ghc9102/flake.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-internal.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-platform.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-toolchain.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-aarch64/template-haskell.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-internal.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-platform.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-toolchain.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102-ghcjs/template-haskell.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/ghc-internal.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/ghc-platform.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/ghc-toolchain.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102/template-haskell.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-internal.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-platform.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-toolchain.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/template-haskell.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-internal.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-platform.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-toolchain.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9102llvm/template-haskell.nix diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index edec39f69e..248453544d 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -225,12 +225,12 @@ jobs: - name: "Check that evaluation of hydra jobs works without using remote builders for GHC 9.6.7" run: nix path-info --derivation .#requiredJobs.x86_64-darwin.required-unstable-ghc967-native --show-trace --builders '' - hydra-without-remote-builders-ghc9101: + hydra-without-remote-builders-ghc9102: runs-on: [self-hosted, linux] steps: - uses: actions/checkout@v4 - - name: "Check that evaluation of hydra jobs works without using remote builders for GHC 9.10.1" - run: nix path-info --derivation .#requiredJobs.x86_64-darwin.required-unstable-ghc9101-native --show-trace --builders '' + - name: "Check that evaluation of hydra jobs works without using remote builders for GHC 9.10.2" + run: nix path-info --derivation .#requiredJobs.x86_64-darwin.required-unstable-ghc9102-native --show-trace --builders '' hix-cabal: runs-on: [self-hosted, linux] diff --git a/build.nix b/build.nix index 70a2ab772e..94525f28c7 100644 --- a/build.nix +++ b/build.nix @@ -57,7 +57,7 @@ in rec { inherit evalPackages; src = pkgs.haskell-nix.sources."hls-2.2"; }; - } // pkgs.lib.optionalAttrs (ghcFromTo "9.0" "9.11") { + } // pkgs.lib.optionalAttrs (ghcFromTo "9.0" "9.10.2") { "hls" = tool compiler-nix-name "haskell-language-server" { inherit evalPackages; src = pkgs.haskell-nix.sources."hls-2.10"; diff --git a/docs/reference/supported-ghc-versions.md b/docs/reference/supported-ghc-versions.md index 732b1e0727..7d1118aa28 100644 --- a/docs/reference/supported-ghc-versions.md +++ b/docs/reference/supported-ghc-versions.md @@ -24,7 +24,7 @@ really should use an instance of Nixpkgs provided by `haskell.nix` itself. |------------------|--------------------|-------------|-----------------------|---------------| | unstable | `nixpkgs-unstable` | 9.6.7 | `ghc96` or `ghc967` | Yes | | unstable | `nixpkgs-unstable` | 9.8.4 | `ghc98` or `ghc984` | Yes | -| unstable | `nixpkgs-unstable` | 9.10.1 | `ghc910` or `ghc9101` | Yes | +| unstable | `nixpkgs-unstable` | 9.10.2 | `ghc910` or `ghc9102` | Yes | | unstable | `nixpkgs-unstable` | 9.12.2 | `ghc912` or `ghc9122` | Yes | See [ci.nix](https://github.com/input-output-hk/haskell.nix/blob/master/ci.nix) diff --git a/lazy-inputs/default.nix b/lazy-inputs/default.nix index aec3e427bf..9552c84685 100644 --- a/lazy-inputs/default.nix +++ b/lazy-inputs/default.nix @@ -36,6 +36,7 @@ in { inherit ((callFlake { pkgs = final; src = ./ghc983; }).defaultNix) ghc983; inherit ((callFlake { pkgs = final; src = ./ghc984; }).defaultNix) ghc984; inherit ((callFlake { pkgs = final; src = ./ghc9101; }).defaultNix) ghc9101; + inherit ((callFlake { pkgs = final; src = ./ghc9102; }).defaultNix) ghc9102; inherit ((callFlake { pkgs = final; src = ./ghc9121; }).defaultNix) ghc9121; inherit ((callFlake { pkgs = final; src = ./ghc9122; }).defaultNix) ghc9122; inherit ((callFlake { pkgs = final; src = ./ghc912X; }).defaultNix) ghc912X; diff --git a/lazy-inputs/ghc9102/flake.lock b/lazy-inputs/ghc9102/flake.lock new file mode 100644 index 0000000000..1e4e17ca33 --- /dev/null +++ b/lazy-inputs/ghc9102/flake.lock @@ -0,0 +1,30 @@ +{ + "nodes": { + "ghc9102": { + "flake": false, + "locked": { + "lastModified": 1746105481, + "narHash": "sha256-W7X+hwY9NhYwFrVQTHZtQZ8Pq0PiwXEieDLwxYaH+zE=", + "ref": "ghc-9.10.2-iog", + "rev": "c9de16b57adcb6810d059ebd1c72d97b4b6a7cec", + "revCount": 62944, + "submodules": true, + "type": "git", + "url": "https://github.com/stable-haskell/ghc" + }, + "original": { + "ref": "ghc-9.10.2-iog", + "submodules": true, + "type": "git", + "url": "https://github.com/stable-haskell/ghc" + } + }, + "root": { + "inputs": { + "ghc9102": "ghc9102" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/lazy-inputs/ghc9102/flake.nix b/lazy-inputs/ghc9102/flake.nix new file mode 100644 index 0000000000..f3612c11a0 --- /dev/null +++ b/lazy-inputs/ghc9102/flake.nix @@ -0,0 +1,12 @@ +{ + description = "Lazy Input for Haskell.nix"; + + inputs = { + ghc9102 = { + flake = false; + url = "git+https://github.com/stable-haskell/ghc?ref=ghc-9.10.2-iog&submodules=1"; + }; + }; + + outputs = inputs: inputs; +} diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/base.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/base.nix new file mode 100644 index 0000000000..d8fd178125 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/base.nix @@ -0,0 +1,34 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.20.1.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/deriveConstants.nix new file mode 100644 index 0000000000..135cdd02f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/genprimopcode.nix new file mode 100644 index 0000000000..49bbe516ba --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-bignum.nix new file mode 100644 index 0000000000..46af6e0e9f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-boot.nix new file mode 100644 index 0000000000..1e1aa12a64 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-boot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-heap.nix new file mode 100644 index 0000000000..8593829a68 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.ge "9.9") (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-internal.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-internal.nix new file mode 100644 index 0000000000..5577b8c091 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-internal.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-internal"; version = "9.1002.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Basic libraries"; + description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-platform.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-platform.nix new file mode 100644 index 0000000000..9a99aece09 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-platform.nix @@ -0,0 +1,31 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-platform"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Rodrigo Mesquita"; + homepage = ""; + url = ""; + synopsis = "Platform information used by GHC and friends"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-prim.nix new file mode 100644 index 0000000000..c10529f48d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.12.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-toolchain.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-toolchain.nix new file mode 100644 index 0000000000..a46ace1fa2 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc-toolchain.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.4"; + identifier = { name = "ghc-toolchain"; version = "0.1.0.0"; }; + license = "NONE"; + copyright = "(c) The GHC Developers"; + maintainer = "ben@well-typed.com"; + author = "Ben Gamari"; + homepage = ""; + url = ""; + synopsis = "Utility for managing GHC target toolchains"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc.nix new file mode 100644 index 0000000000..2028733218 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information.\n\n__This package is not PVP-compliant.__\n\nThis package directly exposes GHC internals, which can and do change with\nevery release."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghci.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghci.nix new file mode 100644 index 0000000000..60c83e4d43 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/hpc.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/hpc.nix new file mode 100644 index 0000000000..fe40a941c5 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/integer-gmp.nix new file mode 100644 index 0000000000..8594679a59 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/integer-gmp.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/iserv.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/iserv.nix new file mode 100644 index 0000000000..4e7204cd02 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/remote-iserv.nix new file mode 100644 index 0000000000..625706221d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-aarch64/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/template-haskell.nix new file mode 100644 index 0000000000..b975251e7e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-aarch64/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.22.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/base.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/base.nix new file mode 100644 index 0000000000..d8fd178125 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/base.nix @@ -0,0 +1,34 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.20.1.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/deriveConstants.nix new file mode 100644 index 0000000000..135cdd02f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/genprimopcode.nix new file mode 100644 index 0000000000..49bbe516ba --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-bignum.nix new file mode 100644 index 0000000000..46af6e0e9f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-boot.nix new file mode 100644 index 0000000000..1e1aa12a64 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-boot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-heap.nix new file mode 100644 index 0000000000..8593829a68 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.ge "9.9") (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-internal.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-internal.nix new file mode 100644 index 0000000000..5577b8c091 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-internal.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-internal"; version = "9.1002.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Basic libraries"; + description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-platform.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-platform.nix new file mode 100644 index 0000000000..9a99aece09 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-platform.nix @@ -0,0 +1,31 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-platform"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Rodrigo Mesquita"; + homepage = ""; + url = ""; + synopsis = "Platform information used by GHC and friends"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-prim.nix new file mode 100644 index 0000000000..c10529f48d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.12.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-toolchain.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-toolchain.nix new file mode 100644 index 0000000000..a46ace1fa2 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc-toolchain.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.4"; + identifier = { name = "ghc-toolchain"; version = "0.1.0.0"; }; + license = "NONE"; + copyright = "(c) The GHC Developers"; + maintainer = "ben@well-typed.com"; + author = "Ben Gamari"; + homepage = ""; + url = ""; + synopsis = "Utility for managing GHC target toolchains"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc.nix new file mode 100644 index 0000000000..2028733218 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information.\n\n__This package is not PVP-compliant.__\n\nThis package directly exposes GHC internals, which can and do change with\nevery release."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghci.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghci.nix new file mode 100644 index 0000000000..60c83e4d43 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/hpc.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/hpc.nix new file mode 100644 index 0000000000..fe40a941c5 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/integer-gmp.nix new file mode 100644 index 0000000000..8594679a59 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/integer-gmp.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/iserv.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/iserv.nix new file mode 100644 index 0000000000..4e7204cd02 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/remote-iserv.nix new file mode 100644 index 0000000000..625706221d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/template-haskell.nix new file mode 100644 index 0000000000..b975251e7e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102-ghcjs/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.22.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/base.nix b/materialized/ghc-boot-packages-nix/ghc9102/base.nix new file mode 100644 index 0000000000..d8fd178125 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/base.nix @@ -0,0 +1,34 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.20.1.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc9102/deriveConstants.nix new file mode 100644 index 0000000000..135cdd02f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc9102/genprimopcode.nix new file mode 100644 index 0000000000..49bbe516ba --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc9102/ghc-bignum.nix new file mode 100644 index 0000000000..46af6e0e9f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc9102/ghc-boot.nix new file mode 100644 index 0000000000..1e1aa12a64 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/ghc-boot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc9102/ghc-heap.nix new file mode 100644 index 0000000000..8593829a68 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.ge "9.9") (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/ghc-internal.nix b/materialized/ghc-boot-packages-nix/ghc9102/ghc-internal.nix new file mode 100644 index 0000000000..5577b8c091 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/ghc-internal.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-internal"; version = "9.1002.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Basic libraries"; + description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/ghc-platform.nix b/materialized/ghc-boot-packages-nix/ghc9102/ghc-platform.nix new file mode 100644 index 0000000000..9a99aece09 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/ghc-platform.nix @@ -0,0 +1,31 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-platform"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Rodrigo Mesquita"; + homepage = ""; + url = ""; + synopsis = "Platform information used by GHC and friends"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc9102/ghc-prim.nix new file mode 100644 index 0000000000..c10529f48d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.12.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/ghc-toolchain.nix b/materialized/ghc-boot-packages-nix/ghc9102/ghc-toolchain.nix new file mode 100644 index 0000000000..a46ace1fa2 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/ghc-toolchain.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.4"; + identifier = { name = "ghc-toolchain"; version = "0.1.0.0"; }; + license = "NONE"; + copyright = "(c) The GHC Developers"; + maintainer = "ben@well-typed.com"; + author = "Ben Gamari"; + homepage = ""; + url = ""; + synopsis = "Utility for managing GHC target toolchains"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/ghc.nix b/materialized/ghc-boot-packages-nix/ghc9102/ghc.nix new file mode 100644 index 0000000000..2028733218 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information.\n\n__This package is not PVP-compliant.__\n\nThis package directly exposes GHC internals, which can and do change with\nevery release."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/ghci.nix b/materialized/ghc-boot-packages-nix/ghc9102/ghci.nix new file mode 100644 index 0000000000..60c83e4d43 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/hpc.nix b/materialized/ghc-boot-packages-nix/ghc9102/hpc.nix new file mode 100644 index 0000000000..fe40a941c5 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc9102/integer-gmp.nix new file mode 100644 index 0000000000..8594679a59 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/integer-gmp.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/iserv.nix b/materialized/ghc-boot-packages-nix/ghc9102/iserv.nix new file mode 100644 index 0000000000..4e7204cd02 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc9102/remote-iserv.nix new file mode 100644 index 0000000000..625706221d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc9102/template-haskell.nix new file mode 100644 index 0000000000..b975251e7e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.22.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/base.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/base.nix new file mode 100644 index 0000000000..d8fd178125 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/base.nix @@ -0,0 +1,34 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.20.1.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/deriveConstants.nix new file mode 100644 index 0000000000..135cdd02f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/genprimopcode.nix new file mode 100644 index 0000000000..49bbe516ba --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-bignum.nix new file mode 100644 index 0000000000..46af6e0e9f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-boot.nix new file mode 100644 index 0000000000..1e1aa12a64 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-boot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-heap.nix new file mode 100644 index 0000000000..8593829a68 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.ge "9.9") (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-internal.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-internal.nix new file mode 100644 index 0000000000..5577b8c091 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-internal.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-internal"; version = "9.1002.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Basic libraries"; + description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-platform.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-platform.nix new file mode 100644 index 0000000000..9a99aece09 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-platform.nix @@ -0,0 +1,31 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-platform"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Rodrigo Mesquita"; + homepage = ""; + url = ""; + synopsis = "Platform information used by GHC and friends"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-prim.nix new file mode 100644 index 0000000000..c10529f48d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.12.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-toolchain.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-toolchain.nix new file mode 100644 index 0000000000..a46ace1fa2 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc-toolchain.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.4"; + identifier = { name = "ghc-toolchain"; version = "0.1.0.0"; }; + license = "NONE"; + copyright = "(c) The GHC Developers"; + maintainer = "ben@well-typed.com"; + author = "Ben Gamari"; + homepage = ""; + url = ""; + synopsis = "Utility for managing GHC target toolchains"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc.nix new file mode 100644 index 0000000000..2028733218 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information.\n\n__This package is not PVP-compliant.__\n\nThis package directly exposes GHC internals, which can and do change with\nevery release."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghci.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghci.nix new file mode 100644 index 0000000000..60c83e4d43 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/hpc.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/hpc.nix new file mode 100644 index 0000000000..fe40a941c5 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/integer-gmp.nix new file mode 100644 index 0000000000..8594679a59 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/integer-gmp.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/iserv.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/iserv.nix new file mode 100644 index 0000000000..4e7204cd02 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/remote-iserv.nix new file mode 100644 index 0000000000..625706221d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/template-haskell.nix new file mode 100644 index 0000000000..b975251e7e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm-aarch64/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.22.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/base.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/base.nix new file mode 100644 index 0000000000..d8fd178125 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/base.nix @@ -0,0 +1,34 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.20.1.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/deriveConstants.nix new file mode 100644 index 0000000000..135cdd02f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/genprimopcode.nix new file mode 100644 index 0000000000..49bbe516ba --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-bignum.nix new file mode 100644 index 0000000000..46af6e0e9f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-boot.nix new file mode 100644 index 0000000000..1e1aa12a64 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-boot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-heap.nix new file mode 100644 index 0000000000..8593829a68 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.ge "9.9") (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-internal.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-internal.nix new file mode 100644 index 0000000000..5577b8c091 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-internal.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-internal"; version = "9.1002.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Basic libraries"; + description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-platform.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-platform.nix new file mode 100644 index 0000000000..9a99aece09 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-platform.nix @@ -0,0 +1,31 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-platform"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Rodrigo Mesquita"; + homepage = ""; + url = ""; + synopsis = "Platform information used by GHC and friends"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-prim.nix new file mode 100644 index 0000000000..c10529f48d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.12.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-toolchain.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-toolchain.nix new file mode 100644 index 0000000000..a46ace1fa2 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc-toolchain.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.4"; + identifier = { name = "ghc-toolchain"; version = "0.1.0.0"; }; + license = "NONE"; + copyright = "(c) The GHC Developers"; + maintainer = "ben@well-typed.com"; + author = "Ben Gamari"; + homepage = ""; + url = ""; + synopsis = "Utility for managing GHC target toolchains"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc.nix new file mode 100644 index 0000000000..2028733218 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information.\n\n__This package is not PVP-compliant.__\n\nThis package directly exposes GHC internals, which can and do change with\nevery release."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/ghci.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghci.nix new file mode 100644 index 0000000000..60c83e4d43 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/hpc.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/hpc.nix new file mode 100644 index 0000000000..fe40a941c5 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/integer-gmp.nix new file mode 100644 index 0000000000..8594679a59 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/integer-gmp.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/iserv.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/iserv.nix new file mode 100644 index 0000000000..4e7204cd02 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/remote-iserv.nix new file mode 100644 index 0000000000..625706221d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.10.2"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9102llvm/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc9102llvm/template-haskell.nix new file mode 100644 index 0000000000..b975251e7e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9102llvm/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.22.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 3bffeb10d8..a57d60a187 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -10,7 +10,7 @@ let "9.4" = "9.4.8"; "9.6" = "9.6.7"; "9.8" = "9.8.4"; - "9.10" = "9.10.1"; + "9.10" = "9.10.2"; "9.12" = "9.12.2"; }; gitInputs = { @@ -139,7 +139,7 @@ in { # results in "unhandled PEi386 relocation type 14". ++ onWindows (fromUntil "9.4.1" "9.6.7" ./patches/ghc/win-reloc-x86_64-pc64.patch) ++ onWindows (fromUntil "9.8.1" "9.8.3" ./patches/ghc/win-reloc-x86_64-pc64.patch) - ++ onWindows (fromUntil "9.10" "9.11" ./patches/ghc/win-reloc-x86_64-pc64.patch) + ++ onWindows (fromUntil "9.10" "9.10.2" ./patches/ghc/win-reloc-x86_64-pc64.patch) # ++ onWindows (fromUntil "9.4.1" "9.10" ./patches/ghc/Win32-depends-on-mingwex.patch) # if the host system provides ucrt (e.g. wine with ucrtbase.dll), we may end up linking against symbols from ucrtbase, instead of msvcrt, # thus leading to broken code. E.g. the handles we create and hand to wine will all be busted, because they come from one and are processed @@ -205,7 +205,7 @@ in { ++ onAarch64 (fromUntil "9.0" "9.11" ./patches/ghc/ghc-9.0-better-symbol-addr-debug.patch) ++ onAarch64 (fromUntil "9.0" "9.6.7" ./patches/ghc/ghc-9.0-aarch64-handle-none-rela.patch) ++ onAarch64 (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.0-aarch64-handle-none-rela.patch) - ++ onAarch64 (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.0-aarch64-handle-none-rela.patch) + ++ onAarch64 (fromUntil "9.10" "9.10.2" ./patches/ghc/ghc-9.0-aarch64-handle-none-rela.patch) ++ onWindows (fromUntil "9.6.3" "9.6.4" ./patches/ghc/ghc-9.6-hadrian-splitsections.patch) ++ onWindows (fromUntil "9.8.1" "9.8.2" ./patches/ghc/ghc-9.6-hadrian-splitsections.patch) @@ -254,10 +254,11 @@ in { ++ onAndroid (from "9.8.1" ./patches/ghc/ghc-9.8-android-convert-os.patch) # Allow loading static external plugins into cross compilers - ++ onCross (fromUntil "9.6.1" "9.11" ./patches/ghc/5c80a27488acfe3610ddfcb99a1e961002e386d0.patch) - ++ onCross (fromUntil "9.6.1" "9.8.3" ./patches/ghc/f8beb54a1d5725bd0d8a4b0a909d1b41d742b50b.patch) - ++ onCross (fromUntil "9.8.3" "9.10" ./patches/ghc/ghc-9.8.3-f8beb54a1d5725bd0d8a4b0a909d1b41d742b50b.patch) - ++ onCross (fromUntil "9.10" "9.11" ./patches/ghc/f8beb54a1d5725bd0d8a4b0a909d1b41d742b50b.patch) + ++ onCross (fromUntil "9.6.1" "9.11" ./patches/ghc/5c80a27488acfe3610ddfcb99a1e961002e386d0.patch) + ++ onCross (fromUntil "9.6.1" "9.8.3" ./patches/ghc/f8beb54a1d5725bd0d8a4b0a909d1b41d742b50b.patch) + ++ onCross (fromUntil "9.8.3" "9.10" ./patches/ghc/ghc-9.8.3-f8beb54a1d5725bd0d8a4b0a909d1b41d742b50b.patch) + ++ onCross (fromUntil "9.10" "9.10.2" ./patches/ghc/f8beb54a1d5725bd0d8a4b0a909d1b41d742b50b.patch) + ++ onCross (fromUntil "9.10.2" "9.11" ./patches/ghc/ghc-9.8.3-f8beb54a1d5725bd0d8a4b0a909d1b41d742b50b.patch) ++ final.lib.optionals ( final.stdenv.targetPlatform.isAndroid && final.stdenv.targetPlatform.is32bit @@ -265,24 +266,24 @@ in { (until "9.11" ./patches/ghc/ghc-9.6-missing-symbols-deadbeef.patch) ++ onAarch64Musl (fromUntil "9.6" "9.6.7" ./patches/ghc/ghc-9.6-linker-pool-allocator.patch) ++ onAarch64Musl (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.6-linker-pool-allocator.patch) - ++ onAarch64Musl (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.6-linker-pool-allocator.patch) + ++ onAarch64Musl (fromUntil "9.10" "9.10.2" ./patches/ghc/ghc-9.6-linker-pool-allocator.patch) ++ onAarch64Musl (fromUntil "9.6" "9.6.7" ./patches/ghc/ghc-9.6-linker-pool-allocator-2.patch) ++ onAarch64Musl (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.6-linker-pool-allocator-2.patch) - ++ onAarch64Musl (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.6-linker-pool-allocator-2.patch) + ++ onAarch64Musl (fromUntil "9.10" "9.10.2" ./patches/ghc/ghc-9.6-linker-pool-allocator-2.patch) ++ onMusl (fromUntil "9.6" "9.8" ./patches/ghc/ghc-9.6-0001-Refactor-IServ.hs.patch) ++ onMusl (fromUntil "9.6" "9.6.7" ./patches/ghc/ghc-9.6-0002-Drop-spurious-8-byte-offset-from-elf_plt.patch) ++ onMusl (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.6-0002-Drop-spurious-8-byte-offset-from-elf_plt.patch) - ++ onMusl (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.6-0002-Drop-spurious-8-byte-offset-from-elf_plt.patch) + ++ onMusl (fromUntil "9.10" "9.10.2" ./patches/ghc/ghc-9.6-0002-Drop-spurious-8-byte-offset-from-elf_plt.patch) ++ onAarch64Musl (fromUntil "9.6" "9.6.7" ./patches/ghc/ghc-9.6-0003-Better-pool-alignment.-We-still-hardcode-section-ali.patch) ++ onAarch64Musl (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.6-0003-Better-pool-alignment.-We-still-hardcode-section-ali.patch) - ++ onAarch64Musl (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.6-0003-Better-pool-alignment.-We-still-hardcode-section-ali.patch) + ++ onAarch64Musl (fromUntil "9.10" "9.10.2" ./patches/ghc/ghc-9.6-0003-Better-pool-alignment.-We-still-hardcode-section-ali.patch) ++ onAarch64Musl (fromUntil "9.6" "9.6.7" ./patches/ghc/ghc-9.6-0007-fixup-Better-pool-alignment.-We-still-hardcode-secti.patch) ++ onAarch64Musl (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.6-0007-fixup-Better-pool-alignment.-We-still-hardcode-secti.patch) - ++ onAarch64Musl (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.6-0007-fixup-Better-pool-alignment.-We-still-hardcode-secti.patch) + ++ onAarch64Musl (fromUntil "9.10" "9.10.2" ./patches/ghc/ghc-9.6-0007-fixup-Better-pool-alignment.-We-still-hardcode-secti.patch) ++ onAarch64Musl (fromUntil "9.6" "9.6.7" ./patches/ghc/ghc-9.6-0008-pool-improvements.patch) ++ onAarch64Musl (fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.6-0008-pool-improvements.patch) - ++ onAarch64Musl (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.6-0008-pool-improvements.patch) + ++ onAarch64Musl (fromUntil "9.10" "9.10.2" ./patches/ghc/ghc-9.6-0008-pool-improvements.patch) # these two are abit questionable. They are pretty rough, and assume static binary as well as posix. # onMusl (fromUntil "9.6" "9.11" ./patches/ghc/ghc-9.6-0004-ghcidladdr.patch) # onMusl (fromUntil "9.6" "9.11" ./patches/ghc/ghc-9.6-0005-Better-interpreter-debugging.-Needs-ghcidladdr.patch) @@ -305,7 +306,7 @@ in { ++ fromUntil "9.9" "9.11" ./patches/ghc/ghc-9.9-Cabal-3.11.patch ++ fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.8-text-upper-bound.patch ++ fromUntil "9.8.3" "9.8.4" ./patches/ghc/ghc-9.8.3-text-upper-bound.patch - ++ fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.10-containers-upper-bound.patch + ++ fromUntil "9.10" "9.10.2" ./patches/ghc/ghc-9.10-containers-upper-bound.patch ++ fromUntil "9.10" "9.14" ./patches/ghc/ghc-9.10-merge-objects.patch # This patch will make windows stop emitting absolute relocations. This is one way in which binutils 2.36+ (with ASLR enabled), will just choke on the @@ -981,6 +982,37 @@ in { ghc-patches = ghc-patches "9.10.1"; }); + ghc9102 = traceWarnOld "9.10" (final.callPackage ../compiler/ghc { + extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.ghc9102; }; + + bootPkgs = bootPkgsGhc94 // { + ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform + then final.buildPackages.buildPackages.haskell-nix.compiler.ghc9102 + else # GHC 9.10.1 does not seem to build with ghc 9.8.4 + # final.buildPackages.buildPackages.haskell.compiler.ghc984 + # or final.buildPackages.buildPackages.haskell.compiler.ghc983 + final.buildPackages.buildPackages.haskell.compiler.ghc982 + or final.buildPackages.buildPackages.haskell.compiler.ghc981 + or final.buildPackages.buildPackages.haskell.compiler.ghc966 + or final.buildPackages.buildPackages.haskell.compiler.ghc965 + or final.buildPackages.buildPackages.haskell.compiler.ghc964 + or final.buildPackages.buildPackages.haskell.compiler.ghc963 + or final.buildPackages.buildPackages.haskell.compiler.ghc962 + or final.buildPackages.buildPackages.haskell.compiler.ghc945 + or final.buildPackages.buildPackages.haskell.compiler.ghc944 + or final.buildPackages.buildPackages.haskell.compiler.ghc943; + }; + inherit sphinx; + + buildLlvmPackages = final.buildPackages.llvmPackages_15; + llvmPackages = final.llvmPackages_15; + + src-spec.file = final.haskell-nix.sources.ghc9102; + src-spec.version = "9.10.2"; + src-spec.needsBooting = true; + + ghc-patches = ghc-patches "9.10.2"; + }); ghc9121 = traceWarnOld "9.12" (final.callPackage ../compiler/ghc { extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.ghc9121; }; diff --git a/test/haskell-language-server/cabal.nix b/test/haskell-language-server/cabal.nix index 9c218d4bb7..fb432f4d74 100644 --- a/test/haskell-language-server/cabal.nix +++ b/test/haskell-language-server/cabal.nix @@ -16,5 +16,5 @@ in recurseIntoAttrs { meta.disabled = stdenv.hostPlatform != stdenv.buildPlatform || __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.0.1" < 0 - || __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.11.0" >= 0; + || __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.10.2" >= 0; } diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 8e7f0b0a59..8ee93eea0f 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -24,6 +24,8 @@ in recurseIntoAttrs { || (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl) # Failed to lookup symbol: __aarch64_swp8_acq_rel || (builtins.elem compiler-nix-name ["ghc947" "ghc948"] && haskellLib.isCrossHost && stdenv.hostPlatform.isAarch64) + # Not sure why this is failing with a seg fault + || (builtins.elem compiler-nix-name ["ghc9102"] && stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32) # We have been unable to get windows cross compilation of th-orphans to work for GHC 8.10 using the latest nixpkgs || (compiler-nix-name == "ghc8107" && stdenv.hostPlatform.isWindows) # unhandled ELF relocation(Rel) type 10 From 9ce8e500b53b4a5c8e60a853498f8d29e7153169 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 10 May 2025 00:51:56 +0000 Subject: [PATCH 026/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index ea6c7979e7..8c727009e5 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1746750371, - "narHash": "sha256-RjeQ3ITyLy8EUQkQQww2TYgYeFpNGfekYx86+RJEDmY=", + "lastModified": 1746836690, + "narHash": "sha256-8RUqvMIM/l/PwcUFvDC4ZrcIhdPKryWJ5YQBZe38Wjc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fb0bf47ca325226cf115d467f23fd2ef03339861", + "rev": "b686de9a85b25f343825460fc7136b7b9cf1100c", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1746750361, - "narHash": "sha256-U63OLr9ECT4rx1kSWpV6UMVQeEzCD3TbBFU84cABU7g=", + "lastModified": 1746836680, + "narHash": "sha256-k3aPQ9yntmupqS9R+3PckU4cYh1H6znTQWwct14nNAs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "535df5fbe747407601112a99b8cd37c7620fd0ce", + "rev": "6583444c2bd7165ee163831119afed0f06eb6bde", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1746749572, - "narHash": "sha256-0jUwKXRwaOuzVkmaz1zajXmVic948PsUtWLvN4Be6R0=", + "lastModified": 1746835984, + "narHash": "sha256-pyGqoRrMvj45DrzzFr3Pm8ShVvXa+YbSiIuA3mTZtcA=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "4029bb170a515bb908251a8ca5be0b03b2cce72a", + "rev": "730b2d810e23d422dad228aa558987c4a45a548e", "type": "github" }, "original": { From 56c50dcb676eead1bdcf401c8def97d98305d53b Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 11 May 2025 00:52:15 +0000 Subject: [PATCH 027/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 8c727009e5..e638e0e425 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1746836690, - "narHash": "sha256-8RUqvMIM/l/PwcUFvDC4ZrcIhdPKryWJ5YQBZe38Wjc=", + "lastModified": 1746923247, + "narHash": "sha256-n8oo/U0WCgi2S9+pelrMCfqLA4OlOEjnIzvw2JblIcE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b686de9a85b25f343825460fc7136b7b9cf1100c", + "rev": "4ffca3b018266519d013fd0952410138c601deb3", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1746836680, - "narHash": "sha256-k3aPQ9yntmupqS9R+3PckU4cYh1H6znTQWwct14nNAs=", + "lastModified": 1746923237, + "narHash": "sha256-ZT5BpAWdBRA7p7H1Khd9cl9fUPurlo6pyPl/2dylAAc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6583444c2bd7165ee163831119afed0f06eb6bde", + "rev": "8ed63edd588d34d29e83ab8acbadd8d59292b50f", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1746835984, - "narHash": "sha256-pyGqoRrMvj45DrzzFr3Pm8ShVvXa+YbSiIuA3mTZtcA=", + "lastModified": 1746922437, + "narHash": "sha256-b/PQN44+9SEXXV4HkEFRnQdlh8hC0sZKW6wF7Am0GvA=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "730b2d810e23d422dad228aa558987c4a45a548e", + "rev": "948abf1ce53bb8ac34dfb282d99462858704c166", "type": "github" }, "original": { From df3f71e4280006394cf39817869a779b32c8c5e0 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 12 May 2025 00:52:14 +0000 Subject: [PATCH 028/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index e638e0e425..5d548af23f 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1746923247, - "narHash": "sha256-n8oo/U0WCgi2S9+pelrMCfqLA4OlOEjnIzvw2JblIcE=", + "lastModified": 1747009634, + "narHash": "sha256-BVJlWJI24G06PVkvveOVA+1UTs+SbBjJojGFALoNsug=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4ffca3b018266519d013fd0952410138c601deb3", + "rev": "963c461841a94156fbf5a8e7b2162926a7ed0bf7", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1746923237, - "narHash": "sha256-ZT5BpAWdBRA7p7H1Khd9cl9fUPurlo6pyPl/2dylAAc=", + "lastModified": 1747009624, + "narHash": "sha256-HFFzFpcQ2am2M6po/HAyyrw8wGO+rWjlmolxvm5seaA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8ed63edd588d34d29e83ab8acbadd8d59292b50f", + "rev": "89c2b5b1681b718b0eef2aa32f6163e1cad75643", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1746922437, - "narHash": "sha256-b/PQN44+9SEXXV4HkEFRnQdlh8hC0sZKW6wF7Am0GvA=", + "lastModified": 1747008829, + "narHash": "sha256-0AKG0uIdYxDTubB6W4X5iopNmlYzZ4YB0ysLaP6e1ks=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "948abf1ce53bb8ac34dfb282d99462858704c166", + "rev": "61a5af32071b6f090ab8f9245ec633337b5338b7", "type": "github" }, "original": { From bed0a2d2d0f961ee8e638320ac69925741c536e0 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 13 May 2025 10:06:47 +1200 Subject: [PATCH 029/308] Only redirect to buildable targets (#2356) --- modules/install-plan/redirect.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/install-plan/redirect.nix b/modules/install-plan/redirect.nix index d2c7328b4f..a3cc2fe238 100644 --- a/modules/install-plan/redirect.nix +++ b/modules/install-plan/redirect.nix @@ -18,7 +18,7 @@ let else existing.${(builtins.head available).id}.components.${collectionName}.${name}; componentsWithPrefix = collectionName: prefix: lib.listToAttrs (lib.concatLists (lib.mapAttrsToList (n: available: - lib.optional (lib.hasPrefix "${prefix}:" n && (builtins.length available != 1 || !builtins.elem (builtins.head available) ["TargetNotBuildable" "TargetNotLocal"])) ( + lib.optional (lib.hasPrefix "${prefix}:" n && (builtins.length available != 1 || !builtins.elem (builtins.head available) ["TargetNotLocal"])) ( let name = lib.removePrefix "${prefix}:" n; value = lookupComponent collectionName name available; @@ -45,6 +45,9 @@ let (_: d: pkgs.haskell-nix.haskellLib.check d) (lib.filterAttrs (_: d: d.config.doCheck) components.tests))); }; + buildableTargets = lib.filter (x: x.available != []) ( + lib.map (x: x // { available = lib.filter (n: n != "TargetNotBuildable") x.available; }) + config.plan-json.targets); in { options.hsPkgs = lib.mkOption { type = lib.types.unspecified; @@ -63,10 +66,10 @@ in { components = err; checks = err; } - else redirect existing packageName packageTargets) (builtins.groupBy (x: x.pkg-name) config.plan-json.targets)) config.preExistingPkgs + else redirect existing packageName packageTargets) (builtins.groupBy (x: x.pkg-name) buildableTargets)) config.preExistingPkgs # Redirect for `${name}-${version}` // builtins.mapAttrs (packageNameAndVersion: packageTargets: redirect existing packageNameAndVersion packageTargets) - (builtins.groupBy (x: "${x.pkg-name}-${x.pkg-version}") config.plan-json.targets); + (builtins.groupBy (x: "${x.pkg-name}-${x.pkg-version}") buildableTargets); }; } From d4fd88915d1582b21a5968c0fb4d6532b80e31cf Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 13 May 2025 00:52:05 +0000 Subject: [PATCH 030/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 5d548af23f..fcdbff118b 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1747009634, - "narHash": "sha256-BVJlWJI24G06PVkvveOVA+1UTs+SbBjJojGFALoNsug=", + "lastModified": 1747095974, + "narHash": "sha256-snkejzpqHk/mIPtczDlFL+NzK3QIjvqNv1ZPjAQVRMk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "963c461841a94156fbf5a8e7b2162926a7ed0bf7", + "rev": "0febe273eb68da5fa044e7931fe2b9369d9eb425", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1747009624, - "narHash": "sha256-HFFzFpcQ2am2M6po/HAyyrw8wGO+rWjlmolxvm5seaA=", + "lastModified": 1747095964, + "narHash": "sha256-RKf/s0Imxwiiru0NI/U2v0BAiZxnabakLQROO/Ez2+Q=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "89c2b5b1681b718b0eef2aa32f6163e1cad75643", + "rev": "bb50b04f20e7708187bc7c6dd1800f49f663a751", "type": "github" }, "original": { From ae2e6b11481113b89fac7b7b478827868a47fc69 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 14 May 2025 00:51:38 +0000 Subject: [PATCH 031/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index fcdbff118b..b70c02aeff 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1747095974, - "narHash": "sha256-snkejzpqHk/mIPtczDlFL+NzK3QIjvqNv1ZPjAQVRMk=", + "lastModified": 1747182369, + "narHash": "sha256-p4Jxa3qUqnOMe00AeRpUA4IScoskLrAgNVDgU0da45Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "0febe273eb68da5fa044e7931fe2b9369d9eb425", + "rev": "e463ef9773fca70ab09acf3aa414bc8dd6251b9b", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1747095964, - "narHash": "sha256-RKf/s0Imxwiiru0NI/U2v0BAiZxnabakLQROO/Ez2+Q=", + "lastModified": 1747182359, + "narHash": "sha256-O7ub3wlUY68muIoAc6mz9C9+G8w0J9+hP4mmD1ey2vY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "bb50b04f20e7708187bc7c6dd1800f49f663a751", + "rev": "4af62eba32b1c0aa2be11e64b243a3a556eb214f", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1747008829, - "narHash": "sha256-0AKG0uIdYxDTubB6W4X5iopNmlYzZ4YB0ysLaP6e1ks=", + "lastModified": 1747181567, + "narHash": "sha256-UpB7tLVzXd8JBk14hYpS2WNKczLPx+Xw0QYxwBrMacM=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "61a5af32071b6f090ab8f9245ec633337b5338b7", + "rev": "05a1f56e2fd7b9859e1ccab5061e41205aa84018", "type": "github" }, "original": { From 091ca38b704ebfaa26a73bc631ce3766106c5220 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 15 May 2025 00:51:35 +0000 Subject: [PATCH 032/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b70c02aeff..1ef5156089 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1747182369, - "narHash": "sha256-p4Jxa3qUqnOMe00AeRpUA4IScoskLrAgNVDgU0da45Y=", + "lastModified": 1747268671, + "narHash": "sha256-Pe0ZQAMlXFN0COv7D1tzL7aJ4H254bOMkuPawnQ9m00=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e463ef9773fca70ab09acf3aa414bc8dd6251b9b", + "rev": "7a5de1cd1b5e2cb23905e4890957230f97301d86", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1747182359, - "narHash": "sha256-O7ub3wlUY68muIoAc6mz9C9+G8w0J9+hP4mmD1ey2vY=", + "lastModified": 1747268661, + "narHash": "sha256-z+1y/asOg4eOx23SrdMUM2tYhSlBxIFmsx82odczNNk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4af62eba32b1c0aa2be11e64b243a3a556eb214f", + "rev": "232e5cb2402b52c2efd0f58e8ec1e24efcdaa22b", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1747181567, - "narHash": "sha256-UpB7tLVzXd8JBk14hYpS2WNKczLPx+Xw0QYxwBrMacM=", + "lastModified": 1747267908, + "narHash": "sha256-dhzHBZGG+TcFPuNyd/hxQ7HwcpPJG/PmI7x7dzPqKQE=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "05a1f56e2fd7b9859e1ccab5061e41205aa84018", + "rev": "0384a88fd77913174d54171ef85e86f7d8d2dbad", "type": "github" }, "original": { From d39a9850ab7c9ebe0f3ec6a50548cfc310978aae Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 15 May 2025 16:51:13 +1200 Subject: [PATCH 033/308] Fix terminfo dep in dummy ghc for haskeline (#2360) * Fix terminfo dep in dummy ghc for haskeline The dependency is missed because a `terminfo` cabal flag is used. * Also fix Win32:filepath --- compiler/ghc/default.nix | 2 +- lib/call-cabal-project-to-nix.nix | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 13abf8bdf7..4e7f46a45d 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -668,7 +668,7 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { ''; passthru = { - inherit bootPkgs targetPrefix libDir llvmPackages enableShared useLLVM hadrian hadrianProject; + inherit bootPkgs targetPrefix libDir llvmPackages enableShared enableTerminfo useLLVM hadrian hadrianProject; # Our Cabal compiler name haskellCompilerName = "ghc-${version}"; diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index 03c6cad9ad..ccf11542b1 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -540,7 +540,17 @@ let ''} ${pkgs.lib.optionalString (!pkgs.stdenv.targetPlatform.isWindows) '' deps+=" $(jq -r '.components.lib."build-depends"[]|select(._if.not.os == "windows")|._then[]|.package' $json_cabal_file)" - ''} + '' + # Fix problem with `haskeline` using a `terminfo` flag + # For haskell-nix ghc we can use ghc.enableTerminfo to get the flag setting + + pkgs.lib.optionalString (name == "haskeline" && !pkgs.stdenv.targetPlatform.isWindows && ghc.enableTerminfo or true) '' + deps+=" terminfo" + '' + # Similar issue for Win32:filepath build-depends (hidden behind `if impl(ghc >= 8.0)`) + + pkgs.lib.optionalString (name == "Win32" && pkgs.stdenv.targetPlatform.isWindows) '' + deps+=" filepath" + '' + } DEPS_${varname name}="$(tr '\n' ' ' <<< "$deps")" VER_${varname name}="$(jq -r '.version' $json_cabal_file)" PKGS+=" ${name}" From e98545327a92d009ddc47a9a5b8a71c7ced7df7b Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 16 May 2025 00:52:10 +0000 Subject: [PATCH 034/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 1ef5156089..013392bd6a 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1747268671, - "narHash": "sha256-Pe0ZQAMlXFN0COv7D1tzL7aJ4H254bOMkuPawnQ9m00=", + "lastModified": 1747355173, + "narHash": "sha256-KWo36vq8RtoKbbYNaIvxWSGbJUdGxScNpU8cvYRrUTk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7a5de1cd1b5e2cb23905e4890957230f97301d86", + "rev": "f8688a68ac28fbf0e617fb22927273b6e606294d", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1747268661, - "narHash": "sha256-z+1y/asOg4eOx23SrdMUM2tYhSlBxIFmsx82odczNNk=", + "lastModified": 1747355163, + "narHash": "sha256-zx6/IKos1Yn2LLxXx2FMws8DXUn5k+Rhi1BFpC9oPiQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "232e5cb2402b52c2efd0f58e8ec1e24efcdaa22b", + "rev": "e6cdb85ddfde5d93f4bc8135a5ecd2f31a0a728f", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1747267908, - "narHash": "sha256-dhzHBZGG+TcFPuNyd/hxQ7HwcpPJG/PmI7x7dzPqKQE=", + "lastModified": 1747354383, + "narHash": "sha256-+aC1YPcJduXFcIpFQfXmmoohvSjyDtFa4CKavGQndqc=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "0384a88fd77913174d54171ef85e86f7d8d2dbad", + "rev": "d756191b71afaac81a9c9200c36031953ccfe0ab", "type": "github" }, "original": { From 008e8ccff65d8734098d63ca11b9208522781c78 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 16 May 2025 14:49:41 +1200 Subject: [PATCH 035/308] Bump nixpkgs pins (#2354) * Bump nixpkgs pins * Unpin nodejs * Fix wine * Fix wine * Update overlays/wine.nix Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * nix flake update iserv-proxy * Fix broken symlink issue * Bump head.hackage * Check with `nix-eval-jobs` instead of `hydra-eval-jobs` * Check with `nix-eval-jobs` instead of `hydra-eval-jobs` * Check with `nix-eval-jobs` instead of `hydra-eval-jobs` * Add materialized file * Update head.hackage * Fix hadrian eval time dependency on buildPackages.srcOnly * Update head.hackage --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- builder/ghc-for-component-wrapper.nix | 4 +- compiler/ghc/default.nix | 12 + flake.lock | 18 +- lib/call-cabal-project-to-nix.nix | 7 +- lib/check.nix | 2 +- lib/pkgconf-nixpkgs-map.nix | 16 +- lib/system-nixpkgs-map.nix | 3 - materialized/spdx-3.26.0/licenses.json | 8533 +++++++++++++++++ modules/cabal-project.nix | 6 +- modules/project-common.nix | 12 + .../patches/wine-add-dll-directory-10.patch | 13 + overlays/rcodesign.nix | 48 +- overlays/wine.nix | 11 +- scripts/check-hydra.nix | 12 +- test/cabal.project.local | 2 +- 15 files changed, 8635 insertions(+), 64 deletions(-) create mode 100644 materialized/spdx-3.26.0/licenses.json create mode 100644 overlays/patches/wine-add-dll-directory-10.patch diff --git a/builder/ghc-for-component-wrapper.nix b/builder/ghc-for-component-wrapper.nix index 7d3c821250..ad8a15fc5c 100644 --- a/builder/ghc-for-component-wrapper.nix +++ b/builder/ghc-for-component-wrapper.nix @@ -37,11 +37,11 @@ let ${lndir}/bin/lndir -silent $unwrappedGhc $wrappedGhc rm -rf ${libDir}/*/ '' - # ... but retain the lib/ghc/bin directory. This contains `unlit' and friends. + # ... but retain the lib/ghc/bin directory. This may contain `unlit' and friends. + '' if [ -d $unwrappedGhc/lib/${ghcCommand}-${ghc.version}/bin ]; then ln -s $unwrappedGhc/lib/${ghcCommand}-${ghc.version}/bin ${libDir} - else + elif [ -d $unwrappedGhc/lib/bin ]; then ln -s $unwrappedGhc/lib/bin ${libDir} fi '' diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 4e7f46a45d..4189884671 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -297,6 +297,18 @@ let subDir = "hadrian"; includeSiblings = true; }; + # When building the plan we do not need a patched version + # of the source and `buildPackages.srcOnly` requires introduces + # a dependency on a build machine. + evalSrc = haskell-nix.haskellLib.cleanSourceWith { + src = { + name = "hadrian"; + outPath = src; + filterPath = { path, ... }: path; + }; + subDir = "hadrian"; + includeSiblings = true; + }; }; hadrian = hadrianProject.hsPkgs.hadrian.components.exes.hadrian; diff --git a/flake.lock b/flake.lock index 013392bd6a..1239e4d144 100644 --- a/flake.lock +++ b/flake.lock @@ -372,11 +372,11 @@ "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1742121966, - "narHash": "sha256-x4bg4OoKAPnayom0nWc0BmlxgRMMHk6lEPvbiyFBq1s=", + "lastModified": 1747047742, + "narHash": "sha256-PCDULyZSIPdDdF8Lanbcy+Dl6AJ5z6H2ng3sRsv+gwc=", "owner": "stable-haskell", "repo": "iserv-proxy", - "rev": "e9dc86ed6ad71f0368c16672081c8f26406c3a7e", + "rev": "dea34de4bde325aca22472c18d659bee7800b477", "type": "github" }, "original": { @@ -436,11 +436,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1739151041, - "narHash": "sha256-uNszcul7y++oBiyYXjHEDw/AHeLNp8B6pyWOB+RLA/4=", + "lastModified": 1746566971, + "narHash": "sha256-I40weT0FZWth1IEjgR5a0zC9LLyrPwTC0DAQcejtTJE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "94792ab2a6beaec81424445bf917ca2556fbeade", + "rev": "209c5b3b0f5cf5b5a7e12ddea59bf19699f97e75", "type": "github" }, "original": { @@ -452,11 +452,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1737110817, - "narHash": "sha256-DSenga8XjPaUV5KUFW/i3rNkN7jm9XmguW+qQ1ZJTR4=", + "lastModified": 1746576598, + "narHash": "sha256-FshoQvr6Aor5SnORVvh/ZdJ1Sa2U4ZrIMwKBX5k2wu0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "041c867bad68dfe34b78b2813028a2e2ea70a23c", + "rev": "b3582c75c7f21ce0b429898980eddbbf05c68e55", "type": "github" }, "original": { diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index ccf11542b1..96da9715d2 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -1,6 +1,7 @@ { pkgs, cacert, index-state-hashes, haskellLib }: { name ? src.name or null # optional name for better error messages , src +, evalSrc ? src , materialized-dir ? ../materialized , compiler-nix-name # The name of the ghc compiler to use eg. "ghc884" , index-state ? null # Hackage index-state, eg. "2019-10-10T00:00:00Z" @@ -94,13 +95,13 @@ in let ghc = if ghc' ? latestVersion then __trace "WARNING: ${ghc'.version} is out of date, consider using upgrading to ${ghc'.latestVersion}." ghc' else ghc'; - subDir' = src.origSubDir or ""; + subDir' = evalSrc.origSubDir or ""; subDir = pkgs.lib.strings.removePrefix "/" subDir'; cleanedSource = haskellLib.cleanSourceWith { name = if name != null then "${name}-root-cabal-files" else "source-root-cabal-files"; - src = src.origSrc or src; - filter = path: type: (!(src ? filter) || src.filter path type) && ( + src = evalSrc.origSrc or evalSrc; + filter = path: type: (!(evalSrc ? filter) || evalSrc.filter path type) && ( type == "directory" || pkgs.lib.any (i: (pkgs.lib.hasSuffix i path)) [ ".cabal" "package.yaml" ]); }; diff --git a/lib/check.nix b/lib/check.nix index 6471d6401e..0ee72dd415 100644 --- a/lib/check.nix +++ b/lib/check.nix @@ -39,7 +39,7 @@ in stdenv.mkDerivation (( nativeBuildInputs = drv.nativeBuildInputs ++ [buildPackages.xorg.lndir] - ++ lib.optional (stdenv.hostPlatform.isGhcjs) buildPackages.nodejs-18_x; + ++ lib.optional (stdenv.hostPlatform.isGhcjs) buildPackages.nodejs; inherit (component) doCheck doCrossCheck; diff --git a/lib/pkgconf-nixpkgs-map.nix b/lib/pkgconf-nixpkgs-map.nix index dd0cd475f9..ea272f08ac 100644 --- a/lib/pkgconf-nixpkgs-map.nix +++ b/lib/pkgconf-nixpkgs-map.nix @@ -2750,12 +2750,12 @@ pkgs: "gaminggear-0" = [ "libgaminggear" ]; "libgbinder" = [ "libgbinder" ]; "libgcrypt" = [ "libgcrypt" ]; - "libgda-5.0" = [ "libgda" ]; - "libgda-report-5.0" = [ "libgda" ]; - "libgda-sqlcipher-5.0" = [ "libgda" ]; - "libgda-sqlite-5.0" = [ "libgda" ]; - "libgda-ui-5.0" = [ "libgda" ]; - "libgda-xslt-5.0" = [ "libgda" ]; + "libgda-5.0" = [ "libgda5" ]; + "libgda-report-5.0" = [ "libgda5" ]; + "libgda-sqlcipher-5.0" = [ "libgda5" ]; + "libgda-sqlite-5.0" = [ "libgda5" ]; + "libgda-ui-5.0" = [ "libgda5" ]; + "libgda-xslt-5.0" = [ "libgda5" ]; "libgda-6.0" = [ "libgda6" ]; "libgda-sqlite-6.0" = [ "libgda6" ]; "libgdamm-5.0" = [ "libgdamm" ]; @@ -5087,7 +5087,7 @@ pkgs: "riscv-disasm" = [ "spike" ]; "riscv-fesvr" = [ "spike" ]; "SPIRV-Headers" = [ "spirv-headers" ]; - "LLVMSPIRVLib" = [ "spirv-llvm-translator" ]; +# "LLVMSPIRVLib" = [ "spirv-llvm-translator" ]; "SPIRV-Tools-shared" = [ "spirv-tools" ]; "SPIRV-Tools" = [ "spirv-tools" ]; "sqlcipher" = [ "sqlcipher" ]; @@ -5733,7 +5733,7 @@ pkgs: then [ pkgs.gdk_pixbuf ] else []; # rocm-thunk was replaced by rocmPackages.rocm-thunk in 23.11 - "libhsakmt" = [ pkgs.rocmPackages.rocm-thunk or pkgs.rocm-thunk ]; + # "libhsakmt" = [ pkgs.rocmPackages.rocm-thunk or pkgs.rocm-thunk ]; } // lib.optionalAttrs (pkgs ? libsigcxx12) { # libsigcxx12 was removed in 23.11 "sigc++-1.2" = [ "libsigcxx12" ]; diff --git a/lib/system-nixpkgs-map.nix b/lib/system-nixpkgs-map.nix index af0cdcdddc..53f31132f6 100644 --- a/lib/system-nixpkgs-map.nix +++ b/lib/system-nixpkgs-map.nix @@ -147,6 +147,3 @@ in # -- mingw32 // { mingwex = null; } -# -- os x -# NB: these map almost 1:1 to the framework names -// darwin.apple_sdk.frameworks diff --git a/materialized/spdx-3.26.0/licenses.json b/materialized/spdx-3.26.0/licenses.json new file mode 100644 index 0000000000..541444700e --- /dev/null +++ b/materialized/spdx-3.26.0/licenses.json @@ -0,0 +1,8533 @@ +{ + "licenseListVersion": "3.26.0", + "licenses": [ + { + "reference": "https://spdx.org/licenses/0BSD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/0BSD.json", + "referenceNumber": 502, + "name": "BSD Zero Clause License", + "licenseId": "0BSD", + "seeAlso": [ + "http://landley.net/toybox/license.html", + "https://opensource.org/licenses/0BSD" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/3D-Slicer-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/3D-Slicer-1.0.json", + "referenceNumber": 490, + "name": "3D Slicer License v1.0", + "licenseId": "3D-Slicer-1.0", + "seeAlso": [ + "https://slicer.org/LICENSE", + "https://github.com/Slicer/Slicer/blob/main/License.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AAL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AAL.json", + "referenceNumber": 136, + "name": "Attribution Assurance License", + "licenseId": "AAL", + "seeAlso": [ + "https://opensource.org/licenses/attribution" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Abstyles.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Abstyles.json", + "referenceNumber": 641, + "name": "Abstyles License", + "licenseId": "Abstyles", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Abstyles" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AdaCore-doc.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AdaCore-doc.json", + "referenceNumber": 403, + "name": "AdaCore Doc License", + "licenseId": "AdaCore-doc", + "seeAlso": [ + "https://github.com/AdaCore/xmlada/blob/master/docs/index.rst", + "https://github.com/AdaCore/gnatcoll-core/blob/master/docs/index.rst", + "https://github.com/AdaCore/gnatcoll-db/blob/master/docs/index.rst" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Adobe-2006.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Adobe-2006.json", + "referenceNumber": 131, + "name": "Adobe Systems Incorporated Source Code License Agreement", + "licenseId": "Adobe-2006", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/AdobeLicense" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Adobe-Display-PostScript.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Adobe-Display-PostScript.json", + "referenceNumber": 366, + "name": "Adobe Display PostScript License", + "licenseId": "Adobe-Display-PostScript", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING?ref_type\u003dheads#L752" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Adobe-Glyph.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Adobe-Glyph.json", + "referenceNumber": 510, + "name": "Adobe Glyph List License", + "licenseId": "Adobe-Glyph", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MIT#AdobeGlyph" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Adobe-Utopia.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Adobe-Utopia.json", + "referenceNumber": 591, + "name": "Adobe Utopia Font License", + "licenseId": "Adobe-Utopia", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/font/adobe-utopia-100dpi/-/blob/master/COPYING?ref_type\u003dheads" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ADSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ADSL.json", + "referenceNumber": 45, + "name": "Amazon Digital Services License", + "licenseId": "ADSL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/AmazonDigitalServicesLicense" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AFL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AFL-1.1.json", + "referenceNumber": 428, + "name": "Academic Free License v1.1", + "licenseId": "AFL-1.1", + "seeAlso": [ + "http://opensource.linux-mirror.org/licenses/afl-1.1.txt", + "http://wayback.archive.org/web/20021004124254/http://www.opensource.org/licenses/academic.php" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AFL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AFL-1.2.json", + "referenceNumber": 292, + "name": "Academic Free License v1.2", + "licenseId": "AFL-1.2", + "seeAlso": [ + "http://opensource.linux-mirror.org/licenses/afl-1.2.txt", + "http://wayback.archive.org/web/20021204204652/http://www.opensource.org/licenses/academic.php" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AFL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AFL-2.0.json", + "referenceNumber": 356, + "name": "Academic Free License v2.0", + "licenseId": "AFL-2.0", + "seeAlso": [ + "http://wayback.archive.org/web/20060924134533/http://www.opensource.org/licenses/afl-2.0.txt" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AFL-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AFL-2.1.json", + "referenceNumber": 219, + "name": "Academic Free License v2.1", + "licenseId": "AFL-2.1", + "seeAlso": [ + "http://opensource.linux-mirror.org/licenses/afl-2.1.txt" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AFL-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AFL-3.0.json", + "referenceNumber": 121, + "name": "Academic Free License v3.0", + "licenseId": "AFL-3.0", + "seeAlso": [ + "http://www.rosenlaw.com/AFL3.0.htm", + "https://opensource.org/licenses/afl-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Afmparse.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Afmparse.json", + "referenceNumber": 328, + "name": "Afmparse License", + "licenseId": "Afmparse", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Afmparse" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AGPL-1.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/AGPL-1.0.json", + "referenceNumber": 326, + "name": "Affero General Public License v1.0", + "licenseId": "AGPL-1.0", + "seeAlso": [ + "http://www.affero.org/oagpl.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AGPL-1.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AGPL-1.0-only.json", + "referenceNumber": 404, + "name": "Affero General Public License v1.0 only", + "licenseId": "AGPL-1.0-only", + "seeAlso": [ + "http://www.affero.org/oagpl.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AGPL-1.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AGPL-1.0-or-later.json", + "referenceNumber": 444, + "name": "Affero General Public License v1.0 or later", + "licenseId": "AGPL-1.0-or-later", + "seeAlso": [ + "http://www.affero.org/oagpl.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AGPL-3.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/AGPL-3.0.json", + "referenceNumber": 517, + "name": "GNU Affero General Public License v3.0", + "licenseId": "AGPL-3.0", + "seeAlso": [ + "https://www.gnu.org/licenses/agpl.txt", + "https://opensource.org/licenses/AGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AGPL-3.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AGPL-3.0-only.json", + "referenceNumber": 180, + "name": "GNU Affero General Public License v3.0 only", + "licenseId": "AGPL-3.0-only", + "seeAlso": [ + "https://www.gnu.org/licenses/agpl.txt", + "https://opensource.org/licenses/AGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AGPL-3.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AGPL-3.0-or-later.json", + "referenceNumber": 543, + "name": "GNU Affero General Public License v3.0 or later", + "licenseId": "AGPL-3.0-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/agpl.txt", + "https://opensource.org/licenses/AGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Aladdin.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Aladdin.json", + "referenceNumber": 67, + "name": "Aladdin Free Public License", + "licenseId": "Aladdin", + "seeAlso": [ + "http://pages.cs.wisc.edu/~ghost/doc/AFPL/6.01/Public.htm" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/AMD-newlib.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AMD-newlib.json", + "referenceNumber": 413, + "name": "AMD newlib License", + "licenseId": "AMD-newlib", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dnewlib-cygwin.git;a\u003dblob;f\u003dnewlib/libc/sys/a29khif/_close.S;h\u003d04f52ae00de1dafbd9055ad8d73c5c697a3aae7f;hb\u003dHEAD" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AMDPLPA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AMDPLPA.json", + "referenceNumber": 529, + "name": "AMD\u0027s plpa_map.c License", + "licenseId": "AMDPLPA", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/AMD_plpa_map_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AML.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AML.json", + "referenceNumber": 553, + "name": "Apple MIT License", + "licenseId": "AML", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Apple_MIT_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AML-glslang.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AML-glslang.json", + "referenceNumber": 27, + "name": "AML glslang variant License", + "licenseId": "AML-glslang", + "seeAlso": [ + "https://github.com/KhronosGroup/glslang/blob/main/LICENSE.txt#L949", + "https://docs.omniverse.nvidia.com/install-guide/latest/common/licenses.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AMPAS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AMPAS.json", + "referenceNumber": 79, + "name": "Academy of Motion Picture Arts and Sciences BSD", + "licenseId": "AMPAS", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/BSD#AMPASBSD" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ANTLR-PD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ANTLR-PD.json", + "referenceNumber": 454, + "name": "ANTLR Software Rights Notice", + "licenseId": "ANTLR-PD", + "seeAlso": [ + "http://www.antlr2.org/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ANTLR-PD-fallback.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ANTLR-PD-fallback.json", + "referenceNumber": 635, + "name": "ANTLR Software Rights Notice with license fallback", + "licenseId": "ANTLR-PD-fallback", + "seeAlso": [ + "http://www.antlr2.org/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/any-OSI.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/any-OSI.json", + "referenceNumber": 117, + "name": "Any OSI License", + "licenseId": "any-OSI", + "seeAlso": [ + "https://metacpan.org/pod/Exporter::Tidy#LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/any-OSI-perl-modules.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/any-OSI-perl-modules.json", + "referenceNumber": 286, + "name": "Any OSI License - Perl Modules", + "licenseId": "any-OSI-perl-modules", + "seeAlso": [ + "https://metacpan.org/release/JUERD/Exporter-Tidy-0.09/view/Tidy.pm#LICENSE", + "https://metacpan.org/pod/Qmail::Deliverable::Client#LICENSE", + "https://metacpan.org/pod/Net::MQTT::Simple#LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Apache-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Apache-1.0.json", + "referenceNumber": 347, + "name": "Apache License 1.0", + "licenseId": "Apache-1.0", + "seeAlso": [ + "http://www.apache.org/licenses/LICENSE-1.0" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Apache-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Apache-1.1.json", + "referenceNumber": 628, + "name": "Apache License 1.1", + "licenseId": "Apache-1.1", + "seeAlso": [ + "http://apache.org/licenses/LICENSE-1.1", + "https://opensource.org/licenses/Apache-1.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Apache-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Apache-2.0.json", + "referenceNumber": 418, + "name": "Apache License 2.0", + "licenseId": "Apache-2.0", + "seeAlso": [ + "https://www.apache.org/licenses/LICENSE-2.0", + "https://opensource.org/licenses/Apache-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/APAFML.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/APAFML.json", + "referenceNumber": 575, + "name": "Adobe Postscript AFM License", + "licenseId": "APAFML", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/AdobePostscriptAFM" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/APL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/APL-1.0.json", + "referenceNumber": 233, + "name": "Adaptive Public License 1.0", + "licenseId": "APL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/APL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/App-s2p.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/App-s2p.json", + "referenceNumber": 612, + "name": "App::s2p License", + "licenseId": "App-s2p", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/App-s2p" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/APSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/APSL-1.0.json", + "referenceNumber": 263, + "name": "Apple Public Source License 1.0", + "licenseId": "APSL-1.0", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Apple_Public_Source_License_1.0" + ], + "isOsiApproved": true, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/APSL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/APSL-1.1.json", + "referenceNumber": 381, + "name": "Apple Public Source License 1.1", + "licenseId": "APSL-1.1", + "seeAlso": [ + "http://www.opensource.apple.com/source/IOSerialFamily/IOSerialFamily-7/APPLE_LICENSE" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/APSL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/APSL-1.2.json", + "referenceNumber": 262, + "name": "Apple Public Source License 1.2", + "licenseId": "APSL-1.2", + "seeAlso": [ + "http://www.samurajdata.se/opensource/mirror/licenses/apsl.php" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/APSL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/APSL-2.0.json", + "referenceNumber": 438, + "name": "Apple Public Source License 2.0", + "licenseId": "APSL-2.0", + "seeAlso": [ + "http://www.opensource.apple.com/license/apsl/" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Arphic-1999.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Arphic-1999.json", + "referenceNumber": 122, + "name": "Arphic Public License", + "licenseId": "Arphic-1999", + "seeAlso": [ + "http://ftp.gnu.org/gnu/non-gnu/chinese-fonts-truetype/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Artistic-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Artistic-1.0.json", + "referenceNumber": 580, + "name": "Artistic License 1.0", + "licenseId": "Artistic-1.0", + "seeAlso": [ + "https://opensource.org/licenses/Artistic-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/Artistic-1.0-cl8.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Artistic-1.0-cl8.json", + "referenceNumber": 205, + "name": "Artistic License 1.0 w/clause 8", + "licenseId": "Artistic-1.0-cl8", + "seeAlso": [ + "https://opensource.org/licenses/Artistic-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Artistic-1.0-Perl.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Artistic-1.0-Perl.json", + "referenceNumber": 183, + "name": "Artistic License 1.0 (Perl)", + "licenseId": "Artistic-1.0-Perl", + "seeAlso": [ + "http://dev.perl.org/licenses/artistic.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Artistic-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Artistic-2.0.json", + "referenceNumber": 519, + "name": "Artistic License 2.0", + "licenseId": "Artistic-2.0", + "seeAlso": [ + "http://www.perlfoundation.org/artistic_license_2_0", + "https://www.perlfoundation.org/artistic-license-20.html", + "https://opensource.org/licenses/artistic-license-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ASWF-Digital-Assets-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ASWF-Digital-Assets-1.0.json", + "referenceNumber": 380, + "name": "ASWF Digital Assets License version 1.0", + "licenseId": "ASWF-Digital-Assets-1.0", + "seeAlso": [ + "https://github.com/AcademySoftwareFoundation/foundation/blob/main/digital_assets/aswf_digital_assets_license_v1.0.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ASWF-Digital-Assets-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ASWF-Digital-Assets-1.1.json", + "referenceNumber": 7, + "name": "ASWF Digital Assets License 1.1", + "licenseId": "ASWF-Digital-Assets-1.1", + "seeAlso": [ + "https://github.com/AcademySoftwareFoundation/foundation/blob/main/digital_assets/aswf_digital_assets_license_v1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Baekmuk.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Baekmuk.json", + "referenceNumber": 434, + "name": "Baekmuk License", + "licenseId": "Baekmuk", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:Baekmuk?rd\u003dLicensing/Baekmuk" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Bahyph.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Bahyph.json", + "referenceNumber": 312, + "name": "Bahyph License", + "licenseId": "Bahyph", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Bahyph" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Barr.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Barr.json", + "referenceNumber": 93, + "name": "Barr License", + "licenseId": "Barr", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Barr" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/bcrypt-Solar-Designer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/bcrypt-Solar-Designer.json", + "referenceNumber": 624, + "name": "bcrypt Solar Designer License", + "licenseId": "bcrypt-Solar-Designer", + "seeAlso": [ + "https://github.com/bcrypt-ruby/bcrypt-ruby/blob/master/ext/mri/crypt_blowfish.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Beerware.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Beerware.json", + "referenceNumber": 429, + "name": "Beerware License", + "licenseId": "Beerware", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Beerware", + "https://people.freebsd.org/~phk/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Bitstream-Charter.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Bitstream-Charter.json", + "referenceNumber": 530, + "name": "Bitstream Charter Font License", + "licenseId": "Bitstream-Charter", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Charter#License_Text", + "https://raw.githubusercontent.com/blackhole89/notekit/master/data/fonts/Charter%20license.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Bitstream-Vera.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Bitstream-Vera.json", + "referenceNumber": 194, + "name": "Bitstream Vera Font License", + "licenseId": "Bitstream-Vera", + "seeAlso": [ + "https://web.archive.org/web/20080207013128/http://www.gnome.org/fonts/", + "https://docubrain.com/sites/default/files/licenses/bitstream-vera.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BitTorrent-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BitTorrent-1.0.json", + "referenceNumber": 669, + "name": "BitTorrent Open Source License v1.0", + "licenseId": "BitTorrent-1.0", + "seeAlso": [ + "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/licenses/BitTorrent?r1\u003d1.1\u0026r2\u003d1.1.1.1\u0026diff_format\u003ds" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BitTorrent-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BitTorrent-1.1.json", + "referenceNumber": 583, + "name": "BitTorrent Open Source License v1.1", + "licenseId": "BitTorrent-1.1", + "seeAlso": [ + "http://directory.fsf.org/wiki/License:BitTorrentOSL1.1" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/blessing.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/blessing.json", + "referenceNumber": 667, + "name": "SQLite Blessing", + "licenseId": "blessing", + "seeAlso": [ + "https://www.sqlite.org/src/artifact/e33a4df7e32d742a?ln\u003d4-9", + "https://sqlite.org/src/artifact/df5091916dbb40e6" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BlueOak-1.0.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BlueOak-1.0.0.json", + "referenceNumber": 191, + "name": "Blue Oak Model License 1.0.0", + "licenseId": "BlueOak-1.0.0", + "seeAlso": [ + "https://blueoakcouncil.org/license/1.0.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Boehm-GC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Boehm-GC.json", + "referenceNumber": 540, + "name": "Boehm-Demers-Weiser GC License", + "licenseId": "Boehm-GC", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:MIT#Another_Minimal_variant_(found_in_libatomic_ops)", + "https://github.com/uim/libgcroots/blob/master/COPYING", + "https://github.com/ivmai/libatomic_ops/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Boehm-GC-without-fee.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Boehm-GC-without-fee.json", + "referenceNumber": 606, + "name": "Boehm-Demers-Weiser GC License (without fee)", + "licenseId": "Boehm-GC-without-fee", + "seeAlso": [ + "https://github.com/MariaDB/server/blob/11.6/libmysqld/lib_sql.cc" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Borceux.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Borceux.json", + "referenceNumber": 500, + "name": "Borceux license", + "licenseId": "Borceux", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Borceux" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Brian-Gladman-2-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Brian-Gladman-2-Clause.json", + "referenceNumber": 582, + "name": "Brian Gladman 2-Clause License", + "licenseId": "Brian-Gladman-2-Clause", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L140-L156", + "https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Brian-Gladman-3-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Brian-Gladman-3-Clause.json", + "referenceNumber": 360, + "name": "Brian Gladman 3-Clause License", + "licenseId": "Brian-Gladman-3-Clause", + "seeAlso": [ + "https://github.com/SWI-Prolog/packages-clib/blob/master/sha1/brg_endian.h" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-1-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-1-Clause.json", + "referenceNumber": 101, + "name": "BSD 1-Clause License", + "licenseId": "BSD-1-Clause", + "seeAlso": [ + "https://svnweb.freebsd.org/base/head/include/ifaddrs.h?revision\u003d326823" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause.json", + "referenceNumber": 61, + "name": "BSD 2-Clause \"Simplified\" License", + "licenseId": "BSD-2-Clause", + "seeAlso": [ + "https://opensource.org/licenses/BSD-2-Clause" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-Darwin.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-Darwin.json", + "referenceNumber": 300, + "name": "BSD 2-Clause - Ian Darwin variant", + "licenseId": "BSD-2-Clause-Darwin", + "seeAlso": [ + "https://github.com/file/file/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-first-lines.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-first-lines.json", + "referenceNumber": 271, + "name": "BSD 2-Clause - first lines requirement", + "licenseId": "BSD-2-Clause-first-lines", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L664-L690", + "https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-FreeBSD.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-FreeBSD.json", + "referenceNumber": 388, + "name": "BSD 2-Clause FreeBSD License", + "licenseId": "BSD-2-Clause-FreeBSD", + "seeAlso": [ + "http://www.freebsd.org/copyright/freebsd-license.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-NetBSD.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-NetBSD.json", + "referenceNumber": 230, + "name": "BSD 2-Clause NetBSD License", + "licenseId": "BSD-2-Clause-NetBSD", + "seeAlso": [ + "http://www.netbsd.org/about/redistribution.html#default" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-Patent.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-Patent.json", + "referenceNumber": 601, + "name": "BSD-2-Clause Plus Patent License", + "licenseId": "BSD-2-Clause-Patent", + "seeAlso": [ + "https://opensource.org/licenses/BSDplusPatent" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-Views.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-Views.json", + "referenceNumber": 568, + "name": "BSD 2-Clause with views sentence", + "licenseId": "BSD-2-Clause-Views", + "seeAlso": [ + "http://www.freebsd.org/copyright/freebsd-license.html", + "https://people.freebsd.org/~ivoras/wine/patch-wine-nvidia.sh", + "https://github.com/protegeproject/protege/blob/master/license.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause.json", + "referenceNumber": 258, + "name": "BSD 3-Clause \"New\" or \"Revised\" License", + "licenseId": "BSD-3-Clause", + "seeAlso": [ + "https://opensource.org/licenses/BSD-3-Clause", + "https://www.eclipse.org/org/documents/edl-v10.php" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-acpica.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-acpica.json", + "referenceNumber": 613, + "name": "BSD 3-Clause acpica variant", + "licenseId": "BSD-3-Clause-acpica", + "seeAlso": [ + "https://github.com/acpica/acpica/blob/master/source/common/acfileio.c#L119" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-Attribution.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Attribution.json", + "referenceNumber": 511, + "name": "BSD with attribution", + "licenseId": "BSD-3-Clause-Attribution", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/BSD_with_Attribution" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-Clear.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Clear.json", + "referenceNumber": 26, + "name": "BSD 3-Clause Clear License", + "licenseId": "BSD-3-Clause-Clear", + "seeAlso": [ + "http://labs.metacarta.com/license-explanation.html#license" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-flex.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-flex.json", + "referenceNumber": 99, + "name": "BSD 3-Clause Flex variant", + "licenseId": "BSD-3-Clause-flex", + "seeAlso": [ + "https://github.com/westes/flex/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-HP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-HP.json", + "referenceNumber": 346, + "name": "Hewlett-Packard BSD variant license", + "licenseId": "BSD-3-Clause-HP", + "seeAlso": [ + "https://github.com/zdohnal/hplip/blob/master/COPYING#L939" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-LBNL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-LBNL.json", + "referenceNumber": 243, + "name": "Lawrence Berkeley National Labs BSD variant license", + "licenseId": "BSD-3-Clause-LBNL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/LBNLBSD" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-Modification.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Modification.json", + "referenceNumber": 489, + "name": "BSD 3-Clause Modification", + "licenseId": "BSD-3-Clause-Modification", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:BSD#Modification_Variant" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Military-License.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Military-License.json", + "referenceNumber": 102, + "name": "BSD 3-Clause No Military License", + "licenseId": "BSD-3-Clause-No-Military-License", + "seeAlso": [ + "https://gitlab.syncad.com/hive/dhive/-/blob/master/LICENSE", + "https://github.com/greymass/swift-eosio/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.json", + "referenceNumber": 545, + "name": "BSD 3-Clause No Nuclear License", + "licenseId": "BSD-3-Clause-No-Nuclear-License", + "seeAlso": [ + "http://download.oracle.com/otn-pub/java/licenses/bsd.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.json", + "referenceNumber": 185, + "name": "BSD 3-Clause No Nuclear License 2014", + "licenseId": "BSD-3-Clause-No-Nuclear-License-2014", + "seeAlso": [ + "https://java.net/projects/javaeetutorial/pages/BerkeleyLicense" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.json", + "referenceNumber": 465, + "name": "BSD 3-Clause No Nuclear Warranty", + "licenseId": "BSD-3-Clause-No-Nuclear-Warranty", + "seeAlso": [ + "https://jogamp.org/git/?p\u003dgluegen.git;a\u003dblob_plain;f\u003dLICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.json", + "referenceNumber": 108, + "name": "BSD 3-Clause Open MPI variant", + "licenseId": "BSD-3-Clause-Open-MPI", + "seeAlso": [ + "https://www.open-mpi.org/community/license.php", + "http://www.netlib.org/lapack/LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-Sun.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Sun.json", + "referenceNumber": 496, + "name": "BSD 3-Clause Sun Microsystems", + "licenseId": "BSD-3-Clause-Sun", + "seeAlso": [ + "https://github.com/xmlark/msv/blob/b9316e2f2270bc1606952ea4939ec87fbba157f3/xsdlib/src/main/java/com/sun/msv/datatype/regexp/InternalImpl.java" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-4-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause.json", + "referenceNumber": 416, + "name": "BSD 4-Clause \"Original\" or \"Old\" License", + "licenseId": "BSD-4-Clause", + "seeAlso": [ + "http://directory.fsf.org/wiki/License:BSD_4Clause" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BSD-4-Clause-Shortened.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause-Shortened.json", + "referenceNumber": 387, + "name": "BSD 4 Clause Shortened", + "licenseId": "BSD-4-Clause-Shortened", + "seeAlso": [ + "https://metadata.ftp-master.debian.org/changelogs//main/a/arpwatch/arpwatch_2.1a15-7_copyright" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-4-Clause-UC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause-UC.json", + "referenceNumber": 123, + "name": "BSD-4-Clause (University of California-Specific)", + "licenseId": "BSD-4-Clause-UC", + "seeAlso": [ + "http://www.freebsd.org/copyright/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-4.3RENO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-4.3RENO.json", + "referenceNumber": 373, + "name": "BSD 4.3 RENO License", + "licenseId": "BSD-4.3RENO", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dbinutils-gdb.git;a\u003dblob;f\u003dlibiberty/strcasecmp.c;h\u003d131d81c2ce7881fa48c363dc5bf5fb302c61ce0b;hb\u003dHEAD", + "https://git.openldap.org/openldap/openldap/-/blob/master/COPYRIGHT#L55-63" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-4.3TAHOE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-4.3TAHOE.json", + "referenceNumber": 355, + "name": "BSD 4.3 TAHOE License", + "licenseId": "BSD-4.3TAHOE", + "seeAlso": [ + "https://github.com/389ds/389-ds-base/blob/main/ldap/include/sysexits-compat.h#L15", + "https://git.savannah.gnu.org/cgit/indent.git/tree/doc/indent.texi?id\u003da74c6b4ee49397cf330b333da1042bffa60ed14f#n1788" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Advertising-Acknowledgement.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Advertising-Acknowledgement.json", + "referenceNumber": 488, + "name": "BSD Advertising Acknowledgement License", + "licenseId": "BSD-Advertising-Acknowledgement", + "seeAlso": [ + "https://github.com/python-excel/xlrd/blob/master/LICENSE#L33" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Attribution-HPND-disclaimer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Attribution-HPND-disclaimer.json", + "referenceNumber": 69, + "name": "BSD with Attribution and HPND disclaimer", + "licenseId": "BSD-Attribution-HPND-disclaimer", + "seeAlso": [ + "https://github.com/cyrusimap/cyrus-sasl/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Inferno-Nettverk.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Inferno-Nettverk.json", + "referenceNumber": 197, + "name": "BSD-Inferno-Nettverk", + "licenseId": "BSD-Inferno-Nettverk", + "seeAlso": [ + "https://www.inet.no/dante/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Protection.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Protection.json", + "referenceNumber": 546, + "name": "BSD Protection License", + "licenseId": "BSD-Protection", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/BSD_Protection_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Source-beginning-file.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Source-beginning-file.json", + "referenceNumber": 421, + "name": "BSD Source Code Attribution - beginning of file variant", + "licenseId": "BSD-Source-beginning-file", + "seeAlso": [ + "https://github.com/lattera/freebsd/blob/master/sys/cam/cam.c#L4" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Source-Code.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Source-Code.json", + "referenceNumber": 214, + "name": "BSD Source Code Attribution", + "licenseId": "BSD-Source-Code", + "seeAlso": [ + "https://github.com/robbiehanson/CocoaHTTPServer/blob/master/LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Systemics.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Systemics.json", + "referenceNumber": 160, + "name": "Systemics BSD variant license", + "licenseId": "BSD-Systemics", + "seeAlso": [ + "https://metacpan.org/release/DPARIS/Crypt-DES-2.07/source/COPYRIGHT" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Systemics-W3Works.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Systemics-W3Works.json", + "referenceNumber": 652, + "name": "Systemics W3Works BSD variant license", + "licenseId": "BSD-Systemics-W3Works", + "seeAlso": [ + "https://metacpan.org/release/DPARIS/Crypt-Blowfish-2.14/source/COPYRIGHT#L7" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSL-1.0.json", + "referenceNumber": 272, + "name": "Boost Software License 1.0", + "licenseId": "BSL-1.0", + "seeAlso": [ + "http://www.boost.org/LICENSE_1_0.txt", + "https://opensource.org/licenses/BSL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BUSL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BUSL-1.1.json", + "referenceNumber": 318, + "name": "Business Source License 1.1", + "licenseId": "BUSL-1.1", + "seeAlso": [ + "https://mariadb.com/bsl11/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/bzip2-1.0.5.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/bzip2-1.0.5.json", + "referenceNumber": 556, + "name": "bzip2 and libbzip2 License v1.0.5", + "licenseId": "bzip2-1.0.5", + "seeAlso": [ + "https://sourceware.org/bzip2/1.0.5/bzip2-manual-1.0.5.html", + "http://bzip.org/1.0.5/bzip2-manual-1.0.5.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/bzip2-1.0.6.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/bzip2-1.0.6.json", + "referenceNumber": 638, + "name": "bzip2 and libbzip2 License v1.0.6", + "licenseId": "bzip2-1.0.6", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dbzip2.git;a\u003dblob;f\u003dLICENSE;hb\u003dbzip2-1.0.6", + "http://bzip.org/1.0.5/bzip2-manual-1.0.5.html", + "https://sourceware.org/cgit/valgrind/tree/mpi/libmpiwrap.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/C-UDA-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/C-UDA-1.0.json", + "referenceNumber": 345, + "name": "Computational Use of Data Agreement v1.0", + "licenseId": "C-UDA-1.0", + "seeAlso": [ + "https://github.com/microsoft/Computational-Use-of-Data-Agreement/blob/master/C-UDA-1.0.md", + "https://cdla.dev/computational-use-of-data-agreement-v1-0/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CAL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CAL-1.0.json", + "referenceNumber": 137, + "name": "Cryptographic Autonomy License 1.0", + "licenseId": "CAL-1.0", + "seeAlso": [ + "http://cryptographicautonomylicense.com/license-text.html", + "https://opensource.org/licenses/CAL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CAL-1.0-Combined-Work-Exception.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CAL-1.0-Combined-Work-Exception.json", + "referenceNumber": 660, + "name": "Cryptographic Autonomy License 1.0 (Combined Work Exception)", + "licenseId": "CAL-1.0-Combined-Work-Exception", + "seeAlso": [ + "http://cryptographicautonomylicense.com/license-text.html", + "https://opensource.org/licenses/CAL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Caldera.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Caldera.json", + "referenceNumber": 323, + "name": "Caldera License", + "licenseId": "Caldera", + "seeAlso": [ + "http://www.lemis.com/grog/UNIX/ancient-source-all.pdf" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Caldera-no-preamble.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Caldera-no-preamble.json", + "referenceNumber": 630, + "name": "Caldera License (without preamble)", + "licenseId": "Caldera-no-preamble", + "seeAlso": [ + "https://github.com/apache/apr/blob/trunk/LICENSE#L298C6-L298C29" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Catharon.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Catharon.json", + "referenceNumber": 397, + "name": "Catharon License", + "licenseId": "Catharon", + "seeAlso": [ + "https://github.com/scummvm/scummvm/blob/v2.8.0/LICENSES/CatharonLicense.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CATOSL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CATOSL-1.1.json", + "referenceNumber": 175, + "name": "Computer Associates Trusted Open Source License 1.1", + "licenseId": "CATOSL-1.1", + "seeAlso": [ + "https://opensource.org/licenses/CATOSL-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CC-BY-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-1.0.json", + "referenceNumber": 232, + "name": "Creative Commons Attribution 1.0 Generic", + "licenseId": "CC-BY-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by/1.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-2.0.json", + "referenceNumber": 473, + "name": "Creative Commons Attribution 2.0 Generic", + "licenseId": "CC-BY-2.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by/2.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-2.5.json", + "referenceNumber": 521, + "name": "Creative Commons Attribution 2.5 Generic", + "licenseId": "CC-BY-2.5", + "seeAlso": [ + "https://creativecommons.org/licenses/by/2.5/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-2.5-AU.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-2.5-AU.json", + "referenceNumber": 459, + "name": "Creative Commons Attribution 2.5 Australia", + "licenseId": "CC-BY-2.5-AU", + "seeAlso": [ + "https://creativecommons.org/licenses/by/2.5/au/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0.json", + "referenceNumber": 107, + "name": "Creative Commons Attribution 3.0 Unported", + "licenseId": "CC-BY-3.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0-AT.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-AT.json", + "referenceNumber": 130, + "name": "Creative Commons Attribution 3.0 Austria", + "licenseId": "CC-BY-3.0-AT", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/at/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0-AU.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-AU.json", + "referenceNumber": 256, + "name": "Creative Commons Attribution 3.0 Australia", + "licenseId": "CC-BY-3.0-AU", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/au/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-DE.json", + "referenceNumber": 91, + "name": "Creative Commons Attribution 3.0 Germany", + "licenseId": "CC-BY-3.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0-IGO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-IGO.json", + "referenceNumber": 213, + "name": "Creative Commons Attribution 3.0 IGO", + "licenseId": "CC-BY-3.0-IGO", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/igo/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0-NL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-NL.json", + "referenceNumber": 402, + "name": "Creative Commons Attribution 3.0 Netherlands", + "licenseId": "CC-BY-3.0-NL", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/nl/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0-US.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-US.json", + "referenceNumber": 275, + "name": "Creative Commons Attribution 3.0 United States", + "licenseId": "CC-BY-3.0-US", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/us/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-4.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-4.0.json", + "referenceNumber": 494, + "name": "Creative Commons Attribution 4.0 International", + "licenseId": "CC-BY-4.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by/4.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-1.0.json", + "referenceNumber": 414, + "name": "Creative Commons Attribution Non Commercial 1.0 Generic", + "licenseId": "CC-BY-NC-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc/1.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-2.0.json", + "referenceNumber": 57, + "name": "Creative Commons Attribution Non Commercial 2.0 Generic", + "licenseId": "CC-BY-NC-2.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc/2.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-2.5.json", + "referenceNumber": 332, + "name": "Creative Commons Attribution Non Commercial 2.5 Generic", + "licenseId": "CC-BY-NC-2.5", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc/2.5/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-3.0.json", + "referenceNumber": 226, + "name": "Creative Commons Attribution Non Commercial 3.0 Unported", + "licenseId": "CC-BY-NC-3.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc/3.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-3.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-3.0-DE.json", + "referenceNumber": 204, + "name": "Creative Commons Attribution Non Commercial 3.0 Germany", + "licenseId": "CC-BY-NC-3.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc/3.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-4.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-4.0.json", + "referenceNumber": 464, + "name": "Creative Commons Attribution Non Commercial 4.0 International", + "licenseId": "CC-BY-NC-4.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc/4.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-1.0.json", + "referenceNumber": 190, + "name": "Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic", + "licenseId": "CC-BY-NC-ND-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd-nc/1.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-2.0.json", + "referenceNumber": 242, + "name": "Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic", + "licenseId": "CC-BY-NC-ND-2.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/2.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-2.5.json", + "referenceNumber": 358, + "name": "Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic", + "licenseId": "CC-BY-NC-ND-2.5", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/2.5/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-3.0.json", + "referenceNumber": 51, + "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported", + "licenseId": "CC-BY-NC-ND-3.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-DE.json", + "referenceNumber": 676, + "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany", + "licenseId": "CC-BY-NC-ND-3.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/3.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-IGO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-IGO.json", + "referenceNumber": 109, + "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO", + "licenseId": "CC-BY-NC-ND-3.0-IGO", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/3.0/igo/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-4.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-4.0.json", + "referenceNumber": 184, + "name": "Creative Commons Attribution Non Commercial No Derivatives 4.0 International", + "licenseId": "CC-BY-NC-ND-4.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-1.0.json", + "referenceNumber": 650, + "name": "Creative Commons Attribution Non Commercial Share Alike 1.0 Generic", + "licenseId": "CC-BY-NC-SA-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/1.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0.json", + "referenceNumber": 2, + "name": "Creative Commons Attribution Non Commercial Share Alike 2.0 Generic", + "licenseId": "CC-BY-NC-SA-2.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/2.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-DE.json", + "referenceNumber": 310, + "name": "Creative Commons Attribution Non Commercial Share Alike 2.0 Germany", + "licenseId": "CC-BY-NC-SA-2.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/2.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-FR.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-FR.json", + "referenceNumber": 264, + "name": "Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France", + "licenseId": "CC-BY-NC-SA-2.0-FR", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/2.0/fr/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-UK.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-UK.json", + "referenceNumber": 70, + "name": "Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales", + "licenseId": "CC-BY-NC-SA-2.0-UK", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/2.0/uk/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.5.json", + "referenceNumber": 148, + "name": "Creative Commons Attribution Non Commercial Share Alike 2.5 Generic", + "licenseId": "CC-BY-NC-SA-2.5", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/2.5/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0.json", + "referenceNumber": 572, + "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 Unported", + "licenseId": "CC-BY-NC-SA-3.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-DE.json", + "referenceNumber": 625, + "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 Germany", + "licenseId": "CC-BY-NC-SA-3.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/3.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-IGO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-IGO.json", + "referenceNumber": 239, + "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 IGO", + "licenseId": "CC-BY-NC-SA-3.0-IGO", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/3.0/igo/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-4.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-4.0.json", + "referenceNumber": 437, + "name": "Creative Commons Attribution Non Commercial Share Alike 4.0 International", + "licenseId": "CC-BY-NC-SA-4.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-ND-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-1.0.json", + "referenceNumber": 337, + "name": "Creative Commons Attribution No Derivatives 1.0 Generic", + "licenseId": "CC-BY-ND-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd/1.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-ND-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-2.0.json", + "referenceNumber": 293, + "name": "Creative Commons Attribution No Derivatives 2.0 Generic", + "licenseId": "CC-BY-ND-2.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd/2.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-ND-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-2.5.json", + "referenceNumber": 674, + "name": "Creative Commons Attribution No Derivatives 2.5 Generic", + "licenseId": "CC-BY-ND-2.5", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd/2.5/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-ND-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-3.0.json", + "referenceNumber": 616, + "name": "Creative Commons Attribution No Derivatives 3.0 Unported", + "licenseId": "CC-BY-ND-3.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd/3.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-ND-3.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-3.0-DE.json", + "referenceNumber": 386, + "name": "Creative Commons Attribution No Derivatives 3.0 Germany", + "licenseId": "CC-BY-ND-3.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd/3.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-ND-4.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-4.0.json", + "referenceNumber": 95, + "name": "Creative Commons Attribution No Derivatives 4.0 International", + "licenseId": "CC-BY-ND-4.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd/4.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-1.0.json", + "referenceNumber": 595, + "name": "Creative Commons Attribution Share Alike 1.0 Generic", + "licenseId": "CC-BY-SA-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/1.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.0.json", + "referenceNumber": 534, + "name": "Creative Commons Attribution Share Alike 2.0 Generic", + "licenseId": "CC-BY-SA-2.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/2.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-2.0-UK.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.0-UK.json", + "referenceNumber": 267, + "name": "Creative Commons Attribution Share Alike 2.0 England and Wales", + "licenseId": "CC-BY-SA-2.0-UK", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/2.0/uk/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-2.1-JP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.1-JP.json", + "referenceNumber": 18, + "name": "Creative Commons Attribution Share Alike 2.1 Japan", + "licenseId": "CC-BY-SA-2.1-JP", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/2.1/jp/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.5.json", + "referenceNumber": 617, + "name": "Creative Commons Attribution Share Alike 2.5 Generic", + "licenseId": "CC-BY-SA-2.5", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/2.5/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0.json", + "referenceNumber": 63, + "name": "Creative Commons Attribution Share Alike 3.0 Unported", + "licenseId": "CC-BY-SA-3.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/3.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-AT.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-AT.json", + "referenceNumber": 532, + "name": "Creative Commons Attribution Share Alike 3.0 Austria", + "licenseId": "CC-BY-SA-3.0-AT", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/3.0/at/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.json", + "referenceNumber": 182, + "name": "Creative Commons Attribution Share Alike 3.0 Germany", + "licenseId": "CC-BY-SA-3.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/3.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-IGO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-IGO.json", + "referenceNumber": 627, + "name": "Creative Commons Attribution-ShareAlike 3.0 IGO", + "licenseId": "CC-BY-SA-3.0-IGO", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/3.0/igo/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-4.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-4.0.json", + "referenceNumber": 44, + "name": "Creative Commons Attribution Share Alike 4.0 International", + "licenseId": "CC-BY-SA-4.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/4.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CC-PDDC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-PDDC.json", + "referenceNumber": 602, + "name": "Creative Commons Public Domain Dedication and Certification", + "licenseId": "CC-PDDC", + "seeAlso": [ + "https://creativecommons.org/licenses/publicdomain/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-PDM-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-PDM-1.0.json", + "referenceNumber": 565, + "name": "Creative Commons Public Domain Mark 1.0 Universal", + "licenseId": "CC-PDM-1.0", + "seeAlso": [ + "https://creativecommons.org/publicdomain/mark/1.0/", + "https://creativecommons.org/share-your-work/cclicenses/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-SA-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-SA-1.0.json", + "referenceNumber": 321, + "name": "Creative Commons Share Alike 1.0 Generic", + "licenseId": "CC-SA-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/sa/1.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC0-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC0-1.0.json", + "referenceNumber": 111, + "name": "Creative Commons Zero v1.0 Universal", + "licenseId": "CC0-1.0", + "seeAlso": [ + "https://creativecommons.org/publicdomain/zero/1.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CDDL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CDDL-1.0.json", + "referenceNumber": 284, + "name": "Common Development and Distribution License 1.0", + "licenseId": "CDDL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/cddl1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CDDL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CDDL-1.1.json", + "referenceNumber": 198, + "name": "Common Development and Distribution License 1.1", + "licenseId": "CDDL-1.1", + "seeAlso": [ + "http://glassfish.java.net/public/CDDL+GPL_1_1.html", + "https://javaee.github.io/glassfish/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CDL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CDL-1.0.json", + "referenceNumber": 539, + "name": "Common Documentation License 1.0", + "licenseId": "CDL-1.0", + "seeAlso": [ + "http://www.opensource.apple.com/cdl/", + "https://fedoraproject.org/wiki/Licensing/Common_Documentation_License", + "https://www.gnu.org/licenses/license-list.html#ACDL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CDLA-Permissive-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CDLA-Permissive-1.0.json", + "referenceNumber": 524, + "name": "Community Data License Agreement Permissive 1.0", + "licenseId": "CDLA-Permissive-1.0", + "seeAlso": [ + "https://cdla.io/permissive-1-0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CDLA-Permissive-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CDLA-Permissive-2.0.json", + "referenceNumber": 636, + "name": "Community Data License Agreement Permissive 2.0", + "licenseId": "CDLA-Permissive-2.0", + "seeAlso": [ + "https://cdla.dev/permissive-2-0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CDLA-Sharing-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CDLA-Sharing-1.0.json", + "referenceNumber": 161, + "name": "Community Data License Agreement Sharing 1.0", + "licenseId": "CDLA-Sharing-1.0", + "seeAlso": [ + "https://cdla.io/sharing-1-0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CECILL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CECILL-1.0.json", + "referenceNumber": 66, + "name": "CeCILL Free Software License Agreement v1.0", + "licenseId": "CECILL-1.0", + "seeAlso": [ + "http://www.cecill.info/licences/Licence_CeCILL_V1-fr.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CECILL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CECILL-1.1.json", + "referenceNumber": 343, + "name": "CeCILL Free Software License Agreement v1.1", + "licenseId": "CECILL-1.1", + "seeAlso": [ + "http://www.cecill.info/licences/Licence_CeCILL_V1.1-US.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CECILL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CECILL-2.0.json", + "referenceNumber": 113, + "name": "CeCILL Free Software License Agreement v2.0", + "licenseId": "CECILL-2.0", + "seeAlso": [ + "http://www.cecill.info/licences/Licence_CeCILL_V2-en.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CECILL-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CECILL-2.1.json", + "referenceNumber": 154, + "name": "CeCILL Free Software License Agreement v2.1", + "licenseId": "CECILL-2.1", + "seeAlso": [ + "http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CECILL-B.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CECILL-B.json", + "referenceNumber": 657, + "name": "CeCILL-B Free Software License Agreement", + "licenseId": "CECILL-B", + "seeAlso": [ + "http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CECILL-C.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CECILL-C.json", + "referenceNumber": 276, + "name": "CeCILL-C Free Software License Agreement", + "licenseId": "CECILL-C", + "seeAlso": [ + "http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CERN-OHL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CERN-OHL-1.1.json", + "referenceNumber": 348, + "name": "CERN Open Hardware Licence v1.1", + "licenseId": "CERN-OHL-1.1", + "seeAlso": [ + "https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.1" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CERN-OHL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CERN-OHL-1.2.json", + "referenceNumber": 143, + "name": "CERN Open Hardware Licence v1.2", + "licenseId": "CERN-OHL-1.2", + "seeAlso": [ + "https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.2" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CERN-OHL-P-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CERN-OHL-P-2.0.json", + "referenceNumber": 422, + "name": "CERN Open Hardware Licence Version 2 - Permissive", + "licenseId": "CERN-OHL-P-2.0", + "seeAlso": [ + "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CERN-OHL-S-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CERN-OHL-S-2.0.json", + "referenceNumber": 306, + "name": "CERN Open Hardware Licence Version 2 - Strongly Reciprocal", + "licenseId": "CERN-OHL-S-2.0", + "seeAlso": [ + "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CERN-OHL-W-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CERN-OHL-W-2.0.json", + "referenceNumber": 268, + "name": "CERN Open Hardware Licence Version 2 - Weakly Reciprocal", + "licenseId": "CERN-OHL-W-2.0", + "seeAlso": [ + "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CFITSIO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CFITSIO.json", + "referenceNumber": 598, + "name": "CFITSIO License", + "licenseId": "CFITSIO", + "seeAlso": [ + "https://heasarc.gsfc.nasa.gov/docs/software/fitsio/c/f_user/node9.html", + "https://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/doc/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/check-cvs.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/check-cvs.json", + "referenceNumber": 411, + "name": "check-cvs License", + "licenseId": "check-cvs", + "seeAlso": [ + "http://cvs.savannah.gnu.org/viewvc/cvs/ccvs/contrib/check_cvs.in?revision\u003d1.1.4.3\u0026view\u003dmarkup\u0026pathrev\u003dcvs1-11-23#l2" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/checkmk.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/checkmk.json", + "referenceNumber": 13, + "name": "Checkmk License", + "licenseId": "checkmk", + "seeAlso": [ + "https://github.com/libcheck/check/blob/master/checkmk/checkmk.in" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ClArtistic.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ClArtistic.json", + "referenceNumber": 236, + "name": "Clarified Artistic License", + "licenseId": "ClArtistic", + "seeAlso": [ + "http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/", + "http://www.ncftp.com/ncftp/doc/LICENSE.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Clips.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Clips.json", + "referenceNumber": 392, + "name": "Clips License", + "licenseId": "Clips", + "seeAlso": [ + "https://github.com/DrItanium/maya/blob/master/LICENSE.CLIPS" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CMU-Mach.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CMU-Mach.json", + "referenceNumber": 35, + "name": "CMU Mach License", + "licenseId": "CMU-Mach", + "seeAlso": [ + "https://www.cs.cmu.edu/~410/licenses.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CMU-Mach-nodoc.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CMU-Mach-nodoc.json", + "referenceNumber": 255, + "name": "CMU Mach - no notices-in-documentation variant", + "licenseId": "CMU-Mach-nodoc", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L718-L728", + "https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CNRI-Jython.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CNRI-Jython.json", + "referenceNumber": 270, + "name": "CNRI Jython License", + "licenseId": "CNRI-Jython", + "seeAlso": [ + "http://www.jython.org/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CNRI-Python.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CNRI-Python.json", + "referenceNumber": 287, + "name": "CNRI Python License", + "licenseId": "CNRI-Python", + "seeAlso": [ + "https://opensource.org/licenses/CNRI-Python" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CNRI-Python-GPL-Compatible.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CNRI-Python-GPL-Compatible.json", + "referenceNumber": 646, + "name": "CNRI Python Open Source GPL Compatible License Agreement", + "licenseId": "CNRI-Python-GPL-Compatible", + "seeAlso": [ + "http://www.python.org/download/releases/1.6.1/download_win/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/COIL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/COIL-1.0.json", + "referenceNumber": 193, + "name": "Copyfree Open Innovation License", + "licenseId": "COIL-1.0", + "seeAlso": [ + "https://coil.apotheon.org/plaintext/01.0.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Community-Spec-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Community-Spec-1.0.json", + "referenceNumber": 29, + "name": "Community Specification License 1.0", + "licenseId": "Community-Spec-1.0", + "seeAlso": [ + "https://github.com/CommunitySpecification/1.0/blob/master/1._Community_Specification_License-v1.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Condor-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Condor-1.1.json", + "referenceNumber": 274, + "name": "Condor Public License v1.1", + "licenseId": "Condor-1.1", + "seeAlso": [ + "http://research.cs.wisc.edu/condor/license.html#condor", + "http://web.archive.org/web/20111123062036/http://research.cs.wisc.edu/condor/license.html#condor" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/copyleft-next-0.3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/copyleft-next-0.3.0.json", + "referenceNumber": 308, + "name": "copyleft-next 0.3.0", + "licenseId": "copyleft-next-0.3.0", + "seeAlso": [ + "https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/copyleft-next-0.3.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/copyleft-next-0.3.1.json", + "referenceNumber": 302, + "name": "copyleft-next 0.3.1", + "licenseId": "copyleft-next-0.3.1", + "seeAlso": [ + "https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.1" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Cornell-Lossless-JPEG.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Cornell-Lossless-JPEG.json", + "referenceNumber": 176, + "name": "Cornell Lossless JPEG License", + "licenseId": "Cornell-Lossless-JPEG", + "seeAlso": [ + "https://android.googlesource.com/platform/external/dng_sdk/+/refs/heads/master/source/dng_lossless_jpeg.cpp#16", + "https://www.mssl.ucl.ac.uk/~mcrw/src/20050920/proto.h", + "https://gitlab.freedesktop.org/libopenraw/libopenraw/blob/master/lib/ljpegdecompressor.cpp#L32" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CPAL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CPAL-1.0.json", + "referenceNumber": 301, + "name": "Common Public Attribution License 1.0", + "licenseId": "CPAL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/CPAL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CPL-1.0.json", + "referenceNumber": 41, + "name": "Common Public License 1.0", + "licenseId": "CPL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/CPL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CPOL-1.02.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CPOL-1.02.json", + "referenceNumber": 420, + "name": "Code Project Open License 1.02", + "licenseId": "CPOL-1.02", + "seeAlso": [ + "http://www.codeproject.com/info/cpol10.aspx" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/Cronyx.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Cronyx.json", + "referenceNumber": 335, + "name": "Cronyx License", + "licenseId": "Cronyx", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/font/alias/-/blob/master/COPYING", + "https://gitlab.freedesktop.org/xorg/font/cronyx-cyrillic/-/blob/master/COPYING", + "https://gitlab.freedesktop.org/xorg/font/misc-cyrillic/-/blob/master/COPYING", + "https://gitlab.freedesktop.org/xorg/font/screen-cyrillic/-/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Crossword.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Crossword.json", + "referenceNumber": 344, + "name": "Crossword License", + "licenseId": "Crossword", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Crossword" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CrystalStacker.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CrystalStacker.json", + "referenceNumber": 31, + "name": "CrystalStacker License", + "licenseId": "CrystalStacker", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:CrystalStacker?rd\u003dLicensing/CrystalStacker" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CUA-OPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CUA-OPL-1.0.json", + "referenceNumber": 151, + "name": "CUA Office Public License v1.0", + "licenseId": "CUA-OPL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/CUA-OPL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Cube.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Cube.json", + "referenceNumber": 103, + "name": "Cube License", + "licenseId": "Cube", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Cube" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/curl.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/curl.json", + "referenceNumber": 587, + "name": "curl License", + "licenseId": "curl", + "seeAlso": [ + "https://github.com/bagder/curl/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/cve-tou.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/cve-tou.json", + "referenceNumber": 15, + "name": "Common Vulnerability Enumeration ToU License", + "licenseId": "cve-tou", + "seeAlso": [ + "https://www.cve.org/Legal/TermsOfUse" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/D-FSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/D-FSL-1.0.json", + "referenceNumber": 265, + "name": "Deutsche Freie Software Lizenz", + "licenseId": "D-FSL-1.0", + "seeAlso": [ + "http://www.dipp.nrw.de/d-fsl/lizenzen/", + "http://www.dipp.nrw.de/d-fsl/index_html/lizenzen/de/D-FSL-1_0_de.txt", + "http://www.dipp.nrw.de/d-fsl/index_html/lizenzen/en/D-FSL-1_0_en.txt", + "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl", + "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/deutsche-freie-software-lizenz", + "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/german-free-software-license", + "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/D-FSL-1_0_de.txt/at_download/file", + "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/D-FSL-1_0_en.txt/at_download/file" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DEC-3-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DEC-3-Clause.json", + "referenceNumber": 460, + "name": "DEC 3-Clause License", + "licenseId": "DEC-3-Clause", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING?ref_type\u003dheads#L239" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/diffmark.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/diffmark.json", + "referenceNumber": 277, + "name": "diffmark license", + "licenseId": "diffmark", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/diffmark" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DL-DE-BY-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DL-DE-BY-2.0.json", + "referenceNumber": 141, + "name": "Data licence Germany – attribution – version 2.0", + "licenseId": "DL-DE-BY-2.0", + "seeAlso": [ + "https://www.govdata.de/dl-de/by-2-0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DL-DE-ZERO-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DL-DE-ZERO-2.0.json", + "referenceNumber": 470, + "name": "Data licence Germany – zero – version 2.0", + "licenseId": "DL-DE-ZERO-2.0", + "seeAlso": [ + "https://www.govdata.de/dl-de/zero-2-0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DOC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DOC.json", + "referenceNumber": 177, + "name": "DOC License", + "licenseId": "DOC", + "seeAlso": [ + "http://www.cs.wustl.edu/~schmidt/ACE-copying.html", + "https://www.dre.vanderbilt.edu/~schmidt/ACE-copying.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DocBook-Schema.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DocBook-Schema.json", + "referenceNumber": 305, + "name": "DocBook Schema License", + "licenseId": "DocBook-Schema", + "seeAlso": [ + "https://github.com/docbook/xslt10-stylesheets/blob/efd62655c11cc8773708df7a843613fa1e932bf8/xsl/assembly/schema/docbook51b7.rnc" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DocBook-Stylesheet.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DocBook-Stylesheet.json", + "referenceNumber": 250, + "name": "DocBook Stylesheet License", + "licenseId": "DocBook-Stylesheet", + "seeAlso": [ + "http://www.docbook.org/xml/5.0/docbook-5.0.zip" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DocBook-XML.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DocBook-XML.json", + "referenceNumber": 221, + "name": "DocBook XML License", + "licenseId": "DocBook-XML", + "seeAlso": [ + "https://github.com/docbook/xslt10-stylesheets/blob/efd62655c11cc8773708df7a843613fa1e932bf8/xsl/COPYING#L27" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Dotseqn.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Dotseqn.json", + "referenceNumber": 456, + "name": "Dotseqn License", + "licenseId": "Dotseqn", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Dotseqn" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DRL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DRL-1.0.json", + "referenceNumber": 331, + "name": "Detection Rule License 1.0", + "licenseId": "DRL-1.0", + "seeAlso": [ + "https://github.com/Neo23x0/sigma/blob/master/LICENSE.Detection.Rules.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DRL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DRL-1.1.json", + "referenceNumber": 632, + "name": "Detection Rule License 1.1", + "licenseId": "DRL-1.1", + "seeAlso": [ + "https://github.com/SigmaHQ/Detection-Rule-License/blob/6ec7fbde6101d101b5b5d1fcb8f9b69fbc76c04a/LICENSE.Detection.Rules.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DSDP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DSDP.json", + "referenceNumber": 0, + "name": "DSDP License", + "licenseId": "DSDP", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/DSDP" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/dtoa.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/dtoa.json", + "referenceNumber": 124, + "name": "David M. Gay dtoa License", + "licenseId": "dtoa", + "seeAlso": [ + "https://github.com/SWI-Prolog/swipl-devel/blob/master/src/os/dtoa.c", + "https://sourceware.org/git/?p\u003dnewlib-cygwin.git;a\u003dblob;f\u003dnewlib/libc/stdlib/mprec.h;hb\u003dHEAD" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/dvipdfm.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/dvipdfm.json", + "referenceNumber": 299, + "name": "dvipdfm License", + "licenseId": "dvipdfm", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/dvipdfm" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ECL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ECL-1.0.json", + "referenceNumber": 38, + "name": "Educational Community License v1.0", + "licenseId": "ECL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/ECL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/ECL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ECL-2.0.json", + "referenceNumber": 174, + "name": "Educational Community License v2.0", + "licenseId": "ECL-2.0", + "seeAlso": [ + "https://opensource.org/licenses/ECL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/eCos-2.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/eCos-2.0.json", + "referenceNumber": 8, + "name": "eCos license version 2.0", + "licenseId": "eCos-2.0", + "seeAlso": [ + "https://www.gnu.org/licenses/ecos-license.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/EFL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EFL-1.0.json", + "referenceNumber": 201, + "name": "Eiffel Forum License v1.0", + "licenseId": "EFL-1.0", + "seeAlso": [ + "http://www.eiffel-nice.org/license/forum.txt", + "https://opensource.org/licenses/EFL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/EFL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EFL-2.0.json", + "referenceNumber": 525, + "name": "Eiffel Forum License v2.0", + "licenseId": "EFL-2.0", + "seeAlso": [ + "http://www.eiffel-nice.org/license/eiffel-forum-license-2.html", + "https://opensource.org/licenses/EFL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/eGenix.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/eGenix.json", + "referenceNumber": 134, + "name": "eGenix.com Public License 1.1.0", + "licenseId": "eGenix", + "seeAlso": [ + "http://www.egenix.com/products/eGenix.com-Public-License-1.1.0.pdf", + "https://fedoraproject.org/wiki/Licensing/eGenix.com_Public_License_1.1.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Elastic-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Elastic-2.0.json", + "referenceNumber": 40, + "name": "Elastic License 2.0", + "licenseId": "Elastic-2.0", + "seeAlso": [ + "https://www.elastic.co/licensing/elastic-license", + "https://github.com/elastic/elasticsearch/blob/master/licenses/ELASTIC-LICENSE-2.0.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Entessa.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Entessa.json", + "referenceNumber": 202, + "name": "Entessa Public License v1.0", + "licenseId": "Entessa", + "seeAlso": [ + "https://opensource.org/licenses/Entessa" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/EPICS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EPICS.json", + "referenceNumber": 165, + "name": "EPICS Open License", + "licenseId": "EPICS", + "seeAlso": [ + "https://epics.anl.gov/license/open.php" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/EPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EPL-1.0.json", + "referenceNumber": 89, + "name": "Eclipse Public License 1.0", + "licenseId": "EPL-1.0", + "seeAlso": [ + "http://www.eclipse.org/legal/epl-v10.html", + "https://opensource.org/licenses/EPL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/EPL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EPL-2.0.json", + "referenceNumber": 378, + "name": "Eclipse Public License 2.0", + "licenseId": "EPL-2.0", + "seeAlso": [ + "https://www.eclipse.org/legal/epl-2.0", + "https://www.opensource.org/licenses/EPL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ErlPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ErlPL-1.1.json", + "referenceNumber": 590, + "name": "Erlang Public License v1.1", + "licenseId": "ErlPL-1.1", + "seeAlso": [ + "http://www.erlang.org/EPLICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/etalab-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/etalab-2.0.json", + "referenceNumber": 596, + "name": "Etalab Open License 2.0", + "licenseId": "etalab-2.0", + "seeAlso": [ + "https://github.com/DISIC/politique-de-contribution-open-source/blob/master/LICENSE.pdf", + "https://raw.githubusercontent.com/DISIC/politique-de-contribution-open-source/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/EUDatagrid.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EUDatagrid.json", + "referenceNumber": 119, + "name": "EU DataGrid Software License", + "licenseId": "EUDatagrid", + "seeAlso": [ + "http://eu-datagrid.web.cern.ch/eu-datagrid/license.html", + "https://opensource.org/licenses/EUDatagrid" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/EUPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EUPL-1.0.json", + "referenceNumber": 187, + "name": "European Union Public License 1.0", + "licenseId": "EUPL-1.0", + "seeAlso": [ + "http://ec.europa.eu/idabc/en/document/7330.html", + "http://ec.europa.eu/idabc/servlets/Doc027f.pdf?id\u003d31096" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/EUPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EUPL-1.1.json", + "referenceNumber": 474, + "name": "European Union Public License 1.1", + "licenseId": "EUPL-1.1", + "seeAlso": [ + "https://joinup.ec.europa.eu/software/page/eupl/licence-eupl", + "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/eupl1.1.-licence-en_0.pdf", + "https://opensource.org/licenses/EUPL-1.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/EUPL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EUPL-1.2.json", + "referenceNumber": 398, + "name": "European Union Public License 1.2", + "licenseId": "EUPL-1.2", + "seeAlso": [ + "https://joinup.ec.europa.eu/page/eupl-text-11-12", + "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/eupl_v1.2_en.pdf", + "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/2020-03/EUPL-1.2%20EN.txt", + "https://joinup.ec.europa.eu/sites/default/files/inline-files/EUPL%20v1_2%20EN(1).txt", + "http://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri\u003dCELEX:32017D0863", + "https://opensource.org/licenses/EUPL-1.2" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Eurosym.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Eurosym.json", + "referenceNumber": 319, + "name": "Eurosym License", + "licenseId": "Eurosym", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Eurosym" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Fair.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Fair.json", + "referenceNumber": 245, + "name": "Fair License", + "licenseId": "Fair", + "seeAlso": [ + "https://web.archive.org/web/20150926120323/http://fairlicense.org/", + "https://opensource.org/licenses/Fair" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/FBM.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FBM.json", + "referenceNumber": 235, + "name": "Fuzzy Bitmap License", + "licenseId": "FBM", + "seeAlso": [ + "https://github.com/SWI-Prolog/packages-xpce/blob/161a40cd82004f731ba48024f9d30af388a7edf5/src/img/gifwrite.c#L21-L26" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FDK-AAC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FDK-AAC.json", + "referenceNumber": 294, + "name": "Fraunhofer FDK AAC Codec Library", + "licenseId": "FDK-AAC", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/FDK-AAC", + "https://directory.fsf.org/wiki/License:Fdk" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Ferguson-Twofish.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Ferguson-Twofish.json", + "referenceNumber": 338, + "name": "Ferguson Twofish License", + "licenseId": "Ferguson-Twofish", + "seeAlso": [ + "https://github.com/wernerd/ZRTPCPP/blob/6b3cd8e6783642292bad0c21e3e5e5ce45ff3e03/cryptcommon/twofish.c#L113C3-L127" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Frameworx-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Frameworx-1.0.json", + "referenceNumber": 229, + "name": "Frameworx Open License 1.0", + "licenseId": "Frameworx-1.0", + "seeAlso": [ + "https://opensource.org/licenses/Frameworx-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/FreeBSD-DOC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FreeBSD-DOC.json", + "referenceNumber": 254, + "name": "FreeBSD Documentation License", + "licenseId": "FreeBSD-DOC", + "seeAlso": [ + "https://www.freebsd.org/copyright/freebsd-doc-license/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FreeImage.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FreeImage.json", + "referenceNumber": 260, + "name": "FreeImage Public License v1.0", + "licenseId": "FreeImage", + "seeAlso": [ + "http://freeimage.sourceforge.net/freeimage-license.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FSFAP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSFAP.json", + "referenceNumber": 116, + "name": "FSF All Permissive License", + "licenseId": "FSFAP", + "seeAlso": [ + "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/FSFAP-no-warranty-disclaimer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSFAP-no-warranty-disclaimer.json", + "referenceNumber": 579, + "name": "FSF All Permissive License (without Warranty)", + "licenseId": "FSFAP-no-warranty-disclaimer", + "seeAlso": [ + "https://git.savannah.gnu.org/cgit/wget.git/tree/util/trunc.c?h\u003dv1.21.3\u0026id\u003d40747a11e44ced5a8ac628a41f879ced3e2ebce9#n6" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FSFUL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSFUL.json", + "referenceNumber": 578, + "name": "FSF Unlimited License", + "licenseId": "FSFUL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FSFULLR.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSFULLR.json", + "referenceNumber": 52, + "name": "FSF Unlimited License (with License Retention)", + "licenseId": "FSFULLR", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License#License_Retention_Variant" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FSFULLRWD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSFULLRWD.json", + "referenceNumber": 199, + "name": "FSF Unlimited License (With License Retention and Warranty Disclaimer)", + "licenseId": "FSFULLRWD", + "seeAlso": [ + "https://lists.gnu.org/archive/html/autoconf/2012-04/msg00061.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FTL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FTL.json", + "referenceNumber": 304, + "name": "Freetype Project License", + "licenseId": "FTL", + "seeAlso": [ + "http://freetype.fis.uniroma2.it/FTL.TXT", + "http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT", + "http://gitlab.freedesktop.org/freetype/freetype/-/raw/master/docs/FTL.TXT" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Furuseth.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Furuseth.json", + "referenceNumber": 563, + "name": "Furuseth License", + "licenseId": "Furuseth", + "seeAlso": [ + "https://git.openldap.org/openldap/openldap/-/blob/master/COPYRIGHT?ref_type\u003dheads#L39-51" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/fwlw.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/fwlw.json", + "referenceNumber": 81, + "name": "fwlw License", + "licenseId": "fwlw", + "seeAlso": [ + "https://mirrors.nic.cz/tex-archive/macros/latex/contrib/fwlw/README" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GCR-docs.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GCR-docs.json", + "referenceNumber": 135, + "name": "Gnome GCR Documentation License", + "licenseId": "GCR-docs", + "seeAlso": [ + "https://github.com/GNOME/gcr/blob/master/docs/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GD.json", + "referenceNumber": 333, + "name": "GD License", + "licenseId": "GD", + "seeAlso": [ + "https://libgd.github.io/manuals/2.3.0/files/license-txt.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/generic-xts.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/generic-xts.json", + "referenceNumber": 476, + "name": "Generic XTS License", + "licenseId": "generic-xts", + "seeAlso": [ + "https://github.com/mhogomchungu/zuluCrypt/blob/master/external_libraries/tcplay/generic_xts.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1.json", + "referenceNumber": 279, + "name": "GNU Free Documentation License v1.1", + "licenseId": "GFDL-1.1", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-invariants-only.json", + "referenceNumber": 452, + "name": "GNU Free Documentation License v1.1 only - invariants", + "licenseId": "GFDL-1.1-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-invariants-or-later.json", + "referenceNumber": 153, + "name": "GNU Free Documentation License v1.1 or later - invariants", + "licenseId": "GFDL-1.1-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1-no-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-no-invariants-only.json", + "referenceNumber": 215, + "name": "GNU Free Documentation License v1.1 only - no invariants", + "licenseId": "GFDL-1.1-no-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1-no-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-no-invariants-or-later.json", + "referenceNumber": 626, + "name": "GNU Free Documentation License v1.1 or later - no invariants", + "licenseId": "GFDL-1.1-no-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-only.json", + "referenceNumber": 610, + "name": "GNU Free Documentation License v1.1 only", + "licenseId": "GFDL-1.1-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-or-later.json", + "referenceNumber": 162, + "name": "GNU Free Documentation License v1.1 or later", + "licenseId": "GFDL-1.1-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2.json", + "referenceNumber": 643, + "name": "GNU Free Documentation License v1.2", + "licenseId": "GFDL-1.2", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-invariants-only.json", + "referenceNumber": 200, + "name": "GNU Free Documentation License v1.2 only - invariants", + "licenseId": "GFDL-1.2-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-invariants-or-later.json", + "referenceNumber": 357, + "name": "GNU Free Documentation License v1.2 or later - invariants", + "licenseId": "GFDL-1.2-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2-no-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-no-invariants-only.json", + "referenceNumber": 42, + "name": "GNU Free Documentation License v1.2 only - no invariants", + "licenseId": "GFDL-1.2-no-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.json", + "referenceNumber": 329, + "name": "GNU Free Documentation License v1.2 or later - no invariants", + "licenseId": "GFDL-1.2-no-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-only.json", + "referenceNumber": 663, + "name": "GNU Free Documentation License v1.2 only", + "licenseId": "GFDL-1.2-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-or-later.json", + "referenceNumber": 436, + "name": "GNU Free Documentation License v1.2 or later", + "licenseId": "GFDL-1.2-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3.json", + "referenceNumber": 379, + "name": "GNU Free Documentation License v1.3", + "licenseId": "GFDL-1.3", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-invariants-only.json", + "referenceNumber": 555, + "name": "GNU Free Documentation License v1.3 only - invariants", + "licenseId": "GFDL-1.3-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-invariants-or-later.json", + "referenceNumber": 504, + "name": "GNU Free Documentation License v1.3 or later - invariants", + "licenseId": "GFDL-1.3-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3-no-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-no-invariants-only.json", + "referenceNumber": 5, + "name": "GNU Free Documentation License v1.3 only - no invariants", + "licenseId": "GFDL-1.3-no-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.json", + "referenceNumber": 528, + "name": "GNU Free Documentation License v1.3 or later - no invariants", + "licenseId": "GFDL-1.3-no-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-only.json", + "referenceNumber": 311, + "name": "GNU Free Documentation License v1.3 only", + "licenseId": "GFDL-1.3-only", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-or-later.json", + "referenceNumber": 142, + "name": "GNU Free Documentation License v1.3 or later", + "licenseId": "GFDL-1.3-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Giftware.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Giftware.json", + "referenceNumber": 656, + "name": "Giftware License", + "licenseId": "Giftware", + "seeAlso": [ + "http://liballeg.org/license.html#allegro-4-the-giftware-license" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GL2PS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GL2PS.json", + "referenceNumber": 639, + "name": "GL2PS License", + "licenseId": "GL2PS", + "seeAlso": [ + "http://www.geuz.org/gl2ps/COPYING.GL2PS" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Glide.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Glide.json", + "referenceNumber": 203, + "name": "3dfx Glide License", + "licenseId": "Glide", + "seeAlso": [ + "http://www.users.on.net/~triforce/glidexp/COPYING.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Glulxe.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Glulxe.json", + "referenceNumber": 483, + "name": "Glulxe License", + "licenseId": "Glulxe", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Glulxe" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GLWTPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GLWTPL.json", + "referenceNumber": 9, + "name": "Good Luck With That Public License", + "licenseId": "GLWTPL", + "seeAlso": [ + "https://github.com/me-shaon/GLWTPL/commit/da5f6bc734095efbacb442c0b31e33a65b9d6e85" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/gnuplot.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/gnuplot.json", + "referenceNumber": 389, + "name": "gnuplot License", + "licenseId": "gnuplot", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Gnuplot" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-1.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-1.0.json", + "referenceNumber": 227, + "name": "GNU General Public License v1.0 only", + "licenseId": "GPL-1.0", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-1.0+.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-1.0+.json", + "referenceNumber": 297, + "name": "GNU General Public License v1.0 or later", + "licenseId": "GPL-1.0+", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-1.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GPL-1.0-only.json", + "referenceNumber": 353, + "name": "GNU General Public License v1.0 only", + "licenseId": "GPL-1.0-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-1.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GPL-1.0-or-later.json", + "referenceNumber": 376, + "name": "GNU General Public License v1.0 or later", + "licenseId": "GPL-1.0-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0.json", + "referenceNumber": 188, + "name": "GNU General Public License v2.0 only", + "licenseId": "GPL-2.0", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "https://opensource.org/licenses/GPL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0+.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0+.json", + "referenceNumber": 600, + "name": "GNU General Public License v2.0 or later", + "licenseId": "GPL-2.0+", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "https://opensource.org/licenses/GPL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-only.json", + "referenceNumber": 172, + "name": "GNU General Public License v2.0 only", + "licenseId": "GPL-2.0-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt", + "https://opensource.org/licenses/GPL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-or-later.json", + "referenceNumber": 424, + "name": "GNU General Public License v2.0 or later", + "licenseId": "GPL-2.0-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "https://opensource.org/licenses/GPL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.json", + "referenceNumber": 629, + "name": "GNU General Public License v2.0 w/Autoconf exception", + "licenseId": "GPL-2.0-with-autoconf-exception", + "seeAlso": [ + "http://ac-archive.sourceforge.net/doc/copyright.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-with-bison-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-bison-exception.json", + "referenceNumber": 37, + "name": "GNU General Public License v2.0 w/Bison exception", + "licenseId": "GPL-2.0-with-bison-exception", + "seeAlso": [ + "http://git.savannah.gnu.org/cgit/bison.git/tree/data/yacc.c?id\u003d193d7c7054ba7197b0789e14965b739162319b5e#n141" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-with-classpath-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-classpath-exception.json", + "referenceNumber": 410, + "name": "GNU General Public License v2.0 w/Classpath exception", + "licenseId": "GPL-2.0-with-classpath-exception", + "seeAlso": [ + "https://www.gnu.org/software/classpath/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-with-font-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-font-exception.json", + "referenceNumber": 548, + "name": "GNU General Public License v2.0 w/Font exception", + "licenseId": "GPL-2.0-with-font-exception", + "seeAlso": [ + "https://www.gnu.org/licenses/gpl-faq.html#FontException" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-with-GCC-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-GCC-exception.json", + "referenceNumber": 492, + "name": "GNU General Public License v2.0 w/GCC Runtime Library exception", + "licenseId": "GPL-2.0-with-GCC-exception", + "seeAlso": [ + "https://gcc.gnu.org/git/?p\u003dgcc.git;a\u003dblob;f\u003dgcc/libgcc1.c;h\u003d762f5143fc6eed57b6797c82710f3538aa52b40b;hb\u003dcb143a3ce4fb417c68f5fa2691a1b1b1053dfba9#l10" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-3.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-3.0.json", + "referenceNumber": 671, + "name": "GNU General Public License v3.0 only", + "licenseId": "GPL-3.0", + "seeAlso": [ + "https://www.gnu.org/licenses/gpl-3.0-standalone.html", + "https://opensource.org/licenses/GPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-3.0+.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-3.0+.json", + "referenceNumber": 501, + "name": "GNU General Public License v3.0 or later", + "licenseId": "GPL-3.0+", + "seeAlso": [ + "https://www.gnu.org/licenses/gpl-3.0-standalone.html", + "https://opensource.org/licenses/GPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-3.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GPL-3.0-only.json", + "referenceNumber": 584, + "name": "GNU General Public License v3.0 only", + "licenseId": "GPL-3.0-only", + "seeAlso": [ + "https://www.gnu.org/licenses/gpl-3.0-standalone.html", + "https://opensource.org/licenses/GPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-3.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GPL-3.0-or-later.json", + "referenceNumber": 448, + "name": "GNU General Public License v3.0 or later", + "licenseId": "GPL-3.0-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/gpl-3.0-standalone.html", + "https://opensource.org/licenses/GPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-3.0-with-autoconf-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-3.0-with-autoconf-exception.json", + "referenceNumber": 659, + "name": "GNU General Public License v3.0 w/Autoconf exception", + "licenseId": "GPL-3.0-with-autoconf-exception", + "seeAlso": [ + "https://www.gnu.org/licenses/autoconf-exception-3.0.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.json", + "referenceNumber": 173, + "name": "GNU General Public License v3.0 w/GCC Runtime Library exception", + "licenseId": "GPL-3.0-with-GCC-exception", + "seeAlso": [ + "https://www.gnu.org/licenses/gcc-exception-3.1.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Graphics-Gems.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Graphics-Gems.json", + "referenceNumber": 55, + "name": "Graphics Gems License", + "licenseId": "Graphics-Gems", + "seeAlso": [ + "https://github.com/erich666/GraphicsGems/blob/master/LICENSE.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/gSOAP-1.3b.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/gSOAP-1.3b.json", + "referenceNumber": 315, + "name": "gSOAP Public License v1.3b", + "licenseId": "gSOAP-1.3b", + "seeAlso": [ + "http://www.cs.fsu.edu/~engelen/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/gtkbook.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/gtkbook.json", + "referenceNumber": 361, + "name": "gtkbook License", + "licenseId": "gtkbook", + "seeAlso": [ + "https://github.com/slogan621/gtkbook", + "https://github.com/oetiker/rrdtool-1.x/blob/master/src/plbasename.c#L8-L11" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Gutmann.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Gutmann.json", + "referenceNumber": 146, + "name": "Gutmann License", + "licenseId": "Gutmann", + "seeAlso": [ + "https://www.cs.auckland.ac.nz/~pgut001/dumpasn1.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HaskellReport.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HaskellReport.json", + "referenceNumber": 592, + "name": "Haskell Language Report License", + "licenseId": "HaskellReport", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Haskell_Language_Report_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/hdparm.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/hdparm.json", + "referenceNumber": 139, + "name": "hdparm License", + "licenseId": "hdparm", + "seeAlso": [ + "https://github.com/Distrotech/hdparm/blob/4517550db29a91420fb2b020349523b1b4512df2/LICENSE.TXT" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HIDAPI.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HIDAPI.json", + "referenceNumber": 637, + "name": "HIDAPI License", + "licenseId": "HIDAPI", + "seeAlso": [ + "https://github.com/signal11/hidapi/blob/master/LICENSE-orig.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Hippocratic-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Hippocratic-2.1.json", + "referenceNumber": 282, + "name": "Hippocratic License 2.1", + "licenseId": "Hippocratic-2.1", + "seeAlso": [ + "https://firstdonoharm.dev/version/2/1/license.html", + "https://github.com/EthicalSource/hippocratic-license/blob/58c0e646d64ff6fbee275bfe2b9492f914e3ab2a/LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HP-1986.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HP-1986.json", + "referenceNumber": 156, + "name": "Hewlett-Packard 1986 License", + "licenseId": "HP-1986", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dnewlib-cygwin.git;a\u003dblob;f\u003dnewlib/libc/machine/hppa/memchr.S;h\u003d1cca3e5e8867aa4bffef1f75a5c1bba25c0c441e;hb\u003dHEAD#l2" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HP-1989.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HP-1989.json", + "referenceNumber": 210, + "name": "Hewlett-Packard 1989 License", + "licenseId": "HP-1989", + "seeAlso": [ + "https://github.com/bleargh45/Data-UUID/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND.json", + "referenceNumber": 382, + "name": "Historical Permission Notice and Disclaimer", + "licenseId": "HPND", + "seeAlso": [ + "https://opensource.org/licenses/HPND", + "http://lists.opensource.org/pipermail/license-discuss_lists.opensource.org/2002-November/006304.html" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/HPND-DEC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-DEC.json", + "referenceNumber": 457, + "name": "Historical Permission Notice and Disclaimer - DEC variant", + "licenseId": "HPND-DEC", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/app/xkbcomp/-/blob/master/COPYING?ref_type\u003dheads#L69" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-doc.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-doc.json", + "referenceNumber": 441, + "name": "Historical Permission Notice and Disclaimer - documentation variant", + "licenseId": "HPND-doc", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/lib/libxext/-/blob/master/COPYING?ref_type\u003dheads#L185-197", + "https://gitlab.freedesktop.org/xorg/lib/libxtst/-/blob/master/COPYING?ref_type\u003dheads#L70-77" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-doc-sell.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-doc-sell.json", + "referenceNumber": 679, + "name": "Historical Permission Notice and Disclaimer - documentation sell variant", + "licenseId": "HPND-doc-sell", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/lib/libxtst/-/blob/master/COPYING?ref_type\u003dheads#L108-117", + "https://gitlab.freedesktop.org/xorg/lib/libxext/-/blob/master/COPYING?ref_type\u003dheads#L153-162" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-export-US.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-export-US.json", + "referenceNumber": 157, + "name": "HPND with US Government export control warning", + "licenseId": "HPND-export-US", + "seeAlso": [ + "https://www.kermitproject.org/ck90.html#source" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-export-US-acknowledgement.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-export-US-acknowledgement.json", + "referenceNumber": 56, + "name": "HPND with US Government export control warning and acknowledgment", + "licenseId": "HPND-export-US-acknowledgement", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L831-L852", + "https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-export-US-modify.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-export-US-modify.json", + "referenceNumber": 475, + "name": "HPND with US Government export control warning and modification rqmt", + "licenseId": "HPND-export-US-modify", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L1157-L1182", + "https://github.com/pythongssapi/k5test/blob/v0.10.3/K5TEST-LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-export2-US.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-export2-US.json", + "referenceNumber": 621, + "name": "HPND with US Government export control and 2 disclaimers", + "licenseId": "HPND-export2-US", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L111-L133", + "https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-Fenneberg-Livingston.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-Fenneberg-Livingston.json", + "referenceNumber": 407, + "name": "Historical Permission Notice and Disclaimer - Fenneberg-Livingston variant", + "licenseId": "HPND-Fenneberg-Livingston", + "seeAlso": [ + "https://github.com/FreeRADIUS/freeradius-client/blob/master/COPYRIGHT#L32", + "https://github.com/radcli/radcli/blob/master/COPYRIGHT#L34" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-INRIA-IMAG.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-INRIA-IMAG.json", + "referenceNumber": 611, + "name": "Historical Permission Notice and Disclaimer - INRIA-IMAG variant", + "licenseId": "HPND-INRIA-IMAG", + "seeAlso": [ + "https://github.com/ppp-project/ppp/blob/master/pppd/ipv6cp.c#L75-L83" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-Intel.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-Intel.json", + "referenceNumber": 86, + "name": "Historical Permission Notice and Disclaimer - Intel variant", + "licenseId": "HPND-Intel", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dnewlib-cygwin.git;a\u003dblob;f\u003dnewlib/libc/machine/i960/memcpy.S;hb\u003dHEAD" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-Kevlin-Henney.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-Kevlin-Henney.json", + "referenceNumber": 278, + "name": "Historical Permission Notice and Disclaimer - Kevlin Henney variant", + "licenseId": "HPND-Kevlin-Henney", + "seeAlso": [ + "https://github.com/mruby/mruby/blob/83d12f8d52522cdb7c8cc46fad34821359f453e6/mrbgems/mruby-dir/src/Win/dirent.c#L127-L140" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-Markus-Kuhn.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-Markus-Kuhn.json", + "referenceNumber": 445, + "name": "Historical Permission Notice and Disclaimer - Markus Kuhn variant", + "licenseId": "HPND-Markus-Kuhn", + "seeAlso": [ + "https://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c", + "https://sourceware.org/git/?p\u003dbinutils-gdb.git;a\u003dblob;f\u003dreadline/readline/support/wcwidth.c;h\u003d0f5ec995796f4813abbcf4972aec0378ab74722a;hb\u003dHEAD#l55" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-merchantability-variant.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-merchantability-variant.json", + "referenceNumber": 207, + "name": "Historical Permission Notice and Disclaimer - merchantability variant", + "licenseId": "HPND-merchantability-variant", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dnewlib-cygwin.git;a\u003dblob;f\u003dnewlib/libc/misc/fini.c;hb\u003dHEAD" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-MIT-disclaimer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-MIT-disclaimer.json", + "referenceNumber": 455, + "name": "Historical Permission Notice and Disclaimer with MIT disclaimer", + "licenseId": "HPND-MIT-disclaimer", + "seeAlso": [ + "https://metacpan.org/release/NLNETLABS/Net-DNS-SEC-1.22/source/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-Netrek.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-Netrek.json", + "referenceNumber": 608, + "name": "Historical Permission Notice and Disclaimer - Netrek variant", + "licenseId": "HPND-Netrek", + "seeAlso": [], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-Pbmplus.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-Pbmplus.json", + "referenceNumber": 675, + "name": "Historical Permission Notice and Disclaimer - Pbmplus variant", + "licenseId": "HPND-Pbmplus", + "seeAlso": [ + "https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/netpbm.c#l8" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-sell-MIT-disclaimer-xserver.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-sell-MIT-disclaimer-xserver.json", + "referenceNumber": 649, + "name": "Historical Permission Notice and Disclaimer - sell xserver variant with MIT disclaimer", + "licenseId": "HPND-sell-MIT-disclaimer-xserver", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING?ref_type\u003dheads#L1781" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-sell-regexpr.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-sell-regexpr.json", + "referenceNumber": 527, + "name": "Historical Permission Notice and Disclaimer - sell regexpr variant", + "licenseId": "HPND-sell-regexpr", + "seeAlso": [ + "https://gitlab.com/bacula-org/bacula/-/blob/Branch-11.0/bacula/LICENSE-FOSS?ref_type\u003dheads#L245" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-sell-variant.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-sell-variant.json", + "referenceNumber": 231, + "name": "Historical Permission Notice and Disclaimer - sell variant", + "licenseId": "HPND-sell-variant", + "seeAlso": [ + "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/net/sunrpc/auth_gss/gss_generic_token.c?h\u003dv4.19", + "https://github.com/kfish/xsel/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-sell-variant-MIT-disclaimer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-sell-variant-MIT-disclaimer.json", + "referenceNumber": 75, + "name": "HPND sell variant with MIT disclaimer", + "licenseId": "HPND-sell-variant-MIT-disclaimer", + "seeAlso": [ + "https://github.com/sigmavirus24/x11-ssh-askpass/blob/master/README" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-sell-variant-MIT-disclaimer-rev.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-sell-variant-MIT-disclaimer-rev.json", + "referenceNumber": 661, + "name": "HPND sell variant with MIT disclaimer - reverse", + "licenseId": "HPND-sell-variant-MIT-disclaimer-rev", + "seeAlso": [ + "https://github.com/sigmavirus24/x11-ssh-askpass/blob/master/dynlist.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-UC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-UC.json", + "referenceNumber": 466, + "name": "Historical Permission Notice and Disclaimer - University of California variant", + "licenseId": "HPND-UC", + "seeAlso": [ + "https://core.tcl-lang.org/tk/file?name\u003dcompat/unistd.h" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-UC-export-US.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-UC-export-US.json", + "referenceNumber": 90, + "name": "Historical Permission Notice and Disclaimer - University of California, US export warning", + "licenseId": "HPND-UC-export-US", + "seeAlso": [ + "https://github.com/RTimothyEdwards/magic/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HTMLTIDY.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HTMLTIDY.json", + "referenceNumber": 78, + "name": "HTML Tidy License", + "licenseId": "HTMLTIDY", + "seeAlso": [ + "https://github.com/htacg/tidy-html5/blob/next/README/LICENSE.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/IBM-pibs.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/IBM-pibs.json", + "referenceNumber": 417, + "name": "IBM PowerPC Initialization and Boot Software", + "licenseId": "IBM-pibs", + "seeAlso": [ + "http://git.denx.de/?p\u003du-boot.git;a\u003dblob;f\u003darch/powerpc/cpu/ppc4xx/miiphy.c;h\u003d297155fdafa064b955e53e9832de93bfb0cfb85b;hb\u003d9fab4bf4cc077c21e43941866f3f2c196f28670d" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ICU.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ICU.json", + "referenceNumber": 520, + "name": "ICU License", + "licenseId": "ICU", + "seeAlso": [ + "http://source.icu-project.org/repos/icu/icu/trunk/license.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/IEC-Code-Components-EULA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/IEC-Code-Components-EULA.json", + "referenceNumber": 211, + "name": "IEC Code Components End-user licence agreement", + "licenseId": "IEC-Code-Components-EULA", + "seeAlso": [ + "https://www.iec.ch/webstore/custserv/pdf/CC-EULA.pdf", + "https://www.iec.ch/CCv1", + "https://www.iec.ch/copyright" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/IJG.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/IJG.json", + "referenceNumber": 672, + "name": "Independent JPEG Group License", + "licenseId": "IJG", + "seeAlso": [ + "http://dev.w3.org/cvsweb/Amaya/libjpeg/Attic/README?rev\u003d1.2" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/IJG-short.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/IJG-short.json", + "referenceNumber": 493, + "name": "Independent JPEG Group License - short", + "licenseId": "IJG-short", + "seeAlso": [ + "https://sourceforge.net/p/xmedcon/code/ci/master/tree/libs/ljpg/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ImageMagick.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ImageMagick.json", + "referenceNumber": 581, + "name": "ImageMagick License", + "licenseId": "ImageMagick", + "seeAlso": [ + "http://www.imagemagick.org/script/license.php" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/iMatix.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/iMatix.json", + "referenceNumber": 129, + "name": "iMatix Standard Function Library Agreement", + "licenseId": "iMatix", + "seeAlso": [ + "http://legacy.imatix.com/html/sfl/sfl4.htm#license" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Imlib2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Imlib2.json", + "referenceNumber": 365, + "name": "Imlib2 License", + "licenseId": "Imlib2", + "seeAlso": [ + "http://trac.enlightenment.org/e/browser/trunk/imlib2/COPYING", + "https://git.enlightenment.org/legacy/imlib2.git/tree/COPYING" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Info-ZIP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Info-ZIP.json", + "referenceNumber": 10, + "name": "Info-ZIP License", + "licenseId": "Info-ZIP", + "seeAlso": [ + "http://www.info-zip.org/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Inner-Net-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Inner-Net-2.0.json", + "referenceNumber": 352, + "name": "Inner Net License v2.0", + "licenseId": "Inner-Net-2.0", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Inner_Net_License", + "https://sourceware.org/git/?p\u003dglibc.git;a\u003dblob;f\u003dLICENSES;h\u003d530893b1dc9ea00755603c68fb36bd4fc38a7be8;hb\u003dHEAD#l207" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/InnoSetup.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/InnoSetup.json", + "referenceNumber": 19, + "name": "Inno Setup License", + "licenseId": "InnoSetup", + "seeAlso": [ + "https://github.com/jrsoftware/issrc/blob/HEAD/license.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Intel.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Intel.json", + "referenceNumber": 462, + "name": "Intel Open Source License", + "licenseId": "Intel", + "seeAlso": [ + "https://opensource.org/licenses/Intel" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Intel-ACPI.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Intel-ACPI.json", + "referenceNumber": 509, + "name": "Intel ACPI Software License Agreement", + "licenseId": "Intel-ACPI", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Intel_ACPI_Software_License_Agreement" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Interbase-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Interbase-1.0.json", + "referenceNumber": 569, + "name": "Interbase Public License v1.0", + "licenseId": "Interbase-1.0", + "seeAlso": [ + "https://web.archive.org/web/20060319014854/http://info.borland.com/devsupport/interbase/opensource/IPL.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/IPA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/IPA.json", + "referenceNumber": 49, + "name": "IPA Font License", + "licenseId": "IPA", + "seeAlso": [ + "https://opensource.org/licenses/IPA" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/IPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/IPL-1.0.json", + "referenceNumber": 20, + "name": "IBM Public License v1.0", + "licenseId": "IPL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/IPL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ISC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ISC.json", + "referenceNumber": 593, + "name": "ISC License", + "licenseId": "ISC", + "seeAlso": [ + "https://www.isc.org/licenses/", + "https://www.isc.org/downloads/software-support-policy/isc-license/", + "https://opensource.org/licenses/ISC" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ISC-Veillard.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ISC-Veillard.json", + "referenceNumber": 401, + "name": "ISC Veillard variant", + "licenseId": "ISC-Veillard", + "seeAlso": [ + "https://raw.githubusercontent.com/GNOME/libxml2/4c2e7c651f6c2f0d1a74f350cbda95f7df3e7017/hash.c", + "https://github.com/GNOME/libxml2/blob/master/dict.c", + "https://sourceforge.net/p/ctrio/git/ci/master/tree/README" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Jam.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Jam.json", + "referenceNumber": 409, + "name": "Jam License", + "licenseId": "Jam", + "seeAlso": [ + "https://www.boost.org/doc/libs/1_35_0/doc/html/jam.html", + "https://web.archive.org/web/20160330173339/https://swarm.workshop.perforce.com/files/guest/perforce_software/jam/src/README" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/JasPer-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/JasPer-2.0.json", + "referenceNumber": 316, + "name": "JasPer License", + "licenseId": "JasPer-2.0", + "seeAlso": [ + "http://www.ece.uvic.ca/~mdadams/jasper/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/JPL-image.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/JPL-image.json", + "referenceNumber": 195, + "name": "JPL Image Use Policy", + "licenseId": "JPL-image", + "seeAlso": [ + "https://www.jpl.nasa.gov/jpl-image-use-policy" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/JPNIC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/JPNIC.json", + "referenceNumber": 22, + "name": "Japan Network Information Center License", + "licenseId": "JPNIC", + "seeAlso": [ + "https://gitlab.isc.org/isc-projects/bind9/blob/master/COPYRIGHT#L366" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/JSON.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/JSON.json", + "referenceNumber": 662, + "name": "JSON License", + "licenseId": "JSON", + "seeAlso": [ + "http://www.json.org/license.html" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/Kastrup.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Kastrup.json", + "referenceNumber": 468, + "name": "Kastrup License", + "licenseId": "Kastrup", + "seeAlso": [ + "https://ctan.math.utah.edu/ctan/tex-archive/macros/generic/kastrup/binhex.dtx" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Kazlib.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Kazlib.json", + "referenceNumber": 71, + "name": "Kazlib License", + "licenseId": "Kazlib", + "seeAlso": [ + "http://git.savannah.gnu.org/cgit/kazlib.git/tree/except.c?id\u003d0062df360c2d17d57f6af19b0e444c51feb99036" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Knuth-CTAN.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Knuth-CTAN.json", + "referenceNumber": 505, + "name": "Knuth CTAN License", + "licenseId": "Knuth-CTAN", + "seeAlso": [ + "https://ctan.org/license/knuth" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LAL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LAL-1.2.json", + "referenceNumber": 484, + "name": "Licence Art Libre 1.2", + "licenseId": "LAL-1.2", + "seeAlso": [ + "http://artlibre.org/licence/lal/licence-art-libre-12/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LAL-1.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LAL-1.3.json", + "referenceNumber": 363, + "name": "Licence Art Libre 1.3", + "licenseId": "LAL-1.3", + "seeAlso": [ + "https://artlibre.org/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Latex2e.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Latex2e.json", + "referenceNumber": 83, + "name": "Latex2e License", + "licenseId": "Latex2e", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Latex2e" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Latex2e-translated-notice.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Latex2e-translated-notice.json", + "referenceNumber": 48, + "name": "Latex2e with translated notice permission", + "licenseId": "Latex2e-translated-notice", + "seeAlso": [ + "https://git.savannah.gnu.org/cgit/indent.git/tree/doc/indent.texi?id\u003da74c6b4ee49397cf330b333da1042bffa60ed14f#n74" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Leptonica.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Leptonica.json", + "referenceNumber": 391, + "name": "Leptonica License", + "licenseId": "Leptonica", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Leptonica" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.0.json", + "referenceNumber": 570, + "name": "GNU Library General Public License v2 only", + "licenseId": "LGPL-2.0", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.0+.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.0+.json", + "referenceNumber": 412, + "name": "GNU Library General Public License v2 or later", + "licenseId": "LGPL-2.0+", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.0-only.json", + "referenceNumber": 458, + "name": "GNU Library General Public License v2 only", + "licenseId": "LGPL-2.0-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.0-or-later.json", + "referenceNumber": 168, + "name": "GNU Library General Public License v2 or later", + "licenseId": "LGPL-2.0-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.1.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.1.json", + "referenceNumber": 224, + "name": "GNU Lesser General Public License v2.1 only", + "licenseId": "LGPL-2.1", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "https://opensource.org/licenses/LGPL-2.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.1+.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.1+.json", + "referenceNumber": 566, + "name": "GNU Lesser General Public License v2.1 or later", + "licenseId": "LGPL-2.1+", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "https://opensource.org/licenses/LGPL-2.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.1-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.1-only.json", + "referenceNumber": 59, + "name": "GNU Lesser General Public License v2.1 only", + "licenseId": "LGPL-2.1-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "https://opensource.org/licenses/LGPL-2.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.1-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.1-or-later.json", + "referenceNumber": 97, + "name": "GNU Lesser General Public License v2.1 or later", + "licenseId": "LGPL-2.1-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "https://opensource.org/licenses/LGPL-2.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-3.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/LGPL-3.0.json", + "referenceNumber": 372, + "name": "GNU Lesser General Public License v3.0 only", + "licenseId": "LGPL-3.0", + "seeAlso": [ + "https://www.gnu.org/licenses/lgpl-3.0-standalone.html", + "https://www.gnu.org/licenses/lgpl+gpl-3.0.txt", + "https://opensource.org/licenses/LGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-3.0+.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/LGPL-3.0+.json", + "referenceNumber": 405, + "name": "GNU Lesser General Public License v3.0 or later", + "licenseId": "LGPL-3.0+", + "seeAlso": [ + "https://www.gnu.org/licenses/lgpl-3.0-standalone.html", + "https://www.gnu.org/licenses/lgpl+gpl-3.0.txt", + "https://opensource.org/licenses/LGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-3.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPL-3.0-only.json", + "referenceNumber": 571, + "name": "GNU Lesser General Public License v3.0 only", + "licenseId": "LGPL-3.0-only", + "seeAlso": [ + "https://www.gnu.org/licenses/lgpl-3.0-standalone.html", + "https://www.gnu.org/licenses/lgpl+gpl-3.0.txt", + "https://opensource.org/licenses/LGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-3.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPL-3.0-or-later.json", + "referenceNumber": 313, + "name": "GNU Lesser General Public License v3.0 or later", + "licenseId": "LGPL-3.0-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/lgpl-3.0-standalone.html", + "https://www.gnu.org/licenses/lgpl+gpl-3.0.txt", + "https://opensource.org/licenses/LGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPLLR.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPLLR.json", + "referenceNumber": 76, + "name": "Lesser General Public License For Linguistic Resources", + "licenseId": "LGPLLR", + "seeAlso": [ + "http://www-igm.univ-mlv.fr/~unitex/lgpllr.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Libpng.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Libpng.json", + "referenceNumber": 648, + "name": "libpng License", + "licenseId": "Libpng", + "seeAlso": [ + "http://www.libpng.org/pub/png/src/libpng-LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/libpng-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/libpng-2.0.json", + "referenceNumber": 390, + "name": "PNG Reference Library version 2", + "licenseId": "libpng-2.0", + "seeAlso": [ + "http://www.libpng.org/pub/png/src/libpng-LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/libselinux-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/libselinux-1.0.json", + "referenceNumber": 406, + "name": "libselinux public domain notice", + "licenseId": "libselinux-1.0", + "seeAlso": [ + "https://github.com/SELinuxProject/selinux/blob/master/libselinux/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/libtiff.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/libtiff.json", + "referenceNumber": 589, + "name": "libtiff License", + "licenseId": "libtiff", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/libtiff" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/libutil-David-Nugent.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/libutil-David-Nugent.json", + "referenceNumber": 218, + "name": "libutil David Nugent License", + "licenseId": "libutil-David-Nugent", + "seeAlso": [ + "http://web.mit.edu/freebsd/head/lib/libutil/login_ok.3", + "https://cgit.freedesktop.org/libbsd/tree/man/setproctitle.3bsd" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LiLiQ-P-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LiLiQ-P-1.1.json", + "referenceNumber": 289, + "name": "Licence Libre du Québec – Permissive version 1.1", + "licenseId": "LiLiQ-P-1.1", + "seeAlso": [ + "https://forge.gouv.qc.ca/licence/fr/liliq-v1-1/", + "http://opensource.org/licenses/LiLiQ-P-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LiLiQ-R-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LiLiQ-R-1.1.json", + "referenceNumber": 354, + "name": "Licence Libre du Québec – Réciprocité version 1.1", + "licenseId": "LiLiQ-R-1.1", + "seeAlso": [ + "https://www.forge.gouv.qc.ca/participez/licence-logicielle/licence-libre-du-quebec-liliq-en-francais/licence-libre-du-quebec-reciprocite-liliq-r-v1-1/", + "http://opensource.org/licenses/LiLiQ-R-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LiLiQ-Rplus-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LiLiQ-Rplus-1.1.json", + "referenceNumber": 222, + "name": "Licence Libre du Québec – Réciprocité forte version 1.1", + "licenseId": "LiLiQ-Rplus-1.1", + "seeAlso": [ + "https://www.forge.gouv.qc.ca/participez/licence-logicielle/licence-libre-du-quebec-liliq-en-francais/licence-libre-du-quebec-reciprocite-forte-liliq-r-v1-1/", + "http://opensource.org/licenses/LiLiQ-Rplus-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Linux-man-pages-1-para.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Linux-man-pages-1-para.json", + "referenceNumber": 419, + "name": "Linux man-pages - 1 paragraph", + "licenseId": "Linux-man-pages-1-para", + "seeAlso": [ + "https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/getcpu.2#n4" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Linux-man-pages-copyleft.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Linux-man-pages-copyleft.json", + "referenceNumber": 585, + "name": "Linux man-pages Copyleft", + "licenseId": "Linux-man-pages-copyleft", + "seeAlso": [ + "https://www.kernel.org/doc/man-pages/licenses.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Linux-man-pages-copyleft-2-para.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Linux-man-pages-copyleft-2-para.json", + "referenceNumber": 633, + "name": "Linux man-pages Copyleft - 2 paragraphs", + "licenseId": "Linux-man-pages-copyleft-2-para", + "seeAlso": [ + "https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/move_pages.2#n5", + "https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/migrate_pages.2#n8" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Linux-man-pages-copyleft-var.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Linux-man-pages-copyleft-var.json", + "referenceNumber": 480, + "name": "Linux man-pages Copyleft Variant", + "licenseId": "Linux-man-pages-copyleft-var", + "seeAlso": [ + "https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/set_mempolicy.2#n5" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Linux-OpenIB.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Linux-OpenIB.json", + "referenceNumber": 383, + "name": "Linux Kernel Variant of OpenIB.org license", + "licenseId": "Linux-OpenIB", + "seeAlso": [ + "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/infiniband/core/sa.h" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LOOP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LOOP.json", + "referenceNumber": 132, + "name": "Common Lisp LOOP License", + "licenseId": "LOOP", + "seeAlso": [ + "https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/loop.lsp", + "http://git.savannah.gnu.org/cgit/gcl.git/tree/gcl/lsp/gcl_loop.lsp?h\u003dVersion_2_6_13pre", + "https://sourceforge.net/p/sbcl/sbcl/ci/master/tree/src/code/loop.lisp", + "https://github.com/cl-adams/adams/blob/master/LICENSE.md", + "https://github.com/blakemcbride/eclipse-lisp/blob/master/lisp/loop.lisp", + "https://gitlab.common-lisp.net/cmucl/cmucl/-/blob/master/src/code/loop.lisp" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LPD-document.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPD-document.json", + "referenceNumber": 341, + "name": "LPD Documentation License", + "licenseId": "LPD-document", + "seeAlso": [ + "https://github.com/Cyan4973/xxHash/blob/dev/doc/xxhash_spec.md", + "https://www.ietf.org/rfc/rfc1952.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPL-1.0.json", + "referenceNumber": 537, + "name": "Lucent Public License Version 1.0", + "licenseId": "LPL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/LPL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LPL-1.02.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPL-1.02.json", + "referenceNumber": 269, + "name": "Lucent Public License v1.02", + "licenseId": "LPL-1.02", + "seeAlso": [ + "http://plan9.bell-labs.com/plan9/license.html", + "https://opensource.org/licenses/LPL-1.02" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LPPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPPL-1.0.json", + "referenceNumber": 653, + "name": "LaTeX Project Public License v1.0", + "licenseId": "LPPL-1.0", + "seeAlso": [ + "http://www.latex-project.org/lppl/lppl-1-0.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LPPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPPL-1.1.json", + "referenceNumber": 538, + "name": "LaTeX Project Public License v1.1", + "licenseId": "LPPL-1.1", + "seeAlso": [ + "http://www.latex-project.org/lppl/lppl-1-1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LPPL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPPL-1.2.json", + "referenceNumber": 104, + "name": "LaTeX Project Public License v1.2", + "licenseId": "LPPL-1.2", + "seeAlso": [ + "http://www.latex-project.org/lppl/lppl-1-2.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LPPL-1.3a.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPPL-1.3a.json", + "referenceNumber": 523, + "name": "LaTeX Project Public License v1.3a", + "licenseId": "LPPL-1.3a", + "seeAlso": [ + "http://www.latex-project.org/lppl/lppl-1-3a.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LPPL-1.3c.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPPL-1.3c.json", + "referenceNumber": 11, + "name": "LaTeX Project Public License v1.3c", + "licenseId": "LPPL-1.3c", + "seeAlso": [ + "http://www.latex-project.org/lppl/lppl-1-3c.txt", + "https://opensource.org/licenses/LPPL-1.3c" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/lsof.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/lsof.json", + "referenceNumber": 259, + "name": "lsof License", + "licenseId": "lsof", + "seeAlso": [ + "https://github.com/lsof-org/lsof/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Lucida-Bitmap-Fonts.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Lucida-Bitmap-Fonts.json", + "referenceNumber": 330, + "name": "Lucida Bitmap Fonts License", + "licenseId": "Lucida-Bitmap-Fonts", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/font/bh-100dpi/-/blob/master/COPYING?ref_type\u003dheads" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LZMA-SDK-9.11-to-9.20.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LZMA-SDK-9.11-to-9.20.json", + "referenceNumber": 273, + "name": "LZMA SDK License (versions 9.11 to 9.20)", + "licenseId": "LZMA-SDK-9.11-to-9.20", + "seeAlso": [ + "https://www.7-zip.org/sdk.html", + "https://sourceforge.net/projects/sevenzip/files/LZMA%20SDK/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LZMA-SDK-9.22.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LZMA-SDK-9.22.json", + "referenceNumber": 446, + "name": "LZMA SDK License (versions 9.22 and beyond)", + "licenseId": "LZMA-SDK-9.22", + "seeAlso": [ + "https://www.7-zip.org/sdk.html", + "https://sourceforge.net/projects/sevenzip/files/LZMA%20SDK/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Mackerras-3-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Mackerras-3-Clause.json", + "referenceNumber": 503, + "name": "Mackerras 3-Clause License", + "licenseId": "Mackerras-3-Clause", + "seeAlso": [ + "https://github.com/ppp-project/ppp/blob/master/pppd/chap_ms.c#L6-L28" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Mackerras-3-Clause-acknowledgment.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Mackerras-3-Clause-acknowledgment.json", + "referenceNumber": 564, + "name": "Mackerras 3-Clause - acknowledgment variant", + "licenseId": "Mackerras-3-Clause-acknowledgment", + "seeAlso": [ + "https://github.com/ppp-project/ppp/blob/master/pppd/auth.c#L6-L28" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/magaz.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/magaz.json", + "referenceNumber": 217, + "name": "magaz License", + "licenseId": "magaz", + "seeAlso": [ + "https://mirrors.nic.cz/tex-archive/macros/latex/contrib/magaz/magaz.tex" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/mailprio.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/mailprio.json", + "referenceNumber": 62, + "name": "mailprio License", + "licenseId": "mailprio", + "seeAlso": [ + "https://fossies.org/linux/sendmail/contrib/mailprio" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MakeIndex.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MakeIndex.json", + "referenceNumber": 291, + "name": "MakeIndex License", + "licenseId": "MakeIndex", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MakeIndex" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Martin-Birgmeier.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Martin-Birgmeier.json", + "referenceNumber": 186, + "name": "Martin Birgmeier License", + "licenseId": "Martin-Birgmeier", + "seeAlso": [ + "https://github.com/Perl/perl5/blob/blead/util.c#L6136" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/McPhee-slideshow.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/McPhee-slideshow.json", + "referenceNumber": 189, + "name": "McPhee Slideshow License", + "licenseId": "McPhee-slideshow", + "seeAlso": [ + "https://mirror.las.iastate.edu/tex-archive/graphics/metapost/contrib/macros/slideshow/slideshow.mp" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/metamail.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/metamail.json", + "referenceNumber": 512, + "name": "metamail License", + "licenseId": "metamail", + "seeAlso": [ + "https://github.com/Dual-Life/mime-base64/blob/master/Base64.xs#L12" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Minpack.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Minpack.json", + "referenceNumber": 609, + "name": "Minpack License", + "licenseId": "Minpack", + "seeAlso": [ + "http://www.netlib.org/minpack/disclaimer", + "https://gitlab.com/libeigen/eigen/-/blob/master/COPYING.MINPACK" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIPS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIPS.json", + "referenceNumber": 550, + "name": "MIPS License", + "licenseId": "MIPS", + "seeAlso": [ + "https://sourceware.org/cgit/binutils-gdb/tree/include/coff/sym.h#n11" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MirOS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MirOS.json", + "referenceNumber": 16, + "name": "The MirOS Licence", + "licenseId": "MirOS", + "seeAlso": [ + "https://opensource.org/licenses/MirOS" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/MIT.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT.json", + "referenceNumber": 144, + "name": "MIT License", + "licenseId": "MIT", + "seeAlso": [ + "https://opensource.org/license/mit/" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/MIT-0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-0.json", + "referenceNumber": 127, + "name": "MIT No Attribution", + "licenseId": "MIT-0", + "seeAlso": [ + "https://github.com/aws/mit-0", + "https://romanrm.net/mit-zero", + "https://github.com/awsdocs/aws-cloud9-user-guide/blob/master/LICENSE-SAMPLECODE" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/MIT-advertising.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-advertising.json", + "referenceNumber": 246, + "name": "Enlightenment License (e16)", + "licenseId": "MIT-advertising", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MIT_With_Advertising" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-Click.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-Click.json", + "referenceNumber": 374, + "name": "MIT Click License", + "licenseId": "MIT-Click", + "seeAlso": [ + "https://github.com/kohler/t1utils/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-CMU.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-CMU.json", + "referenceNumber": 469, + "name": "CMU License", + "licenseId": "MIT-CMU", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:MIT?rd\u003dLicensing/MIT#CMU_Style", + "https://github.com/python-pillow/Pillow/blob/fffb426092c8db24a5f4b6df243a8a3c01fb63cd/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-enna.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-enna.json", + "referenceNumber": 196, + "name": "enna License", + "licenseId": "MIT-enna", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MIT#enna" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-feh.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-feh.json", + "referenceNumber": 223, + "name": "feh License", + "licenseId": "MIT-feh", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MIT#feh" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-Festival.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-Festival.json", + "referenceNumber": 167, + "name": "MIT Festival Variant", + "licenseId": "MIT-Festival", + "seeAlso": [ + "https://github.com/festvox/flite/blob/master/COPYING", + "https://github.com/festvox/speech_tools/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-Khronos-old.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-Khronos-old.json", + "referenceNumber": 340, + "name": "MIT Khronos - old variant", + "licenseId": "MIT-Khronos-old", + "seeAlso": [ + "https://github.com/KhronosGroup/SPIRV-Cross/blob/main/LICENSES/LicenseRef-KhronosFreeUse.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-Modern-Variant.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-Modern-Variant.json", + "referenceNumber": 573, + "name": "MIT License Modern Variant", + "licenseId": "MIT-Modern-Variant", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:MIT#Modern_Variants", + "https://ptolemy.berkeley.edu/copyright.htm", + "https://pirlwww.lpl.arizona.edu/resources/guide/software/PerlTk/Tixlic.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/MIT-open-group.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-open-group.json", + "referenceNumber": 552, + "name": "MIT Open Group variant", + "licenseId": "MIT-open-group", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/app/iceauth/-/blob/master/COPYING", + "https://gitlab.freedesktop.org/xorg/app/xvinfo/-/blob/master/COPYING", + "https://gitlab.freedesktop.org/xorg/app/xsetroot/-/blob/master/COPYING", + "https://gitlab.freedesktop.org/xorg/app/xauth/-/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-testregex.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-testregex.json", + "referenceNumber": 133, + "name": "MIT testregex Variant", + "licenseId": "MIT-testregex", + "seeAlso": [ + "https://github.com/dotnet/runtime/blob/55e1ac7c07df62c4108d4acedf78f77574470ce5/src/libraries/System.Text.RegularExpressions/tests/FunctionalTests/AttRegexTests.cs#L12-L28" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-Wu.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-Wu.json", + "referenceNumber": 467, + "name": "MIT Tom Wu Variant", + "licenseId": "MIT-Wu", + "seeAlso": [ + "https://github.com/chromium/octane/blob/master/crypto.js" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MITNFA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MITNFA.json", + "referenceNumber": 588, + "name": "MIT +no-false-attribs license", + "licenseId": "MITNFA", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MITNFA" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MMIXware.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MMIXware.json", + "referenceNumber": 54, + "name": "MMIXware License", + "licenseId": "MMIXware", + "seeAlso": [ + "https://gitlab.lrz.de/mmix/mmixware/-/blob/master/boilerplate.w" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Motosoto.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Motosoto.json", + "referenceNumber": 208, + "name": "Motosoto License", + "licenseId": "Motosoto", + "seeAlso": [ + "https://opensource.org/licenses/Motosoto" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/MPEG-SSG.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MPEG-SSG.json", + "referenceNumber": 597, + "name": "MPEG Software Simulation", + "licenseId": "MPEG-SSG", + "seeAlso": [ + "https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/converter/ppm/ppmtompeg/jrevdct.c#l1189" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/mpi-permissive.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/mpi-permissive.json", + "referenceNumber": 482, + "name": "mpi Permissive License", + "licenseId": "mpi-permissive", + "seeAlso": [ + "https://sources.debian.org/src/openmpi/4.1.0-10/ompi/debuggers/msgq_interface.h/?hl\u003d19#L19" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/mpich2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/mpich2.json", + "referenceNumber": 118, + "name": "mpich2 License", + "licenseId": "mpich2", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MIT" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MPL-1.0.json", + "referenceNumber": 32, + "name": "Mozilla Public License 1.0", + "licenseId": "MPL-1.0", + "seeAlso": [ + "http://www.mozilla.org/MPL/MPL-1.0.html", + "https://opensource.org/licenses/MPL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/MPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MPL-1.1.json", + "referenceNumber": 25, + "name": "Mozilla Public License 1.1", + "licenseId": "MPL-1.1", + "seeAlso": [ + "http://www.mozilla.org/MPL/MPL-1.1.html", + "https://opensource.org/licenses/MPL-1.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/MPL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MPL-2.0.json", + "referenceNumber": 249, + "name": "Mozilla Public License 2.0", + "licenseId": "MPL-2.0", + "seeAlso": [ + "https://www.mozilla.org/MPL/2.0/", + "https://opensource.org/licenses/MPL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.json", + "referenceNumber": 350, + "name": "Mozilla Public License 2.0 (no copyleft exception)", + "licenseId": "MPL-2.0-no-copyleft-exception", + "seeAlso": [ + "https://www.mozilla.org/MPL/2.0/", + "https://opensource.org/licenses/MPL-2.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/mplus.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/mplus.json", + "referenceNumber": 85, + "name": "mplus Font License", + "licenseId": "mplus", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:Mplus?rd\u003dLicensing/mplus" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MS-LPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MS-LPL.json", + "referenceNumber": 370, + "name": "Microsoft Limited Public License", + "licenseId": "MS-LPL", + "seeAlso": [ + "https://www.openhub.net/licenses/mslpl", + "https://github.com/gabegundy/atlserver/blob/master/License.txt", + "https://en.wikipedia.org/wiki/Shared_Source_Initiative#Microsoft_Limited_Public_License_(Ms-LPL)" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MS-PL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MS-PL.json", + "referenceNumber": 430, + "name": "Microsoft Public License", + "licenseId": "MS-PL", + "seeAlso": [ + "http://www.microsoft.com/opensource/licenses.mspx", + "https://opensource.org/licenses/MS-PL" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/MS-RL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MS-RL.json", + "referenceNumber": 285, + "name": "Microsoft Reciprocal License", + "licenseId": "MS-RL", + "seeAlso": [ + "http://www.microsoft.com/opensource/licenses.mspx", + "https://opensource.org/licenses/MS-RL" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/MTLL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MTLL.json", + "referenceNumber": 620, + "name": "Matrix Template Library License", + "licenseId": "MTLL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Matrix_Template_Library_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MulanPSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MulanPSL-1.0.json", + "referenceNumber": 599, + "name": "Mulan Permissive Software License, Version 1", + "licenseId": "MulanPSL-1.0", + "seeAlso": [ + "https://license.coscl.org.cn/MulanPSL/", + "https://github.com/yuwenlong/longphp/blob/25dfb70cc2a466dc4bb55ba30901cbce08d164b5/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MulanPSL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MulanPSL-2.0.json", + "referenceNumber": 327, + "name": "Mulan Permissive Software License, Version 2", + "licenseId": "MulanPSL-2.0", + "seeAlso": [ + "https://license.coscl.org.cn/MulanPSL2" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Multics.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Multics.json", + "referenceNumber": 427, + "name": "Multics License", + "licenseId": "Multics", + "seeAlso": [ + "https://opensource.org/licenses/Multics" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Mup.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Mup.json", + "referenceNumber": 371, + "name": "Mup License", + "licenseId": "Mup", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Mup" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NAIST-2003.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NAIST-2003.json", + "referenceNumber": 220, + "name": "Nara Institute of Science and Technology License (2003)", + "licenseId": "NAIST-2003", + "seeAlso": [ + "https://enterprise.dejacode.com/licenses/public/naist-2003/#license-text", + "https://github.com/nodejs/node/blob/4a19cc8947b1bba2b2d27816ec3d0edf9b28e503/LICENSE#L343" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NASA-1.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NASA-1.3.json", + "referenceNumber": 486, + "name": "NASA Open Source Agreement 1.3", + "licenseId": "NASA-1.3", + "seeAlso": [ + "http://ti.arc.nasa.gov/opensource/nosa/", + "https://opensource.org/licenses/NASA-1.3" + ], + "isOsiApproved": true, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/Naumen.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Naumen.json", + "referenceNumber": 594, + "name": "Naumen Public License", + "licenseId": "Naumen", + "seeAlso": [ + "https://opensource.org/licenses/Naumen" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/NBPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NBPL-1.0.json", + "referenceNumber": 240, + "name": "Net Boolean Public License v1", + "licenseId": "NBPL-1.0", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d37b4b3f6cc4bf34e1d3dec61e69914b9819d8894" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NCBI-PD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NCBI-PD.json", + "referenceNumber": 395, + "name": "NCBI Public Domain Notice", + "licenseId": "NCBI-PD", + "seeAlso": [ + "https://github.com/ncbi/sra-tools/blob/e8e5b6af4edc460156ad9ce5902d0779cffbf685/LICENSE", + "https://github.com/ncbi/datasets/blob/0ea4cd16b61e5b799d9cc55aecfa016d6c9bd2bf/LICENSE.md", + "https://github.com/ncbi/gprobe/blob/de64d30fee8b4c4013094d7d3139ea89b5dd1ace/LICENSE", + "https://github.com/ncbi/egapx/blob/08930b9dec0c69b2d1a05e5153c7b95ef0a3eb0f/LICENSE", + "https://github.com/ncbi/datasets/blob/master/LICENSE.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NCGL-UK-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NCGL-UK-2.0.json", + "referenceNumber": 212, + "name": "Non-Commercial Government Licence", + "licenseId": "NCGL-UK-2.0", + "seeAlso": [ + "http://www.nationalarchives.gov.uk/doc/non-commercial-government-licence/version/2/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NCL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NCL.json", + "referenceNumber": 152, + "name": "NCL Source Code License", + "licenseId": "NCL", + "seeAlso": [ + "https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/modules/module-filter-chain/pffft.c?ref_type\u003dheads#L1-52" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NCSA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NCSA.json", + "referenceNumber": 478, + "name": "University of Illinois/NCSA Open Source License", + "licenseId": "NCSA", + "seeAlso": [ + "http://otm.illinois.edu/uiuc_openSource", + "https://opensource.org/licenses/NCSA" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Net-SNMP.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/Net-SNMP.json", + "referenceNumber": 440, + "name": "Net-SNMP License", + "licenseId": "Net-SNMP", + "seeAlso": [ + "http://net-snmp.sourceforge.net/about/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NetCDF.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NetCDF.json", + "referenceNumber": 303, + "name": "NetCDF license", + "licenseId": "NetCDF", + "seeAlso": [ + "http://www.unidata.ucar.edu/software/netcdf/copyright.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Newsletr.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Newsletr.json", + "referenceNumber": 163, + "name": "Newsletr License", + "licenseId": "Newsletr", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Newsletr" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NGPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NGPL.json", + "referenceNumber": 115, + "name": "Nethack General Public License", + "licenseId": "NGPL", + "seeAlso": [ + "https://opensource.org/licenses/NGPL" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/NICTA-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NICTA-1.0.json", + "referenceNumber": 536, + "name": "NICTA Public Software License, Version 1.0", + "licenseId": "NICTA-1.0", + "seeAlso": [ + "https://opensource.apple.com/source/mDNSResponder/mDNSResponder-320.10/mDNSPosix/nss_ReadMe.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NIST-PD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NIST-PD.json", + "referenceNumber": 1, + "name": "NIST Public Domain Notice", + "licenseId": "NIST-PD", + "seeAlso": [ + "https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt", + "https://github.com/tcheneau/Routing/blob/f09f46fcfe636107f22f2c98348188a65a135d98/README.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NIST-PD-fallback.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NIST-PD-fallback.json", + "referenceNumber": 463, + "name": "NIST Public Domain Notice with license fallback", + "licenseId": "NIST-PD-fallback", + "seeAlso": [ + "https://github.com/usnistgov/jsip/blob/59700e6926cbe96c5cdae897d9a7d2656b42abe3/LICENSE", + "https://github.com/usnistgov/fipy/blob/86aaa5c2ba2c6f1be19593c5986071cf6568cc34/LICENSE.rst" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NIST-Software.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NIST-Software.json", + "referenceNumber": 471, + "name": "NIST Software License", + "licenseId": "NIST-Software", + "seeAlso": [ + "https://github.com/open-quantum-safe/liboqs/blob/40b01fdbb270f8614fde30e65d30e9da18c02393/src/common/rand/rand_nist.c#L1-L15" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NLOD-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NLOD-1.0.json", + "referenceNumber": 3, + "name": "Norwegian Licence for Open Government Data (NLOD) 1.0", + "licenseId": "NLOD-1.0", + "seeAlso": [ + "http://data.norge.no/nlod/en/1.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NLOD-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NLOD-2.0.json", + "referenceNumber": 60, + "name": "Norwegian Licence for Open Government Data (NLOD) 2.0", + "licenseId": "NLOD-2.0", + "seeAlso": [ + "http://data.norge.no/nlod/en/2.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NLPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NLPL.json", + "referenceNumber": 477, + "name": "No Limit Public License", + "licenseId": "NLPL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/NLPL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Nokia.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Nokia.json", + "referenceNumber": 678, + "name": "Nokia Open Source License", + "licenseId": "Nokia", + "seeAlso": [ + "https://opensource.org/licenses/nokia" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/NOSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NOSL.json", + "referenceNumber": 80, + "name": "Netizen Open Source License", + "licenseId": "NOSL", + "seeAlso": [ + "http://bits.netizen.com.au/licenses/NOSL/nosl.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Noweb.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Noweb.json", + "referenceNumber": 64, + "name": "Noweb License", + "licenseId": "Noweb", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Noweb" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NPL-1.0.json", + "referenceNumber": 112, + "name": "Netscape Public License v1.0", + "licenseId": "NPL-1.0", + "seeAlso": [ + "http://www.mozilla.org/MPL/NPL/1.0/" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/NPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NPL-1.1.json", + "referenceNumber": 491, + "name": "Netscape Public License v1.1", + "licenseId": "NPL-1.1", + "seeAlso": [ + "http://www.mozilla.org/MPL/NPL/1.1/" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/NPOSL-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NPOSL-3.0.json", + "referenceNumber": 507, + "name": "Non-Profit Open Software License 3.0", + "licenseId": "NPOSL-3.0", + "seeAlso": [ + "https://opensource.org/licenses/NOSL3.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/NRL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NRL.json", + "referenceNumber": 442, + "name": "NRL License", + "licenseId": "NRL", + "seeAlso": [ + "http://web.mit.edu/network/isakmp/nrllicense.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NTP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NTP.json", + "referenceNumber": 228, + "name": "NTP License", + "licenseId": "NTP", + "seeAlso": [ + "https://opensource.org/licenses/NTP" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/NTP-0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NTP-0.json", + "referenceNumber": 586, + "name": "NTP No Attribution", + "licenseId": "NTP-0", + "seeAlso": [ + "https://github.com/tytso/e2fsprogs/blob/master/lib/et/et_name.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Nunit.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/Nunit.json", + "referenceNumber": 605, + "name": "Nunit License", + "licenseId": "Nunit", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Nunit" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/O-UDA-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/O-UDA-1.0.json", + "referenceNumber": 84, + "name": "Open Use of Data Agreement v1.0", + "licenseId": "O-UDA-1.0", + "seeAlso": [ + "https://github.com/microsoft/Open-Use-of-Data-Agreement/blob/v1.0/O-UDA-1.0.md", + "https://cdla.dev/open-use-of-data-agreement-v1-0/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OAR.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OAR.json", + "referenceNumber": 77, + "name": "OAR License", + "licenseId": "OAR", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dnewlib-cygwin.git;a\u003dblob;f\u003dnewlib/libc/string/strsignal.c;hb\u003dHEAD#l35" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OCCT-PL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OCCT-PL.json", + "referenceNumber": 547, + "name": "Open CASCADE Technology Public License", + "licenseId": "OCCT-PL", + "seeAlso": [ + "http://www.opencascade.com/content/occt-public-license" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OCLC-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OCLC-2.0.json", + "referenceNumber": 179, + "name": "OCLC Research Public License 2.0", + "licenseId": "OCLC-2.0", + "seeAlso": [ + "http://www.oclc.org/research/activities/software/license/v2final.htm", + "https://opensource.org/licenses/OCLC-2.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/ODbL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ODbL-1.0.json", + "referenceNumber": 615, + "name": "Open Data Commons Open Database License v1.0", + "licenseId": "ODbL-1.0", + "seeAlso": [ + "http://www.opendatacommons.org/licenses/odbl/1.0/", + "https://opendatacommons.org/licenses/odbl/1-0/" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ODC-By-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ODC-By-1.0.json", + "referenceNumber": 192, + "name": "Open Data Commons Attribution License v1.0", + "licenseId": "ODC-By-1.0", + "seeAlso": [ + "https://opendatacommons.org/licenses/by/1.0/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OFFIS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFFIS.json", + "referenceNumber": 423, + "name": "OFFIS License", + "licenseId": "OFFIS", + "seeAlso": [ + "https://sourceforge.net/p/xmedcon/code/ci/master/tree/libs/dicom/README" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OFL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFL-1.0.json", + "referenceNumber": 98, + "name": "SIL Open Font License 1.0", + "licenseId": "OFL-1.0", + "seeAlso": [ + "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OFL-1.0-no-RFN.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFL-1.0-no-RFN.json", + "referenceNumber": 362, + "name": "SIL Open Font License 1.0 with no Reserved Font Name", + "licenseId": "OFL-1.0-no-RFN", + "seeAlso": [ + "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OFL-1.0-RFN.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFL-1.0-RFN.json", + "referenceNumber": 622, + "name": "SIL Open Font License 1.0 with Reserved Font Name", + "licenseId": "OFL-1.0-RFN", + "seeAlso": [ + "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OFL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFL-1.1.json", + "referenceNumber": 433, + "name": "SIL Open Font License 1.1", + "licenseId": "OFL-1.1", + "seeAlso": [ + "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web", + "https://opensource.org/licenses/OFL-1.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OFL-1.1-no-RFN.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFL-1.1-no-RFN.json", + "referenceNumber": 562, + "name": "SIL Open Font License 1.1 with no Reserved Font Name", + "licenseId": "OFL-1.1-no-RFN", + "seeAlso": [ + "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web", + "https://opensource.org/licenses/OFL-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/OFL-1.1-RFN.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFL-1.1-RFN.json", + "referenceNumber": 88, + "name": "SIL Open Font License 1.1 with Reserved Font Name", + "licenseId": "OFL-1.1-RFN", + "seeAlso": [ + "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web", + "https://opensource.org/licenses/OFL-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/OGC-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGC-1.0.json", + "referenceNumber": 533, + "name": "OGC Software License, Version 1.0", + "licenseId": "OGC-1.0", + "seeAlso": [ + "https://www.ogc.org/ogc/software/1.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OGDL-Taiwan-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGDL-Taiwan-1.0.json", + "referenceNumber": 247, + "name": "Taiwan Open Government Data License, version 1.0", + "licenseId": "OGDL-Taiwan-1.0", + "seeAlso": [ + "https://data.gov.tw/license" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OGL-Canada-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGL-Canada-2.0.json", + "referenceNumber": 673, + "name": "Open Government Licence - Canada", + "licenseId": "OGL-Canada-2.0", + "seeAlso": [ + "https://open.canada.ca/en/open-government-licence-canada" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OGL-UK-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGL-UK-1.0.json", + "referenceNumber": 171, + "name": "Open Government Licence v1.0", + "licenseId": "OGL-UK-1.0", + "seeAlso": [ + "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/1/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OGL-UK-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGL-UK-2.0.json", + "referenceNumber": 400, + "name": "Open Government Licence v2.0", + "licenseId": "OGL-UK-2.0", + "seeAlso": [ + "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/2/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OGL-UK-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGL-UK-3.0.json", + "referenceNumber": 385, + "name": "Open Government Licence v3.0", + "licenseId": "OGL-UK-3.0", + "seeAlso": [ + "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OGTSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGTSL.json", + "referenceNumber": 614, + "name": "Open Group Test Suite License", + "licenseId": "OGTSL", + "seeAlso": [ + "http://www.opengroup.org/testing/downloads/The_Open_Group_TSL.txt", + "https://opensource.org/licenses/OGTSL" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/OLDAP-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-1.1.json", + "referenceNumber": 209, + "name": "Open LDAP Public License v1.1", + "licenseId": "OLDAP-1.1", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d806557a5ad59804ef3a44d5abfbe91d706b0791f" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-1.2.json", + "referenceNumber": 33, + "name": "Open LDAP Public License v1.2", + "licenseId": "OLDAP-1.2", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d42b0383c50c299977b5893ee695cf4e486fb0dc7" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-1.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-1.3.json", + "referenceNumber": 58, + "name": "Open LDAP Public License v1.3", + "licenseId": "OLDAP-1.3", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003de5f8117f0ce088d0bd7a8e18ddf37eaa40eb09b1" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-1.4.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-1.4.json", + "referenceNumber": 508, + "name": "Open LDAP Public License v1.4", + "licenseId": "OLDAP-1.4", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dc9f95c2f3f2ffb5e0ae55fe7388af75547660941" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.0.json", + "referenceNumber": 261, + "name": "Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)", + "licenseId": "OLDAP-2.0", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dcbf50f4e1185a21abd4c0a54d3f4341fe28f36ea" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.0.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.0.1.json", + "referenceNumber": 634, + "name": "Open LDAP Public License v2.0.1", + "licenseId": "OLDAP-2.0.1", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003db6d68acd14e51ca3aab4428bf26522aa74873f0e" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.1.json", + "referenceNumber": 94, + "name": "Open LDAP Public License v2.1", + "licenseId": "OLDAP-2.1", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003db0d176738e96a0d3b9f85cb51e140a86f21be715" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.json", + "referenceNumber": 369, + "name": "Open LDAP Public License v2.2", + "licenseId": "OLDAP-2.2", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d470b0c18ec67621c85881b2733057fecf4a1acc3" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.1.json", + "referenceNumber": 542, + "name": "Open LDAP Public License v2.2.1", + "licenseId": "OLDAP-2.2.1", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d4bc786f34b50aa301be6f5600f58a980070f481e" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.2.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.2.json", + "referenceNumber": 105, + "name": "Open LDAP Public License 2.2.2", + "licenseId": "OLDAP-2.2.2", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003ddf2cc1e21eb7c160695f5b7cffd6296c151ba188" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.3.json", + "referenceNumber": 288, + "name": "Open LDAP Public License v2.3", + "licenseId": "OLDAP-2.3", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dd32cf54a32d581ab475d23c810b0a7fbaf8d63c3" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.4.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.4.json", + "referenceNumber": 359, + "name": "Open LDAP Public License v2.4", + "licenseId": "OLDAP-2.4", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dcd1284c4a91a8a380d904eee68d1583f989ed386" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.5.json", + "referenceNumber": 181, + "name": "Open LDAP Public License v2.5", + "licenseId": "OLDAP-2.5", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d6852b9d90022e8593c98205413380536b1b5a7cf" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.6.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.6.json", + "referenceNumber": 544, + "name": "Open LDAP Public License v2.6", + "licenseId": "OLDAP-2.6", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d1cae062821881f41b73012ba816434897abf4205" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.7.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.7.json", + "referenceNumber": 618, + "name": "Open LDAP Public License v2.7", + "licenseId": "OLDAP-2.7", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d47c2415c1df81556eeb39be6cad458ef87c534a2" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.8.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.8.json", + "referenceNumber": 14, + "name": "Open LDAP Public License v2.8", + "licenseId": "OLDAP-2.8", + "seeAlso": [ + "http://www.openldap.org/software/release/license.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/OLFL-1.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLFL-1.3.json", + "referenceNumber": 351, + "name": "Open Logistics Foundation License Version 1.3", + "licenseId": "OLFL-1.3", + "seeAlso": [ + "https://openlogisticsfoundation.org/licenses/", + "https://opensource.org/license/olfl-1-3/" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/OML.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OML.json", + "referenceNumber": 453, + "name": "Open Market License", + "licenseId": "OML", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Open_Market_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OpenPBS-2.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OpenPBS-2.3.json", + "referenceNumber": 140, + "name": "OpenPBS v2.3 Software License", + "licenseId": "OpenPBS-2.3", + "seeAlso": [ + "https://github.com/adaptivecomputing/torque/blob/master/PBS_License.txt", + "https://www.mcs.anl.gov/research/projects/openpbs/PBS_License.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OpenSSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OpenSSL.json", + "referenceNumber": 393, + "name": "OpenSSL License", + "licenseId": "OpenSSL", + "seeAlso": [ + "http://www.openssl.org/source/license.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OpenSSL-standalone.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OpenSSL-standalone.json", + "referenceNumber": 449, + "name": "OpenSSL License - standalone", + "licenseId": "OpenSSL-standalone", + "seeAlso": [ + "https://library.netapp.com/ecm/ecm_download_file/ECMP1196395", + "https://hstechdocs.helpsystems.com/manuals/globalscape/archive/cuteftp6/open_ssl_license_agreement.htm" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OpenVision.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OpenVision.json", + "referenceNumber": 23, + "name": "OpenVision License", + "licenseId": "OpenVision", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L66-L98", + "https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html", + "https://fedoraproject.org/wiki/Licensing:MIT#OpenVision_Variant" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OPL-1.0.json", + "referenceNumber": 43, + "name": "Open Public License v1.0", + "licenseId": "OPL-1.0", + "seeAlso": [ + "http://old.koalateam.com/jackaroo/OPL_1_0.TXT", + "https://fedoraproject.org/wiki/Licensing/Open_Public_License" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/OPL-UK-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OPL-UK-3.0.json", + "referenceNumber": 248, + "name": "United Kingdom Open Parliament Licence v3.0", + "licenseId": "OPL-UK-3.0", + "seeAlso": [ + "https://www.parliament.uk/site-information/copyright-parliament/open-parliament-licence/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OPUBL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OPUBL-1.0.json", + "referenceNumber": 241, + "name": "Open Publication License v1.0", + "licenseId": "OPUBL-1.0", + "seeAlso": [ + "http://opencontent.org/openpub/", + "https://www.debian.org/opl", + "https://www.ctan.org/license/opl" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OSET-PL-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OSET-PL-2.1.json", + "referenceNumber": 658, + "name": "OSET Public License version 2.1", + "licenseId": "OSET-PL-2.1", + "seeAlso": [ + "http://www.osetfoundation.org/public-license", + "https://opensource.org/licenses/OPL-2.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/OSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OSL-1.0.json", + "referenceNumber": 554, + "name": "Open Software License 1.0", + "licenseId": "OSL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/OSL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OSL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OSL-1.1.json", + "referenceNumber": 481, + "name": "Open Software License 1.1", + "licenseId": "OSL-1.1", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/OSL1.1" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OSL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OSL-2.0.json", + "referenceNumber": 377, + "name": "Open Software License 2.0", + "licenseId": "OSL-2.0", + "seeAlso": [ + "http://web.archive.org/web/20041020171434/http://www.rosenlaw.com/osl2.0.html" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OSL-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OSL-2.1.json", + "referenceNumber": 368, + "name": "Open Software License 2.1", + "licenseId": "OSL-2.1", + "seeAlso": [ + "http://web.archive.org/web/20050212003940/http://www.rosenlaw.com/osl21.htm", + "https://opensource.org/licenses/OSL-2.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OSL-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OSL-3.0.json", + "referenceNumber": 30, + "name": "Open Software License 3.0", + "licenseId": "OSL-3.0", + "seeAlso": [ + "https://web.archive.org/web/20120101081418/http://rosenlaw.com:80/OSL3.0.htm", + "https://opensource.org/licenses/OSL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/PADL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PADL.json", + "referenceNumber": 535, + "name": "PADL License", + "licenseId": "PADL", + "seeAlso": [ + "https://git.openldap.org/openldap/openldap/-/blob/master/libraries/libldap/os-local.c?ref_type\u003dheads#L19-23" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Parity-6.0.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Parity-6.0.0.json", + "referenceNumber": 17, + "name": "The Parity Public License 6.0.0", + "licenseId": "Parity-6.0.0", + "seeAlso": [ + "https://paritylicense.com/versions/6.0.0.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Parity-7.0.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Parity-7.0.0.json", + "referenceNumber": 324, + "name": "The Parity Public License 7.0.0", + "licenseId": "Parity-7.0.0", + "seeAlso": [ + "https://paritylicense.com/versions/7.0.0.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/PDDL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PDDL-1.0.json", + "referenceNumber": 149, + "name": "Open Data Commons Public Domain Dedication \u0026 License 1.0", + "licenseId": "PDDL-1.0", + "seeAlso": [ + "http://opendatacommons.org/licenses/pddl/1.0/", + "https://opendatacommons.org/licenses/pddl/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/PHP-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PHP-3.0.json", + "referenceNumber": 138, + "name": "PHP License v3.0", + "licenseId": "PHP-3.0", + "seeAlso": [ + "http://www.php.net/license/3_0.txt", + "https://opensource.org/licenses/PHP-3.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/PHP-3.01.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PHP-3.01.json", + "referenceNumber": 666, + "name": "PHP License v3.01", + "licenseId": "PHP-3.01", + "seeAlso": [ + "http://www.php.net/license/3_01.txt" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Pixar.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Pixar.json", + "referenceNumber": 607, + "name": "Pixar License", + "licenseId": "Pixar", + "seeAlso": [ + "https://github.com/PixarAnimationStudios/OpenSubdiv/raw/v3_5_0/LICENSE.txt", + "https://graphics.pixar.com/opensubdiv/docs/license.html", + "https://github.com/PixarAnimationStudios/OpenSubdiv/blob/v3_5_0/opensubdiv/version.cpp#L2-L22" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/pkgconf.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/pkgconf.json", + "referenceNumber": 664, + "name": "pkgconf License", + "licenseId": "pkgconf", + "seeAlso": [ + "https://github.com/pkgconf/pkgconf/blob/master/cli/main.c#L8" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Plexus.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Plexus.json", + "referenceNumber": 39, + "name": "Plexus Classworlds License", + "licenseId": "Plexus", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Plexus_Classworlds_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/pnmstitch.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/pnmstitch.json", + "referenceNumber": 266, + "name": "pnmstitch License", + "licenseId": "pnmstitch", + "seeAlso": [ + "https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/editor/pnmstitch.c#l2" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.json", + "referenceNumber": 561, + "name": "PolyForm Noncommercial License 1.0.0", + "licenseId": "PolyForm-Noncommercial-1.0.0", + "seeAlso": [ + "https://polyformproject.org/licenses/noncommercial/1.0.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/PolyForm-Small-Business-1.0.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PolyForm-Small-Business-1.0.0.json", + "referenceNumber": 155, + "name": "PolyForm Small Business License 1.0.0", + "licenseId": "PolyForm-Small-Business-1.0.0", + "seeAlso": [ + "https://polyformproject.org/licenses/small-business/1.0.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/PostgreSQL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PostgreSQL.json", + "referenceNumber": 645, + "name": "PostgreSQL License", + "licenseId": "PostgreSQL", + "seeAlso": [ + "http://www.postgresql.org/about/licence", + "https://opensource.org/licenses/PostgreSQL" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/PPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PPL.json", + "referenceNumber": 87, + "name": "Peer Production License", + "licenseId": "PPL", + "seeAlso": [ + "https://wiki.p2pfoundation.net/Peer_Production_License", + "http://www.networkcultures.org/_uploads/%233notebook_telekommunist.pdf" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/PSF-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PSF-2.0.json", + "referenceNumber": 479, + "name": "Python Software Foundation License 2.0", + "licenseId": "PSF-2.0", + "seeAlso": [ + "https://opensource.org/licenses/Python-2.0", + "https://matplotlib.org/stable/project/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/psfrag.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/psfrag.json", + "referenceNumber": 100, + "name": "psfrag License", + "licenseId": "psfrag", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/psfrag" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/psutils.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/psutils.json", + "referenceNumber": 50, + "name": "psutils License", + "licenseId": "psutils", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/psutils" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Python-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Python-2.0.json", + "referenceNumber": 651, + "name": "Python License 2.0", + "licenseId": "Python-2.0", + "seeAlso": [ + "https://opensource.org/licenses/Python-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Python-2.0.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Python-2.0.1.json", + "referenceNumber": 290, + "name": "Python License 2.0.1", + "licenseId": "Python-2.0.1", + "seeAlso": [ + "https://www.python.org/download/releases/2.0.1/license/", + "https://docs.python.org/3/license.html", + "https://github.com/python/cpython/blob/main/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/python-ldap.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/python-ldap.json", + "referenceNumber": 531, + "name": "Python ldap License", + "licenseId": "python-ldap", + "seeAlso": [ + "https://github.com/python-ldap/python-ldap/blob/main/LICENCE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Qhull.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Qhull.json", + "referenceNumber": 435, + "name": "Qhull License", + "licenseId": "Qhull", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Qhull" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/QPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/QPL-1.0.json", + "referenceNumber": 169, + "name": "Q Public License 1.0", + "licenseId": "QPL-1.0", + "seeAlso": [ + "http://doc.qt.nokia.com/3.3/license.html", + "https://opensource.org/licenses/QPL-1.0", + "https://doc.qt.io/archives/3.3/license.html" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/QPL-1.0-INRIA-2004.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/QPL-1.0-INRIA-2004.json", + "referenceNumber": 461, + "name": "Q Public License 1.0 - INRIA 2004 variant", + "licenseId": "QPL-1.0-INRIA-2004", + "seeAlso": [ + "https://github.com/maranget/hevea/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/radvd.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/radvd.json", + "referenceNumber": 425, + "name": "radvd License", + "licenseId": "radvd", + "seeAlso": [ + "https://github.com/radvd-project/radvd/blob/master/COPYRIGHT" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Rdisc.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Rdisc.json", + "referenceNumber": 74, + "name": "Rdisc License", + "licenseId": "Rdisc", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Rdisc_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/RHeCos-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/RHeCos-1.1.json", + "referenceNumber": 4, + "name": "Red Hat eCos Public License v1.1", + "licenseId": "RHeCos-1.1", + "seeAlso": [ + "http://ecos.sourceware.org/old-license.html" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/RPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/RPL-1.1.json", + "referenceNumber": 281, + "name": "Reciprocal Public License 1.1", + "licenseId": "RPL-1.1", + "seeAlso": [ + "https://opensource.org/licenses/RPL-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/RPL-1.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/RPL-1.5.json", + "referenceNumber": 677, + "name": "Reciprocal Public License 1.5", + "licenseId": "RPL-1.5", + "seeAlso": [ + "https://opensource.org/licenses/RPL-1.5" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/RPSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/RPSL-1.0.json", + "referenceNumber": 668, + "name": "RealNetworks Public Source License v1.0", + "licenseId": "RPSL-1.0", + "seeAlso": [ + "https://helixcommunity.org/content/rpsl", + "https://opensource.org/licenses/RPSL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/RSA-MD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/RSA-MD.json", + "referenceNumber": 178, + "name": "RSA Message-Digest License", + "licenseId": "RSA-MD", + "seeAlso": [ + "http://www.faqs.org/rfcs/rfc1321.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/RSCPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/RSCPL.json", + "referenceNumber": 6, + "name": "Ricoh Source Code Public License", + "licenseId": "RSCPL", + "seeAlso": [ + "http://wayback.archive.org/web/20060715140826/http://www.risource.org/RPL/RPL-1.0A.shtml", + "https://opensource.org/licenses/RSCPL" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Ruby.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Ruby.json", + "referenceNumber": 244, + "name": "Ruby License", + "licenseId": "Ruby", + "seeAlso": [ + "https://www.ruby-lang.org/en/about/license.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Ruby-pty.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Ruby-pty.json", + "referenceNumber": 558, + "name": "Ruby pty extension license", + "licenseId": "Ruby-pty", + "seeAlso": [ + "https://github.com/ruby/ruby/blob/9f6deaa6888a423720b4b127b5314f0ad26cc2e6/ext/pty/pty.c#L775-L786", + "https://github.com/ruby/ruby/commit/0a64817fb80016030c03518fb9459f63c11605ea#diff-ef5fa30838d6d0cecad9e675cc50b24628cfe2cb277c346053fafcc36c91c204", + "https://github.com/ruby/ruby/commit/0a64817fb80016030c03518fb9459f63c11605ea#diff-fedf217c1ce44bda01f0a678d3ff8b198bed478754d699c527a698ad933979a0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SAX-PD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SAX-PD.json", + "referenceNumber": 166, + "name": "Sax Public Domain Notice", + "licenseId": "SAX-PD", + "seeAlso": [ + "http://www.saxproject.org/copying.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SAX-PD-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SAX-PD-2.0.json", + "referenceNumber": 497, + "name": "Sax Public Domain Notice 2.0", + "licenseId": "SAX-PD-2.0", + "seeAlso": [ + "http://www.saxproject.org/copying.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Saxpath.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Saxpath.json", + "referenceNumber": 298, + "name": "Saxpath License", + "licenseId": "Saxpath", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Saxpath_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SCEA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SCEA.json", + "referenceNumber": 518, + "name": "SCEA Shared Source License", + "licenseId": "SCEA", + "seeAlso": [ + "http://research.scea.com/scea_shared_source_license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SchemeReport.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SchemeReport.json", + "referenceNumber": 339, + "name": "Scheme Language Report License", + "licenseId": "SchemeReport", + "seeAlso": [], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Sendmail.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Sendmail.json", + "referenceNumber": 394, + "name": "Sendmail License", + "licenseId": "Sendmail", + "seeAlso": [ + "http://www.sendmail.com/pdfs/open_source/sendmail_license.pdf", + "https://web.archive.org/web/20160322142305/https://www.sendmail.com/pdfs/open_source/sendmail_license.pdf" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Sendmail-8.23.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Sendmail-8.23.json", + "referenceNumber": 34, + "name": "Sendmail License 8.23", + "licenseId": "Sendmail-8.23", + "seeAlso": [ + "https://www.proofpoint.com/sites/default/files/sendmail-license.pdf", + "https://web.archive.org/web/20181003101040/https://www.proofpoint.com/sites/default/files/sendmail-license.pdf" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Sendmail-Open-Source-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Sendmail-Open-Source-1.1.json", + "referenceNumber": 317, + "name": "Sendmail Open Source License v1.1", + "licenseId": "Sendmail-Open-Source-1.1", + "seeAlso": [ + "https://github.com/trusteddomainproject/OpenDMARC/blob/master/LICENSE.Sendmail" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SGI-B-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SGI-B-1.0.json", + "referenceNumber": 515, + "name": "SGI Free Software License B v1.0", + "licenseId": "SGI-B-1.0", + "seeAlso": [ + "http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.1.0.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SGI-B-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SGI-B-1.1.json", + "referenceNumber": 46, + "name": "SGI Free Software License B v1.1", + "licenseId": "SGI-B-1.1", + "seeAlso": [ + "http://oss.sgi.com/projects/FreeB/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SGI-B-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SGI-B-2.0.json", + "referenceNumber": 551, + "name": "SGI Free Software License B v2.0", + "licenseId": "SGI-B-2.0", + "seeAlso": [ + "http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.2.0.pdf" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/SGI-OpenGL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SGI-OpenGL.json", + "referenceNumber": 73, + "name": "SGI OpenGL License", + "licenseId": "SGI-OpenGL", + "seeAlso": [ + "https://gitlab.freedesktop.org/mesa/glw/-/blob/master/README?ref_type\u003dheads" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SGP4.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SGP4.json", + "referenceNumber": 24, + "name": "SGP4 Permission Notice", + "licenseId": "SGP4", + "seeAlso": [ + "https://celestrak.org/publications/AIAA/2006-6753/faq.php" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SHL-0.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SHL-0.5.json", + "referenceNumber": 159, + "name": "Solderpad Hardware License v0.5", + "licenseId": "SHL-0.5", + "seeAlso": [ + "https://solderpad.org/licenses/SHL-0.5/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SHL-0.51.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SHL-0.51.json", + "referenceNumber": 522, + "name": "Solderpad Hardware License, Version 0.51", + "licenseId": "SHL-0.51", + "seeAlso": [ + "https://solderpad.org/licenses/SHL-0.51/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SimPL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SimPL-2.0.json", + "referenceNumber": 560, + "name": "Simple Public License 2.0", + "licenseId": "SimPL-2.0", + "seeAlso": [ + "https://opensource.org/licenses/SimPL-2.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/SISSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SISSL.json", + "referenceNumber": 349, + "name": "Sun Industry Standards Source License v1.1", + "licenseId": "SISSL", + "seeAlso": [ + "http://www.openoffice.org/licenses/sissl_license.html", + "https://opensource.org/licenses/SISSL" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/SISSL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SISSL-1.2.json", + "referenceNumber": 670, + "name": "Sun Industry Standards Source License v1.2", + "licenseId": "SISSL-1.2", + "seeAlso": [ + "http://gridscheduler.sourceforge.net/Gridengine_SISSL_license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SL.json", + "referenceNumber": 295, + "name": "SL License", + "licenseId": "SL", + "seeAlso": [ + "https://github.com/mtoyoda/sl/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Sleepycat.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Sleepycat.json", + "referenceNumber": 120, + "name": "Sleepycat License", + "licenseId": "Sleepycat", + "seeAlso": [ + "https://opensource.org/licenses/Sleepycat" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/SMAIL-GPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SMAIL-GPL.json", + "referenceNumber": 485, + "name": "SMAIL General Public License", + "licenseId": "SMAIL-GPL", + "seeAlso": [ + "https://sources.debian.org/copyright/license/debianutils/4.11.2/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SMLNJ.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SMLNJ.json", + "referenceNumber": 506, + "name": "Standard ML of New Jersey License", + "licenseId": "SMLNJ", + "seeAlso": [ + "https://www.smlnj.org/license.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/SMPPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SMPPL.json", + "referenceNumber": 325, + "name": "Secure Messaging Protocol Public License", + "licenseId": "SMPPL", + "seeAlso": [ + "https://github.com/dcblake/SMP/blob/master/Documentation/License.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SNIA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SNIA.json", + "referenceNumber": 92, + "name": "SNIA Public License 1.1", + "licenseId": "SNIA", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/SNIA_Public_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/snprintf.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/snprintf.json", + "referenceNumber": 604, + "name": "snprintf License", + "licenseId": "snprintf", + "seeAlso": [ + "https://github.com/openssh/openssh-portable/blob/master/openbsd-compat/bsd-snprintf.c#L2" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/softSurfer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/softSurfer.json", + "referenceNumber": 96, + "name": "softSurfer License", + "licenseId": "softSurfer", + "seeAlso": [ + "https://github.com/mm2/Little-CMS/blob/master/src/cmssm.c#L207", + "https://fedoraproject.org/wiki/Licensing/softSurfer" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Soundex.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Soundex.json", + "referenceNumber": 65, + "name": "Soundex License", + "licenseId": "Soundex", + "seeAlso": [ + "https://metacpan.org/release/RJBS/Text-Soundex-3.05/source/Soundex.pm#L3-11" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Spencer-86.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Spencer-86.json", + "referenceNumber": 21, + "name": "Spencer License 86", + "licenseId": "Spencer-86", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Spencer-94.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Spencer-94.json", + "referenceNumber": 472, + "name": "Spencer License 94", + "licenseId": "Spencer-94", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License", + "https://metacpan.org/release/KNOK/File-MMagic-1.30/source/COPYING#L28" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Spencer-99.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Spencer-99.json", + "referenceNumber": 432, + "name": "Spencer License 99", + "licenseId": "Spencer-99", + "seeAlso": [ + "http://www.opensource.apple.com/source/tcl/tcl-5/tcl/generic/regfronts.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SPL-1.0.json", + "referenceNumber": 487, + "name": "Sun Public License v1.0", + "licenseId": "SPL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/SPL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ssh-keyscan.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ssh-keyscan.json", + "referenceNumber": 431, + "name": "ssh-keyscan License", + "licenseId": "ssh-keyscan", + "seeAlso": [ + "https://github.com/openssh/openssh-portable/blob/master/LICENCE#L82" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SSH-OpenSSH.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SSH-OpenSSH.json", + "referenceNumber": 68, + "name": "SSH OpenSSH license", + "licenseId": "SSH-OpenSSH", + "seeAlso": [ + "https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/LICENCE#L10" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SSH-short.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SSH-short.json", + "referenceNumber": 170, + "name": "SSH short notice", + "licenseId": "SSH-short", + "seeAlso": [ + "https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/pathnames.h", + "http://web.mit.edu/kolya/.f/root/athena.mit.edu/sipb.mit.edu/project/openssh/OldFiles/src/openssh-2.9.9p2/ssh-add.1", + "https://joinup.ec.europa.eu/svn/lesoll/trunk/italc/lib/src/dsa_key.cpp" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SSLeay-standalone.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SSLeay-standalone.json", + "referenceNumber": 53, + "name": "SSLeay License - standalone", + "licenseId": "SSLeay-standalone", + "seeAlso": [ + "https://www.tq-group.com/filedownloads/files/software-license-conditions/OriginalSSLeay/OriginalSSLeay.pdf" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SSPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SSPL-1.0.json", + "referenceNumber": 631, + "name": "Server Side Public License, v 1", + "licenseId": "SSPL-1.0", + "seeAlso": [ + "https://www.mongodb.com/licensing/server-side-public-license" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/StandardML-NJ.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/StandardML-NJ.json", + "referenceNumber": 280, + "name": "Standard ML of New Jersey License", + "licenseId": "StandardML-NJ", + "seeAlso": [ + "https://www.smlnj.org/license.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/SugarCRM-1.1.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SugarCRM-1.1.3.json", + "referenceNumber": 128, + "name": "SugarCRM Public License v1.1.3", + "licenseId": "SugarCRM-1.1.3", + "seeAlso": [ + "http://www.sugarcrm.com/crm/SPL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Sun-PPP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Sun-PPP.json", + "referenceNumber": 541, + "name": "Sun PPP License", + "licenseId": "Sun-PPP", + "seeAlso": [ + "https://github.com/ppp-project/ppp/blob/master/pppd/eap.c#L7-L16" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Sun-PPP-2000.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Sun-PPP-2000.json", + "referenceNumber": 514, + "name": "Sun PPP License (2000)", + "licenseId": "Sun-PPP-2000", + "seeAlso": [ + "https://github.com/ppp-project/ppp/blob/master/modules/ppp_ahdlc.c#L7-L19" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SunPro.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SunPro.json", + "referenceNumber": 237, + "name": "SunPro License", + "licenseId": "SunPro", + "seeAlso": [ + "https://github.com/freebsd/freebsd-src/blob/main/lib/msun/src/e_acosh.c", + "https://github.com/freebsd/freebsd-src/blob/main/lib/msun/src/e_lgammal.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SWL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SWL.json", + "referenceNumber": 655, + "name": "Scheme Widget Library (SWL) Software License Agreement", + "licenseId": "SWL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/SWL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/swrule.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/swrule.json", + "referenceNumber": 283, + "name": "swrule License", + "licenseId": "swrule", + "seeAlso": [ + "https://ctan.math.utah.edu/ctan/tex-archive/macros/generic/misc/swrule.sty" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Symlinks.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Symlinks.json", + "referenceNumber": 557, + "name": "Symlinks License", + "licenseId": "Symlinks", + "seeAlso": [ + "https://www.mail-archive.com/debian-bugs-rc@lists.debian.org/msg11494.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TAPR-OHL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TAPR-OHL-1.0.json", + "referenceNumber": 252, + "name": "TAPR Open Hardware License v1.0", + "licenseId": "TAPR-OHL-1.0", + "seeAlso": [ + "https://www.tapr.org/OHL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TCL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TCL.json", + "referenceNumber": 576, + "name": "TCL/TK License", + "licenseId": "TCL", + "seeAlso": [ + "http://www.tcl.tk/software/tcltk/license.html", + "https://fedoraproject.org/wiki/Licensing/TCL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TCP-wrappers.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TCP-wrappers.json", + "referenceNumber": 126, + "name": "TCP Wrappers License", + "licenseId": "TCP-wrappers", + "seeAlso": [ + "http://rc.quest.com/topics/openssh/license.php#tcpwrappers" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TermReadKey.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TermReadKey.json", + "referenceNumber": 642, + "name": "TermReadKey License", + "licenseId": "TermReadKey", + "seeAlso": [ + "https://github.com/jonathanstowe/TermReadKey/blob/master/README#L9-L10" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TGPPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TGPPL-1.0.json", + "referenceNumber": 603, + "name": "Transitive Grace Period Public Licence 1.0", + "licenseId": "TGPPL-1.0", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/TGPPL", + "https://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/COPYING.TGPPL.rst" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ThirdEye.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ThirdEye.json", + "referenceNumber": 320, + "name": "ThirdEye License", + "licenseId": "ThirdEye", + "seeAlso": [ + "https://sourceware.org/cgit/binutils-gdb/tree/include/coff/symconst.h#n11" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/threeparttable.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/threeparttable.json", + "referenceNumber": 364, + "name": "threeparttable License", + "licenseId": "threeparttable", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Threeparttable" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TMate.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TMate.json", + "referenceNumber": 164, + "name": "TMate Open Source License", + "licenseId": "TMate", + "seeAlso": [ + "http://svnkit.com/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TORQUE-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TORQUE-1.1.json", + "referenceNumber": 498, + "name": "TORQUE v2.5+ Software License v1.1", + "licenseId": "TORQUE-1.1", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/TORQUEv1.1" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TOSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TOSL.json", + "referenceNumber": 640, + "name": "Trusster Open Source License", + "licenseId": "TOSL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/TOSL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TPDL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TPDL.json", + "referenceNumber": 443, + "name": "Time::ParseDate License", + "licenseId": "TPDL", + "seeAlso": [ + "https://metacpan.org/pod/Time::ParseDate#LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TPL-1.0.json", + "referenceNumber": 251, + "name": "THOR Public License 1.0", + "licenseId": "TPL-1.0", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:ThorPublicLicense" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TrustedQSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TrustedQSL.json", + "referenceNumber": 396, + "name": "TrustedQSL License", + "licenseId": "TrustedQSL", + "seeAlso": [ + "https://sourceforge.net/p/trustedqsl/tqsl/ci/master/tree/LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TTWL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TTWL.json", + "referenceNumber": 106, + "name": "Text-Tabs+Wrap License", + "licenseId": "TTWL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/TTWL", + "https://github.com/ap/Text-Tabs/blob/master/lib.modern/Text/Tabs.pm#L148" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TTYP0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TTYP0.json", + "referenceNumber": 336, + "name": "TTYP0 License", + "licenseId": "TTYP0", + "seeAlso": [ + "https://people.mpi-inf.mpg.de/~uwe/misc/uw-ttyp0/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TU-Berlin-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TU-Berlin-1.0.json", + "referenceNumber": 296, + "name": "Technische Universitaet Berlin License 1.0", + "licenseId": "TU-Berlin-1.0", + "seeAlso": [ + "https://github.com/swh/ladspa/blob/7bf6f3799fdba70fda297c2d8fd9f526803d9680/gsm/COPYRIGHT" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TU-Berlin-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TU-Berlin-2.0.json", + "referenceNumber": 499, + "name": "Technische Universitaet Berlin License 2.0", + "licenseId": "TU-Berlin-2.0", + "seeAlso": [ + "https://github.com/CorsixTH/deps/blob/fd339a9f526d1d9c9f01ccf39e438a015da50035/licences/libgsm.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Ubuntu-font-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Ubuntu-font-1.0.json", + "referenceNumber": 72, + "name": "Ubuntu Font Licence v1.0", + "licenseId": "Ubuntu-font-1.0", + "seeAlso": [ + "https://ubuntu.com/legal/font-licence", + "https://assets.ubuntu.com/v1/81e5605d-ubuntu-font-licence-1.0.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/UCAR.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/UCAR.json", + "referenceNumber": 559, + "name": "UCAR License", + "licenseId": "UCAR", + "seeAlso": [ + "https://github.com/Unidata/UDUNITS-2/blob/master/COPYRIGHT" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/UCL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/UCL-1.0.json", + "referenceNumber": 619, + "name": "Upstream Compatibility License v1.0", + "licenseId": "UCL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/UCL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/ulem.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ulem.json", + "referenceNumber": 495, + "name": "ulem License", + "licenseId": "ulem", + "seeAlso": [ + "https://mirrors.ctan.org/macros/latex/contrib/ulem/README" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/UMich-Merit.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/UMich-Merit.json", + "referenceNumber": 225, + "name": "Michigan/Merit Networks License", + "licenseId": "UMich-Merit", + "seeAlso": [ + "https://github.com/radcli/radcli/blob/master/COPYRIGHT#L64" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Unicode-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Unicode-3.0.json", + "referenceNumber": 447, + "name": "Unicode License v3", + "licenseId": "Unicode-3.0", + "seeAlso": [ + "https://www.unicode.org/license.txt" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Unicode-DFS-2015.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Unicode-DFS-2015.json", + "referenceNumber": 125, + "name": "Unicode License Agreement - Data Files and Software (2015)", + "licenseId": "Unicode-DFS-2015", + "seeAlso": [ + "https://web.archive.org/web/20151224134844/http://unicode.org/copyright.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Unicode-DFS-2016.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Unicode-DFS-2016.json", + "referenceNumber": 665, + "name": "Unicode License Agreement - Data Files and Software (2016)", + "licenseId": "Unicode-DFS-2016", + "seeAlso": [ + "https://www.unicode.org/license.txt", + "http://web.archive.org/web/20160823201924/http://www.unicode.org/copyright.html#License", + "http://www.unicode.org/copyright.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Unicode-TOU.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Unicode-TOU.json", + "referenceNumber": 574, + "name": "Unicode Terms of Use", + "licenseId": "Unicode-TOU", + "seeAlso": [ + "http://web.archive.org/web/20140704074106/http://www.unicode.org/copyright.html", + "http://www.unicode.org/copyright.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/UnixCrypt.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/UnixCrypt.json", + "referenceNumber": 253, + "name": "UnixCrypt License", + "licenseId": "UnixCrypt", + "seeAlso": [ + "https://foss.heptapod.net/python-libs/passlib/-/blob/branch/stable/LICENSE#L70", + "https://opensource.apple.com/source/JBoss/JBoss-737/jboss-all/jetty/src/main/org/mortbay/util/UnixCrypt.java.auto.html", + "https://archive.eclipse.org/jetty/8.0.1.v20110908/xref/org/eclipse/jetty/http/security/UnixCrypt.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Unlicense.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Unlicense.json", + "referenceNumber": 150, + "name": "The Unlicense", + "licenseId": "Unlicense", + "seeAlso": [ + "https://unlicense.org/" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/UPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/UPL-1.0.json", + "referenceNumber": 342, + "name": "Universal Permissive License v1.0", + "licenseId": "UPL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/UPL" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/URT-RLE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/URT-RLE.json", + "referenceNumber": 526, + "name": "Utah Raster Toolkit Run Length Encoded License", + "licenseId": "URT-RLE", + "seeAlso": [ + "https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/converter/other/pnmtorle.c", + "https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/converter/other/rletopnm.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Vim.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Vim.json", + "referenceNumber": 28, + "name": "Vim License", + "licenseId": "Vim", + "seeAlso": [ + "http://vimdoc.sourceforge.net/htmldoc/uganda.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/VOSTROM.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/VOSTROM.json", + "referenceNumber": 439, + "name": "VOSTROM Public License for Open Source", + "licenseId": "VOSTROM", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/VOSTROM" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/VSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/VSL-1.0.json", + "referenceNumber": 238, + "name": "Vovida Software License v1.0", + "licenseId": "VSL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/VSL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/W3C.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/W3C.json", + "referenceNumber": 216, + "name": "W3C Software Notice and License (2002-12-31)", + "licenseId": "W3C", + "seeAlso": [ + "http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html", + "https://opensource.org/licenses/W3C" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/W3C-19980720.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/W3C-19980720.json", + "referenceNumber": 206, + "name": "W3C Software Notice and License (1998-07-20)", + "licenseId": "W3C-19980720", + "seeAlso": [ + "http://www.w3.org/Consortium/Legal/copyright-software-19980720.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/W3C-20150513.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/W3C-20150513.json", + "referenceNumber": 375, + "name": "W3C Software Notice and Document License (2015-05-13)", + "licenseId": "W3C-20150513", + "seeAlso": [ + "https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document", + "https://www.w3.org/copyright/software-license-2015/", + "https://www.w3.org/copyright/software-license-2023/" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/w3m.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/w3m.json", + "referenceNumber": 82, + "name": "w3m License", + "licenseId": "w3m", + "seeAlso": [ + "https://github.com/tats/w3m/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Watcom-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Watcom-1.0.json", + "referenceNumber": 322, + "name": "Sybase Open Watcom Public License 1.0", + "licenseId": "Watcom-1.0", + "seeAlso": [ + "https://opensource.org/licenses/Watcom-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/Widget-Workshop.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Widget-Workshop.json", + "referenceNumber": 647, + "name": "Widget Workshop License", + "licenseId": "Widget-Workshop", + "seeAlso": [ + "https://github.com/novnc/noVNC/blob/master/core/crypto/des.js#L24" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Wsuipa.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Wsuipa.json", + "referenceNumber": 399, + "name": "Wsuipa License", + "licenseId": "Wsuipa", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Wsuipa" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/WTFPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/WTFPL.json", + "referenceNumber": 234, + "name": "Do What The F*ck You Want To Public License", + "licenseId": "WTFPL", + "seeAlso": [ + "http://www.wtfpl.net/about/", + "http://sam.zoy.org/wtfpl/COPYING" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/wwl.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/wwl.json", + "referenceNumber": 114, + "name": "WWL License", + "licenseId": "wwl", + "seeAlso": [ + "http://www.db.net/downloads/wwl+db-1.3.tgz" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/wxWindows.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/wxWindows.json", + "referenceNumber": 147, + "name": "wxWindows Library License", + "licenseId": "wxWindows", + "seeAlso": [ + "https://opensource.org/licenses/WXwindows" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/X11.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/X11.json", + "referenceNumber": 309, + "name": "X11 License", + "licenseId": "X11", + "seeAlso": [ + "http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/X11-distribute-modifications-variant.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/X11-distribute-modifications-variant.json", + "referenceNumber": 307, + "name": "X11 License Distribution Modification Variant", + "licenseId": "X11-distribute-modifications-variant", + "seeAlso": [ + "https://github.com/mirror/ncurses/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/X11-swapped.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/X11-swapped.json", + "referenceNumber": 158, + "name": "X11 swapped final paragraphs", + "licenseId": "X11-swapped", + "seeAlso": [ + "https://github.com/fedeinthemix/chez-srfi/blob/master/srfi/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Xdebug-1.03.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Xdebug-1.03.json", + "referenceNumber": 408, + "name": "Xdebug License v 1.03", + "licenseId": "Xdebug-1.03", + "seeAlso": [ + "https://github.com/xdebug/xdebug/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Xerox.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Xerox.json", + "referenceNumber": 577, + "name": "Xerox License", + "licenseId": "Xerox", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Xerox" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Xfig.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Xfig.json", + "referenceNumber": 426, + "name": "Xfig License", + "licenseId": "Xfig", + "seeAlso": [ + "https://github.com/Distrotech/transfig/blob/master/transfig/transfig.c", + "https://fedoraproject.org/wiki/Licensing:MIT#Xfig_Variant", + "https://sourceforge.net/p/mcj/xfig/ci/master/tree/src/Makefile.am" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/XFree86-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/XFree86-1.1.json", + "referenceNumber": 47, + "name": "XFree86 License 1.1", + "licenseId": "XFree86-1.1", + "seeAlso": [ + "http://www.xfree86.org/current/LICENSE4.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/xinetd.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/xinetd.json", + "referenceNumber": 415, + "name": "xinetd License", + "licenseId": "xinetd", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Xinetd_License" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/xkeyboard-config-Zinoviev.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/xkeyboard-config-Zinoviev.json", + "referenceNumber": 451, + "name": "xkeyboard-config Zinoviev License", + "licenseId": "xkeyboard-config-Zinoviev", + "seeAlso": [ + "https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/blob/master/COPYING?ref_type\u003dheads#L178" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/xlock.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/xlock.json", + "referenceNumber": 516, + "name": "xlock License", + "licenseId": "xlock", + "seeAlso": [ + "https://fossies.org/linux/tiff/contrib/ras/ras2tif.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Xnet.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Xnet.json", + "referenceNumber": 367, + "name": "X.Net License", + "licenseId": "Xnet", + "seeAlso": [ + "https://opensource.org/licenses/Xnet" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/xpp.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/xpp.json", + "referenceNumber": 36, + "name": "XPP License", + "licenseId": "xpp", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/xpp" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/XSkat.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/XSkat.json", + "referenceNumber": 145, + "name": "XSkat License", + "licenseId": "XSkat", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/XSkat_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/xzoom.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/xzoom.json", + "referenceNumber": 644, + "name": "xzoom License", + "licenseId": "xzoom", + "seeAlso": [ + "https://metadata.ftp-master.debian.org/changelogs//main/x/xzoom/xzoom_0.3-27_copyright" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/YPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/YPL-1.0.json", + "referenceNumber": 549, + "name": "Yahoo! Public License v1.0", + "licenseId": "YPL-1.0", + "seeAlso": [ + "http://www.zimbra.com/license/yahoo_public_license_1.0.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/YPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/YPL-1.1.json", + "referenceNumber": 654, + "name": "Yahoo! Public License v1.1", + "licenseId": "YPL-1.1", + "seeAlso": [ + "http://www.zimbra.com/license/yahoo_public_license_1.1.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Zed.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Zed.json", + "referenceNumber": 513, + "name": "Zed License", + "licenseId": "Zed", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Zed" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Zeeff.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Zeeff.json", + "referenceNumber": 384, + "name": "Zeeff License", + "licenseId": "Zeeff", + "seeAlso": [ + "ftp://ftp.tin.org/pub/news/utils/newsx/newsx-1.6.tar.gz" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Zend-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Zend-2.0.json", + "referenceNumber": 334, + "name": "Zend License v2.0", + "licenseId": "Zend-2.0", + "seeAlso": [ + "https://web.archive.org/web/20130517195954/http://www.zend.com/license/2_00.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Zimbra-1.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Zimbra-1.3.json", + "referenceNumber": 450, + "name": "Zimbra Public License v1.3", + "licenseId": "Zimbra-1.3", + "seeAlso": [ + "http://web.archive.org/web/20100302225219/http://www.zimbra.com/license/zimbra-public-license-1-3.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Zimbra-1.4.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Zimbra-1.4.json", + "referenceNumber": 257, + "name": "Zimbra Public License v1.4", + "licenseId": "Zimbra-1.4", + "seeAlso": [ + "http://www.zimbra.com/legal/zimbra-public-license-1-4" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Zlib.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Zlib.json", + "referenceNumber": 567, + "name": "zlib License", + "licenseId": "Zlib", + "seeAlso": [ + "http://www.zlib.net/zlib_license.html", + "https://opensource.org/licenses/Zlib" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/zlib-acknowledgement.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/zlib-acknowledgement.json", + "referenceNumber": 12, + "name": "zlib/libpng License with Acknowledgement", + "licenseId": "zlib-acknowledgement", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/ZlibWithAcknowledgement" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ZPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ZPL-1.1.json", + "referenceNumber": 314, + "name": "Zope Public License 1.1", + "licenseId": "ZPL-1.1", + "seeAlso": [ + "http://old.zope.org/Resources/License/ZPL-1.1" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ZPL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ZPL-2.0.json", + "referenceNumber": 623, + "name": "Zope Public License 2.0", + "licenseId": "ZPL-2.0", + "seeAlso": [ + "http://old.zope.org/Resources/License/ZPL-2.0", + "https://opensource.org/licenses/ZPL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ZPL-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ZPL-2.1.json", + "referenceNumber": 110, + "name": "Zope Public License 2.1", + "licenseId": "ZPL-2.1", + "seeAlso": [ + "http://old.zope.org/Resources/ZPL/" + ], + "isOsiApproved": true, + "isFsfLibre": true + } + ], + "releaseDate": "2024-12-30T00:00:00Z" +} \ No newline at end of file diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 404f134387..6a6af18977 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -56,15 +56,15 @@ in { }; cabalProject = mkOption { type = nullOr lines; - default = readIfExists config.src config.cabalProjectFileName; + default = readIfExists config.evalSrc config.cabalProjectFileName; }; cabalProjectLocal = mkOption { type = nullOr lines; - default = readIfExists config.src "${config.cabalProjectFileName}.local"; + default = readIfExists config.evalSrc "${config.cabalProjectFileName}.local"; }; cabalProjectFreeze = mkOption { type = nullOr lines; - default = readIfExists config.src "${config.cabalProjectFileName}.freeze"; + default = readIfExists config.evalSrc "${config.cabalProjectFileName}.freeze"; }; ghc = mkOption { type = nullOr package; diff --git a/modules/project-common.nix b/modules/project-common.nix index c68c7ca02b..119e3cdb20 100644 --- a/modules/project-common.nix +++ b/modules/project-common.nix @@ -75,6 +75,18 @@ with lib.types; }; ''; }; + evalSrc = mkOption { + type = either path package; + default = config.src; + description = '' + Allows a different version of the src to be used at eval time. + This is useful when building the source may require a build machine. + To avoid an eval time dependency on a build machine set `evalSrc` + to either: + * A version of the source built using `evalPackages` + * A version of the source that does not require building + ''; + }; hsPkgs = lib.mkOption { type = lib.types.unspecified; }; diff --git a/overlays/patches/wine-add-dll-directory-10.patch b/overlays/patches/wine-add-dll-directory-10.patch new file mode 100644 index 0000000000..7db15ea981 --- /dev/null +++ b/overlays/patches/wine-add-dll-directory-10.patch @@ -0,0 +1,13 @@ +diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c +index 85eb2976807..36d92b32d1c 100644 +--- a/dlls/ntdll/loader.c ++++ b/dlls/ntdll/loader.c +@@ -4620,7 +4620,7 @@ NTSTATUS WINAPI LdrAddDllDirectory( const UNICODE_STRING *dir, void **cookie ) + struct dll_dir_entry *ptr; + DOS_PATHNAME_TYPE type = RtlDetermineDosPathNameType_U( dir->Buffer ); + +- if (type != ABSOLUTE_PATH && type != ABSOLUTE_DRIVE_PATH && type != UNC_PATH) ++ if (type != ABSOLUTE_PATH && type != ABSOLUTE_DRIVE_PATH && type != UNC_PATH && type != DEVICE_PATH) + return STATUS_INVALID_PARAMETER; + + status = RtlDosPathNameToNtPathName_U_WithStatus( dir->Buffer, &nt_name, NULL, NULL ); diff --git a/overlays/rcodesign.nix b/overlays/rcodesign.nix index de09a93f48..a99b1387e8 100644 --- a/overlays/rcodesign.nix +++ b/overlays/rcodesign.nix @@ -2,31 +2,33 @@ # versions of macOS (one of the tests fails validating signatures # in `/usr/bin`). final: prev: { - rcodesign = prev.rcodesign.override (old: final.lib.optionalAttrs (prev.rcodesign.version == "0.22.0") { - rustPlatform = old.rustPlatform // { - buildRustPackage = args: old.rustPlatform.buildRustPackage (args // { - version = "0.27.0"; + rcodesign = if builtins.compareVersions prev.rcodesign.version "0.27" >= 0 + then prev.rcodesign + else prev.rcodesign.override (old: final.lib.optionalAttrs (prev.rcodesign.version == "0.22.0") { + rustPlatform = old.rustPlatform // { + buildRustPackage = args: old.rustPlatform.buildRustPackage (args // { + version = "0.27.0"; - src = final.fetchFromGitHub { - owner = "hamishmack"; - repo = "apple-platform-rs"; - rev = "hkm/cargo-update"; - hash = "sha256-gma2e73m2MDC8BAcIuclG/RPLhAHRLkehCa56f5835g="; - }; + src = final.fetchFromGitHub { + owner = "hamishmack"; + repo = "apple-platform-rs"; + rev = "hkm/cargo-update"; + hash = "sha256-gma2e73m2MDC8BAcIuclG/RPLhAHRLkehCa56f5835g="; + }; - cargoHash = "sha256-4ra1oBQK/kXZTKvvq17kX2+49iKyXXT484Z6ON4bFbU="; + cargoHash = "sha256-4ra1oBQK/kXZTKvvq17kX2+49iKyXXT484Z6ON4bFbU="; - buildInputs = final.lib.optionals final.stdenv.hostPlatform.isDarwin [ - final.darwin.apple_sdk_11_0.frameworks.Security - final.darwin.apple_sdk_11_0.frameworks.SystemConfiguration - ]; + buildInputs = final.lib.optionals final.stdenv.hostPlatform.isDarwin [ + final.darwin.apple_sdk_11_0.frameworks.Security + final.darwin.apple_sdk_11_0.frameworks.SystemConfiguration + ]; - checkFlags = [ - # Does network IO - "--skip=ticket_lookup::test::lookup_ticket" - "--skip=cli_tests" - ]; - }); - }; - }); + checkFlags = [ + # Does network IO + "--skip=ticket_lookup::test::lookup_ticket" + "--skip=cli_tests" + ]; + }); + }; + }); } diff --git a/overlays/wine.nix b/overlays/wine.nix index a4c5cb8462..32ae5c1249 100644 --- a/overlays/wine.nix +++ b/overlays/wine.nix @@ -1,11 +1,12 @@ -# fix wine at 5.4; later versions build with ucrt and this can break TH code (for instance accessing -# files from TH code) for GHC built with msvcrt (ghc<9.6). -# This will inevitably replace *any* wine version. Thus this might not really be what we ultimately want. -# Wine 5.4 does not build on macOS so that is not pinned and TH code will probably break. _final: prev: { winePackages = prev.winePackages // { minimal = prev.winePackages.minimal.overrideAttrs (oldAttrs: { - patches = oldAttrs.patches or [] ++ [ ./patches/wine-add-dll-directory.patch ]; + # Fix issue with UNC device file paths + patches = oldAttrs.patches or [] + ++ [(if builtins.compareVersions prev.winePackages.minimal.version "10.0" < 0 + then ./patches/wine-add-dll-directory.patch + else ./patches/wine-add-dll-directory-10.patch)]; + # Avoid dependency on X11 configureFlags = oldAttrs.configureFlags or [] ++ [ "--without-x" ]; }); }; diff --git a/scripts/check-hydra.nix b/scripts/check-hydra.nix index 46f2e29dec..076b35508d 100644 --- a/scripts/check-hydra.nix +++ b/scripts/check-hydra.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, writeScript, coreutils, time, gnutar, gzip, hydra_unstable, jq, gitMinimal }: +{ stdenv, lib, writeScript, coreutils, time, gnutar, gzip, nix-eval-jobs, jq, gitMinimal }: with lib; @@ -7,14 +7,14 @@ writeScript "check-hydra.sh" '' set -euo pipefail - export PATH="${makeBinPath [ coreutils time gnutar gzip hydra_unstable jq gitMinimal ]}" + export PATH="${makeBinPath [ coreutils time gnutar gzip nix-eval-jobs jq gitMinimal ]}" export NIX_PATH= echo '~~~ Evaluating release.nix with' "$@" HYDRA_CONFIG= command time --format '%e' -o eval-time.txt \ - hydra-eval-jobs \ + nix-eval-jobs \ --option allowed-uris "https://github.com/NixOS/ https://github.com/input-output-hk/ github:NixOS/nixpkgs/ github:input-output-hk/hackage.nix/ github:input-output-hk/stackage.nix/ github:input-output-hk/flake-compat/ github:stable-haskell/iserv-proxy/ github:haskell/haskell-language-server/" \ - --flake $(pwd) > eval.json + --flake $(pwd)#hydraJobs --force-recurse > eval.json EVAL_EXIT_CODE="$?" if [ "$EVAL_EXIT_CODE" != 0 ] then @@ -24,8 +24,8 @@ writeScript "check-hydra.sh" '' fi EVAL_TIME=$(cat eval-time.txt) jq . < eval.json - ERRORS=$(jq -r 'map_values(.error)|to_entries[]|select(.value)|@text "\(.key): \(.value)"' < eval.json) - NUM_ERRORS=$(jq -r '[ map_values(.error)|to_entries[]|select(.value) ] |length' < eval.json) + ERRORS=$(jq 'select(.error)|@text "\(.attrPath|join(".")): \(.error)"' < eval.json) + NUM_ERRORS=$([ -z "$ERRORS" ] && echo 0 || echo "$ERRORS" | wc -l) rm eval.json eval-time.txt if [ "$NUM_ERRORS" != 0 ] diff --git a/test/cabal.project.local b/test/cabal.project.local index fa75ea73b4..699d5493e7 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -23,7 +23,7 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-xilNP+uPmCGM1NXZJYgCEYXmGdjnE8todMdQKJ2BkJw= + --sha256: sha256-ch17nc6wY2lr94j1+MULW7GuwtgQ8vz56yuPSADMmB8= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b From c2f750166ef4de2e99625ca4fd111343e85e5694 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 17 May 2025 00:52:06 +0000 Subject: [PATCH 036/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 1239e4d144..c226c7d2bb 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1747355173, - "narHash": "sha256-KWo36vq8RtoKbbYNaIvxWSGbJUdGxScNpU8cvYRrUTk=", + "lastModified": 1747441553, + "narHash": "sha256-uw/4QeAf6CgCChpHHKv+DY7O6jHRp2T95z3YWsSmvL4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f8688a68ac28fbf0e617fb22927273b6e606294d", + "rev": "a066017039c5cf20bdc2b85d5d60d763fa67cd51", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1747355163, - "narHash": "sha256-zx6/IKos1Yn2LLxXx2FMws8DXUn5k+Rhi1BFpC9oPiQ=", + "lastModified": 1747441543, + "narHash": "sha256-BjVBLBHYKoYTKaD8SDkOxYgmEKln18SaxlA+WBVpgUs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e6cdb85ddfde5d93f4bc8135a5ecd2f31a0a728f", + "rev": "7ac45b699d0ffb9cf6cc3909c059a677321e5766", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1747354383, - "narHash": "sha256-+aC1YPcJduXFcIpFQfXmmoohvSjyDtFa4CKavGQndqc=", + "lastModified": 1747440766, + "narHash": "sha256-9953Pg0pc9aRaPRLf8hOYl3Cww7OondAPUFsVeTGNSs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d756191b71afaac81a9c9200c36031953ccfe0ab", + "rev": "004fb6fafd6e581e08223a1cdd82add2f13ccf23", "type": "github" }, "original": { From 567ccb03d37613f700f8b0b8ac5b9d70791d232a Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 18 May 2025 00:51:48 +0000 Subject: [PATCH 037/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index c226c7d2bb..d95bf26d2c 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1747441553, - "narHash": "sha256-uw/4QeAf6CgCChpHHKv+DY7O6jHRp2T95z3YWsSmvL4=", + "lastModified": 1747528060, + "narHash": "sha256-v0Iy/YNpSU3MhkOdgqHRog9LnLYQTzIsUtsXEZ6WDa8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a066017039c5cf20bdc2b85d5d60d763fa67cd51", + "rev": "a081155372dd5e80ebebae4cbd9a5f337d0b858b", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1747441543, - "narHash": "sha256-BjVBLBHYKoYTKaD8SDkOxYgmEKln18SaxlA+WBVpgUs=", + "lastModified": 1747528050, + "narHash": "sha256-IhjmIYCvzkF9bfcxbCW9Cm0F/LyXJhpOFuqkxM+87SY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7ac45b699d0ffb9cf6cc3909c059a677321e5766", + "rev": "702cc68047c37b76e672b7a45c54b7a126c17eed", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1747440766, - "narHash": "sha256-9953Pg0pc9aRaPRLf8hOYl3Cww7OondAPUFsVeTGNSs=", + "lastModified": 1747527257, + "narHash": "sha256-cgtQekYhiKKKw5VktWbbAl/mdTBcJ2/ZoeXbOKERzgE=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "004fb6fafd6e581e08223a1cdd82add2f13ccf23", + "rev": "12361bff686103579e9f203315da684251e20ba9", "type": "github" }, "original": { From 6e14de042d2a63ccfc4bb45ff4c171ee2593c9ea Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 19 May 2025 00:52:30 +0000 Subject: [PATCH 038/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d95bf26d2c..eb9179ebc0 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1747528060, - "narHash": "sha256-v0Iy/YNpSU3MhkOdgqHRog9LnLYQTzIsUtsXEZ6WDa8=", + "lastModified": 1747614461, + "narHash": "sha256-+drer9yLVngRdK4sn15MRaWKF/xsc5z0FGA0rtz7eR0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a081155372dd5e80ebebae4cbd9a5f337d0b858b", + "rev": "9d06a43210da4d699de567a0e1a2d2933887d023", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1747528050, - "narHash": "sha256-IhjmIYCvzkF9bfcxbCW9Cm0F/LyXJhpOFuqkxM+87SY=", + "lastModified": 1747614450, + "narHash": "sha256-v6BR/vgC7ps3Owt/dLIjxd6KDFb8wqPJQETjLGKfbDE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "702cc68047c37b76e672b7a45c54b7a126c17eed", + "rev": "fbe2dd8d394fea9ba0a3e095f0ac56d8037d0d3f", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1747527257, - "narHash": "sha256-cgtQekYhiKKKw5VktWbbAl/mdTBcJ2/ZoeXbOKERzgE=", + "lastModified": 1747613623, + "narHash": "sha256-DfAqKYWYissAfgvdwmbP/+bRQLGEpgQrzJeB1lC9sOA=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "12361bff686103579e9f203315da684251e20ba9", + "rev": "01559292d5425e6d32fa067a4557b69199f412cf", "type": "github" }, "original": { From 38b794fa406409277abdc018ca7054a91a24823d Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 20 May 2025 00:52:16 +0000 Subject: [PATCH 039/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index eb9179ebc0..30237d534e 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1747614461, - "narHash": "sha256-+drer9yLVngRdK4sn15MRaWKF/xsc5z0FGA0rtz7eR0=", + "lastModified": 1747700821, + "narHash": "sha256-cu8KRxJNtYDpI8QO4xUQkprqFy2CeccIxCtStLq4mxg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9d06a43210da4d699de567a0e1a2d2933887d023", + "rev": "ac9c11f3260661603cfb571d5e93f94b0f2b43d5", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1747614450, - "narHash": "sha256-v6BR/vgC7ps3Owt/dLIjxd6KDFb8wqPJQETjLGKfbDE=", + "lastModified": 1747700811, + "narHash": "sha256-j1WtCvdTG2RWP8wZwxMqKGfMXYBZZFfrA3RLKFGTvXM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fbe2dd8d394fea9ba0a3e095f0ac56d8037d0d3f", + "rev": "172344c53fc057d5c48d6b9b9e4e2d36602ecf6c", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1747613623, - "narHash": "sha256-DfAqKYWYissAfgvdwmbP/+bRQLGEpgQrzJeB1lC9sOA=", + "lastModified": 1747700006, + "narHash": "sha256-Zo9ebUWdyvgFzbzXsZ5QNQDf0/20lBMyTYK5gETbusw=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "01559292d5425e6d32fa067a4557b69199f412cf", + "rev": "f6e127df6ba8aec6a722a872a550f53c74a85189", "type": "github" }, "original": { From 76ab13f9099c554d561fdee9ddad8570b9165580 Mon Sep 17 00:00:00 2001 From: Stefano Debenedetti <44903077+demaledetti@users.noreply.github.com> Date: Tue, 20 May 2025 23:30:19 +0200 Subject: [PATCH 040/308] Log to stderr instead of stdout from hix run. Fix indentation. (#2364) --- hix/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hix/default.nix b/hix/default.nix index c23123f914..289a57654e 100644 --- a/hix/default.nix +++ b/hix/default.nix @@ -86,11 +86,11 @@ let HIX_FLAKE="$(mktemp -d)/flake.nix" sed 's|EVAL_SYSTEM|${pkgs.stdenv.hostPlatform.system}|' < ${hixProject}/flake.nix > $HIX_FLAKE if ! cmp $HIX_FLAKE $FLAKE/flake.nix &>/dev/null; then - if [ -e $FLAKE/flake.lock ]; then - echo "Updating $FLAKE/flake.nix and deleting old $FLAKE/flake.lock" + if [ -e $FLAKE/flake.lock ]; then + >&2 echo "Updating $FLAKE/flake.nix and deleting old $FLAKE/flake.lock" rm $FLAKE/flake.lock else - echo "Updating $FLAKE/flake.nix" + >&2 echo "Updating $FLAKE/flake.nix" fi cp $HIX_FLAKE $FLAKE/flake.nix chmod +w $FLAKE/flake.nix From e7397ddbfd7816426f95a919c084a4df5a31c8f6 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 21 May 2025 00:51:46 +0000 Subject: [PATCH 041/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 30237d534e..f1920f15b8 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1747700821, - "narHash": "sha256-cu8KRxJNtYDpI8QO4xUQkprqFy2CeccIxCtStLq4mxg=", + "lastModified": 1747787204, + "narHash": "sha256-0LJq+HTh3WghLuHV6OgYras/dS1fwhh1WCDOOdptMc4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ac9c11f3260661603cfb571d5e93f94b0f2b43d5", + "rev": "ca73fc1e5677bfe1a74107746b063f31c58f8487", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1747700811, - "narHash": "sha256-j1WtCvdTG2RWP8wZwxMqKGfMXYBZZFfrA3RLKFGTvXM=", + "lastModified": 1747787194, + "narHash": "sha256-3EXTNIr1N7DYzyXtaeu8BkZoY7EJuke2lgAS3e3UN7w=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "172344c53fc057d5c48d6b9b9e4e2d36602ecf6c", + "rev": "fcd7ca6c78f695649ad79f13c978dad8e69fc626", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1747700006, - "narHash": "sha256-Zo9ebUWdyvgFzbzXsZ5QNQDf0/20lBMyTYK5gETbusw=", + "lastModified": 1747786394, + "narHash": "sha256-/UxubUU/gGh5fZWRDWKkwdp9H/OV12ERj6SfDYoqm5E=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "f6e127df6ba8aec6a722a872a550f53c74a85189", + "rev": "6667d78c49a9fa28330a5cb69a3f90bbbc643a40", "type": "github" }, "original": { From 8215b63cec344dec34a57358858b2a7752f22f10 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 21 May 2025 22:23:01 +1200 Subject: [PATCH 042/308] Only include --dependency for sublibs with package name prefix (#2363) --- builder/comp-builder.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index bcb4b861bb..60bce48716 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -594,7 +594,6 @@ let ('' if id=$(${target-pkg-and-db} field "z-${package.identifier.name}-z-*" id --simple-output); then name=$(${target-pkg-and-db} field "z-${package.identifier.name}-z-*" name --simple-output) - echo "--dependency=''${name#z-${package.identifier.name}-z-}=$id" >> $out/exactDep/configure-flags echo "package-id $id" >> $out/envDep '' # Allow `package-name:sublib-name` to work in `build-depends` From e9c89421c298296233db6ad8d0df3a245f2ff579 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 22 May 2025 00:11:03 +1200 Subject: [PATCH 043/308] Fix #2365 missing pg_config (#2366) * Fix #2365 missing pg_config The `pg_config` executable was moved into its own derivation in `nixpkgs`. This fix includes that derivation if present when the `pg` library is requested. * Add comment --- lib/system-nixpkgs-map.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/system-nixpkgs-map.nix b/lib/system-nixpkgs-map.nix index 53f31132f6..f979bfd0c1 100644 --- a/lib/system-nixpkgs-map.nix +++ b/lib/system-nixpkgs-map.nix @@ -17,6 +17,10 @@ let lndir ${pkgs.buildPackages.gcc.cc} $out '') ] else []; + # In newer versions of nixpkgs `pg_config` has been moved to its own derivation. + # Haskell libs that depend on the `pq` library (like `postgresql-libpq`) + # are likely to require `pg_config` to be in the `PATH` as well. + postgresqlLibs = [ postgresql ] ++ lib.optional (postgresql ? pg_config) postgresql.pg_config; in # -- linux { crypto = [ openssl ]; @@ -57,10 +61,10 @@ in bz2 = [ bzip2 ]; util = [ utillinux ]; magic = [ file ]; - pgcommon = [ postgresql ]; - pgport = [ postgresql] ; - pq = [ postgresql ]; - libpq = [ postgresql ]; + pgcommon = postgresqlLibs; + pgport = postgresqlLibs; + pq = postgresqlLibs; + libpq = postgresqlLibs; iconv = [ libiconv ]; lapack = [ liblapack ]; boost_atomic = [ boost ]; From 8ffd824093f86920bff9bb0205499c98659911b8 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 22 May 2025 00:52:12 +0000 Subject: [PATCH 044/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f1920f15b8..84d6fd377e 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1747787204, - "narHash": "sha256-0LJq+HTh3WghLuHV6OgYras/dS1fwhh1WCDOOdptMc4=", + "lastModified": 1747873560, + "narHash": "sha256-HnJQjEkHDKhw+Ge7TvBqkwtgacyI8p91bBhyRhR0yNs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ca73fc1e5677bfe1a74107746b063f31c58f8487", + "rev": "b26ebb71ef8a8fe20eb6a55effd027c6d03d8cef", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1747787194, - "narHash": "sha256-3EXTNIr1N7DYzyXtaeu8BkZoY7EJuke2lgAS3e3UN7w=", + "lastModified": 1747873550, + "narHash": "sha256-EAE9sY+0yA0vaPN72ad5b1mXJYXWlzC8mmmEI50Sa/8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fcd7ca6c78f695649ad79f13c978dad8e69fc626", + "rev": "df73bd0a21338c4a7dfcf41332b7845dec62792b", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1747786394, - "narHash": "sha256-/UxubUU/gGh5fZWRDWKkwdp9H/OV12ERj6SfDYoqm5E=", + "lastModified": 1747872770, + "narHash": "sha256-pDcNyro2blCV7TOgcMslfJ2DY3NTLIBK61nTMJ28+Bw=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "6667d78c49a9fa28330a5cb69a3f90bbbc643a40", + "rev": "cf2b3be1c34c6086d5208667e7f9394dc4921c92", "type": "github" }, "original": { From 2db7bed76d3457566e04646d9afd637b5a4548eb Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 22 May 2025 14:41:48 +1200 Subject: [PATCH 045/308] Use latest `lts` version for `haskel-nix.haskellPackages` (#2368) Fixes #2355 --- overlays/haskell.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 112ce22690..a7fb6e3014 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -170,11 +170,12 @@ final: prev: { inherit mkPkgSet stackage excludeBootPackages; hackage = hackageForStack; }; - # Pick a recent LTS snapshot to be our "default" package set. + # Pick the most recent LTS snapshot to be our "default" package set. haskellPackages = - if final.stdenv.targetPlatform.isAarch64 && final.stdenv.buildPlatform.isAarch64 - then snapshots."lts-15.13" - else snapshots."lts-14.13"; + let + versions = final.lib.mapAttrsToList + (name: _: final.lib.removePrefix "lts-" name) snapshots; + in snapshots."lts-${final.lib.head (final.lib.sort final.lib.versionAtLeast versions)}"; # Creates Cabal local repository from { name, index } set. mkLocalHackageRepo = import ../mk-local-hackage-repo final; From 0cf517d69f6b6f002306583c03980dc1453c4e54 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 22 May 2025 15:34:49 +1200 Subject: [PATCH 046/308] Fix selection of dependencies for dev shells (#2367) This patch fixes the way "non-haskell" dependencies are selected for dev shells (this includes `pre-existing` haskell packages). Currently we only include "non-haskell" dependencies of the haskell packages that are needed by the shell (and not the the ones for the haskell packages that we plan to build in the shell). This means if none of the haskell packages needed depend a particular "non-haskell" dependency it can be left out even if it will be needed to build the haskell packages we plan to build in the shell. Fixes #2359 and probably #2256 --- builder/shell-for.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/builder/shell-for.nix b/builder/shell-for.nix index 40481233e8..7fa92118b2 100644 --- a/builder/shell-for.nix +++ b/builder/shell-for.nix @@ -93,6 +93,11 @@ let (removeSelectedInputs (haskellLib.uniqueWithName (lib.concatMap (cfg: cfg.depends) selectedConfigs)) ++ additionalPackages); + # For non haskell dependencies (and `pre-existing` haskell packages) + # we want to search all the configs. + allConfigs = selectedConfigs ++ + builtins.map (x: (haskellLib.dependToLib x).config) additionalPackages; + # Add the system libraries and build tools of the selected haskell packages to the shell. # We need to remove any inputs which are selected components (see above). # `buildInputs`, `propagatedBuildInputs`, and `executableToolDepends` contain component @@ -115,10 +120,10 @@ let # Set up a "dummy" component to use with ghcForComponent. component = { depends = packageInputs; - pre-existing = lib.concatMap (x: (haskellLib.dependToLib x).config.pre-existing or []) packageInputs; - libs = lib.concatMap (x: (haskellLib.dependToLib x).config.libs or []) packageInputs; - pkgconfig = lib.concatMap (x: (haskellLib.dependToLib x).config.pkgconfig or []) packageInputs; - frameworks = lib.concatMap (x: (haskellLib.dependToLib x).config.frameworks or []) packageInputs; + pre-existing = lib.unique (lib.concatMap (x: (haskellLib.dependToLib x).pre-existing or []) allConfigs); + libs = haskellLib.uniqueWithName (lib.concatMap (x: (haskellLib.dependToLib x).libs or []) allConfigs); + pkgconfig = haskellLib.uniqueWithName (lib.concatMap (x: (haskellLib.dependToLib x).pkgconfig or []) allConfigs); + frameworks = haskellLib.uniqueWithName (lib.concatMap (x: (haskellLib.dependToLib x).frameworks or []) allConfigs); doExactConfig = false; }; configFiles = makeConfigFiles { From 326877b381a962a73f795e19992806788b98eb9c Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 22 May 2025 16:06:09 +1200 Subject: [PATCH 047/308] Fix gh-pages update (#2369) --- scripts/update-docs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/update-docs.nix b/scripts/update-docs.nix index 0adcf47258..133171582b 100644 --- a/scripts/update-docs.nix +++ b/scripts/update-docs.nix @@ -40,7 +40,7 @@ in use_ssh_key ${sshKey} - if [ "''${BUILDKITE_BRANCH:-}" = master ]; then + if [ "''${GITHUB_REF:-}" = refs/heads/master ]; then git push ${repo} HEAD:gh-pages fi '') From 025634596aeafff99703ac1b289266edce50a08f Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 22 May 2025 16:34:50 +1200 Subject: [PATCH 048/308] Move doc upload into its own GitHub workflow (#2371) --- .github/workflows/update-docs.yml | 36 +++++++++++++++++++++++++++++++ scripts/update-docs.nix | 10 --------- 2 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/update-docs.yml diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml new file mode 100644 index 0000000000..c3a7cc52fd --- /dev/null +++ b/.github/workflows/update-docs.yml @@ -0,0 +1,36 @@ +name: Updload Docs + +on: + push: + branches: + - master + +env: + GH_TOKEN: ${{ github.token }} + +jobs: + wait-for-hydra: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Nix with good defaults + uses: input-output-hk/install-nix-action@v20 + with: + extra_nix_config: | + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk= + substituters = https://cache.nixos.org/ https://cache.iog.io/ https://cache.zw3rk.com + nix_path: nixpkgs=channel:nixos-unstable + + - name: Update docs + run: | + nix-build build.nix -A maintainer-scripts.update-docs -o update-docs.sh + ./update-docs.sh + + - name: Upload docs + run: | + git config --global user.name 'Auto Update Bot' + git config --global user.email 'no-reply@iohk.io' + git push origin gh-pages diff --git a/scripts/update-docs.nix b/scripts/update-docs.nix index 133171582b..273006fcd8 100644 --- a/scripts/update-docs.nix +++ b/scripts/update-docs.nix @@ -3,10 +3,6 @@ with lib; -let - repo = "git@github.com:input-output-hk/haskell.nix.git"; - sshKey = "/run/keys/buildkite-haskell-dot-nix-ssh-private"; -in # update-docs depends on glibc which doesn't build on darwin meta.addMetaAttrs { platforms = platforms.linux; } (writeScript "update-docs.sh" '' #!${stdenv.shell} @@ -37,10 +33,4 @@ in check_staged echo "Committing changes..." git commit --no-gpg-sign --message "Update gh-pages for $rev" - - use_ssh_key ${sshKey} - - if [ "''${GITHUB_REF:-}" = refs/heads/master ]; then - git push ${repo} HEAD:gh-pages - fi '') From 9fb4790b44931f4e9548536b4eea83ee632ffd99 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 22 May 2025 16:39:14 +1200 Subject: [PATCH 049/308] Fix job name (#2372) --- .github/workflows/update-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml index c3a7cc52fd..bc07ff9287 100644 --- a/.github/workflows/update-docs.yml +++ b/.github/workflows/update-docs.yml @@ -9,7 +9,7 @@ env: GH_TOKEN: ${{ github.token }} jobs: - wait-for-hydra: + upload-docs: runs-on: ubuntu-latest steps: From b92160827b4d5e05577c40f9e22b166ae1db109f Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 22 May 2025 16:46:32 +1200 Subject: [PATCH 050/308] Fix date in changelog (#2373) --- changelog.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/changelog.md b/changelog.md index a480b58ec7..a14e3b974c 100644 --- a/changelog.md +++ b/changelog.md @@ -1,11 +1,11 @@ This file contains a summary of changes to Haskell.nix and `nix-tools` that will impact users. -## Jan 29, 2024 +## Jan 29, 2025 Removed GHC <9.6 from CI. -The latest `nixpkgs-unstable` cause problems with +The latest `nixpkgs-unstable` caused problems with * GHC 8.10.7 * GHC 9.6.6 mingwW64 (ucrt64 works still as does mingwW64 with newer GHC versions) From 463e08c4cc5af3b892244f978eda9e3986145272 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 22 May 2025 20:18:18 +1200 Subject: [PATCH 051/308] Fix postgresql-libpq-configure (#2370) It needs posgresql and pg_config, but does not explicitly list the dependency in the `.cabal` file. With this change both `use-pkg-config` on and off work. Tested with: ``` nix build --impure --expr '((import ./. {}).pkgs-unstable.haskell-nix.hackage-package {compiler-nix-name="ghc9122"; name = "postgresql-libpq"; cabalProjectLocal = "package postgresql-libpq\n flags: -use-pkg-config"; }).components.library' nix build --impure --expr '((import ./. {}).pkgs-unstable.haskell-nix.hackage-package {compiler-nix-name="ghc9122"; name = "postgresql-libpq"; cabalProjectLocal = "package postgresql-libpq\n flags: +use-pkg-config"; }).components.library' ``` Fixes #2281 --- modules/configuration-nix.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/configuration-nix.nix b/modules/configuration-nix.nix index 81f416eda7..27193807a4 100644 --- a/modules/configuration-nix.nix +++ b/modules/configuration-nix.nix @@ -203,4 +203,7 @@ in addPackageKeys { pkgs.apple-sdk_11 (pkgs.darwinMinVersionHook "11.0") ]; + + packages.postgresql-libpq-configure.components.library.libs = [ (lib.getDev pkgs.postgresql) ] + ++ lib.optional (pkgs.postgresql ? pg_config) [ pkgs.postgresql.pg_config ]; } From dc67cf0a150034b3e17d5a4d8a805a9478ae03ea Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 23 May 2025 00:52:08 +0000 Subject: [PATCH 052/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 84d6fd377e..c72b6c8c50 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1747873560, - "narHash": "sha256-HnJQjEkHDKhw+Ge7TvBqkwtgacyI8p91bBhyRhR0yNs=", + "lastModified": 1747959982, + "narHash": "sha256-V7QTsontcZ6IG38EI4SULVkZCj9mKfvXqqFX1ggSVEA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b26ebb71ef8a8fe20eb6a55effd027c6d03d8cef", + "rev": "9b5df69af2c95ea69c18bf9a8ffebeedd129d595", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1747873550, - "narHash": "sha256-EAE9sY+0yA0vaPN72ad5b1mXJYXWlzC8mmmEI50Sa/8=", + "lastModified": 1747959972, + "narHash": "sha256-vHLncv8e9jK4+c+v+b/zRO2u4x0NeXpLJ8+L+DVK3WI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "df73bd0a21338c4a7dfcf41332b7845dec62792b", + "rev": "c893eb9443ff0b5d3a3ea5174bae76ae1b87a2ad", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1747872770, - "narHash": "sha256-pDcNyro2blCV7TOgcMslfJ2DY3NTLIBK61nTMJ28+Bw=", + "lastModified": 1747959189, + "narHash": "sha256-rGPZoQnblVQkzYcwcPJs4hPyTvaCVP+BFVuoQPU+PoU=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "cf2b3be1c34c6086d5208667e7f9394dc4921c92", + "rev": "243a50133c397855fb98bcc0364be21c16028043", "type": "github" }, "original": { From 794d2e76c7150eeebcec8f818b745c8e3ee0e4dc Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 24 May 2025 00:52:00 +0000 Subject: [PATCH 053/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index c72b6c8c50..d596962c96 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1747959982, - "narHash": "sha256-V7QTsontcZ6IG38EI4SULVkZCj9mKfvXqqFX1ggSVEA=", + "lastModified": 1748046338, + "narHash": "sha256-GMisw/8bXoA+Nl7ZlM8RBDKu6EmMjIRpGU73EvE/+10=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9b5df69af2c95ea69c18bf9a8ffebeedd129d595", + "rev": "c1c0191161c25d7884ba07495ce740ffaa3e830b", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1747959972, - "narHash": "sha256-vHLncv8e9jK4+c+v+b/zRO2u4x0NeXpLJ8+L+DVK3WI=", + "lastModified": 1748046328, + "narHash": "sha256-hY57VOgEVsBp+qhf5gsSnWxDjWEPD11h9nYWYJl3cRA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c893eb9443ff0b5d3a3ea5174bae76ae1b87a2ad", + "rev": "66f24798c1064eaef265cad9905a953e69eeb476", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1747959189, - "narHash": "sha256-rGPZoQnblVQkzYcwcPJs4hPyTvaCVP+BFVuoQPU+PoU=", + "lastModified": 1748045564, + "narHash": "sha256-VoIp7sXzc5Z6pvh19rHRiMX+TF6Rq7F+0pco0LJrnws=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "243a50133c397855fb98bcc0364be21c16028043", + "rev": "312525da92f48777f938d3375261e3aa3854f39c", "type": "github" }, "original": { From da5e52c6d4ba36696776104b8e2b80f6bcf6f437 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 24 May 2025 16:16:41 +1200 Subject: [PATCH 054/308] Include all pre-existing ghc pkgs in shell, unless exactDeps (#2375) Fixes #2168 --- builder/default.nix | 2 +- builder/shell-for.nix | 7 ++-- lib/call-cabal-project-to-nix.nix | 53 +----------------------------- overlays/haskell.nix | 54 +++++++++++++++++++++++++++++++ 4 files changed, 61 insertions(+), 55 deletions(-) diff --git a/builder/default.nix b/builder/default.nix index 98c1b977c5..27ae6f2f3e 100644 --- a/builder/default.nix +++ b/builder/default.nix @@ -79,7 +79,7 @@ let # Same as haskellPackages.shellFor in nixpkgs. shellFor = haskellLib.weakCallPackage pkgs ./shell-for.nix { - inherit hsPkgs ghcForComponent makeConfigFiles hoogleLocal haskellLib pkgsBuildBuild evalPackages compiler; + inherit hsPkgs ghcForComponent makeConfigFiles hoogleLocal haskellLib pkgsBuildBuild evalPackages compiler ghc; inherit (buildPackages) glibcLocales; }; diff --git a/builder/shell-for.nix b/builder/shell-for.nix index 7fa92118b2..2bb4ede064 100644 --- a/builder/shell-for.nix +++ b/builder/shell-for.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, mkShell, glibcLocales, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, pkgsBuildBuild, evalPackages, compiler }: +{ lib, stdenv, mkShell, glibcLocales, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, pkgsBuildBuild, evalPackages, compiler, haskell-nix, ghc }: { # `packages` function selects packages that will be worked on in the shell itself. # These packages will not be built by `shellFor`, but their @@ -120,7 +120,10 @@ let # Set up a "dummy" component to use with ghcForComponent. component = { depends = packageInputs; - pre-existing = lib.unique (lib.concatMap (x: (haskellLib.dependToLib x).pre-existing or []) allConfigs); + pre-existing = + if exactDeps + then lib.unique (lib.concatMap (x: (haskellLib.dependToLib x).pre-existing or []) allConfigs) + else haskell-nix.ghc-pre-existing ghc; libs = haskellLib.uniqueWithName (lib.concatMap (x: (haskellLib.dependToLib x).libs or []) allConfigs); pkgconfig = haskellLib.uniqueWithName (lib.concatMap (x: (haskellLib.dependToLib x).pkgconfig or []) allConfigs); frameworks = haskellLib.uniqueWithName (lib.concatMap (x: (haskellLib.dependToLib x).frameworks or []) allConfigs); diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index 96da9715d2..4e7b3a73d6 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -366,57 +366,6 @@ let ''; }; - ghc-pkgs = [ - "Cabal" - "array" - "base" - "binary" - "bytestring" - "containers" - "deepseq" - "directory" - "filepath" - "ghc-boot" - "ghc-boot-th" - "ghc-compact" - "ghc-heap" - "ghc-prim" - "ghci" - "integer-gmp" - "mtl" - "parsec" - "pretty" - "process" - "rts" - "template-haskell" - "text" - "time" - "transformers" - ] ++ pkgs.lib.optionals (!pkgs.stdenv.targetPlatform.isGhcjs || builtins.compareVersions ghc.version "9.0" > 0) [ - # GHCJS 8.10 does not have these - "Cabal-syntax" - "exceptions" - "file-io" - "ghc" - "ghc-bignum" - "ghc-experimental" - "ghc-internal" - "ghc-platform" - "ghc-toolchain" - "haskeline" - "hpc" - "libiserv" - "os-string" - "semaphore-compat" - "stm" - "xhtml" - ] ++ pkgs.lib.optionals (!pkgs.stdenv.targetPlatform.isGhcjs) [ - "terminfo" - ] ++ (if pkgs.stdenv.targetPlatform.isWindows - then [ "Win32" ] - else [ "unix" ] - ); - dummy-ghc-pkg-dump = evalPackages.runCommand "dummy-ghc-pkg-dump" { nativeBuildInputs = [ evalPackages.haskell-nix.nix-tools-unchecked.exes.cabal2json @@ -557,7 +506,7 @@ let PKGS+=" ${name}" LAST_PKG="${name}" fi - '') ghc-pkgs) + '') (pkgs.haskell-nix.ghc-pre-existing ghc)) } ${ # There is no .cabal file for system-cxx-std-lib pkgs.lib.optionalString (builtins.compareVersions ghc.version "9.2" >= 0) ( diff --git a/overlays/haskell.nix b/overlays/haskell.nix index a7fb6e3014..d6f2a7c9ba 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -1074,6 +1074,60 @@ final: prev: { }; }) final.haskell-nix.compiler; + ghc-pre-existing = ghc: [ + "Cabal" + "array" + "base" + "binary" + "bytestring" + "containers" + "deepseq" + "directory" + "filepath" + "ghc-boot" + "ghc-boot-th" + "ghc-compact" + "ghc-heap" + "ghc-prim" + "ghci" + "integer-gmp" + "mtl" + "parsec" + "pretty" + "process" + "rts" + "template-haskell" + "text" + "time" + "transformers" + ] ++ final.lib.optionals (!final.stdenv.targetPlatform.isGhcjs || builtins.compareVersions ghc.version "9.0" > 0) [ + # GHCJS 8.10 does not have these + "Cabal-syntax" + "exceptions" + "file-io" + "ghc" + "ghc-bignum" + "ghc-experimental" + "ghc-internal" + "ghc-platform" + "ghc-toolchain" + "haskeline" + "hpc" + "libiserv" + "os-string" + "semaphore-compat" + "stm" + "xhtml" + ] ++ final.lib.optionals ( + !final.stdenv.targetPlatform.isGhcjs + && !final.stdenv.targetPlatform.isWindows + && ghc.enableTerminfo or true) [ + "terminfo" + ] ++ (if final.stdenv.targetPlatform.isWindows + then [ "Win32" ] + else [ "unix" ] + ); + # Add this to your tests to make all the dependencies of haskell.nix # are tested and cached. Consider using `p.roots` where `p` is a # project as it will automatically match the `compiler-nix-name` From 154bc3adaa78efc8ed5addfa7776ffa4fa22f265 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 24 May 2025 21:54:31 +1200 Subject: [PATCH 055/308] Fix macOS frameworks without bringing back unwanted warnings (#2376) To support old and new versions of nixpkgs we still need to include framework derivations for now. --- lib/system-nixpkgs-map.nix | 241 +++++++++++++++++++++++++++++++++++++ modules/component.nix | 2 +- 2 files changed, 242 insertions(+), 1 deletion(-) diff --git a/lib/system-nixpkgs-map.nix b/lib/system-nixpkgs-map.nix index f979bfd0c1..044db4ce5c 100644 --- a/lib/system-nixpkgs-map.nix +++ b/lib/system-nixpkgs-map.nix @@ -151,3 +151,244 @@ in # -- mingw32 // { mingwex = null; } +# -- os x +# TODO remove once planner code is updated not to output frameworks +# (we can only do that once we no longer support old nixpkgs where +# framework derivations are needed) +// +( +let + # If this file exists then the frameworks are all probably stubbed out + # and we can avoid warnings by ignoring them. + hasMkStubs = builtins.pathExists (pkgs.path + "/pkgs/os-specific/darwin/apple-sdk/mk-stub.nix"); + frameworkNames = + [ + "AGL" + "AVFCapture" + "AVFCore" + "AVFoundation" + "AVKit" + "Accelerate" + "Accessibility" + "Accounts" + "AdServices" + "AdSupport" + "AddressBook" + "AddressBookCore" + "AppKit" + "AppTrackingTransparency" + "Apple80211" + "AppleScriptKit" + "AppleScriptObjC" + "ApplicationServices" + "AudioToolbox" + "AudioToolboxCore" + "AudioUnit" + "AudioVideoBridging" + "AuthenticationServices" + "AutomaticAssessmentConfiguration" + "Automator" + "BackgroundTasks" + "BusinessChat" + "CFNetwork" + "CalendarStore" + "CallKit" + "Carbon" + "ClassKit" + "CloudKit" + "Cocoa" + "Collaboration" + "ColorSync" + "Combine" + "Contacts" + "ContactsPersistence" + "ContactsUI" + "CoreAudio" + "CoreAudioKit" + "CoreAudioTypes" + "CoreBluetooth" + "CoreData" + "CoreDisplay" + "CoreFoundation" + "CoreGraphics" + "CoreHaptics" + "CoreImage" + "CoreLocation" + "CoreMIDI" + "CoreMIDIServer" + "CoreML" + "CoreMedia" + "CoreMediaIO" + "CoreMotion" + "CoreServices" + "CoreSpotlight" + "CoreSymbolication" + "CoreTelephony" + "CoreText" + "CoreVideo" + "CoreWLAN" + "CryptoKit" + "CryptoTokenKit" + "DVDPlayback" + "DebugSymbols" + "DeveloperToolsSupport" + "DeviceCheck" + "DirectoryService" + "DiscRecording" + "DiscRecordingUI" + "DiskArbitration" + "DisplayServices" + "DriverKit" + "EventKit" + "ExceptionHandling" + "ExecutionPolicy" + "ExternalAccessory" + "FWAUserLib" + "FileProvider" + "FileProviderUI" + "FinderSync" + "ForceFeedback" + "Foundation" + "GLKit" + "GLUT" + "GSS" + "GameCenterFoundation" + "GameCenterUI" + "GameCenterUICore" + "GameController" + "GameKit" + "GameplayKit" + "HIDDriverKit" + "Hypervisor" + "ICADevices" + "IMServicePlugIn" + "IOBluetooth" + "IOBluetoothUI" + "IOKit" + "IOSurface" + "IOUSBHost" + "IdentityLookup" + "ImageCaptureCore" + "ImageIO" + "InputMethodKit" + "InstallerPlugins" + "InstantMessage" + "Intents" + "JavaNativeFoundation" + "JavaRuntimeSupport" + "JavaScriptCore" + "JavaVM" + "Kerberos" + "Kernel" + "KernelManagement" + "LDAP" + "LatentSemanticMapping" + "LinkPresentation" + "LocalAuthentication" + "MLCompute" + "MapKit" + "MediaAccessibility" + "MediaLibrary" + "MediaPlayer" + "MediaRemote" + "MediaToolbox" + "Message" + "Metal" + "MetalKit" + "MetalPerformanceShaders" + "MetalPerformanceShadersGraph" + "MetricKit" + "ModelIO" + "MultipeerConnectivity" + "MultitouchSupport" + "NaturalLanguage" + "NearbyInteraction" + "NetFS" + "Network" + "NetworkExtension" + "NetworkingDriverKit" + "NotificationCenter" + "OSAKit" + "OSLog" + "OpenAL" + "OpenCL" + "OpenDirectory" + "OpenGL" + "PCIDriverKit" + "PCSC" + "PDFKit" + "ParavirtualizedGraphics" + "PassKit" + "PassKitCore" + "PencilKit" + "Photos" + "PhotosUI" + "PreferencePanes" + "PushKit" + "Python" + "QTKit" + "Quartz" + "QuartzCore" + "QuickLook" + "QuickLookThumbnailing" + "QuickTime" + "RealityKit" + "ReplayKit" + "Ruby" + "SafariServices" + "SceneKit" + "ScreenSaver" + "ScreenTime" + "ScriptingBridge" + "Security" + "SecurityFoundation" + "SecurityInterface" + "SensorKit" + "ServiceManagement" + "SignpostMetrics" + "SkyLight" + "Social" + "SoundAnalysis" + "Speech" + "SpriteKit" + "StoreKit" + "SwiftUI" + "SyncServices" + "System" + "SystemConfiguration" + "SystemExtensions" + "TWAIN" + "Tcl" + "Tk" + "UIFoundation" + "URLFormatting" + "USBDriverKit" + "UniformTypeIdentifiers" + "UserNotifications" + "UserNotificationsUI" + "VideoDecodeAcceleration" + "VideoSubscriberAccount" + "VideoToolbox" + "Virtualization" + "Vision" + "WebKit" + "WidgetKit" + "iTunesLibrary" + "vmnet" + ]; + +in + lib.optionalAttrs stdenv.hostPlatform.isDarwin + (lib.genAttrs frameworkNames + (n: + # Check to see if this is an old nixpkgs where we need framework derivations + if !hasMkStubs + # In future versions of `nixpkgs` these will be removed + # so make sure they are there. + && darwin ? apple_sdk + && darwin.apple_sdk ? frameworks + && darwin.apple_sdk.frameworks ? ${n} + && !(darwin.apple_sdk.frameworks.${n}.passthru.isDarwinCompatStub or false) + then darwin.apple_sdk.frameworks.${n} + else null)) +) diff --git a/modules/component.nix b/modules/component.nix index 8a7607f08a..be32d30bd2 100644 --- a/modules/component.nix +++ b/modules/component.nix @@ -49,7 +49,7 @@ in }; frameworks = lib.mkOption { - type = listOfFilteringNulls types.package; + type = listOfFilteringNulls (types.nullOr types.package); default = [ ]; }; From 48c3fb50cace887031f9cc5ee174c089d3a69b22 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 25 May 2025 00:52:25 +0000 Subject: [PATCH 056/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d596962c96..baf54873d3 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1748046338, - "narHash": "sha256-GMisw/8bXoA+Nl7ZlM8RBDKu6EmMjIRpGU73EvE/+10=", + "lastModified": 1748132929, + "narHash": "sha256-t+89HtGWrg+Q0hdYzXQuJ21xTJlrQOn88jSCUTFaLs0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c1c0191161c25d7884ba07495ce740ffaa3e830b", + "rev": "9feb3233b70e52114b09e14746fb0298d5b5e86a", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1748046328, - "narHash": "sha256-hY57VOgEVsBp+qhf5gsSnWxDjWEPD11h9nYWYJl3cRA=", + "lastModified": 1748132919, + "narHash": "sha256-Nx3ooh1yX0pQX30N/8a/hWL10j0IlXoPizUXjOKVadY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "66f24798c1064eaef265cad9905a953e69eeb476", + "rev": "2bf6564bc03671d71bacaf3e56c233204aeefece", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1748045564, - "narHash": "sha256-VoIp7sXzc5Z6pvh19rHRiMX+TF6Rq7F+0pco0LJrnws=", + "lastModified": 1748132080, + "narHash": "sha256-9SfVGpaNqTnNZfKRND/7o2oiS/xhiOzhQUjxSqV7Jv4=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "312525da92f48777f938d3375261e3aa3854f39c", + "rev": "7a840945f29384387142bbea3e6ca7ae10b8377c", "type": "github" }, "original": { From 339479e6413c1974395ca807f55511013ceb0ac6 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 26 May 2025 00:52:12 +0000 Subject: [PATCH 057/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index baf54873d3..546ed389d4 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1748132929, - "narHash": "sha256-t+89HtGWrg+Q0hdYzXQuJ21xTJlrQOn88jSCUTFaLs0=", + "lastModified": 1748219229, + "narHash": "sha256-xiqhny0WsLuK1jCM2vsD0qzxfpRi6e6xU4BwCjhbgGc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9feb3233b70e52114b09e14746fb0298d5b5e86a", + "rev": "7a4e218bd6c60cb13c8f07e46ad85badf3397c5b", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1748132919, - "narHash": "sha256-Nx3ooh1yX0pQX30N/8a/hWL10j0IlXoPizUXjOKVadY=", + "lastModified": 1748219218, + "narHash": "sha256-kKe1cGUGkwp/6704BTKlH4yWTL0wmZugofJU20PcIkA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "2bf6564bc03671d71bacaf3e56c233204aeefece", + "rev": "d3c929097030b8405f983de59ea243018d7cf877", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1748132080, - "narHash": "sha256-9SfVGpaNqTnNZfKRND/7o2oiS/xhiOzhQUjxSqV7Jv4=", + "lastModified": 1748218423, + "narHash": "sha256-Kxq6dht95EwFzqxqM1SlGuzxgvjyrZSHcnAIMz4imV4=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "7a840945f29384387142bbea3e6ca7ae10b8377c", + "rev": "9e099770ef4546bb9534db7cf08d4813ece553db", "type": "github" }, "original": { From cd9aad9b5f3c5888c45904e8c22a09932e64e897 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 27 May 2025 00:51:34 +0000 Subject: [PATCH 058/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 546ed389d4..ebaa9202bb 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1748219229, - "narHash": "sha256-xiqhny0WsLuK1jCM2vsD0qzxfpRi6e6xU4BwCjhbgGc=", + "lastModified": 1748305560, + "narHash": "sha256-J8BLsahPnMUwl5kAS/ZXW6Vm3StgrqX+9mBz5mhoRek=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7a4e218bd6c60cb13c8f07e46ad85badf3397c5b", + "rev": "afdd91ab1d70e276b5e46e21fa7e0d6c21a6dead", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1748219218, - "narHash": "sha256-kKe1cGUGkwp/6704BTKlH4yWTL0wmZugofJU20PcIkA=", + "lastModified": 1748305550, + "narHash": "sha256-KCozr/Hs7i/3TDVVlokqcXYhN+tMZOfozt+NThydOJ4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d3c929097030b8405f983de59ea243018d7cf877", + "rev": "b615747b7aad50e81260436208660b60d94668b2", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1748218423, - "narHash": "sha256-Kxq6dht95EwFzqxqM1SlGuzxgvjyrZSHcnAIMz4imV4=", + "lastModified": 1748304778, + "narHash": "sha256-TFU3Sw3a09AVoQLq+nSH2B+7cQtnFTvvMq4kbDaaRsc=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "9e099770ef4546bb9534db7cf08d4813ece553db", + "rev": "8803fbb3710a6300f9a9ab3ad4d2e7ef9571c690", "type": "github" }, "original": { From c006e867c859354df96b87f2c54ca9aa994de820 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 28 May 2025 00:52:08 +0000 Subject: [PATCH 059/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index ebaa9202bb..b1696d8f23 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1748305560, - "narHash": "sha256-J8BLsahPnMUwl5kAS/ZXW6Vm3StgrqX+9mBz5mhoRek=", + "lastModified": 1748391995, + "narHash": "sha256-diuPkHXikUjwj2y/Rmhnsyceav5hDP06oCc9ggcbDVU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "afdd91ab1d70e276b5e46e21fa7e0d6c21a6dead", + "rev": "cafa34a4591d2a7aaea4bacbae6e7333c70de343", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1748305550, - "narHash": "sha256-KCozr/Hs7i/3TDVVlokqcXYhN+tMZOfozt+NThydOJ4=", + "lastModified": 1748391986, + "narHash": "sha256-xYytx3nfu763euabkBlT1ypexEiZwkqFu0w/wncDuys=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b615747b7aad50e81260436208660b60d94668b2", + "rev": "d78179d37fece676b3aea889c5ed28ad2f0c650a", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1748304778, - "narHash": "sha256-TFU3Sw3a09AVoQLq+nSH2B+7cQtnFTvvMq4kbDaaRsc=", + "lastModified": 1748391202, + "narHash": "sha256-s9M7FYbmKoUD0R03zQIO8o6K8QpYGwxt2wkF6fNavlA=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "8803fbb3710a6300f9a9ab3ad4d2e7ef9571c690", + "rev": "aaa0c5b7eb94e6bdc715b3467e33c7188066ade2", "type": "github" }, "original": { From 5daedb0c1d3f13fc391837208cc92b19b665c629 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 28 May 2025 21:39:51 +1200 Subject: [PATCH 060/308] Add empty set for flake input in #2378 (#2379) --- hix/empty-set/default.nix | 1 + 1 file changed, 1 insertion(+) create mode 100644 hix/empty-set/default.nix diff --git a/hix/empty-set/default.nix b/hix/empty-set/default.nix new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/hix/empty-set/default.nix @@ -0,0 +1 @@ +{} From 1bd57b086a4879497f996399b210a7f2df3b1072 Mon Sep 17 00:00:00 2001 From: Stefano Debenedetti <44903077+demaledetti@users.noreply.github.com> Date: Wed, 28 May 2025 12:29:29 +0200 Subject: [PATCH 061/308] Add a projectArgs CLI argument to hix run (#2378) * Add a new projectArgs CLI argument to pass arguments to the hix project in the flake generated by hix run * Use `input-output-hk/empty-flake` * Use #2379 * Look for `projectArgs.nix` --------- Co-authored-by: Hamish Mackenzie --- hix/default.nix | 12 +++++++++++- hix/empty-set/default.nix | 1 - hix/project/flake.nix | 11 ++++++++--- 3 files changed, 19 insertions(+), 5 deletions(-) delete mode 100644 hix/empty-set/default.nix diff --git a/hix/default.nix b/hix/default.nix index 289a57654e..8867daa976 100644 --- a/hix/default.nix +++ b/hix/default.nix @@ -31,9 +31,16 @@ let flake|build|develop|run|profile) # Put the flake files for remote URLs in $HOME/.hix by default HIX_DIR="''${HIX_DIR:-$HOME/.hix}" + HIX_TMPDIR="$(mktemp -d)" + projectArgs="" while(($#)); do arg=$1 case $arg in + --projectArgs) + projectArgs="$2" + args+=(--override-input projectArgs "$HIX_TMPDIR") + shift + ;; --out-link|-o|--eval-store|--include|-I|--inputs-from|--expr|--file|-f|--keep|-k|--phase|--profile|--unset|-u) args+=("$arg" "$2") shift @@ -83,7 +90,7 @@ let fi # Make a temporary flake if we have not already mkdir -p $FLAKE - HIX_FLAKE="$(mktemp -d)/flake.nix" + HIX_FLAKE="$HIX_TMPDIR/flake.nix" sed 's|EVAL_SYSTEM|${pkgs.stdenv.hostPlatform.system}|' < ${hixProject}/flake.nix > $HIX_FLAKE if ! cmp $HIX_FLAKE $FLAKE/flake.nix &>/dev/null; then if [ -e $FLAKE/flake.lock ]; then @@ -95,6 +102,9 @@ let cp $HIX_FLAKE $FLAKE/flake.nix chmod +w $FLAKE/flake.nix fi + if [ "$projectArgs" != "" ]; then + printf %s "$projectArgs" > "$HIX_TMPDIR/projectArgs.nix" + fi nix $cmd "''${args[@]}" ;; init|init-hix) diff --git a/hix/empty-set/default.nix b/hix/empty-set/default.nix deleted file mode 100644 index 0967ef424b..0000000000 --- a/hix/empty-set/default.nix +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/hix/project/flake.nix b/hix/project/flake.nix index 5fbbed0aef..26641d1ed3 100644 --- a/hix/project/flake.nix +++ b/hix/project/flake.nix @@ -5,16 +5,21 @@ inputs.haskellNix.url = "github:input-output-hk/haskell.nix"; inputs.nixpkgs.follows = "haskellNix/nixpkgs-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils"; + inputs.projectArgs.url = "github:input-output-hk/empty-flake"; + inputs.projectArgs.flake = false; inputs.src.flake = false; - outputs = { self, src, nixpkgs, flake-utils, haskellNix }: + outputs = { self, src, nixpkgs, flake-utils, haskellNix, projectArgs }: flake-utils.lib.eachSystem [ "EVAL_SYSTEM" ] (system: let overlays = [ haskellNix.overlay (final: _prev: { hixProject = - final.haskell-nix.hix.project { + final.haskell-nix.hix.project ({ inherit src; - }; + } // ( + if builtins.pathExists (projectArgs + "/projectArgs.nix") + then import (projectArgs + "/projectArgs.nix") + else {})); }) ]; pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; }; From dc76b5a1f3733ef36176dfd7b01a82f1aa18a0dd Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 29 May 2025 00:52:07 +0000 Subject: [PATCH 062/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b1696d8f23..15f978da03 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1748391995, - "narHash": "sha256-diuPkHXikUjwj2y/Rmhnsyceav5hDP06oCc9ggcbDVU=", + "lastModified": 1748478391, + "narHash": "sha256-2s+f5HRQmqY70ZLun6qqupx6Y/xhqHe1A4efLlAnJIk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "cafa34a4591d2a7aaea4bacbae6e7333c70de343", + "rev": "6b7aee219ac8837669f56fd9420bc9e87443d28d", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1748391986, - "narHash": "sha256-xYytx3nfu763euabkBlT1ypexEiZwkqFu0w/wncDuys=", + "lastModified": 1748478380, + "narHash": "sha256-tL9oo3kqsGggwyu+6SzqmwvxMgP9TW4kYr7wrcT4F9Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d78179d37fece676b3aea889c5ed28ad2f0c650a", + "rev": "4c1cfe985a6d2f0e8c6d903d2b5297fece257382", "type": "github" }, "original": { @@ -523,11 +523,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1748391202, - "narHash": "sha256-s9M7FYbmKoUD0R03zQIO8o6K8QpYGwxt2wkF6fNavlA=", + "lastModified": 1748477586, + "narHash": "sha256-XlNzJApYAlnV+rPcFIHgxaA304jbfY00JbbkDpsd6bs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "aaa0c5b7eb94e6bdc715b3467e33c7188066ade2", + "rev": "c04f95ad0731ff773c027ed1390aca827d9ca902", "type": "github" }, "original": { From 7707658389458461553071792fa744f80663ee30 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 29 May 2025 23:01:23 +1200 Subject: [PATCH 063/308] Avoid broken symlinks in haddock derivations (#2380) Needed for https://github.com/cardano-scaling/hydra/pull/2033 --- builder/haddock-builder.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/builder/haddock-builder.nix b/builder/haddock-builder.nix index 97ffdbb607..24f56cbf04 100644 --- a/builder/haddock-builder.nix +++ b/builder/haddock-builder.nix @@ -151,8 +151,12 @@ let ${ghc.targetPrefix}ghc-pkg -v0 --package-db $configFiles/${configFiles.packageCfgDir} -f $out/package.conf.d register "$pkg" done - ln -s ${componentDrv}/exactDep $out/exactDep - ln -s ${componentDrv}/envDep $out/envDep + if [ -d ${componentDrv}/exactDep ]; then + ln -s ${componentDrv}/exactDep $out/exactDep + fi + if [ -f ${componentDrv}/envDep ]; then + ln -s ${componentDrv}/envDep $out/envDep + fi ''; } // haskellLib.optionalHooks { From 620fac3f04c6febbc22e99b6db69581a22fcef4c Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 30 May 2025 00:52:10 +0000 Subject: [PATCH 064/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 15f978da03..2d6bd477d8 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1748478391, - "narHash": "sha256-2s+f5HRQmqY70ZLun6qqupx6Y/xhqHe1A4efLlAnJIk=", + "lastModified": 1748564788, + "narHash": "sha256-kfgTxvbcDAA7NCcuvo8ngFJVkprOTKkhSqanZ04Dm7U=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6b7aee219ac8837669f56fd9420bc9e87443d28d", + "rev": "a38e060e3bbba82576574572ca669f040132fee1", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1748478380, - "narHash": "sha256-tL9oo3kqsGggwyu+6SzqmwvxMgP9TW4kYr7wrcT4F9Y=", + "lastModified": 1748564778, + "narHash": "sha256-qKkIJnG0ikhTb5u8+tFobjPa8Yataht8mJ4tbLUnq0k=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4c1cfe985a6d2f0e8c6d903d2b5297fece257382", + "rev": "7e2a8cb147cbfdaabef020d10b73d0e49295f7eb", "type": "github" }, "original": { From 272780e86e7e253d7437f8f6058e4da3a2ca5fe5 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 31 May 2025 00:51:36 +0000 Subject: [PATCH 065/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 2d6bd477d8..ff69aea4df 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1748564788, - "narHash": "sha256-kfgTxvbcDAA7NCcuvo8ngFJVkprOTKkhSqanZ04Dm7U=", + "lastModified": 1748651226, + "narHash": "sha256-k7dYs2nKDlGFMHv2qiXR3S6V97uVTFhKbvIr3+p1KBM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a38e060e3bbba82576574572ca669f040132fee1", + "rev": "3704d4c2c09569642f2ef9868eff04bb5f52cffb", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1748564778, - "narHash": "sha256-qKkIJnG0ikhTb5u8+tFobjPa8Yataht8mJ4tbLUnq0k=", + "lastModified": 1748651216, + "narHash": "sha256-AgxVl0Kf1SV1Jt3CxDWeX6l/UPBtdiY/29MFcza30/Q=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7e2a8cb147cbfdaabef020d10b73d0e49295f7eb", + "rev": "c4440cf0e46c7164aca12eb467250cc3bb82af20", "type": "github" }, "original": { From 681bbfa7fe47b9c007089b27157fab988a90fa01 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 1 Jun 2025 00:52:59 +0000 Subject: [PATCH 066/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index ff69aea4df..94f28fd067 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1748651226, - "narHash": "sha256-k7dYs2nKDlGFMHv2qiXR3S6V97uVTFhKbvIr3+p1KBM=", + "lastModified": 1748737892, + "narHash": "sha256-5qlOJJ1DUveLckG/0tmx9pm9IL9Wqtid4Z6QTORE2Zw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3704d4c2c09569642f2ef9868eff04bb5f52cffb", + "rev": "ee364a14306c3d81cc9f8d73fedd1a43d1e98a6f", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1748651216, - "narHash": "sha256-AgxVl0Kf1SV1Jt3CxDWeX6l/UPBtdiY/29MFcza30/Q=", + "lastModified": 1748737881, + "narHash": "sha256-8dsoE3iJBC8BNquOiTwlsqcNRzwK387Tg+l18/p2Ulc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c4440cf0e46c7164aca12eb467250cc3bb82af20", + "rev": "5863aaaa84e47b8e3eeb4e7af433d8ace3cd5487", "type": "github" }, "original": { From 6e8e48bdc42d83a12d57a955f29a1b27b3a12978 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 2 Jun 2025 00:52:20 +0000 Subject: [PATCH 067/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 94f28fd067..8ca639bd01 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1748737892, - "narHash": "sha256-5qlOJJ1DUveLckG/0tmx9pm9IL9Wqtid4Z6QTORE2Zw=", + "lastModified": 1748824067, + "narHash": "sha256-eghiC9G/gQMZLK1kcU+dJaP+NFs75D4eW0ryhU3Gw8E=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ee364a14306c3d81cc9f8d73fedd1a43d1e98a6f", + "rev": "19335615779284799b226c7d73e6f6d6f9e50e99", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1748737881, - "narHash": "sha256-8dsoE3iJBC8BNquOiTwlsqcNRzwK387Tg+l18/p2Ulc=", + "lastModified": 1748824057, + "narHash": "sha256-1HtBogNPvqWyKh9puQpI6sDAtXH+mZ26uIBu3LiW/T4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5863aaaa84e47b8e3eeb4e7af433d8ace3cd5487", + "rev": "1d6bbee8c300db701e3bfe78a08f5d0ac5600a33", "type": "github" }, "original": { From 60bd09012b12681434a27ab04617ad5b1cfa4650 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 3 Jun 2025 00:51:39 +0000 Subject: [PATCH 068/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 8ca639bd01..a0e587ecf8 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1748824067, - "narHash": "sha256-eghiC9G/gQMZLK1kcU+dJaP+NFs75D4eW0ryhU3Gw8E=", + "lastModified": 1748910417, + "narHash": "sha256-7tyG8EdNqc+NNrJuqrqKe4eEAvXggqHqibgk4HUG7hY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "19335615779284799b226c7d73e6f6d6f9e50e99", + "rev": "c68a4b65310b19785c0ebfd6618be5764d0d0e58", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1748824057, - "narHash": "sha256-1HtBogNPvqWyKh9puQpI6sDAtXH+mZ26uIBu3LiW/T4=", + "lastModified": 1748910406, + "narHash": "sha256-mgeLl2eaFxlEzsA+yyHigOmssc/dgnv00wRrrsqWfA8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1d6bbee8c300db701e3bfe78a08f5d0ac5600a33", + "rev": "b5e7c3119986d1e9c1a8952231a26aa0cabeeac8", "type": "github" }, "original": { From 8a92e909b95e20a352b701bc1552dd4e06d34f7b Mon Sep 17 00:00:00 2001 From: amesgen Date: Tue, 3 Jun 2025 12:35:26 +0200 Subject: [PATCH 069/308] Pre-existing pkgs: add `system-cxx-std-lib` (#2382) --- overlays/haskell.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/overlays/haskell.nix b/overlays/haskell.nix index d6f2a7c9ba..3e6b6ac8d0 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -1118,6 +1118,8 @@ final: prev: { "semaphore-compat" "stm" "xhtml" + ] ++ final.lib.optionals (builtins.compareVersions ghc.version "9.4" > 0) [ + "system-cxx-std-lib" ] ++ final.lib.optionals ( !final.stdenv.targetPlatform.isGhcjs && !final.stdenv.targetPlatform.isWindows From 8337a6e040ae157d4cd1c88dba02acf84ed436a2 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 4 Jun 2025 00:52:09 +0000 Subject: [PATCH 070/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index a0e587ecf8..3d86bf4fb3 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1748910417, - "narHash": "sha256-7tyG8EdNqc+NNrJuqrqKe4eEAvXggqHqibgk4HUG7hY=", + "lastModified": 1748996816, + "narHash": "sha256-nRDFKQLA1dnHmMLsRl2UzTTQA7ik7WBTBh81vfJmew4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c68a4b65310b19785c0ebfd6618be5764d0d0e58", + "rev": "9588062b9ad581513fce65808e5edb8b71f2ad77", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1748910406, - "narHash": "sha256-mgeLl2eaFxlEzsA+yyHigOmssc/dgnv00wRrrsqWfA8=", + "lastModified": 1748996805, + "narHash": "sha256-lm8Hy30Xc+mvIK38+LJwoWeK6re09YdSCcONTHAZ5lU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b5e7c3119986d1e9c1a8952231a26aa0cabeeac8", + "rev": "dd3d269a21f62897bbbae0e6505f4f303b2d391c", "type": "github" }, "original": { From d6f1c53d5136f40499b32c0fdab599de2821e4f8 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 5 Jun 2025 00:51:41 +0000 Subject: [PATCH 071/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 3d86bf4fb3..6ce56435d5 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1748996816, - "narHash": "sha256-nRDFKQLA1dnHmMLsRl2UzTTQA7ik7WBTBh81vfJmew4=", + "lastModified": 1749083201, + "narHash": "sha256-PRZmvO8KI+VViVgfH/X0O8/9r7Cio2yQISuMNO7sEiE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9588062b9ad581513fce65808e5edb8b71f2ad77", + "rev": "1df6f4eeb09a091355fccfb3e88aa2b9ed61b132", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1748996805, - "narHash": "sha256-lm8Hy30Xc+mvIK38+LJwoWeK6re09YdSCcONTHAZ5lU=", + "lastModified": 1749083191, + "narHash": "sha256-Isush93aZOFcyAQu4h+VFlDiuNaB3lGs/fnu29aTMFw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "dd3d269a21f62897bbbae0e6505f4f303b2d391c", + "rev": "3bec1f6fa74a55d746dac39fe24506b6bacddbb0", "type": "github" }, "original": { From ff3259cdb7bbf9e4beaf25bead6b830a5d49c850 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 6 Jun 2025 00:52:04 +0000 Subject: [PATCH 072/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 6ce56435d5..3da38593c6 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1749083201, - "narHash": "sha256-PRZmvO8KI+VViVgfH/X0O8/9r7Cio2yQISuMNO7sEiE=", + "lastModified": 1749169580, + "narHash": "sha256-3XgqzEacca8r0sdsDJTo6fgOmtatWdbfbycjEX1rdlU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1df6f4eeb09a091355fccfb3e88aa2b9ed61b132", + "rev": "4e439db2317da42c2dfa5a50b40bc23130ea8601", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1749083191, - "narHash": "sha256-Isush93aZOFcyAQu4h+VFlDiuNaB3lGs/fnu29aTMFw=", + "lastModified": 1749169570, + "narHash": "sha256-pZDx/TOy3Mrsw9AX0cYNVmu0amq8tmmFHyXhXFiD0TQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3bec1f6fa74a55d746dac39fe24506b6bacddbb0", + "rev": "16926e846f5341152b9c5379a976462fed9e4d13", "type": "github" }, "original": { From 9e552b1dd53c420f26eeb647cd373e015eba0016 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 6 Jun 2025 21:33:05 +1200 Subject: [PATCH 073/308] Add nixpkgs-2505 (#2377) * Add nixpkgs-2505 * Fix EM_CACHE issue * fix ghcjs * Update ghc913 * Disable ghc 9.10.2 js backend * Update supported-languages.nix * Bump head.hackage * Fix for GHC HEAD * Bump head.hackage * Disable static libraries for GHCJS * Update nixpkgs pins * Fix missing `pkgs` arg * nix flake update iserv-proxy * nix flake update iserv-proxy * Fix fatal error: 'rts/Types.h' file not found * Run CI for GHC 9.10.2 JS * Disable broken tests * Disable broken test * Bump head.hackage * Don't run CI for GHC 9.10.2 JS * Fix debug info check * Drop nixpkgs-2411 from CI * Fix for armv7a-android * Fix dynamic link check for darwin * nix flake update iserv-proxy * Add comment * nix flake update iserv-proxy * Disable broken tests * Skip broken android cross compile --- builder/comp-builder.nix | 4 +++ ci.nix | 24 ++++++++----- compiler/ghc/default.nix | 8 +++-- default.nix | 3 ++ flake.lock | 35 ++++++++++++++----- flake.nix | 1 + lazy-inputs/ghc913/flake.lock | 8 ++--- lib/supported-languages.nix | 6 ++++ modules/component-options.nix | 5 +-- modules/package.nix | 2 +- overlays/bootstrap.nix | 3 ++ .../ghc/ghc-9.13-ghcjs-rts-types.patch | 12 +++++++ test/cabal-22/default.nix | 4 +-- test/cabal-simple-debug/default.nix | 2 +- test/cabal.project.local | 5 ++- test/plugin/default.nix | 4 +-- test/th-dlls/default.nix | 12 ++++--- 17 files changed, 98 insertions(+), 40 deletions(-) create mode 100644 overlays/patches/ghc/ghc-9.13-ghcjs-rts-types.patch diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 60bce48716..ea9a1f05bd 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -447,6 +447,10 @@ let (lib.optionalString stdenv.hostPlatform.isGhcjs '' export HOME=$(mktemp -d) export EM_CACHE=$(mktemp -d) + if [ -d ${pkgsBuildBuild.emscripten}/share/emscripten/cache ]; then + cp -r ${pkgsBuildBuild.emscripten}/share/emscripten/cache/* $EM_CACHE/ + chmod +w -R $EM_CACHE + fi '') + (lib.optionalString (!canCleanSource) '' echo "Cleaning component source not supported, leaving it un-cleaned" diff --git a/ci.nix b/ci.nix index 42d3ea0f3d..e07482ba5e 100644 --- a/ci.nix +++ b/ci.nix @@ -18,7 +18,7 @@ # short names for nixpkgs versions nixpkgsVersions = { - "R2411" = inputs.nixpkgs-2411; + "R2505" = inputs.nixpkgs-2505; "unstable" = inputs.nixpkgs-unstable; }; @@ -43,6 +43,14 @@ "libdwarf-20181024" "dwarfdump-20181024" ]; + allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "android-sdk-ndk" + "android-sdk-platform-tools" + "aarch64-unknown-linux-android-ndk-toolchain-wrapper" + "aarch64-unknown-linux-android-ndk-toolchain" + "armv7a-unknown-linux-androideabi-ndk-toolchain-wrapper" + "armv7a-unknown-linux-androideabi-ndk-toolchain" + ]; }; }; @@ -57,7 +65,7 @@ # cabal-install and nix-tools plans. When removing a ghc version # from here (so that is no longer cached) also remove ./materialized/ghcXXX. # Update supported-ghc-versions.md to reflect any changes made here. - nixpkgs.lib.optionalAttrs (nixpkgsName == "R2411") { + nixpkgs.lib.optionalAttrs (builtins.elem nixpkgsName ["R2411" "R2505"]) { ghc96 = true; ghc98 = true; ghc910 = true; @@ -77,11 +85,7 @@ let lib = nixpkgs.lib; in lib.optionalAttrs (nixpkgsName == "unstable" && (__match ".*llvm" compiler-nix-name == null) - && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) - || (system == "aarch64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) - || (system == "x86_64-darwin" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc966" "ghc967" "ghc96720250227" "ghc982" "ghc983" "ghc984"]) - || (system == "aarch64-darwin" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc966" "ghc967" "ghc96720250227" "ghc982" "ghc983" "ghc984"]) - )) { + && !builtins.elem compiler-nix-name ["ghc9102"]) { inherit (lib.systems.examples) ghcjs; } // lib.optionalAttrs (nixpkgsName == "unstable" && (__match ".*llvm" compiler-nix-name == null) @@ -100,8 +104,10 @@ } // lib.optionalAttrs (__match ".*llvm" compiler-nix-name == null && system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { # Out llvm versions of GHC seem to break for musl32 inherit (lib.systems.examples) musl32; - } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "R2411" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { - inherit (lib.systems.examples) aarch64-android-prebuilt armv7a-android-prebuilt; + } // lib.optionalAttrs (system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { + inherit (lib.systems.examples) aarch64-android-prebuilt; + } // lib.optionalAttrs (system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc91320250523"]) { + inherit (lib.systems.examples) armv7a-android-prebuilt; } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902"]) { # TODO fix this for the compilers we build with hadrian (ghc >=9.4) inherit (lib.systems.examples) aarch64-multiplatform-musl; diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 4189884671..9d31c197cf 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -422,9 +422,9 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { export CXX="${targetCC}/bin/em++" export LD="${targetCC}/bin/emcc" '' + ( - # Including AR and RANLIB here breaks tests.js-template-haskell for GHC 9.6 + # Including AR and RANLIB here breaks tests.js-template-haskell for GHC <9.12 # `LLVM ERROR: malformed uleb128, extends past end` - if builtins.compareVersions ghc-version "9.8" >= 0 + if builtins.compareVersions ghc-version "9.12" >= 0 then '' export AR="${targetCC}/bin/emar" export NM="${targetCC}/share/emscripten/emnm" @@ -435,6 +435,10 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { '' ) + '' export EM_CACHE=$(mktemp -d) + if [ -d ${targetCC}/share/emscripten/cache ]; then + cp -r ${targetCC}/share/emscripten/cache/* $EM_CACHE/ + chmod +w -R $EM_CACHE + fi mv config.sub.ghcjs config.sub '') # GHC is a bit confused on its cross terminology, as these would normally be diff --git a/default.nix b/default.nix index ade481f5cb..c43181eb30 100644 --- a/default.nix +++ b/default.nix @@ -97,6 +97,9 @@ self // { pkgs-2411 = import self.inputs.nixpkgs-2411 (nixpkgsArgs // { localSystem = { inherit system; }; }); + pkgs-2505 = import self.inputs.nixpkgs-2505 (nixpkgsArgs // { + localSystem = { inherit system; }; + }); pkgs-unstable = import self.inputs.nixpkgs-unstable (nixpkgsArgs // { localSystem = { inherit system; }; }); diff --git a/flake.lock b/flake.lock index 3da38593c6..54c9133fd8 100644 --- a/flake.lock +++ b/flake.lock @@ -372,11 +372,11 @@ "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1747047742, - "narHash": "sha256-PCDULyZSIPdDdF8Lanbcy+Dl6AJ5z6H2ng3sRsv+gwc=", + "lastModified": 1749176681, + "narHash": "sha256-RLoo84PBSeGKbqMETsU0lEJDnc/oTx0l/TYzCaWqlgc=", "owner": "stable-haskell", "repo": "iserv-proxy", - "rev": "dea34de4bde325aca22472c18d659bee7800b477", + "rev": "6972fbc49574108cb48723bb94260e3ce17898f7", "type": "github" }, "original": { @@ -436,11 +436,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1746566971, - "narHash": "sha256-I40weT0FZWth1IEjgR5a0zC9LLyrPwTC0DAQcejtTJE=", + "lastModified": 1748037224, + "narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "209c5b3b0f5cf5b5a7e12ddea59bf19699f97e75", + "rev": "f09dede81861f3a83f7f06641ead34f02f37597f", "type": "github" }, "original": { @@ -450,13 +450,29 @@ "type": "github" } }, + "nixpkgs-2505": { + "locked": { + "lastModified": 1748852332, + "narHash": "sha256-r/wVJWmLYEqvrJKnL48r90Wn9HWX9SHFt6s4LhuTh7k=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a8167f3cc2f991dd4d0055746df53dae5fd0c953", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-25.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { - "lastModified": 1746576598, - "narHash": "sha256-FshoQvr6Aor5SnORVvh/ZdJ1Sa2U4ZrIMwKBX5k2wu0=", + "lastModified": 1748856973, + "narHash": "sha256-RlTsJUvvr8ErjPBsiwrGbbHYW8XbB/oek0Gi78XdWKg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b3582c75c7f21ce0b429898980eddbbf05c68e55", + "rev": "e4b09e47ace7d87de083786b404bf232eb6c89d8", "type": "github" }, "original": { @@ -515,6 +531,7 @@ "nixpkgs-2311": "nixpkgs-2311", "nixpkgs-2405": "nixpkgs-2405", "nixpkgs-2411": "nixpkgs-2411", + "nixpkgs-2505": "nixpkgs-2505", "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", "stackage": "stackage" diff --git a/flake.nix b/flake.nix index 017d695555..12f31554a9 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,7 @@ nixpkgs-2311 = { url = "github:NixOS/nixpkgs/nixpkgs-23.11-darwin"; }; nixpkgs-2405 = { url = "github:NixOS/nixpkgs/nixpkgs-24.05-darwin"; }; nixpkgs-2411 = { url = "github:NixOS/nixpkgs/nixpkgs-24.11-darwin"; }; + nixpkgs-2505 = { url = "github:NixOS/nixpkgs/nixpkgs-25.05-darwin"; }; nixpkgs-unstable = { url = "github:NixOS/nixpkgs/nixpkgs-unstable"; }; flake-compat = { url = "github:input-output-hk/flake-compat/hkm/gitlab-fix"; flake = false; }; "hls-1.10" = { url = "github:haskell/haskell-language-server/1.10.0.0"; flake = false; }; diff --git a/lazy-inputs/ghc913/flake.lock b/lazy-inputs/ghc913/flake.lock index 15c5acd8a1..d73af49a22 100644 --- a/lazy-inputs/ghc913/flake.lock +++ b/lazy-inputs/ghc913/flake.lock @@ -3,11 +3,11 @@ "ghc913": { "flake": false, "locked": { - "lastModified": 1735577639, - "narHash": "sha256-sGNckeL3B6Iw+3wawRjgFEXo/dLiyKAtnbFxY9tX6Qg=", + "lastModified": 1748027596, + "narHash": "sha256-5WU40R26lwl0lRTkEnWui8CEikZ9gRnbiOa4aw/GbI4=", "ref": "refs/heads/master", - "rev": "278a53ee698d961d97afb60be9db2d8bf60b4074", - "revCount": 67713, + "rev": "17db44c5b32fff82ea988fa4f1a233d1a27bdf57", + "revCount": 68114, "submodules": true, "type": "git", "url": "https://gitlab.haskell.org/ghc/ghc" diff --git a/lib/supported-languages.nix b/lib/supported-languages.nix index ee5ba8f194..0e459c0505 100644 --- a/lib/supported-languages.nix +++ b/lib/supported-languages.nix @@ -312,5 +312,11 @@ evalPackages.writeTextFile { NoMultilineStrings NamedDefaults NoNamedDefaults + '' + + pkgs.lib.optionalString (builtins.compareVersions ghc.version "9.13" >=0) '' + ExplicitLevelImports + ImplicitStagePersistence + NoExplicitLevelImports + NoImplicitStagePersistence ''}''; } diff --git a/modules/component-options.nix b/modules/component-options.nix index 4900e9d8d2..3fbc3cf803 100644 --- a/modules/component-options.nix +++ b/modules/component-options.nix @@ -1,4 +1,4 @@ -{ lib, haskellLib, ... }: +{ pkgs, lib, haskellLib, ... }: { options = { buildable = lib.mkOption { @@ -104,7 +104,8 @@ enableStatic = lib.mkOption { description = "If set, enables building static libraries and executables."; type = lib.types.bool; - default = true; + # Disabled for ghcjs, see https://gitlab.haskell.org/ghc/ghc/-/issues/23235 + default = !pkgs.stdenv.hostPlatform.isGhcjs; }; enableShared = lib.mkOption { diff --git a/modules/package.nix b/modules/package.nix index 6a68a6bf78..39d9b2809f 100644 --- a/modules/package.nix +++ b/modules/package.nix @@ -10,7 +10,7 @@ let componentType = types.submodule [ ./component.nix - { _module.args = { inherit haskellLib; }; } + { _module.args = { inherit pkgs haskellLib; }; } # pass down common options as default values ({ lib, options, ... }: lib.mkDefault (lib.filterAttrs (n: _v: builtins.hasAttr n options) config)) ]; diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index a57d60a187..5fe966e4ac 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -331,6 +331,9 @@ in { ++ onAndroid (from "9.6" ./patches/ghc/ghc-9.6-COMPAT_R_ARM_PREL31.patch) ++ onAndroid (from "9.10" ./patches/ghc/ghc-9.10-ignore-libc.patch) + + # Fix for `fatal error: 'rts/Types.h' file not found` when building `primitive` + ++ onGhcjs (from "9.13" ./patches/ghc/ghc-9.13-ghcjs-rts-types.patch) ; in ({ ghc8107 = traceWarnOld "8.10" (final.callPackage ../compiler/ghc { diff --git a/overlays/patches/ghc/ghc-9.13-ghcjs-rts-types.patch b/overlays/patches/ghc/ghc-9.13-ghcjs-rts-types.patch new file mode 100644 index 0000000000..652e549f3c --- /dev/null +++ b/overlays/patches/ghc/ghc-9.13-ghcjs-rts-types.patch @@ -0,0 +1,12 @@ +diff --git a/rts/rts.cabal b/rts/rts.cabal +index 899e65d712..84dac99f54 100644 +--- a/rts/rts.cabal ++++ b/rts/rts.cabal +@@ -160,6 +160,7 @@ library + stg/MachRegs/x86.h + stg/MachRegsForHost.h + stg/Types.h ++ rts/Types.h + + else + -- If we are using an in-tree libffi then we must declare it as a bundled diff --git a/test/cabal-22/default.nix b/test/cabal-22/default.nix index ddbb51a63d..12345a395c 100644 --- a/test/cabal-22/default.nix +++ b/test/cabal-22/default.nix @@ -37,7 +37,7 @@ in recurseIntoAttrs { '' + # Aarch is statically linked and does not produce a .so file. # Musl is also statically linked, but it does make a .so file so we should check that still. - optionalString (!stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64) ('' + optionalString (!stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isDarwin) ('' printf "checking that executable is dynamically linked to system libraries... " >& 2 '' + optionalString (stdenv.isLinux && !stdenv.hostPlatform.isMusl) '' ${haskellLib.lddForTests} $exe | grep 'libc[.]so' @@ -57,7 +57,7 @@ in recurseIntoAttrs { '' + optionalString stdenv.isLinux '' ${haskellLib.lddForTests} $sofile | grep libHSghc-prim '' + optionalString stdenv.isDarwin '' - otool -L $sofile | grep libHSghc-prim + otool -L $sofile | grep libHSghc- '')) + '' touch $out diff --git a/test/cabal-simple-debug/default.nix b/test/cabal-simple-debug/default.nix index 7b02425276..58d7aab01f 100644 --- a/test/cabal-simple-debug/default.nix +++ b/test/cabal-simple-debug/default.nix @@ -39,7 +39,7 @@ in recurseIntoAttrs { else '' (${dwarfdump}/bin/dwarfdump $exe || true) | grep -c 'libraries/base/[A-Za-z0-9/]*\.hs' ''} - (${dwarfdump}/bin/dwarfdump $exe || true) | grep -c '/Main\.hs' + (${dwarfdump}/bin/dwarfdump $exe || true) | grep -c 'Main\.hs' touch $out ''; diff --git a/test/cabal.project.local b/test/cabal.project.local index 699d5493e7..d3e73d819b 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -9,8 +9,7 @@ if impl(ghc > 9.13) allow-newer: *:containers, *:time, *:ghc-bignum constraints: base-compat >=0.14.0, aeson >=2.2.1.0 -- From https://ghc.gitlab.haskell.org/head.hackage/cabal.constraints - constraints: extra ==1.7.14 - constraints: base-orphans <0.9.3 || >0.9.3 + -- Nothing needed right now -- This prevents hsc2hs from causing old versions of packages from being added to plan.json allow-newer: hsc2hs:* @@ -23,7 +22,7 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-ch17nc6wY2lr94j1+MULW7GuwtgQ8vz56yuPSADMmB8= + --sha256: sha256-Zu+OsPXt+tUllxC2LVJ3jneYGUH5GvdemZZPnynWaN0= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b diff --git a/test/plugin/default.nix b/test/plugin/default.nix index ae64225d96..3de0bc1b70 100644 --- a/test/plugin/default.nix +++ b/test/plugin/default.nix @@ -19,8 +19,8 @@ in recurseIntoAttrs { }; # Not sure why this breaks for ghc 8.10.7 - meta.disabled = compiler-nix-name == "ghc8107" - || builtins.elem compiler-nix-name [ "ghc9121" "ghc912120241215" "ghc91320241230" ] + meta.disabled = + builtins.elem compiler-nix-name [ "ghc91320250523" ] || stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWindows diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 8ee93eea0f..33315dc011 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -22,14 +22,16 @@ in recurseIntoAttrs { meta.disabled = stdenv.hostPlatform.isGhcjs # On aarch64 this test also breaks form musl builds (including cross compiles on x86_64-linux) || (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl) + # Not sure why this is failing with a seg fault + || (builtins.elem compiler-nix-name ["ghc9102" "ghc9102llvm"] && stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32) + # unhandled ELF relocation(Rel) type 10 + || (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32) + + ## Old GHC versions (TODO remove) # Failed to lookup symbol: __aarch64_swp8_acq_rel || (builtins.elem compiler-nix-name ["ghc947" "ghc948"] && haskellLib.isCrossHost && stdenv.hostPlatform.isAarch64) - # Not sure why this is failing with a seg fault - || (builtins.elem compiler-nix-name ["ghc9102"] && stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32) # We have been unable to get windows cross compilation of th-orphans to work for GHC 8.10 using the latest nixpkgs || (compiler-nix-name == "ghc8107" && stdenv.hostPlatform.isWindows) - # unhandled ELF relocation(Rel) type 10 - || (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32) ; ifdInputs = { @@ -41,7 +43,7 @@ in recurseIntoAttrs { build-ei = packages-ei.th-dlls.components.library; just-template-haskell-ei = packages-ei.th-dlls.components.exes.just-template-haskell; } // optionalAttrs - (!(builtins.elem compiler-nix-name ["ghc984" "ghc9121" "ghc912120241215" "ghc91320241230" "ghc912120250219"] && stdenv.buildPlatform.isx86_64 && stdenv.hostPlatform.isAarch64)) { + (!(builtins.elem compiler-nix-name ["ghc984" "ghc9122" "ghc91320250523"] && stdenv.buildPlatform.isx86_64 && stdenv.hostPlatform.isAarch64)) { # On for aarch64 cross compile on GHC this test is fails sometimes for non profiled builds # (and always for the profiled builds). # This may be related to the memory allocation changes made in 9.8.4 that From dd558456fd4f2ac0109b202a20c2efe8ada2db02 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 7 Jun 2025 00:51:39 +0000 Subject: [PATCH 074/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 54c9133fd8..e09d07132d 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1749169580, - "narHash": "sha256-3XgqzEacca8r0sdsDJTo6fgOmtatWdbfbycjEX1rdlU=", + "lastModified": 1749256003, + "narHash": "sha256-kGRSwChH6/DNAcR7w/QFYhwwlcQDwBbGvC8IDjLp5Yc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4e439db2317da42c2dfa5a50b40bc23130ea8601", + "rev": "f30d1856690a0ac1f8edaf6df50a98c67242b779", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1749169570, - "narHash": "sha256-pZDx/TOy3Mrsw9AX0cYNVmu0amq8tmmFHyXhXFiD0TQ=", + "lastModified": 1749255992, + "narHash": "sha256-KxBJzpyVf3mi02CIsp+sMzFsYJTRkDsfhnf1ulLmOyQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "16926e846f5341152b9c5379a976462fed9e4d13", + "rev": "d9afd76ce931f98be65a2a2a0cf5abb52a087281", "type": "github" }, "original": { From 178aa6d336e9bfa3d317ca5dc5e2285282b997a9 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 8 Jun 2025 00:51:51 +0000 Subject: [PATCH 075/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index e09d07132d..2ee0580d5d 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1749256003, - "narHash": "sha256-kGRSwChH6/DNAcR7w/QFYhwwlcQDwBbGvC8IDjLp5Yc=", + "lastModified": 1749342546, + "narHash": "sha256-+fzffsuW5LaeNzF3eC6T50CXPsOnkYT+PWPlBjg9Ki0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f30d1856690a0ac1f8edaf6df50a98c67242b779", + "rev": "6556dd5b883eabe161ce0481405988dc948460b4", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1749255992, - "narHash": "sha256-KxBJzpyVf3mi02CIsp+sMzFsYJTRkDsfhnf1ulLmOyQ=", + "lastModified": 1749342535, + "narHash": "sha256-TS2IegxLFwwXJHn19EBDlWF1GDpSu4+r5iICY8umvBw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d9afd76ce931f98be65a2a2a0cf5abb52a087281", + "rev": "550bc1de8d953f096b641f938c783d4bd947f8bf", "type": "github" }, "original": { From 81adeee988c8401fffc6f9d546099d0760d941a4 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 9 Jun 2025 00:51:51 +0000 Subject: [PATCH 076/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 2ee0580d5d..f234f195ee 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1749342546, - "narHash": "sha256-+fzffsuW5LaeNzF3eC6T50CXPsOnkYT+PWPlBjg9Ki0=", + "lastModified": 1749428898, + "narHash": "sha256-IUKLK2emvXkyLIPG7QFZYXgUjy8fjikJ8Hf6KJg/Ck0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6556dd5b883eabe161ce0481405988dc948460b4", + "rev": "74c08c2338088dc27041cd9a851ece70accc2d07", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1749342535, - "narHash": "sha256-TS2IegxLFwwXJHn19EBDlWF1GDpSu4+r5iICY8umvBw=", + "lastModified": 1749428888, + "narHash": "sha256-wZqoGln7/kmcoDL39ySFWatp0tkmR0F9TqxFESJSWUs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "550bc1de8d953f096b641f938c783d4bd947f8bf", + "rev": "859629ddf648be505f0b81c476e02a2d96394276", "type": "github" }, "original": { From 26acfeff35f0a5aa08f74ce821b6d5fdcce79d8e Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 9 Jun 2025 17:44:01 +1200 Subject: [PATCH 077/308] Replace isDragonfly with isDragonFly in nix-tools (#2384) * Replace isDragonfly with isDragonFly in nix-tools Fixes #2312 * Fix name clash for "nix-tools" * update nix-tools-static.nix * update nix-tools-static.nix --------- Co-authored-by: Auto Update Bot --- .github/workflows/pipeline.yml | 2 +- .github/workflows/upload-artifacts.yml | 2 +- nix-tools-static.nix | 10 +++++----- nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs | 1 + 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 248453544d..2c3c022684 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -239,7 +239,7 @@ jobs: - name: "Check hix -- run github:haskell/cabal/3.10#cabal-install:exe:cabal -- --version" run: "HIX_DIR=$(mktemp -d) nix run .#hix --accept-flake-config -- run github:haskell/cabal/3.10#cabal-install:exe:cabal --accept-flake-config --override-input haskellNix . -- --version" - nix-tools: + check-nix-tools: runs-on: [self-hosted, linux] steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/upload-artifacts.yml b/.github/workflows/upload-artifacts.yml index a258a30b0f..fd7c804b46 100644 --- a/.github/workflows/upload-artifacts.yml +++ b/.github/workflows/upload-artifacts.yml @@ -1,4 +1,4 @@ -name: Wait for Hydra Build +name: Update Static Nix Tools on: push: diff --git a/nix-tools-static.nix b/nix-tools-static.nix index 5a6b7d8834..500b5bd46b 100644 --- a/nix-tools-static.nix +++ b/nix-tools-static.nix @@ -1,22 +1,22 @@ -pkgs: let baseurl = "https://github.com/input-output-hk/haskell.nix/releases/download/nix-tools-0.3.2/"; in { +pkgs: let baseurl = "https://github.com/input-output-hk/haskell.nix/releases/download/nix-tools-0.3.5/"; in { aarch64-darwin = pkgs.fetchurl { name = "aarch64-darwin-nix-tools-static"; url = "${baseurl}aarch64-darwin-nix-tools-static.zip"; - sha256 = "sha256-SlTAgNj3YjZpobl/aIZLI+o8EpxznW5X90UBTtHDwbw="; + sha256 = "sha256-umzS70a8h1pigTzBJdkChEPqIk83NXfi02zIDQIDrzI="; }; x86_64-darwin = pkgs.fetchurl { name = "x86_64-darwin-nix-tools-static"; url = "${baseurl}x86_64-darwin-nix-tools-static.zip"; - sha256 = "sha256-6m2f3DoARyoxR5Fh+87TfVCLkewwhozVLKbUzfXvUxs="; + sha256 = "sha256-O0T0tI+vD5ZuozKvqlfQR93UO6p4P0HyPQDLvhUIChs="; }; aarch64-linux = pkgs.fetchurl { name = "aarch64-linux-nix-tools-static"; url = "${baseurl}aarch64-linux-nix-tools-static.zip"; - sha256 = "sha256-MX4u23nzjByT9zcSN+HlKOAgQNtYvcuR8iOh54wR41U="; + sha256 = "sha256-J3z5WbEm96k25UyOK3kKRtecQvTQIORRhoROKFSULZI="; }; x86_64-linux = pkgs.fetchurl { name = "x86_64-linux-nix-tools-static"; url = "${baseurl}x86_64-linux-nix-tools-static.zip"; - sha256 = "sha256-QzTCy7HPY5xN6VFKJcibE1gWLsT4u8OPfJHvDMK3v7M="; + sha256 = "sha256-CKf8Drj1UOwlAg16S4kuyVp25O7al/5YzxwrLawVnwQ="; }; } diff --git a/nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs b/nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs index a0156f1df4..8f6f8a97ce 100644 --- a/nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs +++ b/nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs @@ -453,6 +453,7 @@ instance {-# OVERLAPS #-} ToNixExpr a => ToNixExpr [a] where -- condtional statements in .cabal files. fixSystem :: String -> String fixSystem "isJavascript" = "isJavaScript" +fixSystem "isDragonfly" = "isDragonFly" fixSystem s = s instance ToNixExpr ConfVar where From 0006048deccc01157772b27e60ce7a5ff378af01 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 10 Jun 2025 10:58:34 +1200 Subject: [PATCH 078/308] Use `-threaded` for iserv-proxy (#2385) * Use `-threaded` for iserv-proxy Fixes #2361 @luite tracked the failure down: > It's an async IO call that fails, async and fdwait have some limitations on Windows. the threaded runtime doesn't use them * Disable threaded for aarch64 cross GHC 9.6.7 --- flake.lock | 6 +++--- overlays/haskell.nix | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index f234f195ee..636681a203 100644 --- a/flake.lock +++ b/flake.lock @@ -372,11 +372,11 @@ "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1749176681, - "narHash": "sha256-RLoo84PBSeGKbqMETsU0lEJDnc/oTx0l/TYzCaWqlgc=", + "lastModified": 1749443511, + "narHash": "sha256-asfdanBoIUcJ9XQWB3a/5wQGFG/6Uq6l2s9r8OuamkY=", "owner": "stable-haskell", "repo": "iserv-proxy", - "rev": "6972fbc49574108cb48723bb94260e3ce17898f7", + "rev": "e40eddb1ca1e3e906e018c7e6b0d1e51c930ec9d", "type": "github" }, "original": { diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 3e6b6ac8d0..7671866b76 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -1053,6 +1053,14 @@ final: prev: { setupBuildFlags = final.lib.mkForce []; }; }]; + } // final.lib.optionalAttrs ( + final.stdenv.hostPlatform.isAarch64 + && builtins.compareVersions final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.8" < 0) { + # The th-dlls test fails for aarch64 cross GHC 9.6.7 when the threaded rts is used + cabalProjectLocal = '' + package iserv-proxy + flags: -threaded + ''; } // final.lib.optionalAttrs (__compareVersions final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.10" > 0) { cabalProjectLocal = '' allow-newer: *:base, *:bytestring From 07980c9354842dd3858d124ccde54bf4fa010ecf Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 10 Jun 2025 00:51:38 +0000 Subject: [PATCH 079/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 636681a203..2da0413529 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1749428898, - "narHash": "sha256-IUKLK2emvXkyLIPG7QFZYXgUjy8fjikJ8Hf6KJg/Ck0=", + "lastModified": 1749515204, + "narHash": "sha256-cbcd0fRrZpJbnp88pps7FPTuW2Jnt9K2ujJ2PddE0dg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "74c08c2338088dc27041cd9a851ece70accc2d07", + "rev": "048f77387cacd560e4679217cf236bb98389e80b", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1749428888, - "narHash": "sha256-wZqoGln7/kmcoDL39ySFWatp0tkmR0F9TqxFESJSWUs=", + "lastModified": 1749515194, + "narHash": "sha256-zIUILmK0Xc0JfSWaxjcjBheKhp0a2A0HKjeYQy7octc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "859629ddf648be505f0b81c476e02a2d96394276", + "rev": "a7f793827a5f655057ad08f7141eb69d1bbe5b65", "type": "github" }, "original": { From 70b7857fafd7c762f323e01dad7983c66e003f7c Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 11 Jun 2025 00:51:40 +0000 Subject: [PATCH 080/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 2da0413529..702e8d455c 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1749515204, - "narHash": "sha256-cbcd0fRrZpJbnp88pps7FPTuW2Jnt9K2ujJ2PddE0dg=", + "lastModified": 1749601612, + "narHash": "sha256-9UK05njjMRZYtVmqxzKkN37FE7ZcBQrpPAcUSat9UAQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "048f77387cacd560e4679217cf236bb98389e80b", + "rev": "cb6059f1e3eda55b356a46aae8118159715075b9", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1749515194, - "narHash": "sha256-zIUILmK0Xc0JfSWaxjcjBheKhp0a2A0HKjeYQy7octc=", + "lastModified": 1749601602, + "narHash": "sha256-wLE6jJAU+2D9BgFj4mr9lGYX+SKRYcHpywF16KzSIxI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a7f793827a5f655057ad08f7141eb69d1bbe5b65", + "rev": "4b642712c71abf245187bb2bd1bd550d68bf8236", "type": "github" }, "original": { From 402740ea995f05b6d27d3b261d273ca43dc6bfc0 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 12 Jun 2025 00:52:07 +0000 Subject: [PATCH 081/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 702e8d455c..13a5a44546 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1749601612, - "narHash": "sha256-9UK05njjMRZYtVmqxzKkN37FE7ZcBQrpPAcUSat9UAQ=", + "lastModified": 1749687986, + "narHash": "sha256-cEt2Hhbc0w0SqiadjZg4TJyn2+rKxW/15nmu4an79wo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "cb6059f1e3eda55b356a46aae8118159715075b9", + "rev": "0949afe39e6d249b6db126a96646d3f51a4a4c11", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1749601602, - "narHash": "sha256-wLE6jJAU+2D9BgFj4mr9lGYX+SKRYcHpywF16KzSIxI=", + "lastModified": 1749687976, + "narHash": "sha256-CIy7o8PDJObfuBc0UTUXGpySA1cxPFp46A8Bi/fWzh4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4b642712c71abf245187bb2bd1bd550d68bf8236", + "rev": "c0ec5d2de9aed5d63ee86d5c9c753d62f860d362", "type": "github" }, "original": { @@ -540,11 +540,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1748477586, - "narHash": "sha256-XlNzJApYAlnV+rPcFIHgxaA304jbfY00JbbkDpsd6bs=", + "lastModified": 1749687194, + "narHash": "sha256-q8sDch6qHpICjnhJfZ72N7LHqlT693kf4i3RKon52oY=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "c04f95ad0731ff773c027ed1390aca827d9ca902", + "rev": "1e7f1004b1e151bea95bb6808fe4178e0b3b6b22", "type": "github" }, "original": { From 2243adfe1e2d7b8666afb1288a0fef908f873d19 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 12 Jun 2025 19:44:05 +1200 Subject: [PATCH 082/308] Fix splitmix on android (#2388) * Fix splitmix on android See https://github.com/haskellari/splitmix/pull/97 * Fix defaults used when passing args to `shellFor` --- overlays/haskell.nix | 10 ++++------ test/cabal.project.local | 7 +++++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 7671866b76..2000f47e83 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -827,10 +827,11 @@ final: prev: { # ]; # } # - shellFor = extraArgs: shellFor' (rawProject.args.shell // extraArgs).crossPlatforms extraArgs; - shellFor' = crossPlatforms: extraArgs: + shellFor = extraArgs: (appendModule { shell = extraArgs; }).shell; + shell = shellFor' rawProject.args.shell.crossPlatforms; + shellFor' = crossPlatforms: let - shellArgs = builtins.removeAttrs (rawProject.args.shell // extraArgs) [ "crossPlatforms" ]; + shellArgs = builtins.removeAttrs rawProject.args.shell [ "crossPlatforms" ]; # These are the args we will pass to the shells for the corss compiler argsCross = # These things should match main shell @@ -848,9 +849,6 @@ final: prev: { inputsFrom = shellArgs.inputsFrom or [] ++ crossShells; }); - # Default shell - shell = shellFor {}; - # Like `.hsPkgs.${packageName}` but when compined with `getComponent` any # cabal configure errors are defered until the components derivation builds. getPackage = packageName: diff --git a/test/cabal.project.local b/test/cabal.project.local index d3e73d819b..5c36c9fe25 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -1,3 +1,10 @@ +-- See https://github.com/haskellari/splitmix/pull/97 +source-repository-package + type: git + location: https://github.com/hamishmack/splitmix.git + tag: e3549473b124a7ba078408ac0d2c8aa8111c3888 + --sha256: sha256-o18DEF4+z3/jGhMZbow8PFtYBiIm6+b4B+6o5tM6ez0= + if impl(ghc>=9.12.1) -- allow newer packages, that are bound to be newer due to -- being shipped with a newer compiler. If you extend this From 2e3a85b40f9c6737ff36136d595981b9776f12ef Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 13 Jun 2025 05:50:58 +1200 Subject: [PATCH 083/308] Run custom preprocessors before `setup haddock` (#2386) * Run custom preprocessors before `setup haddock` Run `setup build --with-ghc=false || true` before running `setup haddock` to make sure the preprocessor outputs of any custom build step are present. Fixes #2243 * Reduce number of tests --- builder/haddock-builder.nix | 6 ++++++ ci.nix | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/builder/haddock-builder.nix b/builder/haddock-builder.nix index 24f56cbf04..ae6a853259 100644 --- a/builder/haddock-builder.nix +++ b/builder/haddock-builder.nix @@ -109,6 +109,12 @@ let # If we don't have any source files, no need to run haddock [[ -n $(find . -name "*.hs" -o -name "*.lhs") ]] && { + # Run any preprocessor in the custom build step + $SETUP_HS build \ + "--with-ghc=false" \ + ${lib.optionalString (haskellLib.isTest componentId) "--tests"} \ + ${lib.concatStringsSep " " setupHaddockFlags} || true + $SETUP_HS haddock \ "--html" \ ${lib.optionalString (haskellLib.isTest componentId) "--tests"} \ diff --git a/ci.nix b/ci.nix index e07482ba5e..cbef43e890 100644 --- a/ci.nix +++ b/ci.nix @@ -66,10 +66,10 @@ # from here (so that is no longer cached) also remove ./materialized/ghcXXX. # Update supported-ghc-versions.md to reflect any changes made here. nixpkgs.lib.optionalAttrs (builtins.elem nixpkgsName ["R2411" "R2505"]) { - ghc96 = true; - ghc98 = true; - ghc910 = true; - ghc912 = true; + ghc96 = false; + ghc98 = false; + ghc910 = false; + ghc912 = false; } // nixpkgs.lib.optionalAttrs (nixpkgsName == "unstable") { ghc96 = true; ghc98 = true; From caecf931a16520e001ca228d130380ece300f7d6 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 13 Jun 2025 05:51:44 +1200 Subject: [PATCH 084/308] Use haskell-language-server 2.11 (#2387) * Use haskell-language-server 2.11 * Use existing haddock-library and haddock-api on GHC >9.12 * Reduce number of tests --- build.nix | 4 ++-- flake.lock | 18 ++++++++++++++++++ flake.nix | 1 + lib/call-cabal-project-to-nix.nix | 2 ++ overlays/haskell.nix | 3 +++ test/haskell-language-server/cabal.nix | 4 ++-- 6 files changed, 28 insertions(+), 4 deletions(-) diff --git a/build.nix b/build.nix index 94525f28c7..f52fdcb9f7 100644 --- a/build.nix +++ b/build.nix @@ -57,10 +57,10 @@ in rec { inherit evalPackages; src = pkgs.haskell-nix.sources."hls-2.2"; }; - } // pkgs.lib.optionalAttrs (ghcFromTo "9.0" "9.10.2") { + } // pkgs.lib.optionalAttrs (ghcFromTo "9.0" "9.13") { "hls" = tool compiler-nix-name "haskell-language-server" { inherit evalPackages; - src = pkgs.haskell-nix.sources."hls-2.10"; + src = pkgs.haskell-nix.sources."hls-2.11"; }; }) ); diff --git a/flake.lock b/flake.lock index 13a5a44546..fe8aba0749 100644 --- a/flake.lock +++ b/flake.lock @@ -217,6 +217,23 @@ "type": "github" } }, + "hls-2.11": { + "flake": false, + "locked": { + "lastModified": 1747306193, + "narHash": "sha256-/MmtpF8+FyQlwfKHqHK05BdsxC9LHV70d/FiMM7pzBM=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "46ef4523ea4949f47f6d2752476239f1c6d806fe", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.11.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, "hls-2.2": { "flake": false, "locked": { @@ -514,6 +531,7 @@ "hls-1.10": "hls-1.10", "hls-2.0": "hls-2.0", "hls-2.10": "hls-2.10", + "hls-2.11": "hls-2.11", "hls-2.2": "hls-2.2", "hls-2.3": "hls-2.3", "hls-2.4": "hls-2.4", diff --git a/flake.nix b/flake.nix index 12f31554a9..a28bd6abbc 100644 --- a/flake.nix +++ b/flake.nix @@ -21,6 +21,7 @@ "hls-2.8" = { url = "github:haskell/haskell-language-server/2.8.0.0"; flake = false; }; "hls-2.9" = { url = "github:haskell/haskell-language-server/2.9.0.1"; flake = false; }; "hls-2.10" = { url = "github:haskell/haskell-language-server/2.10.0.0"; flake = false; }; + "hls-2.11" = { url = "github:haskell/haskell-language-server/2.11.0.0"; flake = false; }; "hls" = { url = "github:haskell/haskell-language-server"; flake = false; }; hackage = { url = "github:input-output-hk/hackage.nix"; diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index 4e7b3a73d6..952ebb1e09 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -461,6 +461,8 @@ let cabal_file=${ghcSrc}/compiler/${name}.cabal.in elif [ -f ${ghcSrc}/libraries/${name}/${name}.cabal.in ]; then cabal_file=${ghcSrc}/libraries/${name}/${name}.cabal.in + elif [ -f ${ghcSrc}/utils/haddock/${name}/${name}.cabal ]; then + cabal_file=${ghcSrc}/utils/haddock/${name}/${name}.cabal fi if [[ "$cabal_file" != "" ]]; then fixed_cabal_file=$(mktemp) diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 2000f47e83..01a15ecdce 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -1126,6 +1126,9 @@ final: prev: { "xhtml" ] ++ final.lib.optionals (builtins.compareVersions ghc.version "9.4" > 0) [ "system-cxx-std-lib" + ] ++ final.lib.optionals (builtins.compareVersions ghc.version "9.12" > 0) [ + "haddock-api" + "haddock-library" ] ++ final.lib.optionals ( !final.stdenv.targetPlatform.isGhcjs && !final.stdenv.targetPlatform.isWindows diff --git a/test/haskell-language-server/cabal.nix b/test/haskell-language-server/cabal.nix index fb432f4d74..26cc6a4104 100644 --- a/test/haskell-language-server/cabal.nix +++ b/test/haskell-language-server/cabal.nix @@ -3,7 +3,7 @@ let project = haskell-nix.cabalProject' { inherit compiler-nix-name evalPackages; name = "haskell-language-server"; - src = haskell-nix.sources."hls-2.10"; + src = haskell-nix.sources."hls-2.11"; configureArgs = "--disable-benchmarks --disable-tests"; # This makes cabalProject' more like the `tool` function }; in recurseIntoAttrs { @@ -16,5 +16,5 @@ in recurseIntoAttrs { meta.disabled = stdenv.hostPlatform != stdenv.buildPlatform || __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.0.1" < 0 - || __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.10.2" >= 0; + || __compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.13" >= 0; } From 3c3eb1cdd3e394fec7755ddf18678a23846dac61 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 13 Jun 2025 00:52:11 +0000 Subject: [PATCH 085/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index fe8aba0749..3e4c795a5f 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1749687986, - "narHash": "sha256-cEt2Hhbc0w0SqiadjZg4TJyn2+rKxW/15nmu4an79wo=", + "lastModified": 1749774411, + "narHash": "sha256-NJI+NUsrfvFqQcdkmSr2l4IEs6H45p2U9ktekGrG5wY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "0949afe39e6d249b6db126a96646d3f51a4a4c11", + "rev": "16f9d0eab65cf750dcc06357b0d3323f8e7f8b3c", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1749687976, - "narHash": "sha256-CIy7o8PDJObfuBc0UTUXGpySA1cxPFp46A8Bi/fWzh4=", + "lastModified": 1749774401, + "narHash": "sha256-JEe6dWi1OGi+XmmcM7WLETKjXCfvJoxNyxXbH3RtQTk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c0ec5d2de9aed5d63ee86d5c9c753d62f860d362", + "rev": "31f4603510e68b62a437436de8d8117952110c80", "type": "github" }, "original": { @@ -558,11 +558,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1749687194, - "narHash": "sha256-q8sDch6qHpICjnhJfZ72N7LHqlT693kf4i3RKon52oY=", + "lastModified": 1749773622, + "narHash": "sha256-fFKX356VvLP+IbHcKy46qEQjqNqKLYtOcski2Xqpeww=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "1e7f1004b1e151bea95bb6808fe4178e0b3b6b22", + "rev": "d8aa8ec01f62aaea09d62ff0f663866831074f2c", "type": "github" }, "original": { From 89698a91a19759dd4f8ed4547493f1a215ee3b64 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 14 Jun 2025 00:52:02 +0000 Subject: [PATCH 086/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 3e4c795a5f..59eb806f6a 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1749774411, - "narHash": "sha256-NJI+NUsrfvFqQcdkmSr2l4IEs6H45p2U9ktekGrG5wY=", + "lastModified": 1749860758, + "narHash": "sha256-hUgMSTIKkJfH7VFkyYoHpyze/yB96ZtvGF8w8rejirI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "16f9d0eab65cf750dcc06357b0d3323f8e7f8b3c", + "rev": "99be41a70ca1387358ad6d45f9c04d30dce142be", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1749774401, - "narHash": "sha256-JEe6dWi1OGi+XmmcM7WLETKjXCfvJoxNyxXbH3RtQTk=", + "lastModified": 1749860748, + "narHash": "sha256-knoiQUAmWPmENuPufSExmeoa/Xuyix9kZYzemkg4Lhs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "31f4603510e68b62a437436de8d8117952110c80", + "rev": "a4b40e15afe5a9a6690c399f27762f2622d4bc34", "type": "github" }, "original": { @@ -558,11 +558,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1749773622, - "narHash": "sha256-fFKX356VvLP+IbHcKy46qEQjqNqKLYtOcski2Xqpeww=", + "lastModified": 1749859982, + "narHash": "sha256-heqEwZyQgVF4m4eKX4WdXMstkae3tPPLfR3UtdWIMTQ=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d8aa8ec01f62aaea09d62ff0f663866831074f2c", + "rev": "0a6d05894e4aecb87e489998edd7d8b5f068f57b", "type": "github" }, "original": { From edeafd2675194b3b52e4077dfe4f270a6230ee9d Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 15 Jun 2025 00:52:28 +0000 Subject: [PATCH 087/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 59eb806f6a..b86384bb0f 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1749860758, - "narHash": "sha256-hUgMSTIKkJfH7VFkyYoHpyze/yB96ZtvGF8w8rejirI=", + "lastModified": 1749947362, + "narHash": "sha256-XRCfjyAJkcUMTOFi8k+qIz42yFJFFkB8f3vJO99VK9s=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "99be41a70ca1387358ad6d45f9c04d30dce142be", + "rev": "576db1b7b6a1faadc82995e1ee756ee34d6e09f9", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1749860748, - "narHash": "sha256-knoiQUAmWPmENuPufSExmeoa/Xuyix9kZYzemkg4Lhs=", + "lastModified": 1749947352, + "narHash": "sha256-Y/fnzHgE6a3Oy9URJWXJPwIPQAxAScQ5cBA/FCMj9lc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a4b40e15afe5a9a6690c399f27762f2622d4bc34", + "rev": "0dca18c5005758fb6e3dae485e30ea4ed9691978", "type": "github" }, "original": { @@ -558,11 +558,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1749859982, - "narHash": "sha256-heqEwZyQgVF4m4eKX4WdXMstkae3tPPLfR3UtdWIMTQ=", + "lastModified": 1749946498, + "narHash": "sha256-xh+PW3ReewaInSeCzEEo6LkcGFm3AzMNfRw/3Err7ag=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "0a6d05894e4aecb87e489998edd7d8b5f068f57b", + "rev": "baa43f8bd5bf6b31b80125c65c053f99b034f37d", "type": "github" }, "original": { From 96816a01223b4889c44697694d9560c5d7b666e2 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 16 Jun 2025 00:51:52 +0000 Subject: [PATCH 088/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b86384bb0f..505f54cc4c 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1749947362, - "narHash": "sha256-XRCfjyAJkcUMTOFi8k+qIz42yFJFFkB8f3vJO99VK9s=", + "lastModified": 1750033658, + "narHash": "sha256-jq6W0qV+SrsIZ0/3QDp3PqM4wHmgP+1H3wgS/gEmbvQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "576db1b7b6a1faadc82995e1ee756ee34d6e09f9", + "rev": "f4896186a2d76166b79dc677ca1d7cc08ab6059b", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1749947352, - "narHash": "sha256-Y/fnzHgE6a3Oy9URJWXJPwIPQAxAScQ5cBA/FCMj9lc=", + "lastModified": 1750033648, + "narHash": "sha256-yS9FgMG0VIfsbWBGj9fYt+PTttqa7Rt4s/+AXTJTV4E=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "0dca18c5005758fb6e3dae485e30ea4ed9691978", + "rev": "d32034f66af1e1b1377e48cb1fbb1192a0a5ed6c", "type": "github" }, "original": { @@ -558,11 +558,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1749946498, - "narHash": "sha256-xh+PW3ReewaInSeCzEEo6LkcGFm3AzMNfRw/3Err7ag=", + "lastModified": 1750032843, + "narHash": "sha256-N1mjr/hJ3oGuNcAA0gzFtzCtiNF8rF3TTr5GodSAsZM=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "baa43f8bd5bf6b31b80125c65c053f99b034f37d", + "rev": "96a0a7d96858402cd73f98a4ad04a738fd7b8546", "type": "github" }, "original": { From 921b6503a1eb48bced46d359d3a51c86fffa7bcb Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 17 Jun 2025 00:52:07 +0000 Subject: [PATCH 089/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 505f54cc4c..d6bc3720a9 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1750033658, - "narHash": "sha256-jq6W0qV+SrsIZ0/3QDp3PqM4wHmgP+1H3wgS/gEmbvQ=", + "lastModified": 1750120007, + "narHash": "sha256-+/W6Mnhr5O0Lm+TSuL4nkjvfvXfJpAuwxnRJ9XOAdGQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f4896186a2d76166b79dc677ca1d7cc08ab6059b", + "rev": "09760806b855ee12916a3dcb135d7f5fbff85a3e", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1750033648, - "narHash": "sha256-yS9FgMG0VIfsbWBGj9fYt+PTttqa7Rt4s/+AXTJTV4E=", + "lastModified": 1750119997, + "narHash": "sha256-W00GgzQBi2wtOCVskjzPgqRZkNzFPF87UhAUTRQvc74=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d32034f66af1e1b1377e48cb1fbb1192a0a5ed6c", + "rev": "b0a85bc4fdec96129b30e65aa431927817c7a7f0", "type": "github" }, "original": { @@ -558,11 +558,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1750032843, - "narHash": "sha256-N1mjr/hJ3oGuNcAA0gzFtzCtiNF8rF3TTr5GodSAsZM=", + "lastModified": 1750119212, + "narHash": "sha256-TsW+cHOQTUnOYdoldr+Cnk6hjDF+Ph050+uihGL3rgw=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "96a0a7d96858402cd73f98a4ad04a738fd7b8546", + "rev": "01f8e0f3049d543b330de39278bb42ecb6c87599", "type": "github" }, "original": { From cd9ddc0a45f6af5d32f0ca7e9a08ac8a1e199915 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 18 Jun 2025 00:52:10 +0000 Subject: [PATCH 090/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index d6bc3720a9..aa71cdeb03 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1750120007, - "narHash": "sha256-+/W6Mnhr5O0Lm+TSuL4nkjvfvXfJpAuwxnRJ9XOAdGQ=", + "lastModified": 1750206399, + "narHash": "sha256-xfdraUW6ocTsK7vpP5WK6dthi0W4x+0Rv9Q+OayUMoY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "09760806b855ee12916a3dcb135d7f5fbff85a3e", + "rev": "de0d14da94af55d9f05691bee8251cd8b5853294", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1750119997, - "narHash": "sha256-W00GgzQBi2wtOCVskjzPgqRZkNzFPF87UhAUTRQvc74=", + "lastModified": 1750206390, + "narHash": "sha256-oQP8Nt2+ZvMPzGVSiGDEW7ODlAYbtpjvpLJcqbUVy/8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b0a85bc4fdec96129b30e65aa431927817c7a7f0", + "rev": "089c6a92fc4e53f868503afea683bc6185d9c5a3", "type": "github" }, "original": { From b83fd1de29c3f01220168da16e63abc22b87b309 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 19 Jun 2025 00:52:25 +0000 Subject: [PATCH 091/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index aa71cdeb03..03b81be2a5 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1750206399, - "narHash": "sha256-xfdraUW6ocTsK7vpP5WK6dthi0W4x+0Rv9Q+OayUMoY=", + "lastModified": 1750292855, + "narHash": "sha256-fI06UmPtWs+lZy6aKE4nBKDWRKJeJr8s+qUAQgvpwCM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "de0d14da94af55d9f05691bee8251cd8b5853294", + "rev": "87d047843ca7b233a428e550c68e6b5faaaa8008", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1750206390, - "narHash": "sha256-oQP8Nt2+ZvMPzGVSiGDEW7ODlAYbtpjvpLJcqbUVy/8=", + "lastModified": 1750292845, + "narHash": "sha256-T97PDckdA0YfLUB1+qcBKXI73U6UHYFnneS0U/FFtQ0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "089c6a92fc4e53f868503afea683bc6185d9c5a3", + "rev": "8d4b3a048e8cbfcd8bb22e582748a322bcd629d4", "type": "github" }, "original": { @@ -558,11 +558,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1750119212, - "narHash": "sha256-TsW+cHOQTUnOYdoldr+Cnk6hjDF+Ph050+uihGL3rgw=", + "lastModified": 1750292027, + "narHash": "sha256-rmEsCxLWS/rAdIzZPSi0XbrY2BOztBlSHQHgYoXyovU=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "01f8e0f3049d543b330de39278bb42ecb6c87599", + "rev": "3f8c717e24953914821f1ddb4797dd768326faa6", "type": "github" }, "original": { From 76bdb3e116a6908006433e1db92d7d97e2dcf192 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 20 Jun 2025 09:37:36 +1200 Subject: [PATCH 092/308] Use hackage.nix/index-state.nix (#2392) Since this file is updated every 5 minutes (if hackage has changed), we can get the latest hackage packages by waiting 5 minutes and running: ``` nix flake update haskellNix/hackage ``` --- flake.lock | 23 ++++++++++++++++++++--- flake.nix | 4 ++++ overlays/haskell.nix | 12 +++++++++--- 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 03b81be2a5..835fddc395 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1750292855, - "narHash": "sha256-fI06UmPtWs+lZy6aKE4nBKDWRKJeJr8s+qUAQgvpwCM=", + "lastModified": 1750307553, + "narHash": "sha256-iiafNoeLHwlSLQTyvy8nPe2t6g5AV4PPcpMeH/2/DLs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "87d047843ca7b233a428e550c68e6b5faaaa8008", + "rev": "f7867baa8817fab296528f4a4ec39d1c7c4da4f3", "type": "github" }, "original": { @@ -150,6 +150,22 @@ "type": "github" } }, + "hackage-internal": { + "flake": false, + "locked": { + "lastModified": 1750307553, + "narHash": "sha256-iiafNoeLHwlSLQTyvy8nPe2t6g5AV4PPcpMeH/2/DLs=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "f7867baa8817fab296528f4a4ec39d1c7c4da4f3", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, "hls": { "flake": false, "locked": { @@ -527,6 +543,7 @@ "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", "hackage": "hackage", "hackage-for-stackage": "hackage-for-stackage", + "hackage-internal": "hackage-internal", "hls": "hls", "hls-1.10": "hls-1.10", "hls-2.0": "hls-2.0", diff --git a/flake.nix b/flake.nix index a28bd6abbc..54723b2b81 100644 --- a/flake.nix +++ b/flake.nix @@ -31,6 +31,10 @@ url = "github:input-output-hk/hackage.nix/for-stackage"; flake = false; }; + hackage-internal = { + url = "github:input-output-hk/hackage.nix"; + flake = false; + }; stackage = { url = "github:input-output-hk/stackage.nix"; flake = false; diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 01a15ecdce..1f3b468610 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -437,8 +437,8 @@ final: prev: { # If you want to update this value it important to check the # materializations. Turn `checkMaterialization` on below and # check the CI results before turning it off again. - internalHackageIndexState = "2024-10-17T00:00:00Z"; # Remember to also update ../nix-tools/cabal.project and ../nix-tools/flake.lock - + internalHackageIndexState = builtins.head (builtins.attrNames ( + import (sources.hackage-internal + "/index-state.nix"))); checkMaterialization = false; # This is the default. Use an overlay to set it to true and test all the materialized files # Helps materialize the output of derivations @@ -601,7 +601,13 @@ final: prev: { # Takes a haskell src directory runs cabal new-configure and plan-to-nix. # Resulting nix files are added to nix-plan subdirectory. callCabalProjectToNix = import ../lib/call-cabal-project-to-nix.nix { - index-state-hashes = import indexStateHashesPath; + index-state-hashes = + ( + if builtins.pathExists (hackageSrc + "/index-state.nix") + then import (hackageSrc + "/index-state.nix") + else import (hackageSrc + "/index-state-hashes.nix") + ) + // import (sources.hackage-internal + "/index-state.nix"); inherit (final.buildPackages.haskell-nix) haskellLib; pkgs = final.buildPackages.pkgs; inherit (final.buildPackages.pkgs) cacert; From bd2866b6faffb7da8ae99a276f7da7b7530a6ba4 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 20 Jun 2025 09:38:16 +1200 Subject: [PATCH 093/308] Fix cross compilation shells (#2393) --- overlays/haskell.nix | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 1f3b468610..3d6ad1c6c0 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -838,18 +838,13 @@ final: prev: { shellFor' = crossPlatforms: let shellArgs = builtins.removeAttrs rawProject.args.shell [ "crossPlatforms" ]; - # These are the args we will pass to the shells for the corss compiler - argsCross = - # These things should match main shell - final.lib.filterAttrs (n: _: builtins.elem n [ - "packages" "components" "additional" "exactDeps" "packageSetupDeps" - ]) shellArgs // { - # The main shell's hoogle will probably be faster to build. - withHoogle = false; - }; # Shells for cross compilation - crossShells = builtins.map (project: project.shellFor' (_p: []) argsCross) - (crossPlatforms projectCross); + crossShells = builtins.map (project: project.shellFor { + # Prevent recursion + crossPlatforms = final.lib.mkForce (_p: []); + # The main shell's hoogle will probably be faster to build. + withHoogle = final.lib.mkForce false; + }) (crossPlatforms projectCross); in rawProject.hsPkgs.shellFor (shellArgs // { # Add inputs from the cross compilation shells inputsFrom = shellArgs.inputsFrom or [] ++ crossShells; @@ -1158,7 +1153,7 @@ final: prev: { let ghc = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.override { hadrianEvalPackages = evalPackages; }; in - final.recurseIntoAttrs ({ + final.recurseIntoAttrs ({ # Things that require no IFD to build source-pin-hackage = hackageSrc; source-pin-stackage = stackageSrc; From efad04e96546d14b6168db02fc800d0af8cfa229 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 20 Jun 2025 09:45:06 +1200 Subject: [PATCH 094/308] Fix `index-sha256` bit rot (#2390) * Fix `index-sha256` bit rot If an new package is deployed to `hackage.haskell.org`, to use it before it is captured by the `hackage.nix` update add the following to the project arguments: ```nix index-state="2025-06-16T00:00:00Z"; # Use current time here # This hash in not valid, the error message will give the correct hash index-sha256="sha256-NS28jJYko/tNUKVhncntu/mV8tsQmTA52T000000000="; ``` This change PR fixes some "bit rot" issues: * A warning about `--index-state` argument being out of range is now an error. * The sha256 might now be in base16 or base32. * Add comment * Doc change to trigger hydra CI * Fix cross compilation shells * Use hackage.nix/index-state.nix * Support for older hackage.nix versions --- docs/reference/library.md | 4 ++-- lib/call-cabal-project-to-nix.nix | 4 +++- mk-local-hackage-repo/default.nix | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/reference/library.md b/docs/reference/library.md index 4137cc0d45..c6014831cd 100644 --- a/docs/reference/library.md +++ b/docs/reference/library.md @@ -273,8 +273,8 @@ needed for `importAndFilterProject`. |----------------------|------|---------------------| | `name` | String | Optional name for better error messages. | | `src` | Path | Location of the cabal project files. | -| `compiler-nix-name` | String | The name of the ghc compiler to use eg. "ghc884" | -| `index-state` | Timestamp | Optional hackage index-state, eg. "2019-10-10T00:00:00Z". | +| `compiler-nix-name` | String | The name of the ghc compiler to use eg. "ghc9122" | +| `index-state` | Timestamp | Optional hackage index-state, eg. "2025-01-10T00:00:00Z". | | `index-sha256` | Sha256 | Optional hash of the truncated hackage index-state. | | `plan-sha256` | Sha256 | Optional hash of the plan-to-nix output (makes the plan-to-nix step a fixed output derivation). | | `cabalProject` | String | Optional cabal project file contents (defaults to readFile "${src}/cabal.project"). | diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index 952ebb1e09..42679dffc5 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -678,7 +678,9 @@ let # Setting the desired `index-state` here in case it is not # in the cabal.project file. This will further restrict the # packages used by the solver (cached-index-state >= index-state-max). - pkgs.lib.optionalString (index-state != null) "--index-state=${index-state}" + # Cabal treats `--index-state` > the last known package as an error, + # so we only include this if it is < cached-index-state. + pkgs.lib.optionalString (index-state != null && index-state < cached-index-state) "--index-state=${index-state}" } \ -w ${ # We are using `-w` rather than `--with-ghc` here to override diff --git a/mk-local-hackage-repo/default.nix b/mk-local-hackage-repo/default.nix index 66647dddea..e0e1d4e039 100644 --- a/mk-local-hackage-repo/default.nix +++ b/mk-local-hackage-repo/default.nix @@ -17,7 +17,7 @@ pkgs: { name, index }: -pkgs.buildPackages.runCommand "hackage-repo-${name}" { preferLocalBuild = true; } '' +pkgs.pkgsBuildBuild.runCommand "hackage-repo-${name}" { preferLocalBuild = true; } '' mkdir -p $out export expires="4000-01-01T00:00:00Z" @@ -29,7 +29,7 @@ ${ # of the index derivation (when the `extra-hackages` feature is used the index # may not have an outputHash). pkgs.lib.optionalString (index ? outputHash) '' - if [[ "${index.outputHash}" != "$index_sha256" ]]; then + if [[ "$(${pkgs.pkgsBuildBuild.nix}/bin/nix-hash --type sha256 --to-base16 ${index.outputHash})" != "$index_sha256" ]]; then echo "ERROR See https://github.com/input-output-hk/haskell.nix/issues/884" exit 1 fi From cd018752446d8c6405d3d05814c676a5e5781ba6 Mon Sep 17 00:00:00 2001 From: Teo Camarasu Date: Fri, 20 Jun 2025 00:55:24 +0100 Subject: [PATCH 095/308] Allow using GHC with ld.lld (#2391) We need to add llvmPackages.bintools to the nativeBuildInputs of builders when using this and we need to configure GHC to use ld.lld. --- builder/comp-builder.nix | 5 +++-- builder/haddock-builder.nix | 5 +++-- builder/setup-builder.nix | 4 ++-- compiler/ghc/default.nix | 21 +++++++++++++++++---- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index ea9a1f05bd..948abc2492 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -1,4 +1,4 @@ -{ pkgs, stdenv, buildPackages, pkgsBuildBuild, ghc, lib, gobject-introspection ? null, haskellLib, makeConfigFiles, haddockBuilder, ghcForComponent, hsPkgs, compiler, runCommand, libffi, gmp, windows, zlib, ncurses, nodejs, nonReinstallablePkgs }@defaults: +{ pkgs, stdenv, buildPackages, pkgsBuildBuild, ghc, llvmPackages, lib, gobject-introspection ? null, haskellLib, makeConfigFiles, haddockBuilder, ghcForComponent, hsPkgs, compiler, runCommand, libffi, gmp, windows, zlib, ncurses, nodejs, nonReinstallablePkgs }@defaults: lib.makeOverridable ( let self = { componentId @@ -430,7 +430,8 @@ let nativeBuildInputs = [ghc buildPackages.removeReferencesTo] ++ executableToolDepends - ++ (lib.optional stdenv.hostPlatform.isGhcjs buildPackages.nodejs); + ++ (lib.optional stdenv.hostPlatform.isGhcjs buildPackages.nodejs) + ++ (lib.optional (ghc.useLdLld or false) llvmPackages.bintools); outputs = ["out"] ++ (lib.optional keepConfigFiles "configFiles") diff --git a/builder/haddock-builder.nix b/builder/haddock-builder.nix index ae6a853259..b276b4b6f8 100644 --- a/builder/haddock-builder.nix +++ b/builder/haddock-builder.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPackages, lib, haskellLib, ghc, ghcForComponent, nonReinstallablePkgs, runCommand, writeText, writeScript, makeConfigFiles }: +{ stdenv, buildPackages, lib, haskellLib, ghc, ghcForComponent, nonReinstallablePkgs, runCommand, writeText, writeScript, makeConfigFiles, llvmPackages }: { componentId , component @@ -80,7 +80,8 @@ let nativeBuildInputs = [ ghc buildPackages.removeReferencesTo ] - ++ componentDrv.executableToolDepends; + ++ componentDrv.executableToolDepends + ++ (lib.optional (ghc.useLdLld or false) llvmPackages.bintools); configurePhase = '' mkdir -p $configFiles diff --git a/builder/setup-builder.nix b/builder/setup-builder.nix index 4e8ff3c1e9..7b57fd3647 100644 --- a/builder/setup-builder.nix +++ b/builder/setup-builder.nix @@ -1,4 +1,4 @@ -{ pkgs, stdenv, lib, buildPackages, haskellLib, ghc, nonReinstallablePkgs, hsPkgs, makeSetupConfigFiles }@defaults: +{ pkgs, stdenv, lib, buildPackages, haskellLib, ghc, nonReinstallablePkgs, hsPkgs, makeSetupConfigFiles, llvmPackages }@defaults: let self = { component, package, name, src, enableDWARF ? false, flags ? {}, revision ? null, patches ? [], defaultSetupSrc @@ -67,7 +67,7 @@ let ++ builtins.concatLists component.pkgconfig ++ configFiles.libDeps ++ [ghc]; # Needs to be a build input so that the boot libraries are included - nativeBuildInputs = [ghc] ++ executableToolDepends; + nativeBuildInputs = [ghc] ++ executableToolDepends ++ (lib.optional (ghc.useLdLld or false) llvmPackages.bintools); passthru = { inherit (package) identifier; diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 9d31c197cf..d096f862b9 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -76,7 +76,7 @@ let self = # don't use gold with with musl. Still seems to be # affected by 22266. && !stdenv.targetPlatform.isMusl) - +, useLdLld ? false , ghc-version ? src-spec.version , ghc-version-date ? null , ghc-commit-id ? null @@ -95,6 +95,8 @@ assert !(enableIntegerSimple || enableNativeBignum) -> gmp != null; assert enableNativeBignum -> !enableIntegerSimple; assert enableIntegerSimple -> !enableNativeBignum; +assert !(useLdGold && useLdLld); + let src = src-spec.file or (fetchurl { inherit (src-spec) url sha256; }); @@ -212,6 +214,11 @@ let "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" "CONF_LD_LINKER_OPTS_STAGE2=-fuse-ld=gold" # See: + ] ++ lib.optionals useLdLld [ + "LD=${llvmPackages.bintools}/bin/ld.lld" + "CFLAGS=-fuse-ld=lld" + "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=lld" + "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=lld" ] ++ lib.optionals enableDWARF [ "--enable-dwarf-unwind" "--with-libdw-includes=${lib.getDev elfutils}/include" @@ -449,7 +456,10 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { '' # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 + '' - export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}" + export LD="${if useLdLld then + "${targetPackages.llvmPackages.bintools}/bin/${targetPackages.llvmPackages.bintools.targetPrefix}ld.lld" + else + "${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"}" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" @@ -467,6 +477,8 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { # set LD explicitly if we want gold even if we aren't cross compiling '' export LD="${targetCC.bintools}/bin/ld.gold" + '' + lib.optionalString (targetPlatform == hostPlatform && useLdLld) '' + export LD="${llvmPackages.bintools}/bin/ld.lld" '' + lib.optionalString (targetPlatform.isWindows) '' export DllWrap="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}dllwrap" export Windres="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}windres" @@ -533,7 +545,8 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { nativeBuildInputs = [ perl autoconf automake m4 python3 sphinx ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour - ] ++ lib.optional (patches != []) autoreconfHook; + ] ++ lib.optional (patches != []) autoreconfHook + ++ lib.optional useLdLld llvmPackages.bintools; # For building runtime libs depsBuildTarget = toolsForTarget; @@ -684,7 +697,7 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { ''; passthru = { - inherit bootPkgs targetPrefix libDir llvmPackages enableShared enableTerminfo useLLVM hadrian hadrianProject; + inherit bootPkgs targetPrefix libDir llvmPackages enableShared enableTerminfo useLLVM useLdLld hadrian hadrianProject; # Our Cabal compiler name haskellCompilerName = "ghc-${version}"; From 2e6de0656f91b3e64cd7f46b9a73eeb261d98501 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 20 Jun 2025 00:52:05 +0000 Subject: [PATCH 096/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 835fddc395..cd72b8484c 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1750307553, - "narHash": "sha256-iiafNoeLHwlSLQTyvy8nPe2t6g5AV4PPcpMeH/2/DLs=", + "lastModified": 1750379205, + "narHash": "sha256-pv6c5xrPHwzS2WvYjfPJv/hG4pNK0WpuxPeJ4wvxB/8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f7867baa8817fab296528f4a4ec39d1c7c4da4f3", + "rev": "8bbe854d3cc7ccc2f74e58b705efa7e2b7af98b8", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1750292845, - "narHash": "sha256-T97PDckdA0YfLUB1+qcBKXI73U6UHYFnneS0U/FFtQ0=", + "lastModified": 1750379195, + "narHash": "sha256-80rSoMeyDezquCh8gRh1dtvBi7jmpDEMzB/UFa6dj3A=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8d4b3a048e8cbfcd8bb22e582748a322bcd629d4", + "rev": "e6bdad10d0d76fa8a01c502a301822dc0a2b9f9f", "type": "github" }, "original": { From a605ce65d1de2da0efe2a4ed12dbaf59d55da60a Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 21 Jun 2025 00:52:07 +0000 Subject: [PATCH 097/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index cd72b8484c..8cf31216ed 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1750379205, - "narHash": "sha256-pv6c5xrPHwzS2WvYjfPJv/hG4pNK0WpuxPeJ4wvxB/8=", + "lastModified": 1750466301, + "narHash": "sha256-4+Rnjo3ISN4e+Yj6zx/jCy58MmCEJJl8bAnHxDlQjBs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8bbe854d3cc7ccc2f74e58b705efa7e2b7af98b8", + "rev": "ec2b6f984ca9a9d9494541264f0e47622b6322ef", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1750379195, - "narHash": "sha256-80rSoMeyDezquCh8gRh1dtvBi7jmpDEMzB/UFa6dj3A=", + "lastModified": 1750465592, + "narHash": "sha256-fXb08SUaj3ffmABlBthoVwMgexkp6cpWSsOlYTF1nEo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e6bdad10d0d76fa8a01c502a301822dc0a2b9f9f", + "rev": "0586430d1cc5ba0032afc5ba1cf20f2a8be5f4c8", "type": "github" }, "original": { From 450eba5f33a37062b3ea59ee88d13109ea798536 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 22 Jun 2025 00:51:51 +0000 Subject: [PATCH 098/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 8cf31216ed..82b4da3cdd 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1750466301, - "narHash": "sha256-4+Rnjo3ISN4e+Yj6zx/jCy58MmCEJJl8bAnHxDlQjBs=", + "lastModified": 1750552833, + "narHash": "sha256-a2IPK63DfQsxuHY+lOLXy3Mnz2x4GUx72muULt3O/Zo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ec2b6f984ca9a9d9494541264f0e47622b6322ef", + "rev": "c4a5e33bcb9a1a605d4fb2a2f55ba85dd0965afc", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1750465592, - "narHash": "sha256-fXb08SUaj3ffmABlBthoVwMgexkp6cpWSsOlYTF1nEo=", + "lastModified": 1750552134, + "narHash": "sha256-KC/e7tQOID9SgRkmH3BNlnPZ7sn3v5k5GyllLmSZicY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "0586430d1cc5ba0032afc5ba1cf20f2a8be5f4c8", + "rev": "a5d60b2d3c435cf26848e34b92e28f96e13cde7c", "type": "github" }, "original": { From a4b5fe1133755270fa8ce0d04b8ac23f6f79f20a Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 23 Jun 2025 14:40:46 +1200 Subject: [PATCH 099/308] Fix GHC 9.6 mingwW64 cross compile (#2394) * Fix GHC 9.6 mingwW64 cross compile * Add iserv-syms.patch to just windows and musl * Try just on Windows * Disable broken test * Update head.hackage --- ci.nix | 2 +- flake.lock | 6 +++--- overlays/bootstrap.nix | 5 +++-- test/cabal.project.local | 2 +- test/th-dlls/default.nix | 4 +++- test/th-dlls/th-dlls.cabal | 3 +++ 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/ci.nix b/ci.nix index cbef43e890..4a82a1e034 100644 --- a/ci.nix +++ b/ci.nix @@ -89,7 +89,7 @@ inherit (lib.systems.examples) ghcjs; } // lib.optionalAttrs (nixpkgsName == "unstable" && (__match ".*llvm" compiler-nix-name == null) - && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc966" "ghc967" "ghc96720250227"]) # Not sure why GHC 9.6.6 TH code now wants `log1pf` + && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928"]) || (system == "x86_64-darwin" && builtins.elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity inherit (lib.systems.examples) mingwW64; } // lib.optionalAttrs (nixpkgsName == "unstable" diff --git a/flake.lock b/flake.lock index 82b4da3cdd..9971ef5dcc 100644 --- a/flake.lock +++ b/flake.lock @@ -405,11 +405,11 @@ "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1749443511, - "narHash": "sha256-asfdanBoIUcJ9XQWB3a/5wQGFG/6Uq6l2s9r8OuamkY=", + "lastModified": 1750543273, + "narHash": "sha256-WaswH0Y+Fmupvv8AkIlQBlUy/IdD3Inx9PDuE+5iRYY=", "owner": "stable-haskell", "repo": "iserv-proxy", - "rev": "e40eddb1ca1e3e906e018c7e6b0d1e51c930ec9d", + "rev": "a53c57c9a8d22a66a2f0c4c969e806da03f08c28", "type": "github" }, "original": { diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 5fe966e4ac..13ee8670ec 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -230,8 +230,9 @@ in { # This one will lead to segv's on darwin, when calling `strlen` during lookupStrHashTable. `strlen` ends up being called with 0x0. # This patch will allow adding additional symbols to iserv, instead of having to patch them into GHC all the time. ++ final.lib.optionals ( - (final.stdenv.targetPlatform.isAndroid || final.stdenv.targetPlatform.isLinux) - && (final.stdenv.targetPlatform.isAarch64 || final.stdenv.targetPlatform.is32bit)) + final.stdenv.targetPlatform.isWindows || + ( (final.stdenv.targetPlatform.isAndroid || final.stdenv.targetPlatform.isLinux) + && (final.stdenv.targetPlatform.isAarch64 || final.stdenv.targetPlatform.is32bit))) (fromUntil "9.6.1" "9.11" ./patches/ghc/iserv-syms.patch) ++ onAndroid (until "9.0" ./patches/ghc/ghc-8.10.7-weak-symbols-2.patch) ++ onDarwin (onAarch64 (until "9.0" ./patches/ghc/ghc-8.10.7-rts-aarch64-darwin.patch)) diff --git a/test/cabal.project.local b/test/cabal.project.local index 5c36c9fe25..2eb294ac19 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -29,7 +29,7 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-Zu+OsPXt+tUllxC2LVJ3jneYGUH5GvdemZZPnynWaN0= + --sha256: sha256-Fn+JdHvwpbhYz5ffZU6+2HFZHLMLgah564mMdyUHKL4= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 33315dc011..50f838fd41 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -43,7 +43,9 @@ in recurseIntoAttrs { build-ei = packages-ei.th-dlls.components.library; just-template-haskell-ei = packages-ei.th-dlls.components.exes.just-template-haskell; } // optionalAttrs - (!(builtins.elem compiler-nix-name ["ghc984" "ghc9122" "ghc91320250523"] && stdenv.buildPlatform.isx86_64 && stdenv.hostPlatform.isAarch64)) { + (!(builtins.elem compiler-nix-name ["ghc984" "ghc9122" "ghc91320250523"] && stdenv.buildPlatform.isx86_64 && stdenv.hostPlatform.isAarch64 + # The dependency on `math-functions` somehow breaks GHC 9.6.7 musl profiled builds (only with the external interpreter though) + || (compiler-nix-name == "ghc967" && stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_64))) { # On for aarch64 cross compile on GHC this test is fails sometimes for non profiled builds # (and always for the profiled builds). # This may be related to the memory allocation changes made in 9.8.4 that diff --git a/test/th-dlls/th-dlls.cabal b/test/th-dlls/th-dlls.cabal index a0c19dfadd..192b39dfc9 100644 --- a/test/th-dlls/th-dlls.cabal +++ b/test/th-dlls/th-dlls.cabal @@ -15,6 +15,9 @@ library , double-conversion , unix-time , th-orphans + , ghc-prim + , math-functions + , erf exposed-modules: Lib hs-source-dirs: src default-language: Haskell2010 From 78ebf39d6f8386718b16f6cfc096232a4d42d34c Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 23 Jun 2025 19:51:30 +1200 Subject: [PATCH 100/308] Fix ghc-lib-parser 9.6.7 (#2395) --- modules/configuration-nix.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/configuration-nix.nix b/modules/configuration-nix.nix index 27193807a4..bb8d387b69 100644 --- a/modules/configuration-nix.nix +++ b/modules/configuration-nix.nix @@ -75,7 +75,7 @@ in addPackageKeys { packages.ghc-lib-parser.patches = [ (fromUntil "8.10.0.0" "9.2" ../overlays/patches/ghc-lib-parser-8.10-global-unique-counters-in-rts.patch) (fromUntil "9.2.0.0" "9.3" ../overlays/patches/ghc-lib-parser-9.2-global-unique-counters-in-rts.patch) - (fromUntil "9.4.0.0" "9.7" ../overlays/patches/ghc-lib-parser-9.4-global-unique-counters-in-rts.patch) + (fromUntil "9.4.0.0" "9.6.7" ../overlays/patches/ghc-lib-parser-9.4-global-unique-counters-in-rts.patch) ]; packages.ghc-lib-parser.components.library.pre-existing = ["ghc-boot-th"]; From a3f435537829d97a1d2b1d27675963ac3ab21151 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 24 Jun 2025 00:52:11 +0000 Subject: [PATCH 101/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 9971ef5dcc..315ca62d91 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1750552833, - "narHash": "sha256-a2IPK63DfQsxuHY+lOLXy3Mnz2x4GUx72muULt3O/Zo=", + "lastModified": 1750724831, + "narHash": "sha256-qklRUOrr3oiyMNAqj0m5JuzY+hZmN6Rwl/tRpdYOYiA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c4a5e33bcb9a1a605d4fb2a2f55ba85dd0965afc", + "rev": "5315f255b59af0731ea8326824fbcead0a8ae6b8", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1750552134, - "narHash": "sha256-KC/e7tQOID9SgRkmH3BNlnPZ7sn3v5k5GyllLmSZicY=", + "lastModified": 1750724821, + "narHash": "sha256-z0ndqBpXUUCyn0m6FnaT4V9kpIjaFOAxDVDgghAIT5c=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a5d60b2d3c435cf26848e34b92e28f96e13cde7c", + "rev": "fb0da3311cff4467013d345d883ffb4bc584ede4", "type": "github" }, "original": { From acbaab3a65fc89bfa7d14abfc32fb3dd7beb091f Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 25 Jun 2025 00:52:14 +0000 Subject: [PATCH 102/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 315ca62d91..e4f6fac6b2 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1750724831, - "narHash": "sha256-qklRUOrr3oiyMNAqj0m5JuzY+hZmN6Rwl/tRpdYOYiA=", + "lastModified": 1750811218, + "narHash": "sha256-56MbFM0bq1UiGAiuTU/NutJ147EGYrjJqmL2P2/PqDE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5315f255b59af0731ea8326824fbcead0a8ae6b8", + "rev": "f38a90959c753bd5269e5d703776480f004bfb05", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1750724821, - "narHash": "sha256-z0ndqBpXUUCyn0m6FnaT4V9kpIjaFOAxDVDgghAIT5c=", + "lastModified": 1750811208, + "narHash": "sha256-4ZehGGDhdY48ZlTXnFPEeKSJ3Zv+CqGuGu3Q/lEJz88=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fb0da3311cff4467013d345d883ffb4bc584ede4", + "rev": "bfedf19d6cde9fa11c6f9dedab998a2463cbfa8d", "type": "github" }, "original": { From c1b9d0ad2883318766027f035912227e9c1f2cee Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 26 Jun 2025 11:55:18 +1200 Subject: [PATCH 103/308] Fix for HPUX, IOS and IRIX (#2389) * Fix for HPUX, IOS and IRIX * Update head.hackage and fix warning * Merge remote-tracking branch 'origin/master' into static-nix-tools * cd nix-tools && nix flake update haskellNix * Bump head.hackage * update nix-tools-static.nix --------- Co-authored-by: Auto Update Bot --- builder/comp-builder.nix | 1 - nix-tools-static.nix | 10 +-- nix-tools/flake.lock | 77 ++++++++++++++----- .../nix-tools/lib-cabal2nix/Cabal2Nix.hs | 3 + test/cabal.project.local | 2 +- 5 files changed, 65 insertions(+), 28 deletions(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 948abc2492..a57e1fe134 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -382,7 +382,6 @@ let env = shellWrappers.drv; shell = drv.overrideAttrs (attrs: { pname = nameOnly + "-shell"; - inherit (package.identifier) version; nativeBuildInputs = [shellWrappers.drv] ++ attrs.nativeBuildInputs; }); profiled = lib.makeOverridable self (drvArgs // { enableLibraryProfiling = true; }); diff --git a/nix-tools-static.nix b/nix-tools-static.nix index 500b5bd46b..56bd0e6d3f 100644 --- a/nix-tools-static.nix +++ b/nix-tools-static.nix @@ -1,22 +1,22 @@ -pkgs: let baseurl = "https://github.com/input-output-hk/haskell.nix/releases/download/nix-tools-0.3.5/"; in { +pkgs: let baseurl = "https://github.com/input-output-hk/haskell.nix/releases/download/nix-tools-0.3.8/"; in { aarch64-darwin = pkgs.fetchurl { name = "aarch64-darwin-nix-tools-static"; url = "${baseurl}aarch64-darwin-nix-tools-static.zip"; - sha256 = "sha256-umzS70a8h1pigTzBJdkChEPqIk83NXfi02zIDQIDrzI="; + sha256 = "sha256-v3lxSxCDjQWtCSwx9T5lzcufByvFErKGLm8374KYsOs="; }; x86_64-darwin = pkgs.fetchurl { name = "x86_64-darwin-nix-tools-static"; url = "${baseurl}x86_64-darwin-nix-tools-static.zip"; - sha256 = "sha256-O0T0tI+vD5ZuozKvqlfQR93UO6p4P0HyPQDLvhUIChs="; + sha256 = "sha256-Ltze09JIiUpMuy+jfoSghejmZ3L4NCpgr32LyX5bckU="; }; aarch64-linux = pkgs.fetchurl { name = "aarch64-linux-nix-tools-static"; url = "${baseurl}aarch64-linux-nix-tools-static.zip"; - sha256 = "sha256-J3z5WbEm96k25UyOK3kKRtecQvTQIORRhoROKFSULZI="; + sha256 = "sha256-bpjuragBvzuki4CVleXyqTrQfRJshdoTeD3v6xl9sio="; }; x86_64-linux = pkgs.fetchurl { name = "x86_64-linux-nix-tools-static"; url = "${baseurl}x86_64-linux-nix-tools-static.zip"; - sha256 = "sha256-CKf8Drj1UOwlAg16S4kuyVp25O7al/5YzxwrLawVnwQ="; + sha256 = "sha256-aZOmrhp+AdCXcBaNVAeJHDobBaGzJDvEhY90mWjGadc="; }; } diff --git a/nix-tools/flake.lock b/nix-tools/flake.lock index 5c98214994..08ae93804a 100644 --- a/nix-tools/flake.lock +++ b/nix-tools/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1744676755, - "narHash": "sha256-UxlAdjsE/mDKkONhvkOHeqDlExp6fw757+3iwGeUeFM=", + "lastModified": 1749947362, + "narHash": "sha256-XRCfjyAJkcUMTOFi8k+qIz42yFJFFkB8f3vJO99VK9s=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a81af937e40034d4c89b80728f937bff6b997121", + "rev": "576db1b7b6a1faadc82995e1ee756ee34d6e09f9", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1744676745, - "narHash": "sha256-Wzgh3li2OARjgAwl2P0CmNAsqLJUT1Px4YtYtVRpILc=", + "lastModified": 1749947352, + "narHash": "sha256-Y/fnzHgE6a3Oy9URJWXJPwIPQAxAScQ5cBA/FCMj9lc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e1d749fd0df3cf34bcb0b5c4958e0f2a715f1e23", + "rev": "0dca18c5005758fb6e3dae485e30ea4ed9691978", "type": "github" }, "original": { @@ -165,6 +165,7 @@ "hls-1.10": "hls-1.10", "hls-2.0": "hls-2.0", "hls-2.10": "hls-2.10", + "hls-2.11": "hls-2.11", "hls-2.2": "hls-2.2", "hls-2.3": "hls-2.3", "hls-2.4": "hls-2.4", @@ -183,16 +184,17 @@ "nixpkgs-2311": "nixpkgs-2311", "nixpkgs-2405": "nixpkgs-2405", "nixpkgs-2411": "nixpkgs-2411", + "nixpkgs-2505": "nixpkgs-2505", "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", "stackage": "stackage" }, "locked": { - "lastModified": 1744678331, - "narHash": "sha256-R6Z3kRSRoENSPxJbaZXbHKGhNjH7x6NRppUlpOJxOsE=", + "lastModified": 1749948748, + "narHash": "sha256-3286D2cC1dVwS00Rj4Bh5ZUksWO4uWKThXLNsQzaNxE=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "3a97196af86fa053ed267a91234f4e24511c7fd9", + "rev": "edeafd2675194b3b52e4077dfe4f270a6230ee9d", "type": "github" }, "original": { @@ -268,6 +270,23 @@ "type": "github" } }, + "hls-2.11": { + "flake": false, + "locked": { + "lastModified": 1747306193, + "narHash": "sha256-/MmtpF8+FyQlwfKHqHK05BdsxC9LHV70d/FiMM7pzBM=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "46ef4523ea4949f47f6d2752476239f1c6d806fe", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.11.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, "hls-2.2": { "flake": false, "locked": { @@ -423,11 +442,11 @@ "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1742121966, - "narHash": "sha256-x4bg4OoKAPnayom0nWc0BmlxgRMMHk6lEPvbiyFBq1s=", + "lastModified": 1749443511, + "narHash": "sha256-asfdanBoIUcJ9XQWB3a/5wQGFG/6Uq6l2s9r8OuamkY=", "owner": "stable-haskell", "repo": "iserv-proxy", - "rev": "e9dc86ed6ad71f0368c16672081c8f26406c3a7e", + "rev": "e40eddb1ca1e3e906e018c7e6b0d1e51c930ec9d", "type": "github" }, "original": { @@ -487,11 +506,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1739151041, - "narHash": "sha256-uNszcul7y++oBiyYXjHEDw/AHeLNp8B6pyWOB+RLA/4=", + "lastModified": 1748037224, + "narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "94792ab2a6beaec81424445bf917ca2556fbeade", + "rev": "f09dede81861f3a83f7f06641ead34f02f37597f", "type": "github" }, "original": { @@ -501,13 +520,29 @@ "type": "github" } }, + "nixpkgs-2505": { + "locked": { + "lastModified": 1748852332, + "narHash": "sha256-r/wVJWmLYEqvrJKnL48r90Wn9HWX9SHFt6s4LhuTh7k=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a8167f3cc2f991dd4d0055746df53dae5fd0c953", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-25.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { - "lastModified": 1737110817, - "narHash": "sha256-DSenga8XjPaUV5KUFW/i3rNkN7jm9XmguW+qQ1ZJTR4=", + "lastModified": 1748856973, + "narHash": "sha256-RlTsJUvvr8ErjPBsiwrGbbHYW8XbB/oek0Gi78XdWKg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "041c867bad68dfe34b78b2813028a2e2ea70a23c", + "rev": "e4b09e47ace7d87de083786b404bf232eb6c89d8", "type": "github" }, "original": { @@ -546,11 +581,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1744675976, - "narHash": "sha256-WvQ2HI/OtCNjUO1NE/fEdwCeTwf0rXu25Y6CcUXpo3Y=", + "lastModified": 1749946498, + "narHash": "sha256-xh+PW3ReewaInSeCzEEo6LkcGFm3AzMNfRw/3Err7ag=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "5a0a1124c429fdb16f1cde0f4c85c0ee658b9fba", + "rev": "baa43f8bd5bf6b31b80125c65c053f99b034f37d", "type": "github" }, "original": { diff --git a/nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs b/nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs index 8f6f8a97ce..fe5b06fc94 100644 --- a/nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs +++ b/nix-tools/nix-tools/lib-cabal2nix/Cabal2Nix.hs @@ -454,6 +454,9 @@ instance {-# OVERLAPS #-} ToNixExpr a => ToNixExpr [a] where fixSystem :: String -> String fixSystem "isJavascript" = "isJavaScript" fixSystem "isDragonfly" = "isDragonFly" +fixSystem "isHpux" = "isHPUX" +fixSystem "isIos" = "isIOS" +fixSystem "isIrix" = "isIRIX" fixSystem s = s instance ToNixExpr ConfVar where diff --git a/test/cabal.project.local b/test/cabal.project.local index 2eb294ac19..114e70a319 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -29,7 +29,7 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-Fn+JdHvwpbhYz5ffZU6+2HFZHLMLgah564mMdyUHKL4= + --sha256: sha256-T8qW/tiaMGcxxxA4OXBQc07EYXjhYMXSXSgW0Zg3aRo= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b From c16c3c648b3a2eef0cb1fb3706da801764d77565 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 26 Jun 2025 00:51:39 +0000 Subject: [PATCH 104/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index e4f6fac6b2..b402c0908d 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1750811218, - "narHash": "sha256-56MbFM0bq1UiGAiuTU/NutJ147EGYrjJqmL2P2/PqDE=", + "lastModified": 1750897628, + "narHash": "sha256-vOxFzWhN7CXUWNYZEKr54bvi3k4mdBbxhSKwJD0fF88=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f38a90959c753bd5269e5d703776480f004bfb05", + "rev": "f33ee070fd21fcf08f16b0199a5a6b019c816076", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1750811208, - "narHash": "sha256-4ZehGGDhdY48ZlTXnFPEeKSJ3Zv+CqGuGu3Q/lEJz88=", + "lastModified": 1750897618, + "narHash": "sha256-MgzSJDtk9qXf+OYjqaGX7zebArRS236tgFKDAxV3OXw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "bfedf19d6cde9fa11c6f9dedab998a2463cbfa8d", + "rev": "5ac996932a885bee0083893ba7a4727b654b7e8d", "type": "github" }, "original": { From 00c246fb48aca5dadf06d08e7400c0e669c31330 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 27 Jun 2025 00:52:11 +0000 Subject: [PATCH 105/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index b402c0908d..706f8c3a97 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1750897628, - "narHash": "sha256-vOxFzWhN7CXUWNYZEKr54bvi3k4mdBbxhSKwJD0fF88=", + "lastModified": 1750984043, + "narHash": "sha256-eR8nM29mJ+/u0wRjssMRHCl1u4s8ElBcmYith4236wE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f33ee070fd21fcf08f16b0199a5a6b019c816076", + "rev": "692e16d26bcd446a9ed0b5c17b20c9ee4faeebfc", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1750897618, - "narHash": "sha256-MgzSJDtk9qXf+OYjqaGX7zebArRS236tgFKDAxV3OXw=", + "lastModified": 1750984033, + "narHash": "sha256-tZb2Ft86wgURfjyZ9T4Teo7CHU1kAaIDZPZPbuvf3Dg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5ac996932a885bee0083893ba7a4727b654b7e8d", + "rev": "5eadab823fa138ba36abceb2e42a1c8ca88b7212", "type": "github" }, "original": { From c70f5f99df07c6475a4bd7d42de00fd2332dbba9 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 28 Jun 2025 00:51:36 +0000 Subject: [PATCH 106/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 706f8c3a97..8e55bb5046 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1750984043, - "narHash": "sha256-eR8nM29mJ+/u0wRjssMRHCl1u4s8ElBcmYith4236wE=", + "lastModified": 1751070369, + "narHash": "sha256-4XrbuhddpXMlstzekVvYQm7W0m6i83KlB6d25rRQPpY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "692e16d26bcd446a9ed0b5c17b20c9ee4faeebfc", + "rev": "a8aa054cd387afbad91287d7973438c6f9309a9a", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1750984033, - "narHash": "sha256-tZb2Ft86wgURfjyZ9T4Teo7CHU1kAaIDZPZPbuvf3Dg=", + "lastModified": 1751070359, + "narHash": "sha256-bTZe0Sj8v49NAbdz4joUKfsPUpm5bxdhCXbBxJstLSI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5eadab823fa138ba36abceb2e42a1c8ca88b7212", + "rev": "4cc7600ea17763460d1bf10e454a87e524160f53", "type": "github" }, "original": { From ca0eacfc006f10a50672bfd7f98fe47bac48a007 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 29 Jun 2025 00:52:27 +0000 Subject: [PATCH 107/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 8e55bb5046..487c19be49 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1751070369, - "narHash": "sha256-4XrbuhddpXMlstzekVvYQm7W0m6i83KlB6d25rRQPpY=", + "lastModified": 1751156979, + "narHash": "sha256-xxVNDZYJm7xo6BJDViCFwmhkx9oWCoJ4i5Ig3AVyhko=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a8aa054cd387afbad91287d7973438c6f9309a9a", + "rev": "cffd7b4b1dcd6d2902c21af90d05a8a4b215f6f6", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1751070359, - "narHash": "sha256-bTZe0Sj8v49NAbdz4joUKfsPUpm5bxdhCXbBxJstLSI=", + "lastModified": 1751156970, + "narHash": "sha256-ukRriYyvcRC5P1vb0gI37wHohpkgu8mGfu5GA4Q4fvY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4cc7600ea17763460d1bf10e454a87e524160f53", + "rev": "b49ecc7c8418b88fa72e72e026d3614807e883a8", "type": "github" }, "original": { From ebb287720da9819544f9b6bc8ff8f332ae080e22 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 30 Jun 2025 00:52:23 +0000 Subject: [PATCH 108/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 487c19be49..520a2a4541 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1751156979, - "narHash": "sha256-xxVNDZYJm7xo6BJDViCFwmhkx9oWCoJ4i5Ig3AVyhko=", + "lastModified": 1751243315, + "narHash": "sha256-ia87ww1LD8Zy3FyX/65Kk5VIVLHyPfDldHjH0Yn4SrY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "cffd7b4b1dcd6d2902c21af90d05a8a4b215f6f6", + "rev": "7075fee32fe997ed7c13f3cc0fabcf278fbb2830", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1751156970, - "narHash": "sha256-ukRriYyvcRC5P1vb0gI37wHohpkgu8mGfu5GA4Q4fvY=", + "lastModified": 1751243305, + "narHash": "sha256-aAv24GfSXrLe0x+/ZmcH7xp3gWLknh68/2MA+InaQxg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b49ecc7c8418b88fa72e72e026d3614807e883a8", + "rev": "4a2fa9c4482cf18a8d5a49ce7094e02618149d80", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1750292027, - "narHash": "sha256-rmEsCxLWS/rAdIzZPSi0XbrY2BOztBlSHQHgYoXyovU=", + "lastModified": 1751242481, + "narHash": "sha256-s+66/6Ydvlo7+5k1UOg1dSKPKzfmZU9NbtVMtxxVnGg=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "3f8c717e24953914821f1ddb4797dd768326faa6", + "rev": "6552547cea2831cf792e25f1d6dc1c01965ae065", "type": "github" }, "original": { From f7bea9839be61422bf73b07c64a7eacbb9568f7e Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 30 Jun 2025 22:49:10 +1200 Subject: [PATCH 109/308] Set EM_CACHE if needed in dev shell for GHCJS (#2397) * Set EM_CACHE if needed in dev shell for GHCJS * Update head.hackage --- modules/project-common.nix | 2 +- modules/shell.nix | 20 +++++++++++++++++++- test/cabal.project.local | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/modules/project-common.nix b/modules/project-common.nix index 119e3cdb20..60776e4cc8 100644 --- a/modules/project-common.nix +++ b/modules/project-common.nix @@ -21,7 +21,7 @@ with lib.types; shell = mkOption { type = submodule [ (import ./shell.nix { projectConfig = config; }) - { _module.args = { inherit (pkgs.haskell-nix) haskellLib; }; } + { _module.args = { inherit pkgs; inherit (pkgs.haskell-nix) haskellLib; }; } ]; default = { }; description = '' diff --git a/modules/shell.nix b/modules/shell.nix index 1eab8d1375..19c4a7ebca 100644 --- a/modules/shell.nix +++ b/modules/shell.nix @@ -63,7 +63,25 @@ }; shellHook = lib.mkOption { type = lib.types.str; - default = ""; + # Shell hook to set EM_CACHE to a writable temporary directory if not already set + default = lib.optionalString pkgs.stdenv.hostPlatform.isGhcjs '' + if [ -z "$EM_CACHE" ]; then + # Create a unique temporary directory using mktemp + EM_CACHE_DIR=$(mktemp -d -t emcache-ghcjs-XXXXXX) + + # Copy the default Emscripten cache contents to the temporary directory + DEFAULT_EM_CACHE="${pkgs.pkgsBuildBuild.emscripten}/share/emscripten/cache" + if [ -d "$DEFAULT_EM_CACHE" ]; then + cp -r "$DEFAULT_EM_CACHE"/* "$EM_CACHE_DIR" 2>/dev/null || true + chmod -R u+w "$EM_CACHE_DIR" + fi + + export EM_CACHE="$EM_CACHE_DIR" + echo "Set EM_CACHE to $EM_CACHE" + else + echo "EM_CACHE already set to $EM_CACHE" + fi + ''; }; # mkDerivation args diff --git a/test/cabal.project.local b/test/cabal.project.local index 114e70a319..d420193411 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -29,7 +29,7 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-T8qW/tiaMGcxxxA4OXBQc07EYXjhYMXSXSgW0Zg3aRo= + --sha256: sha256-GDbFKWPkG3IXjgL3DEywVgnMvEMciBfMHdMjhIRFJK4= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b From 58cfeb90d412d94749e08ac8ec6759e439e1c3f7 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 1 Jul 2025 00:51:59 +0000 Subject: [PATCH 110/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 520a2a4541..9b46b24cb4 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1751243315, - "narHash": "sha256-ia87ww1LD8Zy3FyX/65Kk5VIVLHyPfDldHjH0Yn4SrY=", + "lastModified": 1751330565, + "narHash": "sha256-1j7d7YREFCsNURri7GzLfgFVHX/qTLr35k4p82bNitA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7075fee32fe997ed7c13f3cc0fabcf278fbb2830", + "rev": "45e2fe0d3e5a1cc828afa845ce3aa3fe01c6ede5", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1751243305, - "narHash": "sha256-aAv24GfSXrLe0x+/ZmcH7xp3gWLknh68/2MA+InaQxg=", + "lastModified": 1751329779, + "narHash": "sha256-cFwbC7JsNHDlbJnIvJesjR4hVftQfMcUrEvULZ5Jq88=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4a2fa9c4482cf18a8d5a49ce7094e02618149d80", + "rev": "a3f6e8268b859954a0f751e099eab66590a5e1ae", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1751242481, - "narHash": "sha256-s+66/6Ydvlo7+5k1UOg1dSKPKzfmZU9NbtVMtxxVnGg=", + "lastModified": 1751328928, + "narHash": "sha256-iOV2ACox9AA9G0H5YnilXVQohxVXNDNmmJsAP8mUfb8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "6552547cea2831cf792e25f1d6dc1c01965ae065", + "rev": "be588c2327a1c281d9ad66c522266f09ae809176", "type": "github" }, "original": { From 04fa59109f9888594b254b3ab6b89f747a69b9b4 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 1 Jul 2025 21:27:37 +1200 Subject: [PATCH 111/308] Fix building of GHC 9.4 (#2400) This was broken by the removal of the index-state pin for hadrian in #2268 --- compiler/ghc/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index d096f862b9..f5701de5d8 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -272,7 +272,7 @@ let then "ghc964" else "ghc962"; in - buildPackages.haskell-nix.cabalProject' { + buildPackages.haskell-nix.cabalProject' ({ inherit compiler-nix-name; name = "hadrian"; compilerSelection = p: p.haskell.compiler; @@ -316,7 +316,9 @@ let subDir = "hadrian"; includeSiblings = true; }; - }; + } // lib.optionalAttrs (builtins.compareVersions ghc-version "9.6" < 0) { + index-state = "2024-10-17T00:00:00Z"; + }); hadrian = hadrianProject.hsPkgs.hadrian.components.exes.hadrian; From 68cca805c93765b3e417ddb326328249c78853e7 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 2 Jul 2025 00:51:42 +0000 Subject: [PATCH 112/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 9b46b24cb4..d0c9d53387 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1751330565, - "narHash": "sha256-1j7d7YREFCsNURri7GzLfgFVHX/qTLr35k4p82bNitA=", + "lastModified": 1751416016, + "narHash": "sha256-h93Fp+38tbBnJNi7axHeGrnIb6tpBanqROpVHXnJv7M=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "45e2fe0d3e5a1cc828afa845ce3aa3fe01c6ede5", + "rev": "081c99f44b68b43c16cb07d9d9e5329801019e52", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1751329779, - "narHash": "sha256-cFwbC7JsNHDlbJnIvJesjR4hVftQfMcUrEvULZ5Jq88=", + "lastModified": 1751416006, + "narHash": "sha256-qf+2x0+qX6LZW+DZFK0lhqEFc6Oi7w3gHH14jHpLSqA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a3f6e8268b859954a0f751e099eab66590a5e1ae", + "rev": "145401c6b4df1aa384db9553f339f8735269b8bf", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1751328928, - "narHash": "sha256-iOV2ACox9AA9G0H5YnilXVQohxVXNDNmmJsAP8mUfb8=", + "lastModified": 1751415215, + "narHash": "sha256-KTVygSW0cZ4XkvQbCnQalAZZmJqq+pGlgLFUgsTd4kM=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "be588c2327a1c281d9ad66c522266f09ae809176", + "rev": "c45e069a23efdbccdf97283b1344e8299bfee350", "type": "github" }, "original": { From 4b2a8d5e07033414214404e6b3c1d0832daf6ad3 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 3 Jul 2025 08:06:46 +1200 Subject: [PATCH 113/308] Update Default Setup (#2402) * Update Default Setup * Add comment * Update sublib-docs test * Fix GHC 9.6.7 --this-unit-id problem for GHCJS cross compiles --- nix-tools-static-for-default-setup.nix | 10 +++--- overlays/bootstrap.nix | 2 ++ overlays/default.nix | 4 +++ ...hc-9.6-js-support-this-unit-id-10819.patch | 36 +++++++++++++++++++ test/sublib-docs/default.nix | 2 +- 5 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 overlays/patches/ghc/ghc-9.6-js-support-this-unit-id-10819.patch diff --git a/nix-tools-static-for-default-setup.nix b/nix-tools-static-for-default-setup.nix index 2eb4488c21..56bd0e6d3f 100644 --- a/nix-tools-static-for-default-setup.nix +++ b/nix-tools-static-for-default-setup.nix @@ -1,22 +1,22 @@ -pkgs: let baseurl = "https://github.com/input-output-hk/haskell.nix/releases/download/nix-tools-0.2.1/"; in { +pkgs: let baseurl = "https://github.com/input-output-hk/haskell.nix/releases/download/nix-tools-0.3.8/"; in { aarch64-darwin = pkgs.fetchurl { name = "aarch64-darwin-nix-tools-static"; url = "${baseurl}aarch64-darwin-nix-tools-static.zip"; - sha256 = "sha256-/N2CiakRQHIjLtBbdYfkDyhlHFss9ezWc9WW+HIUOwc="; + sha256 = "sha256-v3lxSxCDjQWtCSwx9T5lzcufByvFErKGLm8374KYsOs="; }; x86_64-darwin = pkgs.fetchurl { name = "x86_64-darwin-nix-tools-static"; url = "${baseurl}x86_64-darwin-nix-tools-static.zip"; - sha256 = "sha256-1Xbxhw7LR6EooiagmRrHg7+UdxddD0RaKjvM75hwsJo="; + sha256 = "sha256-Ltze09JIiUpMuy+jfoSghejmZ3L4NCpgr32LyX5bckU="; }; aarch64-linux = pkgs.fetchurl { name = "aarch64-linux-nix-tools-static"; url = "${baseurl}aarch64-linux-nix-tools-static.zip"; - sha256 = "sha256-1OarDAiwYbet6ol3q2dZdnsWMHcniK4zznbGiDPMrO4="; + sha256 = "sha256-bpjuragBvzuki4CVleXyqTrQfRJshdoTeD3v6xl9sio="; }; x86_64-linux = pkgs.fetchurl { name = "x86_64-linux-nix-tools-static"; url = "${baseurl}x86_64-linux-nix-tools-static.zip"; - sha256 = "sha256-7xckkH+T9uu3fhtTOzqHZ1udNvPJAgkcrvDXEF16qJQ="; + sha256 = "sha256-aZOmrhp+AdCXcBaNVAeJHDobBaGzJDvEhY90mWjGadc="; }; } diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 13ee8670ec..1c5593f717 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -335,6 +335,8 @@ in { # Fix for `fatal error: 'rts/Types.h' file not found` when building `primitive` ++ onGhcjs (from "9.13" ./patches/ghc/ghc-9.13-ghcjs-rts-types.patch) + + ++ onGhcjs (fromUntil "9.6.7" "9.7" ./patches/ghc/ghc-9.6-js-support-this-unit-id-10819.patch) ; in ({ ghc8107 = traceWarnOld "8.10" (final.callPackage ../compiler/ghc { diff --git a/overlays/default.nix b/overlays/default.nix index bb5a18f655..6231016540 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -45,6 +45,10 @@ let tarball // { exes = final.lib.genAttrs nix-tools-provided-exes (_: tarball); }; static-nix-tools = static-nix-tools' ../nix-tools-static.nix; + # Any change to default-setup requires rebuilding everthing. + # Having a dedicated file for `default-setup` allows us to update + # the other `nix-tools` (like `make-install-plan`), without a + # full rebuild. static-nix-tools-for-default-setup = static-nix-tools' ../nix-tools-static-for-default-setup.nix; # Version of nix-tools built with a pinned version of haskell.nix. diff --git a/overlays/patches/ghc/ghc-9.6-js-support-this-unit-id-10819.patch b/overlays/patches/ghc/ghc-9.6-js-support-this-unit-id-10819.patch new file mode 100644 index 0000000000..15f152eda5 --- /dev/null +++ b/overlays/patches/ghc/ghc-9.6-js-support-this-unit-id-10819.patch @@ -0,0 +1,36 @@ +From 168af9c24581bb550e6f352ebb3dd86c8784cea9 Mon Sep 17 00:00:00 2001 +From: Sylvain Henry +Date: Thu, 6 Jul 2023 15:59:38 +0200 +Subject: [PATCH] JS: support -this-unit-id for programs in the linker (#23613) + +--- + compiler/GHC/StgToJS/Linker/Linker.hs | 2 +- + testsuite/tests/driver/T23613.hs | 4 ++++ + testsuite/tests/driver/all.T | 7 ++++--- + 3 files changed, 9 insertions(+), 4 deletions(-) + create mode 100644 testsuite/tests/driver/T23613.hs + +diff --git a/compiler/GHC/StgToJS/Linker/Linker.hs b/compiler/GHC/StgToJS/Linker/Linker.hs +index 58bcdf2de90..530f8730c6b 100644 +--- a/compiler/GHC/StgToJS/Linker/Linker.hs ++++ b/compiler/GHC/StgToJS/Linker/Linker.hs +@@ -327,7 +327,7 @@ computeLinkDependencies cfg unit_env link_spec finder_opts finder_cache = do + let (rts_wired_units, rts_wired_functions) = rtsDeps units + + -- all the units we want to link together, without their dependencies +- let root_units = filter (/= mainUnitId) ++ let root_units = filter (/= ue_currentUnit unit_env) + $ filter (/= interactiveUnitId) + $ nub + $ rts_wired_units ++ reverse obj_units ++ reverse units +diff --git a/testsuite/tests/driver/T23613.hs b/testsuite/tests/driver/T23613.hs +new file mode 100644 +index 00000000000..d82a4bd93b7 +--- /dev/null ++++ b/testsuite/tests/driver/T23613.hs +@@ -0,0 +1,4 @@ ++module Main where ++ ++main :: IO () ++main = return () + diff --git a/test/sublib-docs/default.nix b/test/sublib-docs/default.nix index 640141f8fd..d4be0d81ee 100644 --- a/test/sublib-docs/default.nix +++ b/test/sublib-docs/default.nix @@ -43,7 +43,7 @@ in recurseIntoAttrs { printf "check that it looks like we have docs..." >& 2 test -f "${packages.sublib-docs.components.library.doc}/share/doc/sublib-docs/html/Lib.html" - test -f "${packages.sublib-docs.components.sublibs.slib.doc}/share/doc/sublib-docs/html/Slib.html" + test -f "${packages.sublib-docs.components.sublibs.slib.doc}/share/doc/sublib-docs/html/slib/Slib.html" touch $out ''; From 5c890c8c40fa27fcdef7125a34dce9c989e845b3 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 3 Jul 2025 00:52:14 +0000 Subject: [PATCH 114/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d0c9d53387..a51e88f8d1 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1751416016, - "narHash": "sha256-h93Fp+38tbBnJNi7axHeGrnIb6tpBanqROpVHXnJv7M=", + "lastModified": 1751502432, + "narHash": "sha256-3tTZ0PMLrbVyq6ZDywtkOHgnjdr1+gqpFloQg8QU4Xo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "081c99f44b68b43c16cb07d9d9e5329801019e52", + "rev": "f0ef3a5e2e6c9222563e2b323b4c279d703084ef", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1751416006, - "narHash": "sha256-qf+2x0+qX6LZW+DZFK0lhqEFc6Oi7w3gHH14jHpLSqA=", + "lastModified": 1751502422, + "narHash": "sha256-Wu5kEMaddVijZP77iEwX4kIiIB6ykjVIczmS9gSYV+g=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "145401c6b4df1aa384db9553f339f8735269b8bf", + "rev": "dc64a68eaaab22702acbe5b657900f5b091c08f1", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1751415215, - "narHash": "sha256-KTVygSW0cZ4XkvQbCnQalAZZmJqq+pGlgLFUgsTd4kM=", + "lastModified": 1751501628, + "narHash": "sha256-PnDFY/V8njVjWN8Aj3AVBh0o0D9K8yyKmU+YRncEvrI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "c45e069a23efdbccdf97283b1344e8299bfee350", + "rev": "8a84369d967800bbe51847005dcd44aed4562b19", "type": "github" }, "original": { From 71a34a6ac49f112807cdb3656ec3b2222775d23e Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 3 Jul 2025 13:30:24 +1200 Subject: [PATCH 115/308] Update shellFor documentation (#2406) * Update shellFor documentation Fixes #2401 * Update docs/reference/library.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- changelog.md | 36 ++++++++++++++++++++++++++++ docs/reference/library.md | 50 ++++++++++++++++++++++++++++++++++++--- modules/shell.nix | 2 +- 3 files changed, 84 insertions(+), 4 deletions(-) diff --git a/changelog.md b/changelog.md index a14e3b974c..95fa3c3628 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,42 @@ This file contains a summary of changes to Haskell.nix and `nix-tools` that will impact users. +## Jul 3, 2025 + +Some time ago the behavior of `shellFor` changed so that the arguments +are now checked against `modules/shell.nix`. This was done as part of a fix +for bugs in the way `shellFor` arguments and project `shell` arguments +interacted (both are now `modules` and the normal module merge rules apply). + +This means it is no longer possible to pass arbitrarily named arguments +to `shellFor` in order to set environment variables. + +Instead of: + +``` +p.shellFor { + FOO = "bar"; +} +``` + +Use: + +``` +p.shellFor { + shellHook = '' + export FOO="bar" + ''; +} +``` + +or + +``` +(p.shellFor {}).overrideAttrs { + FOO = "bar"; +} +``` + ## Jan 29, 2025 Removed GHC <9.6 from CI. diff --git a/docs/reference/library.md b/docs/reference/library.md index c6014831cd..c0039bc981 100644 --- a/docs/reference/library.md +++ b/docs/reference/library.md @@ -428,18 +428,62 @@ shellFor = { packages, withHoogle ? true, exactDeps ? false, ...}: ... ``` - | Argument | Type | Description | |----------------|------|---------------------| +| `name` | String | Name of the derivation | | `packages` | Function | Package selection function. It takes a list of [Haskell packages](#haskell-package) and returns a subset of these packages. | | `components` | Function | Similar to `packages`, by default all the components of the selected packages are selected. | | `additional` | Function | Similar to `packages`, but the selected packages are built and included in `ghc-pkg list` (not just their dependencies). | | `withHoogle` | Boolean | Whether to build a Hoogle documentation index and provide the `hoogle` command. | | `exactDeps` | Boolean | Prevents the Cabal solver from choosing any package dependency other than what are in the package set. | +| `allToolDeps` | Boolean | Indicates if the shell should include all the tool dependencies of the haskell packages in the project. | | `tools` | Function | AttrSet of tools to make available e.g. `{ cabal = "3.2.0.0"; }` or `{ cabal = { version = "3.2.0.0"; }; }`. If an AttrSet is provided for a tool, the additional arguments will be passed to the function creating the derivation for that tool. So you can provide an `index-state` or a `materialized` argument like that `{ cabal = { version = "3.2.0.0"; index-state = "2020-10-30T00:00:00Z"; materialized = ./cabal.materialized; }; }` for example. You can specify and materialize the version of hoogle used to construct the hoogle index by including something like `{ hoogle = { version = "5.0.17.15"; index-state = "2020-05-31T00:00:00Z"; materialized = ./hoogle.materialized; }`. Uses a default version of hoogle if omitted. | -| `inputsFrom` | List | List of other shells to include in this one. The `buildInputs` and `nativeBuildInputs` of each will be included using [mkShell](https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell). +| `packageSetupDeps` | Boolean | Set this to `false` to exclude custom-setup dependencies. +| `enableDWARF` | Boolean | Include debug info | | `crossPlatforms` | Function | Platform selection function for cross compilation targets to support eg. `ps: with ps; [ghcjs mingwW64]` (see nixpkgs lib.systems.examples for list of platform names). | -| `{ ... }` | Attrset | All the other arguments are passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv). | +| `inputsFrom` | List | List of other shells to include in this one. The `buildInputs` and `nativeBuildInputs` of each will be included using [mkShell](https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell). +| `shellHook` | String | Bash statements that are executed when the shell starts. | +| `buildInputs` | | Passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv) (via [mkShell](https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell)). | +| `nativeBuildInputs` | | Passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv) (via [mkShell](https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell)). | +| `passthru` | | Passed to [`mkDerivation`](https://nixos.org/nixpkgs/manual/#sec-using-stdenv) (via [mkShell](https://nixos.org/manual/nixpkgs/stable/#sec-pkgs-mkShell)). | + +The arguments are checked using the module `modules/shell.nix`. + +To set environment variables in the shell use: + +``` + shellHook = '' + export FOO="bar" + ''; +``` + +or + +``` +(p.shellFor {}).overrideAttrs { + FOO = "bar"; +} +``` + +The `shellFor` arguments can also be passed to the project `shell` +argument. For instance: + +``` +(pkgs.haskell-nix.project { + ... + shell.tools.cabal = {} +).shellFor {} +``` + +Is the same as: + +``` +(pkgs.haskell-nix.project { + ... +).shellFor { + tools.cabal = {} +} +``` **Return value**: a derivation diff --git a/modules/shell.nix b/modules/shell.nix index 19c4a7ebca..51014692b8 100644 --- a/modules/shell.nix +++ b/modules/shell.nix @@ -34,7 +34,7 @@ default = !config.exactDeps; description = '' Indicates if the shell should include all the tool dependencies - of in the haskell packages in the project. Defaulted to `false` in + of the haskell packages in the project. Defaulted to `false` in stack projects (to avoid trying to build the tools used by every `stackage` package). ''; From bc80f133ee7ee026f947787d54cfe922d5caf8e1 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 4 Jul 2025 08:59:19 +1200 Subject: [PATCH 116/308] Add ghc9122llvm to ci (#2407) * Add ghc9122llvm to ci Fixes #2404 * Disable failing test --- ci.nix | 3 ++- test/th-dlls/default.nix | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ci.nix b/ci.nix index 4a82a1e034..bcb3ad6532 100644 --- a/ci.nix +++ b/ci.nix @@ -75,8 +75,9 @@ ghc98 = true; ghc98llvm = false; ghc910 = true; - ghc910llvm = true; + ghc910llvm = false; ghc912 = true; + ghc912llvm = true; ghc913 = true; }))); crossSystems = nixpkgsName: nixpkgs: compiler-nix-name: diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 50f838fd41..1a612b23be 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -43,7 +43,7 @@ in recurseIntoAttrs { build-ei = packages-ei.th-dlls.components.library; just-template-haskell-ei = packages-ei.th-dlls.components.exes.just-template-haskell; } // optionalAttrs - (!(builtins.elem compiler-nix-name ["ghc984" "ghc9122" "ghc91320250523"] && stdenv.buildPlatform.isx86_64 && stdenv.hostPlatform.isAarch64 + (!(builtins.elem compiler-nix-name ["ghc984" "ghc9122" "ghc9122llvm" "ghc91320250523"] && stdenv.buildPlatform.isx86_64 && stdenv.hostPlatform.isAarch64 # The dependency on `math-functions` somehow breaks GHC 9.6.7 musl profiled builds (only with the external interpreter though) || (compiler-nix-name == "ghc967" && stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_64))) { # On for aarch64 cross compile on GHC this test is fails sometimes for non profiled builds From d5fba239c93e25dd5c6addc433e2955d793bc0dd Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 4 Jul 2025 00:52:10 +0000 Subject: [PATCH 117/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a51e88f8d1..ef12344ea0 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1751502432, - "narHash": "sha256-3tTZ0PMLrbVyq6ZDywtkOHgnjdr1+gqpFloQg8QU4Xo=", + "lastModified": 1751588814, + "narHash": "sha256-4Ilapa5YLjsrn9ZrxKz4VIt2t2y+/ONl85siFs2skb4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f0ef3a5e2e6c9222563e2b323b4c279d703084ef", + "rev": "5f113fa367ce228b3d21bed7492fd0ce6ea2130e", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1751502422, - "narHash": "sha256-Wu5kEMaddVijZP77iEwX4kIiIB6ykjVIczmS9gSYV+g=", + "lastModified": 1751588803, + "narHash": "sha256-GrqmoainT75ubT2LzxpBwErE+bVkqKdYDTaNOneJRVI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "dc64a68eaaab22702acbe5b657900f5b091c08f1", + "rev": "19d76124eeff6de252bf1ceb1c6c0d9d1dc65ab7", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1751501628, - "narHash": "sha256-PnDFY/V8njVjWN8Aj3AVBh0o0D9K8yyKmU+YRncEvrI=", + "lastModified": 1751588014, + "narHash": "sha256-+SODZgQefGx163qP1IhIILVZctM4bxACn5B66JCznug=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "8a84369d967800bbe51847005dcd44aed4562b19", + "rev": "64ef5b96e967d3bc2cc0b90f698e41a1575534d1", "type": "github" }, "original": { From 85f2f27286932b80987046e51460d3c4ba1bc749 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 5 Jul 2025 00:52:03 +0000 Subject: [PATCH 118/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index ef12344ea0..74f7f677e8 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1751588814, - "narHash": "sha256-4Ilapa5YLjsrn9ZrxKz4VIt2t2y+/ONl85siFs2skb4=", + "lastModified": 1751675156, + "narHash": "sha256-525mAXenMuIGtEFBzGJQb4bMW1mBmByBwtyMwXO5hFo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5f113fa367ce228b3d21bed7492fd0ce6ea2130e", + "rev": "b6c6f015a66ba6c5b9178918bb91abccbe547f38", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1751588803, - "narHash": "sha256-GrqmoainT75ubT2LzxpBwErE+bVkqKdYDTaNOneJRVI=", + "lastModified": 1751675146, + "narHash": "sha256-S8XGmWI1tfbfg33xuQmJbCXfANPIGIdZ3jSeEOj8Fa0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "19d76124eeff6de252bf1ceb1c6c0d9d1dc65ab7", + "rev": "6273d5fac630e788362bbaf6aa1a9e70618d1742", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1751588014, - "narHash": "sha256-+SODZgQefGx163qP1IhIILVZctM4bxACn5B66JCznug=", + "lastModified": 1751674367, + "narHash": "sha256-9LSwfx+H+rJ6v/PuZj2BamaIPpasq07KCw+7WBUEQy4=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "64ef5b96e967d3bc2cc0b90f698e41a1575534d1", + "rev": "2b7caae5c8d26f6ed1176cf07962926d7d614451", "type": "github" }, "original": { From 985b5fca8249e8ec9aff76b6bc32256b72a75b6a Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 6 Jul 2025 00:52:24 +0000 Subject: [PATCH 119/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 74f7f677e8..38903d4fb9 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1751675156, - "narHash": "sha256-525mAXenMuIGtEFBzGJQb4bMW1mBmByBwtyMwXO5hFo=", + "lastModified": 1751762534, + "narHash": "sha256-1cgym/wJCBXvp1nxQaqbl3H5jvQT+k0RYEUrx6ViDzM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b6c6f015a66ba6c5b9178918bb91abccbe547f38", + "rev": "8a3ead1cdb6c08344ac1a1450941b3ecc08ef1cf", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1751675146, - "narHash": "sha256-S8XGmWI1tfbfg33xuQmJbCXfANPIGIdZ3jSeEOj8Fa0=", + "lastModified": 1751761748, + "narHash": "sha256-67Bb8MMqih9KEEl7eJI2OApV9yO7Zdl+HkKCOeM2hkI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6273d5fac630e788362bbaf6aa1a9e70618d1742", + "rev": "67cffdc2c98af79ce29ac705b90a5f5f3f57031c", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1751674367, - "narHash": "sha256-9LSwfx+H+rJ6v/PuZj2BamaIPpasq07KCw+7WBUEQy4=", + "lastModified": 1751760897, + "narHash": "sha256-HSTUhRj6DAP5O91IJGWXCK67SVgVFKjBjcgNoctRMWw=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "2b7caae5c8d26f6ed1176cf07962926d7d614451", + "rev": "ebeea9855f42afaca2ddacc4b7225e5294a848ce", "type": "github" }, "original": { From 56c4312cec8d6efcfa85363c8c3116886c755b69 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 7 Jul 2025 00:51:52 +0000 Subject: [PATCH 120/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 38903d4fb9..1288b77cca 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1751762534, - "narHash": "sha256-1cgym/wJCBXvp1nxQaqbl3H5jvQT+k0RYEUrx6ViDzM=", + "lastModified": 1751848845, + "narHash": "sha256-I7ARsFiPqi4BktWKRIRt0yNnf/pfQ5FvuPrZYlQWkGQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8a3ead1cdb6c08344ac1a1450941b3ecc08ef1cf", + "rev": "17aa79b2cecf4ab255cfc642975d92227a54ce9f", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1751761748, - "narHash": "sha256-67Bb8MMqih9KEEl7eJI2OApV9yO7Zdl+HkKCOeM2hkI=", + "lastModified": 1751848120, + "narHash": "sha256-ZcPHIVhDb5ZOeXYpqrNc+4/1KYElGIv/fy7CQLzCNck=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "67cffdc2c98af79ce29ac705b90a5f5f3f57031c", + "rev": "6e3850daa54cdb4c12cb12c187e6d8ee2c46c63a", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1751760897, - "narHash": "sha256-HSTUhRj6DAP5O91IJGWXCK67SVgVFKjBjcgNoctRMWw=", + "lastModified": 1751847279, + "narHash": "sha256-YkZJsMxU7fXEjv7aBn27cCpmVeNj7u2Q5nMatDa09Fk=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "ebeea9855f42afaca2ddacc4b7225e5294a848ce", + "rev": "4e0e02ba830ac522463be925b9e2ea07da250236", "type": "github" }, "original": { From 78a2916390aa7924978b310458026c9b6a744a6f Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 8 Jul 2025 00:51:40 +0000 Subject: [PATCH 121/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 1288b77cca..99c5ee2130 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1751848845, - "narHash": "sha256-I7ARsFiPqi4BktWKRIRt0yNnf/pfQ5FvuPrZYlQWkGQ=", + "lastModified": 1751934422, + "narHash": "sha256-mTE9/jDEqBHnl3TmTBBstkGfSvO2XL/S+SN/NCh7Fmo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "17aa79b2cecf4ab255cfc642975d92227a54ce9f", + "rev": "e0a22f3365b0bca04b7aa51e13e2b9b3c9fc6d11", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1751848120, - "narHash": "sha256-ZcPHIVhDb5ZOeXYpqrNc+4/1KYElGIv/fy7CQLzCNck=", + "lastModified": 1751934412, + "narHash": "sha256-vpjODGCVrc7gKJbzTtR+Hod9IH3cE/zLo+n8jaeEqtc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6e3850daa54cdb4c12cb12c187e6d8ee2c46c63a", + "rev": "cdc51e866e96716a4bd09faf94140563fda09f21", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1751847279, - "narHash": "sha256-YkZJsMxU7fXEjv7aBn27cCpmVeNj7u2Q5nMatDa09Fk=", + "lastModified": 1751933619, + "narHash": "sha256-1s2iFC/SqmzCvxJBRlau04sllu2Jg4Zyyj6NFtLjsyI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "4e0e02ba830ac522463be925b9e2ea07da250236", + "rev": "d12ec1dd78db14e6fdc95f872a5e77d1c0fa3581", "type": "github" }, "original": { From ba99ace0a120157569e2b0524cb0f535b512cf26 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 9 Jul 2025 00:51:49 +0000 Subject: [PATCH 122/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 99c5ee2130..3e6e9dc916 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1751934422, - "narHash": "sha256-mTE9/jDEqBHnl3TmTBBstkGfSvO2XL/S+SN/NCh7Fmo=", + "lastModified": 1752020840, + "narHash": "sha256-Puc1OwSNU9LBeYqApbvMrw56a5UBZFYK32kRe8waBs0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e0a22f3365b0bca04b7aa51e13e2b9b3c9fc6d11", + "rev": "312f24ded944adaf56ccbdb13675ef39c2191124", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1751934412, - "narHash": "sha256-vpjODGCVrc7gKJbzTtR+Hod9IH3cE/zLo+n8jaeEqtc=", + "lastModified": 1752020830, + "narHash": "sha256-85nTyeqTovfgaOem+L9N9++X+ti1Ssv8UiQXfwJys5I=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "cdc51e866e96716a4bd09faf94140563fda09f21", + "rev": "63ed2b6d60df881899c29c9dd4e5fb1a3124fe21", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1751933619, - "narHash": "sha256-1s2iFC/SqmzCvxJBRlau04sllu2Jg4Zyyj6NFtLjsyI=", + "lastModified": 1752020034, + "narHash": "sha256-gw/qSy3bJy+Uqc1LyJKFjowtErjeJHooigqWM2tzrkI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d12ec1dd78db14e6fdc95f872a5e77d1c0fa3581", + "rev": "9080298ccf1df5b26c059dca6676324ab1fcee3d", "type": "github" }, "original": { From f71605f1556a16848276531858a4af566c060130 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 9 Jul 2025 21:56:25 +1200 Subject: [PATCH 123/308] Bump head.hackage (#2409) --- test/cabal.project.local | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cabal.project.local b/test/cabal.project.local index d420193411..2a6c3dda3c 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -29,7 +29,7 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-GDbFKWPkG3IXjgL3DEywVgnMvEMciBfMHdMjhIRFJK4= + --sha256: sha256-3icOgmtUh9WxDFfmmSHgTKhlfWJ6Yb5jYGYBcnK7d0A= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b From fa7fea87304b918d232cc887b96405f304daaba2 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 10 Jul 2025 10:17:10 +1200 Subject: [PATCH 124/308] Check other locations for extra-compilation-artifacts (#2410) --- builder/comp-builder.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index a57e1fe134..1d162f39b8 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -652,6 +652,10 @@ let mkdir -p $out/share if [ -d dist/build/extra-compilation-artifacts ]; then cp -r dist/build/extra-compilation-artifacts/hpc $out/share + elif [ -d ${testExecutable}-tmp/extra-compilation-artifacts ]; then + cp -r ${testExecutable}-tmp/extra-compilation-artifacts/hpc $out/share + elif [ -d dist/build/${componentId.cname}/extra-compilation-artifacts ]; then + cp -r dist/build/${componentId.cname}/extra-compilation-artifacts/hpc $out/share else cp -r dist/hpc $out/share fi From 1af1e0d8d8e997c35efea80c983b62732050f7ef Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 10 Jul 2025 00:52:14 +0000 Subject: [PATCH 125/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 3e6e9dc916..ae4f7ca5e3 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1752020840, - "narHash": "sha256-Puc1OwSNU9LBeYqApbvMrw56a5UBZFYK32kRe8waBs0=", + "lastModified": 1752107859, + "narHash": "sha256-ERjrOw40fE5veuUp5q8jBkGlWTUQJ0jODCNDlYx/DM8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "312f24ded944adaf56ccbdb13675ef39c2191124", + "rev": "43a6026587cef574659bf2739ca17f5e02ec1361", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1752020830, - "narHash": "sha256-85nTyeqTovfgaOem+L9N9++X+ti1Ssv8UiQXfwJys5I=", + "lastModified": 1752107228, + "narHash": "sha256-mFTUPacyAC82u84U5OYjFZQeaapblJdzOvWvCiD5/d0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "63ed2b6d60df881899c29c9dd4e5fb1a3124fe21", + "rev": "9d4ef53d1473943a8d39cc25bfabc2ff52e0598f", "type": "github" }, "original": { From 14d2c1ae041ad778641726f2bf7a3b8004efcde5 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 11 Jul 2025 00:52:14 +0000 Subject: [PATCH 126/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index ae4f7ca5e3..cfc81d71c5 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1752107859, - "narHash": "sha256-ERjrOw40fE5veuUp5q8jBkGlWTUQJ0jODCNDlYx/DM8=", + "lastModified": 1752183807, + "narHash": "sha256-aIgf9KeVH1zbjiCIcfWYItiXUkJ5CPbGap//L0ihz48=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "43a6026587cef574659bf2739ca17f5e02ec1361", + "rev": "70654b3f9f77995c663b0a676e46e0fdf34ae7bd", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1752020034, - "narHash": "sha256-gw/qSy3bJy+Uqc1LyJKFjowtErjeJHooigqWM2tzrkI=", + "lastModified": 1752192825, + "narHash": "sha256-1lGgrlISfklStZ0hrW0HesWQi8jUVIbNid6VkCBmLFs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "9080298ccf1df5b26c059dca6676324ab1fcee3d", + "rev": "baa79fc4b9835734f58644ab72ef4ffc4ae25e35", "type": "github" }, "original": { From 045e3e9466f8811d4085b550f4d69a5680a4d8ed Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 12 Jul 2025 00:52:17 +0000 Subject: [PATCH 127/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index cfc81d71c5..a264e894c1 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1752183807, - "narHash": "sha256-aIgf9KeVH1zbjiCIcfWYItiXUkJ5CPbGap//L0ihz48=", + "lastModified": 1752280022, + "narHash": "sha256-BTIsBDCO/sMHrrgFHVMiQ9CZ1K+8Nod/Z757ouoT/e4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "70654b3f9f77995c663b0a676e46e0fdf34ae7bd", + "rev": "66dac1a195c1adfe6430bc818f8de5f6ee498b02", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1752107228, - "narHash": "sha256-mFTUPacyAC82u84U5OYjFZQeaapblJdzOvWvCiD5/d0=", + "lastModified": 1752280012, + "narHash": "sha256-AYvuTMm0hztK5WFxf2nnRvQQMXwtuxupsTKwjwwGosM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9d4ef53d1473943a8d39cc25bfabc2ff52e0598f", + "rev": "5e2dde857bcbb96c534fac14b6277a01d1fbf82e", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1752192825, - "narHash": "sha256-1lGgrlISfklStZ0hrW0HesWQi8jUVIbNid6VkCBmLFs=", + "lastModified": 1752279194, + "narHash": "sha256-sKyoVSw4mk1mZXWTPsGsqpBRC6I2pQnMp92EfyaXvhs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "baa79fc4b9835734f58644ab72ef4ffc4ae25e35", + "rev": "1d4e9f55583b6319ecf776f529ff8698d5b0289a", "type": "github" }, "original": { From 9e635db456678446cef6f97376d210da127c7cd0 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 13 Jul 2025 00:52:31 +0000 Subject: [PATCH 128/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a264e894c1..99285c2d8a 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1752280022, - "narHash": "sha256-BTIsBDCO/sMHrrgFHVMiQ9CZ1K+8Nod/Z757ouoT/e4=", + "lastModified": 1752366603, + "narHash": "sha256-oaiQgrnhF6aKD9gEf+Aom/MDwAtw3dFraXZ7nHhCCJU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "66dac1a195c1adfe6430bc818f8de5f6ee498b02", + "rev": "7b21300944fa3d573e10303d0891a0ea858ff4c4", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1752280012, - "narHash": "sha256-AYvuTMm0hztK5WFxf2nnRvQQMXwtuxupsTKwjwwGosM=", + "lastModified": 1752366593, + "narHash": "sha256-zkzLWritixsGFxqShIyzk2OFbB/OpIqWfLUAQmY9TUk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5e2dde857bcbb96c534fac14b6277a01d1fbf82e", + "rev": "1d874fbe00ec52c1d64ba436c3e9d2d389140f2b", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1752279194, - "narHash": "sha256-sKyoVSw4mk1mZXWTPsGsqpBRC6I2pQnMp92EfyaXvhs=", + "lastModified": 1752365727, + "narHash": "sha256-ISUg2c+vhozELEZgv4gTpju1HpDsZfqCN2S4IsJ/FJY=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "1d4e9f55583b6319ecf776f529ff8698d5b0289a", + "rev": "d79f5705ed3d40e6702eef1f3b75676d858e5f1a", "type": "github" }, "original": { From 3614f094a3a04e838706b115b3c014e79c4ba969 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sun, 13 Jul 2025 18:45:24 +1200 Subject: [PATCH 129/308] Fix aarch64 musl TH code that uses C++ (#2412) * Fix aarch64 musl TH code that uses C++ * There is still an issue with cross compiling (not C++ related) * There is still an issue with cross compiling (not C++ related) --- builder/comp-builder.nix | 2 +- test/cabal.project.local | 2 +- test/th-dlls/default.nix | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 1d162f39b8..808d8c89dd 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -338,7 +338,7 @@ let } // lib.optionalAttrs stdenv.hostPlatform.isMusl { # This fixes musl compilation of TH code that depends on C++ (for instance TH code that uses the double-conversion package) - LD_LIBRARY_PATH="${pkgs.buildPackages.gcc-unwrapped.lib}/x86_64-unknown-linux-musl/lib"; + LD_LIBRARY_PATH="${pkgs.buildPackages.gcc-unwrapped.lib}/${stdenv.hostPlatform.config}/lib"; } // lib.optionalAttrs dontUpdateAutotoolsGnuConfigScripts { inherit dontUpdateAutotoolsGnuConfigScripts; diff --git a/test/cabal.project.local b/test/cabal.project.local index 2a6c3dda3c..f8a632d296 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -29,7 +29,7 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-3icOgmtUh9WxDFfmmSHgTKhlfWJ6Yb5jYGYBcnK7d0A= + --sha256: sha256-ywti4TWiuFGJtnHaMMPhk3Ms2hXfsXMC1LMcWnI9K6I= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 1a612b23be..a25fe93b74 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -20,8 +20,12 @@ let in recurseIntoAttrs { meta.disabled = stdenv.hostPlatform.isGhcjs - # On aarch64 this test also breaks form musl builds (including cross compiles on x86_64-linux) - || (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl) + # On aarch64 this test breaks form musl cross compiles on x86_64-linux + # Error is: + # iserv-proxy-interpreter: internal error: 0x0 address for .LANCHOR1 + 0 of type 562 + # in tmp/nix/store/kgprix3jn2w320flxpf7yr29f7dczykr-libsodium-aarch64-unknown-linux-musl-1.0.18/lib/libsodium.a + # (#103:librdrand_la-randombytes_internal_random.o) for relocation 4 in section 1 of kind: 0 + || (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl && !stdenv.buildPlatform.isAarch64) # Not sure why this is failing with a seg fault || (builtins.elem compiler-nix-name ["ghc9102" "ghc9102llvm"] && stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32) # unhandled ELF relocation(Rel) type 10 From 19ff56a902b173be9589166d8ea4ccc538b8ca78 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 14 Jul 2025 00:51:56 +0000 Subject: [PATCH 130/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 99285c2d8a..37778e9fcf 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1752366603, - "narHash": "sha256-oaiQgrnhF6aKD9gEf+Aom/MDwAtw3dFraXZ7nHhCCJU=", + "lastModified": 1752452932, + "narHash": "sha256-gqB0sEfoJHUj42D2OswbRLqwYUyuXrM52e8wzlFz57Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7b21300944fa3d573e10303d0891a0ea858ff4c4", + "rev": "86294b3df3d5094f981437018478e37bb24fff7e", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1752366593, - "narHash": "sha256-zkzLWritixsGFxqShIyzk2OFbB/OpIqWfLUAQmY9TUk=", + "lastModified": 1752452922, + "narHash": "sha256-1uobqUVkpqqDXlt+b1TXITgHapw/xggplHvwpSVwpzQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1d874fbe00ec52c1d64ba436c3e9d2d389140f2b", + "rev": "9fb6712285ad1af31dd2a626cbebbdf0dd2a785e", "type": "github" }, "original": { From 5229625a69b56302de89c9a3629e4159772e50e8 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 15 Jul 2025 11:17:14 +1200 Subject: [PATCH 131/308] Improve `hix flake check` (#2413) * Improve `hix flake check` Adds: `--supportedSystems` `--overlays` `--config` To allow more control of the flake from the command line. * Bump head.hackage --- hix/default.nix | 115 +++++++++++++++++++++++++-------------- hix/project/flake.nix | 26 ++++++--- lib/check.nix | 2 +- lib/default.nix | 7 +-- test/cabal.project.local | 2 +- 5 files changed, 96 insertions(+), 56 deletions(-) diff --git a/hix/default.nix b/hix/default.nix index 8867daa976..c0cbcb96d4 100644 --- a/hix/default.nix +++ b/hix/default.nix @@ -22,23 +22,87 @@ let cmd=$1 shift case $cmd in - update) - nix-env -iA hix -f https://github.com/input-output-hk/haskell.nix/tarball/master + init|init-hix) + if [ "$cmd" == "init" ]; then + FLAKE_NIX="$(mktemp -d)/flake.nix" + sed 's|EVAL_SYSTEM|${pkgs.stdenv.hostPlatform.system}|' < ${hixInit}/flake.nix > $FLAKE_NIX + if [ -e flake.nix ]; then + if ! diff -u flake.nix $FLAKE_NIX; then + echo 'ERROR: Not replacing existing `flake.nix`.' + exit 1 + fi + else + cp $FLAKE_NIX flake.nix + echo '`flake.nix` file created.' + fi + fi + HIX_NIX="$(mktemp -d)/hix.nix" + sed 's|EVAL_SYSTEM|${pkgs.stdenv.hostPlatform.system}|' < ${hixInit}/nix/hix.nix > $HIX_NIX + if [ -e nix/hix.nix ]; then + echo '`nix/hix.nix` project configuration already exists:' + else + mkdir -p nix + cp $HIX_NIX nix/hix.nix + echo '`nix/hix.nix` project configuation:' + fi + ${pkgs.bat}/bin/bat nix/hix.nix ;; - dump-path|eval|log|path-info|search|show-derivation|sign-paths|verify|why-depends) - nix $cmd -f ${hixProject} ${args} "$@" + help) + cat < [args...] + + hix is a wrapper around for the nix command that allows you + to work on haskell projects using nix without the need to add + nix files to the project. + + Any nix that takes 'installables' as an argumnet should + work and behave as if the project had a 'flake.nix' file that + was set up to work with haskell.nix. + + You can add a 'nix/hix.nix' file to your project and 'hix' will + include that file as nix module containing project arguments. + + Other commands: + init Add flake.nix and nix/hix.nix file to allow + nix commands to work (without hix). + help This message + + Advanced options: + --projectArgs Haskell.nix arguments as Nix expression + --supportedSystems Supported systems as Nix expression + --overlays Overlay definitions + --config Custom nix configuration + + Examples: + hix flake show . + hix build '.#hello:exe:hello' + hix run '.#hello:exe:hello' + hix flake check --projectArgs '{ compiler-nix-name = "ghc9122"; }' + + EOF ;; - flake|build|develop|run|profile) + *) # Put the flake files for remote URLs in $HOME/.hix by default HIX_DIR="''${HIX_DIR:-$HOME/.hix}" HIX_TMPDIR="$(mktemp -d)" - projectArgs="" + args=("--option" "allow-import-from-derivation" "true") while(($#)); do arg=$1 case $arg in --projectArgs) - projectArgs="$2" - args+=(--override-input projectArgs "$HIX_TMPDIR") + printf %s "$2" > "$HIX_TMPDIR/projectArgs.nix" + shift + ;; + --supportedSystems) + printf %s "$2" > "$HIX_TMPDIR/supportedSystems.nix" + shift + ;; + --overlays) + printf %s "$2" > "$HIX_TMPDIR/overlays.nix" + shift + ;; + --config) + printf %s "$2" > "$HIX_TMPDIR/config.nix" shift ;; --out-link|-o|--eval-store|--include|-I|--inputs-from|--expr|--file|-f|--keep|-k|--phase|--profile|--unset|-u) @@ -102,42 +166,9 @@ let cp $HIX_FLAKE $FLAKE/flake.nix chmod +w $FLAKE/flake.nix fi - if [ "$projectArgs" != "" ]; then - printf %s "$projectArgs" > "$HIX_TMPDIR/projectArgs.nix" - fi + args+=(--override-input projectArgs "$(realpath "$HIX_TMPDIR")") nix $cmd "''${args[@]}" ;; - init|init-hix) - if [ "$cmd" == "init" ]; then - FLAKE_NIX="$(mktemp -d)/flake.nix" - sed 's|EVAL_SYSTEM|${pkgs.stdenv.hostPlatform.system}|' < ${hixInit}/flake.nix > $FLAKE_NIX - if [ -e flake.nix ]; then - if ! diff -u flake.nix $FLAKE_NIX; then - echo 'ERROR: Not replacing existing `flake.nix`.' - exit 1 - fi - else - cp $FLAKE_NIX flake.nix - echo '`flake.nix` file created.' - fi - fi - HIX_NIX="$(mktemp -d)/hix.nix" - sed 's|EVAL_SYSTEM|${pkgs.stdenv.hostPlatform.system}|' < ${hixInit}/nix/hix.nix > $HIX_NIX - if [ -e nix/hix.nix ]; then - echo '`nix/hix.nix` project configuration already exists:' - else - mkdir -p nix - cp $HIX_NIX nix/hix.nix - echo '`nix/hix.nix` project configuation:' - fi - ${pkgs.bat}/bin/bat nix/hix.nix - ;; - repl) - nix $cmd ${hixProject} ${args} "$@" - ;; - *) - nix $cmd "$@" - ;; esac ''; in (pkgs.symlinkJoin { diff --git a/hix/project/flake.nix b/hix/project/flake.nix index 26641d1ed3..729e2ceb3a 100644 --- a/hix/project/flake.nix +++ b/hix/project/flake.nix @@ -9,20 +9,30 @@ inputs.projectArgs.flake = false; inputs.src.flake = false; outputs = { self, src, nixpkgs, flake-utils, haskellNix, projectArgs }: - flake-utils.lib.eachSystem [ "EVAL_SYSTEM" ] (system: + flake-utils.lib.eachSystem ( + if builtins.pathExists (projectArgs + "/supportedSystems.nix") + then import (projectArgs + "/supportedSystems.nix") + else [ "EVAL_SYSTEM" ]) (system: let overlays = [ haskellNix.overlay (final: _prev: { hixProject = - final.haskell-nix.hix.project ({ - inherit src; - } // ( - if builtins.pathExists (projectArgs + "/projectArgs.nix") - then import (projectArgs + "/projectArgs.nix") - else {})); + (final.haskell-nix.hix.project + { inherit src; }).appendModule ( + if builtins.pathExists (projectArgs + "/projectArgs.nix") + then import (projectArgs + "/projectArgs.nix") + else {} + ); }) ]; - pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; }; + pkgs = import nixpkgs { inherit system; + overlays = overlays ++ (if builtins.pathExists (projectArgs + "/overlays.nix") + then import (projectArgs + "/overlays.nix") + else []); + config = haskellNix.config // (if builtins.pathExists (projectArgs + "/config.nix") + then import (projectArgs + "/config.nix") + else {}); + }; flake = pkgs.hixProject.flake {}; in flake // { legacyPackages = pkgs; diff --git a/lib/check.nix b/lib/check.nix index 0ee72dd415..5b9a643560 100644 --- a/lib/check.nix +++ b/lib/check.nix @@ -30,7 +30,7 @@ in stdenv.mkDerivation (( name = (drv.name + "-check"); passthru = { - inherit (drv) identifier config configFiles executableToolDepends cleanSrc env exeName; + inherit (drv) identifier config configFiles executableToolDepends cleanSrc env exeName meta; profiled = self drv.profiled; dwarf = self drv.dwarf; }; diff --git a/lib/default.nix b/lib/default.nix index e3e3de576f..5f7dfe4a23 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -471,6 +471,7 @@ in { ${component.passthru.identifier.component-id} = { type = "app"; program = component.exePath; + inherit (component) meta; }; }) acc @@ -531,8 +532,7 @@ in { , apps ? mkFlakeApps haskellPackages , checks ? mkFlakeChecks (collectChecks' haskellPackages) , coverage ? {} - , devShell ? project.shell - , devShells ? { default = devShell; } + , devShells ? { default = project.shell; } , checkedProject ? project.appendModule { checkMaterialization = true; } , ciJobs ? mkFlakeCiJobs project { inherit checks coverage packages devShells checkedProject; } , hydraJobs ? ciJobs @@ -560,8 +560,7 @@ in { ciJobs # Used by: # `nix develop` - devShells - devShell; # TODO remove devShell once everyone has nix that supports `devShells.default` + devShells; }; # Adapt a standard project shell (`project.shell` or `haskell-nix.shellFor`) diff --git a/test/cabal.project.local b/test/cabal.project.local index f8a632d296..a134a793f2 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -29,7 +29,7 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-ywti4TWiuFGJtnHaMMPhk3Ms2hXfsXMC1LMcWnI9K6I= + --sha256: sha256-V7cPUrMNDXF+LDrNKUE+co1MEmOquGUQ19Z6dJP8bFA= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b From f9cadec000e8e809684ec21b89f1a2f703f274a7 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 15 Jul 2025 00:52:17 +0000 Subject: [PATCH 132/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 37778e9fcf..d46ec3b731 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1752452932, - "narHash": "sha256-gqB0sEfoJHUj42D2OswbRLqwYUyuXrM52e8wzlFz57Y=", + "lastModified": 1752540001, + "narHash": "sha256-GCWPKoSbC/7SPdZCMYnP0ursmnwd/dQtp3++yf0HmkA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "86294b3df3d5094f981437018478e37bb24fff7e", + "rev": "039a543288fe73b0a057a7ad19819e917461b5ba", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1752365727, - "narHash": "sha256-ISUg2c+vhozELEZgv4gTpju1HpDsZfqCN2S4IsJ/FJY=", + "lastModified": 1752538460, + "narHash": "sha256-zowvVqezmQukKZ+Ip5DrGqDtVNbHtAYRflZ/ftjj+do=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d79f5705ed3d40e6702eef1f3b75676d858e5f1a", + "rev": "2724ef1106272d8e33780831cfee2bb9ff5d3c8e", "type": "github" }, "original": { From 35121dfa67592b4c3e9931dd47b84bf3ca78abd0 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 16 Jul 2025 09:07:43 +1200 Subject: [PATCH 133/308] Fix TH code in checks for android cross compilation (#2414) * Fix TH code in checks for android cross compilation * Update builder/comp-builder.nix Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update lib/check.nix Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- builder/comp-builder.nix | 139 +++++++++++++++++++++++++++++++++++++-- lib/check.nix | 2 +- test/th-dlls/default.nix | 4 +- 3 files changed, 138 insertions(+), 7 deletions(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 808d8c89dd..9cd2b9f90d 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -1,6 +1,4 @@ { pkgs, stdenv, buildPackages, pkgsBuildBuild, ghc, llvmPackages, lib, gobject-introspection ? null, haskellLib, makeConfigFiles, haddockBuilder, ghcForComponent, hsPkgs, compiler, runCommand, libffi, gmp, windows, zlib, ncurses, nodejs, nonReinstallablePkgs }@defaults: -lib.makeOverridable ( -let self = { componentId , component , package @@ -92,7 +90,76 @@ let self = # LLVM , useLLVM ? ghc.useLLVM or false , smallAddressSpace ? false - +}: +# makeOverridable is called here after all the `? DEFAULT` arguments +# will have been applied. This makes sure that `c.override (oldAttrs: {...})` +# includes these `DEFAULT` values in `oldAttrs`. This is important +# so that overrides can modify the existing values instead of replacing them. +lib.makeOverridable ( +let self = +{ componentId +, component +, package +, name +, setup +, src +, flags +, cabalFile +, cabal-generator +, patches +, preUnpack +, configureFlags +, prePatch +, postPatch +, preConfigure +, postConfigure +, setupBuildFlags +, preBuild +, postBuild +, preCheck +, postCheck +, setupInstallFlags +, preInstall +, postInstall +, preHaddock +, postHaddock +, shellHook +, configureAllComponents +, allComponent +, build-tools +, pkgconfig +, platforms +, frameworks +, dontPatchELF +, dontStrip +, dontUpdateAutotoolsGnuConfigScripts +, hardeningDisable +, enableStatic +, enableShared +, enableExecutableDynamic +, enableDeadCodeElimination +, writeHieFiles +, ghcOptions +, contentAddressed +, doHaddock +, doHoogle +, hyperlinkSource +, quickjump +, keepConfigFiles +, keepGhc +, keepSource +, setupHaddockFlags +, enableLibraryProfiling +, enableProfiling +, profilingDetail +, doCoverage +, enableSeparateDataOutput +, enableLibraryForGhci +, enableDebugRTS +, enableDWARF +, enableTSanRTS +, useLLVM +, smallAddressSpace }@drvArgs: let @@ -719,4 +786,68 @@ let // lib.optionalAttrs (hardeningDisable != [] || stdenv.hostPlatform.isMusl) { hardeningDisable = hardeningDisable ++ lib.optional stdenv.hostPlatform.isMusl "pie"; }); -in drv; in self) +in drv; in self) { + inherit componentId + component + package + name + setup + src + flags + cabalFile + cabal-generator + patches + preUnpack + configureFlags + prePatch + postPatch + preConfigure + postConfigure + setupBuildFlags + preBuild + postBuild + preCheck + postCheck + setupInstallFlags + preInstall + postInstall + preHaddock + postHaddock + shellHook + configureAllComponents + allComponent + build-tools + pkgconfig + platforms + frameworks + dontPatchELF + dontStrip + dontUpdateAutotoolsGnuConfigScripts + hardeningDisable + enableStatic + enableShared + enableExecutableDynamic + enableDeadCodeElimination + writeHieFiles + ghcOptions + contentAddressed + doHaddock + doHoogle + hyperlinkSource + quickjump + keepConfigFiles + keepGhc + keepSource + setupHaddockFlags + enableLibraryProfiling + enableProfiling + profilingDetail + doCoverage + enableSeparateDataOutput + enableLibraryForGhci + enableDebugRTS + enableDWARF + enableTSanRTS + useLLVM + smallAddressSpace; +} diff --git a/lib/check.nix b/lib/check.nix index 5b9a643560..15270975e5 100644 --- a/lib/check.nix +++ b/lib/check.nix @@ -3,7 +3,7 @@ let self = drvOrig: let # Work around problem running dynamicially linked Android executables with qemu. - drv = drvOrig.override (lib.optionalAttrs stdenv.hostPlatform.isAndroid { setupBuildFlags = ["--ghc-option=-optl-static" ]; }); + drv = drvOrig.override (oldAttrs: lib.optionalAttrs stdenv.hostPlatform.isAndroid { setupBuildFlags = (oldAttrs.setupBuildFlags or []) ++ ["--ghc-option=-optl-static"]; }); component = drv.config; diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index a25fe93b74..8ec1425654 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -43,9 +43,9 @@ in recurseIntoAttrs { }; build = packages.th-dlls.components.library; - just-template-haskell = packages.th-dlls.components.exes.just-template-haskell; + just-template-haskell = haskellLib.check packages.th-dlls.components.exes.just-template-haskell; build-ei = packages-ei.th-dlls.components.library; - just-template-haskell-ei = packages-ei.th-dlls.components.exes.just-template-haskell; + just-template-haskell-ei = haskellLib.check packages-ei.th-dlls.components.exes.just-template-haskell; } // optionalAttrs (!(builtins.elem compiler-nix-name ["ghc984" "ghc9122" "ghc9122llvm" "ghc91320250523"] && stdenv.buildPlatform.isx86_64 && stdenv.hostPlatform.isAarch64 # The dependency on `math-functions` somehow breaks GHC 9.6.7 musl profiled builds (only with the external interpreter though) From 0ff894708e14be268f121ca5a77ac6ebaea18f6b Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 16 Jul 2025 00:52:14 +0000 Subject: [PATCH 134/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d46ec3b731..7aeb110382 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1752540001, - "narHash": "sha256-GCWPKoSbC/7SPdZCMYnP0ursmnwd/dQtp3++yf0HmkA=", + "lastModified": 1752625681, + "narHash": "sha256-6W5s5tdi26AQ955wkTxKG08guE57jKduCdEo/r2GFQg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "039a543288fe73b0a057a7ad19819e917461b5ba", + "rev": "06cd13c1d7685aa77cd33169fb33ef63848f7ffe", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1752452922, - "narHash": "sha256-1uobqUVkpqqDXlt+b1TXITgHapw/xggplHvwpSVwpzQ=", + "lastModified": 1752625671, + "narHash": "sha256-Tan7+DRZP/MLRwOLfjjme5z12C+fprM32D1Hjyh8FTA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9fb6712285ad1af31dd2a626cbebbdf0dd2a785e", + "rev": "a7538db6f355533506e84bb17f7d0d46069489d6", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1752538460, - "narHash": "sha256-zowvVqezmQukKZ+Ip5DrGqDtVNbHtAYRflZ/ftjj+do=", + "lastModified": 1752624837, + "narHash": "sha256-S9VSr9S+bBrdIOaTRAc96IpUPKp6zqAp5JE+PA2RCzk=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "2724ef1106272d8e33780831cfee2bb9ff5d3c8e", + "rev": "6c06ec141a0112c1ad5ff5252873f30e1cefbb96", "type": "github" }, "original": { From d719035ec2019a26681094bcebad29ff26f41819 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 17 Jul 2025 00:52:16 +0000 Subject: [PATCH 135/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7aeb110382..2b39ef0ef8 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1752625681, - "narHash": "sha256-6W5s5tdi26AQ955wkTxKG08guE57jKduCdEo/r2GFQg=", + "lastModified": 1752712095, + "narHash": "sha256-wh2EtUCg/o0NrpwgrbqHlgZK6xCgc7vKMtvtTTQWsZo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "06cd13c1d7685aa77cd33169fb33ef63848f7ffe", + "rev": "82b796ae0c3343c0559b14da8a33876d1766359b", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1752625671, - "narHash": "sha256-Tan7+DRZP/MLRwOLfjjme5z12C+fprM32D1Hjyh8FTA=", + "lastModified": 1752712085, + "narHash": "sha256-Ic58f0iyrmua4vcl2J6gAXVsEgz8Szlq5sCOPaSDUuk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a7538db6f355533506e84bb17f7d0d46069489d6", + "rev": "ef90cca797bace4b0c732318a8c317c8df9a7b22", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1752624837, - "narHash": "sha256-S9VSr9S+bBrdIOaTRAc96IpUPKp6zqAp5JE+PA2RCzk=", + "lastModified": 1752711253, + "narHash": "sha256-6HmIulvqM+wIYAExZ6GdI6yL3FGPPNzVRdWbaFai/1M=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "6c06ec141a0112c1ad5ff5252873f30e1cefbb96", + "rev": "e2e9cc760d864765d4588aa0009af4f85497f312", "type": "github" }, "original": { From abcb466255e9fe4c32dccc4163d23b3223df8d90 Mon Sep 17 00:00:00 2001 From: JackKelly-Bellroy <64521034+JackKelly-Bellroy@users.noreply.github.com> Date: Thu, 17 Jul 2025 21:27:53 +1000 Subject: [PATCH 136/308] Numactl dont clobber configureflags (#2417) * overlays/musl.nix: Tidyup * overlays/musl.nix: Respect configureFlags when overriding numactl --- overlays/musl.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/overlays/musl.nix b/overlays/musl.nix index 89dddc5093..3cd4770f94 100644 --- a/overlays/musl.nix +++ b/overlays/musl.nix @@ -25,10 +25,13 @@ final: prev: prev.lib.optionalAttrs prev.stdenv.hostPlatform.isMusl ({ xz = prev.xz.override { enableStatic = true; }; lzma = prev.lzma.override { enableStatic = true; }; pcre = prev.pcre.overrideAttrs (_: { dontDisableStatic = true; }); - secp256k1 = prev.secp256k1.overrideAttrs ( oldAttrs: { - configureFlags = oldAttrs.configureFlags ++ ["--enable-static"]; }); + secp256k1 = prev.secp256k1.overrideAttrs (oldAttrs: { + configureFlags = oldAttrs.configureFlags ++ ["--enable-static"]; + }); - numactl = prev.numactl.overrideAttrs (_: { configureFlags = ["--enable-static"];}); + numactl = prev.numactl.overrideAttrs (oldAttrs: { + configureFlags = (oldAttrs.configureFlags or []) ++ ["--enable-static"]; + }); # See https://github.com/input-output-hk/haskell.nix/issues/948 postgresql = (prev.postgresql.overrideAttrs (_old: { From deaee9a612cecd2b14492d7222b5adb046f321e9 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 19 Jul 2025 00:52:13 +0000 Subject: [PATCH 137/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 2b39ef0ef8..f4de6475db 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1752712095, - "narHash": "sha256-wh2EtUCg/o0NrpwgrbqHlgZK6xCgc7vKMtvtTTQWsZo=", + "lastModified": 1752884870, + "narHash": "sha256-ZsOCtC4vmzYN6C6CdS2bN/Azbo+2GZJ69ehfHodbsNc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "82b796ae0c3343c0559b14da8a33876d1766359b", + "rev": "b07bf6149ec7c4ae327c1d10dfdb33ec46dec663", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1752712085, - "narHash": "sha256-Ic58f0iyrmua4vcl2J6gAXVsEgz8Szlq5sCOPaSDUuk=", + "lastModified": 1752884860, + "narHash": "sha256-HrwEAxPbKXndAkpUxOjKH4BbuzLZAamwNd/oJhAfm8o=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ef90cca797bace4b0c732318a8c317c8df9a7b22", + "rev": "fe3cd0d8627eafa4beee648a9069200239c264d3", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1752711253, - "narHash": "sha256-6HmIulvqM+wIYAExZ6GdI6yL3FGPPNzVRdWbaFai/1M=", + "lastModified": 1752884041, + "narHash": "sha256-ic96xExD/qZOCeddAG9VSKQpwRo6XIeNnt72zjm3gww=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "e2e9cc760d864765d4588aa0009af4f85497f312", + "rev": "4211c03b2bc12e6075028c835be536cebdbcb67f", "type": "github" }, "original": { From 76bbec8cd137b7db238c035e2f7da24dace66e75 Mon Sep 17 00:00:00 2001 From: Lucas David Traverso Date: Fri, 18 Jul 2025 22:33:45 -0300 Subject: [PATCH 138/308] Fix markdown on docs (#2418) --- docs/tutorials/getting-started.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/tutorials/getting-started.md b/docs/tutorials/getting-started.md index ecffcd8d61..22123fcdd3 100644 --- a/docs/tutorials/getting-started.md +++ b/docs/tutorials/getting-started.md @@ -76,7 +76,8 @@ nix run .#hello:exe:hello The following code could be capy-pasted and will work with `stack.yaml` and `cabal.project` based projects. -Edit your `flake.nix` as:```nix +Edit your `flake.nix` as: +```nix {{#include getting-started-flakes/flake.nix}} ``` From aeceb4d4536c25d0499eada022861075501e3030 Mon Sep 17 00:00:00 2001 From: jishudashen Date: Sun, 20 Jul 2025 08:28:30 +0800 Subject: [PATCH 139/308] chore: fix some minor issues in comments (#2419) Signed-off-by: jishudashen --- hix/default.nix | 2 +- lib/cabal-project-parser.nix | 2 +- lib/clean-cabal-component.nix | 2 +- lib/default.nix | 2 +- overlays/linux-cross.nix | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/hix/default.nix b/hix/default.nix index c0cbcb96d4..c24542da0e 100644 --- a/hix/default.nix +++ b/hix/default.nix @@ -55,7 +55,7 @@ let to work on haskell projects using nix without the need to add nix files to the project. - Any nix that takes 'installables' as an argumnet should + Any nix that takes 'installables' as an argument should work and behave as if the project had a 'flake.nix' file that was set up to work with haskell.nix. diff --git a/lib/cabal-project-parser.nix b/lib/cabal-project-parser.nix index 8b7633b679..f24771a89b 100644 --- a/lib/cabal-project-parser.nix +++ b/lib/cabal-project-parser.nix @@ -128,7 +128,7 @@ let # This works in a similar way to the `source-repository-package` but we are # able to simply replace the `repository` blocks with local `file:/nix/store` ones. # This works because `cabal configure` does not include any of the `/nix/sore/` - # paths in the `plan.json` (so materialized plan-nix will still work as expeced). + # paths in the `plan.json` (so materialized plan-nix will still work as expected). # See tests/unit.nix for examples of input and output. parseRepositoryBlock = evalPackages: _cabalProjectFileName: sha256map: inputMap: nix-tools: block: let diff --git a/lib/clean-cabal-component.nix b/lib/clean-cabal-component.nix index 28b79d4d88..86211e64e1 100644 --- a/lib/clean-cabal-component.nix +++ b/lib/clean-cabal-component.nix @@ -115,7 +115,7 @@ in lib.any (d: lib.strings.hasPrefix (rPath + "/") d) dirsNeeded) || traceReason "cabal package definition" (lib.strings.hasPrefix subDir rPath && lib.strings.hasSuffix ".cabal" rPath) - || traceReason "hpack package defintion" (lib.strings.hasPrefix subDir rPath + || traceReason "hpack package definition" (lib.strings.hasPrefix subDir rPath && rPath == "package.yaml") || traceReason "data file" (lib.strings.hasPrefix dataDir rPath && dataFileMatch rPath) diff --git a/lib/default.nix b/lib/default.nix index 5f7dfe4a23..bca69dd656 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -326,7 +326,7 @@ in { }; # Run evalModules passing the project function argument (m) as a module along with - # the the a projectType module (../modules/cabal-project.nix or ../modules/stack-project.nix). + # the a projectType module (../modules/cabal-project.nix or ../modules/stack-project.nix). # The resulting config is then passed to the project function's implementation. evalProjectModule = projectType: m: f: let project = f diff --git a/overlays/linux-cross.nix b/overlays/linux-cross.nix index d674140fe1..a420aed842 100644 --- a/overlays/linux-cross.nix +++ b/overlays/linux-cross.nix @@ -20,7 +20,7 @@ let # in a 32bit linux (via qemu-arm user mode emulation). If we have # -pie enabled, it will produce a static-pie executable, which # seems a lot like what we want but will crash on launch. It appears - # the the __stack_chk_guard lookups go through some lookup table, and + # the __stack_chk_guard lookups go through some lookup table, and # while the relocations for the lookup table are correct, the __stack_chk_guard # address isn't properly relocated. This could also be because libc isn't # supposed to be staticlly linked really. However because we are lacking From ee943bdc77218ec3ca7dc4e9e171247531b5c865 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 20 Jul 2025 00:52:28 +0000 Subject: [PATCH 140/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f4de6475db..56a219ad3e 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1752884870, - "narHash": "sha256-ZsOCtC4vmzYN6C6CdS2bN/Azbo+2GZJ69ehfHodbsNc=", + "lastModified": 1752971414, + "narHash": "sha256-oqV5EHOZ6z8XgI9joqHKeCsbVq6eo423d2pxRXyd1/k=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b07bf6149ec7c4ae327c1d10dfdb33ec46dec663", + "rev": "3cfee82775854178bdd41d9bd569a78841dc0e28", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1752884860, - "narHash": "sha256-HrwEAxPbKXndAkpUxOjKH4BbuzLZAamwNd/oJhAfm8o=", + "lastModified": 1752971403, + "narHash": "sha256-clNzyT2j2R5rVIDikVQnqwS/vyUYS8ixSkhJML7U8H8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fe3cd0d8627eafa4beee648a9069200239c264d3", + "rev": "6b63fab77131bb8c7ef2201f1bbc629bf1a45795", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1752884041, - "narHash": "sha256-ic96xExD/qZOCeddAG9VSKQpwRo6XIeNnt72zjm3gww=", + "lastModified": 1752970537, + "narHash": "sha256-4OJxPOkcDQ8VQg8KLpIiqSXoppI8wT8SssXmV5GwE6A=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "4211c03b2bc12e6075028c835be536cebdbcb67f", + "rev": "cf9496ab2dda303194315819479d2945f10a413c", "type": "github" }, "original": { From b6bd03d14db1d576c5b3ef8fe7605c6d444b489d Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 21 Jul 2025 00:52:22 +0000 Subject: [PATCH 141/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 56a219ad3e..e243ff7378 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1752971414, - "narHash": "sha256-oqV5EHOZ6z8XgI9joqHKeCsbVq6eo423d2pxRXyd1/k=", + "lastModified": 1753058587, + "narHash": "sha256-DKVWeqHLXgbjI0vs5h9/kKIyu0CYmIlQZ4yoXjDLnrk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3cfee82775854178bdd41d9bd569a78841dc0e28", + "rev": "9bf4c0ed001e1a9cca300cae34173169e186ecb3", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1752971403, - "narHash": "sha256-clNzyT2j2R5rVIDikVQnqwS/vyUYS8ixSkhJML7U8H8=", + "lastModified": 1753057758, + "narHash": "sha256-wOZ6OlCSHfzdPI5ThCAsXwCK48QKi8R0P28aimy1NpU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6b63fab77131bb8c7ef2201f1bbc629bf1a45795", + "rev": "1271dad972b64b219281c1015e91a8d4ba2659f4", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1752970537, - "narHash": "sha256-4OJxPOkcDQ8VQg8KLpIiqSXoppI8wT8SssXmV5GwE6A=", + "lastModified": 1753056912, + "narHash": "sha256-ziXcrJ23NnFgdVVHcK/3smSBjFeVZFS00H/X6W6WTmk=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "cf9496ab2dda303194315819479d2945f10a413c", + "rev": "a69af42e8a9d659a84734e63f288610cd04068de", "type": "github" }, "original": { From e774cf624077a6336692f9c3700bde23cc2edc8c Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 22 Jul 2025 00:52:19 +0000 Subject: [PATCH 142/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index e243ff7378..857b9c4387 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1753058587, - "narHash": "sha256-DKVWeqHLXgbjI0vs5h9/kKIyu0CYmIlQZ4yoXjDLnrk=", + "lastModified": 1753144093, + "narHash": "sha256-9UiNYjxmbNAQLSvb43eNpb6bMebFU1QUgsFv8AMcjMU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9bf4c0ed001e1a9cca300cae34173169e186ecb3", + "rev": "8cbe8f0361b504beebb5a89f485983723debacfe", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1753057758, - "narHash": "sha256-wOZ6OlCSHfzdPI5ThCAsXwCK48QKi8R0P28aimy1NpU=", + "lastModified": 1753144083, + "narHash": "sha256-p41gfrTrNQQWBfsTo5w72hcyjnRGZznOqPkqDLQcMLY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1271dad972b64b219281c1015e91a8d4ba2659f4", + "rev": "3c78d6f48c27e6c844c2bc6ff3e8b3bffc0b0096", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1753056912, - "narHash": "sha256-ziXcrJ23NnFgdVVHcK/3smSBjFeVZFS00H/X6W6WTmk=", + "lastModified": 1753143271, + "narHash": "sha256-p0RoZeCIht3RftT9R/tDechUpqTXilZEvHQ8k4UGKv0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "a69af42e8a9d659a84734e63f288610cd04068de", + "rev": "6b275926143e5c759f3bcbb4d38d70063f74c96f", "type": "github" }, "original": { From 1590e5cf44b95cfc48644d3d09d0c2959a709822 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 23 Jul 2025 22:06:54 +1200 Subject: [PATCH 143/308] Fix cross compilation TH in devShells (#2415) * Add haskell-nix.templateHaskell.ghcOptions * Update overlays/armv6l-linux.nix Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update overlays/windows.nix Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Disable macOS ci for now * Bump head.hackage * Disable macOS ci for now * Fix testWrapper type * Simplify mingw_w64.nix * Fix using hix `--command` and `--projectArgs` together * Move libsodium fix into test/overlay.nix * Fix iserv-proxy in dev shells * Bump head.hackage * Bump head.hackage * Fix for musl * Fix for ghcjs * Better way to disable macOS * Fix eval checks --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .github/workflows/pipeline.yml | 8 +++- builder/default.nix | 2 +- builder/ghc-for-component-wrapper.nix | 8 ++-- builder/shell-for.nix | 6 +++ ci.nix | 5 +-- flake.nix | 3 +- hix/default.nix | 2 +- overlays/armv6l-linux.nix | 64 ++++++++++++++------------- overlays/linux-cross.nix | 15 ++----- overlays/mingw_w64.nix | 10 ++--- overlays/windows.nix | 40 ++++++++++------- test/cabal.project.local | 2 +- test/overlay.nix | 8 ++++ test/th-dlls/default.nix | 2 +- 14 files changed, 96 insertions(+), 79 deletions(-) create mode 100644 test/overlay.nix diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 2c3c022684..706bc60ad2 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -223,14 +223,18 @@ jobs: steps: - uses: actions/checkout@v4 - name: "Check that evaluation of hydra jobs works without using remote builders for GHC 9.6.7" - run: nix path-info --derivation .#requiredJobs.x86_64-darwin.required-unstable-ghc967-native --show-trace --builders '' + run: | + sed -i 's/runningHydraEvalTest = true;/runningHydraEvalTest = false;/' flake.nix + nix path-info --derivation .#requiredJobs.x86_64-darwin.required-unstable-ghc967-native --show-trace --builders '' hydra-without-remote-builders-ghc9102: runs-on: [self-hosted, linux] steps: - uses: actions/checkout@v4 - name: "Check that evaluation of hydra jobs works without using remote builders for GHC 9.10.2" - run: nix path-info --derivation .#requiredJobs.x86_64-darwin.required-unstable-ghc9102-native --show-trace --builders '' + run: | + sed -i 's/runningHydraEvalTest = true;/runningHydraEvalTest = false;/' flake.nix + nix path-info --derivation .#requiredJobs.x86_64-darwin.required-unstable-ghc9102-native --show-trace --builders '' hix-cabal: runs-on: [self-hosted, linux] diff --git a/builder/default.nix b/builder/default.nix index 27ae6f2f3e..c813f87e7d 100644 --- a/builder/default.nix +++ b/builder/default.nix @@ -41,7 +41,7 @@ let # component builder and for nix-shells. ghcForComponent = import ./ghc-for-component-wrapper.nix { inherit lib ghc haskellLib; - inherit (buildPackages) stdenv; + inherit (pkgs) stdenv; inherit (buildPackages.buildPackages) runCommand makeWrapper; inherit (buildPackages.buildPackages.xorg) lndir; }; diff --git a/builder/ghc-for-component-wrapper.nix b/builder/ghc-for-component-wrapper.nix index ad8a15fc5c..a96f2302dc 100644 --- a/builder/ghc-for-component-wrapper.nix +++ b/builder/ghc-for-component-wrapper.nix @@ -14,6 +14,7 @@ , postInstall ? "" , enableDWARF , plugins +, ghcOptions ? [] }: let @@ -23,7 +24,7 @@ let libDir = "$wrappedGhc/${configFiles.libDir}"; docDir = "$wrappedGhc/share/doc/ghc/html"; # For musl we can use haddock from the buildGHC - haddock = if stdenv.targetPlatform.isMusl + haddock = if stdenv.hostPlatform.isMusl then ghc.buildGHC else ghc; @@ -107,7 +108,7 @@ let --set "NIX_${ghcCommandCaps}PKG" "$wrappedGhc/bin/${ghcCommand}-pkg" \ --set "NIX_${ghcCommandCaps}_DOCDIR" "${docDir}" \ --set "GHC_PLUGINS" "$GHC_PLUGINS" \ - --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}" + --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"${lib.concatMapStrings (o: " --add-flags ${o}") ghcOptions} fi done @@ -159,8 +160,7 @@ let inherit script targetPrefix; inherit (ghc) version meta; }; - propagatedBuildInputs = configFiles.libDeps; - nativeBuildInputs = [ghc]; + propagatedBuildInputs = configFiles.libDeps ++ lib.optional stdenv.hasCC stdenv.cc ++ [ghc]; } ('' mkdir -p $out/configFiles configFiles=$out/configFiles diff --git a/builder/shell-for.nix b/builder/shell-for.nix index 2bb4ede064..27e19ab3bc 100644 --- a/builder/shell-for.nix +++ b/builder/shell-for.nix @@ -143,6 +143,7 @@ let ''; inherit enableDWARF; plugins = []; + ghcOptions = haskell-nix.templateHaskell.${compiler.nix-name}.ghcOptions or []; }; hoogleIndex = let @@ -192,11 +193,16 @@ in ''} $(builtin type -P "${ghcEnv.targetPrefix}pkg-config" &> /dev/null && echo "--with-pkg-config=${ghcEnv.targetPrefix}pkg-config") \ "$@" ''); + propagatedBuildInputs = mkDrvArgs.propagateBuildInputs or [] ++ ghcEnv.drv.propagatedBuildInputs; phases = ["installPhase"]; installPhase = '' echo "${"Shell for " + toString (builtins.map (p : p.identifier.name) selectedPackages)}" echo $nativeBuildInputs $buildInputs > $out ''; + shellHook = mkDrvArgs.shellHook or "" + lib.optionalString stdenv.hostPlatform.isWindows '' + + export pkgsHostTargetAsString="''${pkgsHostTarget[@]}" + ''; # This helps tools like `ghcide` (that use the ghc api) to find # the correct global package DB. diff --git a/ci.nix b/ci.nix index bcb3ad6532..f949c7085a 100644 --- a/ci.nix +++ b/ci.nix @@ -29,12 +29,9 @@ (final: prev: { haskell-nix = prev.haskell-nix // { inherit checkMaterialization; - extraPkgconfigMappings = prev.haskell-nix.extraPkgconfigMappings or {} // { - "libsodium" = [ "libsodium-18" ]; - }; }; - libsodium-18 = (final.callPackage (inputs.nixpkgs-2311 + "/pkgs/development/libraries/libsodium") {}).overrideAttrs (_: { dontDisableStatic = true; }); }) + (import ./test/overlay.nix) ]; # Needed for dwarf tests config = haskellNix.config // { diff --git a/flake.nix b/flake.nix index 54723b2b81..721aaf1f3a 100644 --- a/flake.nix +++ b/flake.nix @@ -91,7 +91,8 @@ callFlake = import flake-compat; ifdLevel = 3; - runningHydraEvalTest = false; + # TODO set this to false when the macOS builders for ci.zw3rk.com are back online + runningHydraEvalTest = true; defaultCompiler = "ghc967"; config = import ./config.nix; diff --git a/hix/default.nix b/hix/default.nix index c24542da0e..69aa94e24f 100644 --- a/hix/default.nix +++ b/hix/default.nix @@ -92,6 +92,7 @@ let --projectArgs) printf %s "$2" > "$HIX_TMPDIR/projectArgs.nix" shift + args+=(--override-input projectArgs "$(realpath "$HIX_TMPDIR")") ;; --supportedSystems) printf %s "$2" > "$HIX_TMPDIR/supportedSystems.nix" @@ -166,7 +167,6 @@ let cp $HIX_FLAKE $FLAKE/flake.nix chmod +w $FLAKE/flake.nix fi - args+=(--override-input projectArgs "$(realpath "$HIX_TMPDIR")") nix $cmd "''${args[@]}" ;; esac diff --git a/overlays/armv6l-linux.nix b/overlays/armv6l-linux.nix index e2df3cdaf5..96ebbd0c6f 100644 --- a/overlays/armv6l-linux.nix +++ b/overlays/armv6l-linux.nix @@ -1,42 +1,44 @@ final: prev: +let + isLinuxCross = + prev.haskell-nix.haskellLib.isCrossHost + && prev.hostPlatform.isLinux + && (prev.hostPlatform.isAarch32 + || prev.hostPlatform.isAarch64 + || prev.hostPlatform.isi686); + +in { - haskell-nix = prev.haskell-nix // ({ + haskell-nix = prev.haskell-nix // final.lib.optionalAttrs isLinuxCross ({ + templateHaskell = builtins.mapAttrs (_compiler-nix-name: iserv-proxy-exes: + import ./linux-cross.nix { + inherit (final.stdenv) hostPlatform buildPlatform; + inherit (final) stdenv lib; + inherit (final.pkgsBuildBuild) writeShellScriptBin symlinkJoin; + inherit (final.haskell-nix) haskellLib; + qemu = final.pkgsBuildBuild.qemu; + inherit (final) gmp; + inherit (iserv-proxy-exes) iserv-proxy iserv-proxy-interpreter iserv-proxy-interpreter-prof; + }) final.haskell-nix.iserv-proxy-exes; defaultModules = prev.haskell-nix.defaultModules ++ [ ({ pkgs, buildModules, config, lib, ... }: let - withTH = import ./linux-cross.nix { - inherit (pkgs.stdenv) hostPlatform buildPlatform; - inherit (pkgs) stdenv lib; - inherit (pkgs.pkgsBuildBuild) writeShellScriptBin symlinkJoin; - inherit (pkgs.haskell-nix) haskellLib; - # qemu for linux - # Using `buildPackages.buildPackages` here fixes `python3Packages.pygobject3` issue. - qemu = pkgs.buildPackages.buildPackages.qemu; - -# wine = pkgs.buildPackages.winePackages.minimal; -# inherit (pkgs.windows) mingw_w64_pthreads; - inherit (pkgs) gmp; - # iserv-proxy needs to come from the buildPackages, as it needs to run on the - # build host. - inherit (final.haskell-nix.iserv-proxy-exes.${config.compiler.nix-name}) iserv-proxy iserv-proxy-interpreter iserv-proxy-interpreter-prof; - } // { - # we can perform testing of cross compiled test-suites by using wine. - # Therefore let's enable doCrossCheck here! - doCrossCheck = pkgs.stdenv.hostPlatform.isWindows; - }; + withTH = final.haskell-nix.templateHaskell.${config.compiler.nix-name}; in prev.haskell-nix.haskellLib.addPackageKeys { + inherit (withTH) configureFlags testWrapper; + + setupBuildFlags = map (opt: "--ghc-option=" + opt) withTH.ghcOptions + ++ lib.optionals pkgs.stdenv.hostPlatform.isAarch32 (map (opt: "--gcc-option=" + opt) [ "-fno-pic" "-fno-plt" ]) + # Also for GHC #15275 + ++ lib.optionals pkgs.stdenv.hostPlatform.isAarch64 ["--gcc-option=-fPIC"]; + + enableShared = lib.mkDefault false; + + doCrossCheck = true; + packages = { # clock 0.7.2 needs to be patched to support cross compilation. clock.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isAarch32 [ ({ version }: (if version == "0.7.2" then ./patches/clock-0.7.2.patch else null)) ]; - # nix calls this package crypto - # cryptonite-openssl.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isWindows [ ({ version }: if version == "0.7" then ./patches/cryptonite-openssl-0.7.patch else null) ]; - - # http-client.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isWindows [ ({ version }: if version == "0.5.14" then ./patches/http-client-0.5.14.patch else null) ]; - - # conduit.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isWindows [ ({ version }: if builtins.compareVersions version "1.3.1.1" < 0 then ./patches/conduit-1.3.0.2.patch else null) ]; - # streaming-commons.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isWindows [ ./patches/streaming-commons-0.2.0.0.patch ]; - # x509-system.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isWindows [ ./patches/x509-system-1.6.6.patch ]; - # file-embed-lzma.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isWindows [ ./patches/file-embed-lzma-0.patch ]; # Set all of these to [], as these form the # dependency graph of the libiserv, iserv-proxy, and iserv-remote @@ -59,7 +61,7 @@ final: prev: network.setupBuildFlags = []; unix.setupBuildFlags = []; }; - }// withTH + } ) ]; }); diff --git a/overlays/linux-cross.nix b/overlays/linux-cross.nix index a420aed842..51035bfc52 100644 --- a/overlays/linux-cross.nix +++ b/overlays/linux-cross.nix @@ -31,8 +31,6 @@ let # ensure that we get a low pid < 65535 for android (If we run outside) # of nix build envs. - # we want this to hold only for arm (32 and 64bit) for now. - isLinuxCross = haskellLib.isCrossHost && hostPlatform.isLinux && (hostPlatform.isAarch32 || hostPlatform.isAarch64 || hostPlatform.isi686); qemuIservWrapperScript = enableProfiling: let interpreter = @@ -58,15 +56,12 @@ let ''; qemuIservWrapper = symlinkJoin { name = "iserv-wrapper"; paths = [ (qemuIservWrapperScript false) (qemuIservWrapperScript true) ]; }; configureFlags = lib.optional (hostPlatform.isAarch32 || hostPlatform.isAndroid) "--disable-split-sections"; - setupBuildFlags = map (opt: "--ghc-option=" + opt) ((lib.optionals isLinuxCross + ghcOptions = [ "-fexternal-interpreter" "-pgmi" "${qemuIservWrapper}/bin/iserv-wrapper" "-L${gmp}/lib" # Required to work-around https://gitlab.haskell.org/ghc/ghc/issues/15275 - ] ++ lib.optionals hostPlatform.isAarch64 ["-fPIC"])) - ++ lib.optionals hostPlatform.isAarch32 (map (opt: "--gcc-option=" + opt) [ "-fno-pic" "-fno-plt" ]) - # Also for GHC #15275 - ++ lib.optionals hostPlatform.isAarch64 ["--gcc-option=-fPIC"]; + ] ++ lib.optionals hostPlatform.isAarch64 ["-fPIC"]; # Wrapper for qemu testing qemuTestWrapper = writeShellScriptBin "test-wrapper" '' @@ -75,8 +70,6 @@ let ''; # Choose the appropriate test wrapper - testWrapper = lib.optional isLinuxCross "${qemuTestWrapper}/bin/test-wrapper"; + testWrapper = [ "${qemuTestWrapper}/bin/test-wrapper" ]; - enableShared = lib.mkDefault (!isLinuxCross); - -in { inherit configureFlags setupBuildFlags testWrapper enableShared; } +in { inherit configureFlags ghcOptions testWrapper; } diff --git a/overlays/mingw_w64.nix b/overlays/mingw_w64.nix index 7cfc744723..2ab1cc133f 100644 --- a/overlays/mingw_w64.nix +++ b/overlays/mingw_w64.nix @@ -13,7 +13,7 @@ }: let - configureFlags = lib.optional hostPlatform.isWindows "--disable-split-sections"; + configureFlags = ["--disable-split-sections"]; wineIservWrapperScript = enableProfiling: let @@ -73,14 +73,14 @@ let ################################################################################ # Build logic (TH support via remote iserv via wine) # - setupBuildFlags = map (opt: "--ghc-option=" + opt) (lib.optionals hostPlatform.isWindows ([ + ghcOptions = [ "-fexternal-interpreter" "-pgmi" "${wineIservWrapper}/bin/iserv-wrapper" # TODO: this should be automatically injected based on the extraLibrary. "-L${mingw_w64_pthreads}/lib" "-L${mingw_w64_pthreads}/bin" "-L${gmp}/lib" - ])); + ]; ################################################################################ # Test logic via wine @@ -103,6 +103,6 @@ let export Path ${wine}/bin/wine64 $@ ''; - testWrapper = lib.optional hostPlatform.isWindows "${wineTestWrapper}/bin/test-wrapper"; + testWrapper = ["${wineTestWrapper}/bin/test-wrapper"]; -in { inherit testWrapper setupBuildFlags configureFlags; } +in { inherit testWrapper ghcOptions configureFlags; } diff --git a/overlays/windows.nix b/overlays/windows.nix index a1891268f3..c7bc2172bc 100644 --- a/overlays/windows.nix +++ b/overlays/windows.nix @@ -37,26 +37,32 @@ final: prev: configureFlags = (drv.configureFlags or []) ++ [ "--enable-static --disable-shared" ]; }); - haskell-nix = prev.haskell-nix // ({ + haskell-nix = prev.haskell-nix // final.lib.optionalAttrs final.stdenv.hostPlatform.isWindows ({ + templateHaskell = builtins.mapAttrs (_compiler-nix-name: iserv-proxy-exes: + import ./mingw_w64.nix { + inherit (final.stdenv) hostPlatform; + inherit (final.pkgsBuildBuild) lib writeShellScriptBin; + wine = final.pkgsBuildBuild.winePackages.minimal; + inherit (final.windows) mingw_w64_pthreads; + inherit (final) gmp; + inherit (final.pkgsBuildBuild) symlinkJoin; + # iserv-proxy needs to come from the buildPackages, as it needs to run on the + # build host. + inherit (iserv-proxy-exes) iserv-proxy iserv-proxy-interpreter iserv-proxy-interpreter-prof; + }) final.haskell-nix.iserv-proxy-exes; defaultModules = prev.haskell-nix.defaultModules ++ [ ({ pkgs, buildModules, config, lib, ... }: let - withTH = import ./mingw_w64.nix { - inherit (pkgs.stdenv) hostPlatform; - inherit (pkgs.pkgsBuildBuild) lib writeShellScriptBin; - wine = pkgs.pkgsBuildBuild.winePackages.minimal; - inherit (pkgs.windows) mingw_w64_pthreads; - inherit (pkgs) gmp; - inherit (pkgs.pkgsBuildBuild) symlinkJoin; - # iserv-proxy needs to come from the buildPackages, as it needs to run on the - # build host. - inherit (final.haskell-nix.iserv-proxy-exes.${config.compiler.nix-name}) iserv-proxy iserv-proxy-interpreter iserv-proxy-interpreter-prof; - } // { - # we can perform testing of cross compiled test-suites by using wine. - # Therefore let's enable doCrossCheck here! - doCrossCheck = pkgs.stdenv.hostPlatform.isWindows; - }; + withTH = final.haskell-nix.templateHaskell.${config.compiler.nix-name}; in prev.haskell-nix.haskellLib.addPackageKeys { + inherit (withTH) configureFlags testWrapper; + + setupBuildFlags = map (opt: "--ghc-option=" + opt) withTH.ghcOptions; + + # we can perform testing of cross compiled test-suites by using wine. + # Therefore let's enable doCrossCheck here! + doCrossCheck = pkgs.stdenv.hostPlatform.isWindows; + packages = { # Apply https://github.com/haskell/cabal/pull/6055 @@ -115,7 +121,7 @@ final: prev: unix-time.components.library.libs = [ pkgs.windows.mingw_w64_pthreads ]; unix-time.postUnpack = "substituteInPlace */cbits/win_patch.h --replace Windows.h windows.h"; }; - } // withTH + } ) ]; }); diff --git a/test/cabal.project.local b/test/cabal.project.local index a134a793f2..1bd2c228cc 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -29,7 +29,7 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-V7cPUrMNDXF+LDrNKUE+co1MEmOquGUQ19Z6dJP8bFA= + --sha256: sha256-0cuvKmWGj5xuN3kJ6W9mv09bn6PAH4nTBK0QyEPc7Hg= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b diff --git a/test/overlay.nix b/test/overlay.nix new file mode 100644 index 0000000000..8d8d3dfada --- /dev/null +++ b/test/overlay.nix @@ -0,0 +1,8 @@ +final: prev: { + haskell-nix = prev.haskell-nix // { + extraPkgconfigMappings = prev.haskell-nix.extraPkgconfigMappings or {} // { + "libsodium" = [ "libsodium-18" ]; + }; + }; + libsodium-18 = (final.callPackage (final.haskell-nix.sources.nixpkgs-2311 + "/pkgs/development/libraries/libsodium") {}).overrideAttrs (_: { dontDisableStatic = true; }); +} diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 8ec1425654..79f2caefb8 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -7,12 +7,12 @@ let project = externalInterpreter: project' { inherit compiler-nix-name evalPackages; src = testSrc "th-dlls"; - cabalProjectLocal = builtins.readFile ../cabal.project.local; modules = import ../modules.nix ++ [({pkgs, ...}: lib.optionalAttrs externalInterpreter { packages.th-dlls.components.library.ghcOptions = [ "-fexternal-interpreter" ]; # Static openssl seems to fail to load in iserv for musl packages.HsOpenSSL.components.library.libs = lib.optional pkgs.stdenv.hostPlatform.isMusl (pkgs.openssl.override { static = false; }); })]; + shell.nativeBuildInputs = [ buildPackages.haskell-nix.nix-tools-unchecked.exes.cabal ]; }; packages = (project false).hsPkgs; From b9c7ad5659c84ba0bd11c00f0a5e6c57040adc93 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 24 Jul 2025 00:52:19 +0000 Subject: [PATCH 144/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 857b9c4387..f85fef7cb5 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1753144093, - "narHash": "sha256-9UiNYjxmbNAQLSvb43eNpb6bMebFU1QUgsFv8AMcjMU=", + "lastModified": 1753312025, + "narHash": "sha256-jm9c4aEDOi6q6pQCxTCaA9D37BTBUPkiHRp7xECjQiQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8cbe8f0361b504beebb5a89f485983723debacfe", + "rev": "4bed0301f5e14530bdd7335d943f9e289b8bbccd", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1753144083, - "narHash": "sha256-p41gfrTrNQQWBfsTo5w72hcyjnRGZznOqPkqDLQcMLY=", + "lastModified": 1753230479, + "narHash": "sha256-FlT/zFrZKe2A13BQCnmJ+9HfbPFGoEy3CEmh8Z3uIFo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3c78d6f48c27e6c844c2bc6ff3e8b3bffc0b0096", + "rev": "c082ae99bb89cfc267ec05d2130fd2cd50b46305", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1753143271, - "narHash": "sha256-p0RoZeCIht3RftT9R/tDechUpqTXilZEvHQ8k4UGKv0=", + "lastModified": 1753316046, + "narHash": "sha256-CchIdT0Hgw/feLA6IYYfbuBRyUykDoB6La5gfmScodk=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "6b275926143e5c759f3bcbb4d38d70063f74c96f", + "rev": "681ae3e24ffe05efb551d0b5d6afa26d57d748f1", "type": "github" }, "original": { From 915a0ebd463cec6a6aeab36f7245ff7df8e29f2c Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 25 Jul 2025 00:52:20 +0000 Subject: [PATCH 145/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f85fef7cb5..1ab8602381 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1753312025, - "narHash": "sha256-jm9c4aEDOi6q6pQCxTCaA9D37BTBUPkiHRp7xECjQiQ=", + "lastModified": 1753404169, + "narHash": "sha256-vM11Q4Jr9c0Qmw/fjLhMtys+nFQ2p+IvYY5olIpfpmA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4bed0301f5e14530bdd7335d943f9e289b8bbccd", + "rev": "f81a986899e2289262efe6c62c13bdab06f0494c", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1753230479, - "narHash": "sha256-FlT/zFrZKe2A13BQCnmJ+9HfbPFGoEy3CEmh8Z3uIFo=", + "lastModified": 1753403313, + "narHash": "sha256-w5Db7Tfruv8wGYCWzbhvGOXiQsuhWNj2aHl1Di/d1zs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c082ae99bb89cfc267ec05d2130fd2cd50b46305", + "rev": "07c82a81c73031f7773d79fcd77ef19cc4db2e64", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1753316046, - "narHash": "sha256-CchIdT0Hgw/feLA6IYYfbuBRyUykDoB6La5gfmScodk=", + "lastModified": 1753402451, + "narHash": "sha256-zIAhPN5KCftvdGnPauXc4TxfNJw2xfQjqd5YTF4WeZM=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "681ae3e24ffe05efb551d0b5d6afa26d57d748f1", + "rev": "2162716c4e8f59d2d444dd03160c2624c614bf4e", "type": "github" }, "original": { From 810d033b9ec0964bd1fa11f2f16a2472eeb7869b Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 26 Jul 2025 00:52:11 +0000 Subject: [PATCH 146/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 1ab8602381..4643f6df85 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1753404169, - "narHash": "sha256-vM11Q4Jr9c0Qmw/fjLhMtys+nFQ2p+IvYY5olIpfpmA=", + "lastModified": 1753489636, + "narHash": "sha256-tpR4tqvjiBtKeUiwBcuewGLe6Erd0q7sQcGS0Dlli/U=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f81a986899e2289262efe6c62c13bdab06f0494c", + "rev": "a6dfa0ecbb36ba17dff4d9f5bfa90968ce6bf515", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1753403313, - "narHash": "sha256-w5Db7Tfruv8wGYCWzbhvGOXiQsuhWNj2aHl1Di/d1zs=", + "lastModified": 1753489626, + "narHash": "sha256-YGY0US8oEL7sY9ZjMn7B3AHUDKK3+JZpZcVNYfLZf8M=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "07c82a81c73031f7773d79fcd77ef19cc4db2e64", + "rev": "c451f8d534742f5be61ab46e769618ba0fbd6d75", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1753402451, - "narHash": "sha256-zIAhPN5KCftvdGnPauXc4TxfNJw2xfQjqd5YTF4WeZM=", + "lastModified": 1753488833, + "narHash": "sha256-6GsjeFpGKsLhepo1pEUz6TPHKDxRW+n7zcFGVkZE86Y=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "2162716c4e8f59d2d444dd03160c2624c614bf4e", + "rev": "d4eedead4b22d28da367e72dfdedb2bfe79e5dc8", "type": "github" }, "original": { From a4a27c45d4dc06c0fd12a90b91227eb58d7bbfa4 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 27 Jul 2025 00:52:28 +0000 Subject: [PATCH 147/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 4643f6df85..ca4a6af5bf 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1753489636, - "narHash": "sha256-tpR4tqvjiBtKeUiwBcuewGLe6Erd0q7sQcGS0Dlli/U=", + "lastModified": 1753576225, + "narHash": "sha256-mysFl691ktNUa0yBd+2wkZLizl1ek9LB5n+tTE9n8y8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a6dfa0ecbb36ba17dff4d9f5bfa90968ce6bf515", + "rev": "090b8b7dde65c65af8dfe144c39f78d377f9e28f", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1753489626, - "narHash": "sha256-YGY0US8oEL7sY9ZjMn7B3AHUDKK3+JZpZcVNYfLZf8M=", + "lastModified": 1753576215, + "narHash": "sha256-XkTlWKmM2NrpKZFnfF5ZjwjZCY3BbwsACKvn/7No4m8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c451f8d534742f5be61ab46e769618ba0fbd6d75", + "rev": "1c928b840c6f732b1730d08243b98d57b056951d", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1753488833, - "narHash": "sha256-6GsjeFpGKsLhepo1pEUz6TPHKDxRW+n7zcFGVkZE86Y=", + "lastModified": 1753575341, + "narHash": "sha256-n0vID6+XF73mfY34leyL665XhiD6+8kz88+Qdnu21Vw=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d4eedead4b22d28da367e72dfdedb2bfe79e5dc8", + "rev": "5e49f74d2c508b615b8f9e5a6680425dea67985e", "type": "github" }, "original": { From 3c9bde26e70e98f93edc9d6927a4e38bf367b48f Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 28 Jul 2025 00:51:59 +0000 Subject: [PATCH 148/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index ca4a6af5bf..ea00846386 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1753576225, - "narHash": "sha256-mysFl691ktNUa0yBd+2wkZLizl1ek9LB5n+tTE9n8y8=", + "lastModified": 1753662580, + "narHash": "sha256-ltqnPXKmrfbK7dqfy4lt/Z1dR5UrIpxSaIC8ACboMm4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "090b8b7dde65c65af8dfe144c39f78d377f9e28f", + "rev": "9533e21caa5ee5db1dbb218c8a4fa80edc2251af", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1753576215, - "narHash": "sha256-XkTlWKmM2NrpKZFnfF5ZjwjZCY3BbwsACKvn/7No4m8=", + "lastModified": 1753662570, + "narHash": "sha256-ctMKlfGwJ8MycqVJ+Qr3LTcwFiKfqPuAR0KM07J9sSs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1c928b840c6f732b1730d08243b98d57b056951d", + "rev": "c1c262a829c014637fd8baaeb20c6dd5e369adb4", "type": "github" }, "original": { From 606626c4dcbbb7296948a82736f1f12b266f5db0 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Mon, 28 Jul 2025 21:59:54 +1200 Subject: [PATCH 149/308] Fix GHC 9.12 stackage projects (#2422) Fixes #2420 --- overlays/ghc-packages.nix | 3 + test/stack-simple/default.nix | 3 +- test/stack-simple/stack-ghc9102.yaml | 69 +++++++++++++++++++ test/stack-simple/stack-ghc9122.yaml | 69 +++++++++++++++++++ .../{stack.yaml => stack-ghc984.yaml} | 0 5 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 test/stack-simple/stack-ghc9102.yaml create mode 100644 test/stack-simple/stack-ghc9122.yaml rename test/stack-simple/{stack.yaml => stack-ghc984.yaml} (100%) diff --git a/overlays/ghc-packages.nix b/overlays/ghc-packages.nix index 5ebc2b2542..7cee136247 100644 --- a/overlays/ghc-packages.nix +++ b/overlays/ghc-packages.nix @@ -88,6 +88,9 @@ let ghc-internal = "libraries/ghc-internal"; } // final.lib.optionalAttrs (builtins.compareVersions ghcVersion "9.10" >= 0) { ghc-toolchain = "utils/ghc-toolchain"; + } // final.lib.optionalAttrs (builtins.compareVersions ghcVersion "9.12" >= 0) { + ghc-experimental = "libraries/ghc-experimental"; + haddock-api = "utils/haddock/haddock-api"; }; # The nix produced by `cabalProject` differs slightly depending on diff --git a/test/stack-simple/default.nix b/test/stack-simple/default.nix index 4fd25c6bcb..5c8be4a197 100644 --- a/test/stack-simple/default.nix +++ b/test/stack-simple/default.nix @@ -5,13 +5,14 @@ with lib; let project = pkgs.haskell-nix.stackProject' { src = testSrc "stack-simple"; + stackYaml = "stack-${compiler-nix-name}.yaml"; inherit evalPackages; }; packages = project.hsPkgs; in pkgs.recurseIntoAttrs { - meta.disabled = compiler-nix-name != "ghc984"; + meta.disabled = !builtins.pathExists ./stack-${compiler-nix-name}.yaml; stack-simple-exe = (haskellLib.check packages.stack-simple.components.exes.stack-simple-exe) // { # Attributes used for debugging with nix repl inherit pkgSet packages; diff --git a/test/stack-simple/stack-ghc9102.yaml b/test/stack-simple/stack-ghc9102.yaml new file mode 100644 index 0000000000..ca11e78eef --- /dev/null +++ b/test/stack-simple/stack-ghc9102.yaml @@ -0,0 +1,69 @@ +# This file was automatically generated by 'stack init' +# +# Some commonly used options have been documented as comments in this file. +# For advanced use and comprehensive documentation of the format, please see: +# https://docs.haskellstack.org/en/stable/yaml_configuration/ + +# Resolver to choose a 'specific' stackage snapshot or a compiler version. +# A snapshot resolver dictates the compiler version and the set of packages +# to be used for project dependencies. For example: +# +# resolver: lts-3.5 +# resolver: nightly-2015-09-21 +# resolver: ghc-7.10.2 +# +# The location of a snapshot can be provided as a file or url. Stack assumes +# a snapshot provided as a file might change, whereas a url resource does not. +# +# resolver: ./custom-snapshot.yaml +# resolver: https://example.com/snapshots/2018-01-01.yaml +resolver: nightly-2025-07-14 + +# User packages to be built. +# Various formats can be used as shown in the example below. +# +# packages: +# - some-directory +# - https://example.com/foo/bar/baz-0.0.2.tar.gz +# - location: +# git: https://github.com/commercialhaskell/stack.git +# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a +# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a +# subdirs: +# - auto-update +# - wai +packages: +- . +# Dependency packages to be pulled from upstream that are not in the resolver +# using the same syntax as the packages field. +# (e.g., acme-missiles-0.3) +extra-deps: + # Work around http://hackage.haskell.org/package/transformers-0.5.5.0/transformers.cabal + # This is the version of transformers which ships with GHC-8.6.4 + - transformers-0.5.6.2 + # ghc-8.6.4 ships with process-1.6.5.0, not 1.6.3.0 as stackage claims. 1.6.3.0 isn't even compatible with + # base 4.12 that ghc ships. + - process-1.6.5.0 +# Override default flag values for local packages and extra-deps +# flags: {} + +# Extra package databases containing global packages +# extra-package-dbs: [] + +# Control whether we use the GHC we find on the path +# system-ghc: true +# +# Require a specific version of stack, using version ranges +# require-stack-version: -any # Default +# require-stack-version: ">=1.9" +# +# Override the architecture used by stack, especially useful on Windows +# arch: i386 +# arch: x86_64 +# +# Extra directories used by stack for building +# extra-include-dirs: [/path/to/dir] +# extra-lib-dirs: [/path/to/dir] +# +# Allow a newer minor version of GHC than the snapshot specifies +# compiler-check: newer-minor diff --git a/test/stack-simple/stack-ghc9122.yaml b/test/stack-simple/stack-ghc9122.yaml new file mode 100644 index 0000000000..f8614f8de4 --- /dev/null +++ b/test/stack-simple/stack-ghc9122.yaml @@ -0,0 +1,69 @@ +# This file was automatically generated by 'stack init' +# +# Some commonly used options have been documented as comments in this file. +# For advanced use and comprehensive documentation of the format, please see: +# https://docs.haskellstack.org/en/stable/yaml_configuration/ + +# Resolver to choose a 'specific' stackage snapshot or a compiler version. +# A snapshot resolver dictates the compiler version and the set of packages +# to be used for project dependencies. For example: +# +# resolver: lts-3.5 +# resolver: nightly-2015-09-21 +# resolver: ghc-7.10.2 +# +# The location of a snapshot can be provided as a file or url. Stack assumes +# a snapshot provided as a file might change, whereas a url resource does not. +# +# resolver: ./custom-snapshot.yaml +# resolver: https://example.com/snapshots/2018-01-01.yaml +resolver: nightly-2025-07-26 + +# User packages to be built. +# Various formats can be used as shown in the example below. +# +# packages: +# - some-directory +# - https://example.com/foo/bar/baz-0.0.2.tar.gz +# - location: +# git: https://github.com/commercialhaskell/stack.git +# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a +# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a +# subdirs: +# - auto-update +# - wai +packages: +- . +# Dependency packages to be pulled from upstream that are not in the resolver +# using the same syntax as the packages field. +# (e.g., acme-missiles-0.3) +extra-deps: + # Work around http://hackage.haskell.org/package/transformers-0.5.5.0/transformers.cabal + # This is the version of transformers which ships with GHC-8.6.4 + - transformers-0.5.6.2 + # ghc-8.6.4 ships with process-1.6.5.0, not 1.6.3.0 as stackage claims. 1.6.3.0 isn't even compatible with + # base 4.12 that ghc ships. + - process-1.6.5.0 +# Override default flag values for local packages and extra-deps +# flags: {} + +# Extra package databases containing global packages +# extra-package-dbs: [] + +# Control whether we use the GHC we find on the path +# system-ghc: true +# +# Require a specific version of stack, using version ranges +# require-stack-version: -any # Default +# require-stack-version: ">=1.9" +# +# Override the architecture used by stack, especially useful on Windows +# arch: i386 +# arch: x86_64 +# +# Extra directories used by stack for building +# extra-include-dirs: [/path/to/dir] +# extra-lib-dirs: [/path/to/dir] +# +# Allow a newer minor version of GHC than the snapshot specifies +# compiler-check: newer-minor diff --git a/test/stack-simple/stack.yaml b/test/stack-simple/stack-ghc984.yaml similarity index 100% rename from test/stack-simple/stack.yaml rename to test/stack-simple/stack-ghc984.yaml From f7b3cfeb37901101479c34aaf34ce104039eaa4d Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 29 Jul 2025 00:52:33 +0000 Subject: [PATCH 150/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index ea00846386..20e5d2f89a 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1753662580, - "narHash": "sha256-ltqnPXKmrfbK7dqfy4lt/Z1dR5UrIpxSaIC8ACboMm4=", + "lastModified": 1753749008, + "narHash": "sha256-u1Y3TMgS+eOvZSZP6PZP+ZgAjNglmyMI40DM5sfM4Bg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9533e21caa5ee5db1dbb218c8a4fa80edc2251af", + "rev": "44a3cfa36baddd4d6c97be3ac3304f3e5751c1d2", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1753662570, - "narHash": "sha256-ctMKlfGwJ8MycqVJ+Qr3LTcwFiKfqPuAR0KM07J9sSs=", + "lastModified": 1753748998, + "narHash": "sha256-9WDGOgV4EzSJ6CoRojz6G6/7i0CUJmV2JfkVQ+/9NDg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c1c262a829c014637fd8baaeb20c6dd5e369adb4", + "rev": "17af65c0d89484e303282b233baf275217caf5ac", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1753575341, - "narHash": "sha256-n0vID6+XF73mfY34leyL665XhiD6+8kz88+Qdnu21Vw=", + "lastModified": 1753748130, + "narHash": "sha256-ctCmxiXsjHSDSsoszjhWXxRvwXVkj3GdDvMuvgesRRs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "5e49f74d2c508b615b8f9e5a6680425dea67985e", + "rev": "d47a06c64176504bc8c25a5d622ac64898552c73", "type": "github" }, "original": { From fb04d428f9161006b95a1ef4628d61898f82ffda Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 30 Jul 2025 00:52:25 +0000 Subject: [PATCH 151/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 20e5d2f89a..fe657d71d8 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1753749008, - "narHash": "sha256-u1Y3TMgS+eOvZSZP6PZP+ZgAjNglmyMI40DM5sfM4Bg=", + "lastModified": 1753835316, + "narHash": "sha256-rKWhNbfkTR/t5uPrArFOcmxsYzpsHF2gn3BM4JygS0Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "44a3cfa36baddd4d6c97be3ac3304f3e5751c1d2", + "rev": "bbebcd54da8938cd8440472ddf1a284c3e9dae4b", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1753748998, - "narHash": "sha256-9WDGOgV4EzSJ6CoRojz6G6/7i0CUJmV2JfkVQ+/9NDg=", + "lastModified": 1753835305, + "narHash": "sha256-mck41eWdhajL2ECykFQnrSvghW0G90FsnPcp86JQWZE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "17af65c0d89484e303282b233baf275217caf5ac", + "rev": "8908a4ea961e8b642b1c668086034bf5dbd73d3c", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1753748130, - "narHash": "sha256-ctCmxiXsjHSDSsoszjhWXxRvwXVkj3GdDvMuvgesRRs=", + "lastModified": 1753834479, + "narHash": "sha256-ZAgK1AAOGsRzjEZL1YtXK2VTYuDX575q0AZ0M8/WKQs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d47a06c64176504bc8c25a5d622ac64898552c73", + "rev": "69c0b0e9e35d3158359c6baf9710d52b6e4aaca0", "type": "github" }, "original": { From 758d34c249352818ee786abb06068b8a9e29c098 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 31 Jul 2025 00:52:19 +0000 Subject: [PATCH 152/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index fe657d71d8..41cbb61454 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1753835316, - "narHash": "sha256-rKWhNbfkTR/t5uPrArFOcmxsYzpsHF2gn3BM4JygS0Y=", + "lastModified": 1753922646, + "narHash": "sha256-eVvEjP9s6iQCPQFbb66+Gzd3ZM6BjIqfFzuf/yk9D7U=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "bbebcd54da8938cd8440472ddf1a284c3e9dae4b", + "rev": "224f3770869031c2129c82061aeeabb6b8035aad", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1753835305, - "narHash": "sha256-mck41eWdhajL2ECykFQnrSvghW0G90FsnPcp86JQWZE=", + "lastModified": 1753921689, + "narHash": "sha256-F7yJ6l+Qb97hCTrBn24JeX4bzg5dEARtQ2HJKy3Vc48=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8908a4ea961e8b642b1c668086034bf5dbd73d3c", + "rev": "b8dbf163f00e329f2090733108b427c03d6976fc", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1753834479, - "narHash": "sha256-ZAgK1AAOGsRzjEZL1YtXK2VTYuDX575q0AZ0M8/WKQs=", + "lastModified": 1753920846, + "narHash": "sha256-jk2dKSlLgEfwpwocH2GX9mfwLSV0anmyjJ400zqCGq8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "69c0b0e9e35d3158359c6baf9710d52b6e4aaca0", + "rev": "edb12eda18a509b65576505316a7419ad2dbfb69", "type": "github" }, "original": { From 3a2bf4896f0246058a99b27bbfd4badd389d6567 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 1 Aug 2025 00:53:13 +0000 Subject: [PATCH 153/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 41cbb61454..231f332696 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1753922646, - "narHash": "sha256-eVvEjP9s6iQCPQFbb66+Gzd3ZM6BjIqfFzuf/yk9D7U=", + "lastModified": 1754009354, + "narHash": "sha256-+xf0/Ii91H3Go1Oq5JshrLHdSS/Y/otPB72P1jP7i+c=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "224f3770869031c2129c82061aeeabb6b8035aad", + "rev": "b4bba84c2c82b8f03c778712d0e5c66e9db2681c", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1753921689, - "narHash": "sha256-F7yJ6l+Qb97hCTrBn24JeX4bzg5dEARtQ2HJKy3Vc48=", + "lastModified": 1754008261, + "narHash": "sha256-k8x+oGosdpm6eWTuFE2tNYON5fHD8fgZE+esqWJhfhA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b8dbf163f00e329f2090733108b427c03d6976fc", + "rev": "98c1e78433f48ff1ae0cdcb9b3aa6334abda3e6e", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1753920846, - "narHash": "sha256-jk2dKSlLgEfwpwocH2GX9mfwLSV0anmyjJ400zqCGq8=", + "lastModified": 1754007371, + "narHash": "sha256-8H7uKtQOmUYOF4LkPbVSzV5VlIwwaW6ICZtra++S2pM=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "edb12eda18a509b65576505316a7419ad2dbfb69", + "rev": "d093c78271dc64d04dbce20262668839e82630f0", "type": "github" }, "original": { From e567ebc1303b42fb3422bf6c159091b9c0e716bf Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 2 Aug 2025 00:52:15 +0000 Subject: [PATCH 154/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 231f332696..82a64910ec 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1754009354, - "narHash": "sha256-+xf0/Ii91H3Go1Oq5JshrLHdSS/Y/otPB72P1jP7i+c=", + "lastModified": 1754095146, + "narHash": "sha256-bmizbyh5YzXubalYT7TIwiIeWvVbvD8mZFdiuKN1alE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b4bba84c2c82b8f03c778712d0e5c66e9db2681c", + "rev": "bbde0b1afda7437621620021cfe345045f4aaf2c", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1754008261, - "narHash": "sha256-k8x+oGosdpm6eWTuFE2tNYON5fHD8fgZE+esqWJhfhA=", + "lastModified": 1754094440, + "narHash": "sha256-XyK01XWY+ebmUC3qj8p+cAZ7ncsIP6gj6BZWy6bvHbQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "98c1e78433f48ff1ae0cdcb9b3aa6334abda3e6e", + "rev": "53c63d46c644843465c24f007483b34485cd6a9a", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1754007371, - "narHash": "sha256-8H7uKtQOmUYOF4LkPbVSzV5VlIwwaW6ICZtra++S2pM=", + "lastModified": 1754093652, + "narHash": "sha256-hGGPrb0LmhDmPqi6DljObCIzTdq0Klq+GvYKm87m0Uk=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d093c78271dc64d04dbce20262668839e82630f0", + "rev": "c6e61bb3d7931fb68ee2124e4d0b825059ea7812", "type": "github" }, "original": { From 3c4414748d1a90122962a5ad6a72a319613892ec Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 3 Aug 2025 00:52:36 +0000 Subject: [PATCH 155/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 82a64910ec..a96a8bcd14 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1754095146, - "narHash": "sha256-bmizbyh5YzXubalYT7TIwiIeWvVbvD8mZFdiuKN1alE=", + "lastModified": 1754181057, + "narHash": "sha256-AO1D9kK/tBaCakTqneouDc5bFSHoa4jArYA1/Vxyc1c=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "bbde0b1afda7437621620021cfe345045f4aaf2c", + "rev": "5e8e82f42258d49eae19fffdb5a11ab1cbfabb03", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1754094440, - "narHash": "sha256-XyK01XWY+ebmUC3qj8p+cAZ7ncsIP6gj6BZWy6bvHbQ=", + "lastModified": 1754181047, + "narHash": "sha256-hOhswJq2XXoMdmPACrRQgOkhMUF3KcuiteibhLdckPk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "53c63d46c644843465c24f007483b34485cd6a9a", + "rev": "e59292859c69c6ae7baa8b883fc007ba1b546c82", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1754093652, - "narHash": "sha256-hGGPrb0LmhDmPqi6DljObCIzTdq0Klq+GvYKm87m0Uk=", + "lastModified": 1754180153, + "narHash": "sha256-hkHG3EjjxAqADAYURA6p3jc7xb93/VOoKVazInc5FqU=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "c6e61bb3d7931fb68ee2124e4d0b825059ea7812", + "rev": "a7e9e82031c37896f71689d6d66ce9fbc18c0180", "type": "github" }, "original": { From 8164414d493d4e3b95b39b0ec75518101336cac4 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 4 Aug 2025 00:52:03 +0000 Subject: [PATCH 156/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a96a8bcd14..11d6ffc253 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1754181057, - "narHash": "sha256-AO1D9kK/tBaCakTqneouDc5bFSHoa4jArYA1/Vxyc1c=", + "lastModified": 1754267442, + "narHash": "sha256-chuQ7pKtpkEmSDRD9cLJtLsuFrhDF0ZFEtacsnN0EVY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5e8e82f42258d49eae19fffdb5a11ab1cbfabb03", + "rev": "d73bd4c97535a6508bdb61297d614f3a846af44e", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1754181047, - "narHash": "sha256-hOhswJq2XXoMdmPACrRQgOkhMUF3KcuiteibhLdckPk=", + "lastModified": 1754267432, + "narHash": "sha256-nxxWnT7kaHZiHUn8yQRbyEKU9w6EuRcAtC3lDt/uAh8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e59292859c69c6ae7baa8b883fc007ba1b546c82", + "rev": "2b2a2bcb5f56ba9044e76a1f8ac2b447149350d6", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1754180153, - "narHash": "sha256-hkHG3EjjxAqADAYURA6p3jc7xb93/VOoKVazInc5FqU=", + "lastModified": 1754266530, + "narHash": "sha256-ld1iEV2E6V+8MnfdihoHgCIoeyqGJGaxkq+U5t3JWEo=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "a7e9e82031c37896f71689d6d66ce9fbc18c0180", + "rev": "25c18753cdcf52cfd7fdb002db3b8750038b1ea5", "type": "github" }, "original": { From b96104b29666ce910ecc5bd939ca8d318668495c Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 5 Aug 2025 00:51:55 +0000 Subject: [PATCH 157/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 11d6ffc253..f9738dadb6 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1754267442, - "narHash": "sha256-chuQ7pKtpkEmSDRD9cLJtLsuFrhDF0ZFEtacsnN0EVY=", + "lastModified": 1754354710, + "narHash": "sha256-kLquykYrvF/URjh/02J7sELJKy9tNUFX+/KYj4D7Z7o=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d73bd4c97535a6508bdb61297d614f3a846af44e", + "rev": "afde82ab21e65b336d8b238a6348fd0386e3d631", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1754267432, - "narHash": "sha256-nxxWnT7kaHZiHUn8yQRbyEKU9w6EuRcAtC3lDt/uAh8=", + "lastModified": 1754353730, + "narHash": "sha256-pkb2+tz2EXcoqjZMmOqv3UNsSPQatDHjS38aOVYBNT4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "2b2a2bcb5f56ba9044e76a1f8ac2b447149350d6", + "rev": "3def4d6bbf2345a783254814ac443d2605432c5d", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1754266530, - "narHash": "sha256-ld1iEV2E6V+8MnfdihoHgCIoeyqGJGaxkq+U5t3JWEo=", + "lastModified": 1754352885, + "narHash": "sha256-dcSCKX6D6kmmU47iMtrhWMSBF+OfAjkcU1O8NTOMGX4=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "25c18753cdcf52cfd7fdb002db3b8750038b1ea5", + "rev": "951e739761c8f027a7af821f61f372ff6f972b6f", "type": "github" }, "original": { From 75bffff34b06f164148f54376f84986c2067664f Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 6 Aug 2025 00:52:25 +0000 Subject: [PATCH 158/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f9738dadb6..c286747a06 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1754354710, - "narHash": "sha256-kLquykYrvF/URjh/02J7sELJKy9tNUFX+/KYj4D7Z7o=", + "lastModified": 1754440099, + "narHash": "sha256-r1OKdAwoorcGv+RM/OBrmFLZ7hcTMIT+MF08+4tGcqI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "afde82ab21e65b336d8b238a6348fd0386e3d631", + "rev": "55e539034fa18f3375b9329457cb100a06be001c", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1754353730, - "narHash": "sha256-pkb2+tz2EXcoqjZMmOqv3UNsSPQatDHjS38aOVYBNT4=", + "lastModified": 1754440088, + "narHash": "sha256-gXgt+U/kxvccBJVZwtYikTW9JMPXnozDXgGXJ+zT5nA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3def4d6bbf2345a783254814ac443d2605432c5d", + "rev": "6e15dc94885d5d133ea350fd58a6a8b9d9fe49a6", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1754352885, - "narHash": "sha256-dcSCKX6D6kmmU47iMtrhWMSBF+OfAjkcU1O8NTOMGX4=", + "lastModified": 1754439263, + "narHash": "sha256-L7BLuLOmr9wMLfq+9NNiCeIKUoewS7wVL3NBDo+WFQU=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "951e739761c8f027a7af821f61f372ff6f972b6f", + "rev": "56ee55d06fa162e2cb63e7aabb32c890e02b448b", "type": "github" }, "original": { From 91526183a784c49ad997c2fe95f35e3d50a81405 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 7 Aug 2025 12:21:12 +1200 Subject: [PATCH 159/308] Fix support for pkgsStatic (#2424) * Fix support for pkgsStatic This should fix using both the haskell.nix GHC and nixpkgs GHC with pkgsStatic: ``` nix-build -E '((import ./. {}).pkgs.pkgsStatic.haskell-nix.tool "ghc9122" "hello" {})' nix-build -E '((import ./. {}).pkgs.pkgsStatic.haskell-nix.tool "ghc9122" "hello" { compilerSelection = p: p.haskell.compiler; })' ``` * Add comment * Fix for building with nixpkgs GHC * Fix for `double-conversion` when using `pkgsStatic` * Disable failing tests * Disable tests broken because haddock fails for pkgsStatic builds * Fix for pkgsStatic code coverage file locations * Fix crossSuffix' * Bump head.hackage --- builder/default.nix | 4 +- builder/ghc-for-component-wrapper.nix | 3 +- ci.nix | 70 +++++++++++++++------------ compiler/ghc/default.nix | 4 +- test/cabal-simple/default.nix | 2 +- test/cabal.project.local | 2 +- test/coverage/default.nix | 7 +-- test/modules.nix | 12 +++++ test/sublib-docs/default.nix | 2 +- test/th-dlls/default.nix | 7 +++ test/th-dlls/src/Lib.hs | 20 +++++++- test/th-dlls/th-dlls.cabal | 41 +++++++++++----- 12 files changed, 118 insertions(+), 56 deletions(-) diff --git a/builder/default.nix b/builder/default.nix index c813f87e7d..716e99ef1d 100644 --- a/builder/default.nix +++ b/builder/default.nix @@ -26,7 +26,7 @@ let }; setup-builder = haskellLib.weakCallPackage pkgs ./setup-builder.nix { - ghc = (ghc.passthru.buildGHC or ghc); + ghc = (ghc.buildGHC or ghc); hsPkgs = hsPkgs.buildPackages; # We need to use the buildPackages stdenv to build the setup-builder. # in the native case, it would be the same in the cross case however @@ -54,7 +54,7 @@ let # When building setup depends we need to use the build systems GHC and Packages makeSetupConfigFiles = haskellLib.weakCallPackage buildPackages ./make-config-files.nix { inherit haskellLib nonReinstallablePkgs; - ghc = (ghc.passthru.buildGHC or ghc); + ghc = (ghc.buildGHC or ghc); }; diff --git a/builder/ghc-for-component-wrapper.nix b/builder/ghc-for-component-wrapper.nix index a96f2302dc..31cfabb96c 100644 --- a/builder/ghc-for-component-wrapper.nix +++ b/builder/ghc-for-component-wrapper.nix @@ -25,7 +25,8 @@ let docDir = "$wrappedGhc/share/doc/ghc/html"; # For musl we can use haddock from the buildGHC haddock = if stdenv.hostPlatform.isMusl - then ghc.buildGHC + then ghc.buildGHC or ghc # `or ghc` is here because nixpkgs GHC does not have `buildGHC` + # TODO find a way to get suitable GHC and/or respect `ghc.hasHaddock`. else ghc; script = '' diff --git a/ci.nix b/ci.nix index f949c7085a..0dae1a25ac 100644 --- a/ci.nix +++ b/ci.nix @@ -82,36 +82,40 @@ # of 'lib.systems.examples' are not understood between all versions let lib = nixpkgs.lib; in lib.optionalAttrs (nixpkgsName == "unstable" - && (__match ".*llvm" compiler-nix-name == null) - && !builtins.elem compiler-nix-name ["ghc9102"]) { - inherit (lib.systems.examples) ghcjs; - } // lib.optionalAttrs (nixpkgsName == "unstable" - && (__match ".*llvm" compiler-nix-name == null) - && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928"]) - || (system == "x86_64-darwin" && builtins.elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity - inherit (lib.systems.examples) mingwW64; - } // lib.optionalAttrs (nixpkgsName == "unstable" - && (__match ".*llvm" compiler-nix-name == null) - && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902" "ghc928" "ghc948"]) - || (system == "x86_64-darwin" && builtins.elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity - inherit (lib.systems.examples) ucrt64; - } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { - # Musl cross only works on linux - # aarch64 cross only works on linux - inherit (lib.systems.examples) musl64 aarch64-multiplatform; - } // lib.optionalAttrs (__match ".*llvm" compiler-nix-name == null && system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { - # Out llvm versions of GHC seem to break for musl32 - inherit (lib.systems.examples) musl32; - } // lib.optionalAttrs (system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { - inherit (lib.systems.examples) aarch64-android-prebuilt; - } // lib.optionalAttrs (system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc91320250523"]) { - inherit (lib.systems.examples) armv7a-android-prebuilt; - } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902"]) { - # TODO fix this for the compilers we build with hadrian (ghc >=9.4) - inherit (lib.systems.examples) aarch64-multiplatform-musl; - } // lib.optionalAttrs (system == "aarch64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902"]) { - inherit (lib.systems.examples) aarch64-multiplatform-musl; - }; + && __match ".*llvm" compiler-nix-name == null + && builtins.elem system ["aarch64-linux" "x86_64-linux"]) { + static = p: p.pkgsStatic; + } // lib.optionalAttrs (nixpkgsName == "unstable" + && (__match ".*llvm" compiler-nix-name == null) + && !builtins.elem compiler-nix-name ["ghc9102"]) { + inherit (lib.systems.examples) ghcjs; + } // lib.optionalAttrs (nixpkgsName == "unstable" + && (__match ".*llvm" compiler-nix-name == null) + && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928"]) + || (system == "x86_64-darwin" && builtins.elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity + inherit (lib.systems.examples) mingwW64; + } // lib.optionalAttrs (nixpkgsName == "unstable" + && (__match ".*llvm" compiler-nix-name == null) + && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902" "ghc928" "ghc948"]) + || (system == "x86_64-darwin" && builtins.elem compiler-nix-name []))) { # TODO add ghc versions when we have more darwin build capacity + inherit (lib.systems.examples) ucrt64; + } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { + # Musl cross only works on linux + # aarch64 cross only works on linux + inherit (lib.systems.examples) musl64 aarch64-multiplatform; + } // lib.optionalAttrs (__match ".*llvm" compiler-nix-name == null && system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { + # Out llvm versions of GHC seem to break for musl32 + inherit (lib.systems.examples) musl32; + } // lib.optionalAttrs (system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { + inherit (lib.systems.examples) aarch64-android-prebuilt; + } // lib.optionalAttrs (system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc91320250523"]) { + inherit (lib.systems.examples) armv7a-android-prebuilt; + } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902"]) { + # TODO fix this for the compilers we build with hadrian (ghc >=9.4) + inherit (lib.systems.examples) aarch64-multiplatform-musl; + } // lib.optionalAttrs (system == "aarch64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902"]) { + inherit (lib.systems.examples) aarch64-multiplatform-musl; + }; isDisabled = d: d.meta.disabled or false; in dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: pinnedNixpkgsSrc: @@ -140,8 +144,10 @@ dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: pinnedNixpkgsSrc: } // dimension "Cross system" (crossSystems nixpkgsName evalPackages compiler-nix-name) (crossSystemName: crossSystem: - # Cross builds - let pkgs = import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system crossSystem; }); + let pkgs = + if builtins.isAttrs crossSystem + then import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system crossSystem; }) + else crossSystem (import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system; })); build = import ./build.nix { inherit pkgs evalPackages ifdLevel compiler-nix-name haskellNix; }; in pkgs.recurseIntoAttrs (pkgs.lib.optionalAttrs (ifdLevel >= 1) ({ roots = pkgs.haskell-nix.roots' { inherit compiler-nix-name evalPackages; } ifdLevel // { diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index f5701de5d8..3a22a8d6db 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -39,7 +39,7 @@ let self = , # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. - enableShared ? !haskell-nix.haskellLib.isCrossTarget + enableShared ? !haskell-nix.haskellLib.isCrossTarget && !stdenv.targetPlatform.isStatic , enableLibraryProfiling ? true @@ -328,7 +328,7 @@ let # see https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/doc/flavours.md hadrianArgs = "--flavour=${ (if targetPlatform.isGhcjs then "quick" else "default") - + lib.optionalString (!enableShared) "+no_dynamic_ghc" + + lib.optionalString (!enableShared) "+no_dynamic_libs+no_dynamic_ghc" + lib.optionalString useLLVM "+llvm" + lib.optionalString enableDWARF "+debug_info" + lib.optionalString ((enableNativeBignum && hadrianHasNativeBignumFlavour) || targetPlatform.isGhcjs) "+native_bignum" diff --git a/test/cabal-simple/default.nix b/test/cabal-simple/default.nix index c98578cfe6..86c13739d2 100644 --- a/test/cabal-simple/default.nix +++ b/test/cabal-simple/default.nix @@ -35,7 +35,7 @@ in recurseIntoAttrs { cabal = { cabalProjectLocal = builtins.readFile ../cabal.project.local; }; hoogle = { cabalProjectLocal = builtins.readFile ../cabal.project.local; }; }; - withHoogle = true; + withHoogle = !stdenv.hostPlatform.isStatic; }).overrideAttrs (_: _: { meta = rec { platforms = lib.platforms.all; diff --git a/test/cabal.project.local b/test/cabal.project.local index 1bd2c228cc..342d3e3827 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -29,7 +29,7 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-0cuvKmWGj5xuN3kJ6W9mv09bn6PAH4nTBK0QyEPc7Hg= + --sha256: sha256-6w1dAY7syB11aqT7T3mi/vOupdwL9GT2ztRZJBBG/u8= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b diff --git a/test/coverage/default.nix b/test/coverage/default.nix index 70ea3d9618..aa3a2fb1fb 100644 --- a/test/coverage/default.nix +++ b/test/coverage/default.nix @@ -23,6 +23,7 @@ let exeExt = stdenv.hostPlatform.extensions.executable; crossSuffix = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-${stdenv.hostPlatform.config}"; + crossSuffix' = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.isStatic) "-static" + crossSuffix; in recurseIntoAttrs ({ # Does not work on ghcjs because it needs zlib. @@ -91,7 +92,7 @@ in recurseIntoAttrs ({ dirExists "$pkga_basedir/html/pkga-0.1.0.0" pkgb_basedir="${project.hsPkgs.pkgb.coverageReport}/share/hpc/vanilla" - testTix="$pkgb_basedir/tix/pkgb-test-tests${crossSuffix}-0.1.0.0-check${crossSuffix}/tests${exeExt}.tix" + testTix="$pkgb_basedir/tix/pkgb-test-tests${crossSuffix'}-0.1.0.0-check${crossSuffix}/tests${exeExt}.tix" libTix="$pkgb_basedir/tix/pkgb-0.1.0.0/pkgb-0.1.0.0.tix" fileExistsNonEmpty "$testTix" fileExistsNonEmpty "$libTix" @@ -118,8 +119,8 @@ in recurseIntoAttrs ({ dirExists "$project_basedir/tix/pkga-0.1.0.0${inplaceSuffix}" dirExists "$project_basedir/tix/pkgb-0.1.0.0${inplaceSuffix}" fileExistsNonEmpty "$project_basedir/tix/pkgb-0.1.0.0${inplaceSuffix}/pkgb-0.1.0.0${inplaceSuffix}.tix" - dirExists "$project_basedir/tix/pkgb-test-tests${crossSuffix}-0.1.0.0-check${crossSuffix}" - fileExistsNonEmpty "$project_basedir/tix/pkgb-test-tests${crossSuffix}-0.1.0.0-check${crossSuffix}/tests${exeExt}.tix" + dirExists "$project_basedir/tix/pkgb-test-tests${crossSuffix'}-0.1.0.0-check${crossSuffix}" + fileExistsNonEmpty "$project_basedir/tix/pkgb-test-tests${crossSuffix'}-0.1.0.0-check${crossSuffix}/tests${exeExt}.tix" ''; in '' ${check cabalProj "-inplace"} diff --git a/test/modules.nix b/test/modules.nix index abe19e0dcb..b0cc498149 100644 --- a/test/modules.nix +++ b/test/modules.nix @@ -1,4 +1,5 @@ [{ + package-keys = ["HsOpenSSL" "libsodium" "double-conversion"]; # See https://github.com/haskell-cryptography/HsOpenSSL/issues/95 packages.HsOpenSSL.ghcOptions = ["-optc=-Wno-incompatible-pointer-types"]; } @@ -7,4 +8,15 @@ packages.libsodium.configureFlags = [ "--c2hs-option=--cppopts=-D_Null_unspecified=" ]; packages.libsodium.components.library.hardeningDisable = ["fortify"]; }) + +({pkgs, lib, ...}: lib.mkIf pkgs.stdenv.hostPlatform.isStatic { + packages.double-conversion.ghcOptions = [ + # stop putting U __gxx_personality_v0 into the library! + "-optcxx-fno-rtti" + "-optcxx-fno-exceptions" + # stop putting U __cxa_guard_release into the library! + "-optcxx-std=gnu++98" + "-optcxx-fno-threadsafe-statics" + ]; +}) ] diff --git a/test/sublib-docs/default.nix b/test/sublib-docs/default.nix index d4be0d81ee..e106dc1da2 100644 --- a/test/sublib-docs/default.nix +++ b/test/sublib-docs/default.nix @@ -14,7 +14,7 @@ let in recurseIntoAttrs { # Haddock is not included with cross compilers currently - meta.disabled = haskellLib.isCrossHost; + meta.disabled = haskellLib.isCrossHost || stdenv.hostPlatform.isStatic; ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 79f2caefb8..f655965768 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -7,6 +7,13 @@ let project = externalInterpreter: project' { inherit compiler-nix-name evalPackages; src = testSrc "th-dlls"; + # TODO figure out why TH breaks with pkgsStatic for `libsodium` and `HsOpenSSL` + # `libsodium` fails with the unhandled ELF relocation(RelA) type 23 + # `HsOpenSSL` segfaults in ghcizm9zi12zi2zminplace_GHCiziObjLink_resolveObjs1_info + cabalProjectLocal = lib.optionalString stdenv.hostPlatform.isStatic '' + package th-dlls + flags: -libsodium -openssl + ''; modules = import ../modules.nix ++ [({pkgs, ...}: lib.optionalAttrs externalInterpreter { packages.th-dlls.components.library.ghcOptions = [ "-fexternal-interpreter" ]; # Static openssl seems to fail to load in iserv for musl diff --git a/test/th-dlls/src/Lib.hs b/test/th-dlls/src/Lib.hs index 242532ba0d..f4903d4306 100644 --- a/test/th-dlls/src/Lib.hs +++ b/test/th-dlls/src/Lib.hs @@ -1,14 +1,30 @@ +{-# LANGUAGE CPP #-} {-# LANGUAGE TemplateHaskell #-} module Lib where import Control.Monad.IO.Class (liftIO) +import Language.Haskell.TH.Syntax (Exp(..), Lit(..)) +import Data.Text as T + +#ifdef MIN_VERSION_HsOpenSSL import OpenSSL (withOpenSSL) import OpenSSL.BN (withBN) +#endif + +#ifdef MIN_VERSION_libsodium import Libsodium (sodium_init) -import Language.Haskell.TH.Syntax (Exp(..), Lit(..)) -import Data.Text as T +#endif + +#ifdef MIN_VERSION_double_conversion import Data.Double.Conversion.Text (toShortest) +#endif +#ifdef MIN_VERSION_HsOpenSSL x = $(liftIO (withOpenSSL (withBN 0 (\_ -> return (LitE (IntegerL 0)))))) +#endif +#ifdef MIN_VERSION_libsodium y = $(liftIO (sodium_init >> return (LitE (IntegerL 0)))) +#endif +#ifdef MIN_VERSION_double_conversion z = $(liftIO (return (LitE (IntegerL (fromIntegral (T.length (toShortest 1.0))))))) +#endif diff --git a/test/th-dlls/th-dlls.cabal b/test/th-dlls/th-dlls.cabal index 192b39dfc9..cebce44b5b 100644 --- a/test/th-dlls/th-dlls.cabal +++ b/test/th-dlls/th-dlls.cabal @@ -6,18 +6,37 @@ author: Hamish Mackenzie maintainer: Hamish.K.Mackenzie@gmail.com build-type: Simple +flag libsodium + description: Enable libsodium support + default: True + manual: True + +flag openssl + description: Enable OpenSSL support + default: True + manual: True + +flag double-conversion + description: Enable double-conversion support + default: True + manual: True + library - build-depends: base - , HsOpenSSL - , libsodium - , template-haskell - , text - , double-conversion - , unix-time - , th-orphans - , ghc-prim - , math-functions - , erf + build-depends: + base + , template-haskell + , text + , unix-time + , th-orphans + , ghc-prim + , math-functions + , erf + if flag(openssl) + build-depends: HsOpenSSL + if flag(libsodium) + build-depends: libsodium + if flag(double-conversion) + build-depends: double-conversion exposed-modules: Lib hs-source-dirs: src default-language: Haskell2010 From 7fdfec737b1f30a4533589ddd8f60dac29aa8a6a Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 7 Aug 2025 00:52:23 +0000 Subject: [PATCH 160/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index c286747a06..b47d00455b 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1754440099, - "narHash": "sha256-r1OKdAwoorcGv+RM/OBrmFLZ7hcTMIT+MF08+4tGcqI=", + "lastModified": 1754526520, + "narHash": "sha256-j13OeLv6Sh0OOVgL1itLJ/7JzW/pFg5TFwtL+d31qeM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "55e539034fa18f3375b9329457cb100a06be001c", + "rev": "adf9eb698a44a9c6ca068c69f440d3036fe717ee", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1754440088, - "narHash": "sha256-gXgt+U/kxvccBJVZwtYikTW9JMPXnozDXgGXJ+zT5nA=", + "lastModified": 1754526509, + "narHash": "sha256-nj7yIkEPrPu6Tls/ZUF1m3Z0S3xE9Prmycd0uQR7lyU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6e15dc94885d5d133ea350fd58a6a8b9d9fe49a6", + "rev": "760ab0a55655baaa33dfff4984a0dfcac23a8084", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1754439263, - "narHash": "sha256-L7BLuLOmr9wMLfq+9NNiCeIKUoewS7wVL3NBDo+WFQU=", + "lastModified": 1754525680, + "narHash": "sha256-5ffOVWb0fSN+b9Ae4JXQ5ouw1vG1geqJ2RS8JDyJ6VY=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "56ee55d06fa162e2cb63e7aabb32c890e02b448b", + "rev": "a9e1bd5449a19af3352e2bc19fc8e22a112a3d34", "type": "github" }, "original": { From 4a3aea3c41367b7309669e888c5e278d9ad1f66e Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 8 Aug 2025 00:52:19 +0000 Subject: [PATCH 161/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b47d00455b..fba6d9b1dd 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1754526520, - "narHash": "sha256-j13OeLv6Sh0OOVgL1itLJ/7JzW/pFg5TFwtL+d31qeM=", + "lastModified": 1754612909, + "narHash": "sha256-oQtxs3zUFjiYfr36gUmsMUJ9AaHQNqWAodwkuGSjg/E=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "adf9eb698a44a9c6ca068c69f440d3036fe717ee", + "rev": "c8f6fd24c99f16fdbaed9e1da3a61fdcdcea05c0", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1754526509, - "narHash": "sha256-nj7yIkEPrPu6Tls/ZUF1m3Z0S3xE9Prmycd0uQR7lyU=", + "lastModified": 1754612899, + "narHash": "sha256-ndVAAnaiyik5xh15dUmk2vsGSUSA473t7F7ndAOovAA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "760ab0a55655baaa33dfff4984a0dfcac23a8084", + "rev": "9a0392e862abc7a4f379567510b5115a0451f202", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1754525680, - "narHash": "sha256-5ffOVWb0fSN+b9Ae4JXQ5ouw1vG1geqJ2RS8JDyJ6VY=", + "lastModified": 1754612068, + "narHash": "sha256-b2PeOgu0BmdMihc67Nbu5pczuR9HwQ5kFxHgNToeUi4=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "a9e1bd5449a19af3352e2bc19fc8e22a112a3d34", + "rev": "48fa9036ef89d6886845d6435500d2fe097c451c", "type": "github" }, "original": { From df569881147d8b5612240d4ac9e110100c3dd091 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 9 Aug 2025 00:51:43 +0000 Subject: [PATCH 162/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index fba6d9b1dd..3329df7c07 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1754612909, - "narHash": "sha256-oQtxs3zUFjiYfr36gUmsMUJ9AaHQNqWAodwkuGSjg/E=", + "lastModified": 1754699203, + "narHash": "sha256-gxNmj3BlNRCau3/3OCiJ1JtxXvK7oXbv6RZj7FDe4Ws=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c8f6fd24c99f16fdbaed9e1da3a61fdcdcea05c0", + "rev": "5053ce06da4d8d521f03a3783e831660498bc837", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1754612899, - "narHash": "sha256-ndVAAnaiyik5xh15dUmk2vsGSUSA473t7F7ndAOovAA=", + "lastModified": 1754699193, + "narHash": "sha256-mUz19RNZ0XTmYiA7KJrLctFHlqiMhH8rXAVhBKlNTLc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9a0392e862abc7a4f379567510b5115a0451f202", + "rev": "ecca5b05b07dee4abf4e120d41b7e04a90b8e969", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1754612068, - "narHash": "sha256-b2PeOgu0BmdMihc67Nbu5pczuR9HwQ5kFxHgNToeUi4=", + "lastModified": 1754698413, + "narHash": "sha256-Fx26qhhNAH4Od9qTUnaBslqiCS0M3A9IQZ+SzXFTUe0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "48fa9036ef89d6886845d6435500d2fe097c451c", + "rev": "be626862d9d8f112e0159161848da1d87cd5e4f9", "type": "github" }, "original": { From 9306745ffdd7c6869f8ec70e4a659a2d15687db8 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 10 Aug 2025 00:52:27 +0000 Subject: [PATCH 163/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 3329df7c07..0c71af89b6 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1754699203, - "narHash": "sha256-gxNmj3BlNRCau3/3OCiJ1JtxXvK7oXbv6RZj7FDe4Ws=", + "lastModified": 1754786579, + "narHash": "sha256-8vzTyIuaXUYS/+oPKhJ2utJ2aadCcRiRSazHHCv425o=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5053ce06da4d8d521f03a3783e831660498bc837", + "rev": "5fad9102f1f1116fa23ae646656e910ece798cae", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1754699193, - "narHash": "sha256-mUz19RNZ0XTmYiA7KJrLctFHlqiMhH8rXAVhBKlNTLc=", + "lastModified": 1754785811, + "narHash": "sha256-BAyGjE7eOmuUT0JWu8NrRPRAam+R5SQqNUZOTXGe7eE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ecca5b05b07dee4abf4e120d41b7e04a90b8e969", + "rev": "fb0c69b9aa9144e4a75f6a0d32fa496bee070a66", "type": "github" }, "original": { From a052991c7956e2ea64df6ea092893c51df832899 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 11 Aug 2025 00:52:29 +0000 Subject: [PATCH 164/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 0c71af89b6..523507bc4d 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1754786579, - "narHash": "sha256-8vzTyIuaXUYS/+oPKhJ2utJ2aadCcRiRSazHHCv425o=", + "lastModified": 1754872896, + "narHash": "sha256-epuK2yBDK5OsCmUF+LhebD7vStvvuxuBudatM81TcSs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5fad9102f1f1116fa23ae646656e910ece798cae", + "rev": "c4a48706ea09797bca224e175bf3645925be999d", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1754785811, - "narHash": "sha256-BAyGjE7eOmuUT0JWu8NrRPRAam+R5SQqNUZOTXGe7eE=", + "lastModified": 1754872152, + "narHash": "sha256-23psWtbbdtEF2Ybl6sn6YgDqIE+NCw12OqpKn8mUUH8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fb0c69b9aa9144e4a75f6a0d32fa496bee070a66", + "rev": "31a91b344e3b09b1a4511f29129aac79c9914954", "type": "github" }, "original": { From ffc3f68e1b989a159cdc471ed5dc81a4435738b4 Mon Sep 17 00:00:00 2001 From: Yuri Meister <47071325+ymeister@users.noreply.github.com> Date: Tue, 12 Aug 2025 04:18:10 +0400 Subject: [PATCH 165/308] Patch ghcjs >= 9.12: Add 'HEAP8' to EMCC:EXPORTED_RUNTIME_METHODS (#2428) --- overlays/bootstrap.nix | 3 ++- .../patches/ghc/ghc-9.12-ghcjs-rts-mem-heap8.patch | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 overlays/patches/ghc/ghc-9.12-ghcjs-rts-mem-heap8.patch diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 1c5593f717..9b7bda7cc9 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -77,7 +77,7 @@ in { from = start: final.lib.optional (versionAtLeast start); until = end: final.lib.optional (versionLessThan end); always = final.lib.optional true; - onDarwin = final.lib.optionals final.stdenv.targetPlatform.isDarwin; + onDarwin = final.lib.optionals final.stdenv.targetPlatform.isDarwin; onMusl = final.lib.optionals final.stdenv.targetPlatform.isMusl; onWindows = final.lib.optionals final.stdenv.targetPlatform.isWindows; onWindowsOrMusl = final.lib.optionals (final.stdenv.targetPlatform.isWindows || final.stdenv.targetPlatform.isMusl); @@ -333,6 +333,7 @@ in { ++ onAndroid (from "9.6" ./patches/ghc/ghc-9.6-COMPAT_R_ARM_PREL31.patch) ++ onAndroid (from "9.10" ./patches/ghc/ghc-9.10-ignore-libc.patch) + ++ onGhcjs (from "9.12" ./patches/ghc/ghc-9.12-ghcjs-rts-mem-heap8.patch) # Fix for `fatal error: 'rts/Types.h' file not found` when building `primitive` ++ onGhcjs (from "9.13" ./patches/ghc/ghc-9.13-ghcjs-rts-types.patch) diff --git a/overlays/patches/ghc/ghc-9.12-ghcjs-rts-mem-heap8.patch b/overlays/patches/ghc/ghc-9.12-ghcjs-rts-mem-heap8.patch new file mode 100644 index 0000000000..70ff226a89 --- /dev/null +++ b/overlays/patches/ghc/ghc-9.12-ghcjs-rts-mem-heap8.patch @@ -0,0 +1,11 @@ +diff --git a/rts/js/mem.js b/rts/js/mem.js +index 4a9adf09cd..68f63afece 100644 +--- a/rts/js/mem.js ++++ b/rts/js/mem.js +@@ -1,5 +1,5 @@ + //#OPTIONS:CPP +-//#OPTIONS:EMCC:EXPORTED_RUNTIME_METHODS=addFunction,removeFunction,getEmptyTableSlot ++//#OPTIONS:EMCC:EXPORTED_RUNTIME_METHODS=addFunction,removeFunction,getEmptyTableSlot,HEAP8 + + // #define GHCJS_TRACE_META 1 + From 6dd3b06865102c5e1284423a59ff92945aa61534 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 12 Aug 2025 00:52:13 +0000 Subject: [PATCH 166/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 523507bc4d..e8b2f3df84 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1754872896, - "narHash": "sha256-epuK2yBDK5OsCmUF+LhebD7vStvvuxuBudatM81TcSs=", + "lastModified": 1754958431, + "narHash": "sha256-y20lSGL34w0W6D50JytnXAP1U0TvpMQDZd9blb5+0lk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c4a48706ea09797bca224e175bf3645925be999d", + "rev": "0ca90916c82889aa0dedeaf98e11b8d4fb4a20da", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1754872152, - "narHash": "sha256-23psWtbbdtEF2Ybl6sn6YgDqIE+NCw12OqpKn8mUUH8=", + "lastModified": 1754958420, + "narHash": "sha256-tkZdEohv4Ui8P4+5EDL5WvY7G/der8vyt0vLRzaqa4A=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "31a91b344e3b09b1a4511f29129aac79c9914954", + "rev": "701485197c7394cecf1cc0b9634f44ee46e37626", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1754698413, - "narHash": "sha256-Fx26qhhNAH4Od9qTUnaBslqiCS0M3A9IQZ+SzXFTUe0=", + "lastModified": 1754957611, + "narHash": "sha256-V/AKJTvb6AaE4jgwvYDQyiXc7BRRPIlMJ5FmPqrHkn4=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "be626862d9d8f112e0159161848da1d87cd5e4f9", + "rev": "b2024065c393572b979e55ed3b526d540b4865b8", "type": "github" }, "original": { From 0edca29843a857fa954cb28bed99d5d3d4db5269 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 13 Aug 2025 00:52:15 +0000 Subject: [PATCH 167/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index e8b2f3df84..ca87ec0e49 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1754958431, - "narHash": "sha256-y20lSGL34w0W6D50JytnXAP1U0TvpMQDZd9blb5+0lk=", + "lastModified": 1755044847, + "narHash": "sha256-yxymcOKvi3bbM/Vdw95lr/V95gyC5suBZonnPScXbso=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "0ca90916c82889aa0dedeaf98e11b8d4fb4a20da", + "rev": "ec2e5f9af04a89415a9278132f9cdb26caa8bd1c", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1754958420, - "narHash": "sha256-tkZdEohv4Ui8P4+5EDL5WvY7G/der8vyt0vLRzaqa4A=", + "lastModified": 1755044837, + "narHash": "sha256-vAi3NGzKR03vKWFHfJdxdeMmxWlesyeYMTD1gjD/j40=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "701485197c7394cecf1cc0b9634f44ee46e37626", + "rev": "1784199a4f48db7b8d6290a6e2cab89e7081dbf7", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1754957611, - "narHash": "sha256-V/AKJTvb6AaE4jgwvYDQyiXc7BRRPIlMJ5FmPqrHkn4=", + "lastModified": 1755044020, + "narHash": "sha256-NTctHZ+IM/rnwltZOTMz8BV1kubk5Fc57Eilih/ICZo=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "b2024065c393572b979e55ed3b526d540b4865b8", + "rev": "be18f53fdcd5834e81c4c16d8ac39663544b2c90", "type": "github" }, "original": { From a8741b115ccc957d97ec4c48269fbeed028bf854 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 13 Aug 2025 15:44:08 +1200 Subject: [PATCH 168/308] Add upper bound on iserv-proxy:network (#2429) See https://github.com/haskell/network/issues/604 --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index ca87ec0e49..61a0ee64ce 100644 --- a/flake.lock +++ b/flake.lock @@ -405,11 +405,11 @@ "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1750543273, - "narHash": "sha256-WaswH0Y+Fmupvv8AkIlQBlUy/IdD3Inx9PDuE+5iRYY=", + "lastModified": 1755040634, + "narHash": "sha256-8W7uHpAIG8HhO3ig5OGHqvwduoye6q6dlrea1IrP2eI=", "owner": "stable-haskell", "repo": "iserv-proxy", - "rev": "a53c57c9a8d22a66a2f0c4c969e806da03f08c28", + "rev": "1383d199a2c64f522979005d112b4fbdee38dd92", "type": "github" }, "original": { From 1000d92b78ac29bbdd966a2956384e011d758698 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 14 Aug 2025 00:52:16 +0000 Subject: [PATCH 169/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 61a0ee64ce..42630bf30e 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1755044847, - "narHash": "sha256-yxymcOKvi3bbM/Vdw95lr/V95gyC5suBZonnPScXbso=", + "lastModified": 1755132082, + "narHash": "sha256-0RH6+tZaDbSq+bzIV3M/QdvV3DWxgiALesMBg3U3oAI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ec2e5f9af04a89415a9278132f9cdb26caa8bd1c", + "rev": "aa52f7a6c9a1cc87c7f4405287a7726be09b5e7d", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1755044837, - "narHash": "sha256-vAi3NGzKR03vKWFHfJdxdeMmxWlesyeYMTD1gjD/j40=", + "lastModified": 1755131220, + "narHash": "sha256-GrhjTpoIWeCav/6MMvKrhbv/bMhZ8EJCHkpVRHO1C5I=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1784199a4f48db7b8d6290a6e2cab89e7081dbf7", + "rev": "9eb72dd9477e042d1105d6883c97c6376e1da682", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1755044020, - "narHash": "sha256-NTctHZ+IM/rnwltZOTMz8BV1kubk5Fc57Eilih/ICZo=", + "lastModified": 1755130418, + "narHash": "sha256-vbBlIhuEGVPn9uDe0UQr88JsfwqFdxiyz6i19ljs/Ec=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "be18f53fdcd5834e81c4c16d8ac39663544b2c90", + "rev": "db94f1d0034dbbcd2314fa24ffbad7d86cf6bcea", "type": "github" }, "original": { From 4d493449406ec91db804511a6d15b6f076ba40e7 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 15 Aug 2025 00:52:14 +0000 Subject: [PATCH 170/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 42630bf30e..bcd801c838 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1755132082, - "narHash": "sha256-0RH6+tZaDbSq+bzIV3M/QdvV3DWxgiALesMBg3U3oAI=", + "lastModified": 1755218141, + "narHash": "sha256-Ia+mB56xnk6dCTj4sZoKTQykiLWvViEB4QhKv3yFhKs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "aa52f7a6c9a1cc87c7f4405287a7726be09b5e7d", + "rev": "961ae2c25a8299e30265199ea3fb7a564444e69c", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1755131220, - "narHash": "sha256-GrhjTpoIWeCav/6MMvKrhbv/bMhZ8EJCHkpVRHO1C5I=", + "lastModified": 1755217657, + "narHash": "sha256-VTdmM5o+Wv+i9Nk1RoCqOVcPt7IcZMhaKwwB+LUU5E4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9eb72dd9477e042d1105d6883c97c6376e1da682", + "rev": "5102e58cee108aa6a6bd3817ee7ee17cdc197756", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1755130418, - "narHash": "sha256-vbBlIhuEGVPn9uDe0UQr88JsfwqFdxiyz6i19ljs/Ec=", + "lastModified": 1755216845, + "narHash": "sha256-E6A2M0tsL2xECyKATPucQCLOsJoFcOP6snB/LgiqpDc=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "db94f1d0034dbbcd2314fa24ffbad7d86cf6bcea", + "rev": "549e87c5b716237d8a4260062222b037fa34d196", "type": "github" }, "original": { From 6eec4d2c648a0e2e15a3436192a703ffad0d33a5 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 16 Aug 2025 00:52:03 +0000 Subject: [PATCH 171/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index bcd801c838..8d7cbd4dc2 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1755218141, - "narHash": "sha256-Ia+mB56xnk6dCTj4sZoKTQykiLWvViEB4QhKv3yFhKs=", + "lastModified": 1755303964, + "narHash": "sha256-Zb6g9OU/KvJBAxuwzzfbY026V2hkOmLXBU+lYHS8f4Q=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "961ae2c25a8299e30265199ea3fb7a564444e69c", + "rev": "8e00e5ea30ece741eb7b9514c36229df4f2ad082", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1755217657, - "narHash": "sha256-VTdmM5o+Wv+i9Nk1RoCqOVcPt7IcZMhaKwwB+LUU5E4=", + "lastModified": 1755303954, + "narHash": "sha256-C4x9bK+I8mZzxXU/6pUd7VmgAlVnfp01if954EXrNZA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5102e58cee108aa6a6bd3817ee7ee17cdc197756", + "rev": "1be3fdbc1740c5d3929c012fd933819ba5bb46b8", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1755216845, - "narHash": "sha256-E6A2M0tsL2xECyKATPucQCLOsJoFcOP6snB/LgiqpDc=", + "lastModified": 1755303187, + "narHash": "sha256-w8p6hNkPh2y6sYg3JwS/nPHXbVXIhlNksD/sgmH/NrY=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "549e87c5b716237d8a4260062222b037fa34d196", + "rev": "f881262733c99e21b84d48558988b091c0f1e12b", "type": "github" }, "original": { From 802a58f712c1ebe0788d5da6e6d113049ab750b5 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 17 Aug 2025 00:51:53 +0000 Subject: [PATCH 172/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 8d7cbd4dc2..54fec2bf6c 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1755303964, - "narHash": "sha256-Zb6g9OU/KvJBAxuwzzfbY026V2hkOmLXBU+lYHS8f4Q=", + "lastModified": 1755390541, + "narHash": "sha256-+i3jgjSG2cUXeC0JgMUO2YNbJNjFBih30zrV0UXbT6o=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8e00e5ea30ece741eb7b9514c36229df4f2ad082", + "rev": "ad4159c261ba92046ccfd38fd4a3d4aa4b73d609", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1755303954, - "narHash": "sha256-C4x9bK+I8mZzxXU/6pUd7VmgAlVnfp01if954EXrNZA=", + "lastModified": 1755390531, + "narHash": "sha256-9c8B+Lp9AObnyuMlTwsq2Ye/FZvwJ+CSvFl6xB8+Xj4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1be3fdbc1740c5d3929c012fd933819ba5bb46b8", + "rev": "d2b0ee44cba14b81b287e38fc3d40ea98232f3bf", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1755303187, - "narHash": "sha256-w8p6hNkPh2y6sYg3JwS/nPHXbVXIhlNksD/sgmH/NrY=", + "lastModified": 1755389695, + "narHash": "sha256-ZtS/5gXrtJoLjhPZCg9SyLCs21aJbq/OurGW3B1go/M=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "f881262733c99e21b84d48558988b091c0f1e12b", + "rev": "ca6a7c585f2979cd471b7305b00024fa06a14c4a", "type": "github" }, "original": { From 50cdda42e7eb2fbe2a229c3c5150c1b803b23fc2 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 18 Aug 2025 00:52:26 +0000 Subject: [PATCH 173/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 54fec2bf6c..6c03bf0b8c 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1755390541, - "narHash": "sha256-+i3jgjSG2cUXeC0JgMUO2YNbJNjFBih30zrV0UXbT6o=", + "lastModified": 1755476939, + "narHash": "sha256-1pFiut9BgedoHB3cbLWIsIVfQWN93e2b80xDiI0+3bU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ad4159c261ba92046ccfd38fd4a3d4aa4b73d609", + "rev": "2d6c6cfd6f88bec2fd12214c9c727ebc110940b0", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1755390531, - "narHash": "sha256-9c8B+Lp9AObnyuMlTwsq2Ye/FZvwJ+CSvFl6xB8+Xj4=", + "lastModified": 1755476929, + "narHash": "sha256-PnVieqvtAd43r1oUNEvMWN1gNGxkcdKRAKQldbrWEf8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d2b0ee44cba14b81b287e38fc3d40ea98232f3bf", + "rev": "729fb5197e8be4252291ac6e594e27d03c8ca79b", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1755389695, - "narHash": "sha256-ZtS/5gXrtJoLjhPZCg9SyLCs21aJbq/OurGW3B1go/M=", + "lastModified": 1755476086, + "narHash": "sha256-WMAcokVQw3kSW6d4yoYBAIkhirrkc9yLzYkmV3mpSVE=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "ca6a7c585f2979cd471b7305b00024fa06a14c4a", + "rev": "72c1b79dbcb8a9a7501c0d4c9fbb52a6ba6d8faf", "type": "github" }, "original": { From 594a283465999bf1108436ca9ba0030c19614245 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 19 Aug 2025 00:52:11 +0000 Subject: [PATCH 174/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 6c03bf0b8c..41660314ad 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1755476939, - "narHash": "sha256-1pFiut9BgedoHB3cbLWIsIVfQWN93e2b80xDiI0+3bU=", + "lastModified": 1755563198, + "narHash": "sha256-O10usupY7mO02JZNR5pD8c5ZjhAAbv7nm5opAgVVoGI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "2d6c6cfd6f88bec2fd12214c9c727ebc110940b0", + "rev": "706176645f53f752d5281f6a37fa9fc7c19cae23", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1755476929, - "narHash": "sha256-PnVieqvtAd43r1oUNEvMWN1gNGxkcdKRAKQldbrWEf8=", + "lastModified": 1755563187, + "narHash": "sha256-RQHck83F0llRrr5D6+ZS1EO/oOf3ulNSrUgYKkUC9/Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "729fb5197e8be4252291ac6e594e27d03c8ca79b", + "rev": "61ada6ffadf0d18072ce049109010e2a463ecd1d", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1755476086, - "narHash": "sha256-WMAcokVQw3kSW6d4yoYBAIkhirrkc9yLzYkmV3mpSVE=", + "lastModified": 1755562409, + "narHash": "sha256-LKovBrN0/F6w3P8iOW0rKHLQ1t5CDY/vFqc9bUOEmnQ=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "72c1b79dbcb8a9a7501c0d4c9fbb52a6ba6d8faf", + "rev": "7c9aff8df0544cef758df36a898f387ab99f1dea", "type": "github" }, "original": { From 70e057213a008d35fb34c27b749602be26dc4df0 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 20 Aug 2025 00:52:04 +0000 Subject: [PATCH 175/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 41660314ad..5fb8581702 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1755563198, - "narHash": "sha256-O10usupY7mO02JZNR5pD8c5ZjhAAbv7nm5opAgVVoGI=", + "lastModified": 1755649560, + "narHash": "sha256-V6ioEbxNBbjKCCBVXQ+agFM1RzBw4mxpYksA1c8Q7To=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "706176645f53f752d5281f6a37fa9fc7c19cae23", + "rev": "a0bca1004e786c7d278ebb6b2ac630c53a773382", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1755563187, - "narHash": "sha256-RQHck83F0llRrr5D6+ZS1EO/oOf3ulNSrUgYKkUC9/Y=", + "lastModified": 1755649550, + "narHash": "sha256-YNKeqYIezur2MvPmfVI/aHjcVRwOdBW7Du3jg6iXjKs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "61ada6ffadf0d18072ce049109010e2a463ecd1d", + "rev": "5e56db8bc478dfb7466ea83744c3ab928aff0329", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1755562409, - "narHash": "sha256-LKovBrN0/F6w3P8iOW0rKHLQ1t5CDY/vFqc9bUOEmnQ=", + "lastModified": 1755648773, + "narHash": "sha256-NhcOu6GwYal+awBQLoMT4vf7L7Ar1DectDjK2mF653I=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "7c9aff8df0544cef758df36a898f387ab99f1dea", + "rev": "1a0ea16d99761b93456460c255a8b723647b2c77", "type": "github" }, "original": { From 71fcc9f531993aada52173fceb4ff4ce2148207d Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 20 Aug 2025 16:24:55 +1200 Subject: [PATCH 176/308] Enable macOS builds on CI again (#2430) --- flake.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 721aaf1f3a..54723b2b81 100644 --- a/flake.nix +++ b/flake.nix @@ -91,8 +91,7 @@ callFlake = import flake-compat; ifdLevel = 3; - # TODO set this to false when the macOS builders for ci.zw3rk.com are back online - runningHydraEvalTest = true; + runningHydraEvalTest = false; defaultCompiler = "ghc967"; config = import ./config.nix; From a808cbd430a74c00a0e5959d384e1a11e2ea1e2a Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 21 Aug 2025 00:52:05 +0000 Subject: [PATCH 177/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 5fb8581702..80e1aa1aeb 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1755649560, - "narHash": "sha256-V6ioEbxNBbjKCCBVXQ+agFM1RzBw4mxpYksA1c8Q7To=", + "lastModified": 1755735907, + "narHash": "sha256-8fOqP45pBWQVFW4tBGgWw1vJmRRBSrQX1TOkCIRZUlw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a0bca1004e786c7d278ebb6b2ac630c53a773382", + "rev": "6313548135c7dc5daea2ae1ed1d0dd1afa3d485e", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1755649550, - "narHash": "sha256-YNKeqYIezur2MvPmfVI/aHjcVRwOdBW7Du3jg6iXjKs=", + "lastModified": 1755735896, + "narHash": "sha256-X4HTWcv6vgx6EncLyyJJdaNTkL8F8P69HAMaEgZLYhg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5e56db8bc478dfb7466ea83744c3ab928aff0329", + "rev": "54203507c2141dfea4463ba5c4015f11f2c2a503", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1755648773, - "narHash": "sha256-NhcOu6GwYal+awBQLoMT4vf7L7Ar1DectDjK2mF653I=", + "lastModified": 1755735102, + "narHash": "sha256-/oZzMO5tdwz0V3uLRI5N9BrMEQc6/MFOpDfHRMRehEI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "1a0ea16d99761b93456460c255a8b723647b2c77", + "rev": "999a41c7e94d417cd507977e1050a18f3a7a2424", "type": "github" }, "original": { From 4cf0366d7be161569bbb6f28e11d9778408c2bf2 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 22 Aug 2025 00:52:04 +0000 Subject: [PATCH 178/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 80e1aa1aeb..5e6762a5cb 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1755735907, - "narHash": "sha256-8fOqP45pBWQVFW4tBGgWw1vJmRRBSrQX1TOkCIRZUlw=", + "lastModified": 1755822361, + "narHash": "sha256-SkQL9N6sMZgmm7EFxmIAyuQcH+YThUy/F3A807b3DvA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6313548135c7dc5daea2ae1ed1d0dd1afa3d485e", + "rev": "dab248c0c6e96765daaa02ef05f36b21f1ba323e", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1755735896, - "narHash": "sha256-X4HTWcv6vgx6EncLyyJJdaNTkL8F8P69HAMaEgZLYhg=", + "lastModified": 1755822351, + "narHash": "sha256-zp5av+HEbzeTHtYmk2cAK7T9LTEItGgTFH9uXNsL1t4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "54203507c2141dfea4463ba5c4015f11f2c2a503", + "rev": "540dacd97e2126784382f95660bcf56474f797b8", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1755735102, - "narHash": "sha256-/oZzMO5tdwz0V3uLRI5N9BrMEQc6/MFOpDfHRMRehEI=", + "lastModified": 1755821578, + "narHash": "sha256-FrfxLDAtmy4ggsYkWRdbKy1dnZ8fvmQP2R2t8ChCMV8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "999a41c7e94d417cd507977e1050a18f3a7a2424", + "rev": "7a210c158c412b8fae2adc83a3586eedacd8cf91", "type": "github" }, "original": { From 3d182e3e08cedf07c7bc56c11e3eb868ecf5f15d Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 23 Aug 2025 00:51:54 +0000 Subject: [PATCH 179/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 5e6762a5cb..1a56913724 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1755822361, - "narHash": "sha256-SkQL9N6sMZgmm7EFxmIAyuQcH+YThUy/F3A807b3DvA=", + "lastModified": 1755908736, + "narHash": "sha256-2evg9CQ6EJZJPVAaJJBmNKWGVKhhDJYSjI8DpPP4gv0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "dab248c0c6e96765daaa02ef05f36b21f1ba323e", + "rev": "752f38386a4116f9b9c4a16115c6f14f45350c9b", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1755822351, - "narHash": "sha256-zp5av+HEbzeTHtYmk2cAK7T9LTEItGgTFH9uXNsL1t4=", + "lastModified": 1755908726, + "narHash": "sha256-YCtDNkNiOsKR1oCiSshjNG/bVqt1gcNioGUeAokzfpI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "540dacd97e2126784382f95660bcf56474f797b8", + "rev": "aac7ccd57c8783e0ab019b4e740b511a3efdd362", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1755821578, - "narHash": "sha256-FrfxLDAtmy4ggsYkWRdbKy1dnZ8fvmQP2R2t8ChCMV8=", + "lastModified": 1755907945, + "narHash": "sha256-MwKqsi7Pb32CHztcbgBam2XSsBtdqrITZuYPvRIArtQ=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "7a210c158c412b8fae2adc83a3586eedacd8cf91", + "rev": "b4d98fd2e68c9182bc42e85fb6aa43c1bb723aa2", "type": "github" }, "original": { From 990d2c97b08044730a998a32405fb5c79383ad56 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 24 Aug 2025 00:52:19 +0000 Subject: [PATCH 180/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 1a56913724..7a70986378 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1755908736, - "narHash": "sha256-2evg9CQ6EJZJPVAaJJBmNKWGVKhhDJYSjI8DpPP4gv0=", + "lastModified": 1755995304, + "narHash": "sha256-w5lJCMBdiliSvMzWy5Vmb5ljonfWWb4T1+m4l6FMAPQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "752f38386a4116f9b9c4a16115c6f14f45350c9b", + "rev": "22e202424e8917582a16caf625ff4431c90165d2", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1755908726, - "narHash": "sha256-YCtDNkNiOsKR1oCiSshjNG/bVqt1gcNioGUeAokzfpI=", + "lastModified": 1755995293, + "narHash": "sha256-Xg46VMTIW3NgMLzjgzmnVHZpoR3NoMmAoXEF3+hfbao=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "aac7ccd57c8783e0ab019b4e740b511a3efdd362", + "rev": "75bda500c7583ec1f74fd3797f6aa959c51c4298", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1755907945, - "narHash": "sha256-MwKqsi7Pb32CHztcbgBam2XSsBtdqrITZuYPvRIArtQ=", + "lastModified": 1755994465, + "narHash": "sha256-Qlq6wwYqOV1zCRsGxT3LGVZfZ6FhpcC1REz8xpGsIvo=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "b4d98fd2e68c9182bc42e85fb6aa43c1bb723aa2", + "rev": "ffe783102e38ec64a0ec660c58633f367eb6371a", "type": "github" }, "original": { From 098f9df52116c6959698a570eeff876985d21cd6 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 25 Aug 2025 00:51:42 +0000 Subject: [PATCH 181/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 7a70986378..9da6c4b84e 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1755995304, - "narHash": "sha256-w5lJCMBdiliSvMzWy5Vmb5ljonfWWb4T1+m4l6FMAPQ=", + "lastModified": 1756081631, + "narHash": "sha256-jPcx/qaFsqeHo1CIza8E4L9yj0cv9G5Ru+SYcdm5HZQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "22e202424e8917582a16caf625ff4431c90165d2", + "rev": "998430162839dce527b4ac2d61769d1ee7d3f20c", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1755995293, - "narHash": "sha256-Xg46VMTIW3NgMLzjgzmnVHZpoR3NoMmAoXEF3+hfbao=", + "lastModified": 1756081621, + "narHash": "sha256-1o5uuU2a4yAuOY/D1GKgpbU6TXyGXcU0bQ5E67b69MY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "75bda500c7583ec1f74fd3797f6aa959c51c4298", + "rev": "f50e0470335a27377802edc982d9a0e0fdd42843", "type": "github" }, "original": { From 6a8eaba643320340ca56648c055148d1d4c64e1c Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 26 Aug 2025 00:51:36 +0000 Subject: [PATCH 182/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 9da6c4b84e..88282b2b78 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1756081631, - "narHash": "sha256-jPcx/qaFsqeHo1CIza8E4L9yj0cv9G5Ru+SYcdm5HZQ=", + "lastModified": 1756167981, + "narHash": "sha256-7kvKeI92P9vDii7TOAcoMBNUjw1rEMcvRwhKJRRZRQw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "998430162839dce527b4ac2d61769d1ee7d3f20c", + "rev": "051d7d659ad27e433fba760948738df51d430f6f", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1756081621, - "narHash": "sha256-1o5uuU2a4yAuOY/D1GKgpbU6TXyGXcU0bQ5E67b69MY=", + "lastModified": 1756167970, + "narHash": "sha256-dFrR7KhVWixoNtFrQGnR70a/yeLAUdcfDQqHdJ0HCN8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f50e0470335a27377802edc982d9a0e0fdd42843", + "rev": "7a672ba177722f6a500060ff7ff19f0a81544ac2", "type": "github" }, "original": { From 340eecb704a4b484bee871b6aa25eb51c304d0db Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 27 Aug 2025 00:52:06 +0000 Subject: [PATCH 183/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 88282b2b78..e7f3be9695 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1756167981, - "narHash": "sha256-7kvKeI92P9vDii7TOAcoMBNUjw1rEMcvRwhKJRRZRQw=", + "lastModified": 1756254368, + "narHash": "sha256-KO5bitIzcfgWSH3STXGBxS+EsAT0nErIrQJxOWY6+mU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "051d7d659ad27e433fba760948738df51d430f6f", + "rev": "7ef3096f34d49b52bdea956d190fdf47b3ec617b", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1756167970, - "narHash": "sha256-dFrR7KhVWixoNtFrQGnR70a/yeLAUdcfDQqHdJ0HCN8=", + "lastModified": 1756254358, + "narHash": "sha256-ByfkTCjd06Fn5MfCW0mIo0W0udiIyvJ6KBEthn9L12c=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7a672ba177722f6a500060ff7ff19f0a81544ac2", + "rev": "7fbc57bfa6164026ec9f0af9eae45970c9757ddd", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1755994465, - "narHash": "sha256-Qlq6wwYqOV1zCRsGxT3LGVZfZ6FhpcC1REz8xpGsIvo=", + "lastModified": 1756253589, + "narHash": "sha256-HaIEVY8W2GWaYEJQkuxLcIXssz96EkLN7UosnXH+8Ps=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "ffe783102e38ec64a0ec660c58633f367eb6371a", + "rev": "52026ed0525ab2266d24664b6a0163c7a8225abc", "type": "github" }, "original": { From 7d6abbfef8cc2a385bbd94906a6cf66f61747a3f Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 28 Aug 2025 00:51:28 +0000 Subject: [PATCH 184/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index e7f3be9695..db52e4ec11 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1756254368, - "narHash": "sha256-KO5bitIzcfgWSH3STXGBxS+EsAT0nErIrQJxOWY6+mU=", + "lastModified": 1756340753, + "narHash": "sha256-J+JtQtjotdibuT/5/kqqAfnKDHNQY0vUrj525ss3ViA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7ef3096f34d49b52bdea956d190fdf47b3ec617b", + "rev": "38be505d23e8a6d818f463ff8fae4156c7a2519d", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1756254358, - "narHash": "sha256-ByfkTCjd06Fn5MfCW0mIo0W0udiIyvJ6KBEthn9L12c=", + "lastModified": 1756340743, + "narHash": "sha256-o+8hA1inzogFcH1GVMb8HuEIPY8ezVqYf9Ph19su6dg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7fbc57bfa6164026ec9f0af9eae45970c9757ddd", + "rev": "e35ea8da7d1c4e0144d7459d14fa643180596fde", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1756253589, - "narHash": "sha256-HaIEVY8W2GWaYEJQkuxLcIXssz96EkLN7UosnXH+8Ps=", + "lastModified": 1756339975, + "narHash": "sha256-sRL7neG7ylSUDSczMOkKe0MoQTKNRfzBVXEozs/AIsQ=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "52026ed0525ab2266d24664b6a0163c7a8225abc", + "rev": "3fcbb36e5f98c89cb2221d91bd7eb9e6c2792eba", "type": "github" }, "original": { From a090a2fc6fcdccabc982edb318f5d16839c393bc Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 29 Aug 2025 00:52:03 +0000 Subject: [PATCH 185/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index db52e4ec11..b702b05806 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1756340753, - "narHash": "sha256-J+JtQtjotdibuT/5/kqqAfnKDHNQY0vUrj525ss3ViA=", + "lastModified": 1756427177, + "narHash": "sha256-F0eRqd0aP5EhRty29QRpTZfX3wl0qpYNZGfVLaRz5OQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "38be505d23e8a6d818f463ff8fae4156c7a2519d", + "rev": "011820b36f61f2ab00f4b9f60a483c5db7ac54ff", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1756340743, - "narHash": "sha256-o+8hA1inzogFcH1GVMb8HuEIPY8ezVqYf9Ph19su6dg=", + "lastModified": 1756427167, + "narHash": "sha256-vHFDZhLQQoNs8ECOLEJ/PasR2VcPS9L+GQdTp31q83c=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e35ea8da7d1c4e0144d7459d14fa643180596fde", + "rev": "3aeab4c70d1a16e86e9d3bb5ccf646b1fdfbc392", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1756339975, - "narHash": "sha256-sRL7neG7ylSUDSczMOkKe0MoQTKNRfzBVXEozs/AIsQ=", + "lastModified": 1756426381, + "narHash": "sha256-DAYE9bdwQvMDSmUys0pK1MonSh9u2p5c3SHpWFkvU20=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "3fcbb36e5f98c89cb2221d91bd7eb9e6c2792eba", + "rev": "a41e3204940c9eac704e115d013f78635c67af10", "type": "github" }, "original": { From d41e23c701a78f31f56e010c22b6578212692611 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 30 Aug 2025 00:51:51 +0000 Subject: [PATCH 186/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b702b05806..e976f4594b 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1756427177, - "narHash": "sha256-F0eRqd0aP5EhRty29QRpTZfX3wl0qpYNZGfVLaRz5OQ=", + "lastModified": 1756513486, + "narHash": "sha256-mCLbG9Vcz5B95W6JDXkTJGhn1C1QucCnSK0qYjFVdJo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "011820b36f61f2ab00f4b9f60a483c5db7ac54ff", + "rev": "a2ad3e285a70d560a223613501f0b18866176168", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1756427167, - "narHash": "sha256-vHFDZhLQQoNs8ECOLEJ/PasR2VcPS9L+GQdTp31q83c=", + "lastModified": 1756513476, + "narHash": "sha256-acRJWjYb4w5NIEQS2t+WrEOti1tKoci0kPp2qRAkjFg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3aeab4c70d1a16e86e9d3bb5ccf646b1fdfbc392", + "rev": "1572f06666b4401d6ad3d36a395b65397eaec160", "type": "github" }, "original": { @@ -575,11 +575,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1756426381, - "narHash": "sha256-DAYE9bdwQvMDSmUys0pK1MonSh9u2p5c3SHpWFkvU20=", + "lastModified": 1756512731, + "narHash": "sha256-TsoDdrdSgI05Vb3ywtNFoDQt2c3W3h9V2CDwwfpnli0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "a41e3204940c9eac704e115d013f78635c67af10", + "rev": "211a8937b3fd7f193819dadb086721c5409bfdab", "type": "github" }, "original": { From f104621e43fc496439306fec202231e2bc2e6cff Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Sat, 30 Aug 2025 17:05:40 +1200 Subject: [PATCH 187/308] Add support for WASM backend (#2351) * Use libffi-wasm when building for wasi32 * Update dummy-ghc code * Bump nixpkgs pins * Use haskell-wasm versions llvm and wasilibc * Unpin nodejs * Fix wine * Fix wine * Update overlays/wine.nix Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * nix flake update iserv-proxy * Fix broken symlink issue * Use lazy-inputs to load libffi-wasm * Add wasi os to host-map * Disable broken tests * Update supported-languages.nix * Bump head.hackage * Update llvm patch for 20.1.5 * Update llvm patch for 20.1.5 * Fix clang and llvm version used for libffi-wasm * Only build wasm for GHC >=9.12 * Fix missing libiconv on darwin * Use libiconvReal to fix darwin wasm GHC build * Try targetPackages.libiconv * targetIconv * Fix for GHC HEAD * Bump head.hackage * Use ghc HEAD to build ghc HEAD cross compilers * Try building wasm cross without libiconv dependency * Update head.hackage * Disable library-for-ghci for wasm * Disable static for wasm * Fix missing ffi.h * Fix `cabal-simple` test * Enable shared libs for wasm * Remove splitmix SRP (upstream is fixed) * Fix wasm and ghcjs TH code * nix flake update nixpkgs-unstable * nix flake update nixpkgs-2505 * Fix postPatch * Fix NIX_MAIN_PROGRAM issue * Use lto patch for node for wasm backend * Add default to "synopsis" * Update head.hackage * Add upper bound on iserv-proxy:network See https://github.com/haskell/network/issues/604 * Disable node lto to check what fails * Bump head.hackage * Bump head.hackage * nix flake update iserv-proxy * Bump head.hackage * Fixes for wasm TH * Fix missing `__wasm_apply_data_relocs` issue * Skip some broken tests * Fix supported languages * Fix for wasm and GHC >9.12 * Skip broken tests * Fix more tests * Fix GHC 9.12 wasm * Fix typo * Remove iserv-proxy-interpreter from wasm roots * Disable -threaded on wasm * Fix test * Fix test * Patches for back porting fixes to 9.12 * Remove node-lto overlay * Bump head.hackage * Bump wasi-libc * Set BUILTINS_LIB * Fix cross platfrom plan evaluation * Bump head.hackage * cd nix-tools && nix flake update haskellNix * Set `evalSystem` to linux for nix-tools hydra jobs * Avoid non current system platform in the recursive nix * Use the hadrian eval packages for libffi-wasm eval too * s/hadrianEvalPackages/toolEvalPackages and add comments * Revert "s/hadrianEvalPackages/toolEvalPackages and add comments" This reverts commit 220155ecf54f61c4176416bb53356b30121638c2. * Bump head.hackage * s/hadrianEvalPackages/ghcEvalPackages --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- builder/comp-builder.nix | 11 +- builder/ghc-for-component-wrapper.nix | 6 + ci.nix | 8 +- compiler/ghc/default.nix | 152 +- flake.lock | 36 +- flake.nix | 7 - lazy-inputs/default.nix | 1 + lazy-inputs/libffi-wasm/flake.lock | 29 + lazy-inputs/libffi-wasm/flake.nix | 12 + lib/call-cabal-project-to-nix.nix | 6 +- lib/check.nix | 3 +- lib/host-map.nix | 1 + lib/supported-languages.nix | 2 +- materialized/spdx-3.27.0/licenses.json | 8771 +++++++++++++++++ modules/cabal-project.nix | 2 +- modules/component-options.nix | 2 +- modules/hackage.nix | 2 +- modules/install-plan/non-reinstallable.nix | 4 +- modules/package.nix | 1 + nix-tools/flake.lock | 47 +- nix-tools/flake.nix | 2 +- nix-tools/overlay.nix | 8 +- overlays/bootstrap.nix | 9 +- overlays/default.nix | 2 + overlays/haskell.nix | 9 +- .../patches/ghc/ghc-9.12-wasm-keep-cafs.patch | 36 + .../ghc/ghc-9.12-wasm-shared-libs.patch | 41 + overlays/patches/node-lto.patch | 305 + .../patches/wasm/llvm/gnu-install-dirs.patch | 152 + .../wasm/llvm/haskell-wasm-llvm-project.patch | 322 + overlays/wasm.nix | 54 + test/annotations/default.nix | 4 +- test/cabal-22/default.nix | 2 +- test/cabal-hpack/package.yaml | 13 +- test/cabal-simple-prof/default.nix | 3 +- test/cabal.project.local | 9 +- test/call-stack-to-nix/package.yaml | 26 +- test/coverage/default.nix | 4 +- test/exe-dlls/default.nix | 2 +- test/exe-lib-dlls/default.nix | 2 +- test/ghc-options/test-ghc-options.cabal | 3 +- test/ghcjs-overlay/default.nix | 3 + test/gi-gtk/default.nix | 2 +- test/js-template-haskell/default.nix | 3 + .../js-template-haskell.cabal | 1 + test/plugin/default.nix | 2 +- test/project-flags/test-project-flags.cabal | 3 +- test/shell-for/default.nix | 1 + test/stack-simple/package.yaml | 26 +- test/stack-simple/stack-simple.cabal | 12 +- test/supported-langauges/default.nix | 2 +- test/th-dlls/default.nix | 2 +- 52 files changed, 10024 insertions(+), 144 deletions(-) create mode 100644 lazy-inputs/libffi-wasm/flake.lock create mode 100644 lazy-inputs/libffi-wasm/flake.nix create mode 100644 materialized/spdx-3.27.0/licenses.json create mode 100644 overlays/patches/ghc/ghc-9.12-wasm-keep-cafs.patch create mode 100644 overlays/patches/ghc/ghc-9.12-wasm-shared-libs.patch create mode 100644 overlays/patches/node-lto.patch create mode 100644 overlays/patches/wasm/llvm/gnu-install-dirs.patch create mode 100644 overlays/patches/wasm/llvm/haskell-wasm-llvm-project.patch create mode 100644 overlays/wasm.nix diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 9cd2b9f90d..ef67241ba4 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -41,7 +41,7 @@ , hardeningDisable ? component.hardeningDisable , enableStatic ? component.enableStatic -, enableShared ? ghc.enableShared && component.enableShared && !haskellLib.isCrossHost +, enableShared ? ghc.enableShared && component.enableShared && (!haskellLib.isCrossHost || stdenv.hostPlatform.isWasm) , enableExecutableDynamic ? component.enableExecutableDynamic && !stdenv.hostPlatform.isMusl , enableDeadCodeElimination ? component.enableDeadCodeElimination , writeHieFiles ? component.writeHieFiles @@ -284,7 +284,7 @@ let # lld -r --whole-archive ... will _not_ drop lazy symbols. However the # --whole-archive flag needs to come _before_ the objects, it's applied in # sequence. The proper fix is thusly to add --while-archive to Cabal. - (enableFeature (enableLibraryForGhci && !stdenv.hostPlatform.isGhcjs && !stdenv.hostPlatform.isAndroid) "library-for-ghci") + (enableFeature (enableLibraryForGhci && !stdenv.hostPlatform.isGhcjs && !stdenv.hostPlatform.isWasm && !stdenv.hostPlatform.isAndroid) "library-for-ghci") ] ++ lib.optionals (stdenv.hostPlatform.isMusl && (haskellLib.isExecutableType componentId)) [ # These flags will make sure the resulting executable is statically linked. # If it uses other libraries it may be necessary for to add more @@ -348,8 +348,11 @@ let if builtins.isFunction shellHook then shellHook { inherit package shellWrappers; } else abort "shellHook should be a string or a function"; - exeExt = if stdenv.hostPlatform.isGhcjs && builtins.compareVersions defaults.ghc.version "9.8" < 0 - then ".jsexe/all.js" + exeExt = + if stdenv.hostPlatform.isWasm + then ".wasm" + else if stdenv.hostPlatform.isGhcjs && builtins.compareVersions defaults.ghc.version "9.8" < 0 + then ".jsexe/all.js" else stdenv.hostPlatform.extensions.executable; exeName = componentId.cname + exeExt; testExecutable = "dist/build/${componentId.cname}/${exeName}"; diff --git a/builder/ghc-for-component-wrapper.nix b/builder/ghc-for-component-wrapper.nix index 31cfabb96c..58a15f4244 100644 --- a/builder/ghc-for-component-wrapper.nix +++ b/builder/ghc-for-component-wrapper.nix @@ -132,6 +132,12 @@ let ln -s $wrappedGhc/bin/${ghcCommand}-iserv $wrappedGhc/bin/ghc-iserv ln -s $wrappedGhc/bin/${ghcCommand}-iserv-prof $wrappedGhc/bin/ghc-iserv-prof '' + # These scripts break if symlinked (they check import.meta.filename against args) + # Also for some reason `libdl.so` is missing `__wasm_apply_data_relocs` + + lib.optionalString (stdenv.hostPlatform.isWasm) '' + rm $wrappedGhc/lib/*.mjs + cp $unwrappedGhc/lib/*.mjs $wrappedGhc/lib/ + '' # Wrap haddock, if the base GHC provides it. + '' if [[ -x "${haddock}/bin/haddock" ]]; then diff --git a/ci.nix b/ci.nix index 0dae1a25ac..bc2ae32c98 100644 --- a/ci.nix +++ b/ci.nix @@ -89,6 +89,10 @@ && (__match ".*llvm" compiler-nix-name == null) && !builtins.elem compiler-nix-name ["ghc9102"]) { inherit (lib.systems.examples) ghcjs; + } // lib.optionalAttrs (nixpkgsName == "unstable" + && (__match ".*llvm" compiler-nix-name == null) + && !builtins.elem compiler-nix-name ["ghc967" "ghc984" "ghc9102"]) { + inherit (lib.systems.examples) wasi32; } // lib.optionalAttrs (nixpkgsName == "unstable" && (__match ".*llvm" compiler-nix-name == null) && ((system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928"]) @@ -151,7 +155,7 @@ dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: pinnedNixpkgsSrc: build = import ./build.nix { inherit pkgs evalPackages ifdLevel compiler-nix-name haskellNix; }; in pkgs.recurseIntoAttrs (pkgs.lib.optionalAttrs (ifdLevel >= 1) ({ roots = pkgs.haskell-nix.roots' { inherit compiler-nix-name evalPackages; } ifdLevel // { - ghc = pkgs.buildPackages.haskell-nix.compiler.${compiler-nix-name}.override { hadrianEvalPackages = evalPackages; }; + ghc = pkgs.buildPackages.haskell-nix.compiler.${compiler-nix-name}.override { ghcEvalPackages = evalPackages; }; }; # TODO: look into cross compiling ghc itself # ghc = pkgs.haskell-nix.compiler.${compiler-nix-name}; @@ -161,7 +165,7 @@ dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: pinnedNixpkgsSrc: inherit (build) tests; }) # GHCJS builds its own template haskell runner. - // pkgs.lib.optionalAttrs (ifdLevel >= 2 && crossSystemName != "ghcjs") + // pkgs.lib.optionalAttrs (ifdLevel >= 2 && !builtins.elem crossSystemName ["ghcjs" "wasi32"]) pkgs.haskell-nix.iserv-proxy-exes.${compiler-nix-name} // pkgs.lib.optionalAttrs (ifdLevel >= 3) { hello = (pkgs.haskell-nix.hackage-package { name = "hello"; version = "1.0.0.2"; inherit evalPackages compiler-nix-name; }).getComponent "exe:hello"; diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 3a22a8d6db..775040f4ca 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -21,7 +21,7 @@ let self = libffi ? null , # we don't need LLVM for x86, aarch64, or ghcjs - useLLVM ? with stdenv.targetPlatform; !(isx86 || isAarch64 || isGhcjs) + useLLVM ? with stdenv.targetPlatform; !(isx86 || isAarch64 || isGhcjs || isWasm) , # LLVM is conceptually a run-time-only dependency, but for # non-x86, we need LLVM to bootstrap later stages, so it becomes a # build-time dependency too. @@ -39,7 +39,7 @@ let self = , # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. - enableShared ? !haskell-nix.haskellLib.isCrossTarget && !stdenv.targetPlatform.isStatic + enableShared ? !haskell-nix.haskellLib.isCrossTarget && !stdenv.targetPlatform.isStatic || stdenv.targetPlatform.isWasm , enableLibraryProfiling ? true @@ -86,7 +86,16 @@ let self = # extra values we want to have available as passthru values. , extra-passthru ? {} -, hadrianEvalPackages ? buildPackages +# For running IFDs (used to evaluate build plans of tools involved in building GHC). +# +# Currently used for: +# * hadrian +# * libffi-wasm +# * cabal (if we start using `cabal` to build GHC) +# +# We use this instead of `buildPackages` so that plan evaluation +# can work on platforms other than the `buildPlatform`. +, ghcEvalPackages ? buildPackages }@args: assert !(enableIntegerSimple || enableNativeBignum) -> gmp != null; @@ -104,7 +113,7 @@ let inherit (haskell-nix.haskellLib) isCrossTarget; ghc = if bootPkgs.ghc.isHaskellNixCompiler or false - then bootPkgs.ghc.override { inherit hadrianEvalPackages; } + then bootPkgs.ghc.override { inherit ghcEvalPackages; } else bootPkgs.ghc; ghcHasNativeBignum = builtins.compareVersions ghc-version "9.0" >= 0; @@ -119,6 +128,42 @@ let INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"} ''; + nodejs = buildPackages.nodejs_24; + + libffi-wasm = buildPackages.runCommand "libffi-wasm" { + nativeBuildInputs = [ + (buildPackages.haskell-nix.tool "ghc912" "libffi-wasm" { + src = buildPackages.haskell-nix.sources.libffi-wasm; + evalPackages = ghcEvalPackages; + }) + targetPackages.buildPackages.llvmPackages.clang + targetPackages.buildPackages.llvmPackages.llvm + targetPackages.buildPackages.binaryen + ]; + outputs = ["out" "dev"]; + NIX_NO_SELF_RPATH = true; + } '' + mkdir cbits + cp ${buildPackages.haskell-nix.sources.libffi-wasm}/cbits/* cbits/ + libffi-wasm + wasm32-unknown-wasi-clang -Wall -Wextra -mcpu=mvp -Oz -DNDEBUG -Icbits -c cbits/ffi.c -o cbits/ffi.o + wasm32-unknown-wasi-clang -Wall -Wextra -mcpu=mvp -Oz -DNDEBUG -Icbits -c cbits/ffi_call.c -o cbits/ffi_call.o + wasm32-unknown-wasi-clang -Wall -Wextra -mcpu=mvp -Oz -DNDEBUG -Icbits -c cbits/ffi_closure.c -o cbits/ffi_closure.o + + mkdir -p $dev/include + cp cbits/*.h $dev/include + mkdir -p $out/lib + llvm-ar -r $out/lib/libffi.a cbits/*.o + + wasm32-unknown-wasi-clang -Wall -Wextra -mcpu=mvp -Oz -DNDEBUG -Icbits -fPIC -fvisibility=default -shared -Wl,--keep-section=target_features,--strip-debug cbits/*.c -o libffi.so + wasm-opt --low-memory-unused --converge --debuginfo --flatten --rereloop --gufa -O4 -Oz libffi.so -o $out/lib/libffi.so + ''; + + lib-wasm = buildPackages.symlinkJoin { + name = "lib-wasm"; + paths = [ targetPackages.wasilibc libffi-wasm ]; + }; + # TODO check if this possible fix for segfaults works or not. targetLibffi = # on native platforms targetPlatform.{libffi, gmp} do not exist; thus fall back @@ -126,7 +171,9 @@ let let targetLibffi = targetPackages.libffi or libffi; in # we need to set `dontDisableStatic` for musl for libffi to work. if stdenv.targetPlatform.isMusl - then targetLibffi.overrideAttrs (_old: { dontDisableStatic = true; }) + then targetLibffi.overrideAttrs (_old: { dontDisableStatic = true; }) + else if stdenv.targetPlatform.isWasm + then libffi-wasm else targetLibffi; targetGmp = targetPackages.gmp or gmp; @@ -197,14 +244,16 @@ let # `--with` flags for libraries needed for RTS linker configureFlags = [ "--datadir=$doc/share/doc/ghc" - ] ++ lib.optionals (!targetPlatform.isGhcjs && !targetPlatform.isAndroid) ["--with-curses-includes=${targetPackages.ncurses.dev}/include" "--with-curses-libraries=${targetPackages.ncurses.out}/lib" - ] ++ lib.optionals (targetLibffi != null && !targetPlatform.isGhcjs) ["--with-system-libffi" "--with-ffi-includes=${targetLibffi.dev}/include" "--with-ffi-libraries=${targetLibffi.out}/lib" - ] ++ lib.optionals (!enableIntegerSimple && !targetPlatform.isGhcjs) [ - "--with-gmp-includes=${targetGmp.dev}/include" "--with-gmp-libraries=${targetGmp.out}/lib" + ] ++ lib.optionals (!targetPlatform.isGhcjs && !targetPlatform.isWasm && !targetPlatform.isAndroid) ["--with-curses-includes=${lib.getDev targetPackages.ncurses}/include" "--with-curses-libraries=${lib.getLib targetPackages.ncurses}/lib" + ] ++ lib.optionals (targetLibffi != null && !targetPlatform.isGhcjs && !targetPlatform.isWasm) ["--with-system-libffi" "--with-ffi-includes=${lib.getDev targetLibffi}/include" "--with-ffi-libraries=${lib.getLib targetLibffi}/lib" + ] ++ lib.optionals (targetPlatform.isWasm) [ + "--with-system-libffi" + ] ++ lib.optionals (!enableIntegerSimple && !targetPlatform.isGhcjs && !targetPlatform.isWasm) [ + "--with-gmp-includes=${lib.getDev targetGmp}/include" "--with-gmp-libraries=${lib.getLib targetGmp}/lib" ] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ - "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" - ] ++ lib.optionals (targetPlatform != hostPlatform && !targetPlatform.isGhcjs) [ - "--with-iconv-includes=${targetIconv}/include" "--with-iconv-libraries=${targetIconv}/lib" + "--with-iconv-includes=${lib.getDev libiconv}/include" "--with-iconv-libraries=${lib.getLib libiconv}/lib" + ] ++ lib.optionals (targetPlatform != hostPlatform && !targetPlatform.isGhcjs && !targetPlatform.isWasm) [ + "--with-iconv-includes=${lib.getDev targetIconv}/include" "--with-iconv-libraries=${lib.getLib targetIconv}/lib" ] ++ lib.optionals (targetPlatform != hostPlatform) [ "--enable-bootstrap-with-devel-snapshot" ] ++ lib.optionals (disableLargeAddressSpace) [ @@ -236,10 +285,10 @@ let ; # Splicer will pull out correct variations - libDeps = platform: lib.optional (enableTerminfo && !targetPlatform.isGhcjs && !targetPlatform.isAndroid) [ targetPackages.ncurses targetPackages.ncurses.dev ] + libDeps = platform: lib.optionals (enableTerminfo && !targetPlatform.isGhcjs && !targetPlatform.isWasm && !targetPlatform.isAndroid) [ (lib.getLib targetPackages.ncurses) (lib.getDev targetPackages.ncurses) ] ++ lib.optional (!targetPlatform.isGhcjs) targetLibffi - ++ lib.optional (!enableIntegerSimple && !targetPlatform.isGhcjs) gmp - ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv + ++ lib.optional (!enableIntegerSimple && !targetPlatform.isGhcjs && !targetPlatform.isWasm) gmp + ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows && !targetPlatform.isWasm) libiconv ++ lib.optional (enableNUMA && platform.isLinux && !platform.isAarch32 && !platform.isAndroid) numactl ++ lib.optional enableDWARF (lib.getLib elfutils); @@ -276,7 +325,7 @@ let inherit compiler-nix-name; name = "hadrian"; compilerSelection = p: p.haskell.compiler; - evalPackages = hadrianEvalPackages; + evalPackages = ghcEvalPackages; modules = [{ reinstallableLibGhc = false; # Apply the patches in a way that does not require using something @@ -327,12 +376,12 @@ let # For build flavours and flavour transformers # see https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/doc/flavours.md hadrianArgs = "--flavour=${ - (if targetPlatform.isGhcjs then "quick" else "default") + (if targetPlatform.isGhcjs || targetPlatform.isWasm then "quick" else "default") + lib.optionalString (!enableShared) "+no_dynamic_libs+no_dynamic_ghc" + lib.optionalString useLLVM "+llvm" + lib.optionalString enableDWARF "+debug_info" - + lib.optionalString ((enableNativeBignum && hadrianHasNativeBignumFlavour) || targetPlatform.isGhcjs) "+native_bignum" - + lib.optionalString targetPlatform.isGhcjs "+no_profiled_libs" + + lib.optionalString ((enableNativeBignum && hadrianHasNativeBignumFlavour) || targetPlatform.isGhcjs || targetPlatform.isWasm) "+native_bignum" + + lib.optionalString (targetPlatform.isGhcjs || targetPlatform.isWasm) "+no_profiled_libs" } --docs=no-sphinx -j --verbose" # This is needed to prevent $GCC from emitting out of line atomics. # Those would then result in __aarch64_ldadd1_sync and others being referenced, which @@ -344,8 +393,12 @@ let + lib.optionalString (!hostPlatform.isAarch64 && targetPlatform.isLinux && targetPlatform.isAarch64) " '*.rts.ghc.c.opts += -optc-mno-outline-atomics'" # PIC breaks GHC annotations on windows (see test/annotations for a test case) - + lib.optionalString (enableRelocatedStaticLibs && !targetPlatform.isWindows) + + lib.optionalString (enableRelocatedStaticLibs && !targetPlatform.isWindows && !targetPlatform.isWasm) " '*.*.ghc.*.opts += -fPIC' '*.*.cc.*.opts += -fPIC'" + # C options for wasm + + lib.optionalString targetPlatform.isWasm ( + " 'stage1.*.ghc.*.opts += -optc-Wno-error=int-conversion -optc-O3 -optc-mcpu=lime1 -optc-mreference-types -optc-msimd128 -optc-mtail-call -optc-DXXH_NO_XXH3'" + + " 'stage1.*.ghc.cpp.opts += -optc-fno-exceptions'") # `-fexternal-dynamic-refs` causes `undefined reference` errors when building GHC cross compiler for windows + lib.optionalString (enableRelocatedStaticLibs && targetPlatform.isx86_64 && !targetPlatform.isWindows) " '*.*.ghc.*.opts += -fexternal-dynamic-refs'" @@ -450,9 +503,28 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { fi mv config.sub.ghcjs config.sub '') + + lib.optionalString (targetPlatform.isWasm) '' + export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" + export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++" + export LD="${buildPackages.llvmPackages.lld}/bin/wasm-ld" + export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" + export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" + export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" + export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" + export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" + export STRIP="${bintoolsFor.strip}/bin/${bintoolsFor.strip.targetPrefix}strip" + export NIX_CFLAGS_COMPILE_FOR_BUILD+=" -I${lib.getDev libffi}/include -L${lib.getLib libffi}/lib" + export NIX_CFLAGS_COMPILE_FOR_TARGET+=" -I${lib.getDev targetLibffi}/include -L${lib.getLib targetLibffi}/lib" + ${if ghc-version == "9.12.2" + then '' + substituteInPlace compiler/GHC.hs --replace-fail "panic \"corrupted wasi-sdk installation\"" "pure \"${targetPackages.wasilibc}\"" + '' else '' + substituteInPlace compiler/GHC.hs --replace-fail "last <\$> Loader.getGccSearchDirectory logger dflags \"libraries\"" "pure \"${targetPackages.wasilibc}\"" + ''} + '' # GHC is a bit confused on its cross terminology, as these would normally be # the *host* tools. - + lib.optionalString (!targetPlatform.isGhcjs) ('' + + lib.optionalString (!targetPlatform.isGhcjs && !targetPlatform.isWasm) ('' export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++" '' @@ -534,7 +606,34 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { configurePlatforms = [ "build" "host" ] ++ lib.optional (!targetPlatform.isGhcjs) "target"; enableParallelBuilding = true; - postPatch = "patchShebangs ."; + postPatch = '' + patchShebangs . + '' + lib.optionalString (targetPlatform.isWasm) '' + substituteInPlace utils/jsffi/dyld.mjs \ + --replace \ + "${nodejs}/bin/node --disable-warning=ExperimentalWarning ${ + if builtins.compareVersions ghc-version "9.13" < 0 + then "--experimental-wasm-type-reflection" + else "--max-old-space-size=65536"} --no-turbo-fast-api-calls --wasm-lazy-validation" \ + "${buildPackages.writeShellScriptBin "node" '' + SCRIPT=$1 + shift + LIB_WASM=$1 + shift + exec ${nodejs}/bin/node \ + --disable-warning=ExperimentalWarning \ + ${ + if builtins.compareVersions ghc-version "9.13" < 0 + then "--experimental-wasm-type-reflection" + else "--max-old-space-size=65536"} \ + --no-turbo-fast-api-calls \ + --wasm-lazy-validation \ + "$SCRIPT" \ + "${lib-wasm}/lib" \ + "$@" + '' + }/bin/node" + ''; outputs = [ "out" "doc" "generated" ]; @@ -548,7 +647,8 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { perl autoconf automake m4 python3 sphinx ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour ] ++ lib.optional (patches != []) autoreconfHook - ++ lib.optional useLdLld llvmPackages.bintools; + ++ lib.optional useLdLld llvmPackages.bintools + ++ lib.optional (targetPlatform.isWasm) nodejs; # For building runtime libs depsBuildTarget = toolsForTarget; @@ -556,7 +656,9 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { buildInputs = [ perl bash ] ++ (libDeps hostPlatform); depsTargetTarget = lib.optionals (!targetPlatform.isGhcjs) (map lib.getDev (libDeps targetPlatform)); - depsTargetTargetPropagated = lib.optionals (!targetPlatform.isGhcjs) (map (lib.getOutput "out") (libDeps targetPlatform)); + depsTargetTargetPropagated = lib.optionals (!targetPlatform.isGhcjs) (map (lib.getOutput "out") (libDeps targetPlatform)) + # Needs to be propagated for `ffi.h` + ++ lib.optional targetPlatform.isWasm (lib.getDev targetLibffi); # required, because otherwise all symbols from HSffi.o are stripped, and # that in turn causes GHCi to abort @@ -794,7 +896,7 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { disableLargeAddressSpace = true; }); } // extra-passthru // { - buildGHC = extra-passthru.buildGHC.override { inherit hadrianEvalPackages; }; + buildGHC = extra-passthru.buildGHC.override { inherit ghcEvalPackages; }; }; meta = { diff --git a/flake.lock b/flake.lock index e976f4594b..5f1a4a98d6 100644 --- a/flake.lock +++ b/flake.lock @@ -100,23 +100,6 @@ "type": "github" } }, - "ghc-8.6.5-iohk": { - "flake": false, - "locked": { - "lastModified": 1600920045, - "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", - "owner": "input-output-hk", - "repo": "ghc", - "rev": "95713a6ecce4551240da7c96b6176f980af75cae", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "ref": "release/8.6.5-iohk", - "repo": "ghc", - "type": "github" - } - }, "hackage": { "flake": false, "locked": { @@ -405,11 +388,11 @@ "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1755040634, - "narHash": "sha256-8W7uHpAIG8HhO3ig5OGHqvwduoye6q6dlrea1IrP2eI=", + "lastModified": 1755243078, + "narHash": "sha256-GLbl1YaohKdpzZVJFRdcI1O1oE3F3uBer4lFv3Yy0l8=", "owner": "stable-haskell", "repo": "iserv-proxy", - "rev": "1383d199a2c64f522979005d112b4fbdee38dd92", + "rev": "150605195cb7183a6fb7bed82f23fedf37c6f52a", "type": "github" }, "original": { @@ -485,11 +468,11 @@ }, "nixpkgs-2505": { "locked": { - "lastModified": 1748852332, - "narHash": "sha256-r/wVJWmLYEqvrJKnL48r90Wn9HWX9SHFt6s4LhuTh7k=", + "lastModified": 1754477006, + "narHash": "sha256-suIgZZHXdb4ca9nN4MIcmdjeN+ZWsTwCtYAG4HExqAo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a8167f3cc2f991dd4d0055746df53dae5fd0c953", + "rev": "4896699973299bffae27d0d9828226983544d9e9", "type": "github" }, "original": { @@ -501,11 +484,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1748856973, - "narHash": "sha256-RlTsJUvvr8ErjPBsiwrGbbHYW8XbB/oek0Gi78XdWKg=", + "lastModified": 1754393734, + "narHash": "sha256-fbnmAwTQkuXHKBlcL5Nq1sMAzd3GFqCOQgEQw6Hy0Ak=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e4b09e47ace7d87de083786b404bf232eb6c89d8", + "rev": "a683adc19ff5228af548c6539dbc3440509bfed3", "type": "github" }, "original": { @@ -540,7 +523,6 @@ "cabal-36": "cabal-36", "cardano-shell": "cardano-shell", "flake-compat": "flake-compat", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", "hackage": "hackage", "hackage-for-stackage": "hackage-for-stackage", "hackage-internal": "hackage-internal", diff --git a/flake.nix b/flake.nix index 54723b2b81..b1fa5d5af3 100644 --- a/flake.nix +++ b/flake.nix @@ -55,13 +55,6 @@ url = "github:input-output-hk/cardano-shell"; flake = false; }; - "ghc-8.6.5-iohk" = { - type = "github"; - owner = "input-output-hk"; - repo = "ghc"; - ref = "release/8.6.5-iohk"; - flake = false; - }; hpc-coveralls = { url = "github:sevanspowell/hpc-coveralls"; flake = false; diff --git a/lazy-inputs/default.nix b/lazy-inputs/default.nix index 9552c84685..1fe105262f 100644 --- a/lazy-inputs/default.nix +++ b/lazy-inputs/default.nix @@ -41,6 +41,7 @@ in { inherit ((callFlake { pkgs = final; src = ./ghc9122; }).defaultNix) ghc9122; inherit ((callFlake { pkgs = final; src = ./ghc912X; }).defaultNix) ghc912X; inherit ((callFlake { pkgs = final; src = ./ghc913; }).defaultNix) ghc913; + inherit ((callFlake { pkgs = final; src = ./libffi-wasm; }).defaultNix) libffi-wasm; } // prev.haskell-nix.sources; }; } diff --git a/lazy-inputs/libffi-wasm/flake.lock b/lazy-inputs/libffi-wasm/flake.lock new file mode 100644 index 0000000000..1240847b6a --- /dev/null +++ b/lazy-inputs/libffi-wasm/flake.lock @@ -0,0 +1,29 @@ +{ + "nodes": { + "libffi-wasm": { + "flake": false, + "locked": { + "host": "gitlab.haskell.org", + "lastModified": 1741286406, + "narHash": "sha256-GxC9G+LYRHwKArwXNeU9Enq7u4arvPbFfE4kQj1cHyc=", + "owner": "haskell-wasm", + "repo": "libffi-wasm", + "rev": "e2dbdd8ded953e7a4df42c192da65ab36b9f0345", + "type": "gitlab" + }, + "original": { + "host": "gitlab.haskell.org", + "owner": "haskell-wasm", + "repo": "libffi-wasm", + "type": "gitlab" + } + }, + "root": { + "inputs": { + "libffi-wasm": "libffi-wasm" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/lazy-inputs/libffi-wasm/flake.nix b/lazy-inputs/libffi-wasm/flake.nix new file mode 100644 index 0000000000..447a162aff --- /dev/null +++ b/lazy-inputs/libffi-wasm/flake.nix @@ -0,0 +1,12 @@ +{ + description = "Lazy Input for Haskell.nix"; + + inputs = { + libffi-wasm = { + flake = false; + url = "gitlab:haskell-wasm/libffi-wasm?host=gitlab.haskell.org"; + }; + }; + + outputs = inputs: inputs; +} diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index 42679dffc5..34dec9b988 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -14,7 +14,7 @@ , cabalProjectLocal ? null , cabalProjectFreeze ? null , caller ? "callCabalProjectToNix" # Name of the calling function for better warning messages -, compilerSelection ? p: builtins.mapAttrs (_: x: x.override { hadrianEvalPackages = evalPackages; }) p.haskell-nix.compiler +, compilerSelection ? p: builtins.mapAttrs (_: x: x.override { ghcEvalPackages = evalPackages; }) p.haskell-nix.compiler , ghcOverride ? null # Used when we need to set ghc explicitly during bootstrapping , configureArgs ? "" # Extra arguments to pass to `cabal v2-configure`. # `--enable-tests --enable-benchmarks` are included by default. @@ -331,6 +331,8 @@ let then "OSMinGW32" else if pkgs.stdenv.targetPlatform.isGhcjs then "OSGhcjs" + else if pkgs.stdenv.targetPlatform.isWasi + then "OSWasi" else throw "Unknown target os ${pkgs.stdenv.targetPlatform.config}" }")' echo ',("target arch","${ @@ -346,6 +348,8 @@ let then "ArchAArch32" else if pkgs.stdenv.targetPlatform.isJavaScript then "ArchJavaScript" + else if pkgs.stdenv.targetPlatform.isWasm + then "ArchWasm32" else throw "Unknown target arch ${pkgs.stdenv.targetPlatform.config}" }")' echo ',("target platform string","${platformString pkgs.stdenv.targetPlatform}")' diff --git a/lib/check.nix b/lib/check.nix index 15270975e5..bbce149fe7 100644 --- a/lib/check.nix +++ b/lib/check.nix @@ -35,7 +35,8 @@ in stdenv.mkDerivation (( dwarf = self drv.dwarf; }; - inherit (drv) meta LANG LC_ALL buildInputs; + inherit (drv) LANG LC_ALL buildInputs; + meta = builtins.removeAttrs drv.meta ["mainProgram"]; nativeBuildInputs = drv.nativeBuildInputs ++ [buildPackages.xorg.lndir] diff --git a/lib/host-map.nix b/lib/host-map.nix index b4a529f035..d91970d2ba 100644 --- a/lib/host-map.nix +++ b/lib/host-map.nix @@ -18,6 +18,7 @@ with stdenv.hostPlatform; { if isiOS then "Ios" else if isAndroid then "Android" else if isGhcjs then "Ghcjs" else + if isWasi then "Wasi" else if isAsterius then "Asterius" else throw "Unknown OS"; arch = if isx86 && is32bit then "I386" else diff --git a/lib/supported-languages.nix b/lib/supported-languages.nix index 0e459c0505..c66bf8acf0 100644 --- a/lib/supported-languages.nix +++ b/lib/supported-languages.nix @@ -125,7 +125,7 @@ evalPackages.writeTextFile { NoApplicativeDo InterruptibleFFI NoInterruptibleFFI - ${pkgs.lib.optionalString (pkgs.stdenv.targetPlatform.isGhcjs || builtins.compareVersions ghc.version "9.8" <0) '' + ${pkgs.lib.optionalString (pkgs.stdenv.targetPlatform.isGhcjs || pkgs.stdenv.targetPlatform.isWasm || builtins.compareVersions ghc.version "9.8" <0) '' JavaScriptFFI ''}NoJavaScriptFFI KindSignatures diff --git a/materialized/spdx-3.27.0/licenses.json b/materialized/spdx-3.27.0/licenses.json new file mode 100644 index 0000000000..8970ea00c7 --- /dev/null +++ b/materialized/spdx-3.27.0/licenses.json @@ -0,0 +1,8771 @@ +{ + "licenseListVersion": "3.27.0", + "licenses": [ + { + "reference": "https://spdx.org/licenses/0BSD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/0BSD.json", + "referenceNumber": 316, + "name": "BSD Zero Clause License", + "licenseId": "0BSD", + "seeAlso": [ + "http://landley.net/toybox/license.html", + "https://opensource.org/licenses/0BSD" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/3D-Slicer-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/3D-Slicer-1.0.json", + "referenceNumber": 61, + "name": "3D Slicer License v1.0", + "licenseId": "3D-Slicer-1.0", + "seeAlso": [ + "https://slicer.org/LICENSE", + "https://github.com/Slicer/Slicer/blob/main/License.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AAL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AAL.json", + "referenceNumber": 424, + "name": "Attribution Assurance License", + "licenseId": "AAL", + "seeAlso": [ + "https://opensource.org/licenses/attribution" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Abstyles.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Abstyles.json", + "referenceNumber": 252, + "name": "Abstyles License", + "licenseId": "Abstyles", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Abstyles" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AdaCore-doc.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AdaCore-doc.json", + "referenceNumber": 315, + "name": "AdaCore Doc License", + "licenseId": "AdaCore-doc", + "seeAlso": [ + "https://github.com/AdaCore/xmlada/blob/master/docs/index.rst", + "https://github.com/AdaCore/gnatcoll-core/blob/master/docs/index.rst", + "https://github.com/AdaCore/gnatcoll-db/blob/master/docs/index.rst" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Adobe-2006.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Adobe-2006.json", + "referenceNumber": 658, + "name": "Adobe Systems Incorporated Source Code License Agreement", + "licenseId": "Adobe-2006", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/AdobeLicense" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Adobe-Display-PostScript.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Adobe-Display-PostScript.json", + "referenceNumber": 499, + "name": "Adobe Display PostScript License", + "licenseId": "Adobe-Display-PostScript", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING?ref_type\u003dheads#L752" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Adobe-Glyph.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Adobe-Glyph.json", + "referenceNumber": 492, + "name": "Adobe Glyph List License", + "licenseId": "Adobe-Glyph", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MIT#AdobeGlyph" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Adobe-Utopia.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Adobe-Utopia.json", + "referenceNumber": 554, + "name": "Adobe Utopia Font License", + "licenseId": "Adobe-Utopia", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/font/adobe-utopia-100dpi/-/blob/master/COPYING?ref_type\u003dheads" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ADSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ADSL.json", + "referenceNumber": 76, + "name": "Amazon Digital Services License", + "licenseId": "ADSL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/AmazonDigitalServicesLicense" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AFL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AFL-1.1.json", + "referenceNumber": 7, + "name": "Academic Free License v1.1", + "licenseId": "AFL-1.1", + "seeAlso": [ + "http://opensource.linux-mirror.org/licenses/afl-1.1.txt", + "http://wayback.archive.org/web/20021004124254/http://www.opensource.org/licenses/academic.php" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AFL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AFL-1.2.json", + "referenceNumber": 480, + "name": "Academic Free License v1.2", + "licenseId": "AFL-1.2", + "seeAlso": [ + "http://opensource.linux-mirror.org/licenses/afl-1.2.txt", + "http://wayback.archive.org/web/20021204204652/http://www.opensource.org/licenses/academic.php" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AFL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AFL-2.0.json", + "referenceNumber": 41, + "name": "Academic Free License v2.0", + "licenseId": "AFL-2.0", + "seeAlso": [ + "http://wayback.archive.org/web/20060924134533/http://www.opensource.org/licenses/afl-2.0.txt" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AFL-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AFL-2.1.json", + "referenceNumber": 682, + "name": "Academic Free License v2.1", + "licenseId": "AFL-2.1", + "seeAlso": [ + "http://opensource.linux-mirror.org/licenses/afl-2.1.txt" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AFL-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AFL-3.0.json", + "referenceNumber": 343, + "name": "Academic Free License v3.0", + "licenseId": "AFL-3.0", + "seeAlso": [ + "http://www.rosenlaw.com/AFL3.0.htm", + "https://opensource.org/licenses/afl-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Afmparse.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Afmparse.json", + "referenceNumber": 84, + "name": "Afmparse License", + "licenseId": "Afmparse", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Afmparse" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AGPL-1.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/AGPL-1.0.json", + "referenceNumber": 38, + "name": "Affero General Public License v1.0", + "licenseId": "AGPL-1.0", + "seeAlso": [ + "http://www.affero.org/oagpl.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AGPL-1.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AGPL-1.0-only.json", + "referenceNumber": 415, + "name": "Affero General Public License v1.0 only", + "licenseId": "AGPL-1.0-only", + "seeAlso": [ + "http://www.affero.org/oagpl.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AGPL-1.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AGPL-1.0-or-later.json", + "referenceNumber": 24, + "name": "Affero General Public License v1.0 or later", + "licenseId": "AGPL-1.0-or-later", + "seeAlso": [ + "http://www.affero.org/oagpl.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AGPL-3.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/AGPL-3.0.json", + "referenceNumber": 427, + "name": "GNU Affero General Public License v3.0", + "licenseId": "AGPL-3.0", + "seeAlso": [ + "https://www.gnu.org/licenses/agpl.txt", + "https://opensource.org/licenses/AGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AGPL-3.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AGPL-3.0-only.json", + "referenceNumber": 191, + "name": "GNU Affero General Public License v3.0 only", + "licenseId": "AGPL-3.0-only", + "seeAlso": [ + "https://www.gnu.org/licenses/agpl.txt", + "https://opensource.org/licenses/AGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/AGPL-3.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AGPL-3.0-or-later.json", + "referenceNumber": 469, + "name": "GNU Affero General Public License v3.0 or later", + "licenseId": "AGPL-3.0-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/agpl.txt", + "https://opensource.org/licenses/AGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Aladdin.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Aladdin.json", + "referenceNumber": 495, + "name": "Aladdin Free Public License", + "licenseId": "Aladdin", + "seeAlso": [ + "http://pages.cs.wisc.edu/~ghost/doc/AFPL/6.01/Public.htm" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/AMD-newlib.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AMD-newlib.json", + "referenceNumber": 437, + "name": "AMD newlib License", + "licenseId": "AMD-newlib", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dnewlib-cygwin.git;a\u003dblob;f\u003dnewlib/libc/sys/a29khif/_close.S;h\u003d04f52ae00de1dafbd9055ad8d73c5c697a3aae7f;hb\u003dHEAD" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AMDPLPA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AMDPLPA.json", + "referenceNumber": 194, + "name": "AMD\u0027s plpa_map.c License", + "licenseId": "AMDPLPA", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/AMD_plpa_map_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AML.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AML.json", + "referenceNumber": 644, + "name": "Apple MIT License", + "licenseId": "AML", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Apple_MIT_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AML-glslang.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AML-glslang.json", + "referenceNumber": 439, + "name": "AML glslang variant License", + "licenseId": "AML-glslang", + "seeAlso": [ + "https://github.com/KhronosGroup/glslang/blob/main/LICENSE.txt#L949", + "https://docs.omniverse.nvidia.com/install-guide/latest/common/licenses.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/AMPAS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/AMPAS.json", + "referenceNumber": 15, + "name": "Academy of Motion Picture Arts and Sciences BSD", + "licenseId": "AMPAS", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/BSD#AMPASBSD" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ANTLR-PD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ANTLR-PD.json", + "referenceNumber": 25, + "name": "ANTLR Software Rights Notice", + "licenseId": "ANTLR-PD", + "seeAlso": [ + "http://www.antlr2.org/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ANTLR-PD-fallback.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ANTLR-PD-fallback.json", + "referenceNumber": 218, + "name": "ANTLR Software Rights Notice with license fallback", + "licenseId": "ANTLR-PD-fallback", + "seeAlso": [ + "http://www.antlr2.org/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/any-OSI.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/any-OSI.json", + "referenceNumber": 74, + "name": "Any OSI License", + "licenseId": "any-OSI", + "seeAlso": [ + "https://metacpan.org/pod/Exporter::Tidy#LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/any-OSI-perl-modules.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/any-OSI-perl-modules.json", + "referenceNumber": 230, + "name": "Any OSI License - Perl Modules", + "licenseId": "any-OSI-perl-modules", + "seeAlso": [ + "https://metacpan.org/release/JUERD/Exporter-Tidy-0.09/view/Tidy.pm#LICENSE", + "https://metacpan.org/pod/Qmail::Deliverable::Client#LICENSE", + "https://metacpan.org/pod/Net::MQTT::Simple#LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Apache-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Apache-1.0.json", + "referenceNumber": 379, + "name": "Apache License 1.0", + "licenseId": "Apache-1.0", + "seeAlso": [ + "http://www.apache.org/licenses/LICENSE-1.0" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Apache-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Apache-1.1.json", + "referenceNumber": 111, + "name": "Apache License 1.1", + "licenseId": "Apache-1.1", + "seeAlso": [ + "http://apache.org/licenses/LICENSE-1.1", + "https://opensource.org/licenses/Apache-1.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Apache-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Apache-2.0.json", + "referenceNumber": 162, + "name": "Apache License 2.0", + "licenseId": "Apache-2.0", + "seeAlso": [ + "https://www.apache.org/licenses/LICENSE-2.0", + "https://opensource.org/licenses/Apache-2.0", + "https://opensource.org/license/apache-2-0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/APAFML.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/APAFML.json", + "referenceNumber": 474, + "name": "Adobe Postscript AFM License", + "licenseId": "APAFML", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/AdobePostscriptAFM" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/APL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/APL-1.0.json", + "referenceNumber": 127, + "name": "Adaptive Public License 1.0", + "licenseId": "APL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/APL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/App-s2p.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/App-s2p.json", + "referenceNumber": 155, + "name": "App::s2p License", + "licenseId": "App-s2p", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/App-s2p" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/APSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/APSL-1.0.json", + "referenceNumber": 86, + "name": "Apple Public Source License 1.0", + "licenseId": "APSL-1.0", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Apple_Public_Source_License_1.0" + ], + "isOsiApproved": true, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/APSL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/APSL-1.1.json", + "referenceNumber": 23, + "name": "Apple Public Source License 1.1", + "licenseId": "APSL-1.1", + "seeAlso": [ + "http://www.opensource.apple.com/source/IOSerialFamily/IOSerialFamily-7/APPLE_LICENSE" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/APSL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/APSL-1.2.json", + "referenceNumber": 265, + "name": "Apple Public Source License 1.2", + "licenseId": "APSL-1.2", + "seeAlso": [ + "http://www.samurajdata.se/opensource/mirror/licenses/apsl.php" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/APSL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/APSL-2.0.json", + "referenceNumber": 568, + "name": "Apple Public Source License 2.0", + "licenseId": "APSL-2.0", + "seeAlso": [ + "http://www.opensource.apple.com/license/apsl/" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Arphic-1999.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Arphic-1999.json", + "referenceNumber": 649, + "name": "Arphic Public License", + "licenseId": "Arphic-1999", + "seeAlso": [ + "http://ftp.gnu.org/gnu/non-gnu/chinese-fonts-truetype/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Artistic-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Artistic-1.0.json", + "referenceNumber": 388, + "name": "Artistic License 1.0", + "licenseId": "Artistic-1.0", + "seeAlso": [ + "https://opensource.org/licenses/Artistic-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/Artistic-1.0-cl8.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Artistic-1.0-cl8.json", + "referenceNumber": 291, + "name": "Artistic License 1.0 w/clause 8", + "licenseId": "Artistic-1.0-cl8", + "seeAlso": [ + "https://opensource.org/licenses/Artistic-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Artistic-1.0-Perl.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Artistic-1.0-Perl.json", + "referenceNumber": 20, + "name": "Artistic License 1.0 (Perl)", + "licenseId": "Artistic-1.0-Perl", + "seeAlso": [ + "http://dev.perl.org/licenses/artistic.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Artistic-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Artistic-2.0.json", + "referenceNumber": 217, + "name": "Artistic License 2.0", + "licenseId": "Artistic-2.0", + "seeAlso": [ + "http://www.perlfoundation.org/artistic_license_2_0", + "https://www.perlfoundation.org/artistic-license-20.html", + "https://opensource.org/licenses/artistic-license-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Artistic-dist.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Artistic-dist.json", + "referenceNumber": 511, + "name": "Artistic License 1.0 (dist)", + "licenseId": "Artistic-dist", + "seeAlso": [ + "https://github.com/pexip/os-perl/blob/833cf4c86cc465ccfc627ff16db67e783156a248/debian/copyright#L2720-L2845" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Aspell-RU.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Aspell-RU.json", + "referenceNumber": 231, + "name": "Aspell Russian License", + "licenseId": "Aspell-RU", + "seeAlso": [ + "https://ftp.gnu.org/gnu/aspell/dict/ru/aspell6-ru-0.99f7-1.tar.bz2" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ASWF-Digital-Assets-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ASWF-Digital-Assets-1.0.json", + "referenceNumber": 340, + "name": "ASWF Digital Assets License version 1.0", + "licenseId": "ASWF-Digital-Assets-1.0", + "seeAlso": [ + "https://github.com/AcademySoftwareFoundation/foundation/blob/main/digital_assets/aswf_digital_assets_license_v1.0.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ASWF-Digital-Assets-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ASWF-Digital-Assets-1.1.json", + "referenceNumber": 153, + "name": "ASWF Digital Assets License 1.1", + "licenseId": "ASWF-Digital-Assets-1.1", + "seeAlso": [ + "https://github.com/AcademySoftwareFoundation/foundation/blob/main/digital_assets/aswf_digital_assets_license_v1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Baekmuk.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Baekmuk.json", + "referenceNumber": 311, + "name": "Baekmuk License", + "licenseId": "Baekmuk", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:Baekmuk?rd\u003dLicensing/Baekmuk" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Bahyph.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Bahyph.json", + "referenceNumber": 505, + "name": "Bahyph License", + "licenseId": "Bahyph", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Bahyph" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Barr.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Barr.json", + "referenceNumber": 420, + "name": "Barr License", + "licenseId": "Barr", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Barr" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/bcrypt-Solar-Designer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/bcrypt-Solar-Designer.json", + "referenceNumber": 167, + "name": "bcrypt Solar Designer License", + "licenseId": "bcrypt-Solar-Designer", + "seeAlso": [ + "https://github.com/bcrypt-ruby/bcrypt-ruby/blob/master/ext/mri/crypt_blowfish.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Beerware.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Beerware.json", + "referenceNumber": 556, + "name": "Beerware License", + "licenseId": "Beerware", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Beerware", + "https://people.freebsd.org/~phk/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Bitstream-Charter.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Bitstream-Charter.json", + "referenceNumber": 47, + "name": "Bitstream Charter Font License", + "licenseId": "Bitstream-Charter", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Charter#License_Text", + "https://raw.githubusercontent.com/blackhole89/notekit/master/data/fonts/Charter%20license.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Bitstream-Vera.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Bitstream-Vera.json", + "referenceNumber": 208, + "name": "Bitstream Vera Font License", + "licenseId": "Bitstream-Vera", + "seeAlso": [ + "https://web.archive.org/web/20080207013128/http://www.gnome.org/fonts/", + "https://docubrain.com/sites/default/files/licenses/bitstream-vera.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BitTorrent-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BitTorrent-1.0.json", + "referenceNumber": 156, + "name": "BitTorrent Open Source License v1.0", + "licenseId": "BitTorrent-1.0", + "seeAlso": [ + "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/licenses/BitTorrent?r1\u003d1.1\u0026r2\u003d1.1.1.1\u0026diff_format\u003ds" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BitTorrent-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BitTorrent-1.1.json", + "referenceNumber": 325, + "name": "BitTorrent Open Source License v1.1", + "licenseId": "BitTorrent-1.1", + "seeAlso": [ + "http://directory.fsf.org/wiki/License:BitTorrentOSL1.1" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/blessing.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/blessing.json", + "referenceNumber": 680, + "name": "SQLite Blessing", + "licenseId": "blessing", + "seeAlso": [ + "https://www.sqlite.org/src/artifact/e33a4df7e32d742a?ln\u003d4-9", + "https://sqlite.org/src/artifact/df5091916dbb40e6" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BlueOak-1.0.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BlueOak-1.0.0.json", + "referenceNumber": 51, + "name": "Blue Oak Model License 1.0.0", + "licenseId": "BlueOak-1.0.0", + "seeAlso": [ + "https://blueoakcouncil.org/license/1.0.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Boehm-GC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Boehm-GC.json", + "referenceNumber": 92, + "name": "Boehm-Demers-Weiser GC License", + "licenseId": "Boehm-GC", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:MIT#Another_Minimal_variant_(found_in_libatomic_ops)", + "https://github.com/uim/libgcroots/blob/master/COPYING", + "https://github.com/ivmai/libatomic_ops/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Boehm-GC-without-fee.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Boehm-GC-without-fee.json", + "referenceNumber": 466, + "name": "Boehm-Demers-Weiser GC License (without fee)", + "licenseId": "Boehm-GC-without-fee", + "seeAlso": [ + "https://github.com/MariaDB/server/blob/11.6/libmysqld/lib_sql.cc" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Borceux.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Borceux.json", + "referenceNumber": 335, + "name": "Borceux license", + "licenseId": "Borceux", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Borceux" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Brian-Gladman-2-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Brian-Gladman-2-Clause.json", + "referenceNumber": 198, + "name": "Brian Gladman 2-Clause License", + "licenseId": "Brian-Gladman-2-Clause", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L140-L156", + "https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Brian-Gladman-3-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Brian-Gladman-3-Clause.json", + "referenceNumber": 675, + "name": "Brian Gladman 3-Clause License", + "licenseId": "Brian-Gladman-3-Clause", + "seeAlso": [ + "https://github.com/SWI-Prolog/packages-clib/blob/master/sha1/brg_endian.h" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-1-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-1-Clause.json", + "referenceNumber": 286, + "name": "BSD 1-Clause License", + "licenseId": "BSD-1-Clause", + "seeAlso": [ + "https://svnweb.freebsd.org/base/head/include/ifaddrs.h?revision\u003d326823" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause.json", + "referenceNumber": 430, + "name": "BSD 2-Clause \"Simplified\" License", + "licenseId": "BSD-2-Clause", + "seeAlso": [ + "https://opensource.org/licenses/BSD-2-Clause" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-Darwin.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-Darwin.json", + "referenceNumber": 477, + "name": "BSD 2-Clause - Ian Darwin variant", + "licenseId": "BSD-2-Clause-Darwin", + "seeAlso": [ + "https://github.com/file/file/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-first-lines.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-first-lines.json", + "referenceNumber": 543, + "name": "BSD 2-Clause - first lines requirement", + "licenseId": "BSD-2-Clause-first-lines", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L664-L690", + "https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-FreeBSD.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-FreeBSD.json", + "referenceNumber": 622, + "name": "BSD 2-Clause FreeBSD License", + "licenseId": "BSD-2-Clause-FreeBSD", + "seeAlso": [ + "http://www.freebsd.org/copyright/freebsd-license.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-NetBSD.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-NetBSD.json", + "referenceNumber": 531, + "name": "BSD 2-Clause NetBSD License", + "licenseId": "BSD-2-Clause-NetBSD", + "seeAlso": [ + "http://www.netbsd.org/about/redistribution.html#default" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-Patent.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-Patent.json", + "referenceNumber": 584, + "name": "BSD-2-Clause Plus Patent License", + "licenseId": "BSD-2-Clause-Patent", + "seeAlso": [ + "https://opensource.org/licenses/BSDplusPatent" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-pkgconf-disclaimer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-pkgconf-disclaimer.json", + "referenceNumber": 624, + "name": "BSD 2-Clause pkgconf disclaimer variant", + "licenseId": "BSD-2-Clause-pkgconf-disclaimer", + "seeAlso": [ + "https://github.com/audacious-media-player/audacious/blob/master/src/audacious/main.cc", + "https://github.com/audacious-media-player/audacious/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-2-Clause-Views.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause-Views.json", + "referenceNumber": 536, + "name": "BSD 2-Clause with views sentence", + "licenseId": "BSD-2-Clause-Views", + "seeAlso": [ + "http://www.freebsd.org/copyright/freebsd-license.html", + "https://people.freebsd.org/~ivoras/wine/patch-wine-nvidia.sh", + "https://github.com/protegeproject/protege/blob/master/license.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause.json", + "referenceNumber": 567, + "name": "BSD 3-Clause \"New\" or \"Revised\" License", + "licenseId": "BSD-3-Clause", + "seeAlso": [ + "https://opensource.org/licenses/BSD-3-Clause", + "https://www.eclipse.org/org/documents/edl-v10.php" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-acpica.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-acpica.json", + "referenceNumber": 277, + "name": "BSD 3-Clause acpica variant", + "licenseId": "BSD-3-Clause-acpica", + "seeAlso": [ + "https://github.com/acpica/acpica/blob/master/source/common/acfileio.c#L119" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-Attribution.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Attribution.json", + "referenceNumber": 159, + "name": "BSD with attribution", + "licenseId": "BSD-3-Clause-Attribution", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/BSD_with_Attribution" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-Clear.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Clear.json", + "referenceNumber": 259, + "name": "BSD 3-Clause Clear License", + "licenseId": "BSD-3-Clause-Clear", + "seeAlso": [ + "http://labs.metacarta.com/license-explanation.html#license" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-flex.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-flex.json", + "referenceNumber": 205, + "name": "BSD 3-Clause Flex variant", + "licenseId": "BSD-3-Clause-flex", + "seeAlso": [ + "https://github.com/westes/flex/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-HP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-HP.json", + "referenceNumber": 643, + "name": "Hewlett-Packard BSD variant license", + "licenseId": "BSD-3-Clause-HP", + "seeAlso": [ + "https://github.com/zdohnal/hplip/blob/master/COPYING#L939" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-LBNL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-LBNL.json", + "referenceNumber": 6, + "name": "Lawrence Berkeley National Labs BSD variant license", + "licenseId": "BSD-3-Clause-LBNL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/LBNLBSD" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-Modification.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Modification.json", + "referenceNumber": 497, + "name": "BSD 3-Clause Modification", + "licenseId": "BSD-3-Clause-Modification", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:BSD#Modification_Variant" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Military-License.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Military-License.json", + "referenceNumber": 498, + "name": "BSD 3-Clause No Military License", + "licenseId": "BSD-3-Clause-No-Military-License", + "seeAlso": [ + "https://gitlab.syncad.com/hive/dhive/-/blob/master/LICENSE", + "https://github.com/greymass/swift-eosio/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.json", + "referenceNumber": 108, + "name": "BSD 3-Clause No Nuclear License", + "licenseId": "BSD-3-Clause-No-Nuclear-License", + "seeAlso": [ + "http://download.oracle.com/otn-pub/java/licenses/bsd.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.json", + "referenceNumber": 239, + "name": "BSD 3-Clause No Nuclear License 2014", + "licenseId": "BSD-3-Clause-No-Nuclear-License-2014", + "seeAlso": [ + "https://java.net/projects/javaeetutorial/pages/BerkeleyLicense" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.json", + "referenceNumber": 606, + "name": "BSD 3-Clause No Nuclear Warranty", + "licenseId": "BSD-3-Clause-No-Nuclear-Warranty", + "seeAlso": [ + "https://jogamp.org/git/?p\u003dgluegen.git;a\u003dblob_plain;f\u003dLICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.json", + "referenceNumber": 637, + "name": "BSD 3-Clause Open MPI variant", + "licenseId": "BSD-3-Clause-Open-MPI", + "seeAlso": [ + "https://www.open-mpi.org/community/license.php", + "http://www.netlib.org/lapack/LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-3-Clause-Sun.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Sun.json", + "referenceNumber": 240, + "name": "BSD 3-Clause Sun Microsystems", + "licenseId": "BSD-3-Clause-Sun", + "seeAlso": [ + "https://github.com/xmlark/msv/blob/b9316e2f2270bc1606952ea4939ec87fbba157f3/xsdlib/src/main/java/com/sun/msv/datatype/regexp/InternalImpl.java" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-4-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause.json", + "referenceNumber": 227, + "name": "BSD 4-Clause \"Original\" or \"Old\" License", + "licenseId": "BSD-4-Clause", + "seeAlso": [ + "http://directory.fsf.org/wiki/License:BSD_4Clause" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BSD-4-Clause-Shortened.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause-Shortened.json", + "referenceNumber": 269, + "name": "BSD 4 Clause Shortened", + "licenseId": "BSD-4-Clause-Shortened", + "seeAlso": [ + "https://metadata.ftp-master.debian.org/changelogs//main/a/arpwatch/arpwatch_2.1a15-7_copyright" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-4-Clause-UC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause-UC.json", + "referenceNumber": 21, + "name": "BSD-4-Clause (University of California-Specific)", + "licenseId": "BSD-4-Clause-UC", + "seeAlso": [ + "http://www.freebsd.org/copyright/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-4.3RENO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-4.3RENO.json", + "referenceNumber": 434, + "name": "BSD 4.3 RENO License", + "licenseId": "BSD-4.3RENO", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dbinutils-gdb.git;a\u003dblob;f\u003dlibiberty/strcasecmp.c;h\u003d131d81c2ce7881fa48c363dc5bf5fb302c61ce0b;hb\u003dHEAD", + "https://git.openldap.org/openldap/openldap/-/blob/master/COPYRIGHT#L55-63" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-4.3TAHOE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-4.3TAHOE.json", + "referenceNumber": 685, + "name": "BSD 4.3 TAHOE License", + "licenseId": "BSD-4.3TAHOE", + "seeAlso": [ + "https://github.com/389ds/389-ds-base/blob/main/ldap/include/sysexits-compat.h#L15", + "https://git.savannah.gnu.org/cgit/indent.git/tree/doc/indent.texi?id\u003da74c6b4ee49397cf330b333da1042bffa60ed14f#n1788" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Advertising-Acknowledgement.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Advertising-Acknowledgement.json", + "referenceNumber": 345, + "name": "BSD Advertising Acknowledgement License", + "licenseId": "BSD-Advertising-Acknowledgement", + "seeAlso": [ + "https://github.com/python-excel/xlrd/blob/master/LICENSE#L33" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Attribution-HPND-disclaimer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Attribution-HPND-disclaimer.json", + "referenceNumber": 506, + "name": "BSD with Attribution and HPND disclaimer", + "licenseId": "BSD-Attribution-HPND-disclaimer", + "seeAlso": [ + "https://github.com/cyrusimap/cyrus-sasl/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Inferno-Nettverk.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Inferno-Nettverk.json", + "referenceNumber": 535, + "name": "BSD-Inferno-Nettverk", + "licenseId": "BSD-Inferno-Nettverk", + "seeAlso": [ + "https://www.inet.no/dante/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Protection.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Protection.json", + "referenceNumber": 163, + "name": "BSD Protection License", + "licenseId": "BSD-Protection", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/BSD_Protection_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Source-beginning-file.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Source-beginning-file.json", + "referenceNumber": 383, + "name": "BSD Source Code Attribution - beginning of file variant", + "licenseId": "BSD-Source-beginning-file", + "seeAlso": [ + "https://github.com/lattera/freebsd/blob/master/sys/cam/cam.c#L4" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Source-Code.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Source-Code.json", + "referenceNumber": 450, + "name": "BSD Source Code Attribution", + "licenseId": "BSD-Source-Code", + "seeAlso": [ + "https://github.com/robbiehanson/CocoaHTTPServer/blob/master/LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Systemics.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Systemics.json", + "referenceNumber": 602, + "name": "Systemics BSD variant license", + "licenseId": "BSD-Systemics", + "seeAlso": [ + "https://metacpan.org/release/DPARIS/Crypt-DES-2.07/source/COPYRIGHT" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSD-Systemics-W3Works.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSD-Systemics-W3Works.json", + "referenceNumber": 422, + "name": "Systemics W3Works BSD variant license", + "licenseId": "BSD-Systemics-W3Works", + "seeAlso": [ + "https://metacpan.org/release/DPARIS/Crypt-Blowfish-2.14/source/COPYRIGHT#L7" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/BSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BSL-1.0.json", + "referenceNumber": 130, + "name": "Boost Software License 1.0", + "licenseId": "BSL-1.0", + "seeAlso": [ + "http://www.boost.org/LICENSE_1_0.txt", + "https://opensource.org/licenses/BSL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/BUSL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/BUSL-1.1.json", + "referenceNumber": 234, + "name": "Business Source License 1.1", + "licenseId": "BUSL-1.1", + "seeAlso": [ + "https://mariadb.com/bsl11/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/bzip2-1.0.5.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/bzip2-1.0.5.json", + "referenceNumber": 412, + "name": "bzip2 and libbzip2 License v1.0.5", + "licenseId": "bzip2-1.0.5", + "seeAlso": [ + "https://sourceware.org/bzip2/1.0.5/bzip2-manual-1.0.5.html", + "http://bzip.org/1.0.5/bzip2-manual-1.0.5.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/bzip2-1.0.6.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/bzip2-1.0.6.json", + "referenceNumber": 243, + "name": "bzip2 and libbzip2 License v1.0.6", + "licenseId": "bzip2-1.0.6", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dbzip2.git;a\u003dblob;f\u003dLICENSE;hb\u003dbzip2-1.0.6", + "http://bzip.org/1.0.5/bzip2-manual-1.0.5.html", + "https://sourceware.org/cgit/valgrind/tree/mpi/libmpiwrap.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/C-UDA-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/C-UDA-1.0.json", + "referenceNumber": 660, + "name": "Computational Use of Data Agreement v1.0", + "licenseId": "C-UDA-1.0", + "seeAlso": [ + "https://github.com/microsoft/Computational-Use-of-Data-Agreement/blob/master/C-UDA-1.0.md", + "https://cdla.dev/computational-use-of-data-agreement-v1-0/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CAL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CAL-1.0.json", + "referenceNumber": 305, + "name": "Cryptographic Autonomy License 1.0", + "licenseId": "CAL-1.0", + "seeAlso": [ + "http://cryptographicautonomylicense.com/license-text.html", + "https://opensource.org/licenses/CAL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CAL-1.0-Combined-Work-Exception.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CAL-1.0-Combined-Work-Exception.json", + "referenceNumber": 569, + "name": "Cryptographic Autonomy License 1.0 (Combined Work Exception)", + "licenseId": "CAL-1.0-Combined-Work-Exception", + "seeAlso": [ + "http://cryptographicautonomylicense.com/license-text.html", + "https://opensource.org/licenses/CAL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Caldera.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Caldera.json", + "referenceNumber": 483, + "name": "Caldera License", + "licenseId": "Caldera", + "seeAlso": [ + "http://www.lemis.com/grog/UNIX/ancient-source-all.pdf" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Caldera-no-preamble.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Caldera-no-preamble.json", + "referenceNumber": 401, + "name": "Caldera License (without preamble)", + "licenseId": "Caldera-no-preamble", + "seeAlso": [ + "https://github.com/apache/apr/blob/trunk/LICENSE#L298C6-L298C29" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Catharon.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Catharon.json", + "referenceNumber": 581, + "name": "Catharon License", + "licenseId": "Catharon", + "seeAlso": [ + "https://github.com/scummvm/scummvm/blob/v2.8.0/LICENSES/CatharonLicense.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CATOSL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CATOSL-1.1.json", + "referenceNumber": 97, + "name": "Computer Associates Trusted Open Source License 1.1", + "licenseId": "CATOSL-1.1", + "seeAlso": [ + "https://opensource.org/licenses/CATOSL-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CC-BY-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-1.0.json", + "referenceNumber": 559, + "name": "Creative Commons Attribution 1.0 Generic", + "licenseId": "CC-BY-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by/1.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-2.0.json", + "referenceNumber": 441, + "name": "Creative Commons Attribution 2.0 Generic", + "licenseId": "CC-BY-2.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by/2.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-2.5.json", + "referenceNumber": 292, + "name": "Creative Commons Attribution 2.5 Generic", + "licenseId": "CC-BY-2.5", + "seeAlso": [ + "https://creativecommons.org/licenses/by/2.5/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-2.5-AU.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-2.5-AU.json", + "referenceNumber": 126, + "name": "Creative Commons Attribution 2.5 Australia", + "licenseId": "CC-BY-2.5-AU", + "seeAlso": [ + "https://creativecommons.org/licenses/by/2.5/au/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0.json", + "referenceNumber": 576, + "name": "Creative Commons Attribution 3.0 Unported", + "licenseId": "CC-BY-3.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0-AT.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-AT.json", + "referenceNumber": 107, + "name": "Creative Commons Attribution 3.0 Austria", + "licenseId": "CC-BY-3.0-AT", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/at/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0-AU.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-AU.json", + "referenceNumber": 648, + "name": "Creative Commons Attribution 3.0 Australia", + "licenseId": "CC-BY-3.0-AU", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/au/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-DE.json", + "referenceNumber": 458, + "name": "Creative Commons Attribution 3.0 Germany", + "licenseId": "CC-BY-3.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0-IGO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-IGO.json", + "referenceNumber": 410, + "name": "Creative Commons Attribution 3.0 IGO", + "licenseId": "CC-BY-3.0-IGO", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/igo/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0-NL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-NL.json", + "referenceNumber": 436, + "name": "Creative Commons Attribution 3.0 Netherlands", + "licenseId": "CC-BY-3.0-NL", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/nl/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-3.0-US.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-US.json", + "referenceNumber": 366, + "name": "Creative Commons Attribution 3.0 United States", + "licenseId": "CC-BY-3.0-US", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/us/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-4.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-4.0.json", + "referenceNumber": 66, + "name": "Creative Commons Attribution 4.0 International", + "licenseId": "CC-BY-4.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by/4.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-1.0.json", + "referenceNumber": 428, + "name": "Creative Commons Attribution Non Commercial 1.0 Generic", + "licenseId": "CC-BY-NC-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc/1.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-2.0.json", + "referenceNumber": 553, + "name": "Creative Commons Attribution Non Commercial 2.0 Generic", + "licenseId": "CC-BY-NC-2.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc/2.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-2.5.json", + "referenceNumber": 49, + "name": "Creative Commons Attribution Non Commercial 2.5 Generic", + "licenseId": "CC-BY-NC-2.5", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc/2.5/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-3.0.json", + "referenceNumber": 686, + "name": "Creative Commons Attribution Non Commercial 3.0 Unported", + "licenseId": "CC-BY-NC-3.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc/3.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-3.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-3.0-DE.json", + "referenceNumber": 324, + "name": "Creative Commons Attribution Non Commercial 3.0 Germany", + "licenseId": "CC-BY-NC-3.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc/3.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-4.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-4.0.json", + "referenceNumber": 560, + "name": "Creative Commons Attribution Non Commercial 4.0 International", + "licenseId": "CC-BY-NC-4.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc/4.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-1.0.json", + "referenceNumber": 442, + "name": "Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic", + "licenseId": "CC-BY-NC-ND-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd-nc/1.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-2.0.json", + "referenceNumber": 334, + "name": "Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic", + "licenseId": "CC-BY-NC-ND-2.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/2.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-2.5.json", + "referenceNumber": 215, + "name": "Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic", + "licenseId": "CC-BY-NC-ND-2.5", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/2.5/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-3.0.json", + "referenceNumber": 94, + "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported", + "licenseId": "CC-BY-NC-ND-3.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-DE.json", + "referenceNumber": 185, + "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany", + "licenseId": "CC-BY-NC-ND-3.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/3.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-IGO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-3.0-IGO.json", + "referenceNumber": 577, + "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO", + "licenseId": "CC-BY-NC-ND-3.0-IGO", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/3.0/igo/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-ND-4.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-4.0.json", + "referenceNumber": 53, + "name": "Creative Commons Attribution Non Commercial No Derivatives 4.0 International", + "licenseId": "CC-BY-NC-ND-4.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-1.0.json", + "referenceNumber": 510, + "name": "Creative Commons Attribution Non Commercial Share Alike 1.0 Generic", + "licenseId": "CC-BY-NC-SA-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/1.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0.json", + "referenceNumber": 199, + "name": "Creative Commons Attribution Non Commercial Share Alike 2.0 Generic", + "licenseId": "CC-BY-NC-SA-2.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/2.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-DE.json", + "referenceNumber": 356, + "name": "Creative Commons Attribution Non Commercial Share Alike 2.0 Germany", + "licenseId": "CC-BY-NC-SA-2.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/2.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-FR.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-FR.json", + "referenceNumber": 301, + "name": "Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France", + "licenseId": "CC-BY-NC-SA-2.0-FR", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/2.0/fr/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-UK.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-UK.json", + "referenceNumber": 671, + "name": "Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales", + "licenseId": "CC-BY-NC-SA-2.0-UK", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/2.0/uk/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.5.json", + "referenceNumber": 659, + "name": "Creative Commons Attribution Non Commercial Share Alike 2.5 Generic", + "licenseId": "CC-BY-NC-SA-2.5", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/2.5/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0.json", + "referenceNumber": 359, + "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 Unported", + "licenseId": "CC-BY-NC-SA-3.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-DE.json", + "referenceNumber": 279, + "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 Germany", + "licenseId": "CC-BY-NC-SA-3.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/3.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-IGO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0-IGO.json", + "referenceNumber": 636, + "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 IGO", + "licenseId": "CC-BY-NC-SA-3.0-IGO", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/3.0/igo/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-NC-SA-4.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-4.0.json", + "referenceNumber": 89, + "name": "Creative Commons Attribution Non Commercial Share Alike 4.0 International", + "licenseId": "CC-BY-NC-SA-4.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-ND-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-1.0.json", + "referenceNumber": 118, + "name": "Creative Commons Attribution No Derivatives 1.0 Generic", + "licenseId": "CC-BY-ND-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd/1.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-ND-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-2.0.json", + "referenceNumber": 587, + "name": "Creative Commons Attribution No Derivatives 2.0 Generic", + "licenseId": "CC-BY-ND-2.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd/2.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-ND-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-2.5.json", + "referenceNumber": 394, + "name": "Creative Commons Attribution No Derivatives 2.5 Generic", + "licenseId": "CC-BY-ND-2.5", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd/2.5/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-ND-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-3.0.json", + "referenceNumber": 457, + "name": "Creative Commons Attribution No Derivatives 3.0 Unported", + "licenseId": "CC-BY-ND-3.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd/3.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-ND-3.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-3.0-DE.json", + "referenceNumber": 610, + "name": "Creative Commons Attribution No Derivatives 3.0 Germany", + "licenseId": "CC-BY-ND-3.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd/3.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-ND-4.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-4.0.json", + "referenceNumber": 11, + "name": "Creative Commons Attribution No Derivatives 4.0 International", + "licenseId": "CC-BY-ND-4.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nd/4.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-1.0.json", + "referenceNumber": 384, + "name": "Creative Commons Attribution Share Alike 1.0 Generic", + "licenseId": "CC-BY-SA-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/1.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.0.json", + "referenceNumber": 260, + "name": "Creative Commons Attribution Share Alike 2.0 Generic", + "licenseId": "CC-BY-SA-2.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/2.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-2.0-UK.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.0-UK.json", + "referenceNumber": 197, + "name": "Creative Commons Attribution Share Alike 2.0 England and Wales", + "licenseId": "CC-BY-SA-2.0-UK", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/2.0/uk/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-2.1-JP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.1-JP.json", + "referenceNumber": 149, + "name": "Creative Commons Attribution Share Alike 2.1 Japan", + "licenseId": "CC-BY-SA-2.1-JP", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/2.1/jp/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.5.json", + "referenceNumber": 631, + "name": "Creative Commons Attribution Share Alike 2.5 Generic", + "licenseId": "CC-BY-SA-2.5", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/2.5/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0.json", + "referenceNumber": 79, + "name": "Creative Commons Attribution Share Alike 3.0 Unported", + "licenseId": "CC-BY-SA-3.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/3.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-AT.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-AT.json", + "referenceNumber": 493, + "name": "Creative Commons Attribution Share Alike 3.0 Austria", + "licenseId": "CC-BY-SA-3.0-AT", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/3.0/at/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.json", + "referenceNumber": 683, + "name": "Creative Commons Attribution Share Alike 3.0 Germany", + "licenseId": "CC-BY-SA-3.0-DE", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/3.0/de/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-IGO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-IGO.json", + "referenceNumber": 571, + "name": "Creative Commons Attribution-ShareAlike 3.0 IGO", + "licenseId": "CC-BY-SA-3.0-IGO", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/3.0/igo/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-BY-SA-4.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-4.0.json", + "referenceNumber": 256, + "name": "Creative Commons Attribution Share Alike 4.0 International", + "licenseId": "CC-BY-SA-4.0", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/4.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CC-PDDC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-PDDC.json", + "referenceNumber": 273, + "name": "Creative Commons Public Domain Dedication and Certification", + "licenseId": "CC-PDDC", + "seeAlso": [ + "https://creativecommons.org/licenses/publicdomain/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-PDM-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-PDM-1.0.json", + "referenceNumber": 547, + "name": "Creative Commons Public Domain Mark 1.0 Universal", + "licenseId": "CC-PDM-1.0", + "seeAlso": [ + "https://creativecommons.org/publicdomain/mark/1.0/", + "https://creativecommons.org/share-your-work/cclicenses/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC-SA-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC-SA-1.0.json", + "referenceNumber": 85, + "name": "Creative Commons Share Alike 1.0 Generic", + "licenseId": "CC-SA-1.0", + "seeAlso": [ + "https://creativecommons.org/licenses/sa/1.0/legalcode" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CC0-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CC0-1.0.json", + "referenceNumber": 369, + "name": "Creative Commons Zero v1.0 Universal", + "licenseId": "CC0-1.0", + "seeAlso": [ + "https://creativecommons.org/publicdomain/zero/1.0/legalcode" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CDDL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CDDL-1.0.json", + "referenceNumber": 407, + "name": "Common Development and Distribution License 1.0", + "licenseId": "CDDL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/cddl1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CDDL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CDDL-1.1.json", + "referenceNumber": 124, + "name": "Common Development and Distribution License 1.1", + "licenseId": "CDDL-1.1", + "seeAlso": [ + "http://glassfish.java.net/public/CDDL+GPL_1_1.html", + "https://javaee.github.io/glassfish/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CDL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CDL-1.0.json", + "referenceNumber": 385, + "name": "Common Documentation License 1.0", + "licenseId": "CDL-1.0", + "seeAlso": [ + "http://www.opensource.apple.com/cdl/", + "https://fedoraproject.org/wiki/Licensing/Common_Documentation_License", + "https://www.gnu.org/licenses/license-list.html#ACDL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CDLA-Permissive-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CDLA-Permissive-1.0.json", + "referenceNumber": 454, + "name": "Community Data License Agreement Permissive 1.0", + "licenseId": "CDLA-Permissive-1.0", + "seeAlso": [ + "https://cdla.io/permissive-1-0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CDLA-Permissive-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CDLA-Permissive-2.0.json", + "referenceNumber": 520, + "name": "Community Data License Agreement Permissive 2.0", + "licenseId": "CDLA-Permissive-2.0", + "seeAlso": [ + "https://cdla.dev/permissive-2-0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CDLA-Sharing-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CDLA-Sharing-1.0.json", + "referenceNumber": 548, + "name": "Community Data License Agreement Sharing 1.0", + "licenseId": "CDLA-Sharing-1.0", + "seeAlso": [ + "https://cdla.io/sharing-1-0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CECILL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CECILL-1.0.json", + "referenceNumber": 468, + "name": "CeCILL Free Software License Agreement v1.0", + "licenseId": "CECILL-1.0", + "seeAlso": [ + "http://www.cecill.info/licences/Licence_CeCILL_V1-fr.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CECILL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CECILL-1.1.json", + "referenceNumber": 100, + "name": "CeCILL Free Software License Agreement v1.1", + "licenseId": "CECILL-1.1", + "seeAlso": [ + "http://www.cecill.info/licences/Licence_CeCILL_V1.1-US.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CECILL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CECILL-2.0.json", + "referenceNumber": 370, + "name": "CeCILL Free Software License Agreement v2.0", + "licenseId": "CECILL-2.0", + "seeAlso": [ + "http://www.cecill.info/licences/Licence_CeCILL_V2-en.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CECILL-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CECILL-2.1.json", + "referenceNumber": 95, + "name": "CeCILL Free Software License Agreement v2.1", + "licenseId": "CECILL-2.1", + "seeAlso": [ + "http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CECILL-B.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CECILL-B.json", + "referenceNumber": 425, + "name": "CeCILL-B Free Software License Agreement", + "licenseId": "CECILL-B", + "seeAlso": [ + "http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CECILL-C.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CECILL-C.json", + "referenceNumber": 45, + "name": "CeCILL-C Free Software License Agreement", + "licenseId": "CECILL-C", + "seeAlso": [ + "http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CERN-OHL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CERN-OHL-1.1.json", + "referenceNumber": 398, + "name": "CERN Open Hardware Licence v1.1", + "licenseId": "CERN-OHL-1.1", + "seeAlso": [ + "https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.1" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CERN-OHL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CERN-OHL-1.2.json", + "referenceNumber": 318, + "name": "CERN Open Hardware Licence v1.2", + "licenseId": "CERN-OHL-1.2", + "seeAlso": [ + "https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.2" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CERN-OHL-P-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CERN-OHL-P-2.0.json", + "referenceNumber": 200, + "name": "CERN Open Hardware Licence Version 2 - Permissive", + "licenseId": "CERN-OHL-P-2.0", + "seeAlso": [ + "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CERN-OHL-S-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CERN-OHL-S-2.0.json", + "referenceNumber": 175, + "name": "CERN Open Hardware Licence Version 2 - Strongly Reciprocal", + "licenseId": "CERN-OHL-S-2.0", + "seeAlso": [ + "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CERN-OHL-W-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CERN-OHL-W-2.0.json", + "referenceNumber": 219, + "name": "CERN Open Hardware Licence Version 2 - Weakly Reciprocal", + "licenseId": "CERN-OHL-W-2.0", + "seeAlso": [ + "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CFITSIO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CFITSIO.json", + "referenceNumber": 207, + "name": "CFITSIO License", + "licenseId": "CFITSIO", + "seeAlso": [ + "https://heasarc.gsfc.nasa.gov/docs/software/fitsio/c/f_user/node9.html", + "https://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/doc/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/check-cvs.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/check-cvs.json", + "referenceNumber": 377, + "name": "check-cvs License", + "licenseId": "check-cvs", + "seeAlso": [ + "http://cvs.savannah.gnu.org/viewvc/cvs/ccvs/contrib/check_cvs.in?revision\u003d1.1.4.3\u0026view\u003dmarkup\u0026pathrev\u003dcvs1-11-23#l2" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/checkmk.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/checkmk.json", + "referenceNumber": 389, + "name": "Checkmk License", + "licenseId": "checkmk", + "seeAlso": [ + "https://github.com/libcheck/check/blob/master/checkmk/checkmk.in" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ClArtistic.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ClArtistic.json", + "referenceNumber": 690, + "name": "Clarified Artistic License", + "licenseId": "ClArtistic", + "seeAlso": [ + "http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/", + "http://www.ncftp.com/ncftp/doc/LICENSE.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Clips.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Clips.json", + "referenceNumber": 65, + "name": "Clips License", + "licenseId": "Clips", + "seeAlso": [ + "https://github.com/DrItanium/maya/blob/master/LICENSE.CLIPS" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CMU-Mach.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CMU-Mach.json", + "referenceNumber": 178, + "name": "CMU Mach License", + "licenseId": "CMU-Mach", + "seeAlso": [ + "https://www.cs.cmu.edu/~410/licenses.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CMU-Mach-nodoc.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CMU-Mach-nodoc.json", + "referenceNumber": 391, + "name": "CMU Mach - no notices-in-documentation variant", + "licenseId": "CMU-Mach-nodoc", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L718-L728", + "https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CNRI-Jython.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CNRI-Jython.json", + "referenceNumber": 138, + "name": "CNRI Jython License", + "licenseId": "CNRI-Jython", + "seeAlso": [ + "http://www.jython.org/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CNRI-Python.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CNRI-Python.json", + "referenceNumber": 352, + "name": "CNRI Python License", + "licenseId": "CNRI-Python", + "seeAlso": [ + "https://opensource.org/licenses/CNRI-Python" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/CNRI-Python-GPL-Compatible.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CNRI-Python-GPL-Compatible.json", + "referenceNumber": 673, + "name": "CNRI Python Open Source GPL Compatible License Agreement", + "licenseId": "CNRI-Python-GPL-Compatible", + "seeAlso": [ + "http://www.python.org/download/releases/1.6.1/download_win/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/COIL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/COIL-1.0.json", + "referenceNumber": 526, + "name": "Copyfree Open Innovation License", + "licenseId": "COIL-1.0", + "seeAlso": [ + "https://coil.apotheon.org/plaintext/01.0.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Community-Spec-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Community-Spec-1.0.json", + "referenceNumber": 695, + "name": "Community Specification License 1.0", + "licenseId": "Community-Spec-1.0", + "seeAlso": [ + "https://github.com/CommunitySpecification/1.0/blob/master/1._Community_Specification_License-v1.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Condor-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Condor-1.1.json", + "referenceNumber": 114, + "name": "Condor Public License v1.1", + "licenseId": "Condor-1.1", + "seeAlso": [ + "http://research.cs.wisc.edu/condor/license.html#condor", + "http://web.archive.org/web/20111123062036/http://research.cs.wisc.edu/condor/license.html#condor" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/copyleft-next-0.3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/copyleft-next-0.3.0.json", + "referenceNumber": 122, + "name": "copyleft-next 0.3.0", + "licenseId": "copyleft-next-0.3.0", + "seeAlso": [ + "https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/copyleft-next-0.3.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/copyleft-next-0.3.1.json", + "referenceNumber": 583, + "name": "copyleft-next 0.3.1", + "licenseId": "copyleft-next-0.3.1", + "seeAlso": [ + "https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.1" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Cornell-Lossless-JPEG.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Cornell-Lossless-JPEG.json", + "referenceNumber": 331, + "name": "Cornell Lossless JPEG License", + "licenseId": "Cornell-Lossless-JPEG", + "seeAlso": [ + "https://android.googlesource.com/platform/external/dng_sdk/+/refs/heads/master/source/dng_lossless_jpeg.cpp#16", + "https://www.mssl.ucl.ac.uk/~mcrw/src/20050920/proto.h", + "https://gitlab.freedesktop.org/libopenraw/libopenraw/blob/master/lib/ljpegdecompressor.cpp#L32" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CPAL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CPAL-1.0.json", + "referenceNumber": 147, + "name": "Common Public Attribution License 1.0", + "licenseId": "CPAL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/CPAL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CPL-1.0.json", + "referenceNumber": 367, + "name": "Common Public License 1.0", + "licenseId": "CPL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/CPL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/CPOL-1.02.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CPOL-1.02.json", + "referenceNumber": 250, + "name": "Code Project Open License 1.02", + "licenseId": "CPOL-1.02", + "seeAlso": [ + "http://www.codeproject.com/info/cpol10.aspx" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/Cronyx.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Cronyx.json", + "referenceNumber": 32, + "name": "Cronyx License", + "licenseId": "Cronyx", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/font/alias/-/blob/master/COPYING", + "https://gitlab.freedesktop.org/xorg/font/cronyx-cyrillic/-/blob/master/COPYING", + "https://gitlab.freedesktop.org/xorg/font/misc-cyrillic/-/blob/master/COPYING", + "https://gitlab.freedesktop.org/xorg/font/screen-cyrillic/-/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Crossword.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Crossword.json", + "referenceNumber": 347, + "name": "Crossword License", + "licenseId": "Crossword", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Crossword" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CryptoSwift.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CryptoSwift.json", + "referenceNumber": 323, + "name": "CryptoSwift License", + "licenseId": "CryptoSwift", + "seeAlso": [ + "https://github.com/krzyzanowskim/CryptoSwift/blob/main/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CrystalStacker.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CrystalStacker.json", + "referenceNumber": 449, + "name": "CrystalStacker License", + "licenseId": "CrystalStacker", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:CrystalStacker?rd\u003dLicensing/CrystalStacker" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/CUA-OPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/CUA-OPL-1.0.json", + "referenceNumber": 298, + "name": "CUA Office Public License v1.0", + "licenseId": "CUA-OPL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/CUA-OPL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Cube.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Cube.json", + "referenceNumber": 140, + "name": "Cube License", + "licenseId": "Cube", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Cube" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/curl.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/curl.json", + "referenceNumber": 160, + "name": "curl License", + "licenseId": "curl", + "seeAlso": [ + "https://github.com/bagder/curl/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/cve-tou.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/cve-tou.json", + "referenceNumber": 216, + "name": "Common Vulnerability Enumeration ToU License", + "licenseId": "cve-tou", + "seeAlso": [ + "https://www.cve.org/Legal/TermsOfUse" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/D-FSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/D-FSL-1.0.json", + "referenceNumber": 545, + "name": "Deutsche Freie Software Lizenz", + "licenseId": "D-FSL-1.0", + "seeAlso": [ + "http://www.dipp.nrw.de/d-fsl/lizenzen/", + "http://www.dipp.nrw.de/d-fsl/index_html/lizenzen/de/D-FSL-1_0_de.txt", + "http://www.dipp.nrw.de/d-fsl/index_html/lizenzen/en/D-FSL-1_0_en.txt", + "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl", + "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/deutsche-freie-software-lizenz", + "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/german-free-software-license", + "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/D-FSL-1_0_de.txt/at_download/file", + "https://www.hbz-nrw.de/produkte/open-access/lizenzen/dfsl/D-FSL-1_0_en.txt/at_download/file" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DEC-3-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DEC-3-Clause.json", + "referenceNumber": 164, + "name": "DEC 3-Clause License", + "licenseId": "DEC-3-Clause", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING?ref_type\u003dheads#L239" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/diffmark.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/diffmark.json", + "referenceNumber": 50, + "name": "diffmark license", + "licenseId": "diffmark", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/diffmark" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DL-DE-BY-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DL-DE-BY-2.0.json", + "referenceNumber": 530, + "name": "Data licence Germany – attribution – version 2.0", + "licenseId": "DL-DE-BY-2.0", + "seeAlso": [ + "https://www.govdata.de/dl-de/by-2-0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DL-DE-ZERO-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DL-DE-ZERO-2.0.json", + "referenceNumber": 139, + "name": "Data licence Germany – zero – version 2.0", + "licenseId": "DL-DE-ZERO-2.0", + "seeAlso": [ + "https://www.govdata.de/dl-de/zero-2-0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DOC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DOC.json", + "referenceNumber": 31, + "name": "DOC License", + "licenseId": "DOC", + "seeAlso": [ + "http://www.cs.wustl.edu/~schmidt/ACE-copying.html", + "https://www.dre.vanderbilt.edu/~schmidt/ACE-copying.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DocBook-DTD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DocBook-DTD.json", + "referenceNumber": 603, + "name": "DocBook DTD License", + "licenseId": "DocBook-DTD", + "seeAlso": [ + "http://www.docbook.org/xml/simple/1.1/docbook-simple-1.1.zip" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DocBook-Schema.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DocBook-Schema.json", + "referenceNumber": 184, + "name": "DocBook Schema License", + "licenseId": "DocBook-Schema", + "seeAlso": [ + "https://github.com/docbook/xslt10-stylesheets/blob/efd62655c11cc8773708df7a843613fa1e932bf8/xsl/assembly/schema/docbook51b7.rnc" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DocBook-Stylesheet.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DocBook-Stylesheet.json", + "referenceNumber": 494, + "name": "DocBook Stylesheet License", + "licenseId": "DocBook-Stylesheet", + "seeAlso": [ + "http://www.docbook.org/xml/5.0/docbook-5.0.zip" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DocBook-XML.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DocBook-XML.json", + "referenceNumber": 672, + "name": "DocBook XML License", + "licenseId": "DocBook-XML", + "seeAlso": [ + "https://github.com/docbook/xslt10-stylesheets/blob/efd62655c11cc8773708df7a843613fa1e932bf8/xsl/COPYING#L27" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Dotseqn.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Dotseqn.json", + "referenceNumber": 257, + "name": "Dotseqn License", + "licenseId": "Dotseqn", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Dotseqn" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DRL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DRL-1.0.json", + "referenceNumber": 446, + "name": "Detection Rule License 1.0", + "licenseId": "DRL-1.0", + "seeAlso": [ + "https://github.com/Neo23x0/sigma/blob/master/LICENSE.Detection.Rules.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DRL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DRL-1.1.json", + "referenceNumber": 135, + "name": "Detection Rule License 1.1", + "licenseId": "DRL-1.1", + "seeAlso": [ + "https://github.com/SigmaHQ/Detection-Rule-License/blob/6ec7fbde6101d101b5b5d1fcb8f9b69fbc76c04a/LICENSE.Detection.Rules.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/DSDP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/DSDP.json", + "referenceNumber": 336, + "name": "DSDP License", + "licenseId": "DSDP", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/DSDP" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/dtoa.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/dtoa.json", + "referenceNumber": 578, + "name": "David M. Gay dtoa License", + "licenseId": "dtoa", + "seeAlso": [ + "https://github.com/SWI-Prolog/swipl-devel/blob/master/src/os/dtoa.c", + "https://sourceware.org/git/?p\u003dnewlib-cygwin.git;a\u003dblob;f\u003dnewlib/libc/stdlib/mprec.h;hb\u003dHEAD" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/dvipdfm.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/dvipdfm.json", + "referenceNumber": 319, + "name": "dvipdfm License", + "licenseId": "dvipdfm", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/dvipdfm" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ECL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ECL-1.0.json", + "referenceNumber": 641, + "name": "Educational Community License v1.0", + "licenseId": "ECL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/ECL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/ECL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ECL-2.0.json", + "referenceNumber": 338, + "name": "Educational Community License v2.0", + "licenseId": "ECL-2.0", + "seeAlso": [ + "https://opensource.org/licenses/ECL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/eCos-2.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/eCos-2.0.json", + "referenceNumber": 647, + "name": "eCos license version 2.0", + "licenseId": "eCos-2.0", + "seeAlso": [ + "https://www.gnu.org/licenses/ecos-license.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/EFL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EFL-1.0.json", + "referenceNumber": 145, + "name": "Eiffel Forum License v1.0", + "licenseId": "EFL-1.0", + "seeAlso": [ + "http://www.eiffel-nice.org/license/forum.txt", + "https://opensource.org/licenses/EFL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/EFL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EFL-2.0.json", + "referenceNumber": 604, + "name": "Eiffel Forum License v2.0", + "licenseId": "EFL-2.0", + "seeAlso": [ + "http://www.eiffel-nice.org/license/eiffel-forum-license-2.html", + "https://opensource.org/licenses/EFL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/eGenix.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/eGenix.json", + "referenceNumber": 613, + "name": "eGenix.com Public License 1.1.0", + "licenseId": "eGenix", + "seeAlso": [ + "http://www.egenix.com/products/eGenix.com-Public-License-1.1.0.pdf", + "https://fedoraproject.org/wiki/Licensing/eGenix.com_Public_License_1.1.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Elastic-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Elastic-2.0.json", + "referenceNumber": 396, + "name": "Elastic License 2.0", + "licenseId": "Elastic-2.0", + "seeAlso": [ + "https://www.elastic.co/licensing/elastic-license", + "https://github.com/elastic/elasticsearch/blob/master/licenses/ELASTIC-LICENSE-2.0.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Entessa.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Entessa.json", + "referenceNumber": 40, + "name": "Entessa Public License v1.0", + "licenseId": "Entessa", + "seeAlso": [ + "https://opensource.org/licenses/Entessa" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/EPICS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EPICS.json", + "referenceNumber": 158, + "name": "EPICS Open License", + "licenseId": "EPICS", + "seeAlso": [ + "https://epics.anl.gov/license/open.php" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/EPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EPL-1.0.json", + "referenceNumber": 558, + "name": "Eclipse Public License 1.0", + "licenseId": "EPL-1.0", + "seeAlso": [ + "http://www.eclipse.org/legal/epl-v10.html", + "https://opensource.org/licenses/EPL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/EPL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EPL-2.0.json", + "referenceNumber": 326, + "name": "Eclipse Public License 2.0", + "licenseId": "EPL-2.0", + "seeAlso": [ + "https://www.eclipse.org/legal/epl-2.0", + "https://www.opensource.org/licenses/EPL-2.0", + "https://www.eclipse.org/legal/epl-v20.html", + "https://projects.eclipse.org/license/epl-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ErlPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ErlPL-1.1.json", + "referenceNumber": 541, + "name": "Erlang Public License v1.1", + "licenseId": "ErlPL-1.1", + "seeAlso": [ + "http://www.erlang.org/EPLICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/etalab-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/etalab-2.0.json", + "referenceNumber": 363, + "name": "Etalab Open License 2.0", + "licenseId": "etalab-2.0", + "seeAlso": [ + "https://github.com/DISIC/politique-de-contribution-open-source/blob/master/LICENSE.pdf", + "https://raw.githubusercontent.com/DISIC/politique-de-contribution-open-source/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/EUDatagrid.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EUDatagrid.json", + "referenceNumber": 262, + "name": "EU DataGrid Software License", + "licenseId": "EUDatagrid", + "seeAlso": [ + "http://eu-datagrid.web.cern.ch/eu-datagrid/license.html", + "https://opensource.org/licenses/EUDatagrid" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/EUPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EUPL-1.0.json", + "referenceNumber": 405, + "name": "European Union Public License 1.0", + "licenseId": "EUPL-1.0", + "seeAlso": [ + "http://ec.europa.eu/idabc/en/document/7330.html", + "http://ec.europa.eu/idabc/servlets/Doc027f.pdf?id\u003d31096" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/EUPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EUPL-1.1.json", + "referenceNumber": 393, + "name": "European Union Public License 1.1", + "licenseId": "EUPL-1.1", + "seeAlso": [ + "https://joinup.ec.europa.eu/software/page/eupl/licence-eupl", + "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/eupl1.1.-licence-en_0.pdf", + "https://opensource.org/licenses/EUPL-1.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/EUPL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/EUPL-1.2.json", + "referenceNumber": 596, + "name": "European Union Public License 1.2", + "licenseId": "EUPL-1.2", + "seeAlso": [ + "https://joinup.ec.europa.eu/page/eupl-text-11-12", + "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/eupl_v1.2_en.pdf", + "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/2020-03/EUPL-1.2%20EN.txt", + "https://joinup.ec.europa.eu/sites/default/files/inline-files/EUPL%20v1_2%20EN(1).txt", + "http://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri\u003dCELEX:32017D0863", + "https://opensource.org/licenses/EUPL-1.2" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Eurosym.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Eurosym.json", + "referenceNumber": 299, + "name": "Eurosym License", + "licenseId": "Eurosym", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Eurosym" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Fair.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Fair.json", + "referenceNumber": 190, + "name": "Fair License", + "licenseId": "Fair", + "seeAlso": [ + "https://web.archive.org/web/20150926120323/http://fairlicense.org/", + "https://opensource.org/licenses/Fair" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/FBM.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FBM.json", + "referenceNumber": 476, + "name": "Fuzzy Bitmap License", + "licenseId": "FBM", + "seeAlso": [ + "https://github.com/SWI-Prolog/packages-xpce/blob/161a40cd82004f731ba48024f9d30af388a7edf5/src/img/gifwrite.c#L21-L26" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FDK-AAC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FDK-AAC.json", + "referenceNumber": 44, + "name": "Fraunhofer FDK AAC Codec Library", + "licenseId": "FDK-AAC", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/FDK-AAC", + "https://directory.fsf.org/wiki/License:Fdk" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Ferguson-Twofish.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Ferguson-Twofish.json", + "referenceNumber": 662, + "name": "Ferguson Twofish License", + "licenseId": "Ferguson-Twofish", + "seeAlso": [ + "https://github.com/wernerd/ZRTPCPP/blob/6b3cd8e6783642292bad0c21e3e5e5ce45ff3e03/cryptcommon/twofish.c#L113C3-L127" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Frameworx-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Frameworx-1.0.json", + "referenceNumber": 376, + "name": "Frameworx Open License 1.0", + "licenseId": "Frameworx-1.0", + "seeAlso": [ + "https://opensource.org/licenses/Frameworx-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/FreeBSD-DOC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FreeBSD-DOC.json", + "referenceNumber": 645, + "name": "FreeBSD Documentation License", + "licenseId": "FreeBSD-DOC", + "seeAlso": [ + "https://www.freebsd.org/copyright/freebsd-doc-license/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FreeImage.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FreeImage.json", + "referenceNumber": 264, + "name": "FreeImage Public License v1.0", + "licenseId": "FreeImage", + "seeAlso": [ + "http://freeimage.sourceforge.net/freeimage-license.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FSFAP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSFAP.json", + "referenceNumber": 561, + "name": "FSF All Permissive License", + "licenseId": "FSFAP", + "seeAlso": [ + "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/FSFAP-no-warranty-disclaimer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSFAP-no-warranty-disclaimer.json", + "referenceNumber": 629, + "name": "FSF All Permissive License (without Warranty)", + "licenseId": "FSFAP-no-warranty-disclaimer", + "seeAlso": [ + "https://git.savannah.gnu.org/cgit/wget.git/tree/util/trunc.c?h\u003dv1.21.3\u0026id\u003d40747a11e44ced5a8ac628a41f879ced3e2ebce9#n6" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FSFUL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSFUL.json", + "referenceNumber": 59, + "name": "FSF Unlimited License", + "licenseId": "FSFUL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FSFULLR.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSFULLR.json", + "referenceNumber": 322, + "name": "FSF Unlimited License (with License Retention)", + "licenseId": "FSFULLR", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License#License_Retention_Variant" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FSFULLRSD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSFULLRSD.json", + "referenceNumber": 300, + "name": "FSF Unlimited License (with License Retention and Short Disclaimer)", + "licenseId": "FSFULLRSD", + "seeAlso": [ + "https://git.savannah.gnu.org/cgit/gnulib.git/tree/modules/COPYING?id\u003d7b08932179d0d6b017f7df01a2ddf6e096b038e3" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FSFULLRWD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSFULLRWD.json", + "referenceNumber": 245, + "name": "FSF Unlimited License (With License Retention and Warranty Disclaimer)", + "licenseId": "FSFULLRWD", + "seeAlso": [ + "https://lists.gnu.org/archive/html/autoconf/2012-04/msg00061.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FSL-1.1-ALv2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSL-1.1-ALv2.json", + "referenceNumber": 585, + "name": "Functional Source License, Version 1.1, ALv2 Future License", + "licenseId": "FSL-1.1-ALv2", + "seeAlso": [ + "https://fsl.software/FSL-1.1-ALv2.template.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FSL-1.1-MIT.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FSL-1.1-MIT.json", + "referenceNumber": 639, + "name": "Functional Source License, Version 1.1, MIT Future License", + "licenseId": "FSL-1.1-MIT", + "seeAlso": [ + "https://fsl.software/FSL-1.1-MIT.template.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/FTL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/FTL.json", + "referenceNumber": 417, + "name": "Freetype Project License", + "licenseId": "FTL", + "seeAlso": [ + "http://freetype.fis.uniroma2.it/FTL.TXT", + "http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT", + "http://gitlab.freedesktop.org/freetype/freetype/-/raw/master/docs/FTL.TXT" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Furuseth.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Furuseth.json", + "referenceNumber": 72, + "name": "Furuseth License", + "licenseId": "Furuseth", + "seeAlso": [ + "https://git.openldap.org/openldap/openldap/-/blob/master/COPYRIGHT?ref_type\u003dheads#L39-51" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/fwlw.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/fwlw.json", + "referenceNumber": 529, + "name": "fwlw License", + "licenseId": "fwlw", + "seeAlso": [ + "https://mirrors.nic.cz/tex-archive/macros/latex/contrib/fwlw/README" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Game-Programming-Gems.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Game-Programming-Gems.json", + "referenceNumber": 246, + "name": "Game Programming Gems License", + "licenseId": "Game-Programming-Gems", + "seeAlso": [ + "https://github.com/OGRECave/ogre/blob/master/OgreMain/include/OgreSingleton.h#L28C3-L35C46" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GCR-docs.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GCR-docs.json", + "referenceNumber": 270, + "name": "Gnome GCR Documentation License", + "licenseId": "GCR-docs", + "seeAlso": [ + "https://github.com/GNOME/gcr/blob/master/docs/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GD.json", + "referenceNumber": 549, + "name": "GD License", + "licenseId": "GD", + "seeAlso": [ + "https://libgd.github.io/manuals/2.3.0/files/license-txt.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/generic-xts.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/generic-xts.json", + "referenceNumber": 132, + "name": "Generic XTS License", + "licenseId": "generic-xts", + "seeAlso": [ + "https://github.com/mhogomchungu/zuluCrypt/blob/master/external_libraries/tcplay/generic_xts.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1.json", + "referenceNumber": 533, + "name": "GNU Free Documentation License v1.1", + "licenseId": "GFDL-1.1", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-invariants-only.json", + "referenceNumber": 271, + "name": "GNU Free Documentation License v1.1 only - invariants", + "licenseId": "GFDL-1.1-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-invariants-or-later.json", + "referenceNumber": 538, + "name": "GNU Free Documentation License v1.1 or later - invariants", + "licenseId": "GFDL-1.1-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1-no-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-no-invariants-only.json", + "referenceNumber": 609, + "name": "GNU Free Documentation License v1.1 only - no invariants", + "licenseId": "GFDL-1.1-no-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1-no-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-no-invariants-or-later.json", + "referenceNumber": 689, + "name": "GNU Free Documentation License v1.1 or later - no invariants", + "licenseId": "GFDL-1.1-no-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-only.json", + "referenceNumber": 456, + "name": "GNU Free Documentation License v1.1 only", + "licenseId": "GFDL-1.1-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.1-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-or-later.json", + "referenceNumber": 67, + "name": "GNU Free Documentation License v1.1 or later", + "licenseId": "GFDL-1.1-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2.json", + "referenceNumber": 350, + "name": "GNU Free Documentation License v1.2", + "licenseId": "GFDL-1.2", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-invariants-only.json", + "referenceNumber": 192, + "name": "GNU Free Documentation License v1.2 only - invariants", + "licenseId": "GFDL-1.2-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-invariants-or-later.json", + "referenceNumber": 261, + "name": "GNU Free Documentation License v1.2 or later - invariants", + "licenseId": "GFDL-1.2-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2-no-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-no-invariants-only.json", + "referenceNumber": 101, + "name": "GNU Free Documentation License v1.2 only - no invariants", + "licenseId": "GFDL-1.2-no-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.json", + "referenceNumber": 244, + "name": "GNU Free Documentation License v1.2 or later - no invariants", + "licenseId": "GFDL-1.2-no-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-only.json", + "referenceNumber": 595, + "name": "GNU Free Documentation License v1.2 only", + "licenseId": "GFDL-1.2-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.2-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-or-later.json", + "referenceNumber": 488, + "name": "GNU Free Documentation License v1.2 or later", + "licenseId": "GFDL-1.2-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3.json", + "referenceNumber": 652, + "name": "GNU Free Documentation License v1.3", + "licenseId": "GFDL-1.3", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-invariants-only.json", + "referenceNumber": 69, + "name": "GNU Free Documentation License v1.3 only - invariants", + "licenseId": "GFDL-1.3-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-invariants-or-later.json", + "referenceNumber": 550, + "name": "GNU Free Documentation License v1.3 or later - invariants", + "licenseId": "GFDL-1.3-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3-no-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-no-invariants-only.json", + "referenceNumber": 516, + "name": "GNU Free Documentation License v1.3 only - no invariants", + "licenseId": "GFDL-1.3-no-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.json", + "referenceNumber": 73, + "name": "GNU Free Documentation License v1.3 or later - no invariants", + "licenseId": "GFDL-1.3-no-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-only.json", + "referenceNumber": 223, + "name": "GNU Free Documentation License v1.3 only", + "licenseId": "GFDL-1.3-only", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GFDL-1.3-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-or-later.json", + "referenceNumber": 633, + "name": "GNU Free Documentation License v1.3 or later", + "licenseId": "GFDL-1.3-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Giftware.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Giftware.json", + "referenceNumber": 519, + "name": "Giftware License", + "licenseId": "Giftware", + "seeAlso": [ + "http://liballeg.org/license.html#allegro-4-the-giftware-license" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GL2PS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GL2PS.json", + "referenceNumber": 360, + "name": "GL2PS License", + "licenseId": "GL2PS", + "seeAlso": [ + "http://www.geuz.org/gl2ps/COPYING.GL2PS" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Glide.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Glide.json", + "referenceNumber": 71, + "name": "3dfx Glide License", + "licenseId": "Glide", + "seeAlso": [ + "http://www.users.on.net/~triforce/glidexp/COPYING.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Glulxe.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Glulxe.json", + "referenceNumber": 635, + "name": "Glulxe License", + "licenseId": "Glulxe", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Glulxe" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GLWTPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GLWTPL.json", + "referenceNumber": 27, + "name": "Good Luck With That Public License", + "licenseId": "GLWTPL", + "seeAlso": [ + "https://github.com/me-shaon/GLWTPL/commit/da5f6bc734095efbacb442c0b31e33a65b9d6e85" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/gnuplot.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/gnuplot.json", + "referenceNumber": 247, + "name": "gnuplot License", + "licenseId": "gnuplot", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Gnuplot" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-1.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-1.0.json", + "referenceNumber": 10, + "name": "GNU General Public License v1.0 only", + "licenseId": "GPL-1.0", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-1.0+.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-1.0+.json", + "referenceNumber": 177, + "name": "GNU General Public License v1.0 or later", + "licenseId": "GPL-1.0+", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-1.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GPL-1.0-only.json", + "referenceNumber": 152, + "name": "GNU General Public License v1.0 only", + "licenseId": "GPL-1.0-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-1.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GPL-1.0-or-later.json", + "referenceNumber": 68, + "name": "GNU General Public License v1.0 or later", + "licenseId": "GPL-1.0-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0.json", + "referenceNumber": 688, + "name": "GNU General Public License v2.0 only", + "licenseId": "GPL-2.0", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "https://opensource.org/licenses/GPL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0+.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0+.json", + "referenceNumber": 144, + "name": "GNU General Public License v2.0 or later", + "licenseId": "GPL-2.0+", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "https://opensource.org/licenses/GPL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-only.json", + "referenceNumber": 461, + "name": "GNU General Public License v2.0 only", + "licenseId": "GPL-2.0-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt", + "https://opensource.org/licenses/GPL-2.0", + "https://github.com/openjdk/jdk/blob/6162e2c5213c5dd7c1127fd9616b543efa898962/LICENSE" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-or-later.json", + "referenceNumber": 99, + "name": "GNU General Public License v2.0 or later", + "licenseId": "GPL-2.0-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "https://opensource.org/licenses/GPL-2.0", + "https://github.com/openjdk/jdk/blob/6162e2c5213c5dd7c1127fd9616b543efa898962/LICENSE" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.json", + "referenceNumber": 618, + "name": "GNU General Public License v2.0 w/Autoconf exception", + "licenseId": "GPL-2.0-with-autoconf-exception", + "seeAlso": [ + "http://ac-archive.sourceforge.net/doc/copyright.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-with-bison-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-bison-exception.json", + "referenceNumber": 358, + "name": "GNU General Public License v2.0 w/Bison exception", + "licenseId": "GPL-2.0-with-bison-exception", + "seeAlso": [ + "http://git.savannah.gnu.org/cgit/bison.git/tree/data/yacc.c?id\u003d193d7c7054ba7197b0789e14965b739162319b5e#n141" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-with-classpath-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-classpath-exception.json", + "referenceNumber": 171, + "name": "GNU General Public License v2.0 w/Classpath exception", + "licenseId": "GPL-2.0-with-classpath-exception", + "seeAlso": [ + "https://www.gnu.org/software/classpath/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-with-font-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-font-exception.json", + "referenceNumber": 151, + "name": "GNU General Public License v2.0 w/Font exception", + "licenseId": "GPL-2.0-with-font-exception", + "seeAlso": [ + "https://www.gnu.org/licenses/gpl-faq.html#FontException" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-2.0-with-GCC-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-GCC-exception.json", + "referenceNumber": 525, + "name": "GNU General Public License v2.0 w/GCC Runtime Library exception", + "licenseId": "GPL-2.0-with-GCC-exception", + "seeAlso": [ + "https://gcc.gnu.org/git/?p\u003dgcc.git;a\u003dblob;f\u003dgcc/libgcc1.c;h\u003d762f5143fc6eed57b6797c82710f3538aa52b40b;hb\u003dcb143a3ce4fb417c68f5fa2691a1b1b1053dfba9#l10" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-3.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-3.0.json", + "referenceNumber": 503, + "name": "GNU General Public License v3.0 only", + "licenseId": "GPL-3.0", + "seeAlso": [ + "https://www.gnu.org/licenses/gpl-3.0-standalone.html", + "https://opensource.org/licenses/GPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-3.0+.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-3.0+.json", + "referenceNumber": 131, + "name": "GNU General Public License v3.0 or later", + "licenseId": "GPL-3.0+", + "seeAlso": [ + "https://www.gnu.org/licenses/gpl-3.0-standalone.html", + "https://opensource.org/licenses/GPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-3.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GPL-3.0-only.json", + "referenceNumber": 632, + "name": "GNU General Public License v3.0 only", + "licenseId": "GPL-3.0-only", + "seeAlso": [ + "https://www.gnu.org/licenses/gpl-3.0-standalone.html", + "https://opensource.org/licenses/GPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-3.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/GPL-3.0-or-later.json", + "referenceNumber": 467, + "name": "GNU General Public License v3.0 or later", + "licenseId": "GPL-3.0-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/gpl-3.0-standalone.html", + "https://opensource.org/licenses/GPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/GPL-3.0-with-autoconf-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-3.0-with-autoconf-exception.json", + "referenceNumber": 650, + "name": "GNU General Public License v3.0 w/Autoconf exception", + "licenseId": "GPL-3.0-with-autoconf-exception", + "seeAlso": [ + "https://www.gnu.org/licenses/autoconf-exception-3.0.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.json", + "referenceNumber": 601, + "name": "GNU General Public License v3.0 w/GCC Runtime Library exception", + "licenseId": "GPL-3.0-with-GCC-exception", + "seeAlso": [ + "https://www.gnu.org/licenses/gcc-exception-3.1.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Graphics-Gems.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Graphics-Gems.json", + "referenceNumber": 255, + "name": "Graphics Gems License", + "licenseId": "Graphics-Gems", + "seeAlso": [ + "https://github.com/erich666/GraphicsGems/blob/master/LICENSE.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/gSOAP-1.3b.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/gSOAP-1.3b.json", + "referenceNumber": 668, + "name": "gSOAP Public License v1.3b", + "licenseId": "gSOAP-1.3b", + "seeAlso": [ + "http://www.cs.fsu.edu/~engelen/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/gtkbook.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/gtkbook.json", + "referenceNumber": 465, + "name": "gtkbook License", + "licenseId": "gtkbook", + "seeAlso": [ + "https://github.com/slogan621/gtkbook", + "https://github.com/oetiker/rrdtool-1.x/blob/master/src/plbasename.c#L8-L11" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Gutmann.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Gutmann.json", + "referenceNumber": 524, + "name": "Gutmann License", + "licenseId": "Gutmann", + "seeAlso": [ + "https://www.cs.auckland.ac.nz/~pgut001/dumpasn1.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HaskellReport.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HaskellReport.json", + "referenceNumber": 605, + "name": "Haskell Language Report License", + "licenseId": "HaskellReport", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Haskell_Language_Report_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HDF5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HDF5.json", + "referenceNumber": 19, + "name": "HDF5 License", + "licenseId": "HDF5", + "seeAlso": [ + "https://github.com/HDFGroup/hdf5/?tab\u003dLicense-1-ov-file#readme" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/hdparm.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/hdparm.json", + "referenceNumber": 283, + "name": "hdparm License", + "licenseId": "hdparm", + "seeAlso": [ + "https://github.com/Distrotech/hdparm/blob/4517550db29a91420fb2b020349523b1b4512df2/LICENSE.TXT" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HIDAPI.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HIDAPI.json", + "referenceNumber": 310, + "name": "HIDAPI License", + "licenseId": "HIDAPI", + "seeAlso": [ + "https://github.com/signal11/hidapi/blob/master/LICENSE-orig.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Hippocratic-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Hippocratic-2.1.json", + "referenceNumber": 87, + "name": "Hippocratic License 2.1", + "licenseId": "Hippocratic-2.1", + "seeAlso": [ + "https://firstdonoharm.dev/version/2/1/license.html", + "https://github.com/EthicalSource/hippocratic-license/blob/58c0e646d64ff6fbee275bfe2b9492f914e3ab2a/LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HP-1986.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HP-1986.json", + "referenceNumber": 282, + "name": "Hewlett-Packard 1986 License", + "licenseId": "HP-1986", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dnewlib-cygwin.git;a\u003dblob;f\u003dnewlib/libc/machine/hppa/memchr.S;h\u003d1cca3e5e8867aa4bffef1f75a5c1bba25c0c441e;hb\u003dHEAD#l2" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HP-1989.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HP-1989.json", + "referenceNumber": 8, + "name": "Hewlett-Packard 1989 License", + "licenseId": "HP-1989", + "seeAlso": [ + "https://github.com/bleargh45/Data-UUID/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND.json", + "referenceNumber": 209, + "name": "Historical Permission Notice and Disclaimer", + "licenseId": "HPND", + "seeAlso": [ + "https://opensource.org/licenses/HPND", + "http://lists.opensource.org/pipermail/license-discuss_lists.opensource.org/2002-November/006304.html" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/HPND-DEC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-DEC.json", + "referenceNumber": 112, + "name": "Historical Permission Notice and Disclaimer - DEC variant", + "licenseId": "HPND-DEC", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/app/xkbcomp/-/blob/master/COPYING?ref_type\u003dheads#L69" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-doc.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-doc.json", + "referenceNumber": 600, + "name": "Historical Permission Notice and Disclaimer - documentation variant", + "licenseId": "HPND-doc", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/lib/libxext/-/blob/master/COPYING?ref_type\u003dheads#L185-197", + "https://gitlab.freedesktop.org/xorg/lib/libxtst/-/blob/master/COPYING?ref_type\u003dheads#L70-77" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-doc-sell.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-doc-sell.json", + "referenceNumber": 306, + "name": "Historical Permission Notice and Disclaimer - documentation sell variant", + "licenseId": "HPND-doc-sell", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/lib/libxtst/-/blob/master/COPYING?ref_type\u003dheads#L108-117", + "https://gitlab.freedesktop.org/xorg/lib/libxext/-/blob/master/COPYING?ref_type\u003dheads#L153-162" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-export-US.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-export-US.json", + "referenceNumber": 459, + "name": "HPND with US Government export control warning", + "licenseId": "HPND-export-US", + "seeAlso": [ + "https://www.kermitproject.org/ck90.html#source" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-export-US-acknowledgement.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-export-US-acknowledgement.json", + "referenceNumber": 487, + "name": "HPND with US Government export control warning and acknowledgment", + "licenseId": "HPND-export-US-acknowledgement", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L831-L852", + "https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-export-US-modify.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-export-US-modify.json", + "referenceNumber": 172, + "name": "HPND with US Government export control warning and modification rqmt", + "licenseId": "HPND-export-US-modify", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L1157-L1182", + "https://github.com/pythongssapi/k5test/blob/v0.10.3/K5TEST-LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-export2-US.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-export2-US.json", + "referenceNumber": 1, + "name": "HPND with US Government export control and 2 disclaimers", + "licenseId": "HPND-export2-US", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L111-L133", + "https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-Fenneberg-Livingston.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-Fenneberg-Livingston.json", + "referenceNumber": 445, + "name": "Historical Permission Notice and Disclaimer - Fenneberg-Livingston variant", + "licenseId": "HPND-Fenneberg-Livingston", + "seeAlso": [ + "https://github.com/FreeRADIUS/freeradius-client/blob/master/COPYRIGHT#L32", + "https://github.com/radcli/radcli/blob/master/COPYRIGHT#L34" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-INRIA-IMAG.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-INRIA-IMAG.json", + "referenceNumber": 233, + "name": "Historical Permission Notice and Disclaimer - INRIA-IMAG variant", + "licenseId": "HPND-INRIA-IMAG", + "seeAlso": [ + "https://github.com/ppp-project/ppp/blob/master/pppd/ipv6cp.c#L75-L83" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-Intel.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-Intel.json", + "referenceNumber": 228, + "name": "Historical Permission Notice and Disclaimer - Intel variant", + "licenseId": "HPND-Intel", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dnewlib-cygwin.git;a\u003dblob;f\u003dnewlib/libc/machine/i960/memcpy.S;hb\u003dHEAD" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-Kevlin-Henney.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-Kevlin-Henney.json", + "referenceNumber": 528, + "name": "Historical Permission Notice and Disclaimer - Kevlin Henney variant", + "licenseId": "HPND-Kevlin-Henney", + "seeAlso": [ + "https://github.com/mruby/mruby/blob/83d12f8d52522cdb7c8cc46fad34821359f453e6/mrbgems/mruby-dir/src/Win/dirent.c#L127-L140" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-Markus-Kuhn.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-Markus-Kuhn.json", + "referenceNumber": 623, + "name": "Historical Permission Notice and Disclaimer - Markus Kuhn variant", + "licenseId": "HPND-Markus-Kuhn", + "seeAlso": [ + "https://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c", + "https://sourceware.org/git/?p\u003dbinutils-gdb.git;a\u003dblob;f\u003dreadline/readline/support/wcwidth.c;h\u003d0f5ec995796f4813abbcf4972aec0378ab74722a;hb\u003dHEAD#l55" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-merchantability-variant.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-merchantability-variant.json", + "referenceNumber": 157, + "name": "Historical Permission Notice and Disclaimer - merchantability variant", + "licenseId": "HPND-merchantability-variant", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dnewlib-cygwin.git;a\u003dblob;f\u003dnewlib/libc/misc/fini.c;hb\u003dHEAD" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-MIT-disclaimer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-MIT-disclaimer.json", + "referenceNumber": 313, + "name": "Historical Permission Notice and Disclaimer with MIT disclaimer", + "licenseId": "HPND-MIT-disclaimer", + "seeAlso": [ + "https://metacpan.org/release/NLNETLABS/Net-DNS-SEC-1.22/source/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-Netrek.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-Netrek.json", + "referenceNumber": 387, + "name": "Historical Permission Notice and Disclaimer - Netrek variant", + "licenseId": "HPND-Netrek", + "seeAlso": [], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-Pbmplus.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-Pbmplus.json", + "referenceNumber": 339, + "name": "Historical Permission Notice and Disclaimer - Pbmplus variant", + "licenseId": "HPND-Pbmplus", + "seeAlso": [ + "https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/netpbm.c#l8" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-sell-MIT-disclaimer-xserver.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-sell-MIT-disclaimer-xserver.json", + "referenceNumber": 341, + "name": "Historical Permission Notice and Disclaimer - sell xserver variant with MIT disclaimer", + "licenseId": "HPND-sell-MIT-disclaimer-xserver", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING?ref_type\u003dheads#L1781" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-sell-regexpr.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-sell-regexpr.json", + "referenceNumber": 681, + "name": "Historical Permission Notice and Disclaimer - sell regexpr variant", + "licenseId": "HPND-sell-regexpr", + "seeAlso": [ + "https://gitlab.com/bacula-org/bacula/-/blob/Branch-11.0/bacula/LICENSE-FOSS?ref_type\u003dheads#L245" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-sell-variant.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-sell-variant.json", + "referenceNumber": 13, + "name": "Historical Permission Notice and Disclaimer - sell variant", + "licenseId": "HPND-sell-variant", + "seeAlso": [ + "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/net/sunrpc/auth_gss/gss_generic_token.c?h\u003dv4.19", + "https://github.com/kfish/xsel/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-sell-variant-MIT-disclaimer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-sell-variant-MIT-disclaimer.json", + "referenceNumber": 225, + "name": "HPND sell variant with MIT disclaimer", + "licenseId": "HPND-sell-variant-MIT-disclaimer", + "seeAlso": [ + "https://github.com/sigmavirus24/x11-ssh-askpass/blob/master/README" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-sell-variant-MIT-disclaimer-rev.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-sell-variant-MIT-disclaimer-rev.json", + "referenceNumber": 357, + "name": "HPND sell variant with MIT disclaimer - reverse", + "licenseId": "HPND-sell-variant-MIT-disclaimer-rev", + "seeAlso": [ + "https://github.com/sigmavirus24/x11-ssh-askpass/blob/master/dynlist.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-UC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-UC.json", + "referenceNumber": 210, + "name": "Historical Permission Notice and Disclaimer - University of California variant", + "licenseId": "HPND-UC", + "seeAlso": [ + "https://core.tcl-lang.org/tk/file?name\u003dcompat/unistd.h" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HPND-UC-export-US.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HPND-UC-export-US.json", + "referenceNumber": 143, + "name": "Historical Permission Notice and Disclaimer - University of California, US export warning", + "licenseId": "HPND-UC-export-US", + "seeAlso": [ + "https://github.com/RTimothyEdwards/magic/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/HTMLTIDY.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/HTMLTIDY.json", + "referenceNumber": 478, + "name": "HTML Tidy License", + "licenseId": "HTMLTIDY", + "seeAlso": [ + "https://github.com/htacg/tidy-html5/blob/next/README/LICENSE.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/IBM-pibs.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/IBM-pibs.json", + "referenceNumber": 242, + "name": "IBM PowerPC Initialization and Boot Software", + "licenseId": "IBM-pibs", + "seeAlso": [ + "http://git.denx.de/?p\u003du-boot.git;a\u003dblob;f\u003darch/powerpc/cpu/ppc4xx/miiphy.c;h\u003d297155fdafa064b955e53e9832de93bfb0cfb85b;hb\u003d9fab4bf4cc077c21e43941866f3f2c196f28670d" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ICU.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ICU.json", + "referenceNumber": 289, + "name": "ICU License", + "licenseId": "ICU", + "seeAlso": [ + "http://source.icu-project.org/repos/icu/icu/trunk/license.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/IEC-Code-Components-EULA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/IEC-Code-Components-EULA.json", + "referenceNumber": 399, + "name": "IEC Code Components End-user licence agreement", + "licenseId": "IEC-Code-Components-EULA", + "seeAlso": [ + "https://www.iec.ch/webstore/custserv/pdf/CC-EULA.pdf", + "https://www.iec.ch/CCv1", + "https://www.iec.ch/copyright" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/IJG.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/IJG.json", + "referenceNumber": 512, + "name": "Independent JPEG Group License", + "licenseId": "IJG", + "seeAlso": [ + "http://dev.w3.org/cvsweb/Amaya/libjpeg/Attic/README?rev\u003d1.2" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/IJG-short.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/IJG-short.json", + "referenceNumber": 694, + "name": "Independent JPEG Group License - short", + "licenseId": "IJG-short", + "seeAlso": [ + "https://sourceforge.net/p/xmedcon/code/ci/master/tree/libs/ljpg/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ImageMagick.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ImageMagick.json", + "referenceNumber": 472, + "name": "ImageMagick License", + "licenseId": "ImageMagick", + "seeAlso": [ + "http://www.imagemagick.org/script/license.php" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/iMatix.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/iMatix.json", + "referenceNumber": 482, + "name": "iMatix Standard Function Library Agreement", + "licenseId": "iMatix", + "seeAlso": [ + "http://legacy.imatix.com/html/sfl/sfl4.htm#license" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Imlib2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Imlib2.json", + "referenceNumber": 552, + "name": "Imlib2 License", + "licenseId": "Imlib2", + "seeAlso": [ + "http://trac.enlightenment.org/e/browser/trunk/imlib2/COPYING", + "https://git.enlightenment.org/legacy/imlib2.git/tree/COPYING" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Info-ZIP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Info-ZIP.json", + "referenceNumber": 52, + "name": "Info-ZIP License", + "licenseId": "Info-ZIP", + "seeAlso": [ + "http://www.info-zip.org/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Inner-Net-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Inner-Net-2.0.json", + "referenceNumber": 328, + "name": "Inner Net License v2.0", + "licenseId": "Inner-Net-2.0", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Inner_Net_License", + "https://sourceware.org/git/?p\u003dglibc.git;a\u003dblob;f\u003dLICENSES;h\u003d530893b1dc9ea00755603c68fb36bd4fc38a7be8;hb\u003dHEAD#l207" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/InnoSetup.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/InnoSetup.json", + "referenceNumber": 354, + "name": "Inno Setup License", + "licenseId": "InnoSetup", + "seeAlso": [ + "https://github.com/jrsoftware/issrc/blob/HEAD/license.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Intel.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Intel.json", + "referenceNumber": 419, + "name": "Intel Open Source License", + "licenseId": "Intel", + "seeAlso": [ + "https://opensource.org/licenses/Intel" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Intel-ACPI.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Intel-ACPI.json", + "referenceNumber": 206, + "name": "Intel ACPI Software License Agreement", + "licenseId": "Intel-ACPI", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Intel_ACPI_Software_License_Agreement" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Interbase-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Interbase-1.0.json", + "referenceNumber": 532, + "name": "Interbase Public License v1.0", + "licenseId": "Interbase-1.0", + "seeAlso": [ + "https://web.archive.org/web/20060319014854/http://info.borland.com/devsupport/interbase/opensource/IPL.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/IPA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/IPA.json", + "referenceNumber": 186, + "name": "IPA Font License", + "licenseId": "IPA", + "seeAlso": [ + "https://opensource.org/licenses/IPA" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/IPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/IPL-1.0.json", + "referenceNumber": 591, + "name": "IBM Public License v1.0", + "licenseId": "IPL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/IPL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ISC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ISC.json", + "referenceNumber": 58, + "name": "ISC License", + "licenseId": "ISC", + "seeAlso": [ + "https://www.isc.org/licenses/", + "https://www.isc.org/downloads/software-support-policy/isc-license/", + "https://opensource.org/licenses/ISC" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ISC-Veillard.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ISC-Veillard.json", + "referenceNumber": 317, + "name": "ISC Veillard variant", + "licenseId": "ISC-Veillard", + "seeAlso": [ + "https://raw.githubusercontent.com/GNOME/libxml2/4c2e7c651f6c2f0d1a74f350cbda95f7df3e7017/hash.c", + "https://github.com/GNOME/libxml2/blob/master/dict.c", + "https://sourceforge.net/p/ctrio/git/ci/master/tree/README" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Jam.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Jam.json", + "referenceNumber": 475, + "name": "Jam License", + "licenseId": "Jam", + "seeAlso": [ + "https://www.boost.org/doc/libs/1_35_0/doc/html/jam.html", + "https://web.archive.org/web/20160330173339/https://swarm.workshop.perforce.com/files/guest/perforce_software/jam/src/README" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/JasPer-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/JasPer-2.0.json", + "referenceNumber": 103, + "name": "JasPer License", + "licenseId": "JasPer-2.0", + "seeAlso": [ + "http://www.ece.uvic.ca/~mdadams/jasper/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/jove.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/jove.json", + "referenceNumber": 642, + "name": "Jove License", + "licenseId": "jove", + "seeAlso": [ + "https://github.com/jonmacs/jove/blob/4_17/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/JPL-image.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/JPL-image.json", + "referenceNumber": 321, + "name": "JPL Image Use Policy", + "licenseId": "JPL-image", + "seeAlso": [ + "https://www.jpl.nasa.gov/jpl-image-use-policy" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/JPNIC.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/JPNIC.json", + "referenceNumber": 655, + "name": "Japan Network Information Center License", + "licenseId": "JPNIC", + "seeAlso": [ + "https://gitlab.isc.org/isc-projects/bind9/blob/master/COPYRIGHT#L366" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/JSON.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/JSON.json", + "referenceNumber": 54, + "name": "JSON License", + "licenseId": "JSON", + "seeAlso": [ + "http://www.json.org/license.html" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/Kastrup.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Kastrup.json", + "referenceNumber": 491, + "name": "Kastrup License", + "licenseId": "Kastrup", + "seeAlso": [ + "https://ctan.math.utah.edu/ctan/tex-archive/macros/generic/kastrup/binhex.dtx" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Kazlib.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Kazlib.json", + "referenceNumber": 312, + "name": "Kazlib License", + "licenseId": "Kazlib", + "seeAlso": [ + "http://git.savannah.gnu.org/cgit/kazlib.git/tree/except.c?id\u003d0062df360c2d17d57f6af19b0e444c51feb99036" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Knuth-CTAN.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Knuth-CTAN.json", + "referenceNumber": 332, + "name": "Knuth CTAN License", + "licenseId": "Knuth-CTAN", + "seeAlso": [ + "https://ctan.org/license/knuth" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LAL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LAL-1.2.json", + "referenceNumber": 134, + "name": "Licence Art Libre 1.2", + "licenseId": "LAL-1.2", + "seeAlso": [ + "http://artlibre.org/licence/lal/licence-art-libre-12/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LAL-1.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LAL-1.3.json", + "referenceNumber": 521, + "name": "Licence Art Libre 1.3", + "licenseId": "LAL-1.3", + "seeAlso": [ + "https://artlibre.org/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Latex2e.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Latex2e.json", + "referenceNumber": 43, + "name": "Latex2e License", + "licenseId": "Latex2e", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Latex2e" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Latex2e-translated-notice.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Latex2e-translated-notice.json", + "referenceNumber": 523, + "name": "Latex2e with translated notice permission", + "licenseId": "Latex2e-translated-notice", + "seeAlso": [ + "https://git.savannah.gnu.org/cgit/indent.git/tree/doc/indent.texi?id\u003da74c6b4ee49397cf330b333da1042bffa60ed14f#n74" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Leptonica.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Leptonica.json", + "referenceNumber": 137, + "name": "Leptonica License", + "licenseId": "Leptonica", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Leptonica" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.0.json", + "referenceNumber": 676, + "name": "GNU Library General Public License v2 only", + "licenseId": "LGPL-2.0", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.0+.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.0+.json", + "referenceNumber": 409, + "name": "GNU Library General Public License v2 or later", + "licenseId": "LGPL-2.0+", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.0-only.json", + "referenceNumber": 329, + "name": "GNU Library General Public License v2 only", + "licenseId": "LGPL-2.0-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.0-or-later.json", + "referenceNumber": 75, + "name": "GNU Library General Public License v2 or later", + "licenseId": "LGPL-2.0-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.1.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.1.json", + "referenceNumber": 677, + "name": "GNU Lesser General Public License v2.1 only", + "licenseId": "LGPL-2.1", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "https://opensource.org/licenses/LGPL-2.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.1+.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.1+.json", + "referenceNumber": 448, + "name": "GNU Lesser General Public License v2.1 or later", + "licenseId": "LGPL-2.1+", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "https://opensource.org/licenses/LGPL-2.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.1-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.1-only.json", + "referenceNumber": 297, + "name": "GNU Lesser General Public License v2.1 only", + "licenseId": "LGPL-2.1-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "https://opensource.org/licenses/LGPL-2.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-2.1-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPL-2.1-or-later.json", + "referenceNumber": 187, + "name": "GNU Lesser General Public License v2.1 or later", + "licenseId": "LGPL-2.1-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html", + "https://opensource.org/licenses/LGPL-2.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-3.0.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/LGPL-3.0.json", + "referenceNumber": 9, + "name": "GNU Lesser General Public License v3.0 only", + "licenseId": "LGPL-3.0", + "seeAlso": [ + "https://www.gnu.org/licenses/lgpl-3.0-standalone.html", + "https://www.gnu.org/licenses/lgpl+gpl-3.0.txt", + "https://opensource.org/licenses/LGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-3.0+.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/LGPL-3.0+.json", + "referenceNumber": 169, + "name": "GNU Lesser General Public License v3.0 or later", + "licenseId": "LGPL-3.0+", + "seeAlso": [ + "https://www.gnu.org/licenses/lgpl-3.0-standalone.html", + "https://www.gnu.org/licenses/lgpl+gpl-3.0.txt", + "https://opensource.org/licenses/LGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-3.0-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPL-3.0-only.json", + "referenceNumber": 634, + "name": "GNU Lesser General Public License v3.0 only", + "licenseId": "LGPL-3.0-only", + "seeAlso": [ + "https://www.gnu.org/licenses/lgpl-3.0-standalone.html", + "https://www.gnu.org/licenses/lgpl+gpl-3.0.txt", + "https://opensource.org/licenses/LGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPL-3.0-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPL-3.0-or-later.json", + "referenceNumber": 502, + "name": "GNU Lesser General Public License v3.0 or later", + "licenseId": "LGPL-3.0-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/lgpl-3.0-standalone.html", + "https://www.gnu.org/licenses/lgpl+gpl-3.0.txt", + "https://opensource.org/licenses/LGPL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LGPLLR.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LGPLLR.json", + "referenceNumber": 123, + "name": "Lesser General Public License For Linguistic Resources", + "licenseId": "LGPLLR", + "seeAlso": [ + "http://www-igm.univ-mlv.fr/~unitex/lgpllr.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Libpng.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Libpng.json", + "referenceNumber": 62, + "name": "libpng License", + "licenseId": "Libpng", + "seeAlso": [ + "http://www.libpng.org/pub/png/src/libpng-LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/libpng-1.6.35.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/libpng-1.6.35.json", + "referenceNumber": 429, + "name": "PNG Reference Library License v1 (for libpng 0.5 through 1.6.35)", + "licenseId": "libpng-1.6.35", + "seeAlso": [ + "http://www.libpng.org/pub/png/src/libpng-LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/libpng-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/libpng-2.0.json", + "referenceNumber": 226, + "name": "PNG Reference Library version 2", + "licenseId": "libpng-2.0", + "seeAlso": [ + "http://www.libpng.org/pub/png/src/libpng-LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/libselinux-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/libselinux-1.0.json", + "referenceNumber": 263, + "name": "libselinux public domain notice", + "licenseId": "libselinux-1.0", + "seeAlso": [ + "https://github.com/SELinuxProject/selinux/blob/master/libselinux/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/libtiff.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/libtiff.json", + "referenceNumber": 35, + "name": "libtiff License", + "licenseId": "libtiff", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/libtiff" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/libutil-David-Nugent.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/libutil-David-Nugent.json", + "referenceNumber": 402, + "name": "libutil David Nugent License", + "licenseId": "libutil-David-Nugent", + "seeAlso": [ + "http://web.mit.edu/freebsd/head/lib/libutil/login_ok.3", + "https://cgit.freedesktop.org/libbsd/tree/man/setproctitle.3bsd" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LiLiQ-P-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LiLiQ-P-1.1.json", + "referenceNumber": 232, + "name": "Licence Libre du Québec – Permissive version 1.1", + "licenseId": "LiLiQ-P-1.1", + "seeAlso": [ + "https://forge.gouv.qc.ca/licence/fr/liliq-v1-1/", + "http://opensource.org/licenses/LiLiQ-P-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LiLiQ-R-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LiLiQ-R-1.1.json", + "referenceNumber": 229, + "name": "Licence Libre du Québec – Réciprocité version 1.1", + "licenseId": "LiLiQ-R-1.1", + "seeAlso": [ + "https://www.forge.gouv.qc.ca/participez/licence-logicielle/licence-libre-du-quebec-liliq-en-francais/licence-libre-du-quebec-reciprocite-liliq-r-v1-1/", + "http://opensource.org/licenses/LiLiQ-R-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LiLiQ-Rplus-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LiLiQ-Rplus-1.1.json", + "referenceNumber": 238, + "name": "Licence Libre du Québec – Réciprocité forte version 1.1", + "licenseId": "LiLiQ-Rplus-1.1", + "seeAlso": [ + "https://www.forge.gouv.qc.ca/participez/licence-logicielle/licence-libre-du-quebec-liliq-en-francais/licence-libre-du-quebec-reciprocite-forte-liliq-r-v1-1/", + "http://opensource.org/licenses/LiLiQ-Rplus-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Linux-man-pages-1-para.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Linux-man-pages-1-para.json", + "referenceNumber": 78, + "name": "Linux man-pages - 1 paragraph", + "licenseId": "Linux-man-pages-1-para", + "seeAlso": [ + "https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/getcpu.2#n4" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Linux-man-pages-copyleft.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Linux-man-pages-copyleft.json", + "referenceNumber": 640, + "name": "Linux man-pages Copyleft", + "licenseId": "Linux-man-pages-copyleft", + "seeAlso": [ + "https://www.kernel.org/doc/man-pages/licenses.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Linux-man-pages-copyleft-2-para.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Linux-man-pages-copyleft-2-para.json", + "referenceNumber": 592, + "name": "Linux man-pages Copyleft - 2 paragraphs", + "licenseId": "Linux-man-pages-copyleft-2-para", + "seeAlso": [ + "https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/move_pages.2#n5", + "https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/migrate_pages.2#n8" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Linux-man-pages-copyleft-var.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Linux-man-pages-copyleft-var.json", + "referenceNumber": 202, + "name": "Linux man-pages Copyleft Variant", + "licenseId": "Linux-man-pages-copyleft-var", + "seeAlso": [ + "https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/set_mempolicy.2#n5" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Linux-OpenIB.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Linux-OpenIB.json", + "referenceNumber": 513, + "name": "Linux Kernel Variant of OpenIB.org license", + "licenseId": "Linux-OpenIB", + "seeAlso": [ + "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/infiniband/core/sa.h" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LOOP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LOOP.json", + "referenceNumber": 237, + "name": "Common Lisp LOOP License", + "licenseId": "LOOP", + "seeAlso": [ + "https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/loop.lsp", + "http://git.savannah.gnu.org/cgit/gcl.git/tree/gcl/lsp/gcl_loop.lsp?h\u003dVersion_2_6_13pre", + "https://sourceforge.net/p/sbcl/sbcl/ci/master/tree/src/code/loop.lisp", + "https://github.com/cl-adams/adams/blob/master/LICENSE.md", + "https://github.com/blakemcbride/eclipse-lisp/blob/master/lisp/loop.lisp", + "https://gitlab.common-lisp.net/cmucl/cmucl/-/blob/master/src/code/loop.lisp" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LPD-document.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPD-document.json", + "referenceNumber": 5, + "name": "LPD Documentation License", + "licenseId": "LPD-document", + "seeAlso": [ + "https://github.com/Cyan4973/xxHash/blob/dev/doc/xxhash_spec.md", + "https://www.ietf.org/rfc/rfc1952.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPL-1.0.json", + "referenceNumber": 136, + "name": "Lucent Public License Version 1.0", + "licenseId": "LPL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/LPL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/LPL-1.02.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPL-1.02.json", + "referenceNumber": 656, + "name": "Lucent Public License v1.02", + "licenseId": "LPL-1.02", + "seeAlso": [ + "http://plan9.bell-labs.com/plan9/license.html", + "https://opensource.org/licenses/LPL-1.02" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LPPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPPL-1.0.json", + "referenceNumber": 63, + "name": "LaTeX Project Public License v1.0", + "licenseId": "LPPL-1.0", + "seeAlso": [ + "http://www.latex-project.org/lppl/lppl-1-0.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LPPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPPL-1.1.json", + "referenceNumber": 542, + "name": "LaTeX Project Public License v1.1", + "licenseId": "LPPL-1.1", + "seeAlso": [ + "http://www.latex-project.org/lppl/lppl-1-1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LPPL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPPL-1.2.json", + "referenceNumber": 486, + "name": "LaTeX Project Public License v1.2", + "licenseId": "LPPL-1.2", + "seeAlso": [ + "http://www.latex-project.org/lppl/lppl-1-2.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LPPL-1.3a.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPPL-1.3a.json", + "referenceNumber": 280, + "name": "LaTeX Project Public License v1.3a", + "licenseId": "LPPL-1.3a", + "seeAlso": [ + "http://www.latex-project.org/lppl/lppl-1-3a.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/LPPL-1.3c.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LPPL-1.3c.json", + "referenceNumber": 33, + "name": "LaTeX Project Public License v1.3c", + "licenseId": "LPPL-1.3c", + "seeAlso": [ + "http://www.latex-project.org/lppl/lppl-1-3c.txt", + "https://opensource.org/licenses/LPPL-1.3c" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/lsof.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/lsof.json", + "referenceNumber": 563, + "name": "lsof License", + "licenseId": "lsof", + "seeAlso": [ + "https://github.com/lsof-org/lsof/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Lucida-Bitmap-Fonts.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Lucida-Bitmap-Fonts.json", + "referenceNumber": 661, + "name": "Lucida Bitmap Fonts License", + "licenseId": "Lucida-Bitmap-Fonts", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/font/bh-100dpi/-/blob/master/COPYING?ref_type\u003dheads" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LZMA-SDK-9.11-to-9.20.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LZMA-SDK-9.11-to-9.20.json", + "referenceNumber": 349, + "name": "LZMA SDK License (versions 9.11 to 9.20)", + "licenseId": "LZMA-SDK-9.11-to-9.20", + "seeAlso": [ + "https://www.7-zip.org/sdk.html", + "https://sourceforge.net/projects/sevenzip/files/LZMA%20SDK/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/LZMA-SDK-9.22.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/LZMA-SDK-9.22.json", + "referenceNumber": 504, + "name": "LZMA SDK License (versions 9.22 and beyond)", + "licenseId": "LZMA-SDK-9.22", + "seeAlso": [ + "https://www.7-zip.org/sdk.html", + "https://sourceforge.net/projects/sevenzip/files/LZMA%20SDK/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Mackerras-3-Clause.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Mackerras-3-Clause.json", + "referenceNumber": 539, + "name": "Mackerras 3-Clause License", + "licenseId": "Mackerras-3-Clause", + "seeAlso": [ + "https://github.com/ppp-project/ppp/blob/master/pppd/chap_ms.c#L6-L28" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Mackerras-3-Clause-acknowledgment.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Mackerras-3-Clause-acknowledgment.json", + "referenceNumber": 433, + "name": "Mackerras 3-Clause - acknowledgment variant", + "licenseId": "Mackerras-3-Clause-acknowledgment", + "seeAlso": [ + "https://github.com/ppp-project/ppp/blob/master/pppd/auth.c#L6-L28" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/magaz.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/magaz.json", + "referenceNumber": 373, + "name": "magaz License", + "licenseId": "magaz", + "seeAlso": [ + "https://mirrors.nic.cz/tex-archive/macros/latex/contrib/magaz/magaz.tex", + "https://mirrors.ctan.org/macros/latex/contrib/version/version.sty" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/mailprio.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/mailprio.json", + "referenceNumber": 381, + "name": "mailprio License", + "licenseId": "mailprio", + "seeAlso": [ + "https://fossies.org/linux/sendmail/contrib/mailprio" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MakeIndex.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MakeIndex.json", + "referenceNumber": 165, + "name": "MakeIndex License", + "licenseId": "MakeIndex", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MakeIndex" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/man2html.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/man2html.json", + "referenceNumber": 120, + "name": "man2html License", + "licenseId": "man2html", + "seeAlso": [ + "http://primates.ximian.com/~flucifredi/man/man-1.6g.tar.gz", + "https://github.com/hamano/man2html/blob/master/man2html.c", + "https://docs.oracle.com/cd/E81115_01/html/E81116/licenses.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Martin-Birgmeier.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Martin-Birgmeier.json", + "referenceNumber": 361, + "name": "Martin Birgmeier License", + "licenseId": "Martin-Birgmeier", + "seeAlso": [ + "https://github.com/Perl/perl5/blob/blead/util.c#L6136" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/McPhee-slideshow.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/McPhee-slideshow.json", + "referenceNumber": 489, + "name": "McPhee Slideshow License", + "licenseId": "McPhee-slideshow", + "seeAlso": [ + "https://mirror.las.iastate.edu/tex-archive/graphics/metapost/contrib/macros/slideshow/slideshow.mp" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/metamail.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/metamail.json", + "referenceNumber": 455, + "name": "metamail License", + "licenseId": "metamail", + "seeAlso": [ + "https://github.com/Dual-Life/mime-base64/blob/master/Base64.xs#L12" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Minpack.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Minpack.json", + "referenceNumber": 28, + "name": "Minpack License", + "licenseId": "Minpack", + "seeAlso": [ + "http://www.netlib.org/minpack/disclaimer", + "https://gitlab.com/libeigen/eigen/-/blob/master/COPYING.MINPACK" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIPS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIPS.json", + "referenceNumber": 351, + "name": "MIPS License", + "licenseId": "MIPS", + "seeAlso": [ + "https://sourceware.org/cgit/binutils-gdb/tree/include/coff/sym.h#n11" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MirOS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MirOS.json", + "referenceNumber": 692, + "name": "The MirOS Licence", + "licenseId": "MirOS", + "seeAlso": [ + "https://opensource.org/licenses/MirOS" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/MIT.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT.json", + "referenceNumber": 515, + "name": "MIT License", + "licenseId": "MIT", + "seeAlso": [ + "https://opensource.org/license/mit/", + "http://opensource.org/licenses/MIT" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/MIT-0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-0.json", + "referenceNumber": 173, + "name": "MIT No Attribution", + "licenseId": "MIT-0", + "seeAlso": [ + "https://github.com/aws/mit-0", + "https://romanrm.net/mit-zero", + "https://github.com/awsdocs/aws-cloud9-user-guide/blob/master/LICENSE-SAMPLECODE" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/MIT-advertising.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-advertising.json", + "referenceNumber": 440, + "name": "Enlightenment License (e16)", + "licenseId": "MIT-advertising", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MIT_With_Advertising" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-Click.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-Click.json", + "referenceNumber": 438, + "name": "MIT Click License", + "licenseId": "MIT-Click", + "seeAlso": [ + "https://github.com/kohler/t1utils/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-CMU.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-CMU.json", + "referenceNumber": 287, + "name": "CMU License", + "licenseId": "MIT-CMU", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:MIT?rd\u003dLicensing/MIT#CMU_Style", + "https://github.com/python-pillow/Pillow/blob/fffb426092c8db24a5f4b6df243a8a3c01fb63cd/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-enna.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-enna.json", + "referenceNumber": 580, + "name": "enna License", + "licenseId": "MIT-enna", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MIT#enna" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-feh.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-feh.json", + "referenceNumber": 408, + "name": "feh License", + "licenseId": "MIT-feh", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MIT#feh" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-Festival.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-Festival.json", + "referenceNumber": 18, + "name": "MIT Festival Variant", + "licenseId": "MIT-Festival", + "seeAlso": [ + "https://github.com/festvox/flite/blob/master/COPYING", + "https://github.com/festvox/speech_tools/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-Khronos-old.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-Khronos-old.json", + "referenceNumber": 508, + "name": "MIT Khronos - old variant", + "licenseId": "MIT-Khronos-old", + "seeAlso": [ + "https://github.com/KhronosGroup/SPIRV-Cross/blob/main/LICENSES/LicenseRef-KhronosFreeUse.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-Modern-Variant.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-Modern-Variant.json", + "referenceNumber": 304, + "name": "MIT License Modern Variant", + "licenseId": "MIT-Modern-Variant", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:MIT#Modern_Variants", + "https://ptolemy.berkeley.edu/copyright.htm", + "https://pirlwww.lpl.arizona.edu/resources/guide/software/PerlTk/Tixlic.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/MIT-open-group.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-open-group.json", + "referenceNumber": 404, + "name": "MIT Open Group variant", + "licenseId": "MIT-open-group", + "seeAlso": [ + "https://gitlab.freedesktop.org/xorg/app/iceauth/-/blob/master/COPYING", + "https://gitlab.freedesktop.org/xorg/app/xsetroot/-/blob/master/COPYING", + "https://gitlab.freedesktop.org/xorg/app/xauth/-/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-testregex.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-testregex.json", + "referenceNumber": 496, + "name": "MIT testregex Variant", + "licenseId": "MIT-testregex", + "seeAlso": [ + "https://github.com/dotnet/runtime/blob/55e1ac7c07df62c4108d4acedf78f77574470ce5/src/libraries/System.Text.RegularExpressions/tests/FunctionalTests/AttRegexTests.cs#L12-L28" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MIT-Wu.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MIT-Wu.json", + "referenceNumber": 355, + "name": "MIT Tom Wu Variant", + "licenseId": "MIT-Wu", + "seeAlso": [ + "https://github.com/chromium/octane/blob/master/crypto.js" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MITNFA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MITNFA.json", + "referenceNumber": 473, + "name": "MIT +no-false-attribs license", + "licenseId": "MITNFA", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MITNFA" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MMIXware.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MMIXware.json", + "referenceNumber": 663, + "name": "MMIXware License", + "licenseId": "MMIXware", + "seeAlso": [ + "https://gitlab.lrz.de/mmix/mmixware/-/blob/master/boilerplate.w" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Motosoto.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Motosoto.json", + "referenceNumber": 507, + "name": "Motosoto License", + "licenseId": "Motosoto", + "seeAlso": [ + "https://opensource.org/licenses/Motosoto" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/MPEG-SSG.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MPEG-SSG.json", + "referenceNumber": 303, + "name": "MPEG Software Simulation", + "licenseId": "MPEG-SSG", + "seeAlso": [ + "https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/converter/ppm/ppmtompeg/jrevdct.c#l1189" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/mpi-permissive.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/mpi-permissive.json", + "referenceNumber": 213, + "name": "mpi Permissive License", + "licenseId": "mpi-permissive", + "seeAlso": [ + "https://sources.debian.org/src/openmpi/4.1.0-10/ompi/debuggers/msgq_interface.h/?hl\u003d19#L19" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/mpich2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/mpich2.json", + "referenceNumber": 102, + "name": "mpich2 License", + "licenseId": "mpich2", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/MIT" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MPL-1.0.json", + "referenceNumber": 665, + "name": "Mozilla Public License 1.0", + "licenseId": "MPL-1.0", + "seeAlso": [ + "http://www.mozilla.org/MPL/MPL-1.0.html", + "https://opensource.org/licenses/MPL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/MPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MPL-1.1.json", + "referenceNumber": 679, + "name": "Mozilla Public License 1.1", + "licenseId": "MPL-1.1", + "seeAlso": [ + "http://www.mozilla.org/MPL/MPL-1.1.html", + "https://opensource.org/licenses/MPL-1.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/MPL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MPL-2.0.json", + "referenceNumber": 599, + "name": "Mozilla Public License 2.0", + "licenseId": "MPL-2.0", + "seeAlso": [ + "https://www.mozilla.org/MPL/2.0/", + "https://opensource.org/licenses/MPL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.json", + "referenceNumber": 174, + "name": "Mozilla Public License 2.0 (no copyleft exception)", + "licenseId": "MPL-2.0-no-copyleft-exception", + "seeAlso": [ + "https://www.mozilla.org/MPL/2.0/", + "https://opensource.org/licenses/MPL-2.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/mplus.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/mplus.json", + "referenceNumber": 17, + "name": "mplus Font License", + "licenseId": "mplus", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:Mplus?rd\u003dLicensing/mplus" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MS-LPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MS-LPL.json", + "referenceNumber": 674, + "name": "Microsoft Limited Public License", + "licenseId": "MS-LPL", + "seeAlso": [ + "https://www.openhub.net/licenses/mslpl", + "https://github.com/gabegundy/atlserver/blob/master/License.txt", + "https://en.wikipedia.org/wiki/Shared_Source_Initiative#Microsoft_Limited_Public_License_(Ms-LPL)" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MS-PL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MS-PL.json", + "referenceNumber": 698, + "name": "Microsoft Public License", + "licenseId": "MS-PL", + "seeAlso": [ + "http://www.microsoft.com/opensource/licenses.mspx", + "https://opensource.org/licenses/MS-PL" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/MS-RL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MS-RL.json", + "referenceNumber": 276, + "name": "Microsoft Reciprocal License", + "licenseId": "MS-RL", + "seeAlso": [ + "http://www.microsoft.com/opensource/licenses.mspx", + "https://opensource.org/licenses/MS-RL" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/MTLL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MTLL.json", + "referenceNumber": 588, + "name": "Matrix Template Library License", + "licenseId": "MTLL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Matrix_Template_Library_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MulanPSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MulanPSL-1.0.json", + "referenceNumber": 320, + "name": "Mulan Permissive Software License, Version 1", + "licenseId": "MulanPSL-1.0", + "seeAlso": [ + "https://license.coscl.org.cn/MulanPSL/", + "https://github.com/yuwenlong/longphp/blob/25dfb70cc2a466dc4bb55ba30901cbce08d164b5/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/MulanPSL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/MulanPSL-2.0.json", + "referenceNumber": 182, + "name": "Mulan Permissive Software License, Version 2", + "licenseId": "MulanPSL-2.0", + "seeAlso": [ + "https://license.coscl.org.cn/MulanPSL2" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Multics.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Multics.json", + "referenceNumber": 60, + "name": "Multics License", + "licenseId": "Multics", + "seeAlso": [ + "https://opensource.org/licenses/Multics" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Mup.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Mup.json", + "referenceNumber": 288, + "name": "Mup License", + "licenseId": "Mup", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Mup" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NAIST-2003.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NAIST-2003.json", + "referenceNumber": 462, + "name": "Nara Institute of Science and Technology License (2003)", + "licenseId": "NAIST-2003", + "seeAlso": [ + "https://enterprise.dejacode.com/licenses/public/naist-2003/#license-text", + "https://github.com/nodejs/node/blob/4a19cc8947b1bba2b2d27816ec3d0edf9b28e503/LICENSE#L343" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NASA-1.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NASA-1.3.json", + "referenceNumber": 432, + "name": "NASA Open Source Agreement 1.3", + "licenseId": "NASA-1.3", + "seeAlso": [ + "http://ti.arc.nasa.gov/opensource/nosa/", + "https://opensource.org/licenses/NASA-1.3" + ], + "isOsiApproved": true, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/Naumen.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Naumen.json", + "referenceNumber": 307, + "name": "Naumen Public License", + "licenseId": "Naumen", + "seeAlso": [ + "https://opensource.org/licenses/Naumen" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/NBPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NBPL-1.0.json", + "referenceNumber": 460, + "name": "Net Boolean Public License v1", + "licenseId": "NBPL-1.0", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d37b4b3f6cc4bf34e1d3dec61e69914b9819d8894" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NCBI-PD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NCBI-PD.json", + "referenceNumber": 696, + "name": "NCBI Public Domain Notice", + "licenseId": "NCBI-PD", + "seeAlso": [ + "https://github.com/ncbi/sra-tools/blob/e8e5b6af4edc460156ad9ce5902d0779cffbf685/LICENSE", + "https://github.com/ncbi/datasets/blob/0ea4cd16b61e5b799d9cc55aecfa016d6c9bd2bf/LICENSE.md", + "https://github.com/ncbi/gprobe/blob/de64d30fee8b4c4013094d7d3139ea89b5dd1ace/LICENSE", + "https://github.com/ncbi/egapx/blob/08930b9dec0c69b2d1a05e5153c7b95ef0a3eb0f/LICENSE", + "https://github.com/ncbi/datasets/blob/master/LICENSE.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NCGL-UK-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NCGL-UK-2.0.json", + "referenceNumber": 392, + "name": "Non-Commercial Government Licence", + "licenseId": "NCGL-UK-2.0", + "seeAlso": [ + "http://www.nationalarchives.gov.uk/doc/non-commercial-government-licence/version/2/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NCL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NCL.json", + "referenceNumber": 154, + "name": "NCL Source Code License", + "licenseId": "NCL", + "seeAlso": [ + "https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/modules/module-filter-chain/pffft.c?ref_type\u003dheads#L1-52" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NCSA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NCSA.json", + "referenceNumber": 148, + "name": "University of Illinois/NCSA Open Source License", + "licenseId": "NCSA", + "seeAlso": [ + "http://otm.illinois.edu/uiuc_openSource", + "https://opensource.org/licenses/NCSA" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Net-SNMP.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/Net-SNMP.json", + "referenceNumber": 638, + "name": "Net-SNMP License", + "licenseId": "Net-SNMP", + "seeAlso": [ + "http://net-snmp.sourceforge.net/about/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NetCDF.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NetCDF.json", + "referenceNumber": 626, + "name": "NetCDF license", + "licenseId": "NetCDF", + "seeAlso": [ + "http://www.unidata.ucar.edu/software/netcdf/copyright.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Newsletr.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Newsletr.json", + "referenceNumber": 607, + "name": "Newsletr License", + "licenseId": "Newsletr", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Newsletr" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NGPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NGPL.json", + "referenceNumber": 64, + "name": "Nethack General Public License", + "licenseId": "NGPL", + "seeAlso": [ + "https://opensource.org/licenses/NGPL" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/ngrep.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ngrep.json", + "referenceNumber": 16, + "name": "ngrep License", + "licenseId": "ngrep", + "seeAlso": [ + "https://github.com/jpr5/ngrep/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NICTA-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NICTA-1.0.json", + "referenceNumber": 406, + "name": "NICTA Public Software License, Version 1.0", + "licenseId": "NICTA-1.0", + "seeAlso": [ + "https://opensource.apple.com/source/mDNSResponder/mDNSResponder-320.10/mDNSPosix/nss_ReadMe.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NIST-PD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NIST-PD.json", + "referenceNumber": 98, + "name": "NIST Public Domain Notice", + "licenseId": "NIST-PD", + "seeAlso": [ + "https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt", + "https://github.com/tcheneau/Routing/blob/f09f46fcfe636107f22f2c98348188a65a135d98/README.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NIST-PD-fallback.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NIST-PD-fallback.json", + "referenceNumber": 616, + "name": "NIST Public Domain Notice with license fallback", + "licenseId": "NIST-PD-fallback", + "seeAlso": [ + "https://github.com/usnistgov/jsip/blob/59700e6926cbe96c5cdae897d9a7d2656b42abe3/LICENSE", + "https://github.com/usnistgov/fipy/blob/86aaa5c2ba2c6f1be19593c5986071cf6568cc34/LICENSE.rst" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NIST-Software.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NIST-Software.json", + "referenceNumber": 447, + "name": "NIST Software License", + "licenseId": "NIST-Software", + "seeAlso": [ + "https://github.com/open-quantum-safe/liboqs/blob/40b01fdbb270f8614fde30e65d30e9da18c02393/src/common/rand/rand_nist.c#L1-L15" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NLOD-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NLOD-1.0.json", + "referenceNumber": 249, + "name": "Norwegian Licence for Open Government Data (NLOD) 1.0", + "licenseId": "NLOD-1.0", + "seeAlso": [ + "http://data.norge.no/nlod/en/1.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NLOD-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NLOD-2.0.json", + "referenceNumber": 687, + "name": "Norwegian Licence for Open Government Data (NLOD) 2.0", + "licenseId": "NLOD-2.0", + "seeAlso": [ + "http://data.norge.no/nlod/en/2.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NLPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NLPL.json", + "referenceNumber": 161, + "name": "No Limit Public License", + "licenseId": "NLPL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/NLPL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Nokia.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Nokia.json", + "referenceNumber": 464, + "name": "Nokia Open Source License", + "licenseId": "Nokia", + "seeAlso": [ + "https://opensource.org/licenses/nokia" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/NOSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NOSL.json", + "referenceNumber": 471, + "name": "Netizen Open Source License", + "licenseId": "NOSL", + "seeAlso": [ + "http://bits.netizen.com.au/licenses/NOSL/nosl.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Noweb.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Noweb.json", + "referenceNumber": 77, + "name": "Noweb License", + "licenseId": "Noweb", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Noweb" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NPL-1.0.json", + "referenceNumber": 372, + "name": "Netscape Public License v1.0", + "licenseId": "NPL-1.0", + "seeAlso": [ + "http://www.mozilla.org/MPL/NPL/1.0/" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/NPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NPL-1.1.json", + "referenceNumber": 518, + "name": "Netscape Public License v1.1", + "licenseId": "NPL-1.1", + "seeAlso": [ + "http://www.mozilla.org/MPL/NPL/1.1/" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/NPOSL-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NPOSL-3.0.json", + "referenceNumber": 195, + "name": "Non-Profit Open Software License 3.0", + "licenseId": "NPOSL-3.0", + "seeAlso": [ + "https://opensource.org/licenses/NOSL3.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/NRL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NRL.json", + "referenceNumber": 146, + "name": "NRL License", + "licenseId": "NRL", + "seeAlso": [ + "http://web.mit.edu/network/isakmp/nrllicense.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NTIA-PD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NTIA-PD.json", + "referenceNumber": 426, + "name": "NTIA Public Domain Notice", + "licenseId": "NTIA-PD", + "seeAlso": [ + "https://raw.githubusercontent.com/NTIA/itm/refs/heads/master/LICENSE.md", + "https://raw.githubusercontent.com/NTIA/scos-sensor/refs/heads/master/LICENSE.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/NTP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NTP.json", + "referenceNumber": 621, + "name": "NTP License", + "licenseId": "NTP", + "seeAlso": [ + "https://opensource.org/licenses/NTP" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/NTP-0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/NTP-0.json", + "referenceNumber": 566, + "name": "NTP No Attribution", + "licenseId": "NTP-0", + "seeAlso": [ + "https://github.com/tytso/e2fsprogs/blob/master/lib/et/et_name.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Nunit.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/Nunit.json", + "referenceNumber": 203, + "name": "Nunit License", + "licenseId": "Nunit", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Nunit" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/O-UDA-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/O-UDA-1.0.json", + "referenceNumber": 485, + "name": "Open Use of Data Agreement v1.0", + "licenseId": "O-UDA-1.0", + "seeAlso": [ + "https://github.com/microsoft/Open-Use-of-Data-Agreement/blob/v1.0/O-UDA-1.0.md", + "https://cdla.dev/open-use-of-data-agreement-v1-0/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OAR.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OAR.json", + "referenceNumber": 251, + "name": "OAR License", + "licenseId": "OAR", + "seeAlso": [ + "https://sourceware.org/git/?p\u003dnewlib-cygwin.git;a\u003dblob;f\u003dnewlib/libc/string/strsignal.c;hb\u003dHEAD#l35" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OCCT-PL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OCCT-PL.json", + "referenceNumber": 371, + "name": "Open CASCADE Technology Public License", + "licenseId": "OCCT-PL", + "seeAlso": [ + "http://www.opencascade.com/content/occt-public-license" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OCLC-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OCLC-2.0.json", + "referenceNumber": 274, + "name": "OCLC Research Public License 2.0", + "licenseId": "OCLC-2.0", + "seeAlso": [ + "http://www.oclc.org/research/activities/software/license/v2final.htm", + "https://opensource.org/licenses/OCLC-2.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/ODbL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ODbL-1.0.json", + "referenceNumber": 397, + "name": "Open Data Commons Open Database License v1.0", + "licenseId": "ODbL-1.0", + "seeAlso": [ + "http://www.opendatacommons.org/licenses/odbl/1.0/", + "https://opendatacommons.org/licenses/odbl/1-0/" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ODC-By-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ODC-By-1.0.json", + "referenceNumber": 46, + "name": "Open Data Commons Attribution License v1.0", + "licenseId": "ODC-By-1.0", + "seeAlso": [ + "https://opendatacommons.org/licenses/by/1.0/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OFFIS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFFIS.json", + "referenceNumber": 368, + "name": "OFFIS License", + "licenseId": "OFFIS", + "seeAlso": [ + "https://sourceforge.net/p/xmedcon/code/ci/master/tree/libs/dicom/README" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OFL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFL-1.0.json", + "referenceNumber": 589, + "name": "SIL Open Font License 1.0", + "licenseId": "OFL-1.0", + "seeAlso": [ + "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OFL-1.0-no-RFN.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFL-1.0-no-RFN.json", + "referenceNumber": 653, + "name": "SIL Open Font License 1.0 with no Reserved Font Name", + "licenseId": "OFL-1.0-no-RFN", + "seeAlso": [ + "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OFL-1.0-RFN.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFL-1.0-RFN.json", + "referenceNumber": 201, + "name": "SIL Open Font License 1.0 with Reserved Font Name", + "licenseId": "OFL-1.0-RFN", + "seeAlso": [ + "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OFL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFL-1.1.json", + "referenceNumber": 608, + "name": "SIL Open Font License 1.1", + "licenseId": "OFL-1.1", + "seeAlso": [ + "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web", + "https://opensource.org/licenses/OFL-1.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OFL-1.1-no-RFN.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFL-1.1-no-RFN.json", + "referenceNumber": 204, + "name": "SIL Open Font License 1.1 with no Reserved Font Name", + "licenseId": "OFL-1.1-no-RFN", + "seeAlso": [ + "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web", + "https://opensource.org/licenses/OFL-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/OFL-1.1-RFN.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OFL-1.1-RFN.json", + "referenceNumber": 82, + "name": "SIL Open Font License 1.1 with Reserved Font Name", + "licenseId": "OFL-1.1-RFN", + "seeAlso": [ + "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web", + "https://opensource.org/licenses/OFL-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/OGC-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGC-1.0.json", + "referenceNumber": 612, + "name": "OGC Software License, Version 1.0", + "licenseId": "OGC-1.0", + "seeAlso": [ + "https://www.ogc.org/ogc/software/1.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OGDL-Taiwan-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGDL-Taiwan-1.0.json", + "referenceNumber": 129, + "name": "Taiwan Open Government Data License, version 1.0", + "licenseId": "OGDL-Taiwan-1.0", + "seeAlso": [ + "https://data.gov.tw/license" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OGL-Canada-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGL-Canada-2.0.json", + "referenceNumber": 544, + "name": "Open Government Licence - Canada", + "licenseId": "OGL-Canada-2.0", + "seeAlso": [ + "https://open.canada.ca/en/open-government-licence-canada" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OGL-UK-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGL-UK-1.0.json", + "referenceNumber": 168, + "name": "Open Government Licence v1.0", + "licenseId": "OGL-UK-1.0", + "seeAlso": [ + "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/1/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OGL-UK-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGL-UK-2.0.json", + "referenceNumber": 400, + "name": "Open Government Licence v2.0", + "licenseId": "OGL-UK-2.0", + "seeAlso": [ + "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/2/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OGL-UK-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGL-UK-3.0.json", + "referenceNumber": 570, + "name": "Open Government Licence v3.0", + "licenseId": "OGL-UK-3.0", + "seeAlso": [ + "http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OGTSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OGTSL.json", + "referenceNumber": 534, + "name": "Open Group Test Suite License", + "licenseId": "OGTSL", + "seeAlso": [ + "http://www.opengroup.org/testing/downloads/The_Open_Group_TSL.txt", + "https://opensource.org/licenses/OGTSL" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/OLDAP-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-1.1.json", + "referenceNumber": 333, + "name": "Open LDAP Public License v1.1", + "licenseId": "OLDAP-1.1", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d806557a5ad59804ef3a44d5abfbe91d706b0791f" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-1.2.json", + "referenceNumber": 281, + "name": "Open LDAP Public License v1.2", + "licenseId": "OLDAP-1.2", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d42b0383c50c299977b5893ee695cf4e486fb0dc7" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-1.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-1.3.json", + "referenceNumber": 386, + "name": "Open LDAP Public License v1.3", + "licenseId": "OLDAP-1.3", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003de5f8117f0ce088d0bd7a8e18ddf37eaa40eb09b1" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-1.4.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-1.4.json", + "referenceNumber": 105, + "name": "Open LDAP Public License v1.4", + "licenseId": "OLDAP-1.4", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dc9f95c2f3f2ffb5e0ae55fe7388af75547660941" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.0.json", + "referenceNumber": 657, + "name": "Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)", + "licenseId": "OLDAP-2.0", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dcbf50f4e1185a21abd4c0a54d3f4341fe28f36ea" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.0.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.0.1.json", + "referenceNumber": 654, + "name": "Open LDAP Public License v2.0.1", + "licenseId": "OLDAP-2.0.1", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003db6d68acd14e51ca3aab4428bf26522aa74873f0e" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.1.json", + "referenceNumber": 170, + "name": "Open LDAP Public License v2.1", + "licenseId": "OLDAP-2.1", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003db0d176738e96a0d3b9f85cb51e140a86f21be715" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.json", + "referenceNumber": 667, + "name": "Open LDAP Public License v2.2", + "licenseId": "OLDAP-2.2", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d470b0c18ec67621c85881b2733057fecf4a1acc3" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.1.json", + "referenceNumber": 378, + "name": "Open LDAP Public License v2.2.1", + "licenseId": "OLDAP-2.2.1", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d4bc786f34b50aa301be6f5600f58a980070f481e" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.2.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.2.json", + "referenceNumber": 314, + "name": "Open LDAP Public License 2.2.2", + "licenseId": "OLDAP-2.2.2", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003ddf2cc1e21eb7c160695f5b7cffd6296c151ba188" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.3.json", + "referenceNumber": 411, + "name": "Open LDAP Public License v2.3", + "licenseId": "OLDAP-2.3", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dd32cf54a32d581ab475d23c810b0a7fbaf8d63c3" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.4.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.4.json", + "referenceNumber": 382, + "name": "Open LDAP Public License v2.4", + "licenseId": "OLDAP-2.4", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003dcd1284c4a91a8a380d904eee68d1583f989ed386" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.5.json", + "referenceNumber": 443, + "name": "Open LDAP Public License v2.5", + "licenseId": "OLDAP-2.5", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d6852b9d90022e8593c98205413380536b1b5a7cf" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.6.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.6.json", + "referenceNumber": 344, + "name": "Open LDAP Public License v2.6", + "licenseId": "OLDAP-2.6", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d1cae062821881f41b73012ba816434897abf4205" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.7.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.7.json", + "referenceNumber": 574, + "name": "Open LDAP Public License v2.7", + "licenseId": "OLDAP-2.7", + "seeAlso": [ + "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d47c2415c1df81556eeb39be6cad458ef87c534a2" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OLDAP-2.8.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLDAP-2.8.json", + "referenceNumber": 364, + "name": "Open LDAP Public License v2.8", + "licenseId": "OLDAP-2.8", + "seeAlso": [ + "http://www.openldap.org/software/release/license.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/OLFL-1.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OLFL-1.3.json", + "referenceNumber": 121, + "name": "Open Logistics Foundation License Version 1.3", + "licenseId": "OLFL-1.3", + "seeAlso": [ + "https://openlogisticsfoundation.org/licenses/", + "https://opensource.org/license/olfl-1-3/" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/OML.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OML.json", + "referenceNumber": 116, + "name": "Open Market License", + "licenseId": "OML", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Open_Market_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OpenPBS-2.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OpenPBS-2.3.json", + "referenceNumber": 2, + "name": "OpenPBS v2.3 Software License", + "licenseId": "OpenPBS-2.3", + "seeAlso": [ + "https://github.com/adaptivecomputing/torque/blob/master/PBS_License.txt", + "https://www.mcs.anl.gov/research/projects/openpbs/PBS_License.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OpenSSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OpenSSL.json", + "referenceNumber": 275, + "name": "OpenSSL License", + "licenseId": "OpenSSL", + "seeAlso": [ + "http://www.openssl.org/source/license.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OpenSSL-standalone.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OpenSSL-standalone.json", + "referenceNumber": 128, + "name": "OpenSSL License - standalone", + "licenseId": "OpenSSL-standalone", + "seeAlso": [ + "https://library.netapp.com/ecm/ecm_download_file/ECMP1196395", + "https://hstechdocs.helpsystems.com/manuals/globalscape/archive/cuteftp6/open_ssl_license_agreement.htm" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OpenVision.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OpenVision.json", + "referenceNumber": 36, + "name": "OpenVision License", + "licenseId": "OpenVision", + "seeAlso": [ + "https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L66-L98", + "https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html", + "https://fedoraproject.org/wiki/Licensing:MIT#OpenVision_Variant" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OPL-1.0.json", + "referenceNumber": 614, + "name": "Open Public License v1.0", + "licenseId": "OPL-1.0", + "seeAlso": [ + "http://old.koalateam.com/jackaroo/OPL_1_0.TXT", + "https://fedoraproject.org/wiki/Licensing/Open_Public_License" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/OPL-UK-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OPL-UK-3.0.json", + "referenceNumber": 285, + "name": "United Kingdom Open Parliament Licence v3.0", + "licenseId": "OPL-UK-3.0", + "seeAlso": [ + "https://www.parliament.uk/site-information/copyright-parliament/open-parliament-licence/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OPUBL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OPUBL-1.0.json", + "referenceNumber": 414, + "name": "Open Publication License v1.0", + "licenseId": "OPUBL-1.0", + "seeAlso": [ + "http://opencontent.org/openpub/", + "https://www.debian.org/opl", + "https://www.ctan.org/license/opl" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/OSET-PL-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OSET-PL-2.1.json", + "referenceNumber": 183, + "name": "OSET Public License version 2.1", + "licenseId": "OSET-PL-2.1", + "seeAlso": [ + "http://www.osetfoundation.org/public-license", + "https://opensource.org/licenses/OPL-2.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/OSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OSL-1.0.json", + "referenceNumber": 651, + "name": "Open Software License 1.0", + "licenseId": "OSL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/OSL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OSL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OSL-1.1.json", + "referenceNumber": 453, + "name": "Open Software License 1.1", + "licenseId": "OSL-1.1", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/OSL1.1" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OSL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OSL-2.0.json", + "referenceNumber": 179, + "name": "Open Software License 2.0", + "licenseId": "OSL-2.0", + "seeAlso": [ + "http://web.archive.org/web/20041020171434/http://www.rosenlaw.com/osl2.0.html" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OSL-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OSL-2.1.json", + "referenceNumber": 29, + "name": "Open Software License 2.1", + "licenseId": "OSL-2.1", + "seeAlso": [ + "http://web.archive.org/web/20050212003940/http://www.rosenlaw.com/osl21.htm", + "https://opensource.org/licenses/OSL-2.1" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/OSL-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/OSL-3.0.json", + "referenceNumber": 3, + "name": "Open Software License 3.0", + "licenseId": "OSL-3.0", + "seeAlso": [ + "https://web.archive.org/web/20120101081418/http://rosenlaw.com:80/OSL3.0.htm", + "https://opensource.org/licenses/OSL-3.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/PADL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PADL.json", + "referenceNumber": 284, + "name": "PADL License", + "licenseId": "PADL", + "seeAlso": [ + "https://git.openldap.org/openldap/openldap/-/blob/master/libraries/libldap/os-local.c?ref_type\u003dheads#L19-23" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Parity-6.0.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Parity-6.0.0.json", + "referenceNumber": 241, + "name": "The Parity Public License 6.0.0", + "licenseId": "Parity-6.0.0", + "seeAlso": [ + "https://paritylicense.com/versions/6.0.0.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Parity-7.0.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Parity-7.0.0.json", + "referenceNumber": 235, + "name": "The Parity Public License 7.0.0", + "licenseId": "Parity-7.0.0", + "seeAlso": [ + "https://paritylicense.com/versions/7.0.0.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/PDDL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PDDL-1.0.json", + "referenceNumber": 684, + "name": "Open Data Commons Public Domain Dedication \u0026 License 1.0", + "licenseId": "PDDL-1.0", + "seeAlso": [ + "http://opendatacommons.org/licenses/pddl/1.0/", + "https://opendatacommons.org/licenses/pddl/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/PHP-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PHP-3.0.json", + "referenceNumber": 133, + "name": "PHP License v3.0", + "licenseId": "PHP-3.0", + "seeAlso": [ + "http://www.php.net/license/3_0.txt", + "https://opensource.org/licenses/PHP-3.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/PHP-3.01.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PHP-3.01.json", + "referenceNumber": 221, + "name": "PHP License v3.01", + "licenseId": "PHP-3.01", + "seeAlso": [ + "http://www.php.net/license/3_01.txt" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Pixar.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Pixar.json", + "referenceNumber": 435, + "name": "Pixar License", + "licenseId": "Pixar", + "seeAlso": [ + "https://github.com/PixarAnimationStudios/OpenSubdiv/raw/v3_5_0/LICENSE.txt", + "https://graphics.pixar.com/opensubdiv/docs/license.html", + "https://github.com/PixarAnimationStudios/OpenSubdiv/blob/v3_5_0/opensubdiv/version.cpp#L2-L22" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/pkgconf.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/pkgconf.json", + "referenceNumber": 670, + "name": "pkgconf License", + "licenseId": "pkgconf", + "seeAlso": [ + "https://github.com/pkgconf/pkgconf/blob/master/cli/main.c#L8" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Plexus.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Plexus.json", + "referenceNumber": 181, + "name": "Plexus Classworlds License", + "licenseId": "Plexus", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Plexus_Classworlds_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/pnmstitch.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/pnmstitch.json", + "referenceNumber": 691, + "name": "pnmstitch License", + "licenseId": "pnmstitch", + "seeAlso": [ + "https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/editor/pnmstitch.c#l2" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.json", + "referenceNumber": 119, + "name": "PolyForm Noncommercial License 1.0.0", + "licenseId": "PolyForm-Noncommercial-1.0.0", + "seeAlso": [ + "https://polyformproject.org/licenses/noncommercial/1.0.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/PolyForm-Small-Business-1.0.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PolyForm-Small-Business-1.0.0.json", + "referenceNumber": 30, + "name": "PolyForm Small Business License 1.0.0", + "licenseId": "PolyForm-Small-Business-1.0.0", + "seeAlso": [ + "https://polyformproject.org/licenses/small-business/1.0.0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/PostgreSQL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PostgreSQL.json", + "referenceNumber": 697, + "name": "PostgreSQL License", + "licenseId": "PostgreSQL", + "seeAlso": [ + "http://www.postgresql.org/about/licence", + "https://opensource.org/licenses/PostgreSQL" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/PPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PPL.json", + "referenceNumber": 150, + "name": "Peer Production License", + "licenseId": "PPL", + "seeAlso": [ + "https://wiki.p2pfoundation.net/Peer_Production_License", + "http://www.networkcultures.org/_uploads/%233notebook_telekommunist.pdf" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/PSF-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/PSF-2.0.json", + "referenceNumber": 211, + "name": "Python Software Foundation License 2.0", + "licenseId": "PSF-2.0", + "seeAlso": [ + "https://opensource.org/licenses/Python-2.0", + "https://matplotlib.org/stable/project/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/psfrag.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/psfrag.json", + "referenceNumber": 423, + "name": "psfrag License", + "licenseId": "psfrag", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/psfrag" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/psutils.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/psutils.json", + "referenceNumber": 500, + "name": "psutils License", + "licenseId": "psutils", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/psutils" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Python-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Python-2.0.json", + "referenceNumber": 628, + "name": "Python License 2.0", + "licenseId": "Python-2.0", + "seeAlso": [ + "https://opensource.org/licenses/Python-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Python-2.0.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Python-2.0.1.json", + "referenceNumber": 586, + "name": "Python License 2.0.1", + "licenseId": "Python-2.0.1", + "seeAlso": [ + "https://www.python.org/download/releases/2.0.1/license/", + "https://docs.python.org/3/license.html", + "https://github.com/python/cpython/blob/main/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/python-ldap.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/python-ldap.json", + "referenceNumber": 630, + "name": "Python ldap License", + "licenseId": "python-ldap", + "seeAlso": [ + "https://github.com/python-ldap/python-ldap/blob/main/LICENCE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Qhull.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Qhull.json", + "referenceNumber": 590, + "name": "Qhull License", + "licenseId": "Qhull", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Qhull" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/QPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/QPL-1.0.json", + "referenceNumber": 693, + "name": "Q Public License 1.0", + "licenseId": "QPL-1.0", + "seeAlso": [ + "http://doc.qt.nokia.com/3.3/license.html", + "https://opensource.org/licenses/QPL-1.0", + "https://doc.qt.io/archives/3.3/license.html" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/QPL-1.0-INRIA-2004.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/QPL-1.0-INRIA-2004.json", + "referenceNumber": 117, + "name": "Q Public License 1.0 - INRIA 2004 variant", + "licenseId": "QPL-1.0-INRIA-2004", + "seeAlso": [ + "https://github.com/maranget/hevea/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/radvd.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/radvd.json", + "referenceNumber": 678, + "name": "radvd License", + "licenseId": "radvd", + "seeAlso": [ + "https://github.com/radvd-project/radvd/blob/master/COPYRIGHT" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Rdisc.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Rdisc.json", + "referenceNumber": 4, + "name": "Rdisc License", + "licenseId": "Rdisc", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Rdisc_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/RHeCos-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/RHeCos-1.1.json", + "referenceNumber": 258, + "name": "Red Hat eCos Public License v1.1", + "licenseId": "RHeCos-1.1", + "seeAlso": [ + "http://ecos.sourceware.org/old-license.html" + ], + "isOsiApproved": false, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/RPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/RPL-1.1.json", + "referenceNumber": 57, + "name": "Reciprocal Public License 1.1", + "licenseId": "RPL-1.1", + "seeAlso": [ + "https://opensource.org/licenses/RPL-1.1" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/RPL-1.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/RPL-1.5.json", + "referenceNumber": 413, + "name": "Reciprocal Public License 1.5", + "licenseId": "RPL-1.5", + "seeAlso": [ + "https://opensource.org/licenses/RPL-1.5" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/RPSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/RPSL-1.0.json", + "referenceNumber": 104, + "name": "RealNetworks Public Source License v1.0", + "licenseId": "RPSL-1.0", + "seeAlso": [ + "https://helixcommunity.org/content/rpsl", + "https://opensource.org/licenses/RPSL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/RSA-MD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/RSA-MD.json", + "referenceNumber": 12, + "name": "RSA Message-Digest License", + "licenseId": "RSA-MD", + "seeAlso": [ + "http://www.faqs.org/rfcs/rfc1321.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/RSCPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/RSCPL.json", + "referenceNumber": 166, + "name": "Ricoh Source Code Public License", + "licenseId": "RSCPL", + "seeAlso": [ + "http://wayback.archive.org/web/20060715140826/http://www.risource.org/RPL/RPL-1.0A.shtml", + "https://opensource.org/licenses/RSCPL" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Ruby.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Ruby.json", + "referenceNumber": 490, + "name": "Ruby License", + "licenseId": "Ruby", + "seeAlso": [ + "https://www.ruby-lang.org/en/about/license.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Ruby-pty.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Ruby-pty.json", + "referenceNumber": 509, + "name": "Ruby pty extension license", + "licenseId": "Ruby-pty", + "seeAlso": [ + "https://github.com/ruby/ruby/blob/9f6deaa6888a423720b4b127b5314f0ad26cc2e6/ext/pty/pty.c#L775-L786", + "https://github.com/ruby/ruby/commit/0a64817fb80016030c03518fb9459f63c11605ea#diff-ef5fa30838d6d0cecad9e675cc50b24628cfe2cb277c346053fafcc36c91c204", + "https://github.com/ruby/ruby/commit/0a64817fb80016030c03518fb9459f63c11605ea#diff-fedf217c1ce44bda01f0a678d3ff8b198bed478754d699c527a698ad933979a0" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SAX-PD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SAX-PD.json", + "referenceNumber": 22, + "name": "Sax Public Domain Notice", + "licenseId": "SAX-PD", + "seeAlso": [ + "http://www.saxproject.org/copying.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SAX-PD-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SAX-PD-2.0.json", + "referenceNumber": 346, + "name": "Sax Public Domain Notice 2.0", + "licenseId": "SAX-PD-2.0", + "seeAlso": [ + "http://www.saxproject.org/copying.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Saxpath.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Saxpath.json", + "referenceNumber": 390, + "name": "Saxpath License", + "licenseId": "Saxpath", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Saxpath_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SCEA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SCEA.json", + "referenceNumber": 484, + "name": "SCEA Shared Source License", + "licenseId": "SCEA", + "seeAlso": [ + "http://research.scea.com/scea_shared_source_license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SchemeReport.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SchemeReport.json", + "referenceNumber": 91, + "name": "Scheme Language Report License", + "licenseId": "SchemeReport", + "seeAlso": [], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Sendmail.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Sendmail.json", + "referenceNumber": 266, + "name": "Sendmail License", + "licenseId": "Sendmail", + "seeAlso": [ + "http://www.sendmail.com/pdfs/open_source/sendmail_license.pdf", + "https://web.archive.org/web/20160322142305/https://www.sendmail.com/pdfs/open_source/sendmail_license.pdf" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Sendmail-8.23.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Sendmail-8.23.json", + "referenceNumber": 55, + "name": "Sendmail License 8.23", + "licenseId": "Sendmail-8.23", + "seeAlso": [ + "https://www.proofpoint.com/sites/default/files/sendmail-license.pdf", + "https://web.archive.org/web/20181003101040/https://www.proofpoint.com/sites/default/files/sendmail-license.pdf" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Sendmail-Open-Source-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Sendmail-Open-Source-1.1.json", + "referenceNumber": 620, + "name": "Sendmail Open Source License v1.1", + "licenseId": "Sendmail-Open-Source-1.1", + "seeAlso": [ + "https://github.com/trusteddomainproject/OpenDMARC/blob/master/LICENSE.Sendmail" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SGI-B-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SGI-B-1.0.json", + "referenceNumber": 56, + "name": "SGI Free Software License B v1.0", + "licenseId": "SGI-B-1.0", + "seeAlso": [ + "http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.1.0.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SGI-B-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SGI-B-1.1.json", + "referenceNumber": 296, + "name": "SGI Free Software License B v1.1", + "licenseId": "SGI-B-1.1", + "seeAlso": [ + "http://oss.sgi.com/projects/FreeB/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SGI-B-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SGI-B-2.0.json", + "referenceNumber": 617, + "name": "SGI Free Software License B v2.0", + "licenseId": "SGI-B-2.0", + "seeAlso": [ + "http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.2.0.pdf" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/SGI-OpenGL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SGI-OpenGL.json", + "referenceNumber": 34, + "name": "SGI OpenGL License", + "licenseId": "SGI-OpenGL", + "seeAlso": [ + "https://gitlab.freedesktop.org/mesa/glw/-/blob/master/README?ref_type\u003dheads" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SGP4.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SGP4.json", + "referenceNumber": 572, + "name": "SGP4 Permission Notice", + "licenseId": "SGP4", + "seeAlso": [ + "https://celestrak.org/publications/AIAA/2006-6753/faq.php" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SHL-0.5.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SHL-0.5.json", + "referenceNumber": 267, + "name": "Solderpad Hardware License v0.5", + "licenseId": "SHL-0.5", + "seeAlso": [ + "https://solderpad.org/licenses/SHL-0.5/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SHL-0.51.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SHL-0.51.json", + "referenceNumber": 582, + "name": "Solderpad Hardware License, Version 0.51", + "licenseId": "SHL-0.51", + "seeAlso": [ + "https://solderpad.org/licenses/SHL-0.51/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SimPL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SimPL-2.0.json", + "referenceNumber": 452, + "name": "Simple Public License 2.0", + "licenseId": "SimPL-2.0", + "seeAlso": [ + "https://opensource.org/licenses/SimPL-2.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/SISSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SISSL.json", + "referenceNumber": 110, + "name": "Sun Industry Standards Source License v1.1", + "licenseId": "SISSL", + "seeAlso": [ + "http://www.openoffice.org/licenses/sissl_license.html", + "https://opensource.org/licenses/SISSL" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/SISSL-1.2.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SISSL-1.2.json", + "referenceNumber": 253, + "name": "Sun Industry Standards Source License v1.2", + "licenseId": "SISSL-1.2", + "seeAlso": [ + "http://gridscheduler.sourceforge.net/Gridengine_SISSL_license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SL.json", + "referenceNumber": 83, + "name": "SL License", + "licenseId": "SL", + "seeAlso": [ + "https://github.com/mtoyoda/sl/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Sleepycat.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Sleepycat.json", + "referenceNumber": 42, + "name": "Sleepycat License", + "licenseId": "Sleepycat", + "seeAlso": [ + "https://opensource.org/licenses/Sleepycat" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/SMAIL-GPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SMAIL-GPL.json", + "referenceNumber": 546, + "name": "SMAIL General Public License", + "licenseId": "SMAIL-GPL", + "seeAlso": [ + "https://sources.debian.org/copyright/license/debianutils/4.11.2/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SMLNJ.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SMLNJ.json", + "referenceNumber": 81, + "name": "Standard ML of New Jersey License", + "licenseId": "SMLNJ", + "seeAlso": [ + "https://www.smlnj.org/license.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/SMPPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SMPPL.json", + "referenceNumber": 579, + "name": "Secure Messaging Protocol Public License", + "licenseId": "SMPPL", + "seeAlso": [ + "https://github.com/dcblake/SMP/blob/master/Documentation/License.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SNIA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SNIA.json", + "referenceNumber": 224, + "name": "SNIA Public License 1.1", + "licenseId": "SNIA", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/SNIA_Public_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/snprintf.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/snprintf.json", + "referenceNumber": 594, + "name": "snprintf License", + "licenseId": "snprintf", + "seeAlso": [ + "https://github.com/openssh/openssh-portable/blob/master/openbsd-compat/bsd-snprintf.c#L2" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SOFA.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SOFA.json", + "referenceNumber": 375, + "name": "SOFA Software License", + "licenseId": "SOFA", + "seeAlso": [ + "http://www.iausofa.org/tandc.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/softSurfer.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/softSurfer.json", + "referenceNumber": 593, + "name": "softSurfer License", + "licenseId": "softSurfer", + "seeAlso": [ + "https://github.com/mm2/Little-CMS/blob/master/src/cmssm.c#L207", + "https://fedoraproject.org/wiki/Licensing/softSurfer" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Soundex.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Soundex.json", + "referenceNumber": 374, + "name": "Soundex License", + "licenseId": "Soundex", + "seeAlso": [ + "https://metacpan.org/release/RJBS/Text-Soundex-3.05/source/Soundex.pm#L3-11" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Spencer-86.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Spencer-86.json", + "referenceNumber": 193, + "name": "Spencer License 86", + "licenseId": "Spencer-86", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Spencer-94.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Spencer-94.json", + "referenceNumber": 451, + "name": "Spencer License 94", + "licenseId": "Spencer-94", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License", + "https://metacpan.org/release/KNOK/File-MMagic-1.30/source/COPYING#L28" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Spencer-99.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Spencer-99.json", + "referenceNumber": 220, + "name": "Spencer License 99", + "licenseId": "Spencer-99", + "seeAlso": [ + "http://www.opensource.apple.com/source/tcl/tcl-5/tcl/generic/regfronts.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SPL-1.0.json", + "referenceNumber": 342, + "name": "Sun Public License v1.0", + "licenseId": "SPL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/SPL-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ssh-keyscan.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ssh-keyscan.json", + "referenceNumber": 537, + "name": "ssh-keyscan License", + "licenseId": "ssh-keyscan", + "seeAlso": [ + "https://github.com/openssh/openssh-portable/blob/master/LICENCE#L82" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SSH-OpenSSH.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SSH-OpenSSH.json", + "referenceNumber": 463, + "name": "SSH OpenSSH license", + "licenseId": "SSH-OpenSSH", + "seeAlso": [ + "https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/LICENCE#L10" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SSH-short.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SSH-short.json", + "referenceNumber": 573, + "name": "SSH short notice", + "licenseId": "SSH-short", + "seeAlso": [ + "https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/pathnames.h", + "http://web.mit.edu/kolya/.f/root/athena.mit.edu/sipb.mit.edu/project/openssh/OldFiles/src/openssh-2.9.9p2/ssh-add.1", + "https://joinup.ec.europa.eu/svn/lesoll/trunk/italc/lib/src/dsa_key.cpp" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SSLeay-standalone.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SSLeay-standalone.json", + "referenceNumber": 96, + "name": "SSLeay License - standalone", + "licenseId": "SSLeay-standalone", + "seeAlso": [ + "https://www.tq-group.com/filedownloads/files/software-license-conditions/OriginalSSLeay/OriginalSSLeay.pdf" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SSPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SSPL-1.0.json", + "referenceNumber": 664, + "name": "Server Side Public License, v 1", + "licenseId": "SSPL-1.0", + "seeAlso": [ + "https://www.mongodb.com/licensing/server-side-public-license" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/StandardML-NJ.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/StandardML-NJ.json", + "referenceNumber": 501, + "name": "Standard ML of New Jersey License", + "licenseId": "StandardML-NJ", + "seeAlso": [ + "https://www.smlnj.org/license.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/SugarCRM-1.1.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SugarCRM-1.1.3.json", + "referenceNumber": 222, + "name": "SugarCRM Public License v1.1.3", + "licenseId": "SugarCRM-1.1.3", + "seeAlso": [ + "http://www.sugarcrm.com/crm/SPL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SUL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SUL-1.0.json", + "referenceNumber": 557, + "name": "Sustainable Use License v1.0", + "licenseId": "SUL-1.0", + "seeAlso": [ + "https://github.com/n8n-io/n8n/blob/master/LICENSE.md" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Sun-PPP.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Sun-PPP.json", + "referenceNumber": 39, + "name": "Sun PPP License", + "licenseId": "Sun-PPP", + "seeAlso": [ + "https://github.com/ppp-project/ppp/blob/master/pppd/eap.c#L7-L16" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Sun-PPP-2000.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Sun-PPP-2000.json", + "referenceNumber": 70, + "name": "Sun PPP License (2000)", + "licenseId": "Sun-PPP-2000", + "seeAlso": [ + "https://github.com/ppp-project/ppp/blob/master/modules/ppp_ahdlc.c#L7-L19" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SunPro.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SunPro.json", + "referenceNumber": 395, + "name": "SunPro License", + "licenseId": "SunPro", + "seeAlso": [ + "https://github.com/freebsd/freebsd-src/blob/main/lib/msun/src/e_acosh.c", + "https://github.com/freebsd/freebsd-src/blob/main/lib/msun/src/e_lgammal.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/SWL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/SWL.json", + "referenceNumber": 196, + "name": "Scheme Widget Library (SWL) Software License Agreement", + "licenseId": "SWL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/SWL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/swrule.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/swrule.json", + "referenceNumber": 348, + "name": "swrule License", + "licenseId": "swrule", + "seeAlso": [ + "https://ctan.math.utah.edu/ctan/tex-archive/macros/generic/misc/swrule.sty" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Symlinks.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Symlinks.json", + "referenceNumber": 517, + "name": "Symlinks License", + "licenseId": "Symlinks", + "seeAlso": [ + "https://www.mail-archive.com/debian-bugs-rc@lists.debian.org/msg11494.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TAPR-OHL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TAPR-OHL-1.0.json", + "referenceNumber": 80, + "name": "TAPR Open Hardware License v1.0", + "licenseId": "TAPR-OHL-1.0", + "seeAlso": [ + "https://www.tapr.org/OHL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TCL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TCL.json", + "referenceNumber": 625, + "name": "TCL/TK License", + "licenseId": "TCL", + "seeAlso": [ + "http://www.tcl.tk/software/tcltk/license.html", + "https://fedoraproject.org/wiki/Licensing/TCL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TCP-wrappers.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TCP-wrappers.json", + "referenceNumber": 278, + "name": "TCP Wrappers License", + "licenseId": "TCP-wrappers", + "seeAlso": [ + "http://rc.quest.com/topics/openssh/license.php#tcpwrappers" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TermReadKey.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TermReadKey.json", + "referenceNumber": 619, + "name": "TermReadKey License", + "licenseId": "TermReadKey", + "seeAlso": [ + "https://github.com/jonathanstowe/TermReadKey/blob/master/README#L9-L10" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TGPPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TGPPL-1.0.json", + "referenceNumber": 142, + "name": "Transitive Grace Period Public Licence 1.0", + "licenseId": "TGPPL-1.0", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/TGPPL", + "https://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/COPYING.TGPPL.rst" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ThirdEye.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ThirdEye.json", + "referenceNumber": 403, + "name": "ThirdEye License", + "licenseId": "ThirdEye", + "seeAlso": [ + "https://sourceware.org/cgit/binutils-gdb/tree/include/coff/symconst.h#n11" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/threeparttable.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/threeparttable.json", + "referenceNumber": 14, + "name": "threeparttable License", + "licenseId": "threeparttable", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Threeparttable" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TMate.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TMate.json", + "referenceNumber": 176, + "name": "TMate Open Source License", + "licenseId": "TMate", + "seeAlso": [ + "http://svnkit.com/license.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TORQUE-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TORQUE-1.1.json", + "referenceNumber": 214, + "name": "TORQUE v2.5+ Software License v1.1", + "licenseId": "TORQUE-1.1", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/TORQUEv1.1" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TOSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TOSL.json", + "referenceNumber": 416, + "name": "Trusster Open Source License", + "licenseId": "TOSL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/TOSL" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TPDL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TPDL.json", + "referenceNumber": 666, + "name": "Time::ParseDate License", + "licenseId": "TPDL", + "seeAlso": [ + "https://metacpan.org/pod/Time::ParseDate#LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TPL-1.0.json", + "referenceNumber": 540, + "name": "THOR Public License 1.0", + "licenseId": "TPL-1.0", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing:ThorPublicLicense" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TrustedQSL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TrustedQSL.json", + "referenceNumber": 37, + "name": "TrustedQSL License", + "licenseId": "TrustedQSL", + "seeAlso": [ + "https://sourceforge.net/p/trustedqsl/tqsl/ci/master/tree/LICENSE.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TTWL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TTWL.json", + "referenceNumber": 598, + "name": "Text-Tabs+Wrap License", + "licenseId": "TTWL", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/TTWL", + "https://github.com/ap/Text-Tabs/blob/master/lib.modern/Text/Tabs.pm#L148" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TTYP0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TTYP0.json", + "referenceNumber": 236, + "name": "TTYP0 License", + "licenseId": "TTYP0", + "seeAlso": [ + "https://people.mpi-inf.mpg.de/~uwe/misc/uw-ttyp0/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TU-Berlin-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TU-Berlin-1.0.json", + "referenceNumber": 106, + "name": "Technische Universitaet Berlin License 1.0", + "licenseId": "TU-Berlin-1.0", + "seeAlso": [ + "https://github.com/swh/ladspa/blob/7bf6f3799fdba70fda297c2d8fd9f526803d9680/gsm/COPYRIGHT" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/TU-Berlin-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/TU-Berlin-2.0.json", + "referenceNumber": 669, + "name": "Technische Universitaet Berlin License 2.0", + "licenseId": "TU-Berlin-2.0", + "seeAlso": [ + "https://github.com/CorsixTH/deps/blob/fd339a9f526d1d9c9f01ccf39e438a015da50035/licences/libgsm.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Ubuntu-font-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Ubuntu-font-1.0.json", + "referenceNumber": 268, + "name": "Ubuntu Font Licence v1.0", + "licenseId": "Ubuntu-font-1.0", + "seeAlso": [ + "https://ubuntu.com/legal/font-licence", + "https://assets.ubuntu.com/v1/81e5605d-ubuntu-font-licence-1.0.txt" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/UCAR.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/UCAR.json", + "referenceNumber": 353, + "name": "UCAR License", + "licenseId": "UCAR", + "seeAlso": [ + "https://github.com/Unidata/UDUNITS-2/blob/master/COPYRIGHT" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/UCL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/UCL-1.0.json", + "referenceNumber": 611, + "name": "Upstream Compatibility License v1.0", + "licenseId": "UCL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/UCL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/ulem.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ulem.json", + "referenceNumber": 514, + "name": "ulem License", + "licenseId": "ulem", + "seeAlso": [ + "https://mirrors.ctan.org/macros/latex/contrib/ulem/README" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/UMich-Merit.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/UMich-Merit.json", + "referenceNumber": 48, + "name": "Michigan/Merit Networks License", + "licenseId": "UMich-Merit", + "seeAlso": [ + "https://github.com/radcli/radcli/blob/master/COPYRIGHT#L64" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Unicode-3.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Unicode-3.0.json", + "referenceNumber": 308, + "name": "Unicode License v3", + "licenseId": "Unicode-3.0", + "seeAlso": [ + "https://www.unicode.org/license.txt" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Unicode-DFS-2015.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Unicode-DFS-2015.json", + "referenceNumber": 254, + "name": "Unicode License Agreement - Data Files and Software (2015)", + "licenseId": "Unicode-DFS-2015", + "seeAlso": [ + "https://web.archive.org/web/20151224134844/http://unicode.org/copyright.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Unicode-DFS-2016.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Unicode-DFS-2016.json", + "referenceNumber": 309, + "name": "Unicode License Agreement - Data Files and Software (2016)", + "licenseId": "Unicode-DFS-2016", + "seeAlso": [ + "https://www.unicode.org/license.txt", + "http://web.archive.org/web/20160823201924/http://www.unicode.org/copyright.html#License", + "http://www.unicode.org/copyright.html" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/Unicode-TOU.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Unicode-TOU.json", + "referenceNumber": 115, + "name": "Unicode Terms of Use", + "licenseId": "Unicode-TOU", + "seeAlso": [ + "http://web.archive.org/web/20140704074106/http://www.unicode.org/copyright.html", + "http://www.unicode.org/copyright.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/UnixCrypt.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/UnixCrypt.json", + "referenceNumber": 180, + "name": "UnixCrypt License", + "licenseId": "UnixCrypt", + "seeAlso": [ + "https://foss.heptapod.net/python-libs/passlib/-/blob/branch/stable/LICENSE#L70", + "https://opensource.apple.com/source/JBoss/JBoss-737/jboss-all/jetty/src/main/org/mortbay/util/UnixCrypt.java.auto.html", + "https://archive.eclipse.org/jetty/8.0.1.v20110908/xref/org/eclipse/jetty/http/security/UnixCrypt.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Unlicense.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Unlicense.json", + "referenceNumber": 337, + "name": "The Unlicense", + "licenseId": "Unlicense", + "seeAlso": [ + "https://unlicense.org/" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Unlicense-libtelnet.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Unlicense-libtelnet.json", + "referenceNumber": 113, + "name": "Unlicense - libtelnet variant", + "licenseId": "Unlicense-libtelnet", + "seeAlso": [ + "https://github.com/seanmiddleditch/libtelnet/blob/develop/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Unlicense-libwhirlpool.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Unlicense-libwhirlpool.json", + "referenceNumber": 565, + "name": "Unlicense - libwhirlpool variant", + "licenseId": "Unlicense-libwhirlpool", + "seeAlso": [ + "https://github.com/dfateyev/libwhirlpool/blob/master/README#L27" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/UPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/UPL-1.0.json", + "referenceNumber": 88, + "name": "Universal Permissive License v1.0", + "licenseId": "UPL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/UPL" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/URT-RLE.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/URT-RLE.json", + "referenceNumber": 380, + "name": "Utah Raster Toolkit Run Length Encoded License", + "licenseId": "URT-RLE", + "seeAlso": [ + "https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/converter/other/pnmtorle.c", + "https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/converter/other/rletopnm.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Vim.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Vim.json", + "referenceNumber": 327, + "name": "Vim License", + "licenseId": "Vim", + "seeAlso": [ + "http://vimdoc.sourceforge.net/htmldoc/uganda.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/VOSTROM.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/VOSTROM.json", + "referenceNumber": 575, + "name": "VOSTROM Public License for Open Source", + "licenseId": "VOSTROM", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/VOSTROM" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/VSL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/VSL-1.0.json", + "referenceNumber": 562, + "name": "Vovida Software License v1.0", + "licenseId": "VSL-1.0", + "seeAlso": [ + "https://opensource.org/licenses/VSL-1.0" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/W3C.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/W3C.json", + "referenceNumber": 479, + "name": "W3C Software Notice and License (2002-12-31)", + "licenseId": "W3C", + "seeAlso": [ + "http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html", + "https://opensource.org/licenses/W3C" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/W3C-19980720.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/W3C-19980720.json", + "referenceNumber": 365, + "name": "W3C Software Notice and License (1998-07-20)", + "licenseId": "W3C-19980720", + "seeAlso": [ + "http://www.w3.org/Consortium/Legal/copyright-software-19980720.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/W3C-20150513.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/W3C-20150513.json", + "referenceNumber": 295, + "name": "W3C Software Notice and Document License (2015-05-13)", + "licenseId": "W3C-20150513", + "seeAlso": [ + "https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document", + "https://www.w3.org/copyright/software-license-2015/", + "https://www.w3.org/copyright/software-license-2023/" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/w3m.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/w3m.json", + "referenceNumber": 141, + "name": "w3m License", + "licenseId": "w3m", + "seeAlso": [ + "https://github.com/tats/w3m/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Watcom-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Watcom-1.0.json", + "referenceNumber": 527, + "name": "Sybase Open Watcom Public License 1.0", + "licenseId": "Watcom-1.0", + "seeAlso": [ + "https://opensource.org/licenses/Watcom-1.0" + ], + "isOsiApproved": true, + "isFsfLibre": false + }, + { + "reference": "https://spdx.org/licenses/Widget-Workshop.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Widget-Workshop.json", + "referenceNumber": 522, + "name": "Widget Workshop License", + "licenseId": "Widget-Workshop", + "seeAlso": [ + "https://github.com/novnc/noVNC/blob/master/core/crypto/des.js#L24" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Wsuipa.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Wsuipa.json", + "referenceNumber": 564, + "name": "Wsuipa License", + "licenseId": "Wsuipa", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Wsuipa" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/WTFPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/WTFPL.json", + "referenceNumber": 418, + "name": "Do What The F*ck You Want To Public License", + "licenseId": "WTFPL", + "seeAlso": [ + "http://www.wtfpl.net/about/", + "http://sam.zoy.org/wtfpl/COPYING" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/wwl.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/wwl.json", + "referenceNumber": 627, + "name": "WWL License", + "licenseId": "wwl", + "seeAlso": [ + "http://www.db.net/downloads/wwl+db-1.3.tgz" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/wxWindows.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/wxWindows.json", + "referenceNumber": 431, + "name": "wxWindows Library License", + "licenseId": "wxWindows", + "seeAlso": [ + "https://opensource.org/licenses/WXwindows" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/X11.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/X11.json", + "referenceNumber": 0, + "name": "X11 License", + "licenseId": "X11", + "seeAlso": [ + "http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/X11-distribute-modifications-variant.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/X11-distribute-modifications-variant.json", + "referenceNumber": 302, + "name": "X11 License Distribution Modification Variant", + "licenseId": "X11-distribute-modifications-variant", + "seeAlso": [ + "https://github.com/mirror/ncurses/blob/master/COPYING" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/X11-swapped.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/X11-swapped.json", + "referenceNumber": 248, + "name": "X11 swapped final paragraphs", + "licenseId": "X11-swapped", + "seeAlso": [ + "https://github.com/fedeinthemix/chez-srfi/blob/master/srfi/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Xdebug-1.03.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Xdebug-1.03.json", + "referenceNumber": 109, + "name": "Xdebug License v 1.03", + "licenseId": "Xdebug-1.03", + "seeAlso": [ + "https://github.com/xdebug/xdebug/blob/master/LICENSE" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Xerox.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Xerox.json", + "referenceNumber": 615, + "name": "Xerox License", + "licenseId": "Xerox", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Xerox" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Xfig.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Xfig.json", + "referenceNumber": 125, + "name": "Xfig License", + "licenseId": "Xfig", + "seeAlso": [ + "https://github.com/Distrotech/transfig/blob/master/transfig/transfig.c", + "https://fedoraproject.org/wiki/Licensing:MIT#Xfig_Variant", + "https://sourceforge.net/p/mcj/xfig/ci/master/tree/src/Makefile.am" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/XFree86-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/XFree86-1.1.json", + "referenceNumber": 646, + "name": "XFree86 License 1.1", + "licenseId": "XFree86-1.1", + "seeAlso": [ + "http://www.xfree86.org/current/LICENSE4.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/xinetd.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/xinetd.json", + "referenceNumber": 93, + "name": "xinetd License", + "licenseId": "xinetd", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Xinetd_License" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/xkeyboard-config-Zinoviev.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/xkeyboard-config-Zinoviev.json", + "referenceNumber": 212, + "name": "xkeyboard-config Zinoviev License", + "licenseId": "xkeyboard-config-Zinoviev", + "seeAlso": [ + "https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/blob/master/COPYING?ref_type\u003dheads#L178" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/xlock.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/xlock.json", + "referenceNumber": 362, + "name": "xlock License", + "licenseId": "xlock", + "seeAlso": [ + "https://fossies.org/linux/tiff/contrib/ras/ras2tif.c" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Xnet.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Xnet.json", + "referenceNumber": 470, + "name": "X.Net License", + "licenseId": "Xnet", + "seeAlso": [ + "https://opensource.org/licenses/Xnet" + ], + "isOsiApproved": true + }, + { + "reference": "https://spdx.org/licenses/xpp.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/xpp.json", + "referenceNumber": 290, + "name": "XPP License", + "licenseId": "xpp", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/xpp" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/XSkat.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/XSkat.json", + "referenceNumber": 293, + "name": "XSkat License", + "licenseId": "XSkat", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/XSkat_License" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/xzoom.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/xzoom.json", + "referenceNumber": 90, + "name": "xzoom License", + "licenseId": "xzoom", + "seeAlso": [ + "https://metadata.ftp-master.debian.org/changelogs//main/x/xzoom/xzoom_0.3-27_copyright" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/YPL-1.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/YPL-1.0.json", + "referenceNumber": 294, + "name": "Yahoo! Public License v1.0", + "licenseId": "YPL-1.0", + "seeAlso": [ + "http://www.zimbra.com/license/yahoo_public_license_1.0.html" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/YPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/YPL-1.1.json", + "referenceNumber": 481, + "name": "Yahoo! Public License v1.1", + "licenseId": "YPL-1.1", + "seeAlso": [ + "http://www.zimbra.com/license/yahoo_public_license_1.1.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Zed.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Zed.json", + "referenceNumber": 189, + "name": "Zed License", + "licenseId": "Zed", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/Zed" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Zeeff.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Zeeff.json", + "referenceNumber": 551, + "name": "Zeeff License", + "licenseId": "Zeeff", + "seeAlso": [ + "ftp://ftp.tin.org/pub/news/utils/newsx/newsx-1.6.tar.gz" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Zend-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Zend-2.0.json", + "referenceNumber": 444, + "name": "Zend License v2.0", + "licenseId": "Zend-2.0", + "seeAlso": [ + "https://web.archive.org/web/20130517195954/http://www.zend.com/license/2_00.txt" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Zimbra-1.3.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Zimbra-1.3.json", + "referenceNumber": 26, + "name": "Zimbra Public License v1.3", + "licenseId": "Zimbra-1.3", + "seeAlso": [ + "http://web.archive.org/web/20100302225219/http://www.zimbra.com/license/zimbra-public-license-1-3.html" + ], + "isOsiApproved": false, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/Zimbra-1.4.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Zimbra-1.4.json", + "referenceNumber": 330, + "name": "Zimbra Public License v1.4", + "licenseId": "Zimbra-1.4", + "seeAlso": [ + "http://www.zimbra.com/legal/zimbra-public-license-1-4" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Zlib.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Zlib.json", + "referenceNumber": 421, + "name": "zlib License", + "licenseId": "Zlib", + "seeAlso": [ + "http://www.zlib.net/zlib_license.html", + "https://opensource.org/licenses/Zlib" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/zlib-acknowledgement.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/zlib-acknowledgement.json", + "referenceNumber": 188, + "name": "zlib/libpng License with Acknowledgement", + "licenseId": "zlib-acknowledgement", + "seeAlso": [ + "https://fedoraproject.org/wiki/Licensing/ZlibWithAcknowledgement" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ZPL-1.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ZPL-1.1.json", + "referenceNumber": 597, + "name": "Zope Public License 1.1", + "licenseId": "ZPL-1.1", + "seeAlso": [ + "http://old.zope.org/Resources/License/ZPL-1.1" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/ZPL-2.0.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ZPL-2.0.json", + "referenceNumber": 555, + "name": "Zope Public License 2.0", + "licenseId": "ZPL-2.0", + "seeAlso": [ + "http://old.zope.org/Resources/License/ZPL-2.0", + "https://opensource.org/licenses/ZPL-2.0" + ], + "isOsiApproved": true, + "isFsfLibre": true + }, + { + "reference": "https://spdx.org/licenses/ZPL-2.1.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/ZPL-2.1.json", + "referenceNumber": 272, + "name": "Zope Public License 2.1", + "licenseId": "ZPL-2.1", + "seeAlso": [ + "http://old.zope.org/Resources/ZPL/" + ], + "isOsiApproved": true, + "isFsfLibre": true + } + ], + "releaseDate": "2025-07-01T00:00:00Z" +} \ No newline at end of file diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 6a6af18977..0b7316c84d 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -22,7 +22,7 @@ in { }; compilerSelection = mkOption { type = unspecified; - default = p: builtins.mapAttrs (_: x: x.override { hadrianEvalPackages = config.evalPackages; }) p.haskell-nix.compiler; + default = p: builtins.mapAttrs (_: x: x.override { ghcEvalPackages = config.evalPackages; }) p.haskell-nix.compiler; description = "Use GHC from pkgs.haskell instead of pkgs.haskell-nix"; }; index-state = mkOption { diff --git a/modules/component-options.nix b/modules/component-options.nix index 3fbc3cf803..e931266e09 100644 --- a/modules/component-options.nix +++ b/modules/component-options.nix @@ -105,7 +105,7 @@ description = "If set, enables building static libraries and executables."; type = lib.types.bool; # Disabled for ghcjs, see https://gitlab.haskell.org/ghc/ghc/-/issues/23235 - default = !pkgs.stdenv.hostPlatform.isGhcjs; + default = !pkgs.stdenv.hostPlatform.isGhcjs && !pkgs.stdenv.hostPlatform.isWasm; }; enableShared = lib.mkOption { diff --git a/modules/hackage.nix b/modules/hackage.nix index 1ee5fda0a6..bd02f543cf 100644 --- a/modules/hackage.nix +++ b/modules/hackage.nix @@ -103,7 +103,7 @@ in (or it is not present at attribute '${config.compiler.nix-name})'). Either switch to a version of Nixpkgs which does have this version, or use a version of GHC which the current version of Nixpkgs contains. - '')).override { hadrianEvalPackages = config.evalPackages; }; + '')).override { ghcEvalPackages = config.evalPackages; }; defaultText = "pkgs.buildPackages.haskell-nix.compiler.\${config.compiler.nix-name}"; }; diff --git a/modules/install-plan/non-reinstallable.nix b/modules/install-plan/non-reinstallable.nix index 2e92bbd39f..e0077b6107 100644 --- a/modules/install-plan/non-reinstallable.nix +++ b/modules/install-plan/non-reinstallable.nix @@ -4,9 +4,9 @@ "ghc-bignum"] ++ lib.optionals (builtins.compareVersions config.compiler.version "9.9" >= 0) [ "ghc-internal"] - ++ lib.optionals (pkgs.stdenv.hostPlatform.isGhcjs) ([ + ++ lib.optionals (pkgs.stdenv.hostPlatform.isGhcjs || pkgs.stdenv.hostPlatform.isWasm) ([ # ghci and its dependencies - "ghci" "binary" "bytestring" "containers" "template-haskell" "array" "deepseq" "file-io" "filepath" "ghc-boot" "ghc-boot-th" "ghc-heap" "transformers" "unix" "directory" "time" "ghc-platform" "os-string"] + "ghci" "binary" "bytestring" "containers" "template-haskell" "array" "deepseq" "file-io" "filepath" "ghc-boot" "ghc-boot-th" "ghc-heap" "transformers" "unix" "directory" "time" "ghc-platform" "os-string" "exceptions" "stm" "ghc-experimental"] ++ lib.optionals (builtins.compareVersions config.compiler.version "8.11" < 0) [ "ghcjs-prim" "ghcjs-th"]); } diff --git a/modules/package.nix b/modules/package.nix index 39d9b2809f..1d56dd5282 100644 --- a/modules/package.nix +++ b/modules/package.nix @@ -77,6 +77,7 @@ in synopsis = lib.mkOption { type = types.str; + default = ""; }; description = lib.mkOption { diff --git a/nix-tools/flake.lock b/nix-tools/flake.lock index 08ae93804a..422fbc2fe3 100644 --- a/nix-tools/flake.lock +++ b/nix-tools/flake.lock @@ -120,11 +120,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1749947362, - "narHash": "sha256-XRCfjyAJkcUMTOFi8k+qIz42yFJFFkB8f3vJO99VK9s=", + "lastModified": 1756254368, + "narHash": "sha256-KO5bitIzcfgWSH3STXGBxS+EsAT0nErIrQJxOWY6+mU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "576db1b7b6a1faadc82995e1ee756ee34d6e09f9", + "rev": "7ef3096f34d49b52bdea956d190fdf47b3ec617b", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1749947352, - "narHash": "sha256-Y/fnzHgE6a3Oy9URJWXJPwIPQAxAScQ5cBA/FCMj9lc=", + "lastModified": 1756254358, + "narHash": "sha256-ByfkTCjd06Fn5MfCW0mIo0W0udiIyvJ6KBEthn9L12c=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "0dca18c5005758fb6e3dae485e30ea4ed9691978", + "rev": "7fbc57bfa6164026ec9f0af9eae45970c9757ddd", "type": "github" }, "original": { @@ -150,6 +150,22 @@ "type": "github" } }, + "hackage-internal": { + "flake": false, + "locked": { + "lastModified": 1750307553, + "narHash": "sha256-iiafNoeLHwlSLQTyvy8nPe2t6g5AV4PPcpMeH/2/DLs=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "f7867baa8817fab296528f4a4ec39d1c7c4da4f3", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, "haskellNix": { "inputs": { "HTTP": "HTTP", @@ -161,6 +177,7 @@ "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", "hackage": "hackage", "hackage-for-stackage": "hackage-for-stackage", + "hackage-internal": "hackage-internal", "hls": "hls", "hls-1.10": "hls-1.10", "hls-2.0": "hls-2.0", @@ -190,11 +207,11 @@ "stackage": "stackage" }, "locked": { - "lastModified": 1749948748, - "narHash": "sha256-3286D2cC1dVwS00Rj4Bh5ZUksWO4uWKThXLNsQzaNxE=", + "lastModified": 1756255926, + "narHash": "sha256-KsVNKJIKuWItwazbPfTwV2xq0/zqzBfVs4ZHrCrKq9s=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "edeafd2675194b3b52e4077dfe4f270a6230ee9d", + "rev": "340eecb704a4b484bee871b6aa25eb51c304d0db", "type": "github" }, "original": { @@ -442,11 +459,11 @@ "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1749443511, - "narHash": "sha256-asfdanBoIUcJ9XQWB3a/5wQGFG/6Uq6l2s9r8OuamkY=", + "lastModified": 1755040634, + "narHash": "sha256-8W7uHpAIG8HhO3ig5OGHqvwduoye6q6dlrea1IrP2eI=", "owner": "stable-haskell", "repo": "iserv-proxy", - "rev": "e40eddb1ca1e3e906e018c7e6b0d1e51c930ec9d", + "rev": "1383d199a2c64f522979005d112b4fbdee38dd92", "type": "github" }, "original": { @@ -581,11 +598,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1749946498, - "narHash": "sha256-xh+PW3ReewaInSeCzEEo6LkcGFm3AzMNfRw/3Err7ag=", + "lastModified": 1756253589, + "narHash": "sha256-HaIEVY8W2GWaYEJQkuxLcIXssz96EkLN7UosnXH+8Ps=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "baa43f8bd5bf6b31b80125c65c053f99b034f37d", + "rev": "52026ed0525ab2266d24664b6a0163c7a8225abc", "type": "github" }, "original": { diff --git a/nix-tools/flake.nix b/nix-tools/flake.nix index 1aba66988c..a45dd4701b 100644 --- a/nix-tools/flake.nix +++ b/nix-tools/flake.nix @@ -78,7 +78,7 @@ hydraJobs = forAllSystems (pkgs: # project's hydraJobs - pkgs.nix-tools.project.flake'.hydraJobs + pkgs.nix-tools-eval-on-linux.project.flake'.hydraJobs # tarballs with static builds. // lib.optionalAttrs (pkgs.buildPlatform.system == "x86_64-linux") { binary-tarball = mkTarball pkgs.pkgsCross.musl64; } diff --git a/nix-tools/overlay.nix b/nix-tools/overlay.nix index dd915b6f48..7317ea352c 100644 --- a/nix-tools/overlay.nix +++ b/nix-tools/overlay.nix @@ -9,6 +9,10 @@ let nix-tools-unchecked = nix-tools-set {}; + nix-tools-eval-on-linux = nix-tools-set { + evalSystem = builtins.currentSystem or "x86_64-linux"; + }; + nix-tools-set = args: let project = final.haskell-nix.cabalProject' @@ -23,8 +27,6 @@ let # tests need to fetch hackage configureArgs = final.lib.mkDefault "--disable-tests"; - evalPackages = final.buildPackages; - # Tools to include in the development shell shell.tools.cabal = "latest"; } @@ -83,5 +85,5 @@ let toolset // warning; in { - inherit nix-tools nix-tools-unchecked nix-tools-set; + inherit nix-tools nix-tools-unchecked nix-tools-eval-on-linux nix-tools-set; } diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 9b7bda7cc9..26f4f5fc4d 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -88,6 +88,7 @@ in { onNative = final.lib.optionals (final.stdenv.buildPlatform == final.stdenv.targetPlatform); onCross = final.lib.optionals (final.stdenv.targetPlatform != final.stdenv.hostPlatform); onGhcjs = final.lib.optionals final.stdenv.targetPlatform.isGhcjs; + onWasm = final.lib.optionals final.stdenv.targetPlatform.isWasm; on32bit = final.lib.optionals final.stdenv.targetPlatform.is32bit; # Try to avoid reordering the patches unless a patch is added or changed that # will be applied to most versions of the GHC anyway (reordering the patches @@ -338,6 +339,9 @@ in { ++ onGhcjs (from "9.13" ./patches/ghc/ghc-9.13-ghcjs-rts-types.patch) ++ onGhcjs (fromUntil "9.6.7" "9.7" ./patches/ghc/ghc-9.6-js-support-this-unit-id-10819.patch) + + ++ onWasm (until "9.13" ./patches/ghc/ghc-9.12-wasm-shared-libs.patch) + ++ onWasm (until "9.13" ./patches/ghc/ghc-9.12-wasm-keep-cafs.patch) ; in ({ ghc8107 = traceWarnOld "8.10" (final.callPackage ../compiler/ghc { @@ -1098,8 +1102,9 @@ in { bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform - then final.buildPackages.buildPackages.haskell-nix.compiler.ghc9121 - else final.buildPackages.buildPackages.haskell.compiler.ghc9121 + then final.buildPackages.buildPackages.haskell-nix.compiler.${compiler-nix-name} + else final.buildPackages.buildPackages.haskell.compiler.ghc9122 + or final.buildPackages.buildPackages.haskell.compiler.ghc9121 or final.buildPackages.buildPackages.haskell.compiler.ghc9101 or final.buildPackages.buildPackages.haskell.compiler.ghc984 or final.buildPackages.buildPackages.haskell.compiler.ghc983 diff --git a/overlays/default.nix b/overlays/default.nix index 6231016540..b252c4228c 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -96,6 +96,7 @@ let cacheCompilerDeps = import ./cache-compiler-deps.nix; lazy-inputs = import ../lazy-inputs; rcodesign = import ./rcodesign.nix; + wasm = import ./wasm.nix; }; composeExtensions = f: g: final: prev: @@ -130,6 +131,7 @@ let cabalPkgConfig gobject-introspection hix + wasm # Restore nixpkgs haskell and haskellPackages (_: prev: { inherit (prev.haskell-nix-prev) haskell haskellPackages; }) cacheCompilerDeps diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 3d6ad1c6c0..c9084f2e6f 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -696,7 +696,7 @@ final: prev: { then config.ghc else final.lib.mkDefault selectedCompiler; - in if ghc.isHaskellNixCompiler or false then ghc.override { hadrianEvalPackages = evalPackages; } else ghc; + in if ghc.isHaskellNixCompiler or false then ghc.override { ghcEvalPackages = evalPackages; } else ghc; compiler.nix-name = final.lib.mkForce config.compiler-nix-name; evalPackages = final.lib.mkDefault evalPackages; } ]; @@ -947,7 +947,7 @@ final: prev: { modules = [ { _module.args.buildModules = final.lib.mkForce buildProject.pkg-set; } (mkCacheModule cache) ] ++ (config.modules or []) - ++ final.lib.optional (config.ghc != null) { ghc.package = config.ghc.override { hadrianEvalPackages = evalPackages; }; } + ++ final.lib.optional (config.ghc != null) { ghc.package = config.ghc.override { ghcEvalPackages = evalPackages; }; } ++ final.lib.optional (config.compiler-nix-name != null) { compiler.nix-name = final.lib.mkForce config.compiler-nix-name; } ++ [ { evalPackages = final.lib.mkDefault evalPackages; } ]; @@ -1151,7 +1151,7 @@ final: prev: { roots' = { compiler-nix-name, evalPackages ? final.pkgsBuildBuild }: ifdLevel: let - ghc = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.override { hadrianEvalPackages = evalPackages; }; + ghc = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.override { ghcEvalPackages = evalPackages; }; in final.recurseIntoAttrs ({ # Things that require no IFD to build @@ -1178,7 +1178,8 @@ final: prev: { # GHCJS builds its own template haskell runner. # These seem to be the only things we use from `ghc-extra-packages` # in haskell.nix itself. - && !final.stdenv.hostPlatform.isGhcjs) + && !final.stdenv.hostPlatform.isGhcjs + && !final.stdenv.hostPlatform.isWasm) final.haskell-nix.iserv-proxy-exes.${compiler-nix-name}); }; } diff --git a/overlays/patches/ghc/ghc-9.12-wasm-keep-cafs.patch b/overlays/patches/ghc/ghc-9.12-wasm-keep-cafs.patch new file mode 100644 index 0000000000..5bc90171f9 --- /dev/null +++ b/overlays/patches/ghc/ghc-9.12-wasm-keep-cafs.patch @@ -0,0 +1,36 @@ +From 10f06163d9adcb3b6e6438f1524faaca3bf6c3b2 Mon Sep 17 00:00:00 2001 +From: Cheng Shao +Date: Sat, 23 Aug 2025 05:11:31 +0200 +Subject: [PATCH] wasm: ensure setKeepCAFs() is called in ghci + +This patch is a critical bugfix for #26106, see comment and linked +issue for details. +--- + utils/jsffi/dyld.mjs | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/utils/jsffi/dyld.mjs b/utils/jsffi/dyld.mjs +index 285cc8b72011..8c38ebc2efa0 100755 +--- a/utils/jsffi/dyld.mjs ++++ b/utils/jsffi/dyld.mjs +@@ -1105,6 +1105,20 @@ class DyLD { + if (/libHSghc-internal-\d+(\.\d+)*/i.test(soname)) { + this.rts_init(); + delete this.rts_init; ++ ++ // At this point the RTS symbols in linear memory are fixed ++ // and constructors are run, especially the one in JSFFI.c ++ // that does GHC RTS initialization for any code that links ++ // JSFFI.o. Luckily no Haskell computation or gc has taken ++ // place yet, so we must set keepCAFs=1 right now! Otherwise, ++ // any BCO created by later TH splice or ghci expression may ++ // refer to any CAF that's not reachable from GC roots (here ++ // our only entry point is defaultServer) and the CAF could ++ // have been GC'ed! (#26106) ++ // ++ // We call it here instead of in RTS C code, since we only ++ // want keepCAFs=1 for ghci, not user code. ++ this.exportFuncs.setKeepCAFs(); + } + init(); + } \ No newline at end of file diff --git a/overlays/patches/ghc/ghc-9.12-wasm-shared-libs.patch b/overlays/patches/ghc/ghc-9.12-wasm-shared-libs.patch new file mode 100644 index 0000000000..ac2273fc99 --- /dev/null +++ b/overlays/patches/ghc/ghc-9.12-wasm-shared-libs.patch @@ -0,0 +1,41 @@ +From cb60da245b2fea7a0c39af0e58f9ef89104a9255 Mon Sep 17 00:00:00 2001 +From: Cheng Shao +Date: Fri, 21 Feb 2025 20:30:31 +0000 +Subject: [PATCH] wasm: fix dyld for shared libraries created by llvm 20.x + +This patch fixes wasm dyld script for shared libraries created by llvm +20.x. The __wasm_apply_data_relocs function is now optional and may be +omitted for shared libraries without any runtime relocatable data +segments, so only call __wasm_apply_data_relocs when it's present. +--- + utils/jsffi/dyld.mjs | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/utils/jsffi/dyld.mjs b/utils/jsffi/dyld.mjs +index 3c1c2106557a..c6cfedbece4f 100755 +--- a/utils/jsffi/dyld.mjs ++++ b/utils/jsffi/dyld.mjs +@@ -796,12 +796,17 @@ class DyLD { + + const init = () => { + // See +- // https://github.com/llvm/llvm-project/blob/llvmorg-19.1.1/lld/wasm/Writer.cpp#L1430, +- // there's also __wasm_init_memory (not relevant yet, we don't ++ // https://gitlab.haskell.org/haskell-wasm/llvm-project/-/blob/release/20.x/lld/wasm/Writer.cpp#L1450, ++ // __wasm_apply_data_relocs is now optional so only call it if ++ // it exists (we know for sure it exists for libc.so though). ++ // There's also __wasm_init_memory (not relevant yet, we don't + // use passive segments) & __wasm_apply_global_relocs but + // those are included in the start function and should have +- // been called upon instantiation. +- instance.exports.__wasm_apply_data_relocs(); ++ // been called upon instantiation, see ++ // Writer::createStartFunction(). ++ if (instance.exports.__wasm_apply_data_relocs) { ++ instance.exports.__wasm_apply_data_relocs(); ++ } + + instance.exports._initialize(); + }; +-- +GitLab diff --git a/overlays/patches/node-lto.patch b/overlays/patches/node-lto.patch new file mode 100644 index 0000000000..8192878c75 --- /dev/null +++ b/overlays/patches/node-lto.patch @@ -0,0 +1,305 @@ +diff --git a/common.gypi b/common.gypi +index a6a79adc..160b6eb6 100644 +--- a/common.gypi ++++ b/common.gypi +@@ -185,9 +185,9 @@ + 'MSVC_runtimeType': 2 # MultiThreadedDLL (/MD) + }], + ['clang==1', { +- 'lto': ' -flto ', # Clang ++ 'lto': ' -flto=thin ', # Clang + }, { +- 'lto': ' -flto=4 -fuse-linker-plugin -ffat-lto-objects ', # GCC ++ 'lto': ' -flto=auto -fuse-linker-plugin -fno-fat-lto-objects ', # GCC + }], + ], + }, +diff --git a/deps/cares/configure b/deps/cares/configure +index d02f117d..468461f7 100755 +--- a/deps/cares/configure ++++ b/deps/cares/configure +@@ -16139,11 +16139,6 @@ _LT_EOF + + + _lt_libdeps_save_CFLAGS=$CFLAGS +-case "$CC $CFLAGS " in #( +-*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +-*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +-*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +-esac + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 +diff --git a/deps/cares/m4/libtool.m4 b/deps/cares/m4/libtool.m4 +index c4c02946..9f3d3662 100755 +--- a/deps/cares/m4/libtool.m4 ++++ b/deps/cares/m4/libtool.m4 +@@ -7537,11 +7537,6 @@ _LT_EOF + ]) + + _lt_libdeps_save_CFLAGS=$CFLAGS +-case "$CC $CFLAGS " in #( +-*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +-*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +-*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +-esac + + dnl Parse the compiler output and extract the necessary + dnl objects, libraries and library flags. +diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +index 5f2c097f..42dad126 100644 +--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py ++++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +@@ -638,7 +638,7 @@ class XcodeSettings: + # if the system clang isn't used, DYLD_LIBRARY_PATH needs to contain the + # path to the libLTO.dylib that matches the used clang. + if self._Test("LLVM_LTO", "YES", default="NO"): +- cflags.append("-flto") ++ cflags.append("-flto=thin") + + self._AppendPlatformVersionMinFlags(cflags) + +@@ -1101,7 +1101,7 @@ class XcodeSettings: + # For static libraries, no dSYMs are created. + result = [] + if ( +- self._Test("GCC_GENERATE_DEBUGGING_SYMBOLS", "YES", default="YES") ++ self._Test("GCC_GENERATE_DEBUGGING_SYMBOLS", "YES", default="NO") + and self._Test( + "DEBUG_INFORMATION_FORMAT", "dwarf-with-dsym", default="dwarf" + ) +diff --git a/deps/openssl/openssl-cli.gypi b/deps/openssl/openssl-cli.gypi +index b4c278b4..79cafd6b 100644 +--- a/deps/openssl/openssl-cli.gypi ++++ b/deps/openssl/openssl-cli.gypi +@@ -23,7 +23,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + } +diff --git a/deps/openssl/openssl.gyp b/deps/openssl/openssl.gyp +index ea3a2dc0..ea3780f7 100644 +--- a/deps/openssl/openssl.gyp ++++ b/deps/openssl/openssl.gyp +@@ -75,7 +75,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ] + }, { +diff --git a/node.gyp b/node.gyp +index a3688b8e..d320299f 100644 +--- a/node.gyp ++++ b/node.gyp +@@ -1069,7 +1069,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + }, # fuzz_env +@@ -1112,7 +1112,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + }, # fuzz_ClientHelloParser.cc +@@ -1157,7 +1157,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + }, # fuzz_strings +@@ -1235,7 +1235,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + }, # cctest +@@ -1291,7 +1291,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + }, # embedtest +@@ -1333,7 +1333,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ] + }, # overlapped-checker +@@ -1439,7 +1439,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + }, # node_mksnapshot +diff --git a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py +index aee1a542..162881d1 100644 +--- a/tools/gyp/pylib/gyp/xcode_emulation.py ++++ b/tools/gyp/pylib/gyp/xcode_emulation.py +@@ -638,7 +638,7 @@ class XcodeSettings: + # if the system clang isn't used, DYLD_LIBRARY_PATH needs to contain the + # path to the libLTO.dylib that matches the used clang. + if self._Test("LLVM_LTO", "YES", default="NO"): +- cflags.append("-flto") ++ cflags.append("-flto=thin") + + self._AppendPlatformVersionMinFlags(cflags) + +@@ -1101,7 +1101,7 @@ class XcodeSettings: + # For static libraries, no dSYMs are created. + result = [] + if ( +- self._Test("GCC_GENERATE_DEBUGGING_SYMBOLS", "YES", default="YES") ++ self._Test("GCC_GENERATE_DEBUGGING_SYMBOLS", "YES", default="NO") + and self._Test( + "DEBUG_INFORMATION_FORMAT", "dwarf-with-dsym", default="dwarf" + ) +diff --git a/tools/icu/icu-generic.gyp b/tools/icu/icu-generic.gyp +index f007c652..ac69a873 100644 +--- a/tools/icu/icu-generic.gyp ++++ b/tools/icu/icu-generic.gyp +@@ -454,7 +454,7 @@ + 'conditions': [ + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + }, +@@ -471,7 +471,7 @@ + 'conditions': [ + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + }, +@@ -489,7 +489,7 @@ + 'conditions': [ + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + }, +@@ -506,7 +506,7 @@ + 'conditions': [ + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + }, +diff --git a/tools/v8_gypfiles/d8.gyp b/tools/v8_gypfiles/d8.gyp +index 4dd98972..27165061 100644 +--- a/tools/v8_gypfiles/d8.gyp ++++ b/tools/v8_gypfiles/d8.gyp +@@ -65,7 +65,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + }, +diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp +index 88c1297b..a640a7ff 100644 +--- a/tools/v8_gypfiles/v8.gyp ++++ b/tools/v8_gypfiles/v8.gyp +@@ -1690,7 +1690,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + 'defines!': [ +@@ -1752,7 +1752,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + }, # mksnapshot +@@ -1769,7 +1769,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + 'defines!': [ +@@ -1807,7 +1807,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + 'dependencies': [ +@@ -1843,7 +1843,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + 'sources': [ +@@ -1863,7 +1863,7 @@ + }], + # Avoid excessive LTO + ['enable_lto=="true"', { +- 'ldflags': [ '-fno-lto' ], ++ 'ldflags': [], + }], + ], + 'actions': [ +@@ -1931,7 +1931,7 @@ + ], + 'conditions': [ + ['enable_lto=="true"', { +- 'cflags_cc': [ '-fno-lto' ], ++ 'cflags_cc': [], + }], + # Changes in push_registers_asm.cc in V8 v12.8 requires using + # push_registers_masm on Windows even with ClangCL on x64 \ No newline at end of file diff --git a/overlays/patches/wasm/llvm/gnu-install-dirs.patch b/overlays/patches/wasm/llvm/gnu-install-dirs.patch new file mode 100644 index 0000000000..482325452c --- /dev/null +++ b/overlays/patches/wasm/llvm/gnu-install-dirs.patch @@ -0,0 +1,152 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c9ff3696e22d..bd96aab5e237 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1133,9 +1133,9 @@ if (NOT TENSORFLOW_AOT_PATH STREQUAL "") + add_subdirectory(${TENSORFLOW_AOT_PATH}/xla_aot_runtime_src + ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/tf_runtime) + install(TARGETS tf_xla_runtime EXPORT LLVMExports +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT tf_xla_runtime) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} COMPONENT tf_xla_runtime) + install(TARGETS tf_xla_runtime EXPORT LLVMDevelopmentExports +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT tf_xla_runtime) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} COMPONENT tf_xla_runtime) + set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS tf_xla_runtime) + # Once we add more modules, we should handle this more automatically. + if (DEFINED LLVM_OVERRIDE_MODEL_HEADER_INLINERSIZEMODEL) +diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake +index baf47677b247..81954240a9bf 100644 +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -974,8 +974,8 @@ macro(add_llvm_library name) + endif() + install(TARGETS ${name} + ${export_to_llvmexports} +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name}) + + if (NOT LLVM_ENABLE_IDE) +@@ -2240,7 +2240,7 @@ function(llvm_install_library_symlink name dest type) + set(LLVM_LINK_OR_COPY copy) + endif() + +- set(output_dir lib${LLVM_LIBDIR_SUFFIX}) ++ set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) + if(WIN32 AND "${type}" STREQUAL "SHARED") + set(output_dir "${CMAKE_INSTALL_BINDIR}") + endif() +@@ -2516,15 +2516,37 @@ function(llvm_setup_rpath name) + + if (APPLE) + set(_install_name_dir INSTALL_NAME_DIR "@rpath") +- set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath ${extra_libdir}) + elseif(${CMAKE_SYSTEM_NAME} MATCHES "AIX" AND BUILD_SHARED_LIBS) + # $ORIGIN is not interpreted at link time by aix ld. + # Since BUILD_SHARED_LIBS is only recommended for use by developers, + # hardcode the rpath to build/install lib dir first in this mode. + # FIXME: update this when there is better solution. +- set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) + elseif(UNIX) +- set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ # Note that we add `extra_libdir` (aka `LLVM_LIBRARY_DIR` in our case) back ++ # to `_install_rpath` here. ++ # ++ # In nixpkgs we do not build and install LLVM alongside rdeps of LLVM (i.e. ++ # clang); instead LLVM is its own package and thus lands at its own nix ++ # store path. This makes it so that the default relative rpath (`../lib/`) ++ # does not point at the LLVM shared objects. ++ # ++ # More discussion here: ++ # - https://github.com/NixOS/nixpkgs/pull/235624#discussion_r1220150329 ++ # - https://reviews.llvm.org/D146918 (16.0.5+) ++ # ++ # Note that we leave `extra_libdir` in `_build_rpath`: without FHS there is ++ # no potential that this will result in us pulling in the "wrong" LLVM. ++ # Adding this to the build rpath means we aren't forced to use ++ # `installCheckPhase` instead of `checkPhase` (i.e. binaries in the build ++ # dir, pre-install, will have the right rpath for LLVM). ++ # ++ # As noted in the differential above, an alternative solution is to have ++ # all rdeps of nixpkgs' LLVM (that use the AddLLVM.cmake machinery) set ++ # `CMAKE_INSTALL_RPATH`. ++ set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath ${extra_libdir}) + if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") + set_property(TARGET ${name} APPEND_STRING PROPERTY + LINK_FLAGS " -Wl,-z,origin ") +@@ -2539,9 +2561,9 @@ function(llvm_setup_rpath name) + endif() + + # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set. +- if("${CMAKE_BUILD_RPATH}" STREQUAL "") +- set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON) +- endif() ++ #if("${CMAKE_BUILD_RPATH}" STREQUAL "") ++ # set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON) ++ #endif() + + set_target_properties(${name} PROPERTIES + INSTALL_RPATH "${_install_rpath}" +diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake +index 2d9116b08a52..2dd7cad4ec66 100644 +--- a/cmake/modules/AddOCaml.cmake ++++ b/cmake/modules/AddOCaml.cmake +@@ -147,9 +147,9 @@ function(add_ocaml_library name) + endforeach() + + if( APPLE ) +- set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}") ++ set(ocaml_rpath ${LLVM_LIBRARY_DIR}) + elseif( UNIX ) +- set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}") ++ set(ocaml_rpath ${LLVM_LIBRARY_DIR}) + endif() + list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}") + +diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt +index ef4cfa3acdb5..7478e157a7c2 100644 +--- a/cmake/modules/CMakeLists.txt ++++ b/cmake/modules/CMakeLists.txt +@@ -130,7 +130,7 @@ set(LLVM_CONFIG_INCLUDE_DIRS + ) + list(REMOVE_DUPLICATES LLVM_CONFIG_INCLUDE_DIRS) + +-extend_path(LLVM_CONFIG_LIBRARY_DIR "\${LLVM_INSTALL_PREFIX}" "lib\${LLVM_LIBDIR_SUFFIX}") ++extend_path(LLVM_CONFIG_LIBRARY_DIR "\${LLVM_INSTALL_PREFIX}" "${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}") + set(LLVM_CONFIG_LIBRARY_DIRS + "${LLVM_CONFIG_LIBRARY_DIR}" + # FIXME: Should there be other entries here? +diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in +index 370005cd8d7d..7e790bc52111 100644 +--- a/tools/llvm-config/BuildVariables.inc.in ++++ b/tools/llvm-config/BuildVariables.inc.in +@@ -23,6 +23,7 @@ + #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@" + #define LLVM_BUILDMODE "@LLVM_BUILDMODE@" + #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@" ++#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@" + #define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@" + #define LLVM_INSTALL_PACKAGE_DIR "@LLVM_INSTALL_PACKAGE_DIR@" + #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" +diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp +index d5b76b1bb6c1..1dbdb2a8f10d 100644 +--- a/tools/llvm-config/llvm-config.cpp ++++ b/tools/llvm-config/llvm-config.cpp +@@ -366,7 +366,11 @@ int main(int argc, char **argv) { + sys::fs::make_absolute(ActivePrefix, Path); + ActiveBinDir = std::string(Path); + } +- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; ++ { ++ SmallString<256> Path(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX); ++ sys::fs::make_absolute(ActivePrefix, Path); ++ ActiveLibDir = std::string(Path); ++ } + { + SmallString<256> Path(LLVM_INSTALL_PACKAGE_DIR); + sys::fs::make_absolute(ActivePrefix, Path); diff --git a/overlays/patches/wasm/llvm/haskell-wasm-llvm-project.patch b/overlays/patches/wasm/llvm/haskell-wasm-llvm-project.patch new file mode 100644 index 0000000000..d45b5d0880 --- /dev/null +++ b/overlays/patches/wasm/llvm/haskell-wasm-llvm-project.patch @@ -0,0 +1,322 @@ +diff --git a/clang/lib/Driver/ToolChains/WebAssembly.cpp b/clang/lib/Driver/ToolChains/WebAssembly.cpp +index bd25fd1a8933..b906bff5d5c7 100644 +--- a/clang/lib/Driver/ToolChains/WebAssembly.cpp ++++ b/clang/lib/Driver/ToolChains/WebAssembly.cpp +@@ -6,6 +6,8 @@ + // + //===----------------------------------------------------------------------===// + ++#include ++ + #include "WebAssembly.h" + #include "CommonArgs.h" + #include "Gnu.h" +@@ -19,6 +21,7 @@ + #include "llvm/Option/ArgList.h" + #include "llvm/Support/FileSystem.h" + #include "llvm/Support/Path.h" ++#include "llvm/Support/Process.h" + #include "llvm/Support/VirtualFileSystem.h" + + using namespace clang::driver; +@@ -168,21 +171,12 @@ void wasm::Linker::ConstructJob(Compilation &C, const JobAction &JA, + CmdArgs.push_back("-o"); + CmdArgs.push_back(Output.getFilename()); + +- // Don't use wasm-opt by default on `wasip2` as it doesn't have support for +- // components at this time. Retain the historical default otherwise, though, +- // of running `wasm-opt` by default. +- bool WasmOptDefault = !TargetBuildsComponents(ToolChain.getTriple()); +- bool RunWasmOpt = Args.hasFlag(options::OPT_wasm_opt, +- options::OPT_no_wasm_opt, WasmOptDefault); +- + // If wasm-opt is enabled and optimizations are happening look for the + // `wasm-opt` program. If it's not found auto-disable it. + std::string WasmOptPath; +- if (RunWasmOpt && Args.getLastArg(options::OPT_O_Group)) { +- WasmOptPath = ToolChain.GetProgramPath("wasm-opt"); +- if (WasmOptPath == "wasm-opt") { +- WasmOptPath = {}; +- } ++ WasmOptPath = ToolChain.GetProgramPath("wasm-opt"); ++ if (WasmOptPath == "wasm-opt") { ++ WasmOptPath = {}; + } + + if (!WasmOptPath.empty()) { +@@ -193,29 +187,27 @@ void wasm::Linker::ConstructJob(Compilation &C, const JobAction &JA, + ResponseFileSupport::AtFileCurCP(), + Linker, CmdArgs, Inputs, Output)); + +- if (Arg *A = Args.getLastArg(options::OPT_O_Group)) { +- if (!WasmOptPath.empty()) { +- StringRef OOpt = "s"; +- if (A->getOption().matches(options::OPT_O4) || +- A->getOption().matches(options::OPT_Ofast)) +- OOpt = "4"; +- else if (A->getOption().matches(options::OPT_O0)) +- OOpt = "0"; +- else if (A->getOption().matches(options::OPT_O)) +- OOpt = A->getValue(); +- +- if (OOpt != "0") { +- const char *WasmOpt = Args.MakeArgString(WasmOptPath); +- ArgStringList OptArgs; +- OptArgs.push_back(Output.getFilename()); +- OptArgs.push_back(Args.MakeArgString(llvm::Twine("-O") + OOpt)); +- OptArgs.push_back("-o"); +- OptArgs.push_back(Output.getFilename()); +- C.addCommand(std::make_unique( +- JA, *this, ResponseFileSupport::AtFileCurCP(), WasmOpt, OptArgs, +- Inputs, Output)); +- } ++ if (!WasmOptPath.empty() && Args.hasArg(options::OPT_shared) && ++ llvm::sys::Process::GetEnv("WASM_SO_OPT")) { ++ const char *WasmOpt = Args.MakeArgString(WasmOptPath); ++ ArgStringList OptArgs; ++ OptArgs.push_back(Output.getFilename()); ++ OptArgs.push_back("-o"); ++ OptArgs.push_back(Output.getFilename()); ++ ++ std::istringstream iss(llvm::sys::Process::GetEnv("WASM_SO_OPT").value()); ++ std::string arg; ++ ++ while (iss >> arg) { ++ auto *arg_heap = new char[arg.size() + 1]; ++ std::copy(arg.begin(), arg.end(), arg_heap); ++ arg_heap[arg.size()] = '\0'; ++ OptArgs.push_back(arg_heap); + } ++ ++ C.addCommand(std::make_unique(JA, *this, ++ ResponseFileSupport::AtFileCurCP(), ++ WasmOpt, OptArgs, Inputs, Output)); + } + } + +diff --git a/compiler-rt/cmake/Modules/AddCompilerRT.cmake b/compiler-rt/cmake/Modules/AddCompilerRT.cmake +index c3e734f72392..282a321fd70b 100644 +--- a/compiler-rt/cmake/Modules/AddCompilerRT.cmake ++++ b/compiler-rt/cmake/Modules/AddCompilerRT.cmake +@@ -382,8 +382,8 @@ function(add_compiler_rt_runtime name type) + target_link_libraries(${libname} PRIVATE ${builtins_${libname}}) + endif() + if(${type} STREQUAL "SHARED") +- if(APPLE OR WIN32) +- set_property(TARGET ${libname} PROPERTY BUILD_WITH_INSTALL_RPATH ON) ++ if(COMMAND llvm_setup_rpath) ++ llvm_setup_rpath(${libname}) + endif() + if(WIN32 AND NOT CYGWIN AND NOT MINGW) + set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "") +diff --git a/lld/wasm/InputChunks.cpp b/lld/wasm/InputChunks.cpp +index 0e6c4e691be1..bfa438505d98 100644 +--- a/lld/wasm/InputChunks.cpp ++++ b/lld/wasm/InputChunks.cpp +@@ -361,12 +361,11 @@ uint64_t InputChunk::getVA(uint64_t offset) const { + // Generate code to apply relocations to the data section at runtime. + // This is only called when generating shared libraries (PIC) where address are + // not known at static link time. +-bool InputChunk::generateRelocationCode(raw_ostream &os) const { ++void InputChunk::generateRelocationCode(std::vector &funcs) const { + LLVM_DEBUG(dbgs() << "generating runtime relocations: " << name + << " count=" << relocations.size() << "\n"); + + bool is64 = ctx.arg.is64.value_or(false); +- bool generated = false; + unsigned opcode_ptr_const = is64 ? WASM_OPCODE_I64_CONST + : WASM_OPCODE_I32_CONST; + unsigned opcode_ptr_add = is64 ? WASM_OPCODE_I64_ADD +@@ -385,6 +384,14 @@ bool InputChunk::generateRelocationCode(raw_ostream &os) const { + if (!requiresRuntimeReloc) + continue; + ++ if (funcs.empty() || funcs.back().size() >= 7654300) { ++ funcs.emplace_back(std::string()); ++ raw_string_ostream os(funcs.back()); ++ writeUleb128(os, 0, "num locals"); ++ } ++ ++ raw_string_ostream os(funcs.back()); ++ + LLVM_DEBUG(dbgs() << "gen reloc: type=" << relocTypeToString(rel.Type) + << " addend=" << rel.Addend << " index=" << rel.Index + << " output offset=" << offset << "\n"); +@@ -439,9 +446,7 @@ bool InputChunk::generateRelocationCode(raw_ostream &os) const { + writeU8(os, opcode_reloc_store, "I32_STORE"); + writeUleb128(os, 2, "align"); + writeUleb128(os, 0, "offset"); +- generated = true; + } +- return generated; + } + + // Split WASM_SEG_FLAG_STRINGS section. Such a section is a sequence of +diff --git a/lld/wasm/InputChunks.h b/lld/wasm/InputChunks.h +index f545449e1246..d231382a5f5e 100644 +--- a/lld/wasm/InputChunks.h ++++ b/lld/wasm/InputChunks.h +@@ -78,7 +78,7 @@ public: + + size_t getNumRelocations() const { return relocations.size(); } + void writeRelocations(llvm::raw_ostream &os) const; +- bool generateRelocationCode(raw_ostream &os) const; ++ void generateRelocationCode(std::vector &funcs) const; + + bool isTLS() const { return flags & llvm::wasm::WASM_SEG_FLAG_TLS; } + bool isRetained() const { return flags & llvm::wasm::WASM_SEG_FLAG_RETAIN; } +diff --git a/lld/wasm/SyntheticSections.cpp b/lld/wasm/SyntheticSections.cpp +index 0e2aa57e9048..e5df7d8c0be0 100644 +--- a/lld/wasm/SyntheticSections.cpp ++++ b/lld/wasm/SyntheticSections.cpp +@@ -299,6 +299,8 @@ void FunctionSection::writeBody() { + void FunctionSection::addFunction(InputFunction *func) { + if (!func->live) + return; ++ if (func->hasFunctionIndex()) ++ return; + uint32_t functionIndex = + out.importSec->getNumImportedFunctions() + inputFunctions.size(); + inputFunctions.emplace_back(func); +diff --git a/lld/wasm/Writer.cpp b/lld/wasm/Writer.cpp +index 2bf4b370a7db..19fca2616c7a 100644 +--- a/lld/wasm/Writer.cpp ++++ b/lld/wasm/Writer.cpp +@@ -1452,20 +1452,21 @@ void Writer::createStartFunction() { + void Writer::createApplyDataRelocationsFunction() { + LLVM_DEBUG(dbgs() << "createApplyDataRelocationsFunction\n"); + // First write the body's contents to a string. +- std::string bodyContent; ++ std::vector funcs; + { +- raw_string_ostream os(bodyContent); +- writeUleb128(os, 0, "num locals"); +- bool generated = false; + for (const OutputSegment *seg : segments) + if (!ctx.arg.sharedMemory || !seg->isTLS()) + for (const InputChunk *inSeg : seg->inputSegments) +- generated |= inSeg->generateRelocationCode(os); ++ inSeg->generateRelocationCode(funcs); ++ } + +- if (!generated) { +- LLVM_DEBUG(dbgs() << "skipping empty __wasm_apply_data_relocs\n"); +- return; +- } ++ if (funcs.empty()) { ++ LLVM_DEBUG(dbgs() << "skipping empty __wasm_apply_data_relocs\n"); ++ return; ++ } ++ ++ for (auto &func : funcs) { ++ raw_string_ostream os(func); + writeU8(os, WASM_OPCODE_END, "END"); + } + +@@ -1478,24 +1479,67 @@ void Writer::createApplyDataRelocationsFunction() { + make(nullSignature, "__wasm_apply_data_relocs")); + def->markLive(); + +- createFunction(def, bodyContent); ++ if (funcs.size() == 1) { ++ createFunction(def, funcs.back()); ++ return; ++ } ++ ++ std::string body; ++ { ++ raw_string_ostream os(body); ++ writeUleb128(os, 0, "num locals"); ++ ++ for (std::size_t i = 0; i < funcs.size(); ++i) { ++ auto &name = ++ *make("__wasm_apply_data_relocs_" + std::to_string(i)); ++ auto *func = make(nullSignature, name); ++ auto *def = symtab->addSyntheticFunction( ++ name, WASM_SYMBOL_VISIBILITY_HIDDEN, func); ++ def->markLive(); ++ // Normally this shouldn't be called manually for a synthetic ++ // function, since the function indices in ++ // ctx.syntheticFunctions will be calculated later (check ++ // functionSec->addFunction call hierarchy for details). ++ // However, at this point we already need the correct index. The ++ // solution is to place the new synthetic function eagerly, and ++ // also making addFunction idempotent by skipping when there's ++ // already a function index. ++ out.functionSec->addFunction(func); ++ createFunction(def, funcs[i]); ++ ++ writeU8(os, WASM_OPCODE_CALL, "CALL"); ++ writeUleb128(os, def->getFunctionIndex(), "function index"); ++ } ++ ++ writeU8(os, WASM_OPCODE_END, "END"); ++ } ++ createFunction(def, body); + } + + void Writer::createApplyTLSRelocationsFunction() { + LLVM_DEBUG(dbgs() << "createApplyTLSRelocationsFunction\n"); +- std::string bodyContent; ++ std::vector funcs; + { +- raw_string_ostream os(bodyContent); +- writeUleb128(os, 0, "num locals"); + for (const OutputSegment *seg : segments) + if (seg->isTLS()) + for (const InputChunk *inSeg : seg->inputSegments) +- inSeg->generateRelocationCode(os); ++ inSeg->generateRelocationCode(funcs); ++ } + ++ if (funcs.empty()) { ++ funcs.emplace_back(std::string()); ++ raw_string_ostream os(funcs.back()); ++ writeUleb128(os, 0, "num locals"); ++ } ++ ++ for (auto &func : funcs) { ++ raw_string_ostream os(func); + writeU8(os, WASM_OPCODE_END, "END"); + } + +- createFunction(ctx.sym.applyTLSRelocs, bodyContent); ++ assert(funcs.size() == 1); ++ ++ createFunction(ctx.sym.applyTLSRelocs, funcs.back()); + } + + // Similar to createApplyDataRelocationsFunction but generates relocation code +diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake +index d3e9377c8d2f..50a34184919a 100644 +--- a/llvm/cmake/modules/AddLLVM.cmake ++++ b/llvm/cmake/modules/AddLLVM.cmake +@@ -2524,8 +2524,7 @@ function(llvm_setup_rpath name) + # FIXME: update this when there is better solution. + set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) + elseif(UNIX) +- set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) +- set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}") ++ set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) + if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") + set_property(TARGET ${name} APPEND_STRING PROPERTY + LINK_FLAGS " -Wl,-z,origin ") +@@ -2539,16 +2538,9 @@ function(llvm_setup_rpath name) + return() + endif() + +- # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set and not +- # building for macOS or AIX, as those platforms seemingly require it. +- # On AIX, the tool chain doesn't support modifying rpaths/libpaths for XCOFF +- # on install at the moment, so BUILD_WITH_INSTALL_RPATH is required. ++ # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set. + if("${CMAKE_BUILD_RPATH}" STREQUAL "") +- if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin|AIX") +- set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON) +- else() +- set_property(TARGET ${name} APPEND PROPERTY BUILD_RPATH "${_build_rpath}") +- endif() ++ set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON) + endif() + + set_target_properties(${name} PROPERTIES diff --git a/overlays/wasm.nix b/overlays/wasm.nix new file mode 100644 index 0000000000..1550af07d7 --- /dev/null +++ b/overlays/wasm.nix @@ -0,0 +1,54 @@ +final: prev: prev.lib.optionalAttrs prev.stdenv.targetPlatform.isWasm { + llvmPackages = final.llvmPackages_20.override { + patchesFn = p: p // { "llvm/gnu-install-dirs.patch" = [{path = ./patches/wasm;}]; }; + monorepoSrc = + final.stdenv.mkDerivation { + pname = "llvm-source"; + version = final.llvmPackages_20.llvm.version + "-haskell"; + src = final.llvmPackages_20.llvm.monorepoSrc; + patches = ./patches/wasm/llvm/haskell-wasm-llvm-project.patch; + buildPhase = "true"; + installPhase = '' + cp -r . $out + ''; + }; + }; + wasilibc = prev.wasilibc.overrideAttrs (old: { + version = "25"; + src = final.buildPackages.fetchFromGitLab { + domain = "gitlab.haskell.org"; + owner = "haskell-wasm"; + repo = "wasi-libc"; + rev = "16aa8495f039918edb47046b277bf48b516a9776"; + hash = "sha256-cun3q5OKjryabVhXMNjwQ0bsmz+pS1eCupRP2he+f1k="; + fetchSubmodules = true; + }; + preBuild = '' + patchShebangs ./scripts + makeFlagsArray+=( + "default" + "libc_so" + ) + export BUILTINS_LIB=$($CC --print-libgcc-file-name) + ''; + postBuild = '' + mkdir -p ${builtins.placeholder "out"} + mkdir -p ${builtins.placeholder "dev"} + mkdir -p ${builtins.placeholder "share"} + cp -r sysroot/lib/wasm32-wasi ${builtins.placeholder "out"}/lib + cp -r sysroot/include/wasm32-wasi ${builtins.placeholder "dev"}/include + cp -r sysroot/share/wasm32-wasi ${builtins.placeholder "share"}/share + ''; + nativeBuildInputs = old.nativeBuildInputs or [] ++ [ final.buildPackages.lld ]; + }); + + haskell-nix = prev.haskell-nix // ({ + defaultModules = prev.haskell-nix.defaultModules ++ [ + ({ pkgs, ... }: { + testWrapper = ["HOME=$(mktemp -d)" (pkgs.pkgsBuildBuild.wasmtime + "/bin/wasmtime")]; + package-keys = ["clock"]; + packages.clock.ghcOptions = ["-optc-Wno-int-conversion"]; + }) + ]; + }); +} diff --git a/test/annotations/default.nix b/test/annotations/default.nix index 3082edbdd6..37fc6ed8d9 100644 --- a/test/annotations/default.nix +++ b/test/annotations/default.nix @@ -9,7 +9,9 @@ let }; in recurseIntoAttrs { - meta.disabled = stdenv.hostPlatform.isGhcjs + meta.disabled = + # This fail looking for ghci. Adding ghci as a `build-depends` works, but should not be needed + stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm # Failed to lookup symbol: __aarch64_swp8_acq_rel || (builtins.elem compiler-nix-name ["ghc947" "ghc948"] && haskellLib.isCrossHost && stdenv.hostPlatform.isAarch64) # unhandled ELF relocation(Rel) type 10 diff --git a/test/cabal-22/default.nix b/test/cabal-22/default.nix index 12345a395c..071992ab9e 100644 --- a/test/cabal-22/default.nix +++ b/test/cabal-22/default.nix @@ -16,7 +16,7 @@ in recurseIntoAttrs { # ReferenceError: h$hs_clock_darwin_gettime is not defined # https://github.com/input-output-hk/haskell.nix/issues/925 # Also `hspec` now depends on `ghc`, which breaks this test for cross compilation - meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isMusl; + meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm || stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isMusl; ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/cabal-hpack/package.yaml b/test/cabal-hpack/package.yaml index 76fa770a1e..560db6b301 100644 --- a/test/cabal-hpack/package.yaml +++ b/test/cabal-hpack/package.yaml @@ -25,10 +25,15 @@ executables: cabal-hpack: main: Main.hs source-dirs: app - ghc-options: - - -threaded - - -rtsopts - - -with-rtsopts=-N + when: + - condition: arch(wasm32) + then: + ghc-options: [] + else: + ghc-options: + - -threaded + - -rtsopts + - -with-rtsopts=-N dependencies: - cabal-hpack diff --git a/test/cabal-simple-prof/default.nix b/test/cabal-simple-prof/default.nix index 4e7e4f93e1..d95fbf8f95 100644 --- a/test/cabal-simple-prof/default.nix +++ b/test/cabal-simple-prof/default.nix @@ -29,8 +29,7 @@ let .override (lib.optionalAttrs stdenv.hostPlatform.isAndroid { setupBuildFlags = ["--ghc-option=-optl-static" ]; }); in recurseIntoAttrs { - # This test seeems to be broken on 8.6 and 8.8 and ghcjs - meta.disabled = compiler-nix-name == "ghc865" || compiler-nix-name == "ghc884" || stdenv.hostPlatform.isGhcjs; + meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm; ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/cabal.project.local b/test/cabal.project.local index 342d3e3827..b84eb85d66 100644 --- a/test/cabal.project.local +++ b/test/cabal.project.local @@ -1,10 +1,3 @@ --- See https://github.com/haskellari/splitmix/pull/97 -source-repository-package - type: git - location: https://github.com/hamishmack/splitmix.git - tag: e3549473b124a7ba078408ac0d2c8aa8111c3888 - --sha256: sha256-o18DEF4+z3/jGhMZbow8PFtYBiIm6+b4B+6o5tM6ez0= - if impl(ghc>=9.12.1) -- allow newer packages, that are bound to be newer due to -- being shipped with a newer compiler. If you extend this @@ -29,7 +22,7 @@ repository head.hackage.ghc.haskell.org f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d - --sha256: sha256-6w1dAY7syB11aqT7T3mi/vOupdwL9GT2ztRZJBBG/u8= + --sha256: sha256-Tc0SzZeJtkhLr7Fi99RPXBpaW/74/wfUqnfz9E7TJKg= repository ghcjs-overlay url: https://raw.githubusercontent.com/input-output-hk/hackage-overlay-ghcjs/ffb32dce467b9a4d27be759fdd2740a6edd09d0b diff --git a/test/call-stack-to-nix/package.yaml b/test/call-stack-to-nix/package.yaml index 7903b38ff8..1ebdf419d5 100644 --- a/test/call-stack-to-nix/package.yaml +++ b/test/call-stack-to-nix/package.yaml @@ -29,10 +29,15 @@ executables: stack-simple-exe: main: Main.hs source-dirs: app - ghc-options: - - -threaded - - -rtsopts - - -with-rtsopts=-N + when: + - condition: arch(wasm32) + then: + ghc-options: [] + else: + ghc-options: + - -threaded + - -rtsopts + - -with-rtsopts=-N dependencies: - stack-simple @@ -40,9 +45,14 @@ tests: stack-simple-test: main: Spec.hs source-dirs: test - ghc-options: - - -threaded - - -rtsopts - - -with-rtsopts=-N + when: + - condition: arch(wasm32) + then: + ghc-options: [] + else: + ghc-options: + - -threaded + - -rtsopts + - -with-rtsopts=-N dependencies: - stack-simple diff --git a/test/coverage/default.nix b/test/coverage/default.nix index aa3a2fb1fb..512e85be8d 100644 --- a/test/coverage/default.nix +++ b/test/coverage/default.nix @@ -26,8 +26,8 @@ let crossSuffix' = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.isStatic) "-static" + crossSuffix; in recurseIntoAttrs ({ - # Does not work on ghcjs because it needs zlib. - meta.disabled = stdenv.hostPlatform.isGhcjs + # Does not work on ghcjs because it needs zlib. Wasm needs network fixed. + meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm # For some reason the `.tix` file is not created on armv7a android (not sure why) || stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32; run = stdenv.mkDerivation { diff --git a/test/exe-dlls/default.nix b/test/exe-dlls/default.nix index 6d7a7ba475..f16960cbf2 100644 --- a/test/exe-dlls/default.nix +++ b/test/exe-dlls/default.nix @@ -14,7 +14,7 @@ let packages = project.hsPkgs; in recurseIntoAttrs rec { - meta.disabled = stdenv.hostPlatform.isGhcjs; + meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm; ifdInputs = { inherit (project) plan-nix; diff --git a/test/exe-lib-dlls/default.nix b/test/exe-lib-dlls/default.nix index d2a883ca11..467c08afbe 100644 --- a/test/exe-lib-dlls/default.nix +++ b/test/exe-lib-dlls/default.nix @@ -14,7 +14,7 @@ let packages = project.hsPkgs; in recurseIntoAttrs rec { - meta.disabled = stdenv.hostPlatform.isGhcjs; + meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm; ifdInputs = { inherit (project) plan-nix; diff --git a/test/ghc-options/test-ghc-options.cabal b/test/ghc-options/test-ghc-options.cabal index e2a74555ad..9b8e708861 100644 --- a/test/ghc-options/test-ghc-options.cabal +++ b/test/ghc-options/test-ghc-options.cabal @@ -16,5 +16,6 @@ executable test-ghc-options-exe main-is: Main.hs build-depends: base >=4.7 && <5, test-ghc-options hs-source-dirs: app - ghc-options: -threaded -rtsopts -with-rtsopts=-N + if !arch(wasm32) + ghc-options: -threaded -rtsopts -with-rtsopts=-N default-language: Haskell2010 diff --git a/test/ghcjs-overlay/default.nix b/test/ghcjs-overlay/default.nix index 0f3a874b1b..956e800408 100644 --- a/test/ghcjs-overlay/default.nix +++ b/test/ghcjs-overlay/default.nix @@ -17,6 +17,9 @@ in recurseIntoAttrs { run = stdenv.mkDerivation { name = "ghcjs-overlay-test"; + # Double conversion needs updating for wasm + meta.disabled = stdenv.hostPlatform.isWasm; + buildCommand = '' exe="${packages.ghcjs-overlay-test.components.exes.ghcjs-overlay-test.exePath}" size=$(command stat --format '%s' "$exe") diff --git a/test/gi-gtk/default.nix b/test/gi-gtk/default.nix index cdab43a1bb..8ceb1e1f69 100644 --- a/test/gi-gtk/default.nix +++ b/test/gi-gtk/default.nix @@ -16,7 +16,7 @@ let packages = project.hsPkgs; in recurseIntoAttrs rec { - meta.disabled = stdenv.hostPlatform.isGhcjs + meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm # Gtk cross compilation seems to be broken in nixpkgs || stdenv.hostPlatform.isWindows # We can't make static libraries for Gtk diff --git a/test/js-template-haskell/default.nix b/test/js-template-haskell/default.nix index 273f2ebf37..16e4255dcc 100644 --- a/test/js-template-haskell/default.nix +++ b/test/js-template-haskell/default.nix @@ -24,6 +24,8 @@ in recurseIntoAttrs { }; meta.disabled = builtins.elem compiler-nix-name ["ghc91320241204"] + # Not sure why this is failing with a seg fault + || (builtins.elem compiler-nix-name ["ghc9102" "ghc9102llvm"] && stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32) # unhandled ELF relocation(Rel) type 10 || (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32); @@ -31,6 +33,7 @@ in recurseIntoAttrs { check = packages.js-template-haskell.checks.test; } // optionalAttrs (!( stdenv.hostPlatform.isGhcjs + || (builtins.elem compiler-nix-name ["ghc984" "ghc9122" "ghc9122llvm" "ghc91320250523"] && stdenv.buildPlatform.isx86_64 && stdenv.hostPlatform.isAarch64) || (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl && builtins.elem compiler-nix-name ["ghc9101" "ghc966"]) diff --git a/test/js-template-haskell/js-template-haskell.cabal b/test/js-template-haskell/js-template-haskell.cabal index 550b546918..9758060d78 100644 --- a/test/js-template-haskell/js-template-haskell.cabal +++ b/test/js-template-haskell/js-template-haskell.cabal @@ -12,6 +12,7 @@ library exposed-modules: MyLib build-depends: base , uri-bytestring + , th-orphans hs-source-dirs: src default-language: Haskell2010 diff --git a/test/plugin/default.nix b/test/plugin/default.nix index 3de0bc1b70..ed550473d4 100644 --- a/test/plugin/default.nix +++ b/test/plugin/default.nix @@ -18,11 +18,11 @@ in recurseIntoAttrs { inherit (project) plan-nix; }; - # Not sure why this breaks for ghc 8.10.7 meta.disabled = builtins.elem compiler-nix-name [ "ghc91320250523" ] || stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isGhcjs + || stdenv.hostPlatform.isWasm || stdenv.hostPlatform.isWindows || (haskellLib.isCrossHost && (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32)); build = packages.test.components.library; diff --git a/test/project-flags/test-project-flags.cabal b/test/project-flags/test-project-flags.cabal index 67b88a8f4e..5fae1f360e 100644 --- a/test/project-flags/test-project-flags.cabal +++ b/test/project-flags/test-project-flags.cabal @@ -22,7 +22,8 @@ executable test-project-flags-exe main-is: Main.hs build-depends: base >=4.7 && <5, test-project-flags hs-source-dirs: app - ghc-options: -threaded -rtsopts -with-rtsopts=-N + if !arch(wasm32) + ghc-options: -threaded -rtsopts -with-rtsopts=-N default-language: Haskell2010 if flag(test-flag) cpp-options: -DTEST_FLAG diff --git a/test/shell-for/default.nix b/test/shell-for/default.nix index 11bad7dbae..34f1b2ff06 100644 --- a/test/shell-for/default.nix +++ b/test/shell-for/default.nix @@ -55,6 +55,7 @@ in recurseIntoAttrs { # Does not work on windows because it needs mintty. meta.disabled = stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isGhcjs + || stdenv.hostPlatform.isWasm || stdenv.hostPlatform.isWindows || (haskellLib.isCrossHost && (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32)); inherit env envPkga envDefault; diff --git a/test/stack-simple/package.yaml b/test/stack-simple/package.yaml index 7903b38ff8..1ebdf419d5 100644 --- a/test/stack-simple/package.yaml +++ b/test/stack-simple/package.yaml @@ -29,10 +29,15 @@ executables: stack-simple-exe: main: Main.hs source-dirs: app - ghc-options: - - -threaded - - -rtsopts - - -with-rtsopts=-N + when: + - condition: arch(wasm32) + then: + ghc-options: [] + else: + ghc-options: + - -threaded + - -rtsopts + - -with-rtsopts=-N dependencies: - stack-simple @@ -40,9 +45,14 @@ tests: stack-simple-test: main: Spec.hs source-dirs: test - ghc-options: - - -threaded - - -rtsopts - - -with-rtsopts=-N + when: + - condition: arch(wasm32) + then: + ghc-options: [] + else: + ghc-options: + - -threaded + - -rtsopts + - -with-rtsopts=-N dependencies: - stack-simple diff --git a/test/stack-simple/stack-simple.cabal b/test/stack-simple/stack-simple.cabal index e4c2c26e4c..74cb9e62d6 100644 --- a/test/stack-simple/stack-simple.cabal +++ b/test/stack-simple/stack-simple.cabal @@ -1,10 +1,10 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.31.1. +-- This file has been generated from package.yaml by hpack version 0.36.1. -- -- see: https://github.com/sol/hpack -- --- hash: 0df70dbda375296766e47fd09b809934bff5ee3edb5a16e93681d4cb37cef875 +-- hash: 05dd43c0f3d2b6e620434a836103dff6a38dc186400eb95a0ac4a041f42444ae name: stack-simple version: 0.1.0.0 @@ -41,11 +41,13 @@ executable stack-simple-exe Paths_stack_simple hs-source-dirs: app - ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: base >=4.7 && <5 , stack-simple default-language: Haskell2010 + if arch(wasm32) + else + ghc-options: -threaded -rtsopts -with-rtsopts=-N test-suite stack-simple-test type: exitcode-stdio-1.0 @@ -54,8 +56,10 @@ test-suite stack-simple-test Paths_stack_simple hs-source-dirs: test - ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: base >=4.7 && <5 , stack-simple default-language: Haskell2010 + if arch(wasm32) + else + ghc-options: -threaded -rtsopts -with-rtsopts=-N diff --git a/test/supported-langauges/default.nix b/test/supported-langauges/default.nix index 1a7b19f4b5..cb1b31d834 100644 --- a/test/supported-langauges/default.nix +++ b/test/supported-langauges/default.nix @@ -1,7 +1,7 @@ { stdenv, pkgs, lib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: let - ghc = buildPackages.haskell-nix.compiler.${compiler-nix-name}.override { hadrianEvalPackages = evalPackages; }; + ghc = buildPackages.haskell-nix.compiler.${compiler-nix-name}.override { ghcEvalPackages = evalPackages; }; supported-langauges = import ../../lib/supported-languages.nix { inherit pkgs evalPackages ghc; diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index f655965768..0f96f0a6bc 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -26,7 +26,7 @@ let packages-ei = (project true).hsPkgs; in recurseIntoAttrs { - meta.disabled = stdenv.hostPlatform.isGhcjs + meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm # On aarch64 this test breaks form musl cross compiles on x86_64-linux # Error is: # iserv-proxy-interpreter: internal error: 0x0 address for .LANCHOR1 + 0 of type 562 From c3380cc02d0e5249b6c1b609833135b95a610af9 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 31 Aug 2025 00:52:12 +0000 Subject: [PATCH 188/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 5f1a4a98d6..4660e08c07 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1756513486, - "narHash": "sha256-mCLbG9Vcz5B95W6JDXkTJGhn1C1QucCnSK0qYjFVdJo=", + "lastModified": 1756600676, + "narHash": "sha256-jwu+nyaVHxJzgDJMJjZ6ZJ7kR/Tc0Zd+kj0TnbhXzwU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a2ad3e285a70d560a223613501f0b18866176168", + "rev": "e020d73db65a3077ed216941a682ac8de3722cd2", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1756513476, - "narHash": "sha256-acRJWjYb4w5NIEQS2t+WrEOti1tKoci0kPp2qRAkjFg=", + "lastModified": 1756600075, + "narHash": "sha256-rCDhCCWoNPbNM92s+Cy2ynLsy26GLwaT0cNgttbHbTY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1572f06666b4401d6ad3d36a395b65397eaec160", + "rev": "cfc1ade34a20cf02b8da122c7c13dc8402cff0e1", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1756512731, - "narHash": "sha256-TsoDdrdSgI05Vb3ywtNFoDQt2c3W3h9V2CDwwfpnli0=", + "lastModified": 1756599261, + "narHash": "sha256-q5bRMT/Zr/hzXT1q8yDzPDsthgVIn6KLTa9Uens2oWo=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "211a8937b3fd7f193819dadb086721c5409bfdab", + "rev": "1ae535ce067096a08308b6884e70a634a16ee8d0", "type": "github" }, "original": { From 5c0c2f1efdd5b2a191b247b647338cdf335ce83c Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 1 Sep 2025 00:51:59 +0000 Subject: [PATCH 189/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 4660e08c07..7f0e500455 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1756600676, - "narHash": "sha256-jwu+nyaVHxJzgDJMJjZ6ZJ7kR/Tc0Zd+kj0TnbhXzwU=", + "lastModified": 1756686616, + "narHash": "sha256-fVvVonb57ejanDO/HbXsL29ltWQotjAHNMyneIDKOkg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e020d73db65a3077ed216941a682ac8de3722cd2", + "rev": "274b5fe539a12fe4ab0bba14eb8a2a88b3c0105e", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1756600075, - "narHash": "sha256-rCDhCCWoNPbNM92s+Cy2ynLsy26GLwaT0cNgttbHbTY=", + "lastModified": 1756686606, + "narHash": "sha256-tgoLQXnbJ4dn49nS80AEByA/ihqoAlvhdtFHy1v7X9A=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "cfc1ade34a20cf02b8da122c7c13dc8402cff0e1", + "rev": "12574c4d8015bfa2a1e41b5494911eb9fe1b2346", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1756599261, - "narHash": "sha256-q5bRMT/Zr/hzXT1q8yDzPDsthgVIn6KLTa9Uens2oWo=", + "lastModified": 1756685728, + "narHash": "sha256-DZNM+bvmNCzTBS/R8DlX8ZH7udMki9jOkkTDnJLsPrg=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "1ae535ce067096a08308b6884e70a634a16ee8d0", + "rev": "85a16452452284055a3979b7fb3c341f7b491122", "type": "github" }, "original": { From ac987ef18ca39c612dc08a80ee4550c99b66fd9a Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 2 Sep 2025 00:51:39 +0000 Subject: [PATCH 190/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7f0e500455..f672f754d0 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1756686616, - "narHash": "sha256-fVvVonb57ejanDO/HbXsL29ltWQotjAHNMyneIDKOkg=", + "lastModified": 1756772745, + "narHash": "sha256-n3BHCYtQT4/5x0kJyoAp/0Yr0VNgdV3mmTzy8/tiQB8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "274b5fe539a12fe4ab0bba14eb8a2a88b3c0105e", + "rev": "2fd779d9903cceffd5c26e5b3093aab9cfccb341", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1756686606, - "narHash": "sha256-tgoLQXnbJ4dn49nS80AEByA/ihqoAlvhdtFHy1v7X9A=", + "lastModified": 1756772734, + "narHash": "sha256-kot2lTSCBuWIuJAm28n9PSbrIqrOn92u83kVWFBtZtI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "12574c4d8015bfa2a1e41b5494911eb9fe1b2346", + "rev": "0dabf399347c164d6309843a0fe84460cbc008ec", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1756685728, - "narHash": "sha256-DZNM+bvmNCzTBS/R8DlX8ZH7udMki9jOkkTDnJLsPrg=", + "lastModified": 1756771957, + "narHash": "sha256-4gpnaFvpLwD+jk1BGkGcNPWPy0pKHCLd0suGPrP9tJk=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "85a16452452284055a3979b7fb3c341f7b491122", + "rev": "ad1a53a776a6e1a9e106898d88df9920a6e80d4a", "type": "github" }, "original": { From 81ac97242f685da399264650bfdc5aa4f9a9c8a1 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 3 Sep 2025 00:51:24 +0000 Subject: [PATCH 191/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f672f754d0..176ca8e8f3 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1756772745, - "narHash": "sha256-n3BHCYtQT4/5x0kJyoAp/0Yr0VNgdV3mmTzy8/tiQB8=", + "lastModified": 1756859070, + "narHash": "sha256-EDkBlK4bLBvjbL7HWy+NxnAuHAzbNeTccrVSG1KWVC4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "2fd779d9903cceffd5c26e5b3093aab9cfccb341", + "rev": "155017dc08e5df95be357acb7403f248ee3e1f4d", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1756772734, - "narHash": "sha256-kot2lTSCBuWIuJAm28n9PSbrIqrOn92u83kVWFBtZtI=", + "lastModified": 1756859060, + "narHash": "sha256-PH8UpVT5CpR65QzOkk72/20yQtsvGOmr6QKupaCnrbA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "0dabf399347c164d6309843a0fe84460cbc008ec", + "rev": "51805b86669a861b2ac832a1d48552c290cd8b3e", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1756771957, - "narHash": "sha256-4gpnaFvpLwD+jk1BGkGcNPWPy0pKHCLd0suGPrP9tJk=", + "lastModified": 1756858328, + "narHash": "sha256-EC1XGmnVF2QVzmNsq2Kbe2BzdahuwEKzm8lps80NDXU=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "ad1a53a776a6e1a9e106898d88df9920a6e80d4a", + "rev": "80fbb8ea11e6000c3be4f43870a4a68f194fc87a", "type": "github" }, "original": { From 2a60817393f640169f5557e79dc9d81c61ef6946 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 4 Sep 2025 00:51:53 +0000 Subject: [PATCH 192/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 176ca8e8f3..621542c159 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1756859070, - "narHash": "sha256-EDkBlK4bLBvjbL7HWy+NxnAuHAzbNeTccrVSG1KWVC4=", + "lastModified": 1756945476, + "narHash": "sha256-ljDOdqxili+qoQGyK89Nqv4qSx7aW/yQWR5E7JlXSTs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "155017dc08e5df95be357acb7403f248ee3e1f4d", + "rev": "d1734fee7cbc79883c191bc6f8c18042ff7d2b06", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1756859060, - "narHash": "sha256-PH8UpVT5CpR65QzOkk72/20yQtsvGOmr6QKupaCnrbA=", + "lastModified": 1756945466, + "narHash": "sha256-mEdZy3gNe6GJ4wzDlBtrXyX/gVRIIpB2jrjbshFspBs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "51805b86669a861b2ac832a1d48552c290cd8b3e", + "rev": "7701caf0bb65783625aaba751f5e86c378965fdd", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1756858328, - "narHash": "sha256-EC1XGmnVF2QVzmNsq2Kbe2BzdahuwEKzm8lps80NDXU=", + "lastModified": 1756944730, + "narHash": "sha256-6SwPO4bHlyctKVKV5jMjjqkuw8b0HUOkgsXzGHegaUU=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "80fbb8ea11e6000c3be4f43870a4a68f194fc87a", + "rev": "0fe6a61b01e9d2f5dfaa3ada0f7243b616d5a9f5", "type": "github" }, "original": { From 6720a76f3205a35da1f25ee25fca1197cd0ea0a2 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 5 Sep 2025 00:51:58 +0000 Subject: [PATCH 193/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 621542c159..b9c5459d77 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1756945476, - "narHash": "sha256-ljDOdqxili+qoQGyK89Nqv4qSx7aW/yQWR5E7JlXSTs=", + "lastModified": 1757031932, + "narHash": "sha256-GC4UWCHCzCnC5CCNCvnv3Tw3MJjHhihPMy+usyi9n4k=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d1734fee7cbc79883c191bc6f8c18042ff7d2b06", + "rev": "dd76578a693e637584fe28dd83e29e5a90eac11e", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1756945466, - "narHash": "sha256-mEdZy3gNe6GJ4wzDlBtrXyX/gVRIIpB2jrjbshFspBs=", + "lastModified": 1757031921, + "narHash": "sha256-I54KfEhi3kSnnLDfSlp65VNFwxGdL8SR0MDAgoHNlaA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7701caf0bb65783625aaba751f5e86c378965fdd", + "rev": "d9edb4c35fee7c339c67be49ca9c6470ce00780b", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1756944730, - "narHash": "sha256-6SwPO4bHlyctKVKV5jMjjqkuw8b0HUOkgsXzGHegaUU=", + "lastModified": 1757031174, + "narHash": "sha256-VuyWwMykKHNhBLKpUc6zAmEaS4NNq7aJcOOsuqosByI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "0fe6a61b01e9d2f5dfaa3ada0f7243b616d5a9f5", + "rev": "b3778a4fb1a39d6893f0fcb3011953372aaba342", "type": "github" }, "original": { From da7b32550acd547b2f2ab09882a0844c68f99381 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 6 Sep 2025 00:51:54 +0000 Subject: [PATCH 194/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b9c5459d77..1084598a81 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1757031932, - "narHash": "sha256-GC4UWCHCzCnC5CCNCvnv3Tw3MJjHhihPMy+usyi9n4k=", + "lastModified": 1757118285, + "narHash": "sha256-raOJMmWvdovIsWKD0qPTfEmidzhKWYPb5iJRaITEGwU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "dd76578a693e637584fe28dd83e29e5a90eac11e", + "rev": "a94851a2dcf6a8d4fd6e88e6481fd8fe620f320b", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1757031921, - "narHash": "sha256-I54KfEhi3kSnnLDfSlp65VNFwxGdL8SR0MDAgoHNlaA=", + "lastModified": 1757118275, + "narHash": "sha256-ZnHQ+aN/07qHtDqsl3mSqfM+fNxQPzQkT73wVUlU1R8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d9edb4c35fee7c339c67be49ca9c6470ce00780b", + "rev": "5d47f9cd12663f73b9e587666ffafb0ce1e98345", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1757031174, - "narHash": "sha256-VuyWwMykKHNhBLKpUc6zAmEaS4NNq7aJcOOsuqosByI=", + "lastModified": 1757117534, + "narHash": "sha256-DyZfWzp4XLQCdF/ucTnsdndK7crwv9ZMEtnBGy2AfOI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "b3778a4fb1a39d6893f0fcb3011953372aaba342", + "rev": "92dea2033ff0a23b95966ce1d67cfd0cc1003632", "type": "github" }, "original": { From 7b64b0dfe9e38325bc6cd3a4f057b5215801c872 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 7 Sep 2025 00:52:10 +0000 Subject: [PATCH 195/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 1084598a81..c214b8a953 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1757118285, - "narHash": "sha256-raOJMmWvdovIsWKD0qPTfEmidzhKWYPb5iJRaITEGwU=", + "lastModified": 1757204834, + "narHash": "sha256-FLpW1I62+NsfVy4F5hSs0+Uj/vkJvjgj86WyZgrW2/s=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a94851a2dcf6a8d4fd6e88e6481fd8fe620f320b", + "rev": "d22d519e92ee6d0348a659976d009f3419c3de52", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1757118275, - "narHash": "sha256-ZnHQ+aN/07qHtDqsl3mSqfM+fNxQPzQkT73wVUlU1R8=", + "lastModified": 1757204824, + "narHash": "sha256-dAPQdVpNP+wjqKh+XpvLgDf6QO03UXLsLXtJMetIo8o=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5d47f9cd12663f73b9e587666ffafb0ce1e98345", + "rev": "bb8327a2c31bc99495e6b3f7bd0f0450c25f4143", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1757117534, - "narHash": "sha256-DyZfWzp4XLQCdF/ucTnsdndK7crwv9ZMEtnBGy2AfOI=", + "lastModified": 1757204011, + "narHash": "sha256-5a1iwJt+slNOV429cf6flinG8uUXI9d0xI9GrLe9QT8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "92dea2033ff0a23b95966ce1d67cfd0cc1003632", + "rev": "722d22874e9fff8d13ff194bda0d9b502d923e09", "type": "github" }, "original": { From 735a3d745a6bee07f7283d5453a74d195b046ba6 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 8 Sep 2025 00:51:36 +0000 Subject: [PATCH 196/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index c214b8a953..6b3bb17048 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1757204834, - "narHash": "sha256-FLpW1I62+NsfVy4F5hSs0+Uj/vkJvjgj86WyZgrW2/s=", + "lastModified": 1757291172, + "narHash": "sha256-agkD7+rNdilFFSAQww5PgWYhN3yV42tCIxcy6oT2z7w=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d22d519e92ee6d0348a659976d009f3419c3de52", + "rev": "bba224f8dbd4b097693f2491faca465545c5fbaa", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1757204824, - "narHash": "sha256-dAPQdVpNP+wjqKh+XpvLgDf6QO03UXLsLXtJMetIo8o=", + "lastModified": 1757291162, + "narHash": "sha256-fGmCoWXar5FXr74YU+MhdSraKnS1vc3UEHD0JzZFvm4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "bb8327a2c31bc99495e6b3f7bd0f0450c25f4143", + "rev": "c1afedbca909e7f7e8866d51e40f79f66437cfc3", "type": "github" }, "original": { From 2ceda198b51ae2848c2e6f9bc7d50e1415aaa2be Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 9 Sep 2025 00:51:34 +0000 Subject: [PATCH 197/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 6b3bb17048..fb3a4b651e 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1757291172, - "narHash": "sha256-agkD7+rNdilFFSAQww5PgWYhN3yV42tCIxcy6oT2z7w=", + "lastModified": 1757377529, + "narHash": "sha256-Jw3uXWIp5JsFhf9qGJjInbaYE4PJTSrfje8PBu05A98=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "bba224f8dbd4b097693f2491faca465545c5fbaa", + "rev": "7b5b9636ea47812b9c9de3cd1c63329b645edba2", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1757291162, - "narHash": "sha256-fGmCoWXar5FXr74YU+MhdSraKnS1vc3UEHD0JzZFvm4=", + "lastModified": 1757377519, + "narHash": "sha256-pIKKD9C/iKw5efUsLvU0J0KDOw/iiQfLxzqfG2z/uH4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c1afedbca909e7f7e8866d51e40f79f66437cfc3", + "rev": "032d2cf81f6183feb558b4f6a851c8e464cf28ef", "type": "github" }, "original": { From 7ea202407ef3a0c6fc58750c33a6e3ed854ff1fc Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 10 Sep 2025 00:51:55 +0000 Subject: [PATCH 198/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index fb3a4b651e..23858a595c 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1757377529, - "narHash": "sha256-Jw3uXWIp5JsFhf9qGJjInbaYE4PJTSrfje8PBu05A98=", + "lastModified": 1757463926, + "narHash": "sha256-9KA+P4w5tVrbVvNo3lf1LUozd9qSoBDvNgQ7MO9WqpQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7b5b9636ea47812b9c9de3cd1c63329b645edba2", + "rev": "ddcf7106f12672bddbf5350872995e31af6573bf", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1757377519, - "narHash": "sha256-pIKKD9C/iKw5efUsLvU0J0KDOw/iiQfLxzqfG2z/uH4=", + "lastModified": 1757463916, + "narHash": "sha256-vhXHRkU2UWB8KB9XiteOkf6l3mqzRed6nfP8SnXEZyg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "032d2cf81f6183feb558b4f6a851c8e464cf28ef", + "rev": "90a313999ef572bb30b7e31f0d394aab52552f15", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1757204011, - "narHash": "sha256-5a1iwJt+slNOV429cf6flinG8uUXI9d0xI9GrLe9QT8=", + "lastModified": 1757463136, + "narHash": "sha256-nRa+NjmQeis+0B07fmeZ5dAs+b2Jb1Blos+5pxEPYYU=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "722d22874e9fff8d13ff194bda0d9b502d923e09", + "rev": "a561d2366527caf467a9524f931be16679c3f846", "type": "github" }, "original": { From 8e968400bed3102911524dc3fb27e775d0eb5536 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 11 Sep 2025 00:52:00 +0000 Subject: [PATCH 199/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 23858a595c..ecab2058ba 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1757463926, - "narHash": "sha256-9KA+P4w5tVrbVvNo3lf1LUozd9qSoBDvNgQ7MO9WqpQ=", + "lastModified": 1757550355, + "narHash": "sha256-m0ww7YZd6y5fe+i0YYJ/InzVEDjaW7O9pkj9vLYduj4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ddcf7106f12672bddbf5350872995e31af6573bf", + "rev": "4b18b23a5b540ae93a251b010d6c63be86791ebd", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1757463916, - "narHash": "sha256-vhXHRkU2UWB8KB9XiteOkf6l3mqzRed6nfP8SnXEZyg=", + "lastModified": 1757550345, + "narHash": "sha256-rfiHjwOQiDdHuHhZh8vY0EdZ4ZCFHzp5ZsLLvoWEwoM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "90a313999ef572bb30b7e31f0d394aab52552f15", + "rev": "78cf5476bbc1ab5c0333aaa1effab40f082d3910", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1757463136, - "narHash": "sha256-nRa+NjmQeis+0B07fmeZ5dAs+b2Jb1Blos+5pxEPYYU=", + "lastModified": 1757549552, + "narHash": "sha256-Sh12IsULNNwE77gcmJ44yzum+wlMMYsB318TUQVsuVE=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "a561d2366527caf467a9524f931be16679c3f846", + "rev": "d9e033a8d702b5362f0c6c0e01f33c73a6fd30fc", "type": "github" }, "original": { From 865e6a891c7c639d5614169c506314f20c380be8 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 12 Sep 2025 00:51:30 +0000 Subject: [PATCH 200/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index ecab2058ba..58d68781d0 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1757550355, - "narHash": "sha256-m0ww7YZd6y5fe+i0YYJ/InzVEDjaW7O9pkj9vLYduj4=", + "lastModified": 1757636724, + "narHash": "sha256-7xNfcRQJ+IMVhd19HkPYCHZo7tx6oGt5vR68MCXMrOo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4b18b23a5b540ae93a251b010d6c63be86791ebd", + "rev": "158cec777d3ccd89fa8eadecffe0d7f1b6d743c1", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1757550345, - "narHash": "sha256-rfiHjwOQiDdHuHhZh8vY0EdZ4ZCFHzp5ZsLLvoWEwoM=", + "lastModified": 1757636714, + "narHash": "sha256-HKmAhLrboU62hDJapAMiQNcfCOCBQGmbHFhlQnbTPgo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "78cf5476bbc1ab5c0333aaa1effab40f082d3910", + "rev": "4aebd265abaabb988b89c8711813b5c3544722d8", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1757549552, - "narHash": "sha256-Sh12IsULNNwE77gcmJ44yzum+wlMMYsB318TUQVsuVE=", + "lastModified": 1757635951, + "narHash": "sha256-O/jumZRmue3or25GAiTUj+F0t/ZpynG7jnTUn5KfTa8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d9e033a8d702b5362f0c6c0e01f33c73a6fd30fc", + "rev": "e7d498d93dc374945bcb4151b5c7d2e7cfc68b18", "type": "github" }, "original": { From 62ef01b9a89d27f97f570ccf2989590b505409b3 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 13 Sep 2025 00:51:50 +0000 Subject: [PATCH 201/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 58d68781d0..04ef33bc53 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1757636724, - "narHash": "sha256-7xNfcRQJ+IMVhd19HkPYCHZo7tx6oGt5vR68MCXMrOo=", + "lastModified": 1757723364, + "narHash": "sha256-M9wOOe3ErCAW7aLWlneJsi2xLLDAkyc8XGpQLwaArc8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "158cec777d3ccd89fa8eadecffe0d7f1b6d743c1", + "rev": "527801f186bb3329965748e5e8eb0b1b2e85774a", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1757636714, - "narHash": "sha256-HKmAhLrboU62hDJapAMiQNcfCOCBQGmbHFhlQnbTPgo=", + "lastModified": 1757723006, + "narHash": "sha256-zOK4/waeVb6Gw7VNPRMdlLgN63iu2f2S7RcsnRrrib8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4aebd265abaabb988b89c8711813b5c3544722d8", + "rev": "7335871d8f48a5273b9a4fa2a274c2f3087099d2", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1757635951, - "narHash": "sha256-O/jumZRmue3or25GAiTUj+F0t/ZpynG7jnTUn5KfTa8=", + "lastModified": 1757722302, + "narHash": "sha256-UQ6Mah0961WNlcP0qVk/jC3zmVx4bkca1ROcfst1MPI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "e7d498d93dc374945bcb4151b5c7d2e7cfc68b18", + "rev": "c000ac7990576933e0ad7520f0e1a95b8e2c10e8", "type": "github" }, "original": { From 35e930ac438d89712176bff0eaa395e4b8713d0a Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 14 Sep 2025 00:51:41 +0000 Subject: [PATCH 202/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 04ef33bc53..d57151ea43 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1757723364, - "narHash": "sha256-M9wOOe3ErCAW7aLWlneJsi2xLLDAkyc8XGpQLwaArc8=", + "lastModified": 1757810350, + "narHash": "sha256-MjKAoOe1BLolT0BtwzKTunNjKUq88kggRC89w4e/sHQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "527801f186bb3329965748e5e8eb0b1b2e85774a", + "rev": "f571f08ad006b9fe9414187fb41c138f26903e86", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1757723006, - "narHash": "sha256-zOK4/waeVb6Gw7VNPRMdlLgN63iu2f2S7RcsnRrrib8=", + "lastModified": 1757809583, + "narHash": "sha256-iAIZlbLPFErCLSOYAEMmJ3LOAwik58oHFDWD07r3GEU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7335871d8f48a5273b9a4fa2a274c2f3087099d2", + "rev": "28b122b09db4268d75bf7f2d8e2114b6582845e3", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1757722302, - "narHash": "sha256-UQ6Mah0961WNlcP0qVk/jC3zmVx4bkca1ROcfst1MPI=", + "lastModified": 1757808803, + "narHash": "sha256-KnFuvS0lCoYxXsjUh5bJ1aY6DxH5E2MawZCjM6dm1XM=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "c000ac7990576933e0ad7520f0e1a95b8e2c10e8", + "rev": "47702da08ac70eeb0942a35c9c91aa0d6b4da95b", "type": "github" }, "original": { From a7b9eea583e96da284b8433487992eca00923354 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 15 Sep 2025 00:52:14 +0000 Subject: [PATCH 203/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d57151ea43..3573491f5a 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1757810350, - "narHash": "sha256-MjKAoOe1BLolT0BtwzKTunNjKUq88kggRC89w4e/sHQ=", + "lastModified": 1757896009, + "narHash": "sha256-NYtPhwuKn6pV3hWF+9kJd9BGe+LEwtzO2gS0vnSTnRg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f571f08ad006b9fe9414187fb41c138f26903e86", + "rev": "9e0616a06000919679da1706196928b20e975f35", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1757809583, - "narHash": "sha256-iAIZlbLPFErCLSOYAEMmJ3LOAwik58oHFDWD07r3GEU=", + "lastModified": 1757895999, + "narHash": "sha256-HJ8RJOEBw/EbbQIGH7VoCKN38UVR8RUHxC86GhlgGZs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "28b122b09db4268d75bf7f2d8e2114b6582845e3", + "rev": "8fe5800c6116314f388089003d05cbfdd245c4d8", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1757808803, - "narHash": "sha256-KnFuvS0lCoYxXsjUh5bJ1aY6DxH5E2MawZCjM6dm1XM=", + "lastModified": 1757895219, + "narHash": "sha256-5URKDRio5YyNb3J9aWYuB5mX5nokdeT6+UNkOJwR7mA=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "47702da08ac70eeb0942a35c9c91aa0d6b4da95b", + "rev": "e8927730a72532269b432747901a6d237f628ae8", "type": "github" }, "original": { From 4cf808684da04f619adb63059b4336b450fb2370 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 16 Sep 2025 00:51:27 +0000 Subject: [PATCH 204/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 3573491f5a..57f9599bbc 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1757896009, - "narHash": "sha256-NYtPhwuKn6pV3hWF+9kJd9BGe+LEwtzO2gS0vnSTnRg=", + "lastModified": 1757982288, + "narHash": "sha256-qnfIgU4ILEoUdSXNJT1FqI9vClMw+7bzawryci1b7kM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9e0616a06000919679da1706196928b20e975f35", + "rev": "93b934a7c4309811c07d0184d2502642aacbefeb", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1757895999, - "narHash": "sha256-HJ8RJOEBw/EbbQIGH7VoCKN38UVR8RUHxC86GhlgGZs=", + "lastModified": 1757982278, + "narHash": "sha256-Dog1K0lrVYqWqs1/nMLMpJYdRaedSpMm9RjUoFJK4rI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8fe5800c6116314f388089003d05cbfdd245c4d8", + "rev": "3eec113f323d3d275ad4e8315e66630d93599488", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1757895219, - "narHash": "sha256-5URKDRio5YyNb3J9aWYuB5mX5nokdeT6+UNkOJwR7mA=", + "lastModified": 1757981556, + "narHash": "sha256-3ZC1NvBzECcFTrK6UqZujubC55nrXjlZKRPgzcn/t/c=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "e8927730a72532269b432747901a6d237f628ae8", + "rev": "cfa1d41b89c4e47e93702324ffd596ff8ac90482", "type": "github" }, "original": { From 8792aa154ae770f9100d158571a1a1f0cace0ed1 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 17 Sep 2025 00:52:01 +0000 Subject: [PATCH 205/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 57f9599bbc..6074370874 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1757982288, - "narHash": "sha256-qnfIgU4ILEoUdSXNJT1FqI9vClMw+7bzawryci1b7kM=", + "lastModified": 1758069420, + "narHash": "sha256-114ZE9DiIc+eE1EynlvqMeBA6MnoRuYU3cJGP6S+Fjw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "93b934a7c4309811c07d0184d2502642aacbefeb", + "rev": "7b6c516bab65ae63eb1ba59112ad0f279fb6a7b3", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1757982278, - "narHash": "sha256-Dog1K0lrVYqWqs1/nMLMpJYdRaedSpMm9RjUoFJK4rI=", + "lastModified": 1758068750, + "narHash": "sha256-z6c/+aBrmC9bsymzCfnfrellE+uPjYfQrKLDjndFZKY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3eec113f323d3d275ad4e8315e66630d93599488", + "rev": "6fcc52699310f77ec8d2671846c0815750d6671a", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1757981556, - "narHash": "sha256-3ZC1NvBzECcFTrK6UqZujubC55nrXjlZKRPgzcn/t/c=", + "lastModified": 1758067933, + "narHash": "sha256-Sg7LIhiIo08+nrsFDanJ9ROKXwbbKWUYemMnDOlwnJ0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "cfa1d41b89c4e47e93702324ffd596ff8ac90482", + "rev": "8248c54bd880a186cb73fae1d26bcf03960253b1", "type": "github" }, "original": { From 9bfdabcc43c69f2a9ede40b1644e09abadd43abe Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 18 Sep 2025 00:52:07 +0000 Subject: [PATCH 206/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 6074370874..5f2d72ab91 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1758069420, - "narHash": "sha256-114ZE9DiIc+eE1EynlvqMeBA6MnoRuYU3cJGP6S+Fjw=", + "lastModified": 1758155695, + "narHash": "sha256-ZxtXRKcmlsmXaENBQiFazKVKVr7I1KSEfmvk2W4Gj3Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7b6c516bab65ae63eb1ba59112ad0f279fb6a7b3", + "rev": "6879b5a61332110d75998b9ff253909c898f6d51", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1758068750, - "narHash": "sha256-z6c/+aBrmC9bsymzCfnfrellE+uPjYfQrKLDjndFZKY=", + "lastModified": 1758155088, + "narHash": "sha256-GKT/3B4b2+y+Ljwsi//Qf4YlWy9awVfKnP7OdbQJCdk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6fcc52699310f77ec8d2671846c0815750d6671a", + "rev": "1908d86897847b8a3b4d5c53f96ecba82723fb66", "type": "github" }, "original": { From ff80c121c92ae138b28efef3d260504fc0e1a361 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 19 Sep 2025 00:52:04 +0000 Subject: [PATCH 207/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 5f2d72ab91..bd00b7085c 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1758155695, - "narHash": "sha256-ZxtXRKcmlsmXaENBQiFazKVKVr7I1KSEfmvk2W4Gj3Y=", + "lastModified": 1758241174, + "narHash": "sha256-KYCSB7LyAcoQctQwGqb/S1HWjYuAvrVSkrdSMKb2P6U=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6879b5a61332110d75998b9ff253909c898f6d51", + "rev": "8596d169e7623d38932dddd52dfb9b98797d9de1", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1758155088, - "narHash": "sha256-GKT/3B4b2+y+Ljwsi//Qf4YlWy9awVfKnP7OdbQJCdk=", + "lastModified": 1758241524, + "narHash": "sha256-cTfBKWqJaMTYfMq/P+EfD88o9bXg0IoXbVoW6JPSDac=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1908d86897847b8a3b4d5c53f96ecba82723fb66", + "rev": "f15e65e51134de2510caa74af54be587308ea881", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1758067933, - "narHash": "sha256-Sg7LIhiIo08+nrsFDanJ9ROKXwbbKWUYemMnDOlwnJ0=", + "lastModified": 1758240738, + "narHash": "sha256-FQrzVesbQyD/VR1sj3AHq0Ory66dsT7kjrwp9zEkz/A=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "8248c54bd880a186cb73fae1d26bcf03960253b1", + "rev": "b26372b9401ca64051d96fbb3a65edffb6030c85", "type": "github" }, "original": { From a827dfb4d95527fbcae09333f0504ff5c356465b Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 20 Sep 2025 00:51:24 +0000 Subject: [PATCH 208/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index bd00b7085c..c3ab569215 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1758241174, - "narHash": "sha256-KYCSB7LyAcoQctQwGqb/S1HWjYuAvrVSkrdSMKb2P6U=", + "lastModified": 1758327879, + "narHash": "sha256-HV0TWNe0xp4ytipqqx0Y0fQFFdX397aeFWrD4iwIFn0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8596d169e7623d38932dddd52dfb9b98797d9de1", + "rev": "8c79e19bdab6965e4ec0c41f62307cf1603521d0", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1758241524, - "narHash": "sha256-cTfBKWqJaMTYfMq/P+EfD88o9bXg0IoXbVoW6JPSDac=", + "lastModified": 1758327869, + "narHash": "sha256-5PBLmjSAr6PmIJxwCkf07dTfvF4RQIAAKbSZw1O6vB8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f15e65e51134de2510caa74af54be587308ea881", + "rev": "cdc4f9e7eebd80424672dc0c34b0cac56eb98a17", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1758240738, - "narHash": "sha256-FQrzVesbQyD/VR1sj3AHq0Ory66dsT7kjrwp9zEkz/A=", + "lastModified": 1758327117, + "narHash": "sha256-sXEeQSigHV7R/1MjkwIr9K4bMjXO4LgVIjenVZHNS+A=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "b26372b9401ca64051d96fbb3a65edffb6030c85", + "rev": "b6da45852b7c3c981479663939ec8334a51196ef", "type": "github" }, "original": { From 917716fb7975889f8af61424fe5732ea50dd0c85 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 21 Sep 2025 00:52:16 +0000 Subject: [PATCH 209/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index c3ab569215..1789bf7b9d 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1758327879, - "narHash": "sha256-HV0TWNe0xp4ytipqqx0Y0fQFFdX397aeFWrD4iwIFn0=", + "lastModified": 1758414433, + "narHash": "sha256-Xdor7zLyhxIPEpVlN45Gv6KWTgApLUzPC2zNokx2Xx8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8c79e19bdab6965e4ec0c41f62307cf1603521d0", + "rev": "da1facb169084adc13340fba516ade33eb03a8ef", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1758327869, - "narHash": "sha256-5PBLmjSAr6PmIJxwCkf07dTfvF4RQIAAKbSZw1O6vB8=", + "lastModified": 1758414423, + "narHash": "sha256-XNdw1qUe/y0RA/J1rjHXckcJd/eZjUYutR9w+BG+ta4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "cdc4f9e7eebd80424672dc0c34b0cac56eb98a17", + "rev": "bf07667a271f84b5f8ffa734c8376e1c6ffa8e5a", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1758327117, - "narHash": "sha256-sXEeQSigHV7R/1MjkwIr9K4bMjXO4LgVIjenVZHNS+A=", + "lastModified": 1758413622, + "narHash": "sha256-7xwyWR2ZAocOUUBvoozewd6hVH9vB3Rj+wb4Xk0hPso=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "b6da45852b7c3c981479663939ec8334a51196ef", + "rev": "e4738f506960394d5f27f454b7c2a4e43e0908c8", "type": "github" }, "original": { From ac8ccf4f2e2713834b08c358b05da7524271bc8f Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 22 Sep 2025 00:52:17 +0000 Subject: [PATCH 210/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 1789bf7b9d..02763a3842 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1758414433, - "narHash": "sha256-Xdor7zLyhxIPEpVlN45Gv6KWTgApLUzPC2zNokx2Xx8=", + "lastModified": 1758501263, + "narHash": "sha256-IN9mYsmkTOB/iHu5UEcKAI/O79aZsp5XDMwfnYe3KDg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "da1facb169084adc13340fba516ade33eb03a8ef", + "rev": "b7b545e61cb456e854ec93507ccf376e4c371e80", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1758414423, - "narHash": "sha256-XNdw1qUe/y0RA/J1rjHXckcJd/eZjUYutR9w+BG+ta4=", + "lastModified": 1758500825, + "narHash": "sha256-hEpSH/l++fjnKgK5TbrUpSgsCjP21o09eOIpawKDOHs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "bf07667a271f84b5f8ffa734c8376e1c6ffa8e5a", + "rev": "c7f53be09ddd0164efcc3f265ea7d7c6cf038e0b", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1758413622, - "narHash": "sha256-7xwyWR2ZAocOUUBvoozewd6hVH9vB3Rj+wb4Xk0hPso=", + "lastModified": 1758500023, + "narHash": "sha256-CjArg5OrGEJLemcUIHe1pUa2tFByU+PIdJGoEUiDdZE=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "e4738f506960394d5f27f454b7c2a4e43e0908c8", + "rev": "3ab58ba7587fa7803aad4b91eb30ce778c286c61", "type": "github" }, "original": { From c0454391b7b026387623289d3deb4ce9b431a528 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 23 Sep 2025 00:52:03 +0000 Subject: [PATCH 211/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 02763a3842..cdc3b71cd9 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1758501263, - "narHash": "sha256-IN9mYsmkTOB/iHu5UEcKAI/O79aZsp5XDMwfnYe3KDg=", + "lastModified": 1758587144, + "narHash": "sha256-xdUBIL1itjPinMkv6+c8KShQKT2u/GnqMZqJUYF7fOI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b7b545e61cb456e854ec93507ccf376e4c371e80", + "rev": "3631450c14974a836d339948f20f5ba718510173", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1758500825, - "narHash": "sha256-hEpSH/l++fjnKgK5TbrUpSgsCjP21o09eOIpawKDOHs=", + "lastModified": 1758587134, + "narHash": "sha256-3iMAVhePpeFe/QYCe3QvoI23fNWOSqwOIwp1i4tcSpw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c7f53be09ddd0164efcc3f265ea7d7c6cf038e0b", + "rev": "2656855f40bf2d24e979e7a80de1585f4b321ecc", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1758500023, - "narHash": "sha256-CjArg5OrGEJLemcUIHe1pUa2tFByU+PIdJGoEUiDdZE=", + "lastModified": 1758586367, + "narHash": "sha256-j5WGG91dtxeewPt1OrRps4eNZG9IwzzGZ/7zcpPfamg=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "3ab58ba7587fa7803aad4b91eb30ce778c286c61", + "rev": "9a4982f3a60ad13e0bbba78b16c77de576fecdf0", "type": "github" }, "original": { From e74247956da5d3a2179fdbd31c0552f6655d031f Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 24 Sep 2025 00:51:27 +0000 Subject: [PATCH 212/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index cdc3b71cd9..7b919d595b 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1758587144, - "narHash": "sha256-xdUBIL1itjPinMkv6+c8KShQKT2u/GnqMZqJUYF7fOI=", + "lastModified": 1758673540, + "narHash": "sha256-joR0eMsaNOMK8svc8cXgFV/7527Fs7bDiQPNUOJvibw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3631450c14974a836d339948f20f5ba718510173", + "rev": "eba72e880c5c69ad8dc4feea26f009d4e7ab9b3a", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1758587134, - "narHash": "sha256-3iMAVhePpeFe/QYCe3QvoI23fNWOSqwOIwp1i4tcSpw=", + "lastModified": 1758673529, + "narHash": "sha256-Y0ieHRxoINN7ERdJGfBEXzmoUh3GjVr7hbuFfBovhyE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "2656855f40bf2d24e979e7a80de1585f4b321ecc", + "rev": "c27b90147f957fab34c1093b6d35dcd9b4f9c157", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1758586367, - "narHash": "sha256-j5WGG91dtxeewPt1OrRps4eNZG9IwzzGZ/7zcpPfamg=", + "lastModified": 1758672746, + "narHash": "sha256-1NxN+wrZIraFmBNffEPGHPhbzpP+Knz30JvHFIUkP8Y=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "9a4982f3a60ad13e0bbba78b16c77de576fecdf0", + "rev": "d22526ce3c01892d05d5016350f4f81b534c51f8", "type": "github" }, "original": { From ce9ac7acd653cb580518f0f3d043dfa313af0b0b Mon Sep 17 00:00:00 2001 From: Cheng Shao Date: Thu, 25 Sep 2025 01:57:23 +0200 Subject: [PATCH 213/308] wasm: disable tail-call flag for now (#2440) As reported and confirmed from a ghc wasm backend user, tail-call opcodes may cause ios webview crashes for some large haskell wasm apps, and removing tail-call opcodes fixes the crash. Given webkit only supported tail-call since 18.2, it's better to disable tail-call flag for the time being and revisit this in the future. This patch also removes --no-turbo-fast-api-calls from the dyld script flags, since it was used to workaround https://github.com/nodejs/node/issues/46777 when wasm module uses tail calls. It's not needed when tail calls are not used and it has a performance penalty. --- compiler/ghc/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 775040f4ca..ff3e75c8cb 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -397,7 +397,7 @@ let " '*.*.ghc.*.opts += -fPIC' '*.*.cc.*.opts += -fPIC'" # C options for wasm + lib.optionalString targetPlatform.isWasm ( - " 'stage1.*.ghc.*.opts += -optc-Wno-error=int-conversion -optc-O3 -optc-mcpu=lime1 -optc-mreference-types -optc-msimd128 -optc-mtail-call -optc-DXXH_NO_XXH3'" + " 'stage1.*.ghc.*.opts += -optc-Wno-error=int-conversion -optc-O3 -optc-mcpu=lime1 -optc-mreference-types -optc-msimd128 -optc-DXXH_NO_XXH3'" + " 'stage1.*.ghc.cpp.opts += -optc-fno-exceptions'") # `-fexternal-dynamic-refs` causes `undefined reference` errors when building GHC cross compiler for windows + lib.optionalString (enableRelocatedStaticLibs && targetPlatform.isx86_64 && !targetPlatform.isWindows) @@ -626,7 +626,6 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { if builtins.compareVersions ghc-version "9.13" < 0 then "--experimental-wasm-type-reflection" else "--max-old-space-size=65536"} \ - --no-turbo-fast-api-calls \ --wasm-lazy-validation \ "$SCRIPT" \ "${lib-wasm}/lib" \ From e5ee170a999653f825c2448fd7c44814486ff356 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 25 Sep 2025 00:51:32 +0000 Subject: [PATCH 214/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7b919d595b..b786ea5d83 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1758673540, - "narHash": "sha256-joR0eMsaNOMK8svc8cXgFV/7527Fs7bDiQPNUOJvibw=", + "lastModified": 1758759934, + "narHash": "sha256-VrTBELvtzIdsye3FZ5YVGb2CXQiyOFZPo3vsLZOFiO4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "eba72e880c5c69ad8dc4feea26f009d4e7ab9b3a", + "rev": "84e95f44c5b56a81495f59702f56fa7d18695dcd", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1758673529, - "narHash": "sha256-Y0ieHRxoINN7ERdJGfBEXzmoUh3GjVr7hbuFfBovhyE=", + "lastModified": 1758759924, + "narHash": "sha256-lXGqdPof4IN1ZURJshk/AF6AKq9b43sb6vetjkZe3lw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c27b90147f957fab34c1093b6d35dcd9b4f9c157", + "rev": "9a5483d3e5c64eec4b25f8578a6cff776b468fd4", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1758672746, - "narHash": "sha256-1NxN+wrZIraFmBNffEPGHPhbzpP+Knz30JvHFIUkP8Y=", + "lastModified": 1758759137, + "narHash": "sha256-pUuRbjECTi1VRzIjw3yZjlxAtFAS2qO8Uhcay02Gdro=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "d22526ce3c01892d05d5016350f4f81b534c51f8", + "rev": "633f7cd7c953a626b52f4611ae089dbf5a488fe5", "type": "github" }, "original": { From 46abef90b4101ff9253a574cf6fbdc74b78a5863 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 26 Sep 2025 00:51:30 +0000 Subject: [PATCH 215/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b786ea5d83..607072fba3 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1758759934, - "narHash": "sha256-VrTBELvtzIdsye3FZ5YVGb2CXQiyOFZPo3vsLZOFiO4=", + "lastModified": 1758846310, + "narHash": "sha256-kVnn9TScof8n41p7LqwvBvoLlfFhLDkjrP+aOAhmQ9k=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "84e95f44c5b56a81495f59702f56fa7d18695dcd", + "rev": "173aca690d454916a2d1ab5a7d13b593240fa0f5", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1758759924, - "narHash": "sha256-lXGqdPof4IN1ZURJshk/AF6AKq9b43sb6vetjkZe3lw=", + "lastModified": 1758846300, + "narHash": "sha256-uS0e51ny5rGdI5HiOttTYMjGyOqBSoraXDWCY7gFc9g=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9a5483d3e5c64eec4b25f8578a6cff776b468fd4", + "rev": "813f87b29c01a70bf479ff7c72b240d7d6a3fe16", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1758759137, - "narHash": "sha256-pUuRbjECTi1VRzIjw3yZjlxAtFAS2qO8Uhcay02Gdro=", + "lastModified": 1758845522, + "narHash": "sha256-SgkvlWF9a+Qrkn791ZOiUVt3wuZXRJ06YjpTZMRy+R8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "633f7cd7c953a626b52f4611ae089dbf5a488fe5", + "rev": "e2f097d435e38fb6e649efa4a95e214a506a1da5", "type": "github" }, "original": { From 751e1561c3fbc0a5cf136a689b70bbce567852a8 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 27 Sep 2025 00:51:54 +0000 Subject: [PATCH 216/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 607072fba3..d7a6f61aab 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1758846310, - "narHash": "sha256-kVnn9TScof8n41p7LqwvBvoLlfFhLDkjrP+aOAhmQ9k=", + "lastModified": 1758932665, + "narHash": "sha256-JZPPpVADDMtrYNK6Dvfe/oMC7lqFy9TW6uiQo2XNN8s=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "173aca690d454916a2d1ab5a7d13b593240fa0f5", + "rev": "848cb34a437042c7aadbef07dfe7eb5261696a50", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1758846300, - "narHash": "sha256-uS0e51ny5rGdI5HiOttTYMjGyOqBSoraXDWCY7gFc9g=", + "lastModified": 1758932654, + "narHash": "sha256-7hu3K1l8MfdhtPvM6Vg2+tG733H4TbcjbJCJtplJk9M=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "813f87b29c01a70bf479ff7c72b240d7d6a3fe16", + "rev": "ff50d3d0e00ea13e1efc66cdb4bf8bad3f98f236", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1758845522, - "narHash": "sha256-SgkvlWF9a+Qrkn791ZOiUVt3wuZXRJ06YjpTZMRy+R8=", + "lastModified": 1758931926, + "narHash": "sha256-v39smuBolOyoOySR8g3nKaqNdHzO0KcAhwpyOUctJxE=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "e2f097d435e38fb6e649efa4a95e214a506a1da5", + "rev": "0333b43bd45838c93b89c9e471fa3443e04eb194", "type": "github" }, "original": { From 7ceff53efc1f6006f68fbfbb496af8720a598152 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 28 Sep 2025 00:52:19 +0000 Subject: [PATCH 217/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index d7a6f61aab..a93a49d018 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1758932665, - "narHash": "sha256-JZPPpVADDMtrYNK6Dvfe/oMC7lqFy9TW6uiQo2XNN8s=", + "lastModified": 1759019264, + "narHash": "sha256-laesaoC5KWZBpvBB/oBrNWHxNt0QpTf0Gjg5mR2m0IM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "848cb34a437042c7aadbef07dfe7eb5261696a50", + "rev": "d846bd979acc40fe8c4bcbb4b314eae1011b6394", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1758932654, - "narHash": "sha256-7hu3K1l8MfdhtPvM6Vg2+tG733H4TbcjbJCJtplJk9M=", + "lastModified": 1759019254, + "narHash": "sha256-egdX34PANH3x3GKPZliW+7QE7vXUxopcHuyDbdMf9Ic=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ff50d3d0e00ea13e1efc66cdb4bf8bad3f98f236", + "rev": "3cf573deb91431f8e926a7750bd172f8c0f86928", "type": "github" }, "original": { From a8d80330d0cb9034d055c5b42d4364ff2e1f8036 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 29 Sep 2025 00:52:01 +0000 Subject: [PATCH 218/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a93a49d018..8a4c291797 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1759019264, - "narHash": "sha256-laesaoC5KWZBpvBB/oBrNWHxNt0QpTf0Gjg5mR2m0IM=", + "lastModified": 1759105592, + "narHash": "sha256-02lVVORuxup2SJhaUK+EOevMKBNq0x6QPtcaATq8inY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d846bd979acc40fe8c4bcbb4b314eae1011b6394", + "rev": "a4a04414fe2187ed0d61005f6d458b486dcb2d78", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1759019254, - "narHash": "sha256-egdX34PANH3x3GKPZliW+7QE7vXUxopcHuyDbdMf9Ic=", + "lastModified": 1759105581, + "narHash": "sha256-G1Mh9sa/Ceo8cqsY4Wsr3eYUNxXmBbWD9f1P+Dw5z10=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3cf573deb91431f8e926a7750bd172f8c0f86928", + "rev": "72e43a1bb9766d20c5e21cb4a998bf0dba4c6489", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1758931926, - "narHash": "sha256-v39smuBolOyoOySR8g3nKaqNdHzO0KcAhwpyOUctJxE=", + "lastModified": 1759104840, + "narHash": "sha256-Zp8xR0Hs+mlIK3jVG4wHcRtbk9XTILkdj7+3MocvawQ=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "0333b43bd45838c93b89c9e471fa3443e04eb194", + "rev": "cea67383fa25f2c9bedfc23263ff949a9e5dfced", "type": "github" }, "original": { From 53f4b4e4dc2ffe89b9cd743ee989990468f45a9e Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 30 Sep 2025 00:51:36 +0000 Subject: [PATCH 219/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 8a4c291797..92ba74cc88 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1759105592, - "narHash": "sha256-02lVVORuxup2SJhaUK+EOevMKBNq0x6QPtcaATq8inY=", + "lastModified": 1759191955, + "narHash": "sha256-6LondKLMY0/KOqmHIFtNKHkz8d9IINV6wlsEz/a29K8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a4a04414fe2187ed0d61005f6d458b486dcb2d78", + "rev": "342bcf66e55a2b621482a16e1716fda40a71de13", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1759105581, - "narHash": "sha256-G1Mh9sa/Ceo8cqsY4Wsr3eYUNxXmBbWD9f1P+Dw5z10=", + "lastModified": 1759191944, + "narHash": "sha256-xZ7MvPgc1UxhQXAhSAHYOgFoV2ddGE+oqDA+Ddczs5c=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "72e43a1bb9766d20c5e21cb4a998bf0dba4c6489", + "rev": "d5fabc7a4ff198614cff5ec95baf64c9577a5388", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1759104840, - "narHash": "sha256-Zp8xR0Hs+mlIK3jVG4wHcRtbk9XTILkdj7+3MocvawQ=", + "lastModified": 1759191168, + "narHash": "sha256-L+MvzuPhtMbH4wIErZPKv6pOeazUI/1uXi6T5tj5TLY=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "cea67383fa25f2c9bedfc23263ff949a9e5dfced", + "rev": "5529ff52fb4fd43ecaa8657265a40b244b1f6e69", "type": "github" }, "original": { From 753543a051921bbfa2fbdc61a56ea4dc15412551 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 1 Oct 2025 00:52:27 +0000 Subject: [PATCH 220/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 92ba74cc88..351d8525c7 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1759191955, - "narHash": "sha256-6LondKLMY0/KOqmHIFtNKHkz8d9IINV6wlsEz/a29K8=", + "lastModified": 1759278522, + "narHash": "sha256-BgINuKhmQ9jBKD5YgGiVPzab1qju3Omz8d6r4O3lYNU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "342bcf66e55a2b621482a16e1716fda40a71de13", + "rev": "646af7385ec6640d5984e95135807f9a44bfbedb", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1759191944, - "narHash": "sha256-xZ7MvPgc1UxhQXAhSAHYOgFoV2ddGE+oqDA+Ddczs5c=", + "lastModified": 1759278512, + "narHash": "sha256-5v7+L3DZ45AdoQ+aq7cf1gfCJMBeehKZ4kQq9Vykk9Q=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d5fabc7a4ff198614cff5ec95baf64c9577a5388", + "rev": "b4098dcb9398efe39397e80fe7486e58abf0cb5b", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1759191168, - "narHash": "sha256-L+MvzuPhtMbH4wIErZPKv6pOeazUI/1uXi6T5tj5TLY=", + "lastModified": 1759277672, + "narHash": "sha256-AlxRPhwYYXsDsWRUxjuQ1nLuAKNIi6glo4NpqZ1MoIA=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "5529ff52fb4fd43ecaa8657265a40b244b1f6e69", + "rev": "ad6886644fd182566c12b9fe99bdad3c99b6ddd0", "type": "github" }, "original": { From b2249f775467c31381337ba0ec7888fb2d2b1b37 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 2 Oct 2025 00:51:28 +0000 Subject: [PATCH 221/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 351d8525c7..a242237bab 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1759278522, - "narHash": "sha256-BgINuKhmQ9jBKD5YgGiVPzab1qju3Omz8d6r4O3lYNU=", + "lastModified": 1759365178, + "narHash": "sha256-iJWIEwIZEM71Wf1O/JRgIUo16fGt4cokD9XbXqfFYt8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "646af7385ec6640d5984e95135807f9a44bfbedb", + "rev": "2006385d95c193004d7cd0856cefad2f54170329", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1759278512, - "narHash": "sha256-5v7+L3DZ45AdoQ+aq7cf1gfCJMBeehKZ4kQq9Vykk9Q=", + "lastModified": 1759364689, + "narHash": "sha256-K74p2In8PSrZTEBDufbSEm4zy8UEnphKg8XrU7Qm4Es=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b4098dcb9398efe39397e80fe7486e58abf0cb5b", + "rev": "df4e7d5ef91665a9871f05fb7e1d7f4a1bcdf891", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1759277672, - "narHash": "sha256-AlxRPhwYYXsDsWRUxjuQ1nLuAKNIi6glo4NpqZ1MoIA=", + "lastModified": 1759363920, + "narHash": "sha256-io1zgFtBni6BQJrMkilxFNJ4lg2NqG8zV0i0nBDamfI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "ad6886644fd182566c12b9fe99bdad3c99b6ddd0", + "rev": "403994e4491696a91d23a7a67b0f8f36cdcf5988", "type": "github" }, "original": { From 4ca781b2c8f0d13a0024dfb6f078beeb6d72e3a3 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 3 Oct 2025 00:51:53 +0000 Subject: [PATCH 222/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a242237bab..b9314595c9 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1759365178, - "narHash": "sha256-iJWIEwIZEM71Wf1O/JRgIUo16fGt4cokD9XbXqfFYt8=", + "lastModified": 1759451095, + "narHash": "sha256-X2pA4ULQIAeNNzy2p5crzdWOh6BZ2P8tGKR0IzTAByg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "2006385d95c193004d7cd0856cefad2f54170329", + "rev": "1c61f66cfa6f42436921952fd7cfba852627f82f", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1759364689, - "narHash": "sha256-K74p2In8PSrZTEBDufbSEm4zy8UEnphKg8XrU7Qm4Es=", + "lastModified": 1759451085, + "narHash": "sha256-DISVI9JgP33WNCNQfKTicN1hTuHu/daod+IO3ggTvRo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "df4e7d5ef91665a9871f05fb7e1d7f4a1bcdf891", + "rev": "6e69b2f7c563a4d49e9122f77adc9faa086acd71", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1759363920, - "narHash": "sha256-io1zgFtBni6BQJrMkilxFNJ4lg2NqG8zV0i0nBDamfI=", + "lastModified": 1759450314, + "narHash": "sha256-KnOcv3NEU3FXmVwIYeEHrJr4JOLx81CpklcurACfWc4=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "403994e4491696a91d23a7a67b0f8f36cdcf5988", + "rev": "f8ea3e13773ce6fd88f5b6bb251c8f482a89d317", "type": "github" }, "original": { From 3269049024d866d8c7c421850ebea1f0a035bf24 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 4 Oct 2025 00:51:51 +0000 Subject: [PATCH 223/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index b9314595c9..316bb112b5 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1759451095, - "narHash": "sha256-X2pA4ULQIAeNNzy2p5crzdWOh6BZ2P8tGKR0IzTAByg=", + "lastModified": 1759537480, + "narHash": "sha256-PN0svvFMJvNTeW944+7x8gIsDFSVVMQkovlEURUsUm8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1c61f66cfa6f42436921952fd7cfba852627f82f", + "rev": "afeb3e413dd333af360d6060abe23e023affd84d", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1759451085, - "narHash": "sha256-DISVI9JgP33WNCNQfKTicN1hTuHu/daod+IO3ggTvRo=", + "lastModified": 1759537470, + "narHash": "sha256-rJA+qPF9wt3JBEXrdjNVJFVOAcdxncY5E30tTCXFZLI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6e69b2f7c563a4d49e9122f77adc9faa086acd71", + "rev": "35c7af40a606576b339a476db7789ebbb8220952", "type": "github" }, "original": { From 65c2da2cc9224ba8bdf6be433048f5b87a6b2260 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 5 Oct 2025 00:52:13 +0000 Subject: [PATCH 224/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 316bb112b5..979f26c00d 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1759537480, - "narHash": "sha256-PN0svvFMJvNTeW944+7x8gIsDFSVVMQkovlEURUsUm8=", + "lastModified": 1759624046, + "narHash": "sha256-jcGTKiC9U9QnPyP4tuum4A2ZNuTNeess0B+8GVyXGso=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "afeb3e413dd333af360d6060abe23e023affd84d", + "rev": "96f48e92b5ce03ba9c746ec91f1eb4063ba19996", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1759537470, - "narHash": "sha256-rJA+qPF9wt3JBEXrdjNVJFVOAcdxncY5E30tTCXFZLI=", + "lastModified": 1759624036, + "narHash": "sha256-dxrKEW+be4JBbg4MQs496iWcV9pa9ZcErC2E3OtSZ+Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "35c7af40a606576b339a476db7789ebbb8220952", + "rev": "7265040908514bdfe48f0f85743eeab718cbe78d", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1759450314, - "narHash": "sha256-KnOcv3NEU3FXmVwIYeEHrJr4JOLx81CpklcurACfWc4=", + "lastModified": 1759623227, + "narHash": "sha256-pOAJslFK10IcMZNV9uUxOYIeuUoqCJgOheb00mAwXrI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "f8ea3e13773ce6fd88f5b6bb251c8f482a89d317", + "rev": "fc7843e91c101457cdd0c05fd6de4e57829500ca", "type": "github" }, "original": { From 078aef9ae073191b4657ed55caafac073e381b72 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 6 Oct 2025 00:52:06 +0000 Subject: [PATCH 225/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 979f26c00d..d320e858b2 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1759624046, - "narHash": "sha256-jcGTKiC9U9QnPyP4tuum4A2ZNuTNeess0B+8GVyXGso=", + "lastModified": 1759710393, + "narHash": "sha256-s4YNtkFDAf8Eyty141iWTX0oUmXjxJPpksx0fFXL0BA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "96f48e92b5ce03ba9c746ec91f1eb4063ba19996", + "rev": "65a6383f38c3ffd394ce094dd806438f1731f2c3", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1759624036, - "narHash": "sha256-dxrKEW+be4JBbg4MQs496iWcV9pa9ZcErC2E3OtSZ+Y=", + "lastModified": 1759710383, + "narHash": "sha256-gJanDoJQkre2kNHcSjjTgV3N+zERtJF/sqJPsluoW0E=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7265040908514bdfe48f0f85743eeab718cbe78d", + "rev": "9e12d86a4ede455f771452e081122dabb23c119f", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1759623227, - "narHash": "sha256-pOAJslFK10IcMZNV9uUxOYIeuUoqCJgOheb00mAwXrI=", + "lastModified": 1759709580, + "narHash": "sha256-/Gm5QoIEAAd0Zrto8qjxwSHWtoAJMnsqb5TG4qde6B8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "fc7843e91c101457cdd0c05fd6de4e57829500ca", + "rev": "6788c8ccb94febbae395fc0be0fd721cb092ecd2", "type": "github" }, "original": { From 17cc2e9e95aa6946bfcccc5a529cb7e9d78fe901 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 7 Oct 2025 00:52:03 +0000 Subject: [PATCH 226/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d320e858b2..0972960583 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1759710393, - "narHash": "sha256-s4YNtkFDAf8Eyty141iWTX0oUmXjxJPpksx0fFXL0BA=", + "lastModified": 1759796743, + "narHash": "sha256-i4ZuJtQOjZmA4/10eyPGMt4jPrci3P+InqG7V4PfmbQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "65a6383f38c3ffd394ce094dd806438f1731f2c3", + "rev": "82a911591b89e1192e18b2cf91a73643aba67302", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1759710383, - "narHash": "sha256-gJanDoJQkre2kNHcSjjTgV3N+zERtJF/sqJPsluoW0E=", + "lastModified": 1759796733, + "narHash": "sha256-lYaywC/nPR2BocJeqrRWxzhB/F0SHYh5sODS+y/SfS8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9e12d86a4ede455f771452e081122dabb23c119f", + "rev": "1c8a6c0c38ac6cfd1edd1a677445179e1dd71947", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1759709580, - "narHash": "sha256-/Gm5QoIEAAd0Zrto8qjxwSHWtoAJMnsqb5TG4qde6B8=", + "lastModified": 1759795950, + "narHash": "sha256-+fWjEzNb8I8PX6KxQeJh6x8DM8hAhwu7WDkkEnEUR4I=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "6788c8ccb94febbae395fc0be0fd721cb092ecd2", + "rev": "8e715bc7826d20573142b3b74256f5b56d356695", "type": "github" }, "original": { From 2ec165b5565bd6724b998dba132323911ea43cda Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 8 Oct 2025 00:52:00 +0000 Subject: [PATCH 227/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 0972960583..65c1d3892f 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1759796743, - "narHash": "sha256-i4ZuJtQOjZmA4/10eyPGMt4jPrci3P+InqG7V4PfmbQ=", + "lastModified": 1759883105, + "narHash": "sha256-dh8SnI5pCOGDtG5oZlPGgGYWSz7s/4lPnWbFGl/Scac=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "82a911591b89e1192e18b2cf91a73643aba67302", + "rev": "c9a3ff4c412582339e5a511e8aeb290383ff52a2", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1759796733, - "narHash": "sha256-lYaywC/nPR2BocJeqrRWxzhB/F0SHYh5sODS+y/SfS8=", + "lastModified": 1759883095, + "narHash": "sha256-6WUaEmRU3L07WfcetvG7Pyih1VK4apzruvRj9ohDk9s=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1c8a6c0c38ac6cfd1edd1a677445179e1dd71947", + "rev": "c8d985814982fd09d100ac7008e4dbb52110415f", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1759795950, - "narHash": "sha256-+fWjEzNb8I8PX6KxQeJh6x8DM8hAhwu7WDkkEnEUR4I=", + "lastModified": 1759882339, + "narHash": "sha256-XHfQ7Xlb72w/MSiFJctPuGkwaqqILX/YaWNTjlBnFF0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "8e715bc7826d20573142b3b74256f5b56d356695", + "rev": "9be1d517ca64c18a8e3fa43884dba31118e243d1", "type": "github" }, "original": { From 8e43b5c66cfaaa64b481c2e49ef2ea7582ad0e46 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 9 Oct 2025 00:51:29 +0000 Subject: [PATCH 228/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 65c1d3892f..644607d818 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1759883105, - "narHash": "sha256-dh8SnI5pCOGDtG5oZlPGgGYWSz7s/4lPnWbFGl/Scac=", + "lastModified": 1759969487, + "narHash": "sha256-c5U0+6EfbD0HCfSPM8o8H//F7EyHxxZ349ksxkXX5B4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c9a3ff4c412582339e5a511e8aeb290383ff52a2", + "rev": "d7a0c3e440a386624f2fd8cf0db46e136c82635f", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1759883095, - "narHash": "sha256-6WUaEmRU3L07WfcetvG7Pyih1VK4apzruvRj9ohDk9s=", + "lastModified": 1759969478, + "narHash": "sha256-IcgopIO6TrEMtLUqXD+U7P2/Iqdd862jUrDC9UWTcEY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c8d985814982fd09d100ac7008e4dbb52110415f", + "rev": "e39f708ffcffbcc1ced9b438c1f1cb6807beb0ce", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1759882339, - "narHash": "sha256-XHfQ7Xlb72w/MSiFJctPuGkwaqqILX/YaWNTjlBnFF0=", + "lastModified": 1759968717, + "narHash": "sha256-QZJL2SElvFJ/Fi7uq4FQKfWg25Yn/GRpLLq8inaUoc0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "9be1d517ca64c18a8e3fa43884dba31118e243d1", + "rev": "47e64c37c5ac10bb6643a67fccb0e0968889b2aa", "type": "github" }, "original": { From ce5a92e3ff9c137b40377434fa4957d6aa20bd84 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 10 Oct 2025 00:51:32 +0000 Subject: [PATCH 229/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 644607d818..d27b1be985 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1759969487, - "narHash": "sha256-c5U0+6EfbD0HCfSPM8o8H//F7EyHxxZ349ksxkXX5B4=", + "lastModified": 1760055931, + "narHash": "sha256-rBVyGJhiewrC9i8ShFbGpcGQO0jaFYD/7q96BOt2VKY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d7a0c3e440a386624f2fd8cf0db46e136c82635f", + "rev": "9fa8fe195cb178b5ddc8015d98c2319bab17a174", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1759969478, - "narHash": "sha256-IcgopIO6TrEMtLUqXD+U7P2/Iqdd862jUrDC9UWTcEY=", + "lastModified": 1760055921, + "narHash": "sha256-7JqFLY3WnP0/5pBJNwY5Q7nnkGAwgRwAY6a323I1AHw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e39f708ffcffbcc1ced9b438c1f1cb6807beb0ce", + "rev": "a1e93fe3e9946fb1898709b9f9dd973559c68b57", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1759968717, - "narHash": "sha256-QZJL2SElvFJ/Fi7uq4FQKfWg25Yn/GRpLLq8inaUoc0=", + "lastModified": 1760055150, + "narHash": "sha256-4i1t64sZ4zpc41yCHHcPFfXOCmCWK6y0NYkpWLAZ2DY=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "47e64c37c5ac10bb6643a67fccb0e0968889b2aa", + "rev": "2206a91df8d511d5c4a2f2bdf53c44ca67c19643", "type": "github" }, "original": { From 2fe686882d3d7b44b6f2fac8b7954e3be1db9854 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 11 Oct 2025 00:52:04 +0000 Subject: [PATCH 230/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index d27b1be985..ef0406bf7e 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1760055931, - "narHash": "sha256-rBVyGJhiewrC9i8ShFbGpcGQO0jaFYD/7q96BOt2VKY=", + "lastModified": 1760139471, + "narHash": "sha256-sAkWJpRBj1tPylH4cl0N8OrcjFycLktArdjsqRzi3pA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9fa8fe195cb178b5ddc8015d98c2319bab17a174", + "rev": "ef717305d8081b5209c2dd4cf784ec4764c7845b", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1760055150, - "narHash": "sha256-4i1t64sZ4zpc41yCHHcPFfXOCmCWK6y0NYkpWLAZ2DY=", + "lastModified": 1760141528, + "narHash": "sha256-ruFx1ytizVrhjaf7sOkufAmQFAoOARL0ZVXhiQAXdhU=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "2206a91df8d511d5c4a2f2bdf53c44ca67c19643", + "rev": "1d9c9bbbc60681518ed3472d5beab96431884b58", "type": "github" }, "original": { From 2a4bcf6839bc7f6f460c0ceb86bb70f4e12d803d Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 12 Oct 2025 00:52:10 +0000 Subject: [PATCH 231/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index ef0406bf7e..465a1f49e6 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1760139471, - "narHash": "sha256-sAkWJpRBj1tPylH4cl0N8OrcjFycLktArdjsqRzi3pA=", + "lastModified": 1760228779, + "narHash": "sha256-xu7vHX4DarPypnFYsqxf3C1CSKJQ53l0DiQWUJ7AvVc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ef717305d8081b5209c2dd4cf784ec4764c7845b", + "rev": "a68e215a7a13c43b70499f6a8d76d85b4cd253b5", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1760055921, - "narHash": "sha256-7JqFLY3WnP0/5pBJNwY5Q7nnkGAwgRwAY6a323I1AHw=", + "lastModified": 1760228769, + "narHash": "sha256-Y9hneWqD55cmunqkFQ4CV/RC5oM2ip7wsVONqWZNn4U=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a1e93fe3e9946fb1898709b9f9dd973559c68b57", + "rev": "c57ea79df8b3575510feda646ef3bb81fbe15042", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1760141528, - "narHash": "sha256-ruFx1ytizVrhjaf7sOkufAmQFAoOARL0ZVXhiQAXdhU=", + "lastModified": 1760227970, + "narHash": "sha256-Oo78qmxnu2pThSioR7wtN+HZyh5jxNP2S63z/kDLWHM=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "1d9c9bbbc60681518ed3472d5beab96431884b58", + "rev": "62924ce8ff87cd8a69b20360427d800a15a16f48", "type": "github" }, "original": { From f68833bd43441ae136fa3b65b4cdcd93baf22f9e Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 13 Oct 2025 00:52:15 +0000 Subject: [PATCH 232/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 465a1f49e6..31adf9ca07 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1760228779, - "narHash": "sha256-xu7vHX4DarPypnFYsqxf3C1CSKJQ53l0DiQWUJ7AvVc=", + "lastModified": 1760315504, + "narHash": "sha256-Z4xOG/FW8jpWcNAaldFVGCBBb2iX5uF1PWt95IKcWCc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a68e215a7a13c43b70499f6a8d76d85b4cd253b5", + "rev": "3c88c9ea4e2f28249a48446bf8bee164dfc9e482", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1760228769, - "narHash": "sha256-Y9hneWqD55cmunqkFQ4CV/RC5oM2ip7wsVONqWZNn4U=", + "lastModified": 1760315196, + "narHash": "sha256-9eZ/ZW8hUtRugv77bXypnWiUHg0KlIlBW5H44OAIc94=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c57ea79df8b3575510feda646ef3bb81fbe15042", + "rev": "24363176b11cb3bb17be22067be7d4b78f3b0754", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1760227970, - "narHash": "sha256-Oo78qmxnu2pThSioR7wtN+HZyh5jxNP2S63z/kDLWHM=", + "lastModified": 1760314404, + "narHash": "sha256-Rx5sqmZM08dZC8oDr2DUcaXEA/MB0tCBl0kz8OYr0dI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "62924ce8ff87cd8a69b20360427d800a15a16f48", + "rev": "3b08d9639182858b4b678c1921c8c5381c406804", "type": "github" }, "original": { From 8244bb25bacd06f80fb7d79537eede0d6449faf6 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 14 Oct 2025 00:52:07 +0000 Subject: [PATCH 233/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 31adf9ca07..8b3e354aba 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1760315504, - "narHash": "sha256-Z4xOG/FW8jpWcNAaldFVGCBBb2iX5uF1PWt95IKcWCc=", + "lastModified": 1760401501, + "narHash": "sha256-9OHoxOoHLi/ucvi4k3M/li1HhBWY5Xn4VAi4+6cmskQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3c88c9ea4e2f28249a48446bf8bee164dfc9e482", + "rev": "8a529b6761743b2d582d1ecaca0df1454a729168", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1760315196, - "narHash": "sha256-9eZ/ZW8hUtRugv77bXypnWiUHg0KlIlBW5H44OAIc94=", + "lastModified": 1760401490, + "narHash": "sha256-23yoe4d68cmiLV+f+NeU2ZIdVRUEF/m4tfysliCp0Vc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "24363176b11cb3bb17be22067be7d4b78f3b0754", + "rev": "19dfc080114658671e820e460da77a68e34662e5", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1760314404, - "narHash": "sha256-Rx5sqmZM08dZC8oDr2DUcaXEA/MB0tCBl0kz8OYr0dI=", + "lastModified": 1760400715, + "narHash": "sha256-IrQRC0CiNrA71Rq40fWdTwBWGtXramBevsU/OEVcCtI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "3b08d9639182858b4b678c1921c8c5381c406804", + "rev": "c9ed9ca5d8b9820d021c556481d2006319d143d4", "type": "github" }, "original": { From 6e69e73e83be8706efeded40140b47d8177ec4a3 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 15 Oct 2025 00:51:35 +0000 Subject: [PATCH 234/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 8b3e354aba..d555e12670 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1760401501, - "narHash": "sha256-9OHoxOoHLi/ucvi4k3M/li1HhBWY5Xn4VAi4+6cmskQ=", + "lastModified": 1760487945, + "narHash": "sha256-oq9I2NJdNHbhnLtfspXdxMqkVbBwkRavF0ZdAohNkbE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8a529b6761743b2d582d1ecaca0df1454a729168", + "rev": "d7efecf699bd880398c273c5519951ddf2e3e433", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1760401490, - "narHash": "sha256-23yoe4d68cmiLV+f+NeU2ZIdVRUEF/m4tfysliCp0Vc=", + "lastModified": 1760487934, + "narHash": "sha256-fxthnib+oQ5YWtwUVmpv9/MWC3D1d8/DZvRhenFrES4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "19dfc080114658671e820e460da77a68e34662e5", + "rev": "a6bb2ab8cac8fff39fdfe91986acadc363697cda", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1760400715, - "narHash": "sha256-IrQRC0CiNrA71Rq40fWdTwBWGtXramBevsU/OEVcCtI=", + "lastModified": 1760487133, + "narHash": "sha256-RjfmHjWWUVIfnCNL8YVolq0MeUrt/esDeWFxYZolFJs=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "c9ed9ca5d8b9820d021c556481d2006319d143d4", + "rev": "6035680725c29dc82eb49030455074b08ddf54c0", "type": "github" }, "original": { From aa6638e82fa4a2e3f791e4ccb70b250078c693ec Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 16 Oct 2025 00:52:07 +0000 Subject: [PATCH 235/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d555e12670..5030c91a84 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1760487945, - "narHash": "sha256-oq9I2NJdNHbhnLtfspXdxMqkVbBwkRavF0ZdAohNkbE=", + "lastModified": 1760574368, + "narHash": "sha256-T/mX3BgSexQrVvU9w8hgi2IDQE7aAw8OjK4uEvYvZ7U=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d7efecf699bd880398c273c5519951ddf2e3e433", + "rev": "9bc57ed5d3d95ad5aef264bbcbede96540f7b92b", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1760487934, - "narHash": "sha256-fxthnib+oQ5YWtwUVmpv9/MWC3D1d8/DZvRhenFrES4=", + "lastModified": 1760574358, + "narHash": "sha256-3Lw4H5TtgVQsot9wMUOoU0y7vsNQW4LIQSjm6cR23pY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a6bb2ab8cac8fff39fdfe91986acadc363697cda", + "rev": "b2aafeec21605c0a33f6d8981c2deab342630618", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1760487133, - "narHash": "sha256-RjfmHjWWUVIfnCNL8YVolq0MeUrt/esDeWFxYZolFJs=", + "lastModified": 1760573545, + "narHash": "sha256-g+o0kufS/cX1zWk7vQIn13UVB4+ZToZ9wBrEQek4NBk=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "6035680725c29dc82eb49030455074b08ddf54c0", + "rev": "1822dc2df31991bfed87665b7b2f0a681a1bce4d", "type": "github" }, "original": { From e76b790cda7c01a9fd5d5f3bfc5e6fec9c177db9 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 17 Oct 2025 00:52:12 +0000 Subject: [PATCH 236/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 5030c91a84..0a1c77c441 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1760574368, - "narHash": "sha256-T/mX3BgSexQrVvU9w8hgi2IDQE7aAw8OjK4uEvYvZ7U=", + "lastModified": 1760661871, + "narHash": "sha256-6fEhkK7Afkn5+9Ge4RkC6Eg2z5jxcLyrAjtrr+aq+1E=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9bc57ed5d3d95ad5aef264bbcbede96540f7b92b", + "rev": "7d5592ba63c03633207240fda38ddc1443a3fb0c", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1760574358, - "narHash": "sha256-3Lw4H5TtgVQsot9wMUOoU0y7vsNQW4LIQSjm6cR23pY=", + "lastModified": 1760660728, + "narHash": "sha256-aYeGoAgcD09eT2n4eienu6k1jfU1ydwAqhlTRX1rg3U=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b2aafeec21605c0a33f6d8981c2deab342630618", + "rev": "c04afbc120c41ea6624128520f816fee0e551678", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1760573545, - "narHash": "sha256-g+o0kufS/cX1zWk7vQIn13UVB4+ZToZ9wBrEQek4NBk=", + "lastModified": 1760659964, + "narHash": "sha256-SqHiy91MseHpE6+vC8yYtSB4Cdb3oMMIpb28BXjBcWU=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "1822dc2df31991bfed87665b7b2f0a681a1bce4d", + "rev": "46543b91b5de7689fb0fa19135959a85a48b21ef", "type": "github" }, "original": { From cad64419ae189effcc38e8a5b4ccfd380ea22388 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 17 Oct 2025 16:32:03 +1300 Subject: [PATCH 237/308] Switch CI eval to `aarch64-darwin` (#2436) * Switch CI eval to `aarch64-darwin` * Disable TH tests for Windows and Android * Just test a small subset of the full CI * Disable hydraJobs.nix-tools * Trigger some IFDs * Trigger some IFDs * Trigger some IFDs * Trigger some IFDs * Trigger some IFDs * Turn all the CI back on * Disable test broken on current CI * Disable tests broken on current CI * Bump nixpkgs * Remove dependencies on old nixpkgs ghc versions * Fix for macOS * Fix for android tests * Possible fix for wasm issue * Update wasm to llvm 21 * Ignore test broken by upgrading warning to error * Expect error not warning for llvm test * Expect error not warning for llvm test * Bump nixpkgs * Use latest llvm * Use llvm <21 for now * Use nixpkgs 25.05 for older llvm versions * Use pkgsBuildBuild.nodejs (not buildPackages.nodejs) * Use llvm <20 for now * nix flake update nixpkgs-unstable * Disable broken tests * Use $out/build for GHC builds * Disable broken tests * Fix warning * Fix for wasm --- builder/comp-builder.nix | 2 +- ci.nix | 13 +- compiler/ghc/default.nix | 47 ++++---- flake.lock | 12 +- lib/check.nix | 6 +- lib/default.nix | 2 +- lib/pkgconf-nixpkgs-map.nix | 2 +- lib/system-nixpkgs-map.nix | 1 + .../alex-3.2.7.1/ghc967/cabal-files/alex.nix | 57 +++++++++ materialized/alex-3.2.7.1/ghc967/default.nix | 102 ++++++++++++++++ materialized/alex-3.2.7.1/ghc967/plan.json | 1 + .../ghc967/hscolour/cabal-files/hscolour.nix | 50 ++++++++ .../bootstrap/ghc967/hscolour/default.nix | 67 ++++++++++ .../bootstrap/ghc967/hscolour/plan.json | 1 + .../happy-1.20.0/ghc967/cabal-files/happy.nix | 57 +++++++++ .../happy-1.20.0/ghc967/cabal-files/mtl.nix | 41 +++++++ .../ghc967/cabal-files/transformers.nix | 40 ++++++ materialized/happy-1.20.0/ghc967/default.nix | 70 +++++++++++ materialized/happy-1.20.0/ghc967/plan.json | 1 + overlays/bootstrap.nix | 20 +-- overlays/nix-prefetch-git-minimal.nix | 9 +- .../patches/wasm/llvm/gnu-install-dirs.patch | 33 ++--- .../wasm/llvm/haskell-wasm-llvm-project.patch | 114 ++++++++++-------- overlays/wasm.nix | 6 +- test/annotations/default.nix | 6 +- test/js-template-haskell/default.nix | 7 +- test/th-dlls-minimal/default.nix | 5 +- test/th-dlls/default.nix | 4 + 28 files changed, 646 insertions(+), 130 deletions(-) create mode 100644 materialized/alex-3.2.7.1/ghc967/cabal-files/alex.nix create mode 100644 materialized/alex-3.2.7.1/ghc967/default.nix create mode 100644 materialized/alex-3.2.7.1/ghc967/plan.json create mode 100644 materialized/bootstrap/ghc967/hscolour/cabal-files/hscolour.nix create mode 100644 materialized/bootstrap/ghc967/hscolour/default.nix create mode 100644 materialized/bootstrap/ghc967/hscolour/plan.json create mode 100644 materialized/happy-1.20.0/ghc967/cabal-files/happy.nix create mode 100644 materialized/happy-1.20.0/ghc967/cabal-files/mtl.nix create mode 100644 materialized/happy-1.20.0/ghc967/cabal-files/transformers.nix create mode 100644 materialized/happy-1.20.0/ghc967/default.nix create mode 100644 materialized/happy-1.20.0/ghc967/plan.json diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index ef67241ba4..819cfea2ab 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -499,7 +499,7 @@ let nativeBuildInputs = [ghc buildPackages.removeReferencesTo] ++ executableToolDepends - ++ (lib.optional stdenv.hostPlatform.isGhcjs buildPackages.nodejs) + ++ (lib.optional stdenv.hostPlatform.isGhcjs pkgsBuildBuild.nodejs) ++ (lib.optional (ghc.useLdLld or false) llvmPackages.bintools); outputs = ["out"] diff --git a/ci.nix b/ci.nix index bc2ae32c98..88d01c087c 100644 --- a/ci.nix +++ b/ci.nix @@ -3,7 +3,7 @@ { ifdLevel # This is passed in from flake.nix , checkMaterialization ? false , system ? builtins.currentSystem -, evalSystem ? builtins.currentSystem or "x86_64-linux" +, evalSystem ? "aarch64-darwin" # NOTE: we apply checkMaterialization when defining nixpkgsArgs , haskellNix ? import ./default.nix { inherit system ; } }: @@ -41,6 +41,8 @@ "dwarfdump-20181024" ]; allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "platform-tools" + "ndk" "android-sdk-ndk" "android-sdk-platform-tools" "aarch64-unknown-linux-android-ndk-toolchain-wrapper" @@ -65,14 +67,14 @@ nixpkgs.lib.optionalAttrs (builtins.elem nixpkgsName ["R2411" "R2505"]) { ghc96 = false; ghc98 = false; + ghc98llvm = false; ghc910 = false; + ghc910llvm = false; ghc912 = false; } // nixpkgs.lib.optionalAttrs (nixpkgsName == "unstable") { ghc96 = true; ghc98 = true; - ghc98llvm = false; ghc910 = true; - ghc910llvm = false; ghc912 = true; ghc912llvm = true; ghc913 = true; @@ -91,7 +93,8 @@ inherit (lib.systems.examples) ghcjs; } // lib.optionalAttrs (nixpkgsName == "unstable" && (__match ".*llvm" compiler-nix-name == null) - && !builtins.elem compiler-nix-name ["ghc967" "ghc984" "ghc9102"]) { + && !builtins.elem compiler-nix-name ["ghc967" "ghc984" "ghc9102"] + && system != "x86_64-darwin") { inherit (lib.systems.examples) wasi32; } // lib.optionalAttrs (nixpkgsName == "unstable" && (__match ".*llvm" compiler-nix-name == null) @@ -112,7 +115,7 @@ inherit (lib.systems.examples) musl32; } // lib.optionalAttrs (system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { inherit (lib.systems.examples) aarch64-android-prebuilt; - } // lib.optionalAttrs (system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc91320250523"]) { + } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName != "unstable" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc91320250523"]) { inherit (lib.systems.examples) armv7a-android-prebuilt; } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902"]) { # TODO fix this for the compilers we build with hadrian (ghc >=9.4) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index ff3e75c8cb..0f52b69aa2 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -9,6 +9,7 @@ let self = # build-tools , bootPkgs , buildPackages +, pkgsBuildBuild , autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx, numactl, elfutils, libcxx, libcxxabi ? throw "No libcxxabi" , autoreconfHook , bash @@ -95,7 +96,7 @@ let self = # # We use this instead of `buildPackages` so that plan evaluation # can work on platforms other than the `buildPlatform`. -, ghcEvalPackages ? buildPackages +, ghcEvalPackages ? pkgsBuildBuild }@args: assert !(enableIntegerSimple || enableNativeBignum) -> gmp != null; @@ -128,23 +129,23 @@ let INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"} ''; - nodejs = buildPackages.nodejs_24; + nodejs = pkgsBuildBuild.nodejs_24; - libffi-wasm = buildPackages.runCommand "libffi-wasm" { + libffi-wasm = pkgsBuildBuild.runCommand "libffi-wasm" { nativeBuildInputs = [ - (buildPackages.haskell-nix.tool "ghc912" "libffi-wasm" { - src = buildPackages.haskell-nix.sources.libffi-wasm; + (pkgsBuildBuild.haskell-nix.tool "ghc912" "libffi-wasm" { + src = pkgsBuildBuild.haskell-nix.sources.libffi-wasm; evalPackages = ghcEvalPackages; }) targetPackages.buildPackages.llvmPackages.clang targetPackages.buildPackages.llvmPackages.llvm - targetPackages.buildPackages.binaryen + pkgsBuildBuild.binaryen ]; outputs = ["out" "dev"]; NIX_NO_SELF_RPATH = true; } '' mkdir cbits - cp ${buildPackages.haskell-nix.sources.libffi-wasm}/cbits/* cbits/ + cp ${pkgsBuildBuild.haskell-nix.sources.libffi-wasm}/cbits/* cbits/ libffi-wasm wasm32-unknown-wasi-clang -Wall -Wextra -mcpu=mvp -Oz -DNDEBUG -Icbits -c cbits/ffi.c -o cbits/ffi.o wasm32-unknown-wasi-clang -Wall -Wextra -mcpu=mvp -Oz -DNDEBUG -Icbits -c cbits/ffi_call.c -o cbits/ffi_call.o @@ -159,7 +160,7 @@ let wasm-opt --low-memory-unused --converge --debuginfo --flatten --rereloop --gufa -O4 -Oz libffi.so -o $out/lib/libffi.so ''; - lib-wasm = buildPackages.symlinkJoin { + lib-wasm = pkgsBuildBuild.symlinkJoin { name = "lib-wasm"; paths = [ targetPackages.wasilibc libffi-wasm ]; }; @@ -315,13 +316,15 @@ let compiler-nix-name = if builtins.compareVersions ghc-version "9.4.7" < 0 then "ghc928" - else if buildPackages.haskell.compiler ? ghc966 + else if pkgsBuildBuild.haskell.compiler ? ghc967 + then "ghc967" + else if pkgsBuildBuild.haskell.compiler ? ghc966 then "ghc966" - else if buildPackages.haskell.compiler ? ghc964 + else if pkgsBuildBuild.haskell.compiler ? ghc964 then "ghc964" else "ghc962"; in - buildPackages.haskell-nix.cabalProject' ({ + pkgsBuildBuild.haskell-nix.cabalProject' ({ inherit compiler-nix-name; name = "hadrian"; compilerSelection = p: p.haskell.compiler; @@ -343,8 +346,8 @@ let cabalProjectFreeze = null; src = haskell-nix.haskellLib.cleanSourceWith { src = { - outPath = buildPackages.srcOnly { - stdenv = buildPackages.stdenvNoCC; + outPath = pkgsBuildBuild.srcOnly { + stdenv = pkgsBuildBuild.stdenvNoCC; name = "hadrian"; inherit src; }; @@ -354,7 +357,7 @@ let includeSiblings = true; }; # When building the plan we do not need a patched version - # of the source and `buildPackages.srcOnly` requires introduces + # of the source and `pkgsBuildBuild.srcOnly` requires introduces # a dependency on a build machine. evalSrc = haskell-nix.haskellLib.cleanSourceWith { src = { @@ -615,7 +618,7 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { if builtins.compareVersions ghc-version "9.13" < 0 then "--experimental-wasm-type-reflection" else "--max-old-space-size=65536"} --no-turbo-fast-api-calls --wasm-lazy-validation" \ - "${buildPackages.writeShellScriptBin "node" '' + "${pkgsBuildBuild.writeShellScriptBin "node" '' SCRIPT=$1 shift LIB_WASM=$1 @@ -853,11 +856,6 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { for a in libraries/*/*.cabal.in utils/*/*.cabal.in compiler/ghc.cabal.in; do ${hadrian}/bin/hadrian ${hadrianArgs} "''${a%.*}" done - '' + lib.optionalString (ghc-version == "9.8.20230704") '' - for a in bytearray-access-ops.txt.pp addr-access-ops.txt.pp primops.txt; do - ${hadrian}/bin/hadrian ${hadrianArgs} _build/stage0/compiler/build/$a - cp _build/stage0/compiler/build/$a compiler/GHC/Builtin/$a - done '' + lib.optionalString (stdenv.isDarwin && (__tryEval libcxxabi).success) '' substituteInPlace mk/system-cxx-std-lib-1.0.conf \ --replace 'dynamic-library-dirs:' 'dynamic-library-dirs: ${libcxx}/lib ${libcxxabi}/lib' @@ -950,6 +948,10 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { export XATTR=$(mktemp -d)/nothing ''; } // lib.optionalAttrs useHadrian { + preUnpack = '' + mkdir -p $out/build + cd $out/build + ''; postConfigure = lib.optionalString (stdenv.isDarwin && (__tryEval libcxxabi).success) '' substituteInPlace mk/system-cxx-std-lib-1.0.conf \ --replace 'dynamic-library-dirs:' 'dynamic-library-dirs: ${libcxx}/lib ${libcxxabi}/lib' @@ -992,7 +994,6 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { installPhase = if installStage1 then '' - mkdir $out cp -r _build/stage1/bin $out # let's assume that if we find a non-prefixed genprimop, # we also find a non-prefixed deriveConstants @@ -1009,6 +1010,8 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { mkdir $doc cp -r _build/stage1/share $doc runHook postInstall + cd $out + rm -rf $out/build '' # there appears to be a bug in GHCs configure script not properly passing dllwrap, and windres to the # generated settings file. Hence we patch it back in here. @@ -1039,6 +1042,8 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { make install cd ../../.. runHook postInstall + cd $out + rm -rf $out/build ''; })); in self diff --git a/flake.lock b/flake.lock index 0a1c77c441..7ffcf1dc2a 100644 --- a/flake.lock +++ b/flake.lock @@ -468,11 +468,11 @@ }, "nixpkgs-2505": { "locked": { - "lastModified": 1754477006, - "narHash": "sha256-suIgZZHXdb4ca9nN4MIcmdjeN+ZWsTwCtYAG4HExqAo=", + "lastModified": 1757716134, + "narHash": "sha256-OYoZLWvmCnCTCJQwaQlpK1IO5nkLnLLoUW8wwmPmrfU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4896699973299bffae27d0d9828226983544d9e9", + "rev": "e85b5aa112a98805a016bbf6291e726debbc448a", "type": "github" }, "original": { @@ -484,11 +484,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1754393734, - "narHash": "sha256-fbnmAwTQkuXHKBlcL5Nq1sMAzd3GFqCOQgEQw6Hy0Ak=", + "lastModified": 1759070547, + "narHash": "sha256-JVZl8NaVRYb0+381nl7LvPE+A774/dRpif01FKLrYFQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a683adc19ff5228af548c6539dbc3440509bfed3", + "rev": "647e5c14cbd5067f44ac86b74f014962df460840", "type": "github" }, "original": { diff --git a/lib/check.nix b/lib/check.nix index bbce149fe7..fd6508e3df 100644 --- a/lib/check.nix +++ b/lib/check.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, haskellLib, buildPackages }: +{ stdenv, lib, haskellLib, pkgsBuildBuild }: let self = drvOrig: let @@ -39,8 +39,8 @@ in stdenv.mkDerivation (( meta = builtins.removeAttrs drv.meta ["mainProgram"]; nativeBuildInputs = drv.nativeBuildInputs - ++ [buildPackages.xorg.lndir] - ++ lib.optional (stdenv.hostPlatform.isGhcjs) buildPackages.nodejs; + ++ [pkgsBuildBuild.xorg.lndir] + ++ lib.optional (stdenv.hostPlatform.isGhcjs) pkgsBuildBuild.nodejs; inherit (component) doCheck doCrossCheck; diff --git a/lib/default.nix b/lib/default.nix index bca69dd656..f9d7269701 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -241,7 +241,7 @@ in { # Check a test component check = import ./check.nix { inherit stdenv lib haskellLib; - inherit (pkgs) buildPackages; + inherit (pkgs) pkgsBuildBuild; }; # Do coverage of a package diff --git a/lib/pkgconf-nixpkgs-map.nix b/lib/pkgconf-nixpkgs-map.nix index ea272f08ac..8873555ac3 100644 --- a/lib/pkgconf-nixpkgs-map.nix +++ b/lib/pkgconf-nixpkgs-map.nix @@ -3150,7 +3150,7 @@ pkgs: "libsixel" = [ "libsixel" ]; "libskk" = [ "libskk" ]; "slirp" = [ "libslirp" ]; - "smartcols" = [ "libsmartcols" ]; + "smartcols" = [ "util-linux" ]; "libsmbios_c" = [ "libsmbios" ]; "smf" = [ "libsmf" ]; "libsmi" = [ "libsmi" ]; diff --git a/lib/system-nixpkgs-map.nix b/lib/system-nixpkgs-map.nix index 044db4ce5c..584f789bb9 100644 --- a/lib/system-nixpkgs-map.nix +++ b/lib/system-nixpkgs-map.nix @@ -386,6 +386,7 @@ in # In future versions of `nixpkgs` these will be removed # so make sure they are there. && darwin ? apple_sdk + && (builtins.tryEval (darwin.apple_sdk ? frameworks)).success && darwin.apple_sdk ? frameworks && darwin.apple_sdk.frameworks ? ${n} && !(darwin.apple_sdk.frameworks.${n}.passthru.isDarwinCompatStub or false) diff --git a/materialized/alex-3.2.7.1/ghc967/cabal-files/alex.nix b/materialized/alex-3.2.7.1/ghc967/cabal-files/alex.nix new file mode 100644 index 0000000000..5a944bd139 --- /dev/null +++ b/materialized/alex-3.2.7.1/ghc967/cabal-files/alex.nix @@ -0,0 +1,57 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "alex"; version = "3.2.7.1"; }; + license = "BSD-3-Clause"; + copyright = "(c) Chis Dornan, Simon Marlow"; + maintainer = "Simon Marlow "; + author = "Chris Dornan and Simon Marlow"; + homepage = "http://www.haskell.org/alex/"; + url = ""; + synopsis = "Alex is a tool for generating lexical analysers in Haskell"; + description = "Alex is a tool for generating lexical analysers in Haskell.\nIt takes a description of tokens based on regular\nexpressions and generates a Haskell module containing code\nfor scanning text efficiently. It is similar to the tool\nlex or flex for C/C++."; + buildType = "Simple"; + }; + components = { + exes = { + "alex" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + tests = { + "tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + ]; + build-tools = [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + ]; + buildable = true; + }; + }; + }; + } // { + src = pkgs.lib.mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/alex-3.2.7.1.tar.gz"; + sha256 = "9bd2f1a27e8f1b2ffdb5b2fbd3ed82b6f0e85191459a1b24ffcbef4e68a81bec"; + }); + }) // { + package-description-override = "cabal-version: >= 1.10\nname: alex\nversion: 3.2.7.1\n-- don't forget updating changelog.md!\nlicense: BSD3\nlicense-file: LICENSE\ncopyright: (c) Chis Dornan, Simon Marlow\nauthor: Chris Dornan and Simon Marlow\nmaintainer: Simon Marlow \nbug-reports: https://github.com/simonmar/alex/issues\nstability: stable\nhomepage: http://www.haskell.org/alex/\nsynopsis: Alex is a tool for generating lexical analysers in Haskell\ndescription:\n Alex is a tool for generating lexical analysers in Haskell.\n It takes a description of tokens based on regular\n expressions and generates a Haskell module containing code\n for scanning text efficiently. It is similar to the tool\n lex or flex for C/C++.\n\ncategory: Development\nbuild-type: Simple\n\ntested-with:\n GHC == 7.0.4\n GHC == 7.4.2\n GHC == 7.6.3\n GHC == 7.8.4\n GHC == 7.10.3\n GHC == 8.0.2\n GHC == 8.2.2\n GHC == 8.4.4\n GHC == 8.6.5\n GHC == 8.8.4\n GHC == 8.10.4\n GHC == 9.0.1\n\ndata-dir: data/\n\ndata-files:\n AlexTemplate.hs\n AlexWrappers.hs\n\nextra-source-files:\n CHANGELOG.md\n README.md\n TODO\n doc/Makefile\n doc/aclocal.m4\n doc/alex.1.in\n doc/alex.xml\n doc/config.mk.in\n doc/configure.ac\n doc/docbook-xml.mk\n doc/fptools.css\n examples/Makefile\n examples/Tokens.x\n examples/Tokens_gscan.x\n examples/Tokens_posn.x\n examples/examples.x\n examples/haskell.x\n examples/lit.x\n examples/pp.x\n examples/state.x\n examples/tiny.y\n examples/words.x\n examples/words_monad.x\n examples/words_posn.x\n src/Parser.y.boot\n src/Scan.x.boot\n src/ghc_hooks.c\n tests/Makefile\n tests/simple.x\n tests/null.x\n tests/tokens.x\n tests/tokens_gscan.x\n tests/tokens_posn.x\n tests/tokens_bytestring.x\n tests/tokens_posn_bytestring.x\n tests/tokens_scan_user.x\n tests/tokens_strict_bytestring.x\n tests/tokens_monad_bytestring.x\n tests/tokens_monadUserState_bytestring.x\n tests/tokens_bytestring_unicode.x\n tests/basic_typeclass.x\n tests/basic_typeclass_bytestring.x\n tests/default_typeclass.x\n tests/gscan_typeclass.x\n tests/posn_typeclass.x\n tests/monad_typeclass.x\n tests/monad_typeclass_bytestring.x\n tests/monadUserState_typeclass.x\n tests/monadUserState_typeclass_bytestring.x\n tests/posn_typeclass_bytestring.x\n tests/strict_typeclass.x\n tests/unicode.x\n tests/issue_71.x\n tests/issue_119.x\n tests/issue_141.x\n tests/issue_197.x\n\nsource-repository head\n type: git\n location: https://github.com/simonmar/alex.git\n\nexecutable alex\n hs-source-dirs: src\n main-is: Main.hs\n\n build-depends: base >= 2.1 && < 5\n , array\n , containers\n , directory\n\n default-language: Haskell98\n default-extensions: CPP\n other-extensions: MagicHash\n\n ghc-options: -Wall -rtsopts\n\n other-modules:\n AbsSyn\n CharSet\n DFA\n DFAMin\n DFS\n Info\n Map\n NFA\n Output\n Paths_alex\n Parser\n ParseMonad\n Scan\n Set\n Sort\n Util\n UTF8\n Data.Ranged\n Data.Ranged.Boundaries\n Data.Ranged.RangedSet\n Data.Ranged.Ranges\n\ntest-suite tests\n type: exitcode-stdio-1.0\n main-is: test.hs\n -- This line is important as it ensures that the local `exe:alex` component declared above is built before the test-suite component is invoked, as well as making sure that `alex` is made available on $PATH and `$alex_datadir` is set accordingly before invoking `test.hs`\n build-tools: alex\n\n default-language: Haskell98\n\n build-depends: base, process\n"; + } \ No newline at end of file diff --git a/materialized/alex-3.2.7.1/ghc967/default.nix b/materialized/alex-3.2.7.1/ghc967/default.nix new file mode 100644 index 0000000000..bcda3365ed --- /dev/null +++ b/materialized/alex-3.2.7.1/ghc967/default.nix @@ -0,0 +1,102 @@ +{ + pkgs = hackage: + { + packages = { + filepath.revision = hackage.filepath."1.4.301.0".revisions.default; + ghc-bignum.revision = hackage.ghc-bignum."1.3".revisions.default; + stm.revision = hackage.stm."2.5.1.0".revisions.default; + transformers.revision = hackage.transformers."0.6.1.0".revisions.default; + deepseq.revision = hackage.deepseq."1.4.8.1".revisions.default; + directory.revision = hackage.directory."1.3.8.5".revisions.default; + mtl.revision = hackage.mtl."2.3.1".revisions.default; + base.revision = hackage.base."4.18.3.0".revisions.default; + time.revision = hackage.time."1.12.2".revisions.default; + array.revision = hackage.array."0.5.8.0".revisions.default; + alex.revision = import ./cabal-files/alex.nix; + template-haskell.revision = hackage.template-haskell."2.20.0.0".revisions.default; + unix.revision = hackage.unix."2.8.6.0".revisions.default; + exceptions.revision = hackage.exceptions."0.10.7".revisions.default; + bytestring.revision = hackage.bytestring."0.11.5.4".revisions.default; + ghc-boot-th.revision = hackage.ghc-boot-th."9.6.7".revisions.default; + ghc-prim.revision = hackage.ghc-prim."0.10.0".revisions.default; + pretty.revision = hackage.pretty."1.1.3.6".revisions.default; + containers.revision = hackage.containers."0.6.7".revisions.default; + }; + compiler = { + version = "9.6.7"; + nix-name = "ghc967"; + packages = { + "ghc-boot-th" = "9.6.7"; + "pretty" = "1.1.3.6"; + "array" = "0.5.8.0"; + "time" = "1.12.2"; + "ghc-prim" = "0.10.0"; + "bytestring" = "0.11.5.4"; + "mtl" = "2.3.1"; + "template-haskell" = "2.20.0.0"; + "ghc-bignum" = "1.3"; + "stm" = "2.5.1.0"; + "filepath" = "1.4.301.0"; + "unix" = "2.8.6.0"; + "exceptions" = "0.10.7"; + "deepseq" = "1.4.8.1"; + "transformers" = "0.6.1.0"; + "containers" = "0.6.7"; + "base" = "4.18.3.0"; + "directory" = "1.3.8.5"; + }; + }; + }; + extras = hackage: + { packages = {}; }; + modules = [ + { + preExistingPkgs = [ + "filepath" + "ghc-bignum" + "stm" + "transformers" + "deepseq" + "directory" + "mtl" + "base" + "time" + "array" + "template-haskell" + "unix" + "exceptions" + "bytestring" + "ghc-boot-th" + "ghc-prim" + "pretty" + "containers" + ]; + } + ({ lib, ... }: + { packages = {}; }) + ({ lib, ... }: + { + packages = { + "alex".components.exes."alex".planned = lib.mkOverride 900 true; + "template-haskell".components.library.planned = lib.mkOverride 900 true; + "transformers".components.library.planned = lib.mkOverride 900 true; + "array".components.library.planned = lib.mkOverride 900 true; + "unix".components.library.planned = lib.mkOverride 900 true; + "exceptions".components.library.planned = lib.mkOverride 900 true; + "directory".components.library.planned = lib.mkOverride 900 true; + "containers".components.library.planned = lib.mkOverride 900 true; + "stm".components.library.planned = lib.mkOverride 900 true; + "bytestring".components.library.planned = lib.mkOverride 900 true; + "deepseq".components.library.planned = lib.mkOverride 900 true; + "filepath".components.library.planned = lib.mkOverride 900 true; + "time".components.library.planned = lib.mkOverride 900 true; + "ghc-bignum".components.library.planned = lib.mkOverride 900 true; + "pretty".components.library.planned = lib.mkOverride 900 true; + "mtl".components.library.planned = lib.mkOverride 900 true; + "ghc-boot-th".components.library.planned = lib.mkOverride 900 true; + "base".components.library.planned = lib.mkOverride 900 true; + "ghc-prim".components.library.planned = lib.mkOverride 900 true; + }; + }) + ]; +} \ No newline at end of file diff --git a/materialized/alex-3.2.7.1/ghc967/plan.json b/materialized/alex-3.2.7.1/ghc967/plan.json new file mode 100644 index 0000000000..10bd38a419 --- /dev/null +++ b/materialized/alex-3.2.7.1/ghc967/plan.json @@ -0,0 +1 @@ +{"cabal-version":"3.14.2.0","cabal-lib-version":"3.14.2.0","compiler-id":"ghc-9.6.7","os":"osx","arch":"aarch64","install-plan":[{"type":"pre-existing","id":"array-0.5.8.0","pkg-name":"array","pkg-version":"0.5.8.0","depends":["base-4.18.3.0"]},{"type":"pre-existing","id":"base-4.18.3.0","pkg-name":"base","pkg-version":"4.18.3.0","depends":["ghc-prim-0.10.0","ghc-bignum-1.3"]},{"type":"pre-existing","id":"bytestring-0.11.5.4","pkg-name":"bytestring","pkg-version":"0.11.5.4","depends":["base-4.18.3.0","ghc-prim-0.10.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["base-4.18.3.0","array-0.5.8.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["base-4.18.3.0","array-0.5.8.0"]},{"type":"pre-existing","id":"directory-1.3.8.5","pkg-name":"directory","pkg-version":"1.3.8.5","depends":["base-4.18.3.0","time-1.12.2","filepath-1.4.301.0","unix-2.8.6.0"]},{"type":"pre-existing","id":"exceptions-0.10.7","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.18.3.0","stm-2.5.1.0","template-haskell-2.20.0.0","mtl-2.3.1","transformers-0.6.1.0"]},{"type":"pre-existing","id":"filepath-1.4.301.0","pkg-name":"filepath","pkg-version":"1.4.301.0","depends":["base-4.18.3.0","bytestring-0.11.5.4","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.7","pkg-name":"ghc-boot-th","pkg-version":"9.6.7","depends":["base-4.18.3.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":[]},{"type":"configured","id":"lx-3.2.7.1-0976ef54","pkg-name":"alex","pkg-version":"3.2.7.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ab26a38cefae59403f746370e5a0c943b8d5bda098eb83f37052b2429ee780ce","pkg-src-sha256":"9bd2f1a27e8f1b2ffdb5b2fbd3ed82b6f0e85191459a1b24ffcbef4e68a81bec","depends":["array-0.5.8.0","base-4.18.3.0","containers-0.6.7","directory-1.3.8.5"],"exe-depends":[],"component-name":"exe:alex","bin-file":"/store/ghc-9.6.7/lx-3.2.7.1-0976ef54/bin/alex"},{"type":"pre-existing","id":"mtl-2.3.1","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.18.3.0","transformers-0.6.1.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.3.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["base-4.18.3.0","array-0.5.8.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.3.0","ghc-boot-th-9.6.7","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.18.3.0","deepseq-1.4.8.1"]},{"type":"pre-existing","id":"transformers-0.6.1.0","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.18.3.0"]},{"type":"pre-existing","id":"unix-2.8.6.0","pkg-name":"unix","pkg-version":"2.8.6.0","depends":["base-4.18.3.0","bytestring-0.11.5.4","time-1.12.2","filepath-1.4.301.0"]}],"targets":[{"pkg-name":"alex","pkg-version":"3.2.7.1","component-name":"exe:alex","available":[{"id":"lx-3.2.7.1-0976ef54","component-name":"exe:alex","build-by-default":true}]},{"pkg-name":"alex","pkg-version":"3.2.7.1","component-name":"test:tests","available":["TargetNotLocal"]},{"pkg-name":"array","pkg-version":"0.5.8.0","component-name":"lib","available":[{"id":"array-0.5.8.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"base","pkg-version":"4.18.3.0","component-name":"lib","available":[{"id":"base-4.18.3.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"bytestring","pkg-version":"0.11.5.4","component-name":"lib","available":[{"id":"bytestring-0.11.5.4","component-name":"lib","build-by-default":true}]},{"pkg-name":"containers","pkg-version":"0.6.7","component-name":"lib","available":[{"id":"containers-0.6.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"deepseq","pkg-version":"1.4.8.1","component-name":"lib","available":[{"id":"deepseq-1.4.8.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"directory","pkg-version":"1.3.8.5","component-name":"lib","available":[{"id":"directory-1.3.8.5","component-name":"lib","build-by-default":true}]},{"pkg-name":"exceptions","pkg-version":"0.10.7","component-name":"lib","available":[{"id":"exceptions-0.10.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"filepath","pkg-version":"1.4.301.0","component-name":"lib","available":[{"id":"filepath-1.4.301.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-bignum","pkg-version":"1.3","component-name":"lib","available":[{"id":"ghc-bignum-1.3","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-boot-th","pkg-version":"9.6.7","component-name":"lib","available":[{"id":"ghc-boot-th-9.6.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-prim","pkg-version":"0.10.0","component-name":"lib","available":[{"id":"ghc-prim-0.10.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"mtl","pkg-version":"2.3.1","component-name":"lib","available":[{"id":"mtl-2.3.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"pretty","pkg-version":"1.1.3.6","component-name":"lib","available":[{"id":"pretty-1.1.3.6","component-name":"lib","build-by-default":true}]},{"pkg-name":"stm","pkg-version":"2.5.1.0","component-name":"lib","available":[{"id":"stm-2.5.1.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"template-haskell","pkg-version":"2.20.0.0","component-name":"lib","available":[{"id":"template-haskell-2.20.0.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"time","pkg-version":"1.12.2","component-name":"lib","available":[{"id":"time-1.12.2","component-name":"lib","build-by-default":true}]},{"pkg-name":"transformers","pkg-version":"0.6.1.0","component-name":"lib","available":[{"id":"transformers-0.6.1.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"unix","pkg-version":"2.8.6.0","component-name":"lib","available":[{"id":"unix-2.8.6.0","component-name":"lib","build-by-default":true}]}]} \ No newline at end of file diff --git a/materialized/bootstrap/ghc967/hscolour/cabal-files/hscolour.nix b/materialized/bootstrap/ghc967/hscolour/cabal-files/hscolour.nix new file mode 100644 index 0000000000..406929b592 --- /dev/null +++ b/materialized/bootstrap/ghc967/hscolour/cabal-files/hscolour.nix @@ -0,0 +1,50 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.6"; + identifier = { name = "hscolour"; version = "1.24.4"; }; + license = "LicenseRef-LGPL"; + copyright = "2003-2017 Malcolm Wallace; 2006 Bjorn Bringert"; + maintainer = "Malcolm Wallace"; + author = "Malcolm Wallace"; + homepage = "http://code.haskell.org/~malcolm/hscolour/"; + url = ""; + synopsis = "Colourise Haskell code."; + description = "hscolour is a small Haskell script to colourise Haskell code. It currently\nhas six output formats:\nANSI terminal codes (optionally XTerm-256colour codes),\nHTML 3.2 with tags,\nHTML 4.01 with CSS,\nHTML 4.01 with CSS and mouseover annotations,\nXHTML 1.0 with inline CSS styling,\nLaTeX,\nand mIRC chat codes."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ]; + buildable = true; + }; + exes = { + "HsColour" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ]; + buildable = true; + }; + }; + }; + } // { + src = pkgs.lib.mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/hscolour-1.24.4.tar.gz"; + sha256 = "243332b082294117f37b2c2c68079fa61af68b36223b3fc07594f245e0e5321d"; + }); + }) // { + package-description-override = "Name: hscolour\nVersion: 1.24.4\nCopyright: 2003-2017 Malcolm Wallace; 2006 Bjorn Bringert\nMaintainer: Malcolm Wallace\nAuthor: Malcolm Wallace\nHomepage: http://code.haskell.org/~malcolm/hscolour/\nLicense: LGPL\nLicense-file: LICENCE-LGPL\nSynopsis: Colourise Haskell code.\nDescription:\n hscolour is a small Haskell script to colourise Haskell code. It currently\n has six output formats: \n ANSI terminal codes (optionally XTerm-256colour codes),\n HTML 3.2 with tags,\n HTML 4.01 with CSS,\n HTML 4.01 with CSS and mouseover annotations,\n XHTML 1.0 with inline CSS styling,\n LaTeX,\n and mIRC chat codes.\nCategory: Language\nBuild-Type: Simple\nData-files: hscolour.css, data/rgb24-example-.hscolour\nCabal-version: >=1.6\n\n\nLibrary\n Build-depends: base < 10, containers\n Exposed-Modules: \n Language.Haskell.HsColour\n Language.Haskell.HsColour.ANSI\n Language.Haskell.HsColour.Anchors\n Language.Haskell.HsColour.ACSS\n Language.Haskell.HsColour.CSS\n Language.Haskell.HsColour.Classify\n Language.Haskell.HsColour.ColourHighlight\n Language.Haskell.HsColour.Colourise\n Language.Haskell.HsColour.General\n Language.Haskell.HsColour.HTML\n Language.Haskell.HsColour.InlineCSS\n Language.Haskell.HsColour.LaTeX\n Language.Haskell.HsColour.MIRC\n Language.Haskell.HsColour.Options\n Language.Haskell.HsColour.Output\n Language.Haskell.HsColour.TTY\n --ghc-options: -O -W\n Extensions: \n\n\nExecutable HsColour\n Build-depends: base < 10, containers\n Main-is: HsColour.hs\n --ghc-options: -O -W\n Extensions: CPP\n cpp-options: -DMAJOR=1 -DMINOR=24\n\n\n\nSource-repository head\n Type : darcs\n Location: http://code.haskell.org/~malcolm/hscolour\n"; + } \ No newline at end of file diff --git a/materialized/bootstrap/ghc967/hscolour/default.nix b/materialized/bootstrap/ghc967/hscolour/default.nix new file mode 100644 index 0000000000..af8972d913 --- /dev/null +++ b/materialized/bootstrap/ghc967/hscolour/default.nix @@ -0,0 +1,67 @@ +{ + pkgs = hackage: + { + packages = { + hscolour.revision = import ./cabal-files/hscolour.nix; + ghc-bignum.revision = hackage.ghc-bignum."1.3".revisions.default; + deepseq.revision = hackage.deepseq."1.4.8.1".revisions.default; + base.revision = hackage.base."4.18.3.0".revisions.default; + array.revision = hackage.array."0.5.8.0".revisions.default; + template-haskell.revision = hackage.template-haskell."2.20.0.0".revisions.default; + ghc-boot-th.revision = hackage.ghc-boot-th."9.6.7".revisions.default; + ghc-prim.revision = hackage.ghc-prim."0.10.0".revisions.default; + pretty.revision = hackage.pretty."1.1.3.6".revisions.default; + containers.revision = hackage.containers."0.6.7".revisions.default; + }; + compiler = { + version = "9.6.7"; + nix-name = "ghc967"; + packages = { + "ghc-boot-th" = "9.6.7"; + "pretty" = "1.1.3.6"; + "array" = "0.5.8.0"; + "ghc-prim" = "0.10.0"; + "template-haskell" = "2.20.0.0"; + "ghc-bignum" = "1.3"; + "deepseq" = "1.4.8.1"; + "containers" = "0.6.7"; + "base" = "4.18.3.0"; + }; + }; + }; + extras = hackage: + { packages = {}; }; + modules = [ + { + preExistingPkgs = [ + "ghc-bignum" + "deepseq" + "base" + "array" + "template-haskell" + "ghc-boot-th" + "ghc-prim" + "pretty" + "containers" + ]; + } + ({ lib, ... }: + { packages = {}; }) + ({ lib, ... }: + { + packages = { + "template-haskell".components.library.planned = lib.mkOverride 900 true; + "hscolour".components.library.planned = lib.mkOverride 900 true; + "array".components.library.planned = lib.mkOverride 900 true; + "hscolour".components.exes."HsColour".planned = lib.mkOverride 900 true; + "containers".components.library.planned = lib.mkOverride 900 true; + "deepseq".components.library.planned = lib.mkOverride 900 true; + "ghc-bignum".components.library.planned = lib.mkOverride 900 true; + "pretty".components.library.planned = lib.mkOverride 900 true; + "ghc-boot-th".components.library.planned = lib.mkOverride 900 true; + "base".components.library.planned = lib.mkOverride 900 true; + "ghc-prim".components.library.planned = lib.mkOverride 900 true; + }; + }) + ]; +} \ No newline at end of file diff --git a/materialized/bootstrap/ghc967/hscolour/plan.json b/materialized/bootstrap/ghc967/hscolour/plan.json new file mode 100644 index 0000000000..436b6a79ee --- /dev/null +++ b/materialized/bootstrap/ghc967/hscolour/plan.json @@ -0,0 +1 @@ +{"cabal-version":"3.14.2.0","cabal-lib-version":"3.14.2.0","compiler-id":"ghc-9.6.7","os":"osx","arch":"aarch64","install-plan":[{"type":"pre-existing","id":"array-0.5.8.0","pkg-name":"array","pkg-version":"0.5.8.0","depends":["base-4.18.3.0"]},{"type":"pre-existing","id":"base-4.18.3.0","pkg-name":"base","pkg-version":"4.18.3.0","depends":["ghc-prim-0.10.0","ghc-bignum-1.3"]},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["base-4.18.3.0","array-0.5.8.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["base-4.18.3.0","array-0.5.8.0"]},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.7","pkg-name":"ghc-boot-th","pkg-version":"9.6.7","depends":["base-4.18.3.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":[]},{"type":"configured","id":"hsclr-1.24.4-29561872","pkg-name":"hscolour","pkg-version":"1.24.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3a329fa0ea9138f651088f1fa25522aabeab0eb591932d3fd56c66736bbe78be","pkg-src-sha256":"243332b082294117f37b2c2c68079fa61af68b36223b3fc07594f245e0e5321d","components":{"lib":{"depends":["base-4.18.3.0","containers-0.6.7"],"exe-depends":[]},"exe:HsColour":{"depends":["base-4.18.3.0","containers-0.6.7"],"exe-depends":[],"bin-file":"/store/ghc-9.6.7/hsclr-1.24.4-29561872/bin/HsColour"}}},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.3.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.3.0","ghc-boot-th-9.6.7","ghc-prim-0.10.0","pretty-1.1.3.6"]}],"targets":[{"pkg-name":"array","pkg-version":"0.5.8.0","component-name":"lib","available":[{"id":"array-0.5.8.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"base","pkg-version":"4.18.3.0","component-name":"lib","available":[{"id":"base-4.18.3.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"containers","pkg-version":"0.6.7","component-name":"lib","available":[{"id":"containers-0.6.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"deepseq","pkg-version":"1.4.8.1","component-name":"lib","available":[{"id":"deepseq-1.4.8.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-bignum","pkg-version":"1.3","component-name":"lib","available":[{"id":"ghc-bignum-1.3","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-boot-th","pkg-version":"9.6.7","component-name":"lib","available":[{"id":"ghc-boot-th-9.6.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-prim","pkg-version":"0.10.0","component-name":"lib","available":[{"id":"ghc-prim-0.10.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"hscolour","pkg-version":"1.24.4","component-name":"lib","available":[{"id":"hsclr-1.24.4-29561872","component-name":"lib","build-by-default":true}]},{"pkg-name":"hscolour","pkg-version":"1.24.4","component-name":"exe:HsColour","available":[{"id":"hsclr-1.24.4-29561872","component-name":"exe:HsColour","build-by-default":true}]},{"pkg-name":"pretty","pkg-version":"1.1.3.6","component-name":"lib","available":[{"id":"pretty-1.1.3.6","component-name":"lib","build-by-default":true}]},{"pkg-name":"template-haskell","pkg-version":"2.20.0.0","component-name":"lib","available":[{"id":"template-haskell-2.20.0.0","component-name":"lib","build-by-default":true}]}]} \ No newline at end of file diff --git a/materialized/happy-1.20.0/ghc967/cabal-files/happy.nix b/materialized/happy-1.20.0/ghc967/cabal-files/happy.nix new file mode 100644 index 0000000000..f4e54974aa --- /dev/null +++ b/materialized/happy-1.20.0/ghc967/cabal-files/happy.nix @@ -0,0 +1,57 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "happy"; version = "1.20.0"; }; + license = "BSD-2-Clause"; + copyright = "(c) Andy Gill, Simon Marlow"; + maintainer = "Simon Marlow "; + author = "Andy Gill and Simon Marlow"; + homepage = "https://www.haskell.org/happy/"; + url = ""; + synopsis = "Happy is a parser generator for Haskell"; + description = "Happy is a parser generator for Haskell. Given a grammar\nspecification in BNF, Happy generates Haskell code to parse the\ngrammar. Happy works in a similar way to the @yacc@ tool for C."; + buildType = "Simple"; + }; + components = { + exes = { + "happy" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."mtl" or (errorHandler.buildDepError "mtl")) + ]; + buildable = true; + }; + }; + tests = { + "tests" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + ]; + build-tools = [ + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // { + src = pkgs.lib.mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/happy-1.20.0.tar.gz"; + sha256 = "3b1d3a8f93a2723b554d9f07b2cd136be1a7b2fcab1855b12b7aab5cbac8868c"; + }); + }) // { + package-description-override = "name: happy\nversion: 1.20.0\nx-revision: 1\nlicense: BSD2\nlicense-file: LICENSE\ncopyright: (c) Andy Gill, Simon Marlow\nauthor: Andy Gill and Simon Marlow\nmaintainer: Simon Marlow \nbug-reports: https://github.com/simonmar/happy/issues\nstability: stable\nhomepage: https://www.haskell.org/happy/\nsynopsis: Happy is a parser generator for Haskell\ncategory: Development\ncabal-version: >= 1.10\nbuild-type: Simple\n\nDescription:\n Happy is a parser generator for Haskell. Given a grammar\n specification in BNF, Happy generates Haskell code to parse the\n grammar. Happy works in a similar way to the @yacc@ tool for C.\n\ntested-with:\n GHC==7.10.3,\n GHC==8.0.2,\n GHC==8.2.2,\n GHC==8.4.4,\n GHC==8.6.5,\n GHC==8.8.1\n\ndata-dir: data/\n\ndata-files:\n HappyTemplate\n HappyTemplate-arrays\n HappyTemplate-arrays-coerce\n HappyTemplate-arrays-coerce-debug\n HappyTemplate-arrays-debug\n HappyTemplate-arrays-ghc\n HappyTemplate-arrays-ghc-debug\n HappyTemplate-coerce\n HappyTemplate-ghc\n GLR_Base\n GLR_Lib\n GLR_Lib-ghc\n GLR_Lib-ghc-debug\n\nextra-source-files:\n ANNOUNCE\n CHANGES\n Makefile\n README.md\n TODO\n doc/Makefile\n doc/aclocal.m4\n doc/config.mk.in\n doc/configure.ac\n doc/docbook-xml.mk\n doc/fptools.css\n doc/happy.1.in\n doc/happy.xml\n examples/glr/nlp/Main.lhs\n examples/glr/nlp/Makefile\n examples/glr/nlp/README\n examples/glr/nlp/English.y\n examples/glr/nlp/Hugs.lhs\n examples/glr/Makefile\n examples/glr/Makefile.defs\n examples/glr/expr-eval/Main.lhs\n examples/glr/expr-eval/Makefile\n examples/glr/expr-eval/Expr.y\n examples/glr/expr-eval/README\n examples/glr/expr-eval/Hugs.lhs\n examples/glr/expr-tree/Main.lhs\n examples/glr/expr-tree/Makefile\n examples/glr/expr-tree/Expr.y\n examples/glr/expr-tree/README\n examples/glr/expr-tree/Tree.lhs\n examples/glr/expr-tree/Hugs.lhs\n examples/glr/highly-ambiguous/Main.lhs\n examples/glr/highly-ambiguous/Makefile\n examples/glr/highly-ambiguous/Expr.y\n examples/glr/highly-ambiguous/README\n examples/glr/highly-ambiguous/Hugs.lhs\n examples/glr/hidden-leftrec/Main.lhs\n examples/glr/hidden-leftrec/Makefile\n examples/glr/hidden-leftrec/Expr.y\n examples/glr/hidden-leftrec/README\n examples/glr/hidden-leftrec/Hugs.lhs\n examples/glr/expr-monad/Main.lhs\n examples/glr/expr-monad/Makefile\n examples/glr/expr-monad/Expr.y\n examples/glr/expr-monad/README\n examples/glr/expr-monad/Hugs.lhs\n examples/glr/bio-eg/Main.lhs\n examples/glr/bio-eg/Makefile\n examples/glr/bio-eg/Bio.y\n examples/glr/bio-eg/README\n examples/glr/bio-eg/1-1200.dna\n examples/glr/bio-eg/1-600.dna\n examples/glr/common/DV_lhs\n examples/glr/common/DaVinciTypes.hs\n examples/glr/packing/Main.lhs\n examples/glr/packing/Makefile\n examples/glr/packing/Expr.y\n examples/glr/packing/README\n examples/glr/packing/Hugs.lhs\n examples/PgnParser.ly\n examples/MonadTest.ly\n examples/igloo/ParserM.hs\n examples/igloo/Makefile\n examples/igloo/Parser.y\n examples/igloo/Foo.hs\n examples/igloo/README\n examples/igloo/Lexer.x\n examples/README\n examples/Calc.ly\n examples/DavesExample.ly\n examples/ErrorTest.ly\n examples/ErlParser.ly\n examples/SimonsExample.ly\n examples/LexerTest.ly\n happy.spec\n src/ARRAY-NOTES\n tests/AttrGrammar001.y\n tests/AttrGrammar002.y\n tests/Makefile\n tests/Partial.ly\n tests/Test.ly\n tests/TestMulti.ly\n tests/TestPrecedence.ly\n tests/bogus-token.y\n tests/bug001.ly\n tests/bug002.y\n tests/error001.stderr\n tests/error001.stdout\n tests/error001.y\n tests/monad001.y\n tests/monad002.ly\n tests/monaderror.y\n tests/precedence001.ly\n tests/precedence002.y\n tests/test_rules.y\n tests/issue91.y\n tests/issue93.y\n tests/issue94.y\n tests/issue95.y\n tests/monaderror-explist.y\n tests/typeclass_monad001.y\n tests/typeclass_monad002.ly\n tests/typeclass_monad_lexer.y\n tests/rank2.y\n tests/shift01.y\n\nsource-repository head\n type: git\n location: https://github.com/simonmar/happy.git\n\nexecutable happy\n hs-source-dirs: src\n main-is: Main.lhs\n\n build-depends: base < 5,\n array,\n containers >= 0.4.2,\n mtl >= 2.2.1 && < 2.3\n -- mtl-2.2.1 added Control.Monad.Except\n\n default-language: Haskell98\n default-extensions: CPP, MagicHash, FlexibleContexts\n ghc-options: -Wall\n other-modules:\n Paths_happy\n AbsSyn\n First\n GenUtils\n Grammar\n Info\n LALR\n Lexer\n ParseMonad\n Parser\n ProduceCode\n ProduceGLRCode\n NameSet\n Target\n AttrGrammar\n AttrGrammarParser\n ParamRules\n PrettyGrammar\n\ntest-suite tests\n type: exitcode-stdio-1.0\n main-is: test.hs\n -- This line is important as it ensures that the local `exe:happy` component declared above is built before the test-suite component is invoked, as well as making sure that `happy` is made available on $PATH and `$happy_datadir` is set accordingly before invoking `test.hs`\n build-tools: happy\n\n build-depends: base, process\n default-language: Haskell98\n\n"; + } \ No newline at end of file diff --git a/materialized/happy-1.20.0/ghc967/cabal-files/mtl.nix b/materialized/happy-1.20.0/ghc967/cabal-files/mtl.nix new file mode 100644 index 0000000000..36fa049c2d --- /dev/null +++ b/materialized/happy-1.20.0/ghc967/cabal-files/mtl.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "mtl"; version = "2.2.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Edward Kmett "; + author = "Andy Gill"; + homepage = "http://github.com/haskell/mtl"; + url = ""; + synopsis = "Monad classes, using functional dependencies"; + description = "Monad classes using functional dependencies, with instances\nfor various monad transformers, inspired by the paper\n/Functional Programming with Overloading and Higher-Order Polymorphism/,\nby Mark P Jones, in /Advanced School of Functional Programming/, 1995\n()."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ]; + buildable = true; + }; + }; + } // { + src = pkgs.lib.mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/mtl-2.2.2.tar.gz"; + sha256 = "8803f48a8ed33296c3a3272f448198737a287ec31baa901af09e2118c829bef6"; + }); + }) // { + package-description-override = "name: mtl\nversion: 2.2.2\ncabal-version: >= 1.10\nlicense: BSD3\nlicense-file: LICENSE\nauthor: Andy Gill\nmaintainer: Edward Kmett \ncategory: Control\nsynopsis: Monad classes, using functional dependencies\nhomepage: http://github.com/haskell/mtl\nbug-reports: http://github.com/haskell/mtl/issues\ndescription:\n Monad classes using functional dependencies, with instances\n for various monad transformers, inspired by the paper\n /Functional Programming with Overloading and Higher-Order Polymorphism/,\n by Mark P Jones, in /Advanced School of Functional Programming/, 1995\n ().\nbuild-type: Simple\nextra-source-files: CHANGELOG.markdown, README.markdown\ntested-with:\n GHC==7.0.4,\n GHC==7.2.2,\n GHC==7.4.2,\n GHC==7.6.3,\n GHC==7.8.4,\n GHC==7.10.3,\n GHC==8.0.2,\n GHC==8.2.2,\n GHC==8.4.1\n\nsource-repository head\n type: git\n location: https://github.com/haskell/mtl.git\n\nLibrary\n exposed-modules:\n Control.Monad.Cont\n Control.Monad.Cont.Class\n Control.Monad.Error\n Control.Monad.Error.Class\n Control.Monad.Except\n Control.Monad.Identity\n Control.Monad.List\n Control.Monad.RWS\n Control.Monad.RWS.Class\n Control.Monad.RWS.Lazy\n Control.Monad.RWS.Strict\n Control.Monad.Reader\n Control.Monad.Reader.Class\n Control.Monad.State\n Control.Monad.State.Class\n Control.Monad.State.Lazy\n Control.Monad.State.Strict\n Control.Monad.Trans\n Control.Monad.Writer\n Control.Monad.Writer.Class\n Control.Monad.Writer.Lazy\n Control.Monad.Writer.Strict\n build-depends: base < 5, transformers >= 0.4 && <0.6\n\n default-language: Haskell2010\n other-extensions:\n CPP\n MultiParamTypeClasses\n FunctionalDependencies\n FlexibleInstances\n UndecidableInstances\n\n -- This is a SafeHaskell safeguard (pun intended) to explicitly declare the API contract of `mtl`\n -- GHC versions before 7.4 were hopelessly broken or incapable of SafeHaskell\n if impl(ghc >= 7.4)\n default-extensions: Safe\n\n ghc-options: -Wall -fno-warn-unused-imports -fno-warn-warnings-deprecations\n\n if impl(ghc >= 8.0)\n ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances\n"; + } \ No newline at end of file diff --git a/materialized/happy-1.20.0/ghc967/cabal-files/transformers.nix b/materialized/happy-1.20.0/ghc967/cabal-files/transformers.nix new file mode 100644 index 0000000000..288d680c82 --- /dev/null +++ b/materialized/happy-1.20.0/ghc967/cabal-files/transformers.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + ({ + flags = {}; + package = { + specVersion = "1.6"; + identifier = { name = "transformers"; version = "0.5.6.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Ross Paterson "; + author = "Andy Gill, Ross Paterson"; + homepage = ""; + url = ""; + synopsis = "Concrete functor and monad transformers"; + description = "A portable library of functor and monad transformers, inspired by\nthe paper\n\n* \\\"Functional Programming with Overloading and Higher-Order\nPolymorphism\\\", by Mark P Jones,\nin /Advanced School of Functional Programming/, 1995\n().\n\nThis package contains:\n\n* the monad transformer class (in \"Control.Monad.Trans.Class\")\n\n* concrete functor and monad transformers, each with associated\noperations and functions to lift operations associated with other\ntransformers.\n\nThe package can be used on its own in portable Haskell code, in\nwhich case operations need to be manually lifted through transformer\nstacks (see \"Control.Monad.Trans.Class\" for some examples).\nAlternatively, it can be used with the non-portable monad classes in\nthe @mtl@ or @monads-tf@ packages, which automatically lift operations\nintroduced by monad transformers through other transformers."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + ] ++ pkgs.lib.optional (compiler.isGhc && (compiler.version.ge "7.2" && compiler.version.lt "7.5")) (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")); + buildable = true; + }; + }; + } // { + src = pkgs.lib.mkDefault (pkgs.fetchurl { + url = "http://hackage.haskell.org/package/transformers-0.5.6.2.tar.gz"; + sha256 = "b668795d600297e4c8a7fd55a107b9827b2c52c0bc14c5ea0d65e20e6691c66c"; + }); + }) // { + package-description-override = "name: transformers\nversion: 0.5.6.2\nlicense: BSD3\nlicense-file: LICENSE\nauthor: Andy Gill, Ross Paterson\nmaintainer: Ross Paterson \nbug-reports: http://hub.darcs.net/ross/transformers/issues\ncategory: Control\nsynopsis: Concrete functor and monad transformers\ndescription:\n A portable library of functor and monad transformers, inspired by\n the paper\n .\n * \\\"Functional Programming with Overloading and Higher-Order\n Polymorphism\\\", by Mark P Jones,\n in /Advanced School of Functional Programming/, 1995\n ().\n .\n This package contains:\n .\n * the monad transformer class (in \"Control.Monad.Trans.Class\")\n .\n * concrete functor and monad transformers, each with associated\n operations and functions to lift operations associated with other\n transformers.\n .\n The package can be used on its own in portable Haskell code, in\n which case operations need to be manually lifted through transformer\n stacks (see \"Control.Monad.Trans.Class\" for some examples).\n Alternatively, it can be used with the non-portable monad classes in\n the @mtl@ or @monads-tf@ packages, which automatically lift operations\n introduced by monad transformers through other transformers.\nbuild-type: Simple\nextra-source-files:\n changelog\ncabal-version: >= 1.6\n\nsource-repository head\n type: darcs\n location: http://hub.darcs.net/ross/transformers\n\nlibrary\n build-depends: base >= 2 && < 6\n hs-source-dirs: .\n if !impl(ghc>=7.9)\n -- Data.Functor.Identity was moved into base-4.8.0.0 (GHC 7.10)\n -- see also https://ghc.haskell.org/trac/ghc/ticket/9664\n -- NB: using impl(ghc>=7.9) instead of fragile Cabal flags\n hs-source-dirs: legacy/pre709\n exposed-modules: Data.Functor.Identity\n if !impl(ghc>=7.11)\n -- modules moved into base-4.9.0 (GHC 8.0)\n -- see https://ghc.haskell.org/trac/ghc/ticket/10773\n -- see https://ghc.haskell.org/trac/ghc/ticket/11135\n hs-source-dirs: legacy/pre711\n exposed-modules:\n Control.Monad.IO.Class\n Data.Functor.Classes\n Data.Functor.Compose\n Data.Functor.Product\n Data.Functor.Sum\n if impl(ghc>=7.2 && <7.5)\n -- Prior to GHC 7.5, GHC.Generics lived in ghc-prim\n build-depends: ghc-prim\n exposed-modules:\n Control.Applicative.Backwards\n Control.Applicative.Lift\n Control.Monad.Signatures\n Control.Monad.Trans.Accum\n Control.Monad.Trans.Class\n Control.Monad.Trans.Cont\n Control.Monad.Trans.Except\n Control.Monad.Trans.Error\n Control.Monad.Trans.Identity\n Control.Monad.Trans.List\n Control.Monad.Trans.Maybe\n Control.Monad.Trans.Reader\n Control.Monad.Trans.RWS\n Control.Monad.Trans.RWS.CPS\n Control.Monad.Trans.RWS.Lazy\n Control.Monad.Trans.RWS.Strict\n Control.Monad.Trans.Select\n Control.Monad.Trans.State\n Control.Monad.Trans.State.Lazy\n Control.Monad.Trans.State.Strict\n Control.Monad.Trans.Writer\n Control.Monad.Trans.Writer.CPS\n Control.Monad.Trans.Writer.Lazy\n Control.Monad.Trans.Writer.Strict\n Data.Functor.Constant\n Data.Functor.Reverse\n"; + } \ No newline at end of file diff --git a/materialized/happy-1.20.0/ghc967/default.nix b/materialized/happy-1.20.0/ghc967/default.nix new file mode 100644 index 0000000000..9c6cffdd4f --- /dev/null +++ b/materialized/happy-1.20.0/ghc967/default.nix @@ -0,0 +1,70 @@ +{ + pkgs = hackage: + { + packages = { + ghc-bignum.revision = hackage.ghc-bignum."1.3".revisions.default; + transformers.revision = import ./cabal-files/transformers.nix; + deepseq.revision = hackage.deepseq."1.4.8.1".revisions.default; + mtl.revision = import ./cabal-files/mtl.nix; + base.revision = hackage.base."4.18.3.0".revisions.default; + array.revision = hackage.array."0.5.8.0".revisions.default; + happy.revision = import ./cabal-files/happy.nix; + template-haskell.revision = hackage.template-haskell."2.20.0.0".revisions.default; + ghc-boot-th.revision = hackage.ghc-boot-th."9.6.7".revisions.default; + ghc-prim.revision = hackage.ghc-prim."0.10.0".revisions.default; + pretty.revision = hackage.pretty."1.1.3.6".revisions.default; + containers.revision = hackage.containers."0.6.7".revisions.default; + }; + compiler = { + version = "9.6.7"; + nix-name = "ghc967"; + packages = { + "ghc-boot-th" = "9.6.7"; + "pretty" = "1.1.3.6"; + "array" = "0.5.8.0"; + "ghc-prim" = "0.10.0"; + "template-haskell" = "2.20.0.0"; + "ghc-bignum" = "1.3"; + "deepseq" = "1.4.8.1"; + "containers" = "0.6.7"; + "base" = "4.18.3.0"; + }; + }; + }; + extras = hackage: + { packages = {}; }; + modules = [ + { + preExistingPkgs = [ + "ghc-bignum" + "deepseq" + "base" + "array" + "template-haskell" + "ghc-boot-th" + "ghc-prim" + "pretty" + "containers" + ]; + } + ({ lib, ... }: + { packages = {}; }) + ({ lib, ... }: + { + packages = { + "template-haskell".components.library.planned = lib.mkOverride 900 true; + "transformers".components.library.planned = lib.mkOverride 900 true; + "array".components.library.planned = lib.mkOverride 900 true; + "containers".components.library.planned = lib.mkOverride 900 true; + "deepseq".components.library.planned = lib.mkOverride 900 true; + "happy".components.exes."happy".planned = lib.mkOverride 900 true; + "ghc-bignum".components.library.planned = lib.mkOverride 900 true; + "pretty".components.library.planned = lib.mkOverride 900 true; + "mtl".components.library.planned = lib.mkOverride 900 true; + "ghc-boot-th".components.library.planned = lib.mkOverride 900 true; + "base".components.library.planned = lib.mkOverride 900 true; + "ghc-prim".components.library.planned = lib.mkOverride 900 true; + }; + }) + ]; +} \ No newline at end of file diff --git a/materialized/happy-1.20.0/ghc967/plan.json b/materialized/happy-1.20.0/ghc967/plan.json new file mode 100644 index 0000000000..144853d115 --- /dev/null +++ b/materialized/happy-1.20.0/ghc967/plan.json @@ -0,0 +1 @@ +{"cabal-version":"3.14.2.0","cabal-lib-version":"3.14.2.0","compiler-id":"ghc-9.6.7","os":"osx","arch":"aarch64","install-plan":[{"type":"pre-existing","id":"array-0.5.8.0","pkg-name":"array","pkg-version":"0.5.8.0","depends":["base-4.18.3.0"]},{"type":"pre-existing","id":"base-4.18.3.0","pkg-name":"base","pkg-version":"4.18.3.0","depends":["ghc-prim-0.10.0","ghc-bignum-1.3"]},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["base-4.18.3.0","array-0.5.8.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["base-4.18.3.0","array-0.5.8.0"]},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.7","pkg-name":"ghc-boot-th","pkg-version":"9.6.7","depends":["base-4.18.3.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":[]},{"type":"configured","id":"hppy-1.20.0-22008d43","pkg-name":"happy","pkg-version":"1.20.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"5d47dc221a9fe964e36aaaa2e1ab7e8f085a225fd6528d6eff310b92360bbe99","pkg-src-sha256":"3b1d3a8f93a2723b554d9f07b2cd136be1a7b2fcab1855b12b7aab5cbac8868c","depends":["array-0.5.8.0","base-4.18.3.0","containers-0.6.7","mtl-2.2.2-7c0d25be"],"exe-depends":[],"component-name":"exe:happy","bin-file":"/store/ghc-9.6.7/hppy-1.20.0-22008d43/bin/happy"},{"type":"configured","id":"mtl-2.2.2-7c0d25be","pkg-name":"mtl","pkg-version":"2.2.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"1050fb71acd9f5d67da7d992583f5bd0eb14407b9dc7acc122af1b738b706ca3","pkg-src-sha256":"8803f48a8ed33296c3a3272f448198737a287ec31baa901af09e2118c829bef6","depends":["base-4.18.3.0","trnsfrmrs-0.5.6.2-842b1c0f"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.3.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.3.0","ghc-boot-th-9.6.7","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"configured","id":"trnsfrmrs-0.5.6.2-842b1c0f","pkg-name":"transformers","pkg-version":"0.5.6.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6c959d14430f4deffb99579ba019de07c3d852a2122b6f449344386c7d75ff1d","pkg-src-sha256":"b668795d600297e4c8a7fd55a107b9827b2c52c0bc14c5ea0d65e20e6691c66c","components":{"lib":{"depends":["base-4.18.3.0"],"exe-depends":[]}}}],"targets":[{"pkg-name":"array","pkg-version":"0.5.8.0","component-name":"lib","available":[{"id":"array-0.5.8.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"base","pkg-version":"4.18.3.0","component-name":"lib","available":[{"id":"base-4.18.3.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"containers","pkg-version":"0.6.7","component-name":"lib","available":[{"id":"containers-0.6.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"deepseq","pkg-version":"1.4.8.1","component-name":"lib","available":[{"id":"deepseq-1.4.8.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-bignum","pkg-version":"1.3","component-name":"lib","available":[{"id":"ghc-bignum-1.3","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-boot-th","pkg-version":"9.6.7","component-name":"lib","available":[{"id":"ghc-boot-th-9.6.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-prim","pkg-version":"0.10.0","component-name":"lib","available":[{"id":"ghc-prim-0.10.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"happy","pkg-version":"1.20.0","component-name":"exe:happy","available":[{"id":"hppy-1.20.0-22008d43","component-name":"exe:happy","build-by-default":true}]},{"pkg-name":"happy","pkg-version":"1.20.0","component-name":"test:tests","available":["TargetNotLocal"]},{"pkg-name":"mtl","pkg-version":"2.2.2","component-name":"lib","available":[{"id":"mtl-2.2.2-7c0d25be","component-name":"lib","build-by-default":true}]},{"pkg-name":"pretty","pkg-version":"1.1.3.6","component-name":"lib","available":[{"id":"pretty-1.1.3.6","component-name":"lib","build-by-default":true}]},{"pkg-name":"template-haskell","pkg-version":"2.20.0.0","component-name":"lib","available":[{"id":"template-haskell-2.20.0.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"transformers","pkg-version":"0.5.6.2","component-name":"lib","available":[{"id":"trnsfrmrs-0.5.6.2-842b1c0f","component-name":"lib","build-by-default":true}]}]} \ No newline at end of file diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 26f4f5fc4d..4acef47147 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -1,7 +1,8 @@ final: prev: let buildBootstrapper.compilerNixName = - if final.buildPackages.haskell.compiler ? ghc964 then "ghc964" + if final.buildPackages.haskell.compiler ? ghc967 then "ghc967" + else if final.buildPackages.haskell.compiler ? ghc964 then "ghc964" else "ghc8107"; latestVerMap = { "8.10" = "8.10.7"; @@ -28,10 +29,10 @@ let (builtins.attrNames latestVerMap)); traceWarnOld = v: x: let - bootstrapGhc = final.buildPackages.haskell.compiler.ghc8107; + oldVersion = "9.6"; in - if builtins.compareVersions x.version bootstrapGhc.version < 0 then - throw "Desired GHC (${x.version}) is older than the bootstrap GHC (${bootstrapGhc.version}) for this platform (${final.stdenv.targetPlatform.config})." + if builtins.compareVersions x.version oldVersion < 0 then + throw "Desired GHC (${x.version}) is older than the oldest GHC haskell.nix might work with (GHC ${oldVersion})." else x // final.lib.optionalAttrs (x.version != latestVerMap.${v}) { latestVersion = latestVerMap.${v}; }; errorOldGhcjs = v: up: throw "ghcjs ${v} is no longer supported by haskell.nix. Consider using ${latestVerMap.${up}}"; in { @@ -50,7 +51,8 @@ in { }; # ghc 9.0.2 is no longer cached for nixpkgs-unstable and it seems to be broken nixpkgsBootCompiler = - if final.buildPackages.haskell.compiler ? ghc964 then "ghc964" + if final.buildPackages.haskell.compiler ? ghc967 then "ghc967" + else if final.buildPackages.haskell.compiler ? ghc964 then "ghc964" else "ghc902"; bootPkgsGhc94 = bootPkgs // { alex = final.buildPackages.haskell-nix.tool nixpkgsBootCompiler "alex" { @@ -1080,8 +1082,8 @@ in { }; inherit sphinx; - buildLlvmPackages = final.buildPackages.llvmPackages_15; - llvmPackages = final.llvmPackages_15; + buildLlvmPackages = final.buildPackages.llvmPackages_19; + llvmPackages = final.llvmPackages_19; src-spec.file = final.haskell-nix.sources.ghc9122; src-spec.version = "9.12.2"; @@ -1121,8 +1123,8 @@ in { }; inherit sphinx; - buildLlvmPackages = final.buildPackages.llvmPackages_15; - llvmPackages = final.llvmPackages_15; + buildLlvmPackages = final.buildPackages.llvmPackages_19; + llvmPackages = final.llvmPackages_19; src-spec.file = src; src-spec.version = version; diff --git a/overlays/nix-prefetch-git-minimal.nix b/overlays/nix-prefetch-git-minimal.nix index 8d599e4de0..b043f9b8b1 100644 --- a/overlays/nix-prefetch-git-minimal.nix +++ b/overlays/nix-prefetch-git-minimal.nix @@ -17,9 +17,12 @@ final: prev: { # This can reduce closure size of nix-tools: # * Eliminates dependency on python3 (70MB) # * Allows sharing with `fetchgit` as it also uses `gitMinimal` (50MB) - inherit (final.callPackages (final.path + "/pkgs/tools/package-management/nix-prefetch-scripts") { - git = final.gitMinimal; - }) nix-prefetch-git; + inherit ( + let f = import (final.path + "/pkgs/tools/package-management/nix-prefetch-scripts"); + in + if (builtins.functionArgs f) ? git + then final.callPackages f { git = final.gitMinimal; } + else prev) nix-prefetch-git; # fetchgit use `buildPackages.gitMinimal` and on nixpkgs 21.11 # and earlier that causes problems when cross compiling. diff --git a/overlays/patches/wasm/llvm/gnu-install-dirs.patch b/overlays/patches/wasm/llvm/gnu-install-dirs.patch index 482325452c..30c660210b 100644 --- a/overlays/patches/wasm/llvm/gnu-install-dirs.patch +++ b/overlays/patches/wasm/llvm/gnu-install-dirs.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index c9ff3696e22d..bd96aab5e237 100644 +index 73c4fc14f031..42284703a52c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1133,9 +1133,9 @@ if (NOT TENSORFLOW_AOT_PATH STREQUAL "") +@@ -1153,9 +1153,9 @@ if (NOT TENSORFLOW_AOT_PATH STREQUAL "") add_subdirectory(${TENSORFLOW_AOT_PATH}/xla_aot_runtime_src ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/tf_runtime) install(TARGETS tf_xla_runtime EXPORT LLVMExports @@ -15,7 +15,7 @@ index c9ff3696e22d..bd96aab5e237 100644 # Once we add more modules, we should handle this more automatically. if (DEFINED LLVM_OVERRIDE_MODEL_HEADER_INLINERSIZEMODEL) diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index baf47677b247..81954240a9bf 100644 +index 52bf7ca0906a..ba2f4be17f08 100644 --- a/cmake/modules/AddLLVM.cmake +++ b/cmake/modules/AddLLVM.cmake @@ -974,8 +974,8 @@ macro(add_llvm_library name) @@ -29,17 +29,17 @@ index baf47677b247..81954240a9bf 100644 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name}) if (NOT LLVM_ENABLE_IDE) -@@ -2240,7 +2240,7 @@ function(llvm_install_library_symlink name dest type) +@@ -2258,7 +2258,7 @@ function(llvm_install_library_symlink name dest type) set(LLVM_LINK_OR_COPY copy) endif() - set(output_dir lib${LLVM_LIBDIR_SUFFIX}) + set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - if(WIN32 AND "${type}" STREQUAL "SHARED") + if((WIN32 OR CYGWIN) AND "${type}" STREQUAL "SHARED") set(output_dir "${CMAKE_INSTALL_BINDIR}") endif() -@@ -2516,15 +2516,37 @@ function(llvm_setup_rpath name) - +@@ -2534,15 +2534,37 @@ function(llvm_setup_rpath name) + if (APPLE) set(_install_name_dir INSTALL_NAME_DIR "@rpath") - set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) @@ -79,19 +79,6 @@ index baf47677b247..81954240a9bf 100644 if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") set_property(TARGET ${name} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-z,origin ") -@@ -2539,9 +2561,9 @@ function(llvm_setup_rpath name) - endif() - - # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set. -- if("${CMAKE_BUILD_RPATH}" STREQUAL "") -- set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON) -- endif() -+ #if("${CMAKE_BUILD_RPATH}" STREQUAL "") -+ # set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON) -+ #endif() - - set_target_properties(${name} PROPERTIES - INSTALL_RPATH "${_install_rpath}" diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake index 2d9116b08a52..2dd7cad4ec66 100644 --- a/cmake/modules/AddOCaml.cmake @@ -122,7 +109,7 @@ index ef4cfa3acdb5..7478e157a7c2 100644 "${LLVM_CONFIG_LIBRARY_DIR}" # FIXME: Should there be other entries here? diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in -index 370005cd8d7d..7e790bc52111 100644 +index e4e1d449bf4d..3aab6ea7bf8b 100644 --- a/tools/llvm-config/BuildVariables.inc.in +++ b/tools/llvm-config/BuildVariables.inc.in @@ -23,6 +23,7 @@ @@ -134,10 +121,10 @@ index 370005cd8d7d..7e790bc52111 100644 #define LLVM_INSTALL_PACKAGE_DIR "@LLVM_INSTALL_PACKAGE_DIR@" #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index d5b76b1bb6c1..1dbdb2a8f10d 100644 +index 49df8fdcb7f7..c7cb05b82821 100644 --- a/tools/llvm-config/llvm-config.cpp +++ b/tools/llvm-config/llvm-config.cpp -@@ -366,7 +366,11 @@ int main(int argc, char **argv) { +@@ -365,7 +365,11 @@ int main(int argc, char **argv) { sys::fs::make_absolute(ActivePrefix, Path); ActiveBinDir = std::string(Path); } diff --git a/overlays/patches/wasm/llvm/haskell-wasm-llvm-project.patch b/overlays/patches/wasm/llvm/haskell-wasm-llvm-project.patch index d45b5d0880..49e0986bb8 100644 --- a/overlays/patches/wasm/llvm/haskell-wasm-llvm-project.patch +++ b/overlays/patches/wasm/llvm/haskell-wasm-llvm-project.patch @@ -1,5 +1,5 @@ diff --git a/clang/lib/Driver/ToolChains/WebAssembly.cpp b/clang/lib/Driver/ToolChains/WebAssembly.cpp -index bd25fd1a8933..b906bff5d5c7 100644 +index 5054868b5ff4..e4fcd949ff71 100644 --- a/clang/lib/Driver/ToolChains/WebAssembly.cpp +++ b/clang/lib/Driver/ToolChains/WebAssembly.cpp @@ -6,6 +6,8 @@ @@ -9,9 +9,9 @@ index bd25fd1a8933..b906bff5d5c7 100644 +#include + #include "WebAssembly.h" - #include "CommonArgs.h" #include "Gnu.h" -@@ -19,6 +21,7 @@ + #include "clang/Config/config.h" +@@ -17,6 +19,7 @@ #include "llvm/Option/ArgList.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/Path.h" @@ -19,7 +19,7 @@ index bd25fd1a8933..b906bff5d5c7 100644 #include "llvm/Support/VirtualFileSystem.h" using namespace clang::driver; -@@ -168,21 +171,12 @@ void wasm::Linker::ConstructJob(Compilation &C, const JobAction &JA, +@@ -179,21 +182,12 @@ void wasm::Linker::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-o"); CmdArgs.push_back(Output.getFilename()); @@ -44,7 +44,7 @@ index bd25fd1a8933..b906bff5d5c7 100644 } if (!WasmOptPath.empty()) { -@@ -193,29 +187,27 @@ void wasm::Linker::ConstructJob(Compilation &C, const JobAction &JA, +@@ -204,29 +198,27 @@ void wasm::Linker::ConstructJob(Compilation &C, const JobAction &JA, ResponseFileSupport::AtFileCurCP(), Linker, CmdArgs, Inputs, Output)); @@ -94,26 +94,11 @@ index bd25fd1a8933..b906bff5d5c7 100644 } } -diff --git a/compiler-rt/cmake/Modules/AddCompilerRT.cmake b/compiler-rt/cmake/Modules/AddCompilerRT.cmake -index c3e734f72392..282a321fd70b 100644 ---- a/compiler-rt/cmake/Modules/AddCompilerRT.cmake -+++ b/compiler-rt/cmake/Modules/AddCompilerRT.cmake -@@ -382,8 +382,8 @@ function(add_compiler_rt_runtime name type) - target_link_libraries(${libname} PRIVATE ${builtins_${libname}}) - endif() - if(${type} STREQUAL "SHARED") -- if(APPLE OR WIN32) -- set_property(TARGET ${libname} PROPERTY BUILD_WITH_INSTALL_RPATH ON) -+ if(COMMAND llvm_setup_rpath) -+ llvm_setup_rpath(${libname}) - endif() - if(WIN32 AND NOT CYGWIN AND NOT MINGW) - set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "") diff --git a/lld/wasm/InputChunks.cpp b/lld/wasm/InputChunks.cpp -index 0e6c4e691be1..bfa438505d98 100644 +index 181221a77b10..c813e62e7b93 100644 --- a/lld/wasm/InputChunks.cpp +++ b/lld/wasm/InputChunks.cpp -@@ -361,12 +361,11 @@ uint64_t InputChunk::getVA(uint64_t offset) const { +@@ -409,12 +409,11 @@ uint64_t InputChunk::getVA(uint64_t offset) const { // Generate code to apply relocations to the data section at runtime. // This is only called when generating shared libraries (PIC) where address are // not known at static link time. @@ -127,7 +112,7 @@ index 0e6c4e691be1..bfa438505d98 100644 unsigned opcode_ptr_const = is64 ? WASM_OPCODE_I64_CONST : WASM_OPCODE_I32_CONST; unsigned opcode_ptr_add = is64 ? WASM_OPCODE_I64_ADD -@@ -385,6 +384,14 @@ bool InputChunk::generateRelocationCode(raw_ostream &os) const { +@@ -433,6 +432,14 @@ bool InputChunk::generateRelocationCode(raw_ostream &os) const { if (!requiresRuntimeReloc) continue; @@ -142,7 +127,7 @@ index 0e6c4e691be1..bfa438505d98 100644 LLVM_DEBUG(dbgs() << "gen reloc: type=" << relocTypeToString(rel.Type) << " addend=" << rel.Addend << " index=" << rel.Index << " output offset=" << offset << "\n"); -@@ -439,9 +446,7 @@ bool InputChunk::generateRelocationCode(raw_ostream &os) const { +@@ -487,9 +494,7 @@ bool InputChunk::generateRelocationCode(raw_ostream &os) const { writeU8(os, opcode_reloc_store, "I32_STORE"); writeUleb128(os, 2, "align"); writeUleb128(os, 0, "offset"); @@ -153,12 +138,12 @@ index 0e6c4e691be1..bfa438505d98 100644 // Split WASM_SEG_FLAG_STRINGS section. Such a section is a sequence of diff --git a/lld/wasm/InputChunks.h b/lld/wasm/InputChunks.h -index f545449e1246..d231382a5f5e 100644 +index 1fe78d76631f..2c721f5f92e8 100644 --- a/lld/wasm/InputChunks.h +++ b/lld/wasm/InputChunks.h -@@ -78,7 +78,7 @@ public: - +@@ -79,7 +79,7 @@ public: size_t getNumRelocations() const { return relocations.size(); } + size_t getNumLiveRelocations() const; void writeRelocations(llvm::raw_ostream &os) const; - bool generateRelocationCode(raw_ostream &os) const; + void generateRelocationCode(std::vector &funcs) const; @@ -166,10 +151,10 @@ index f545449e1246..d231382a5f5e 100644 bool isTLS() const { return flags & llvm::wasm::WASM_SEG_FLAG_TLS; } bool isRetained() const { return flags & llvm::wasm::WASM_SEG_FLAG_RETAIN; } diff --git a/lld/wasm/SyntheticSections.cpp b/lld/wasm/SyntheticSections.cpp -index 0e2aa57e9048..e5df7d8c0be0 100644 +index e1192706ea91..1b97039b1f1f 100644 --- a/lld/wasm/SyntheticSections.cpp +++ b/lld/wasm/SyntheticSections.cpp -@@ -299,6 +299,8 @@ void FunctionSection::writeBody() { +@@ -312,6 +312,8 @@ void FunctionSection::writeBody() { void FunctionSection::addFunction(InputFunction *func) { if (!func->live) return; @@ -179,10 +164,10 @@ index 0e2aa57e9048..e5df7d8c0be0 100644 out.importSec->getNumImportedFunctions() + inputFunctions.size(); inputFunctions.emplace_back(func); diff --git a/lld/wasm/Writer.cpp b/lld/wasm/Writer.cpp -index 2bf4b370a7db..19fca2616c7a 100644 +index b704677d36c9..ac9eab2b9dd5 100644 --- a/lld/wasm/Writer.cpp +++ b/lld/wasm/Writer.cpp -@@ -1452,20 +1452,21 @@ void Writer::createStartFunction() { +@@ -1455,20 +1455,21 @@ void Writer::createStartFunction() { void Writer::createApplyDataRelocationsFunction() { LLVM_DEBUG(dbgs() << "createApplyDataRelocationsFunction\n"); // First write the body's contents to a string. @@ -213,7 +198,7 @@ index 2bf4b370a7db..19fca2616c7a 100644 writeU8(os, WASM_OPCODE_END, "END"); } -@@ -1478,24 +1479,67 @@ void Writer::createApplyDataRelocationsFunction() { +@@ -1481,24 +1482,67 @@ void Writer::createApplyDataRelocationsFunction() { make(nullSignature, "__wasm_apply_data_relocs")); def->markLive(); @@ -288,10 +273,10 @@ index 2bf4b370a7db..19fca2616c7a 100644 // Similar to createApplyDataRelocationsFunction but generates relocation code diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake -index d3e9377c8d2f..50a34184919a 100644 +index 83772ed8d2b1..0a7360d9357a 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake -@@ -2524,8 +2524,7 @@ function(llvm_setup_rpath name) +@@ -2547,8 +2547,7 @@ function(llvm_setup_rpath name) # FIXME: update this when there is better solution. set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) elseif(UNIX) @@ -301,22 +286,49 @@ index d3e9377c8d2f..50a34184919a 100644 if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") set_property(TARGET ${name} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-z,origin ") -@@ -2539,16 +2538,9 @@ function(llvm_setup_rpath name) - return() - endif() +diff --git a/llvm/lib/MC/MCParser/WasmAsmParser.cpp b/llvm/lib/MC/MCParser/WasmAsmParser.cpp +index 1f824b80bcd4..1025d3ee3026 100644 +--- a/llvm/lib/MC/MCParser/WasmAsmParser.cpp ++++ b/llvm/lib/MC/MCParser/WasmAsmParser.cpp +@@ -228,7 +228,13 @@ public: + if (WasmSym->isFunction()) { + // Ignore .size directives for function symbols. They get their size + // set automatically based on their content. +- Warning(Loc, ".size directive ignored for function symbols"); ++ // ++ // Upstream LLVM treats this as a warning, we turn this into an ++ // error since it almost certainly signals severely malformed ++ // assembly due to miscompilation, and data/function symbol kind ++ // confusion is not always caught at link-time and might ++ // manifest as wasm runtime crashes :/ ++ Error(Loc, ".size directive ignored for function symbols"); + } else { + getStreamer().emitELFSize(Sym, Expr); + } +diff --git a/llvm/test/MC/WebAssembly/function-size-warning.s b/llvm/test/MC/WebAssembly/function-size-warning.s +index 627002dd3578..95e9294f80f7 100644 +--- a/llvm/test/MC/WebAssembly/function-size-warning.s ++++ b/llvm/test/MC/WebAssembly/function-size-warning.s +@@ -1,5 +1,4 @@ +-# RUN: llvm-mc -triple=wasm32-unknown-unknown -filetype=obj %s -o %t.o 2>&1 | FileCheck %s +-# RUN: llvm-objdump -t %t.o ++# RUN: not llvm-mc -triple=wasm32-unknown-unknown -filetype=obj %s -o %t.o 2>&1 | FileCheck %s + + foo: + .functype foo () -> () +@@ -12,4 +11,4 @@ foo: + # assembly files. + .size foo, 0 -- # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set and not -- # building for macOS or AIX, as those platforms seemingly require it. -- # On AIX, the tool chain doesn't support modifying rpaths/libpaths for XCOFF -- # on install at the moment, so BUILD_WITH_INSTALL_RPATH is required. -+ # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set. - if("${CMAKE_BUILD_RPATH}" STREQUAL "") -- if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin|AIX") -- set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON) -- else() -- set_property(TARGET ${name} APPEND PROPERTY BUILD_RPATH "${_build_rpath}") -- endif() -+ set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON) - endif() +-# CHECK: warning: .size directive ignored for function symbols ++# CHECK: error: .size directive ignored for function symbols +diff --git a/llvm/test/MC/WebAssembly/null-output.s b/llvm/test/MC/WebAssembly/null-output.s +index fb15eecffc86..513e37d35039 100644 +--- a/llvm/test/MC/WebAssembly/null-output.s ++++ b/llvm/test/MC/WebAssembly/null-output.s +@@ -1,4 +1,5 @@ + # RUN: llvm-mc -triple=wasm32-unknown-unknown -filetype=obj -o /dev/null < %s ++# XFAIL: * - set_target_properties(${name} PROPERTIES + .text + .section .text.main,"",@ diff --git a/overlays/wasm.nix b/overlays/wasm.nix index 1550af07d7..2f8d55e43a 100644 --- a/overlays/wasm.nix +++ b/overlays/wasm.nix @@ -1,11 +1,11 @@ final: prev: prev.lib.optionalAttrs prev.stdenv.targetPlatform.isWasm { - llvmPackages = final.llvmPackages_20.override { + llvmPackages = final.llvmPackages_21.override { patchesFn = p: p // { "llvm/gnu-install-dirs.patch" = [{path = ./patches/wasm;}]; }; monorepoSrc = final.stdenv.mkDerivation { pname = "llvm-source"; - version = final.llvmPackages_20.llvm.version + "-haskell"; - src = final.llvmPackages_20.llvm.monorepoSrc; + version = final.llvmPackages_21.llvm.version + "-haskell"; + src = final.llvmPackages_21.llvm.monorepoSrc; patches = ./patches/wasm/llvm/haskell-wasm-llvm-project.patch; buildPhase = "true"; installPhase = '' diff --git a/test/annotations/default.nix b/test/annotations/default.nix index 37fc6ed8d9..6412b44e43 100644 --- a/test/annotations/default.nix +++ b/test/annotations/default.nix @@ -15,7 +15,11 @@ in recurseIntoAttrs { # Failed to lookup symbol: __aarch64_swp8_acq_rel || (builtins.elem compiler-nix-name ["ghc947" "ghc948"] && haskellLib.isCrossHost && stdenv.hostPlatform.isAarch64) # unhandled ELF relocation(Rel) type 10 - || (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32); + || (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32) + # Disable for now (CI machines currently timing out) + || stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isAndroid + || (stdenv.buildPlatform.isx86_64 && stdenv.hostPlatform.isAarch64) + ; ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/js-template-haskell/default.nix b/test/js-template-haskell/default.nix index 16e4255dcc..fed9d0f71a 100644 --- a/test/js-template-haskell/default.nix +++ b/test/js-template-haskell/default.nix @@ -27,7 +27,12 @@ in recurseIntoAttrs { # Not sure why this is failing with a seg fault || (builtins.elem compiler-nix-name ["ghc9102" "ghc9102llvm"] && stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32) # unhandled ELF relocation(Rel) type 10 - || (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32); + || (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32) + + # Disable for now (CI machines currently hang without timing out) + || stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isAndroid + || (stdenv.buildPlatform.isx86_64 && stdenv.hostPlatform.isAarch64) + ; build = packages.js-template-haskell.components.library; check = packages.js-template-haskell.checks.test; diff --git a/test/th-dlls-minimal/default.nix b/test/th-dlls-minimal/default.nix index 0e6ccb3be7..43837f7ef1 100644 --- a/test/th-dlls-minimal/default.nix +++ b/test/th-dlls-minimal/default.nix @@ -32,7 +32,10 @@ let in recurseIntoAttrs { # This test is just for windows currently (the full th-dlls test runs on other platforms) - meta.disabled = !stdenv.hostPlatform.isWindows; + meta.disabled = !stdenv.hostPlatform.isWindows + # Disable for now (CI machines currently hang without timing out) + || stdenv.hostPlatform.isWindows + ; ifdInputs = { inherit (project true) plan-nix; diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 0f96f0a6bc..f4d90c9b3c 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -43,6 +43,10 @@ in recurseIntoAttrs { || (builtins.elem compiler-nix-name ["ghc947" "ghc948"] && haskellLib.isCrossHost && stdenv.hostPlatform.isAarch64) # We have been unable to get windows cross compilation of th-orphans to work for GHC 8.10 using the latest nixpkgs || (compiler-nix-name == "ghc8107" && stdenv.hostPlatform.isWindows) + + # Disable for now (CI machines currently hang without timing out) + || stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isAndroid + || (stdenv.buildPlatform.isx86_64 && stdenv.hostPlatform.isAarch64) ; ifdInputs = { From f51d0b4ea15744bc77885fed6219320b25293e45 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 18 Oct 2025 00:51:22 +0000 Subject: [PATCH 238/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7ffcf1dc2a..de21680227 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1760661871, - "narHash": "sha256-6fEhkK7Afkn5+9Ge4RkC6Eg2z5jxcLyrAjtrr+aq+1E=", + "lastModified": 1760747064, + "narHash": "sha256-oKtLLgwm2loeZP79X2rQtV9ZLhjHsrgOcLR9RRYsM60=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7d5592ba63c03633207240fda38ddc1443a3fb0c", + "rev": "9519bc6bd52117b9839d202b9c05dbbb83b17a10", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1760660728, - "narHash": "sha256-aYeGoAgcD09eT2n4eienu6k1jfU1ydwAqhlTRX1rg3U=", + "lastModified": 1760747054, + "narHash": "sha256-bOtLUYtv9uTXvtpGa8RPTm1rrloMtzlN6ftwsFkku2s=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c04afbc120c41ea6624128520f816fee0e551678", + "rev": "9b008b21198bc7b53b0e8d0a60a761d3832e06de", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1760659964, - "narHash": "sha256-SqHiy91MseHpE6+vC8yYtSB4Cdb3oMMIpb28BXjBcWU=", + "lastModified": 1760746305, + "narHash": "sha256-XJjuDZ5yBLCUTSqF6bPDvfZIw92p3P3lokHgftgFNcI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "46543b91b5de7689fb0fa19135959a85a48b21ef", + "rev": "acfa1190f253243e089841dcd663cb9c51db4f7c", "type": "github" }, "original": { From 05a2defacd9146015aa1b9b66ed5d7d448ddf17b Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 19 Oct 2025 00:51:55 +0000 Subject: [PATCH 239/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index de21680227..fd106bd622 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1760747064, - "narHash": "sha256-oKtLLgwm2loeZP79X2rQtV9ZLhjHsrgOcLR9RRYsM60=", + "lastModified": 1760833686, + "narHash": "sha256-BXvsNsQLq4e03pAFW3ntdVyN9AisZIdE6FtPpapLyrU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9519bc6bd52117b9839d202b9c05dbbb83b17a10", + "rev": "704242928e88aa166a8d1132414d39cfb20a6151", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1760747054, - "narHash": "sha256-bOtLUYtv9uTXvtpGa8RPTm1rrloMtzlN6ftwsFkku2s=", + "lastModified": 1760833676, + "narHash": "sha256-XZ8nzE6/4IfKhApl8l+UTkxpgSkrHbA30aqarRFdUB4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9b008b21198bc7b53b0e8d0a60a761d3832e06de", + "rev": "e1fd68ba6809ef2b9db2a0e21ab150608b89aa0d", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1760746305, - "narHash": "sha256-XJjuDZ5yBLCUTSqF6bPDvfZIw92p3P3lokHgftgFNcI=", + "lastModified": 1760832844, + "narHash": "sha256-XXYSPuaWvvrEHLa4qu1z+U8L21WZuuk6OF1COjwbDlI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "acfa1190f253243e089841dcd663cb9c51db4f7c", + "rev": "af1f602a75c804c98bea45010487a2532714e26d", "type": "github" }, "original": { From 99684594c3c40d2eb86c4a68f89c15bfc99d8359 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 20 Oct 2025 00:52:22 +0000 Subject: [PATCH 240/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index fd106bd622..883a0fbdb6 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1760833686, - "narHash": "sha256-BXvsNsQLq4e03pAFW3ntdVyN9AisZIdE6FtPpapLyrU=", + "lastModified": 1760920046, + "narHash": "sha256-l0PCGkvAp1Uq9uuo9VReBbfEiGsx2N0k0apud3Wf6PU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "704242928e88aa166a8d1132414d39cfb20a6151", + "rev": "b9aba0fb684dacb6f8a5f398f0a1dd762b2f0419", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1760833676, - "narHash": "sha256-XZ8nzE6/4IfKhApl8l+UTkxpgSkrHbA30aqarRFdUB4=", + "lastModified": 1760920037, + "narHash": "sha256-bCduIi2z+kPVYUJamXCWfq/a/+gJoycwSTN2dyXkHjE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e1fd68ba6809ef2b9db2a0e21ab150608b89aa0d", + "rev": "79ff8bcaa61a46475c3289284e9133c76233f001", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1760832844, - "narHash": "sha256-XXYSPuaWvvrEHLa4qu1z+U8L21WZuuk6OF1COjwbDlI=", + "lastModified": 1760919224, + "narHash": "sha256-TVFH4f5hvJFEtJgRuubQD/o+bHFN7zGXHhpS7MCr3jQ=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "af1f602a75c804c98bea45010487a2532714e26d", + "rev": "34683e647cf5b3f66c0e57f0ac924c4b91b9dff1", "type": "github" }, "original": { From b0424aba990392c48acc54382e2806946cf42b77 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 21 Oct 2025 00:52:13 +0000 Subject: [PATCH 241/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 883a0fbdb6..66ebc1ec04 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1760920046, - "narHash": "sha256-l0PCGkvAp1Uq9uuo9VReBbfEiGsx2N0k0apud3Wf6PU=", + "lastModified": 1761006349, + "narHash": "sha256-tZe/ukMZS0XzovlNfgRRPzcnTfcQ//Auh7BBT6kQgDM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b9aba0fb684dacb6f8a5f398f0a1dd762b2f0419", + "rev": "8d97126ae26e7aad50b157fe2c717d69449bde7d", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1760920037, - "narHash": "sha256-bCduIi2z+kPVYUJamXCWfq/a/+gJoycwSTN2dyXkHjE=", + "lastModified": 1761006338, + "narHash": "sha256-uzUDnNawpgu3tU3SFcSWAmc1/zSnaIn7QlP6vGFkWJg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "79ff8bcaa61a46475c3289284e9133c76233f001", + "rev": "c989306acdb20bb133fda10bc710e541cbc433a1", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1760919224, - "narHash": "sha256-TVFH4f5hvJFEtJgRuubQD/o+bHFN7zGXHhpS7MCr3jQ=", + "lastModified": 1761005559, + "narHash": "sha256-GorgyioPc+38bhj3umFBRurOnX+FcLXAJuoN5pCCoWM=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "34683e647cf5b3f66c0e57f0ac924c4b91b9dff1", + "rev": "c0df68240635ded8f69933794b528c4ad4c262c8", "type": "github" }, "original": { From d3e91db1ce5b41f9c9a012f7304a62a8dc98dce7 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 22 Oct 2025 00:52:20 +0000 Subject: [PATCH 242/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 66ebc1ec04..e02b3b2882 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1761006349, - "narHash": "sha256-tZe/ukMZS0XzovlNfgRRPzcnTfcQ//Auh7BBT6kQgDM=", + "lastModified": 1761092776, + "narHash": "sha256-/FojP2ovsoCttLYacs/F8VaIaHlUNnOzDVgpIB2S/IA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8d97126ae26e7aad50b157fe2c717d69449bde7d", + "rev": "24414f2e4c091a2f29516463df454b20f95b95cc", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1761006338, - "narHash": "sha256-uzUDnNawpgu3tU3SFcSWAmc1/zSnaIn7QlP6vGFkWJg=", + "lastModified": 1761092766, + "narHash": "sha256-ByMfqwg3U+Wrc71jS0fQQ/yvk5fiD3Y0QXdpd03EFmY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c989306acdb20bb133fda10bc710e541cbc433a1", + "rev": "eca88f42fc7681d9774d2a04b59cde817985b443", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1761005559, - "narHash": "sha256-GorgyioPc+38bhj3umFBRurOnX+FcLXAJuoN5pCCoWM=", + "lastModified": 1761091962, + "narHash": "sha256-q/CmJkzaMUgc0ZnYsPne7vcAkRXIGwMXNx9hRiD6Ph8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "c0df68240635ded8f69933794b528c4ad4c262c8", + "rev": "f868e5134d2165fdc28998a14d1959c2de4739b2", "type": "github" }, "original": { From 1969ed2d83fe1fd9927ed8b7fb5916d01bc82697 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 23 Oct 2025 00:52:05 +0000 Subject: [PATCH 243/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index e02b3b2882..665ef51dce 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1761092776, - "narHash": "sha256-/FojP2ovsoCttLYacs/F8VaIaHlUNnOzDVgpIB2S/IA=", + "lastModified": 1761179141, + "narHash": "sha256-2nwS7LnNiJZReuVDqVenRnB3akEvZoYIXOuj5o8pMNU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "24414f2e4c091a2f29516463df454b20f95b95cc", + "rev": "ee35b054b94e945f0528ceb01fedd737b7064e58", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1761092766, - "narHash": "sha256-ByMfqwg3U+Wrc71jS0fQQ/yvk5fiD3Y0QXdpd03EFmY=", + "lastModified": 1761179131, + "narHash": "sha256-uIZ3FJW9DZloHjdaLRe3cEipDSqz9iL4o4N28VMBZzI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "eca88f42fc7681d9774d2a04b59cde817985b443", + "rev": "26b2caaffcf5efdbb71375aa59482dfe8044b57c", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1761091962, - "narHash": "sha256-q/CmJkzaMUgc0ZnYsPne7vcAkRXIGwMXNx9hRiD6Ph8=", + "lastModified": 1761178344, + "narHash": "sha256-c9IoTW8QClg8dbRbnEmjcqwDC4bq9/xsEmiExPcfE54=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "f868e5134d2165fdc28998a14d1959c2de4739b2", + "rev": "e420e84600be92a6ad9906097acccb3804ff3211", "type": "github" }, "original": { From 08e20008f4087663da1ec3d875b715245702164e Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 24 Oct 2025 00:51:36 +0000 Subject: [PATCH 244/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 665ef51dce..d0b2ee89e1 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1761179141, - "narHash": "sha256-2nwS7LnNiJZReuVDqVenRnB3akEvZoYIXOuj5o8pMNU=", + "lastModified": 1761265459, + "narHash": "sha256-7tsC/ZcNBJR1pXWdKsRoh/qlVDhCxb1Ukr7PVd2zieE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ee35b054b94e945f0528ceb01fedd737b7064e58", + "rev": "eb8e4d02528b4973cd09450bb62cf34997777226", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1761179131, - "narHash": "sha256-uIZ3FJW9DZloHjdaLRe3cEipDSqz9iL4o4N28VMBZzI=", + "lastModified": 1761265448, + "narHash": "sha256-GqZZmkV9z58pFTj1DPbFlIG8FW1GLwkLsN1Ray/zd+8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "26b2caaffcf5efdbb71375aa59482dfe8044b57c", + "rev": "0ede94d542238c420c95687ba17054169cfbeff5", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1761178344, - "narHash": "sha256-c9IoTW8QClg8dbRbnEmjcqwDC4bq9/xsEmiExPcfE54=", + "lastModified": 1761264682, + "narHash": "sha256-gM8Sy2lLo+yIMJbHPGb2V2gC7uH4rOzYCuCG/N3SbT4=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "e420e84600be92a6ad9906097acccb3804ff3211", + "rev": "b8d3e162bc3d60b9b7d7b4cdf330f16eb8bd8a1e", "type": "github" }, "original": { From 5d9e7641fec83bf7ace99cd2c3d625f1f9073364 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 25 Oct 2025 00:52:10 +0000 Subject: [PATCH 245/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d0b2ee89e1..3b4c0e4ab9 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1761265459, - "narHash": "sha256-7tsC/ZcNBJR1pXWdKsRoh/qlVDhCxb1Ukr7PVd2zieE=", + "lastModified": 1761351889, + "narHash": "sha256-Z6grXsv7BVzeZQEyfX6vPJLadej4XcWtmy0zVSfhep8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "eb8e4d02528b4973cd09450bb62cf34997777226", + "rev": "8164c1327ec65d57eae36c6fe1a4af09cdb3fc23", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1761265448, - "narHash": "sha256-GqZZmkV9z58pFTj1DPbFlIG8FW1GLwkLsN1Ray/zd+8=", + "lastModified": 1761351881, + "narHash": "sha256-BK3zKqDm4JPXIQjgdbmeqypaDZGzRmVn5J6m7/SURw4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "0ede94d542238c420c95687ba17054169cfbeff5", + "rev": "c2663a8c8cf38ba64000b24081ee5738f23ad230", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1761264682, - "narHash": "sha256-gM8Sy2lLo+yIMJbHPGb2V2gC7uH4rOzYCuCG/N3SbT4=", + "lastModified": 1761351127, + "narHash": "sha256-Oiz6Rut2UiIynzs3EbTKpR6RXSzEpmn5yZcesP/Yn5w=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "b8d3e162bc3d60b9b7d7b4cdf330f16eb8bd8a1e", + "rev": "64df84f0051b9fdeb95fb3b25b42fb723480323d", "type": "github" }, "original": { From 09e21529d430a40463a3e872bcaecae6c2700b40 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 26 Oct 2025 00:52:25 +0000 Subject: [PATCH 246/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 3b4c0e4ab9..c821635d72 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1761351889, - "narHash": "sha256-Z6grXsv7BVzeZQEyfX6vPJLadej4XcWtmy0zVSfhep8=", + "lastModified": 1761438457, + "narHash": "sha256-MzIAqIcSl+8mL7MiAkivOxEbL4Rb3PgOLFwttVy075Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8164c1327ec65d57eae36c6fe1a4af09cdb3fc23", + "rev": "13e10c9b711ad3064b61cea5832ee482d4d980c2", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1761351881, - "narHash": "sha256-BK3zKqDm4JPXIQjgdbmeqypaDZGzRmVn5J6m7/SURw4=", + "lastModified": 1761438447, + "narHash": "sha256-2XUQi8/pPTH7zAtYddqwYFe1ktC9SMBGxZS6s21rOYE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c2663a8c8cf38ba64000b24081ee5738f23ad230", + "rev": "2a5465b65b5cbb24b9db3a442279ae45e7c8ab56", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1761351127, - "narHash": "sha256-Oiz6Rut2UiIynzs3EbTKpR6RXSzEpmn5yZcesP/Yn5w=", + "lastModified": 1761437617, + "narHash": "sha256-bKls4dRS6Kd8HO/3cF5hDLsnnDWx2QIkpZVdKscD72w=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "64df84f0051b9fdeb95fb3b25b42fb723480323d", + "rev": "cf840ddd06942876db9509384de4db61ca307733", "type": "github" }, "original": { From d0b2d451c5a12fb4391634a6fc9609257d526694 Mon Sep 17 00:00:00 2001 From: Moritz Angermann Date: Sun, 26 Oct 2025 12:50:20 +0900 Subject: [PATCH 247/308] Fix building with more recent android sdk/ndks (#2443) * Fix building with more recent android sdk/ndks This requires the atomic type fix (backport), as well as some mucking around with hadrian, which failes to properly account for static libraries. * Fix patch upper bound --------- Co-authored-by: Hamish Mackenzie --- compiler/ghc/default.nix | 20 + overlays/bootstrap.nix | 2 + ...c9927fae3369fc4ecff68f80c4cb32eea757.patch | 832 ++++++++++++++++++ 3 files changed, 854 insertions(+) create mode 100644 overlays/patches/ghc/7db8c9927fae3369fc4ecff68f80c4cb32eea757.patch diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 0f52b69aa2..4eb98d1eed 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -969,6 +969,26 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { ''; buildPhase = '' runHook preBuild + '' + lib.optionalString (!enableShared && targetPlatform.isAndroid && targetPlatform.isAarch64) + # This is rather idiotic, but we need to create the dynamic (.so) files because + # hadrian expects them in the src/Rules/Rts.hs:160 or thereabout. + '' + mkdir -p _build/stage1/lib/aarch64-android-ghc-${ghc-version}/ + touch _build/stage1/lib/aarch64-android-ghc-${ghc-version}/libHSrts-1.0.2_thr_debug-ghc${ghc-version}.so + touch _build/stage1/lib/aarch64-android-ghc-${ghc-version}/libHSrts-1.0.2_thr-ghc${ghc-version}.so + touch _build/stage1/lib/aarch64-android-ghc-${ghc-version}/libHSrts-1.0.2_debug-ghc${ghc-version}.so + touch _build/stage1/lib/aarch64-android-ghc-${ghc-version}/libHSrts-1.0.2-ghc${ghc-version}.so + '' + lib.optionalString (!enableShared && targetPlatform.isAndroid && targetPlatform.isAarch32) + # This is rather idiotic, but we need to create the dynamic (.so) files because + # hadrian expects them in the src/Rules/Rts.hs:160 or thereabout. + '' + mkdir -p _build/stage1/lib/arm-android-ghc-${ghc-version}/ + touch _build/stage1/lib/arm-android-ghc-${ghc-version}/libHSrts-1.0.2_thr_debug-ghc${ghc-version}.so + touch _build/stage1/lib/arm-android-ghc-${ghc-version}/libHSrts-1.0.2_thr-ghc${ghc-version}.so + touch _build/stage1/lib/arm-android-ghc-${ghc-version}/libHSrts-1.0.2_debug-ghc${ghc-version}.so + touch _build/stage1/lib/arm-android-ghc-${ghc-version}/libHSrts-1.0.2-ghc${ghc-version}.so + '' + + '' ${hadrian}/bin/hadrian ${hadrianArgs} '' + lib.optionalString (installStage1 && !stdenv.targetPlatform.isGhcjs && builtins.compareVersions ghc-version "9.8" < 0) '' ${hadrian}/bin/hadrian ${hadrianArgs} stage1:lib:libiserv diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 4acef47147..2da240b20f 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -335,6 +335,8 @@ in { ++ onAndroid (from "9.6" ./patches/ghc/ghc-9.6-COMPAT_R_ARM_PREL31.patch) ++ onAndroid (from "9.10" ./patches/ghc/ghc-9.10-ignore-libc.patch) + # unbreak modern clang with proper _atomic declarations. + ++ onAndroid (fromUntil "9.6" "9.6.5" ./patches/ghc/7db8c9927fae3369fc4ecff68f80c4cb32eea757.patch) ++ onGhcjs (from "9.12" ./patches/ghc/ghc-9.12-ghcjs-rts-mem-heap8.patch) # Fix for `fatal error: 'rts/Types.h' file not found` when building `primitive` diff --git a/overlays/patches/ghc/7db8c9927fae3369fc4ecff68f80c4cb32eea757.patch b/overlays/patches/ghc/7db8c9927fae3369fc4ecff68f80c4cb32eea757.patch new file mode 100644 index 0000000000..742bbba4e7 --- /dev/null +++ b/overlays/patches/ghc/7db8c9927fae3369fc4ecff68f80c4cb32eea757.patch @@ -0,0 +1,832 @@ +From 7db8c9927fae3369fc4ecff68f80c4cb32eea757 Mon Sep 17 00:00:00 2001 +From: Cheng Shao +Date: Tue, 12 Mar 2024 17:31:24 +0000 +Subject: [PATCH] rts: fix clang compilation on aarch64 + +This patch fixes function prototypes in ARMOutlineAtomicsSymbols.h +which causes "error: address argument to atomic operation must be a +pointer to _Atomic type" when compiling with clang on aarch64. +--- + rts/ARMOutlineAtomicsSymbols.h | 464 ++++++++++++++++----------------- + 1 file changed, 232 insertions(+), 232 deletions(-) + +diff --git a/rts/ARMOutlineAtomicsSymbols.h b/rts/ARMOutlineAtomicsSymbols.h +index c8a78b532fa9..5d73b8b246fb 100644 +--- a/rts/ARMOutlineAtomicsSymbols.h ++++ b/rts/ARMOutlineAtomicsSymbols.h +@@ -10,583 +10,583 @@ + #include + #include + +-uint8_t ghc___aarch64_cas1_relax(uint8_t old, uint8_t new, uint8_t* p); +-uint8_t ghc___aarch64_cas1_relax(uint8_t old, uint8_t new, uint8_t* p) { ++uint8_t ghc___aarch64_cas1_relax(uint8_t old, uint8_t new, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_cas1_relax(uint8_t old, uint8_t new, _Atomic uint8_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_relaxed, memory_order_relaxed); return old; + } + +-uint8_t ghc___aarch64_cas1_acq(uint8_t old, uint8_t new, uint8_t* p); +-uint8_t ghc___aarch64_cas1_acq(uint8_t old, uint8_t new, uint8_t* p) { ++uint8_t ghc___aarch64_cas1_acq(uint8_t old, uint8_t new, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_cas1_acq(uint8_t old, uint8_t new, _Atomic uint8_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_acquire, memory_order_acquire); return old; + } + +-uint8_t ghc___aarch64_cas1_acq_rel(uint8_t old, uint8_t new, uint8_t* p); +-uint8_t ghc___aarch64_cas1_acq_rel(uint8_t old, uint8_t new, uint8_t* p) { ++uint8_t ghc___aarch64_cas1_acq_rel(uint8_t old, uint8_t new, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_cas1_acq_rel(uint8_t old, uint8_t new, _Atomic uint8_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_acq_rel, memory_order_acquire); return old; + } + +-uint8_t ghc___aarch64_cas1_sync(uint8_t old, uint8_t new, uint8_t* p); +-uint8_t ghc___aarch64_cas1_sync(uint8_t old, uint8_t new, uint8_t* p) { ++uint8_t ghc___aarch64_cas1_sync(uint8_t old, uint8_t new, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_cas1_sync(uint8_t old, uint8_t new, _Atomic uint8_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_seq_cst, memory_order_seq_cst); return old; + } + +-uint16_t ghc___aarch64_cas2_relax(uint16_t old, uint16_t new, uint16_t* p); +-uint16_t ghc___aarch64_cas2_relax(uint16_t old, uint16_t new, uint16_t* p) { ++uint16_t ghc___aarch64_cas2_relax(uint16_t old, uint16_t new, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_cas2_relax(uint16_t old, uint16_t new, _Atomic uint16_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_relaxed, memory_order_relaxed); return old; + } + +-uint16_t ghc___aarch64_cas2_acq(uint16_t old, uint16_t new, uint16_t* p); +-uint16_t ghc___aarch64_cas2_acq(uint16_t old, uint16_t new, uint16_t* p) { ++uint16_t ghc___aarch64_cas2_acq(uint16_t old, uint16_t new, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_cas2_acq(uint16_t old, uint16_t new, _Atomic uint16_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_acquire, memory_order_acquire); return old; + } + +-uint16_t ghc___aarch64_cas2_acq_rel(uint16_t old, uint16_t new, uint16_t* p); +-uint16_t ghc___aarch64_cas2_acq_rel(uint16_t old, uint16_t new, uint16_t* p) { ++uint16_t ghc___aarch64_cas2_acq_rel(uint16_t old, uint16_t new, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_cas2_acq_rel(uint16_t old, uint16_t new, _Atomic uint16_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_acq_rel, memory_order_acquire); return old; + } + +-uint16_t ghc___aarch64_cas2_sync(uint16_t old, uint16_t new, uint16_t* p); +-uint16_t ghc___aarch64_cas2_sync(uint16_t old, uint16_t new, uint16_t* p) { ++uint16_t ghc___aarch64_cas2_sync(uint16_t old, uint16_t new, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_cas2_sync(uint16_t old, uint16_t new, _Atomic uint16_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_seq_cst, memory_order_seq_cst); return old; + } + +-uint32_t ghc___aarch64_cas4_relax(uint32_t old, uint32_t new, uint32_t* p); +-uint32_t ghc___aarch64_cas4_relax(uint32_t old, uint32_t new, uint32_t* p) { ++uint32_t ghc___aarch64_cas4_relax(uint32_t old, uint32_t new, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_cas4_relax(uint32_t old, uint32_t new, _Atomic uint32_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_relaxed, memory_order_relaxed); return old; + } + +-uint32_t ghc___aarch64_cas4_acq(uint32_t old, uint32_t new, uint32_t* p); +-uint32_t ghc___aarch64_cas4_acq(uint32_t old, uint32_t new, uint32_t* p) { ++uint32_t ghc___aarch64_cas4_acq(uint32_t old, uint32_t new, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_cas4_acq(uint32_t old, uint32_t new, _Atomic uint32_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_acquire, memory_order_acquire); return old; + } + +-uint32_t ghc___aarch64_cas4_acq_rel(uint32_t old, uint32_t new, uint32_t* p); +-uint32_t ghc___aarch64_cas4_acq_rel(uint32_t old, uint32_t new, uint32_t* p) { ++uint32_t ghc___aarch64_cas4_acq_rel(uint32_t old, uint32_t new, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_cas4_acq_rel(uint32_t old, uint32_t new, _Atomic uint32_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_acq_rel, memory_order_acquire); return old; + } + +-uint32_t ghc___aarch64_cas4_sync(uint32_t old, uint32_t new, uint32_t* p); +-uint32_t ghc___aarch64_cas4_sync(uint32_t old, uint32_t new, uint32_t* p) { ++uint32_t ghc___aarch64_cas4_sync(uint32_t old, uint32_t new, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_cas4_sync(uint32_t old, uint32_t new, _Atomic uint32_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_seq_cst, memory_order_seq_cst); return old; + } + +-uint64_t ghc___aarch64_cas8_relax(uint64_t old, uint64_t new, uint64_t* p); +-uint64_t ghc___aarch64_cas8_relax(uint64_t old, uint64_t new, uint64_t* p) { ++uint64_t ghc___aarch64_cas8_relax(uint64_t old, uint64_t new, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_cas8_relax(uint64_t old, uint64_t new, _Atomic uint64_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_relaxed, memory_order_relaxed); return old; + } + +-uint64_t ghc___aarch64_cas8_acq(uint64_t old, uint64_t new, uint64_t* p); +-uint64_t ghc___aarch64_cas8_acq(uint64_t old, uint64_t new, uint64_t* p) { ++uint64_t ghc___aarch64_cas8_acq(uint64_t old, uint64_t new, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_cas8_acq(uint64_t old, uint64_t new, _Atomic uint64_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_acquire, memory_order_acquire); return old; + } + +-uint64_t ghc___aarch64_cas8_acq_rel(uint64_t old, uint64_t new, uint64_t* p); +-uint64_t ghc___aarch64_cas8_acq_rel(uint64_t old, uint64_t new, uint64_t* p) { ++uint64_t ghc___aarch64_cas8_acq_rel(uint64_t old, uint64_t new, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_cas8_acq_rel(uint64_t old, uint64_t new, _Atomic uint64_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_acq_rel, memory_order_acquire); return old; + } + +-uint64_t ghc___aarch64_cas8_sync(uint64_t old, uint64_t new, uint64_t* p); +-uint64_t ghc___aarch64_cas8_sync(uint64_t old, uint64_t new, uint64_t* p) { ++uint64_t ghc___aarch64_cas8_sync(uint64_t old, uint64_t new, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_cas8_sync(uint64_t old, uint64_t new, _Atomic uint64_t* p) { + atomic_compare_exchange_strong_explicit(p, &old, new, memory_order_seq_cst, memory_order_seq_cst); return old; + } + +-uint8_t ghc___aarch64_swp1_relax(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_swp1_relax(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_swp1_relax(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_swp1_relax(uint8_t v, _Atomic uint8_t* p) { + return atomic_exchange_explicit(p, v, memory_order_relaxed); + } + +-uint8_t ghc___aarch64_swp1_acq(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_swp1_acq(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_swp1_acq(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_swp1_acq(uint8_t v, _Atomic uint8_t* p) { + return atomic_exchange_explicit(p, v, memory_order_acquire); + } + +-uint8_t ghc___aarch64_swp1_rel(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_swp1_rel(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_swp1_rel(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_swp1_rel(uint8_t v, _Atomic uint8_t* p) { + return atomic_exchange_explicit(p, v, memory_order_release); + } + +-uint8_t ghc___aarch64_swp1_acq_rel(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_swp1_acq_rel(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_swp1_acq_rel(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_swp1_acq_rel(uint8_t v, _Atomic uint8_t* p) { + return atomic_exchange_explicit(p, v, memory_order_acq_rel); + } + +-uint8_t ghc___aarch64_swp1_sync(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_swp1_sync(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_swp1_sync(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_swp1_sync(uint8_t v, _Atomic uint8_t* p) { + return atomic_exchange_explicit(p, v, memory_order_seq_cst); + } + +-uint16_t ghc___aarch64_swp2_relax(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_swp2_relax(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_swp2_relax(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_swp2_relax(uint16_t v, _Atomic uint16_t* p) { + return atomic_exchange_explicit(p, v, memory_order_relaxed); + } + +-uint16_t ghc___aarch64_swp2_acq(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_swp2_acq(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_swp2_acq(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_swp2_acq(uint16_t v, _Atomic uint16_t* p) { + return atomic_exchange_explicit(p, v, memory_order_acquire); + } + +-uint16_t ghc___aarch64_swp2_rel(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_swp2_rel(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_swp2_rel(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_swp2_rel(uint16_t v, _Atomic uint16_t* p) { + return atomic_exchange_explicit(p, v, memory_order_release); + } + +-uint16_t ghc___aarch64_swp2_acq_rel(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_swp2_acq_rel(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_swp2_acq_rel(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_swp2_acq_rel(uint16_t v, _Atomic uint16_t* p) { + return atomic_exchange_explicit(p, v, memory_order_acq_rel); + } + +-uint16_t ghc___aarch64_swp2_sync(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_swp2_sync(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_swp2_sync(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_swp2_sync(uint16_t v, _Atomic uint16_t* p) { + return atomic_exchange_explicit(p, v, memory_order_seq_cst); + } + +-uint32_t ghc___aarch64_swp4_relax(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_swp4_relax(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_swp4_relax(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_swp4_relax(uint32_t v, _Atomic uint32_t* p) { + return atomic_exchange_explicit(p, v, memory_order_relaxed); + } + +-uint32_t ghc___aarch64_swp4_acq(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_swp4_acq(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_swp4_acq(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_swp4_acq(uint32_t v, _Atomic uint32_t* p) { + return atomic_exchange_explicit(p, v, memory_order_acquire); + } + +-uint32_t ghc___aarch64_swp4_rel(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_swp4_rel(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_swp4_rel(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_swp4_rel(uint32_t v, _Atomic uint32_t* p) { + return atomic_exchange_explicit(p, v, memory_order_release); + } + +-uint32_t ghc___aarch64_swp4_acq_rel(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_swp4_acq_rel(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_swp4_acq_rel(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_swp4_acq_rel(uint32_t v, _Atomic uint32_t* p) { + return atomic_exchange_explicit(p, v, memory_order_acq_rel); + } + +-uint32_t ghc___aarch64_swp4_sync(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_swp4_sync(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_swp4_sync(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_swp4_sync(uint32_t v, _Atomic uint32_t* p) { + return atomic_exchange_explicit(p, v, memory_order_seq_cst); + } + +-uint64_t ghc___aarch64_swp8_relax(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_swp8_relax(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_swp8_relax(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_swp8_relax(uint64_t v, _Atomic uint64_t* p) { + return atomic_exchange_explicit(p, v, memory_order_relaxed); + } + +-uint64_t ghc___aarch64_swp8_acq(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_swp8_acq(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_swp8_acq(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_swp8_acq(uint64_t v, _Atomic uint64_t* p) { + return atomic_exchange_explicit(p, v, memory_order_acquire); + } + +-uint64_t ghc___aarch64_swp8_rel(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_swp8_rel(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_swp8_rel(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_swp8_rel(uint64_t v, _Atomic uint64_t* p) { + return atomic_exchange_explicit(p, v, memory_order_release); + } + +-uint64_t ghc___aarch64_swp8_acq_rel(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_swp8_acq_rel(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_swp8_acq_rel(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_swp8_acq_rel(uint64_t v, _Atomic uint64_t* p) { + return atomic_exchange_explicit(p, v, memory_order_acq_rel); + } + +-uint64_t ghc___aarch64_swp8_sync(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_swp8_sync(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_swp8_sync(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_swp8_sync(uint64_t v, _Atomic uint64_t* p) { + return atomic_exchange_explicit(p, v, memory_order_seq_cst); + } + +-uint8_t ghc___aarch64_ldadd1_relax(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldadd1_relax(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldadd1_relax(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldadd1_relax(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_relaxed); + } + +-uint8_t ghc___aarch64_ldadd1_acq(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldadd1_acq(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldadd1_acq(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldadd1_acq(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_acquire); + } + +-uint8_t ghc___aarch64_ldadd1_rel(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldadd1_rel(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldadd1_rel(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldadd1_rel(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_release); + } + +-uint8_t ghc___aarch64_ldadd1_acq_rel(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldadd1_acq_rel(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldadd1_acq_rel(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldadd1_acq_rel(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_acq_rel); + } + +-uint8_t ghc___aarch64_ldadd1_sync(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldadd1_sync(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldadd1_sync(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldadd1_sync(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_seq_cst); + } + +-uint16_t ghc___aarch64_ldadd2_relax(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldadd2_relax(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldadd2_relax(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldadd2_relax(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_relaxed); + } + +-uint16_t ghc___aarch64_ldadd2_acq(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldadd2_acq(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldadd2_acq(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldadd2_acq(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_acquire); + } + +-uint16_t ghc___aarch64_ldadd2_rel(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldadd2_rel(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldadd2_rel(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldadd2_rel(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_release); + } + +-uint16_t ghc___aarch64_ldadd2_acq_rel(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldadd2_acq_rel(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldadd2_acq_rel(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldadd2_acq_rel(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_acq_rel); + } + +-uint16_t ghc___aarch64_ldadd2_sync(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldadd2_sync(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldadd2_sync(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldadd2_sync(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_seq_cst); + } + +-uint32_t ghc___aarch64_ldadd4_relax(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldadd4_relax(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldadd4_relax(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldadd4_relax(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_relaxed); + } + +-uint32_t ghc___aarch64_ldadd4_acq(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldadd4_acq(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldadd4_acq(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldadd4_acq(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_acquire); + } + +-uint32_t ghc___aarch64_ldadd4_rel(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldadd4_rel(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldadd4_rel(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldadd4_rel(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_release); + } + +-uint32_t ghc___aarch64_ldadd4_acq_rel(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldadd4_acq_rel(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldadd4_acq_rel(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldadd4_acq_rel(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_acq_rel); + } + +-uint32_t ghc___aarch64_ldadd4_sync(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldadd4_sync(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldadd4_sync(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldadd4_sync(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_seq_cst); + } + +-uint64_t ghc___aarch64_ldadd8_relax(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldadd8_relax(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldadd8_relax(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldadd8_relax(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_relaxed); + } + +-uint64_t ghc___aarch64_ldadd8_acq(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldadd8_acq(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldadd8_acq(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldadd8_acq(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_acquire); + } + +-uint64_t ghc___aarch64_ldadd8_rel(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldadd8_rel(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldadd8_rel(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldadd8_rel(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_release); + } + +-uint64_t ghc___aarch64_ldadd8_acq_rel(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldadd8_acq_rel(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldadd8_acq_rel(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldadd8_acq_rel(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_acq_rel); + } + +-uint64_t ghc___aarch64_ldadd8_sync(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldadd8_sync(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldadd8_sync(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldadd8_sync(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_add_explicit(p, v, memory_order_seq_cst); + } + +-uint8_t ghc___aarch64_ldclr1_relax(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldclr1_relax(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldclr1_relax(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldclr1_relax(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_relaxed); + } + +-uint8_t ghc___aarch64_ldclr1_acq(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldclr1_acq(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldclr1_acq(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldclr1_acq(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_acquire); + } + +-uint8_t ghc___aarch64_ldclr1_rel(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldclr1_rel(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldclr1_rel(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldclr1_rel(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_release); + } + +-uint8_t ghc___aarch64_ldclr1_acq_rel(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldclr1_acq_rel(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldclr1_acq_rel(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldclr1_acq_rel(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_acq_rel); + } + +-uint8_t ghc___aarch64_ldclr1_sync(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldclr1_sync(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldclr1_sync(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldclr1_sync(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_seq_cst); + } + +-uint16_t ghc___aarch64_ldclr2_relax(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldclr2_relax(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldclr2_relax(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldclr2_relax(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_relaxed); + } + +-uint16_t ghc___aarch64_ldclr2_acq(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldclr2_acq(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldclr2_acq(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldclr2_acq(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_acquire); + } + +-uint16_t ghc___aarch64_ldclr2_rel(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldclr2_rel(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldclr2_rel(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldclr2_rel(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_release); + } + +-uint16_t ghc___aarch64_ldclr2_acq_rel(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldclr2_acq_rel(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldclr2_acq_rel(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldclr2_acq_rel(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_acq_rel); + } + +-uint16_t ghc___aarch64_ldclr2_sync(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldclr2_sync(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldclr2_sync(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldclr2_sync(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_seq_cst); + } + +-uint32_t ghc___aarch64_ldclr4_relax(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldclr4_relax(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldclr4_relax(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldclr4_relax(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_relaxed); + } + +-uint32_t ghc___aarch64_ldclr4_acq(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldclr4_acq(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldclr4_acq(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldclr4_acq(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_acquire); + } + +-uint32_t ghc___aarch64_ldclr4_rel(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldclr4_rel(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldclr4_rel(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldclr4_rel(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_release); + } + +-uint32_t ghc___aarch64_ldclr4_acq_rel(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldclr4_acq_rel(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldclr4_acq_rel(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldclr4_acq_rel(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_acq_rel); + } + +-uint32_t ghc___aarch64_ldclr4_sync(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldclr4_sync(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldclr4_sync(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldclr4_sync(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_seq_cst); + } + +-uint64_t ghc___aarch64_ldclr8_relax(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldclr8_relax(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldclr8_relax(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldclr8_relax(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_relaxed); + } + +-uint64_t ghc___aarch64_ldclr8_acq(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldclr8_acq(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldclr8_acq(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldclr8_acq(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_acquire); + } + +-uint64_t ghc___aarch64_ldclr8_rel(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldclr8_rel(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldclr8_rel(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldclr8_rel(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_release); + } + +-uint64_t ghc___aarch64_ldclr8_acq_rel(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldclr8_acq_rel(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldclr8_acq_rel(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldclr8_acq_rel(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_acq_rel); + } + +-uint64_t ghc___aarch64_ldclr8_sync(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldclr8_sync(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldclr8_sync(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldclr8_sync(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_and_explicit(p, v, memory_order_seq_cst); + } + +-uint8_t ghc___aarch64_ldeor1_relax(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldeor1_relax(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldeor1_relax(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldeor1_relax(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_relaxed); + } + +-uint8_t ghc___aarch64_ldeor1_acq(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldeor1_acq(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldeor1_acq(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldeor1_acq(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_acquire); + } + +-uint8_t ghc___aarch64_ldeor1_rel(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldeor1_rel(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldeor1_rel(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldeor1_rel(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_release); + } + +-uint8_t ghc___aarch64_ldeor1_acq_rel(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldeor1_acq_rel(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldeor1_acq_rel(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldeor1_acq_rel(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_acq_rel); + } + +-uint8_t ghc___aarch64_ldeor1_sync(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldeor1_sync(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldeor1_sync(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldeor1_sync(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_seq_cst); + } + +-uint16_t ghc___aarch64_ldeor2_relax(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldeor2_relax(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldeor2_relax(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldeor2_relax(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_relaxed); + } + +-uint16_t ghc___aarch64_ldeor2_acq(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldeor2_acq(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldeor2_acq(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldeor2_acq(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_acquire); + } + +-uint16_t ghc___aarch64_ldeor2_rel(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldeor2_rel(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldeor2_rel(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldeor2_rel(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_release); + } + +-uint16_t ghc___aarch64_ldeor2_acq_rel(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldeor2_acq_rel(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldeor2_acq_rel(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldeor2_acq_rel(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_acq_rel); + } + +-uint16_t ghc___aarch64_ldeor2_sync(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldeor2_sync(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldeor2_sync(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldeor2_sync(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_seq_cst); + } + +-uint32_t ghc___aarch64_ldeor4_relax(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldeor4_relax(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldeor4_relax(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldeor4_relax(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_relaxed); + } + +-uint32_t ghc___aarch64_ldeor4_acq(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldeor4_acq(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldeor4_acq(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldeor4_acq(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_acquire); + } + +-uint32_t ghc___aarch64_ldeor4_rel(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldeor4_rel(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldeor4_rel(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldeor4_rel(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_release); + } + +-uint32_t ghc___aarch64_ldeor4_acq_rel(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldeor4_acq_rel(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldeor4_acq_rel(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldeor4_acq_rel(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_acq_rel); + } + +-uint32_t ghc___aarch64_ldeor4_sync(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldeor4_sync(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldeor4_sync(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldeor4_sync(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_seq_cst); + } + +-uint64_t ghc___aarch64_ldeor8_relax(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldeor8_relax(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldeor8_relax(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldeor8_relax(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_relaxed); + } + +-uint64_t ghc___aarch64_ldeor8_acq(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldeor8_acq(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldeor8_acq(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldeor8_acq(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_acquire); + } + +-uint64_t ghc___aarch64_ldeor8_rel(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldeor8_rel(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldeor8_rel(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldeor8_rel(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_release); + } + +-uint64_t ghc___aarch64_ldeor8_acq_rel(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldeor8_acq_rel(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldeor8_acq_rel(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldeor8_acq_rel(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_acq_rel); + } + +-uint64_t ghc___aarch64_ldeor8_sync(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldeor8_sync(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldeor8_sync(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldeor8_sync(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_xor_explicit(p, v, memory_order_seq_cst); + } + +-uint8_t ghc___aarch64_ldset1_relax(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldset1_relax(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldset1_relax(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldset1_relax(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_relaxed); + } + +-uint8_t ghc___aarch64_ldset1_acq(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldset1_acq(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldset1_acq(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldset1_acq(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_acquire); + } + +-uint8_t ghc___aarch64_ldset1_rel(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldset1_rel(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldset1_rel(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldset1_rel(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_release); + } + +-uint8_t ghc___aarch64_ldset1_acq_rel(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldset1_acq_rel(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldset1_acq_rel(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldset1_acq_rel(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_acq_rel); + } + +-uint8_t ghc___aarch64_ldset1_sync(uint8_t v, uint8_t* p); +-uint8_t ghc___aarch64_ldset1_sync(uint8_t v, uint8_t* p) { ++uint8_t ghc___aarch64_ldset1_sync(uint8_t v, _Atomic uint8_t* p); ++uint8_t ghc___aarch64_ldset1_sync(uint8_t v, _Atomic uint8_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_seq_cst); + } + +-uint16_t ghc___aarch64_ldset2_relax(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldset2_relax(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldset2_relax(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldset2_relax(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_relaxed); + } + +-uint16_t ghc___aarch64_ldset2_acq(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldset2_acq(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldset2_acq(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldset2_acq(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_acquire); + } + +-uint16_t ghc___aarch64_ldset2_rel(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldset2_rel(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldset2_rel(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldset2_rel(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_release); + } + +-uint16_t ghc___aarch64_ldset2_acq_rel(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldset2_acq_rel(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldset2_acq_rel(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldset2_acq_rel(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_acq_rel); + } + +-uint16_t ghc___aarch64_ldset2_sync(uint16_t v, uint16_t* p); +-uint16_t ghc___aarch64_ldset2_sync(uint16_t v, uint16_t* p) { ++uint16_t ghc___aarch64_ldset2_sync(uint16_t v, _Atomic uint16_t* p); ++uint16_t ghc___aarch64_ldset2_sync(uint16_t v, _Atomic uint16_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_seq_cst); + } + +-uint32_t ghc___aarch64_ldset4_relax(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldset4_relax(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldset4_relax(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldset4_relax(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_relaxed); + } + +-uint32_t ghc___aarch64_ldset4_acq(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldset4_acq(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldset4_acq(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldset4_acq(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_acquire); + } + +-uint32_t ghc___aarch64_ldset4_rel(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldset4_rel(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldset4_rel(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldset4_rel(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_release); + } + +-uint32_t ghc___aarch64_ldset4_acq_rel(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldset4_acq_rel(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldset4_acq_rel(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldset4_acq_rel(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_acq_rel); + } + +-uint32_t ghc___aarch64_ldset4_sync(uint32_t v, uint32_t* p); +-uint32_t ghc___aarch64_ldset4_sync(uint32_t v, uint32_t* p) { ++uint32_t ghc___aarch64_ldset4_sync(uint32_t v, _Atomic uint32_t* p); ++uint32_t ghc___aarch64_ldset4_sync(uint32_t v, _Atomic uint32_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_seq_cst); + } + +-uint64_t ghc___aarch64_ldset8_relax(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldset8_relax(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldset8_relax(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldset8_relax(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_relaxed); + } + +-uint64_t ghc___aarch64_ldset8_acq(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldset8_acq(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldset8_acq(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldset8_acq(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_acquire); + } + +-uint64_t ghc___aarch64_ldset8_rel(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldset8_rel(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldset8_rel(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldset8_rel(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_release); + } + +-uint64_t ghc___aarch64_ldset8_acq_rel(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldset8_acq_rel(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldset8_acq_rel(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldset8_acq_rel(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_acq_rel); + } + +-uint64_t ghc___aarch64_ldset8_sync(uint64_t v, uint64_t* p); +-uint64_t ghc___aarch64_ldset8_sync(uint64_t v, uint64_t* p) { ++uint64_t ghc___aarch64_ldset8_sync(uint64_t v, _Atomic uint64_t* p); ++uint64_t ghc___aarch64_ldset8_sync(uint64_t v, _Atomic uint64_t* p) { + return atomic_fetch_or_explicit(p, v, memory_order_seq_cst); + } + From e4526cc411dd5804d947e032c5f4b067da70c769 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 27 Oct 2025 00:52:32 +0000 Subject: [PATCH 248/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index c821635d72..016866accb 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1761438457, - "narHash": "sha256-MzIAqIcSl+8mL7MiAkivOxEbL4Rb3PgOLFwttVy075Y=", + "lastModified": 1761524878, + "narHash": "sha256-HEVp/73caHZtrVYssx/2QO+K12rw82ryqse/1hflHJw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "13e10c9b711ad3064b61cea5832ee482d4d980c2", + "rev": "d75ab8d1aa8eb626801fe200a827be8d18eba866", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1761438447, - "narHash": "sha256-2XUQi8/pPTH7zAtYddqwYFe1ktC9SMBGxZS6s21rOYE=", + "lastModified": 1761524867, + "narHash": "sha256-3ig52M96Luo/pi0XRpodN+eXMbqvIkxZYfNtHHyr548=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "2a5465b65b5cbb24b9db3a442279ae45e7c8ab56", + "rev": "f5f1bd91aaabb89559cfb527a3c2467aad488d7b", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1761437617, - "narHash": "sha256-bKls4dRS6Kd8HO/3cF5hDLsnnDWx2QIkpZVdKscD72w=", + "lastModified": 1761524038, + "narHash": "sha256-PwifvS6/YEy+qaUREV4qiQ4z9uc4NfP6l2A5aDACSP8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "cf840ddd06942876db9509384de4db61ca307733", + "rev": "208460e397faae10a79daed93cdf929617fe27ee", "type": "github" }, "original": { From e34dc3262c41fee2eb1e076475705e3e5e4b1450 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 28 Oct 2025 00:52:05 +0000 Subject: [PATCH 249/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 016866accb..1e6020bde7 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1761524878, - "narHash": "sha256-HEVp/73caHZtrVYssx/2QO+K12rw82ryqse/1hflHJw=", + "lastModified": 1761611150, + "narHash": "sha256-iVVeNsDIwgqACLFmy5aXPMXMqDOitjBd5wXhgX0LGq4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d75ab8d1aa8eb626801fe200a827be8d18eba866", + "rev": "1d087e5a8ff6e90e604a9053f34f982e931b3b98", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1761524867, - "narHash": "sha256-3ig52M96Luo/pi0XRpodN+eXMbqvIkxZYfNtHHyr548=", + "lastModified": 1761611140, + "narHash": "sha256-rD0v7H3nVv8PAa7vCV3IYlq+wlQbSmXl6YFzlKgZF0U=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f5f1bd91aaabb89559cfb527a3c2467aad488d7b", + "rev": "a50edd042dea3da1999d224997c3794ae4886e3b", "type": "github" }, "original": { From 0a0a39ad992e5abd4543c196d808d77f9d1c1dd5 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 29 Oct 2025 00:51:46 +0000 Subject: [PATCH 250/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 1e6020bde7..b72dde2de8 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1761611150, - "narHash": "sha256-iVVeNsDIwgqACLFmy5aXPMXMqDOitjBd5wXhgX0LGq4=", + "lastModified": 1761697608, + "narHash": "sha256-bKv3i46Dp2D6KD3R1o1SCi87YHXLNRrKSIqE/VegJt0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1d087e5a8ff6e90e604a9053f34f982e931b3b98", + "rev": "77b19f194b0dd5102c6e76fd627f4b8e0c88082c", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1761611140, - "narHash": "sha256-rD0v7H3nVv8PAa7vCV3IYlq+wlQbSmXl6YFzlKgZF0U=", + "lastModified": 1761697598, + "narHash": "sha256-GFx1dT6peBL6flnOL6+ww/qZAYmU/wyNXSWgmZF1Guk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a50edd042dea3da1999d224997c3794ae4886e3b", + "rev": "82813227d67bfaaffc62ab1d4b41b8451e77f44c", "type": "github" }, "original": { From 76ec59309b2d6b0dd0dbdd1e1595ba7a69d405fb Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 30 Oct 2025 00:51:45 +0000 Subject: [PATCH 251/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b72dde2de8..9e8c8a06f8 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1761697608, - "narHash": "sha256-bKv3i46Dp2D6KD3R1o1SCi87YHXLNRrKSIqE/VegJt0=", + "lastModified": 1761784615, + "narHash": "sha256-rSTVhFjuqy0drkGdjkUltsuTQaVTDUdbHlLdr0xArCU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "77b19f194b0dd5102c6e76fd627f4b8e0c88082c", + "rev": "b463e57f606895cb156fb0948589fbf4da03b78a", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1761697598, - "narHash": "sha256-GFx1dT6peBL6flnOL6+ww/qZAYmU/wyNXSWgmZF1Guk=", + "lastModified": 1761783996, + "narHash": "sha256-9RVYuo4SggW5RfpztepxBeW57C+/pbi5U12dnAmPvus=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "82813227d67bfaaffc62ab1d4b41b8451e77f44c", + "rev": "019e61b9550184ee5aee5dbde51f4b31371578a8", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1761524038, - "narHash": "sha256-PwifvS6/YEy+qaUREV4qiQ4z9uc4NfP6l2A5aDACSP8=", + "lastModified": 1761783180, + "narHash": "sha256-6S3N1vcubpOlDxUBy7dv1CF7BaiA14ZrSBLadFSolUM=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "208460e397faae10a79daed93cdf929617fe27ee", + "rev": "fb17b2fcbf69afb7558def40a0376be41f4e4c08", "type": "github" }, "original": { From d7e420f9450ffd26b381e2b01a674c45e42420c3 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 31 Oct 2025 00:52:16 +0000 Subject: [PATCH 252/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 9e8c8a06f8..f2cec6ef93 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1761784615, - "narHash": "sha256-rSTVhFjuqy0drkGdjkUltsuTQaVTDUdbHlLdr0xArCU=", + "lastModified": 1761870359, + "narHash": "sha256-O4NtoKVr3syPBEg5l+mN+ikeUAEQMzK1JJerfsbEV+s=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b463e57f606895cb156fb0948589fbf4da03b78a", + "rev": "6628238498c563b52150998747a11ffba9b1d7fe", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1761783996, - "narHash": "sha256-9RVYuo4SggW5RfpztepxBeW57C+/pbi5U12dnAmPvus=", + "lastModified": 1761870349, + "narHash": "sha256-C0wwnoSF+45i63lQl+pPqPCbPYzqf7IMZ0w/RuWvaks=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "019e61b9550184ee5aee5dbde51f4b31371578a8", + "rev": "9703734379a26f0761b3aac44b09297a659b1d9d", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1761783180, - "narHash": "sha256-6S3N1vcubpOlDxUBy7dv1CF7BaiA14ZrSBLadFSolUM=", + "lastModified": 1761869560, + "narHash": "sha256-6FQFQ9J/0FmH5xJb6j/cH/utRhF5SspBljmMjyUAZ60=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "fb17b2fcbf69afb7558def40a0376be41f4e4c08", + "rev": "e197da61d1533983da62d833c981df3052b30707", "type": "github" }, "original": { From 1b34bc00bb66d07f8893e22e2ca6cbbcbf73e81b Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 1 Nov 2025 00:51:56 +0000 Subject: [PATCH 253/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f2cec6ef93..57021eb2b9 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1761870359, - "narHash": "sha256-O4NtoKVr3syPBEg5l+mN+ikeUAEQMzK1JJerfsbEV+s=", + "lastModified": 1761956897, + "narHash": "sha256-Qk3GZBi9U+822eqkySAd6n7mRMTGn/JBRDG6vLN/VXQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6628238498c563b52150998747a11ffba9b1d7fe", + "rev": "2be46ec40f63a18211fb637c6e0d3adcb7ed950e", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1761870349, - "narHash": "sha256-C0wwnoSF+45i63lQl+pPqPCbPYzqf7IMZ0w/RuWvaks=", + "lastModified": 1761956887, + "narHash": "sha256-GSw7uj08iqzV3JeTULJMQNmpmVck7FDrksIWMiHMng0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9703734379a26f0761b3aac44b09297a659b1d9d", + "rev": "f61fd67e40ff66aecb028e2848831d23085e6110", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1761869560, - "narHash": "sha256-6FQFQ9J/0FmH5xJb6j/cH/utRhF5SspBljmMjyUAZ60=", + "lastModified": 1761956058, + "narHash": "sha256-/4ShFIZxik4vA1A0VSSl+i+7ZDqIhU0qmcTJ2pUMKhY=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "e197da61d1533983da62d833c981df3052b30707", + "rev": "54c964f31adfc6d58e4416db89162dff3878a5c8", "type": "github" }, "original": { From bcbeaf6b5da80db278bc64f8dac9afc09def5b6b Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 2 Nov 2025 00:51:51 +0000 Subject: [PATCH 254/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 57021eb2b9..a8a37e5a89 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1761956897, - "narHash": "sha256-Qk3GZBi9U+822eqkySAd6n7mRMTGn/JBRDG6vLN/VXQ=", + "lastModified": 1762044085, + "narHash": "sha256-TCOwsKFtiunFMkeJToCg9p4qIRJOfkJUPdGKHLg0ung=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "2be46ec40f63a18211fb637c6e0d3adcb7ed950e", + "rev": "4d8ccd84af856145b11392eb6f6212818bb76811", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1761956887, - "narHash": "sha256-GSw7uj08iqzV3JeTULJMQNmpmVck7FDrksIWMiHMng0=", + "lastModified": 1762043262, + "narHash": "sha256-Ud9b6SG937bNR7aWkpDk71rHIkxxz1lxufVHDQp658Y=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f61fd67e40ff66aecb028e2848831d23085e6110", + "rev": "aee1ef81928b91a21ac00b7244479d019bba4d1c", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1761956058, - "narHash": "sha256-/4ShFIZxik4vA1A0VSSl+i+7ZDqIhU0qmcTJ2pUMKhY=", + "lastModified": 1762042425, + "narHash": "sha256-ZkdkjiZhxge7AWVmL5+eYOqkd2mgQG/ZI87sb1PsLKE=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "54c964f31adfc6d58e4416db89162dff3878a5c8", + "rev": "cf2378f7063b0c393d2b5c8b9606aac6d6e38995", "type": "github" }, "original": { From db10732bf03eceda01878328d811959c3cca93f8 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 3 Nov 2025 00:52:22 +0000 Subject: [PATCH 255/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index a8a37e5a89..6980ebe3fe 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1762044085, - "narHash": "sha256-TCOwsKFtiunFMkeJToCg9p4qIRJOfkJUPdGKHLg0ung=", + "lastModified": 1762129656, + "narHash": "sha256-ft0IjsbFrmkPc5HAacydBWMUGdoKgTVbULIJXJTdMFI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4d8ccd84af856145b11392eb6f6212818bb76811", + "rev": "11f67dfb8a14043cd90e43fcdecdf55f84818a1b", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1762043262, - "narHash": "sha256-Ud9b6SG937bNR7aWkpDk71rHIkxxz1lxufVHDQp658Y=", + "lastModified": 1762129646, + "narHash": "sha256-+43C03oX20pQG3E+KlrOh3c0Y/8FlhCLnjeU2JY6+c0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "aee1ef81928b91a21ac00b7244479d019bba4d1c", + "rev": "e2231e41ba321c5ff6d4eb775b525646e66b7feb", "type": "github" }, "original": { From 68950550adabfd23513956a89801b339d4211ad0 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 4 Nov 2025 00:52:14 +0000 Subject: [PATCH 256/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 6980ebe3fe..bd19ffe168 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1762129656, - "narHash": "sha256-ft0IjsbFrmkPc5HAacydBWMUGdoKgTVbULIJXJTdMFI=", + "lastModified": 1762215975, + "narHash": "sha256-i860oOMVd0vXtTU2Nh4cXfOq8QGCDEiZv89AeFci8Ls=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "11f67dfb8a14043cd90e43fcdecdf55f84818a1b", + "rev": "3c6bd03eccfb7863a5420fc2c1279e17a7395ccd", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1762129646, - "narHash": "sha256-+43C03oX20pQG3E+KlrOh3c0Y/8FlhCLnjeU2JY6+c0=", + "lastModified": 1762215965, + "narHash": "sha256-UsU1a/zZJpFgM2KL0PovWgLnVVMXEWVqsdKOQoZXC5o=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e2231e41ba321c5ff6d4eb775b525646e66b7feb", + "rev": "1910880da8955be69f2a614e396f12359109c329", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1762042425, - "narHash": "sha256-ZkdkjiZhxge7AWVmL5+eYOqkd2mgQG/ZI87sb1PsLKE=", + "lastModified": 1762215172, + "narHash": "sha256-VEiXZee5ccqjaLlXhOHalhcrqt2EDuBA6oqA8CwzE7Q=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "cf2378f7063b0c393d2b5c8b9606aac6d6e38995", + "rev": "731d6673946cce96706bce97adaf08d0b5883af3", "type": "github" }, "original": { From e84057c0a1caa0f0d446ea8c4631a19f13fb6fbf Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 5 Nov 2025 00:51:48 +0000 Subject: [PATCH 257/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index bd19ffe168..618ed1d5d4 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1762215975, - "narHash": "sha256-i860oOMVd0vXtTU2Nh4cXfOq8QGCDEiZv89AeFci8Ls=", + "lastModified": 1762303154, + "narHash": "sha256-tgftn5snI3KZV9/DWH6dhKDcc8XDdVfA2bRdZzsiUIQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3c6bd03eccfb7863a5420fc2c1279e17a7395ccd", + "rev": "382f79a08090f4082c4d2e608e5330ddb957b1ff", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1762215965, - "narHash": "sha256-UsU1a/zZJpFgM2KL0PovWgLnVVMXEWVqsdKOQoZXC5o=", + "lastModified": 1762302430, + "narHash": "sha256-thtGuIGrodKEfZPh+Sv22m1BR2zxNQY8RCsGlBWroj4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1910880da8955be69f2a614e396f12359109c329", + "rev": "c5dc9e01d45948892915b5394f23986277fb0ccb", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1762215172, - "narHash": "sha256-VEiXZee5ccqjaLlXhOHalhcrqt2EDuBA6oqA8CwzE7Q=", + "lastModified": 1762301584, + "narHash": "sha256-yLihKEbngbLV1EhuLJSencMCtrDM2sYGsVZkX8xlSK8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "731d6673946cce96706bce97adaf08d0b5883af3", + "rev": "ce12bd44df0b5488bdbbe8762d79379e2bc76d62", "type": "github" }, "original": { From ef52c36b9835c77a255befe2a20075ba71e3bfab Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 5 Nov 2025 17:05:51 +1300 Subject: [PATCH 258/308] Add upper bound to streaming-commons patch (#2448) --- overlays/windows.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlays/windows.nix b/overlays/windows.nix index c7bc2172bc..0ef407a63c 100644 --- a/overlays/windows.nix +++ b/overlays/windows.nix @@ -87,7 +87,7 @@ final: prev: # http-client.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isWindows [ ({ version }: if version == "0.5.14" then ./patches/http-client-0.5.14.patch else null) ]; conduit.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isWindows [ ({ version }: if builtins.compareVersions version "1.3.1.1" < 0 then ./patches/conduit-1.3.0.2.patch else null) ]; - streaming-commons.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isWindows [ ./patches/streaming-commons-0.2.0.0.patch ]; + streaming-commons.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isWindows [ ({ version }: if builtins.compareVersions version "0.2.3.1" < 0 then ./patches/streaming-commons-0.2.0.0.patch else null) ]; x509-system.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isWindows [ ./patches/x509-system-1.6.6.patch ]; crypton-x509-system.patches = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isWindows [ ./patches/crypton-x509-system.patch ]; From 8cd201489f8a1e14c4f8302cca9d62c1fa259a2c Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 6 Nov 2025 00:52:14 +0000 Subject: [PATCH 259/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 618ed1d5d4..05bfa0f6d4 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1762303154, - "narHash": "sha256-tgftn5snI3KZV9/DWH6dhKDcc8XDdVfA2bRdZzsiUIQ=", + "lastModified": 1762388798, + "narHash": "sha256-ThOeYuvZ6n/eXZDS3gZxhIFDpDlxh+kmYrgPoSfAqTU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "382f79a08090f4082c4d2e608e5330ddb957b1ff", + "rev": "344f1d2d2e3d7da24f7b0436906c14fc308be936", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1762302430, - "narHash": "sha256-thtGuIGrodKEfZPh+Sv22m1BR2zxNQY8RCsGlBWroj4=", + "lastModified": 1762388787, + "narHash": "sha256-5db13mZmIpbLm3C5kfG0nhxjfNLCfG+Ct6W4IgWCO/c=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c5dc9e01d45948892915b5394f23986277fb0ccb", + "rev": "d6a756d99614f9390f85c41d4188a391368d88e0", "type": "github" }, "original": { From b6886225bad14cf02be14939566088d2985df7b8 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 7 Nov 2025 00:52:16 +0000 Subject: [PATCH 260/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 05bfa0f6d4..84f642579b 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1762388798, - "narHash": "sha256-ThOeYuvZ6n/eXZDS3gZxhIFDpDlxh+kmYrgPoSfAqTU=", + "lastModified": 1762475223, + "narHash": "sha256-73LsjSo1nISZOdk8v4Taqd7KQ4+poJxsQCIZsK3I/bs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "344f1d2d2e3d7da24f7b0436906c14fc308be936", + "rev": "c5d5d9a6a369eae1e7be57698de5eadc8a9d2938", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1762388787, - "narHash": "sha256-5db13mZmIpbLm3C5kfG0nhxjfNLCfG+Ct6W4IgWCO/c=", + "lastModified": 1762475213, + "narHash": "sha256-adCv5C7Y6mrgeQK0EIbphyrv49FOZSAi43BkDkdk4sg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d6a756d99614f9390f85c41d4188a391368d88e0", + "rev": "be538c00b16706189f92b98328fe5abfb96a2393", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1762301584, - "narHash": "sha256-yLihKEbngbLV1EhuLJSencMCtrDM2sYGsVZkX8xlSK8=", + "lastModified": 1762474419, + "narHash": "sha256-c8AYCW7C/sRWPOtFjaPpSaNAm4/Bll7/Sg+atV9MtU0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "ce12bd44df0b5488bdbbe8762d79379e2bc76d62", + "rev": "56246d9ed68de8d3bea2ba8383b1d7f1a60ca719", "type": "github" }, "original": { From 7a652487e84f74ca32cc1a16e77c2915a8da1096 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 8 Nov 2025 00:52:06 +0000 Subject: [PATCH 261/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 84f642579b..b86fcbdfcd 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1762475223, - "narHash": "sha256-73LsjSo1nISZOdk8v4Taqd7KQ4+poJxsQCIZsK3I/bs=", + "lastModified": 1762561447, + "narHash": "sha256-cIzA3oVThdRAKwFWfld+8HKS6yeOlxmmTiL7eRFNbDk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c5d5d9a6a369eae1e7be57698de5eadc8a9d2938", + "rev": "3790462042f98c3fc264ce39a3fcc5ace843fc3b", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1762475213, - "narHash": "sha256-adCv5C7Y6mrgeQK0EIbphyrv49FOZSAi43BkDkdk4sg=", + "lastModified": 1762561438, + "narHash": "sha256-gjYC9eWxBhfNU+MnbXdTZIJqM3kEw+8/Lw0Sy61KiM4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "be538c00b16706189f92b98328fe5abfb96a2393", + "rev": "a55381cbf5a56ac69fdb568c80c8e3d2d840459f", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1762474419, - "narHash": "sha256-c8AYCW7C/sRWPOtFjaPpSaNAm4/Bll7/Sg+atV9MtU0=", + "lastModified": 1762560769, + "narHash": "sha256-srSwB2Csn6yHUT0efxEG9DNFqO5jGojX8eXUjXf9yhE=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "56246d9ed68de8d3bea2ba8383b1d7f1a60ca719", + "rev": "23e18e78d743db21094c8e0e6484575680ec57f8", "type": "github" }, "original": { From 1a3f1e8b8a3716bb415b815d6e56a4ab5cdd24c1 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 9 Nov 2025 00:52:21 +0000 Subject: [PATCH 262/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b86fcbdfcd..4b2e3cbcb3 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1762561447, - "narHash": "sha256-cIzA3oVThdRAKwFWfld+8HKS6yeOlxmmTiL7eRFNbDk=", + "lastModified": 1762648084, + "narHash": "sha256-dt8QwRshNHw7JzQWN2vVik8VqTS4KWotu6/1VxirIJw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3790462042f98c3fc264ce39a3fcc5ace843fc3b", + "rev": "204bacf16e32eb21c4eafd9665ba707a08913676", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1762561438, - "narHash": "sha256-gjYC9eWxBhfNU+MnbXdTZIJqM3kEw+8/Lw0Sy61KiM4=", + "lastModified": 1762648074, + "narHash": "sha256-W6Akiw5x/Aoq2WYUi2QLnyGoqOJk7pwiC219ZP4lgk8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a55381cbf5a56ac69fdb568c80c8e3d2d840459f", + "rev": "2d5ae450b97670419b0c64469214217ea4113de8", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1762560769, - "narHash": "sha256-srSwB2Csn6yHUT0efxEG9DNFqO5jGojX8eXUjXf9yhE=", + "lastModified": 1762647249, + "narHash": "sha256-22sNcseo9U6LixChf0l+U0txJ852ATywUZoaw2VRfbU=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "23e18e78d743db21094c8e0e6484575680ec57f8", + "rev": "63cb164e6727bce3d4232b19f53790d8a0e543cf", "type": "github" }, "original": { From 3eca489a6f65687ef44ce01aff51765c3cc5af4b Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 10 Nov 2025 00:51:51 +0000 Subject: [PATCH 263/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 4b2e3cbcb3..563c512cca 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1762648084, - "narHash": "sha256-dt8QwRshNHw7JzQWN2vVik8VqTS4KWotu6/1VxirIJw=", + "lastModified": 1762735408, + "narHash": "sha256-30gbUA3lQ4uauNT8xKud1DmqhTWtFp5jKn4gtbta63c=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "204bacf16e32eb21c4eafd9665ba707a08913676", + "rev": "79edb44e107714351191f240bbd824dfa0b12b09", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1762648074, - "narHash": "sha256-W6Akiw5x/Aoq2WYUi2QLnyGoqOJk7pwiC219ZP4lgk8=", + "lastModified": 1762734441, + "narHash": "sha256-LI9+Y5At94Qp7AcyESaH7sCNA64+EYzuhvs3hRiUDqw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "2d5ae450b97670419b0c64469214217ea4113de8", + "rev": "fa238b3c89bed77c4908069a71b37192cf77100c", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1762647249, - "narHash": "sha256-22sNcseo9U6LixChf0l+U0txJ852ATywUZoaw2VRfbU=", + "lastModified": 1762733628, + "narHash": "sha256-wOi4MxHrsk9mqXWSH8P8G/dIqijT1PVXOWF3qchBp+g=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "63cb164e6727bce3d4232b19f53790d8a0e543cf", + "rev": "20411c7807a09dcebaa751ce1437c56b2e8064be", "type": "github" }, "original": { From b27c372cd025892ebafbbaf4a794ca64bd30017a Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 11 Nov 2025 00:52:12 +0000 Subject: [PATCH 264/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 563c512cca..e3cf0b2c70 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1762735408, - "narHash": "sha256-30gbUA3lQ4uauNT8xKud1DmqhTWtFp5jKn4gtbta63c=", + "lastModified": 1762820831, + "narHash": "sha256-J/pQRK9+U17OGfo1sPiJiwqyHPW9Q0QIkmWfuU+XsRE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "79edb44e107714351191f240bbd824dfa0b12b09", + "rev": "2e978406c9701d2a82b6346ff73211a27ee85f63", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1762734441, - "narHash": "sha256-LI9+Y5At94Qp7AcyESaH7sCNA64+EYzuhvs3hRiUDqw=", + "lastModified": 1762820821, + "narHash": "sha256-FSxcNsDBmd15u+e51QT547Z9BF4/fyOwHSWD8RrAJYk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "fa238b3c89bed77c4908069a71b37192cf77100c", + "rev": "4c8f319c602adcdfb773fd7eff6169cbfe54375a", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1762733628, - "narHash": "sha256-wOi4MxHrsk9mqXWSH8P8G/dIqijT1PVXOWF3qchBp+g=", + "lastModified": 1762820013, + "narHash": "sha256-4Jf8+rCeF5nZ0mV4UhD6HbqLzRun4g6fTAfEc36jYTg=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "20411c7807a09dcebaa751ce1437c56b2e8064be", + "rev": "2438b8f409ed51ec6a1a1bbd41f9fbd111f10c0b", "type": "github" }, "original": { From f29b6a410f7b33ea95e602664df409d46ff48583 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 12 Nov 2025 00:52:26 +0000 Subject: [PATCH 265/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index e3cf0b2c70..ba286d3eda 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1762820831, - "narHash": "sha256-J/pQRK9+U17OGfo1sPiJiwqyHPW9Q0QIkmWfuU+XsRE=", + "lastModified": 1762907210, + "narHash": "sha256-aB+sMEzY4te7Wjejcl8J1eYGSnidCl6mvIkwnLWb6do=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "2e978406c9701d2a82b6346ff73211a27ee85f63", + "rev": "b5dbcbac1aa4c68f7ae3cfde923792a168c20dca", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1762820821, - "narHash": "sha256-FSxcNsDBmd15u+e51QT547Z9BF4/fyOwHSWD8RrAJYk=", + "lastModified": 1762907200, + "narHash": "sha256-Xj39+DHCoHNEgjSwv3z0S/4sR1dzM7p4epRPAXHYDgg=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4c8f319c602adcdfb773fd7eff6169cbfe54375a", + "rev": "dfb6d10cf9c269f02ce6c15f4e24d4c6950a5c32", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1762820013, - "narHash": "sha256-4Jf8+rCeF5nZ0mV4UhD6HbqLzRun4g6fTAfEc36jYTg=", + "lastModified": 1762906395, + "narHash": "sha256-HW75dtxvXmO9//kICFmceem4eW+W03J0k/FGREKk2EY=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "2438b8f409ed51ec6a1a1bbd41f9fbd111f10c0b", + "rev": "57ecff42e9ea878fc84fc76d630f2444eb32c51f", "type": "github" }, "original": { From 3c9e83afafb0f40b67b89ed98b356a4922a65760 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 13 Nov 2025 00:52:17 +0000 Subject: [PATCH 266/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index ba286d3eda..e28875a37b 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1762907210, - "narHash": "sha256-aB+sMEzY4te7Wjejcl8J1eYGSnidCl6mvIkwnLWb6do=", + "lastModified": 1762993602, + "narHash": "sha256-2EbxPw/rZJJrPKCkLuH84wKur3hE/M+skpAIO8050e0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b5dbcbac1aa4c68f7ae3cfde923792a168c20dca", + "rev": "12828c64d34a2472ee8a3424ecde537fac2f3b32", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1762907200, - "narHash": "sha256-Xj39+DHCoHNEgjSwv3z0S/4sR1dzM7p4epRPAXHYDgg=", + "lastModified": 1762993591, + "narHash": "sha256-j5s47Qi1TPppivEn7ndVEj0Qtsx+MY+KIoaexe1jhqo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "dfb6d10cf9c269f02ce6c15f4e24d4c6950a5c32", + "rev": "53be51c664a12aefa8d5ce36a5b18fdfbfee0bea", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1762906395, - "narHash": "sha256-HW75dtxvXmO9//kICFmceem4eW+W03J0k/FGREKk2EY=", + "lastModified": 1762992791, + "narHash": "sha256-Uf7wEOIktTXL2wu5M8e6jEdVKurriASZZH30DX8lbj0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "57ecff42e9ea878fc84fc76d630f2444eb32c51f", + "rev": "0468b36ba2ff14e0efe1d1c45e8a2a4d31680a8b", "type": "github" }, "original": { From 7631ffad2f38eacd75afa1dfa1c86ec1af548f16 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 14 Nov 2025 00:51:43 +0000 Subject: [PATCH 267/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index e28875a37b..58272f9438 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1762993602, - "narHash": "sha256-2EbxPw/rZJJrPKCkLuH84wKur3hE/M+skpAIO8050e0=", + "lastModified": 1763080028, + "narHash": "sha256-LhsfnfzOw1CwP4CMJTVrUvmHxgIGdSTpBq/9ZA+MBzA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "12828c64d34a2472ee8a3424ecde537fac2f3b32", + "rev": "b6d6f44b75eb303a6a78d5906bcc3de0065eb676", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1762993591, - "narHash": "sha256-j5s47Qi1TPppivEn7ndVEj0Qtsx+MY+KIoaexe1jhqo=", + "lastModified": 1763080018, + "narHash": "sha256-dhF1WJwKf3crYYZ1IzpZKvYrL2Vn9wJkaiwWz7KKLLU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "53be51c664a12aefa8d5ce36a5b18fdfbfee0bea", + "rev": "0fe00885ac43275b806a5f357bd1bb543f4bd0dc", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1762992791, - "narHash": "sha256-Uf7wEOIktTXL2wu5M8e6jEdVKurriASZZH30DX8lbj0=", + "lastModified": 1763079199, + "narHash": "sha256-3DEm6AtrCHJhmkOPNXPZ40YQ2E7vrpgXuuASu/Bff5A=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "0468b36ba2ff14e0efe1d1c45e8a2a4d31680a8b", + "rev": "183c1aa28a2bf3c1a73ed879b7b22620af628f4e", "type": "github" }, "original": { From a9aed48e294cb85b8dcb6de3ba007a383bf2cabc Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 15 Nov 2025 00:52:10 +0000 Subject: [PATCH 268/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 58272f9438..866195ac05 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1763080028, - "narHash": "sha256-LhsfnfzOw1CwP4CMJTVrUvmHxgIGdSTpBq/9ZA+MBzA=", + "lastModified": 1763166352, + "narHash": "sha256-pULYhIwHybAHOHy2Hb9vJetJRxZljQFBKTiX54sjqeI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b6d6f44b75eb303a6a78d5906bcc3de0065eb676", + "rev": "e7e614e7c9438f2c5599c18d5d249d2e973d98b2", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1763080018, - "narHash": "sha256-dhF1WJwKf3crYYZ1IzpZKvYrL2Vn9wJkaiwWz7KKLLU=", + "lastModified": 1763166341, + "narHash": "sha256-oyhVjgGCPDwjjMPUr42qKMXmzYfz8zTA5SASxjP3AXU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "0fe00885ac43275b806a5f357bd1bb543f4bd0dc", + "rev": "1a33719b22701c92454b63788695a5f7499d27f9", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1763079199, - "narHash": "sha256-3DEm6AtrCHJhmkOPNXPZ40YQ2E7vrpgXuuASu/Bff5A=", + "lastModified": 1763165557, + "narHash": "sha256-aunGcmUSYQT0wOOQ7XeKHbD9nV7d77F88R5KwvGqNnQ=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "183c1aa28a2bf3c1a73ed879b7b22620af628f4e", + "rev": "fef4a12abfc8612fc22f751ae0032bb24cc14582", "type": "github" }, "original": { From 26599507be9a5bace829783b2f19d72f4768ddd7 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 16 Nov 2025 00:52:26 +0000 Subject: [PATCH 269/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 866195ac05..a733d6ffd0 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1763166352, - "narHash": "sha256-pULYhIwHybAHOHy2Hb9vJetJRxZljQFBKTiX54sjqeI=", + "lastModified": 1763253582, + "narHash": "sha256-p4uLu/gmRki2GrhNOmBWhmFpXPKtE5fmerVgVV0AXDE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e7e614e7c9438f2c5599c18d5d249d2e973d98b2", + "rev": "45e360c4bde6a00b72bce992badbc00ff437747a", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1763166341, - "narHash": "sha256-oyhVjgGCPDwjjMPUr42qKMXmzYfz8zTA5SASxjP3AXU=", + "lastModified": 1763252890, + "narHash": "sha256-UvXs58kwyRlGmQgPfs4uTIV9vAxrWK6P3nWKRb0+tyI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1a33719b22701c92454b63788695a5f7499d27f9", + "rev": "2dc59ed8f107cd0c1943dd073d395ae168eb51a0", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1763165557, - "narHash": "sha256-aunGcmUSYQT0wOOQ7XeKHbD9nV7d77F88R5KwvGqNnQ=", + "lastModified": 1763252048, + "narHash": "sha256-RhLGQoT1d9r7cfxdwMmg3EYXzshL1DPH/njlPuG6S4w=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "fef4a12abfc8612fc22f751ae0032bb24cc14582", + "rev": "f91ced923fe65149c700d5d4c3b037e9405df0d6", "type": "github" }, "original": { From 8d11cba51012d643d2baeda6c5af2096314c90e4 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 17 Nov 2025 00:51:39 +0000 Subject: [PATCH 270/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a733d6ffd0..2885d52c8e 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1763253582, - "narHash": "sha256-p4uLu/gmRki2GrhNOmBWhmFpXPKtE5fmerVgVV0AXDE=", + "lastModified": 1763339227, + "narHash": "sha256-+5ZLq3EMFa7gWLmMFE6NUM/VnR4CZRRejZnmAuZnIrk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "45e360c4bde6a00b72bce992badbc00ff437747a", + "rev": "8b301c7bfba2f6a51b5d1efaee4e4ce2c6cb69db", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1763252890, - "narHash": "sha256-UvXs58kwyRlGmQgPfs4uTIV9vAxrWK6P3nWKRb0+tyI=", + "lastModified": 1763339217, + "narHash": "sha256-FAGl9jrHoQ3Okd9t/z9GLICcn8/HQBlQOIATuhbSjW4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "2dc59ed8f107cd0c1943dd073d395ae168eb51a0", + "rev": "0ac751caf0187ab0f1f0b328cd685f3a4e0b9d0a", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1763252048, - "narHash": "sha256-RhLGQoT1d9r7cfxdwMmg3EYXzshL1DPH/njlPuG6S4w=", + "lastModified": 1763338414, + "narHash": "sha256-D4zNIy8qrktYZ3UcvZPOWkUHMlwIgrFV3sWhO77Te3o=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "f91ced923fe65149c700d5d4c3b037e9405df0d6", + "rev": "9fb8e4ebe311ab6fa9653a31f13e88e09181639b", "type": "github" }, "original": { From 6cfb52a848bce10febb4b918b2689d5cb7e96368 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 18 Nov 2025 00:51:40 +0000 Subject: [PATCH 271/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 2885d52c8e..079482be56 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1763339227, - "narHash": "sha256-+5ZLq3EMFa7gWLmMFE6NUM/VnR4CZRRejZnmAuZnIrk=", + "lastModified": 1763416641, + "narHash": "sha256-VUyrP8sgMxAz+pWyUjgjbpl/ixj7iYoedxW1GM7nTXs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "8b301c7bfba2f6a51b5d1efaee4e4ce2c6cb69db", + "rev": "1f2f4e055979b93a319bdce694696f91d3f1c9e7", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1763338414, - "narHash": "sha256-D4zNIy8qrktYZ3UcvZPOWkUHMlwIgrFV3sWhO77Te3o=", + "lastModified": 1763424818, + "narHash": "sha256-JHbvgLW50XmYknfwUrrjM6HyyWeMjaJPGLh4aH7JXtc=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "9fb8e4ebe311ab6fa9653a31f13e88e09181639b", + "rev": "f6bf258740c72e6f0bedbe2813322a9d88edb46b", "type": "github" }, "original": { From 3491214ef599ec93c0944ee434f5dcb88179604a Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 19 Nov 2025 00:52:16 +0000 Subject: [PATCH 272/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 079482be56..f30af29e76 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1763416641, - "narHash": "sha256-VUyrP8sgMxAz+pWyUjgjbpl/ixj7iYoedxW1GM7nTXs=", + "lastModified": 1763512065, + "narHash": "sha256-k5JODnXtfRZlinlr0fV0FqZgJDf4nVhzWc3p95OWdnU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1f2f4e055979b93a319bdce694696f91d3f1c9e7", + "rev": "344fa613e912624f7b503e5edec9f5e002032f20", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1763339217, - "narHash": "sha256-FAGl9jrHoQ3Okd9t/z9GLICcn8/HQBlQOIATuhbSjW4=", + "lastModified": 1763512055, + "narHash": "sha256-muujRuo3Gk3Rr9lXB1ro+3NiLIYy59kBXBC8Xcumd5Q=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "0ac751caf0187ab0f1f0b328cd685f3a4e0b9d0a", + "rev": "a3124d57eeb3b6adc923486888f4f35e54811f26", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1763424818, - "narHash": "sha256-JHbvgLW50XmYknfwUrrjM6HyyWeMjaJPGLh4aH7JXtc=", + "lastModified": 1763511211, + "narHash": "sha256-w6m5Urme54+Yv72xHmhS39voeqeJBmetUHI3Add6NQ0=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "f6bf258740c72e6f0bedbe2813322a9d88edb46b", + "rev": "7c08e61eafc99b892853c05b2b66b73fd91f9d31", "type": "github" }, "original": { From 9c5956641f45b6b02607e318485aad01c18e65b0 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 20 Nov 2025 00:52:11 +0000 Subject: [PATCH 273/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f30af29e76..3a35584c82 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1763512065, - "narHash": "sha256-k5JODnXtfRZlinlr0fV0FqZgJDf4nVhzWc3p95OWdnU=", + "lastModified": 1763598401, + "narHash": "sha256-ob9BLrE7VWOvzYUZU3Ni6Kynst/eGRH2FAz1i16LGcA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "344fa613e912624f7b503e5edec9f5e002032f20", + "rev": "a9359105928d8c90ca9ec7a92a02a7aa9bfcfcab", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1763512055, - "narHash": "sha256-muujRuo3Gk3Rr9lXB1ro+3NiLIYy59kBXBC8Xcumd5Q=", + "lastModified": 1763598390, + "narHash": "sha256-jk/tjpAfdkPl7qB7Zcb8Bq8pxLR5O0wkmBMtmoM90c0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a3124d57eeb3b6adc923486888f4f35e54811f26", + "rev": "941003def37cb8915bbc33f20e73610e2bd6ecea", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1763511211, - "narHash": "sha256-w6m5Urme54+Yv72xHmhS39voeqeJBmetUHI3Add6NQ0=", + "lastModified": 1763597599, + "narHash": "sha256-DXLOKxLE5gQLXIfi7hB3p1ozT2i3cjLfv1DcSzJuJNk=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "7c08e61eafc99b892853c05b2b66b73fd91f9d31", + "rev": "764f05b3fc01902659c26eb45825e633543f2692", "type": "github" }, "original": { From eb5f43cfbeac1d9fca48da3399082bd639a5a640 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Thu, 20 Nov 2025 20:46:29 +1300 Subject: [PATCH 274/308] Update nixpkgs pins (#2449) * Update nixpkgs pins nix flake update nixpkgs-unstable nix flake update nixpkgs-2505 nix flake update nixpkgs-2411 * fix: use ghc967 to bootstrap (25.11) * Fix argument passed to compilerSelection * Fix for GHC 9.8.4 * Fix for wine tests on detsys mac linux builders * Disable broken tests * Update ghcjs-overlay sha256 * nix flake update hackage --------- Co-authored-by: Thomas Bereknyei --- flake.lock | 24 ++++++++++++------------ lib/call-cabal-project-to-nix.nix | 2 +- overlays/bootstrap.nix | 27 +++++++++++++++++++-------- overlays/mingw_w64.nix | 2 +- test/coverage/default.nix | 4 +++- test/unit.nix | 2 +- 6 files changed, 37 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 3a35584c82..e458056a43 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1763598401, - "narHash": "sha256-ob9BLrE7VWOvzYUZU3Ni6Kynst/eGRH2FAz1i16LGcA=", + "lastModified": 1763605384, + "narHash": "sha256-rQLBXbwZdY+Nu+sIVFCkNMi6AJUVzUOysD3ajBth+aY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a9359105928d8c90ca9ec7a92a02a7aa9bfcfcab", + "rev": "c5ce8b5cf15a27a5faad73751d93e3c4e8624417", "type": "github" }, "original": { @@ -452,11 +452,11 @@ }, "nixpkgs-2411": { "locked": { - "lastModified": 1748037224, - "narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=", + "lastModified": 1751290243, + "narHash": "sha256-kNf+obkpJZWar7HZymXZbW+Rlk3HTEIMlpc6FCNz0Ds=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f09dede81861f3a83f7f06641ead34f02f37597f", + "rev": "5ab036a8d97cb9476fbe81b09076e6e91d15e1b6", "type": "github" }, "original": { @@ -468,11 +468,11 @@ }, "nixpkgs-2505": { "locked": { - "lastModified": 1757716134, - "narHash": "sha256-OYoZLWvmCnCTCJQwaQlpK1IO5nkLnLLoUW8wwmPmrfU=", + "lastModified": 1762303001, + "narHash": "sha256-6Q5fx8I7kI+uHL97pdpUnTm1Uu+OazpHfnv+DCAihtE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e85b5aa112a98805a016bbf6291e726debbc448a", + "rev": "139de9c2cb757650424fe8aa2a980eaa93a9e733", "type": "github" }, "original": { @@ -484,11 +484,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1759070547, - "narHash": "sha256-JVZl8NaVRYb0+381nl7LvPE+A774/dRpif01FKLrYFQ=", + "lastModified": 1762286042, + "narHash": "sha256-OD5HsZ+sN7VvNucbrjiCz7CHF5zf9gP51YVJvPwYIH8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "647e5c14cbd5067f44ac86b74f014962df460840", + "rev": "12c1f0253aa9a54fdf8ec8aecaafada64a111e24", "type": "github" }, "original": { diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index 34dec9b988..2c65c5240f 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -89,7 +89,7 @@ let # # > The option `packages.Win32.package.identifier.name' is used but not defined. # - (compilerSelection pkgs)."${compiler-nix-name}"; + (compilerSelection pkgs.buildPackages)."${compiler-nix-name}"; in let ghc = if ghc' ? latestVersion diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 2da240b20f..9405106287 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -867,8 +867,9 @@ in { bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform - then final.buildPackages.buildPackages.haskell-nix.compiler.ghc966 - else final.buildPackages.buildPackages.haskell.compiler.ghc966 + then final.buildPackages.buildPackages.haskell-nix.compiler.ghc967 + else final.buildPackages.buildPackages.haskell.compiler.ghc967 + or final.buildPackages.buildPackages.haskell.compiler.ghc966 or final.buildPackages.buildPackages.haskell.compiler.ghc965 or final.buildPackages.buildPackages.haskell.compiler.ghc964 or final.buildPackages.buildPackages.haskell.compiler.ghc963 @@ -893,8 +894,9 @@ in { bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform - then final.buildPackages.buildPackages.haskell-nix.compiler.ghc966 - else final.buildPackages.buildPackages.haskell.compiler.ghc966 + then final.buildPackages.buildPackages.haskell-nix.compiler.ghc967 + else final.buildPackages.buildPackages.haskell.compiler.ghc967 + or final.buildPackages.buildPackages.haskell.compiler.ghc966 or final.buildPackages.buildPackages.haskell.compiler.ghc965 or final.buildPackages.buildPackages.haskell.compiler.ghc964 or final.buildPackages.buildPackages.haskell.compiler.ghc963 @@ -920,7 +922,8 @@ in { bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform then final.buildPackages.buildPackages.haskell-nix.compiler.ghc983 - else final.buildPackages.buildPackages.haskell.compiler.ghc966 + else final.buildPackages.buildPackages.haskell.compiler.ghc967 + or final.buildPackages.buildPackages.haskell.compiler.ghc966 or final.buildPackages.buildPackages.haskell.compiler.ghc965 or final.buildPackages.buildPackages.haskell.compiler.ghc964 or final.buildPackages.buildPackages.haskell.compiler.ghc963 @@ -946,7 +949,9 @@ in { bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform then final.buildPackages.buildPackages.haskell-nix.compiler.ghc984 - else final.buildPackages.buildPackages.haskell.compiler.ghc966 + else final.buildPackages.buildPackages.haskell.compiler.ghc984 + or final.buildPackages.buildPackages.haskell.compiler.ghc967 + or final.buildPackages.buildPackages.haskell.compiler.ghc966 or final.buildPackages.buildPackages.haskell.compiler.ghc965 or final.buildPackages.buildPackages.haskell.compiler.ghc964 or final.buildPackages.buildPackages.haskell.compiler.ghc963 @@ -977,6 +982,7 @@ in { # or final.buildPackages.buildPackages.haskell.compiler.ghc983 final.buildPackages.buildPackages.haskell.compiler.ghc982 or final.buildPackages.buildPackages.haskell.compiler.ghc981 + or final.buildPackages.buildPackages.haskell.compiler.ghc967 or final.buildPackages.buildPackages.haskell.compiler.ghc966 or final.buildPackages.buildPackages.haskell.compiler.ghc965 or final.buildPackages.buildPackages.haskell.compiler.ghc964 @@ -1008,6 +1014,7 @@ in { # or final.buildPackages.buildPackages.haskell.compiler.ghc983 final.buildPackages.buildPackages.haskell.compiler.ghc982 or final.buildPackages.buildPackages.haskell.compiler.ghc981 + or final.buildPackages.buildPackages.haskell.compiler.ghc967 or final.buildPackages.buildPackages.haskell.compiler.ghc966 or final.buildPackages.buildPackages.haskell.compiler.ghc965 or final.buildPackages.buildPackages.haskell.compiler.ghc964 @@ -1040,6 +1047,7 @@ in { or final.buildPackages.buildPackages.haskell.compiler.ghc983 or final.buildPackages.buildPackages.haskell.compiler.ghc982 or final.buildPackages.buildPackages.haskell.compiler.ghc981 + or final.buildPackages.buildPackages.haskell.compiler.ghc967 or final.buildPackages.buildPackages.haskell.compiler.ghc966 or final.buildPackages.buildPackages.haskell.compiler.ghc965 or final.buildPackages.buildPackages.haskell.compiler.ghc964 @@ -1073,6 +1081,7 @@ in { or final.buildPackages.buildPackages.haskell.compiler.ghc983 or final.buildPackages.buildPackages.haskell.compiler.ghc982 or final.buildPackages.buildPackages.haskell.compiler.ghc981 + or final.buildPackages.buildPackages.haskell.compiler.ghc967 or final.buildPackages.buildPackages.haskell.compiler.ghc966 or final.buildPackages.buildPackages.haskell.compiler.ghc965 or final.buildPackages.buildPackages.haskell.compiler.ghc964 @@ -1114,6 +1123,7 @@ in { or final.buildPackages.buildPackages.haskell.compiler.ghc983 or final.buildPackages.buildPackages.haskell.compiler.ghc982 or final.buildPackages.buildPackages.haskell.compiler.ghc981 + or final.buildPackages.buildPackages.haskell.compiler.ghc967 or final.buildPackages.buildPackages.haskell.compiler.ghc966 or final.buildPackages.buildPackages.haskell.compiler.ghc965 or final.buildPackages.buildPackages.haskell.compiler.ghc964 @@ -1138,8 +1148,9 @@ in { } // final.lib.optionalAttrs (builtins.compareVersions version "9.7" <0) { bootPkgs = bootPkgsGhc94 // { ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform - then final.buildPackages.buildPackages.haskell-nix.compiler.ghc966 - else final.buildPackages.buildPackages.haskell.compiler.ghc966 + then final.buildPackages.buildPackages.haskell-nix.compiler.ghc967 + else final.buildPackages.buildPackages.haskell.compiler.ghc967 + or final.buildPackages.buildPackages.haskell.compiler.ghc966 or final.buildPackages.buildPackages.haskell.compiler.ghc965 or final.buildPackages.buildPackages.haskell.compiler.ghc964 or final.buildPackages.buildPackages.haskell.compiler.ghc963 diff --git a/overlays/mingw_w64.nix b/overlays/mingw_w64.nix index 2ab1cc133f..c2dd39beaa 100644 --- a/overlays/mingw_w64.nix +++ b/overlays/mingw_w64.nix @@ -90,7 +90,7 @@ let export WINEDLLOVERRIDES="winemac.drv=d" export WINEDEBUG=warn-all,fixme-all,-menubuilder,-mscoree,-ole,-secur32,-winediag export LC_ALL=en_US.UTF-8 - export WINEPREFIX=$TMP + export WINEPREFIX=''${WINEPREFIX:-$(mktemp -d)} Path="''${Path:-}" unset configureFlags unset configurePhase diff --git a/test/coverage/default.nix b/test/coverage/default.nix index 512e85be8d..de86fb4b1c 100644 --- a/test/coverage/default.nix +++ b/test/coverage/default.nix @@ -29,7 +29,9 @@ in recurseIntoAttrs ({ # Does not work on ghcjs because it needs zlib. Wasm needs network fixed. meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm # For some reason the `.tix` file is not created on armv7a android (not sure why) - || stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32; + || stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32 + # The `input.txt` is not written (or just not found) for mingwW64 (ucrt64 works ok) + || (stdenv.hostPlatform.isWindows && stdenv.hostPlatform.libc != "ucrt"); run = stdenv.mkDerivation { name = "coverage-test"; diff --git a/test/unit.nix b/test/unit.nix index 355169dbf6..b5e1dfd9a2 100644 --- a/test/unit.nix +++ b/test/unit.nix @@ -143,7 +143,7 @@ lib.runTests { secure: True root-keys: key-threshold: 0 - --sha256: sha256-y1vQnXI1XzkjnC4h66tVDmu2TZjZPcMrZEnE3m0XOfg= + --sha256: sha256-tyeqsCew1ptGCrNAIrw5R2sz+oSqWbWrd/wDAPh1hMs= -- end of block '')); expected = __toJSON { From 86e113d5ceb843885cca2e9e4e8cb199b6240e07 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 21 Nov 2025 00:52:11 +0000 Subject: [PATCH 275/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index e458056a43..9bc268e4d0 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1763605384, - "narHash": "sha256-rQLBXbwZdY+Nu+sIVFCkNMi6AJUVzUOysD3ajBth+aY=", + "lastModified": 1763684779, + "narHash": "sha256-70zqtXv70YyWk1UZoH4NnGzM0eWdr4iK3/6XBSSGTiw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c5ce8b5cf15a27a5faad73751d93e3c4e8624417", + "rev": "0304c09943f333af26c0118000dd48671acf4dad", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1763598390, - "narHash": "sha256-jk/tjpAfdkPl7qB7Zcb8Bq8pxLR5O0wkmBMtmoM90c0=", + "lastModified": 1763684768, + "narHash": "sha256-ox75QQVOitcUBSRubqxc9LMQJxHnejAMaeJa6Y1mEOw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "941003def37cb8915bbc33f20e73610e2bd6ecea", + "rev": "97e1b63a18f4821f94103afa65da8fa13df5db35", "type": "github" }, "original": { From adb6e0b1e01d97eadf5ede3c5c7bdbd5ab211e64 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 21 Nov 2025 20:06:02 +1300 Subject: [PATCH 276/308] Add GHC 9.10.3 (#2454) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add GHC 9.10.3 * feat: add flake.lock for ghc9103 input * ci(nix): add ghc9103 to exclusions and disabled test lists * fix(bootstrap): update GHC patch range to end at 9.10.3 for Hidden symbols - To exclude don't compatible patch. - Adjust patch application range from 9.8.2–9.11 to 9.8.2–9.10.3 - Ensures correct patching for GHC versions on Windows and Musl platforms * build: add GHC 9.10.3 boot package definitions and update plans ``` nix-build scripts/check-compiler-materialization --argstr compiler-nix-name ghc9103 ``` * Use stable-haskell github repo * Fix for newer nixpkgs * Fix unit test * Add materialized files * Add materialized files * Fix for android * Skip armv7a-android for ghc9103 * Fix hoogle for ghc 9.13.X * Skip armv7a-android for ghc9103llvm --------- Co-authored-by: ncaq --- ci.nix | 8 +- docs/reference/supported-ghc-versions.md | 2 +- lazy-inputs/default.nix | 1 + lazy-inputs/ghc9103/flake.lock | 30 ++++++ lazy-inputs/ghc9103/flake.nix | 12 +++ materialized/alex-3.2.7.1/ghc964/default.nix | 102 +++++++++--------- materialized/alex-3.2.7.1/ghc964/plan.json | 2 +- .../bootstrap/ghc964/hscolour/default.nix | 46 ++++---- .../bootstrap/ghc964/hscolour/plan.json | 2 +- .../ghc9103-aarch64/base.nix | 34 ++++++ .../ghc9103-aarch64/deriveConstants.nix | 39 +++++++ .../ghc9103-aarch64/genprimopcode.nix | 40 +++++++ .../ghc9103-aarch64/ghc-bignum.nix | 37 +++++++ .../ghc9103-aarch64/ghc-boot.nix | 47 ++++++++ .../ghc9103-aarch64/ghc-heap.nix | 36 +++++++ .../ghc9103-aarch64/ghc-internal.nix | 49 +++++++++ .../ghc9103-aarch64/ghc-platform.nix | 31 ++++++ .../ghc9103-aarch64/ghc-prim.nix | 47 ++++++++ .../ghc9103-aarch64/ghc-toolchain.nix | 39 +++++++ .../ghc9103-aarch64/ghc.nix | 81 ++++++++++++++ .../ghc9103-aarch64/ghci.nix | 45 ++++++++ .../ghc9103-aarch64/hpc.nix | 38 +++++++ .../ghc9103-aarch64/integer-gmp.nix | 36 +++++++ .../ghc9103-aarch64/iserv.nix | 41 +++++++ .../ghc9103-aarch64/remote-iserv.nix | 36 +++++++ .../ghc9103-aarch64/template-haskell.nix | 36 +++++++ .../ghc-boot-packages-nix/ghc9103/base.nix | 34 ++++++ .../ghc9103/deriveConstants.nix | 39 +++++++ .../ghc9103/genprimopcode.nix | 40 +++++++ .../ghc9103/ghc-bignum.nix | 37 +++++++ .../ghc9103/ghc-boot.nix | 47 ++++++++ .../ghc9103/ghc-heap.nix | 36 +++++++ .../ghc9103/ghc-internal.nix | 49 +++++++++ .../ghc9103/ghc-platform.nix | 31 ++++++ .../ghc9103/ghc-prim.nix | 47 ++++++++ .../ghc9103/ghc-toolchain.nix | 39 +++++++ .../ghc-boot-packages-nix/ghc9103/ghc.nix | 81 ++++++++++++++ .../ghc-boot-packages-nix/ghc9103/ghci.nix | 45 ++++++++ .../ghc-boot-packages-nix/ghc9103/hpc.nix | 38 +++++++ .../ghc9103/integer-gmp.nix | 36 +++++++ .../ghc-boot-packages-nix/ghc9103/iserv.nix | 41 +++++++ .../ghc9103/remote-iserv.nix | 36 +++++++ .../ghc9103/template-haskell.nix | 36 +++++++ .../ghc9103llvm-aarch64/base.nix | 34 ++++++ .../ghc9103llvm-aarch64/deriveConstants.nix | 39 +++++++ .../ghc9103llvm-aarch64/genprimopcode.nix | 40 +++++++ .../ghc9103llvm-aarch64/ghc-bignum.nix | 37 +++++++ .../ghc9103llvm-aarch64/ghc-boot.nix | 47 ++++++++ .../ghc9103llvm-aarch64/ghc-heap.nix | 36 +++++++ .../ghc9103llvm-aarch64/ghc-internal.nix | 49 +++++++++ .../ghc9103llvm-aarch64/ghc-platform.nix | 31 ++++++ .../ghc9103llvm-aarch64/ghc-prim.nix | 47 ++++++++ .../ghc9103llvm-aarch64/ghc-toolchain.nix | 39 +++++++ .../ghc9103llvm-aarch64/ghc.nix | 81 ++++++++++++++ .../ghc9103llvm-aarch64/ghci.nix | 45 ++++++++ .../ghc9103llvm-aarch64/hpc.nix | 38 +++++++ .../ghc9103llvm-aarch64/integer-gmp.nix | 36 +++++++ .../ghc9103llvm-aarch64/iserv.nix | 41 +++++++ .../ghc9103llvm-aarch64/remote-iserv.nix | 36 +++++++ .../ghc9103llvm-aarch64/template-haskell.nix | 36 +++++++ .../ghc9103llvm/base.nix | 34 ++++++ .../ghc9103llvm/deriveConstants.nix | 39 +++++++ .../ghc9103llvm/genprimopcode.nix | 40 +++++++ .../ghc9103llvm/ghc-bignum.nix | 37 +++++++ .../ghc9103llvm/ghc-boot.nix | 47 ++++++++ .../ghc9103llvm/ghc-heap.nix | 36 +++++++ .../ghc9103llvm/ghc-internal.nix | 49 +++++++++ .../ghc9103llvm/ghc-platform.nix | 31 ++++++ .../ghc9103llvm/ghc-prim.nix | 47 ++++++++ .../ghc9103llvm/ghc-toolchain.nix | 39 +++++++ .../ghc-boot-packages-nix/ghc9103llvm/ghc.nix | 81 ++++++++++++++ .../ghc9103llvm/ghci.nix | 45 ++++++++ .../ghc-boot-packages-nix/ghc9103llvm/hpc.nix | 38 +++++++ .../ghc9103llvm/integer-gmp.nix | 36 +++++++ .../ghc9103llvm/iserv.nix | 41 +++++++ .../ghc9103llvm/remote-iserv.nix | 36 +++++++ .../ghc9103llvm/template-haskell.nix | 36 +++++++ materialized/happy-1.20.0/ghc964/default.nix | 50 ++++----- materialized/happy-1.20.0/ghc964/plan.json | 2 +- overlays/bootstrap.nix | 44 ++++++-- test/js-template-haskell/default.nix | 2 +- test/th-dlls/default.nix | 2 +- test/unit.nix | 4 +- 83 files changed, 3040 insertions(+), 117 deletions(-) create mode 100644 lazy-inputs/ghc9103/flake.lock create mode 100644 lazy-inputs/ghc9103/flake.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-internal.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-platform.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-toolchain.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103-aarch64/template-haskell.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/ghc-internal.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/ghc-platform.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/ghc-toolchain.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103/template-haskell.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-internal.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-platform.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-toolchain.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/template-haskell.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/base.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/deriveConstants.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/genprimopcode.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-bignum.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-boot.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-heap.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-internal.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-platform.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-prim.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-toolchain.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/ghc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/ghci.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/hpc.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/integer-gmp.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/remote-iserv.nix create mode 100644 materialized/ghc-boot-packages-nix/ghc9103llvm/template-haskell.nix diff --git a/ci.nix b/ci.nix index 88d01c087c..706ea92613 100644 --- a/ci.nix +++ b/ci.nix @@ -89,11 +89,11 @@ static = p: p.pkgsStatic; } // lib.optionalAttrs (nixpkgsName == "unstable" && (__match ".*llvm" compiler-nix-name == null) - && !builtins.elem compiler-nix-name ["ghc9102"]) { + && !builtins.elem compiler-nix-name ["ghc9102" "ghc9103"]) { inherit (lib.systems.examples) ghcjs; } // lib.optionalAttrs (nixpkgsName == "unstable" && (__match ".*llvm" compiler-nix-name == null) - && !builtins.elem compiler-nix-name ["ghc967" "ghc984" "ghc9102"] + && !builtins.elem compiler-nix-name ["ghc967" "ghc984" "ghc9102" "ghc9103"] && system != "x86_64-darwin") { inherit (lib.systems.examples) wasi32; } // lib.optionalAttrs (nixpkgsName == "unstable" @@ -115,7 +115,7 @@ inherit (lib.systems.examples) musl32; } // lib.optionalAttrs (system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { inherit (lib.systems.examples) aarch64-android-prebuilt; - } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName != "unstable" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc91320250523"]) { + } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName != "unstable" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc9103" "ghc9103llvm" "ghc91320250523"]) { inherit (lib.systems.examples) armv7a-android-prebuilt; } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902"]) { # TODO fix this for the compilers we build with hadrian (ghc >=9.4) @@ -142,7 +142,7 @@ dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: pinnedNixpkgsSrc: hello = (pkgs.haskell-nix.hackage-package ({ name = "hello"; version = "1.0.0.2"; inherit evalPackages compiler-nix-name; } // lib.optionalAttrs (builtins.compareVersions pkgs.buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.13" >= 0) { shell.tools.hoogle.cabalProjectLocal = '' - allow-newer: *:* + allow-newer: hashable:ghc-bignum, integer-logarithms:ghc-bignum ''; })).getComponent "exe:hello"; # Make sure the default shell tools (hoogle) are built diff --git a/docs/reference/supported-ghc-versions.md b/docs/reference/supported-ghc-versions.md index 7d1118aa28..e60cc06e62 100644 --- a/docs/reference/supported-ghc-versions.md +++ b/docs/reference/supported-ghc-versions.md @@ -24,7 +24,7 @@ really should use an instance of Nixpkgs provided by `haskell.nix` itself. |------------------|--------------------|-------------|-----------------------|---------------| | unstable | `nixpkgs-unstable` | 9.6.7 | `ghc96` or `ghc967` | Yes | | unstable | `nixpkgs-unstable` | 9.8.4 | `ghc98` or `ghc984` | Yes | -| unstable | `nixpkgs-unstable` | 9.10.2 | `ghc910` or `ghc9102` | Yes | +| unstable | `nixpkgs-unstable` | 9.10.3 | `ghc910` or `ghc9103` | Yes | | unstable | `nixpkgs-unstable` | 9.12.2 | `ghc912` or `ghc9122` | Yes | See [ci.nix](https://github.com/input-output-hk/haskell.nix/blob/master/ci.nix) diff --git a/lazy-inputs/default.nix b/lazy-inputs/default.nix index 1fe105262f..869ff301da 100644 --- a/lazy-inputs/default.nix +++ b/lazy-inputs/default.nix @@ -37,6 +37,7 @@ in { inherit ((callFlake { pkgs = final; src = ./ghc984; }).defaultNix) ghc984; inherit ((callFlake { pkgs = final; src = ./ghc9101; }).defaultNix) ghc9101; inherit ((callFlake { pkgs = final; src = ./ghc9102; }).defaultNix) ghc9102; + inherit ((callFlake { pkgs = final; src = ./ghc9103; }).defaultNix) ghc9103; inherit ((callFlake { pkgs = final; src = ./ghc9121; }).defaultNix) ghc9121; inherit ((callFlake { pkgs = final; src = ./ghc9122; }).defaultNix) ghc9122; inherit ((callFlake { pkgs = final; src = ./ghc912X; }).defaultNix) ghc912X; diff --git a/lazy-inputs/ghc9103/flake.lock b/lazy-inputs/ghc9103/flake.lock new file mode 100644 index 0000000000..7b97e009f4 --- /dev/null +++ b/lazy-inputs/ghc9103/flake.lock @@ -0,0 +1,30 @@ +{ + "nodes": { + "ghc9103": { + "flake": false, + "locked": { + "lastModified": 1757514624, + "narHash": "sha256-Oxhgpohc+2F9NOr8E6RumC7i4zorBDtM1VviVbInD88=", + "ref": "ghc-9.10.3-iog", + "rev": "3f4d7d38b9661435bdde981451ac50c4335ed090", + "revCount": 63020, + "submodules": true, + "type": "git", + "url": "https://github.com/stable-haskell/ghc" + }, + "original": { + "ref": "ghc-9.10.3-iog", + "submodules": true, + "type": "git", + "url": "https://github.com/stable-haskell/ghc" + } + }, + "root": { + "inputs": { + "ghc9103": "ghc9103" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/lazy-inputs/ghc9103/flake.nix b/lazy-inputs/ghc9103/flake.nix new file mode 100644 index 0000000000..71c92482e3 --- /dev/null +++ b/lazy-inputs/ghc9103/flake.nix @@ -0,0 +1,12 @@ +{ + description = "Lazy Input for Haskell.nix"; + + inputs = { + ghc9103 = { + flake = false; + url = "git+https://github.com/stable-haskell/ghc?ref=ghc-9.10.3-iog&submodules=1"; + }; + }; + + outputs = inputs: inputs; +} diff --git a/materialized/alex-3.2.7.1/ghc964/default.nix b/materialized/alex-3.2.7.1/ghc964/default.nix index d72a290509..6d63331b41 100644 --- a/materialized/alex-3.2.7.1/ghc964/default.nix +++ b/materialized/alex-3.2.7.1/ghc964/default.nix @@ -2,48 +2,48 @@ pkgs = hackage: { packages = { - ghc-prim.revision = hackage.ghc-prim."0.10.0".revisions.default; + filepath.revision = hackage.filepath."1.4.200.1".revisions.default; + ghc-bignum.revision = hackage.ghc-bignum."1.3".revisions.default; + stm.revision = hackage.stm."2.5.1.0".revisions.default; transformers.revision = hackage.transformers."0.6.1.0".revisions.default; - alex.revision = import ./cabal-files/alex.nix; - time.revision = hackage.time."1.12.2".revisions.default; + deepseq.revision = hackage.deepseq."1.4.8.1".revisions.default; + directory.revision = hackage.directory."1.3.8.1".revisions.default; + mtl.revision = hackage.mtl."2.3.1".revisions.default; base.revision = hackage.base."4.18.2.0".revisions.default; + time.revision = hackage.time."1.12.2".revisions.default; + array.revision = hackage.array."0.5.6.0".revisions.default; + alex.revision = import ./cabal-files/alex.nix; + template-haskell.revision = hackage.template-haskell."2.20.0.0".revisions.default; unix.revision = hackage.unix."2.8.4.0".revisions.default; + exceptions.revision = hackage.exceptions."0.10.7".revisions.default; + bytestring.revision = hackage.bytestring."0.11.5.3".revisions.default; ghc-boot-th.revision = hackage.ghc-boot-th."9.6.4".revisions.default; - mtl.revision = hackage.mtl."2.3.1".revisions.default; + ghc-prim.revision = hackage.ghc-prim."0.10.0".revisions.default; pretty.revision = hackage.pretty."1.1.3.6".revisions.default; - stm.revision = hackage.stm."2.5.1.0".revisions.default; - template-haskell.revision = hackage.template-haskell."2.20.0.0".revisions.default; - exceptions.revision = hackage.exceptions."0.10.7".revisions.default; - deepseq.revision = hackage.deepseq."1.4.8.1".revisions.default; containers.revision = hackage.containers."0.6.7".revisions.default; - array.revision = hackage.array."0.5.6.0".revisions.default; - bytestring.revision = hackage.bytestring."0.11.5.3".revisions.default; - directory.revision = hackage.directory."1.3.8.1".revisions.default; - ghc-bignum.revision = hackage.ghc-bignum."1.3".revisions.default; - filepath.revision = hackage.filepath."1.4.200.1".revisions.default; }; compiler = { version = "9.6.4"; nix-name = "ghc964"; packages = { - "unix" = "2.8.4.0"; + "ghc-boot-th" = "9.6.4"; + "pretty" = "1.1.3.6"; + "array" = "0.5.6.0"; + "time" = "1.12.2"; + "ghc-prim" = "0.10.0"; + "bytestring" = "0.11.5.3"; + "mtl" = "2.3.1"; + "template-haskell" = "2.20.0.0"; + "ghc-bignum" = "1.3"; + "stm" = "2.5.1.0"; "filepath" = "1.4.200.1"; + "unix" = "2.8.4.0"; + "exceptions" = "0.10.7"; + "deepseq" = "1.4.8.1"; "transformers" = "0.6.1.0"; - "bytestring" = "0.11.5.3"; "containers" = "0.6.7"; - "ghc-prim" = "0.10.0"; - "mtl" = "2.3.1"; - "ghc-boot-th" = "9.6.4"; "base" = "4.18.2.0"; - "time" = "1.12.2"; - "stm" = "2.5.1.0"; - "ghc-bignum" = "1.3"; "directory" = "1.3.8.1"; - "template-haskell" = "2.20.0.0"; - "pretty" = "1.1.3.6"; - "deepseq" = "1.4.8.1"; - "array" = "0.5.6.0"; - "exceptions" = "0.10.7"; }; }; }; @@ -52,24 +52,24 @@ modules = [ { preExistingPkgs = [ - "ghc-prim" + "filepath" + "ghc-bignum" + "stm" "transformers" - "time" + "deepseq" + "directory" + "mtl" "base" + "time" + "array" + "template-haskell" "unix" + "exceptions" + "bytestring" "ghc-boot-th" - "mtl" + "ghc-prim" "pretty" - "stm" - "template-haskell" - "exceptions" - "deepseq" "containers" - "array" - "bytestring" - "directory" - "ghc-bignum" - "filepath" ]; } ({ lib, ... }: @@ -77,25 +77,25 @@ ({ lib, ... }: { packages = { - "directory".components.library.planned = lib.mkOverride 900 true; - "deepseq".components.library.planned = lib.mkOverride 900 true; - "base".components.library.planned = lib.mkOverride 900 true; - "filepath".components.library.planned = lib.mkOverride 900 true; + "alex".components.exes."alex".planned = lib.mkOverride 900 true; + "template-haskell".components.library.planned = lib.mkOverride 900 true; "transformers".components.library.planned = lib.mkOverride 900 true; - "mtl".components.library.planned = lib.mkOverride 900 true; + "array".components.library.planned = lib.mkOverride 900 true; + "unix".components.library.planned = lib.mkOverride 900 true; + "exceptions".components.library.planned = lib.mkOverride 900 true; + "directory".components.library.planned = lib.mkOverride 900 true; "containers".components.library.planned = lib.mkOverride 900 true; - "ghc-prim".components.library.planned = lib.mkOverride 900 true; - "pretty".components.library.planned = lib.mkOverride 900 true; + "stm".components.library.planned = lib.mkOverride 900 true; "bytestring".components.library.planned = lib.mkOverride 900 true; + "deepseq".components.library.planned = lib.mkOverride 900 true; + "filepath".components.library.planned = lib.mkOverride 900 true; "time".components.library.planned = lib.mkOverride 900 true; - "template-haskell".components.library.planned = lib.mkOverride 900 true; "ghc-bignum".components.library.planned = lib.mkOverride 900 true; - "stm".components.library.planned = lib.mkOverride 900 true; - "exceptions".components.library.planned = lib.mkOverride 900 true; - "alex".components.exes."alex".planned = lib.mkOverride 900 true; - "array".components.library.planned = lib.mkOverride 900 true; + "pretty".components.library.planned = lib.mkOverride 900 true; + "mtl".components.library.planned = lib.mkOverride 900 true; "ghc-boot-th".components.library.planned = lib.mkOverride 900 true; - "unix".components.library.planned = lib.mkOverride 900 true; + "base".components.library.planned = lib.mkOverride 900 true; + "ghc-prim".components.library.planned = lib.mkOverride 900 true; }; }) ]; diff --git a/materialized/alex-3.2.7.1/ghc964/plan.json b/materialized/alex-3.2.7.1/ghc964/plan.json index db9e5ada9e..600ad8cb7f 100644 --- a/materialized/alex-3.2.7.1/ghc964/plan.json +++ b/materialized/alex-3.2.7.1/ghc964/plan.json @@ -1 +1 @@ -{"cabal-version":"3.10.3.0","cabal-lib-version":"3.10.3.0","compiler-id":"ghc-9.6.4","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"alex-3.2.7.1-e-alex-837b076d3a2195b9bef1dc00749a295b535cc34e3d32ebf45e80e4d1fcf79efa","pkg-name":"alex","pkg-version":"3.2.7.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ab26a38cefae59403f746370e5a0c943b8d5bda098eb83f37052b2429ee780ce","pkg-src-sha256":"9bd2f1a27e8f1b2ffdb5b2fbd3ed82b6f0e85191459a1b24ffcbef4e68a81bec","depends":["array-0.5.6.0","base-4.18.2.0","containers-0.6.7","directory-1.3.8.1"],"exe-depends":[],"component-name":"exe:alex","bin-file":"/store/ghc-9.6.4/alex-3.2.7.1-e-alex-837b076d3a2195b9bef1dc00749a295b535cc34e3d32ebf45e80e4d1fcf79efa/bin/alex"},{"type":"pre-existing","id":"array-0.5.6.0","pkg-name":"array","pkg-version":"0.5.6.0","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"base-4.18.2.0","pkg-name":"base","pkg-version":"4.18.2.0","depends":["ghc-bignum-1.3","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"bytestring-0.11.5.3","pkg-name":"bytestring","pkg-version":"0.11.5.3","depends":["base-4.18.2.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["array-0.5.6.0","base-4.18.2.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["array-0.5.6.0","base-4.18.2.0","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"directory-1.3.8.1","pkg-name":"directory","pkg-version":"1.3.8.1","depends":["base-4.18.2.0","filepath-1.4.200.1","time-1.12.2","unix-2.8.4.0"]},{"type":"pre-existing","id":"exceptions-0.10.7","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.18.2.0","mtl-2.3.1","stm-2.5.1.0","template-haskell-2.20.0.0","transformers-0.6.1.0"]},{"type":"pre-existing","id":"filepath-1.4.200.1","pkg-name":"filepath","pkg-version":"1.4.200.1","depends":["base-4.18.2.0","bytestring-0.11.5.3","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.4","pkg-name":"ghc-boot-th","pkg-version":"9.6.4","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":[]},{"type":"pre-existing","id":"mtl-2.3.1","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.18.2.0","transformers-0.6.1.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.2.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.6.0","base-4.18.2.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.2.0","ghc-boot-th-9.6.4","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.18.2.0","deepseq-1.4.8.1"]},{"type":"pre-existing","id":"transformers-0.6.1.0","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.18.2.0","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"unix-2.8.4.0","pkg-name":"unix","pkg-version":"2.8.4.0","depends":["base-4.18.2.0","bytestring-0.11.5.3","filepath-1.4.200.1","time-1.12.2"]}],"targets":[{"pkg-name":"alex","pkg-version":"3.2.7.1","component-name":"exe:alex","available":[{"id":"alex-3.2.7.1-e-alex-837b076d3a2195b9bef1dc00749a295b535cc34e3d32ebf45e80e4d1fcf79efa","component-name":"exe:alex","build-by-default":true}]},{"pkg-name":"alex","pkg-version":"3.2.7.1","component-name":"test:tests","available":["TargetNotLocal"]},{"pkg-name":"array","pkg-version":"0.5.6.0","component-name":"lib","available":[{"id":"array-0.5.6.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"base","pkg-version":"4.18.2.0","component-name":"lib","available":[{"id":"base-4.18.2.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"bytestring","pkg-version":"0.11.5.3","component-name":"lib","available":[{"id":"bytestring-0.11.5.3","component-name":"lib","build-by-default":true}]},{"pkg-name":"containers","pkg-version":"0.6.7","component-name":"lib","available":[{"id":"containers-0.6.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"deepseq","pkg-version":"1.4.8.1","component-name":"lib","available":[{"id":"deepseq-1.4.8.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"directory","pkg-version":"1.3.8.1","component-name":"lib","available":[{"id":"directory-1.3.8.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"exceptions","pkg-version":"0.10.7","component-name":"lib","available":[{"id":"exceptions-0.10.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"filepath","pkg-version":"1.4.200.1","component-name":"lib","available":[{"id":"filepath-1.4.200.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-bignum","pkg-version":"1.3","component-name":"lib","available":[{"id":"ghc-bignum-1.3","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-boot-th","pkg-version":"9.6.4","component-name":"lib","available":[{"id":"ghc-boot-th-9.6.4","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-prim","pkg-version":"0.10.0","component-name":"lib","available":[{"id":"ghc-prim-0.10.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"mtl","pkg-version":"2.3.1","component-name":"lib","available":[{"id":"mtl-2.3.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"pretty","pkg-version":"1.1.3.6","component-name":"lib","available":[{"id":"pretty-1.1.3.6","component-name":"lib","build-by-default":true}]},{"pkg-name":"stm","pkg-version":"2.5.1.0","component-name":"lib","available":[{"id":"stm-2.5.1.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"template-haskell","pkg-version":"2.20.0.0","component-name":"lib","available":[{"id":"template-haskell-2.20.0.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"time","pkg-version":"1.12.2","component-name":"lib","available":[{"id":"time-1.12.2","component-name":"lib","build-by-default":true}]},{"pkg-name":"transformers","pkg-version":"0.6.1.0","component-name":"lib","available":[{"id":"transformers-0.6.1.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"unix","pkg-version":"2.8.4.0","component-name":"lib","available":[{"id":"unix-2.8.4.0","component-name":"lib","build-by-default":true}]}]} \ No newline at end of file +{"cabal-version":"3.14.2.0","cabal-lib-version":"3.14.2.0","compiler-id":"ghc-9.6.4","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"alex-3.2.7.1-e-alex-c5b60e970af9c50d00733b7c78ed0b6c82e148f72769e0033687c715881802ca","pkg-name":"alex","pkg-version":"3.2.7.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ab26a38cefae59403f746370e5a0c943b8d5bda098eb83f37052b2429ee780ce","pkg-src-sha256":"9bd2f1a27e8f1b2ffdb5b2fbd3ed82b6f0e85191459a1b24ffcbef4e68a81bec","depends":["array-0.5.6.0","base-4.18.2.0","containers-0.6.7","directory-1.3.8.1"],"exe-depends":[],"component-name":"exe:alex","bin-file":"/store/ghc-9.6.4/alex-3.2.7.1-e-alex-c5b60e970af9c50d00733b7c78ed0b6c82e148f72769e0033687c715881802ca/bin/alex"},{"type":"pre-existing","id":"array-0.5.6.0","pkg-name":"array","pkg-version":"0.5.6.0","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"base-4.18.2.0","pkg-name":"base","pkg-version":"4.18.2.0","depends":["ghc-prim-0.10.0","ghc-bignum-1.3"]},{"type":"pre-existing","id":"bytestring-0.11.5.3","pkg-name":"bytestring","pkg-version":"0.11.5.3","depends":["base-4.18.2.0","ghc-prim-0.10.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["base-4.18.2.0","array-0.5.6.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["base-4.18.2.0","array-0.5.6.0"]},{"type":"pre-existing","id":"directory-1.3.8.1","pkg-name":"directory","pkg-version":"1.3.8.1","depends":["base-4.18.2.0","time-1.12.2","filepath-1.4.200.1","unix-2.8.4.0"]},{"type":"pre-existing","id":"exceptions-0.10.7","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.18.2.0","stm-2.5.1.0","template-haskell-2.20.0.0","mtl-2.3.1","transformers-0.6.1.0"]},{"type":"pre-existing","id":"filepath-1.4.200.1","pkg-name":"filepath","pkg-version":"1.4.200.1","depends":["base-4.18.2.0","bytestring-0.11.5.3","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.4","pkg-name":"ghc-boot-th","pkg-version":"9.6.4","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":[]},{"type":"pre-existing","id":"mtl-2.3.1","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.18.2.0","transformers-0.6.1.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.2.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["base-4.18.2.0","array-0.5.6.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.2.0","ghc-boot-th-9.6.4","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.18.2.0","deepseq-1.4.8.1"]},{"type":"pre-existing","id":"transformers-0.6.1.0","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"unix-2.8.4.0","pkg-name":"unix","pkg-version":"2.8.4.0","depends":["base-4.18.2.0","bytestring-0.11.5.3","filepath-1.4.200.1","time-1.12.2"]}],"targets":[{"pkg-name":"alex","pkg-version":"3.2.7.1","component-name":"exe:alex","available":[{"id":"alex-3.2.7.1-e-alex-c5b60e970af9c50d00733b7c78ed0b6c82e148f72769e0033687c715881802ca","component-name":"exe:alex","build-by-default":true}]},{"pkg-name":"alex","pkg-version":"3.2.7.1","component-name":"test:tests","available":["TargetNotLocal"]},{"pkg-name":"array","pkg-version":"0.5.6.0","component-name":"lib","available":[{"id":"array-0.5.6.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"base","pkg-version":"4.18.2.0","component-name":"lib","available":[{"id":"base-4.18.2.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"bytestring","pkg-version":"0.11.5.3","component-name":"lib","available":[{"id":"bytestring-0.11.5.3","component-name":"lib","build-by-default":true}]},{"pkg-name":"containers","pkg-version":"0.6.7","component-name":"lib","available":[{"id":"containers-0.6.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"deepseq","pkg-version":"1.4.8.1","component-name":"lib","available":[{"id":"deepseq-1.4.8.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"directory","pkg-version":"1.3.8.1","component-name":"lib","available":[{"id":"directory-1.3.8.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"exceptions","pkg-version":"0.10.7","component-name":"lib","available":[{"id":"exceptions-0.10.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"filepath","pkg-version":"1.4.200.1","component-name":"lib","available":[{"id":"filepath-1.4.200.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-bignum","pkg-version":"1.3","component-name":"lib","available":[{"id":"ghc-bignum-1.3","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-boot-th","pkg-version":"9.6.4","component-name":"lib","available":[{"id":"ghc-boot-th-9.6.4","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-prim","pkg-version":"0.10.0","component-name":"lib","available":[{"id":"ghc-prim-0.10.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"mtl","pkg-version":"2.3.1","component-name":"lib","available":[{"id":"mtl-2.3.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"pretty","pkg-version":"1.1.3.6","component-name":"lib","available":[{"id":"pretty-1.1.3.6","component-name":"lib","build-by-default":true}]},{"pkg-name":"stm","pkg-version":"2.5.1.0","component-name":"lib","available":[{"id":"stm-2.5.1.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"template-haskell","pkg-version":"2.20.0.0","component-name":"lib","available":[{"id":"template-haskell-2.20.0.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"time","pkg-version":"1.12.2","component-name":"lib","available":[{"id":"time-1.12.2","component-name":"lib","build-by-default":true}]},{"pkg-name":"transformers","pkg-version":"0.6.1.0","component-name":"lib","available":[{"id":"transformers-0.6.1.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"unix","pkg-version":"2.8.4.0","component-name":"lib","available":[{"id":"unix-2.8.4.0","component-name":"lib","build-by-default":true}]}]} \ No newline at end of file diff --git a/materialized/bootstrap/ghc964/hscolour/default.nix b/materialized/bootstrap/ghc964/hscolour/default.nix index 3d98eff977..f0829f3ece 100644 --- a/materialized/bootstrap/ghc964/hscolour/default.nix +++ b/materialized/bootstrap/ghc964/hscolour/default.nix @@ -2,30 +2,30 @@ pkgs = hackage: { packages = { - ghc-prim.revision = hackage.ghc-prim."0.10.0".revisions.default; - base.revision = hackage.base."4.18.2.0".revisions.default; hscolour.revision = import ./cabal-files/hscolour.nix; + ghc-bignum.revision = hackage.ghc-bignum."1.3".revisions.default; + deepseq.revision = hackage.deepseq."1.4.8.1".revisions.default; + base.revision = hackage.base."4.18.2.0".revisions.default; + array.revision = hackage.array."0.5.6.0".revisions.default; + template-haskell.revision = hackage.template-haskell."2.20.0.0".revisions.default; ghc-boot-th.revision = hackage.ghc-boot-th."9.6.4".revisions.default; + ghc-prim.revision = hackage.ghc-prim."0.10.0".revisions.default; pretty.revision = hackage.pretty."1.1.3.6".revisions.default; - template-haskell.revision = hackage.template-haskell."2.20.0.0".revisions.default; - deepseq.revision = hackage.deepseq."1.4.8.1".revisions.default; containers.revision = hackage.containers."0.6.7".revisions.default; - array.revision = hackage.array."0.5.6.0".revisions.default; - ghc-bignum.revision = hackage.ghc-bignum."1.3".revisions.default; }; compiler = { version = "9.6.4"; nix-name = "ghc964"; packages = { - "containers" = "0.6.7"; - "ghc-prim" = "0.10.0"; "ghc-boot-th" = "9.6.4"; - "base" = "4.18.2.0"; - "ghc-bignum" = "1.3"; - "template-haskell" = "2.20.0.0"; "pretty" = "1.1.3.6"; - "deepseq" = "1.4.8.1"; "array" = "0.5.6.0"; + "ghc-prim" = "0.10.0"; + "template-haskell" = "2.20.0.0"; + "ghc-bignum" = "1.3"; + "deepseq" = "1.4.8.1"; + "containers" = "0.6.7"; + "base" = "4.18.2.0"; }; }; }; @@ -34,15 +34,15 @@ modules = [ { preExistingPkgs = [ - "ghc-prim" + "ghc-bignum" + "deepseq" "base" + "array" + "template-haskell" "ghc-boot-th" + "ghc-prim" "pretty" - "template-haskell" - "deepseq" "containers" - "array" - "ghc-bignum" ]; } ({ lib, ... }: @@ -50,17 +50,17 @@ ({ lib, ... }: { packages = { + "template-haskell".components.library.planned = lib.mkOverride 900 true; "hscolour".components.library.planned = lib.mkOverride 900 true; - "deepseq".components.library.planned = lib.mkOverride 900 true; - "base".components.library.planned = lib.mkOverride 900 true; + "array".components.library.planned = lib.mkOverride 900 true; "hscolour".components.exes."HsColour".planned = lib.mkOverride 900 true; "containers".components.library.planned = lib.mkOverride 900 true; - "ghc-prim".components.library.planned = lib.mkOverride 900 true; - "pretty".components.library.planned = lib.mkOverride 900 true; - "template-haskell".components.library.planned = lib.mkOverride 900 true; + "deepseq".components.library.planned = lib.mkOverride 900 true; "ghc-bignum".components.library.planned = lib.mkOverride 900 true; - "array".components.library.planned = lib.mkOverride 900 true; + "pretty".components.library.planned = lib.mkOverride 900 true; "ghc-boot-th".components.library.planned = lib.mkOverride 900 true; + "base".components.library.planned = lib.mkOverride 900 true; + "ghc-prim".components.library.planned = lib.mkOverride 900 true; }; }) ]; diff --git a/materialized/bootstrap/ghc964/hscolour/plan.json b/materialized/bootstrap/ghc964/hscolour/plan.json index 5ad711e923..5b11a0004f 100644 --- a/materialized/bootstrap/ghc964/hscolour/plan.json +++ b/materialized/bootstrap/ghc964/hscolour/plan.json @@ -1 +1 @@ -{"cabal-version":"3.10.3.0","cabal-lib-version":"3.10.3.0","compiler-id":"ghc-9.6.4","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"array-0.5.6.0","pkg-name":"array","pkg-version":"0.5.6.0","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"base-4.18.2.0","pkg-name":"base","pkg-version":"4.18.2.0","depends":["ghc-bignum-1.3","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["array-0.5.6.0","base-4.18.2.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["array-0.5.6.0","base-4.18.2.0","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.4","pkg-name":"ghc-boot-th","pkg-version":"9.6.4","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":[]},{"type":"configured","id":"hscolour-1.24.4-ae73c63c7b49cbcbb281d7a168793368b2052e424b3de962928768beee41ac1c","pkg-name":"hscolour","pkg-version":"1.24.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3a329fa0ea9138f651088f1fa25522aabeab0eb591932d3fd56c66736bbe78be","pkg-src-sha256":"243332b082294117f37b2c2c68079fa61af68b36223b3fc07594f245e0e5321d","components":{"lib":{"depends":["base-4.18.2.0","containers-0.6.7"],"exe-depends":[]},"exe:HsColour":{"depends":["base-4.18.2.0","containers-0.6.7"],"exe-depends":[],"bin-file":"/store/ghc-9.6.4/hscolour-1.24.4-ae73c63c7b49cbcbb281d7a168793368b2052e424b3de962928768beee41ac1c/bin/HsColour"}}},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.2.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.2.0","ghc-boot-th-9.6.4","ghc-prim-0.10.0","pretty-1.1.3.6"]}],"targets":[{"pkg-name":"array","pkg-version":"0.5.6.0","component-name":"lib","available":[{"id":"array-0.5.6.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"base","pkg-version":"4.18.2.0","component-name":"lib","available":[{"id":"base-4.18.2.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"containers","pkg-version":"0.6.7","component-name":"lib","available":[{"id":"containers-0.6.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"deepseq","pkg-version":"1.4.8.1","component-name":"lib","available":[{"id":"deepseq-1.4.8.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-bignum","pkg-version":"1.3","component-name":"lib","available":[{"id":"ghc-bignum-1.3","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-boot-th","pkg-version":"9.6.4","component-name":"lib","available":[{"id":"ghc-boot-th-9.6.4","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-prim","pkg-version":"0.10.0","component-name":"lib","available":[{"id":"ghc-prim-0.10.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"hscolour","pkg-version":"1.24.4","component-name":"lib","available":[{"id":"hscolour-1.24.4-ae73c63c7b49cbcbb281d7a168793368b2052e424b3de962928768beee41ac1c","component-name":"lib","build-by-default":true}]},{"pkg-name":"hscolour","pkg-version":"1.24.4","component-name":"exe:HsColour","available":[{"id":"hscolour-1.24.4-ae73c63c7b49cbcbb281d7a168793368b2052e424b3de962928768beee41ac1c","component-name":"exe:HsColour","build-by-default":true}]},{"pkg-name":"pretty","pkg-version":"1.1.3.6","component-name":"lib","available":[{"id":"pretty-1.1.3.6","component-name":"lib","build-by-default":true}]},{"pkg-name":"template-haskell","pkg-version":"2.20.0.0","component-name":"lib","available":[{"id":"template-haskell-2.20.0.0","component-name":"lib","build-by-default":true}]}]} \ No newline at end of file +{"cabal-version":"3.14.2.0","cabal-lib-version":"3.14.2.0","compiler-id":"ghc-9.6.4","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"array-0.5.6.0","pkg-name":"array","pkg-version":"0.5.6.0","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"base-4.18.2.0","pkg-name":"base","pkg-version":"4.18.2.0","depends":["ghc-prim-0.10.0","ghc-bignum-1.3"]},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["base-4.18.2.0","array-0.5.6.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["base-4.18.2.0","array-0.5.6.0"]},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.4","pkg-name":"ghc-boot-th","pkg-version":"9.6.4","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":[]},{"type":"configured","id":"hscolour-1.24.4-2dee42395a9bec5520539c55106f7456533af466e4eea1b27aab855e47c5ce3e","pkg-name":"hscolour","pkg-version":"1.24.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3a329fa0ea9138f651088f1fa25522aabeab0eb591932d3fd56c66736bbe78be","pkg-src-sha256":"243332b082294117f37b2c2c68079fa61af68b36223b3fc07594f245e0e5321d","components":{"lib":{"depends":["base-4.18.2.0","containers-0.6.7"],"exe-depends":[]},"exe:HsColour":{"depends":["base-4.18.2.0","containers-0.6.7"],"exe-depends":[],"bin-file":"/store/ghc-9.6.4/hscolour-1.24.4-2dee42395a9bec5520539c55106f7456533af466e4eea1b27aab855e47c5ce3e/bin/HsColour"}}},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.2.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.2.0","ghc-boot-th-9.6.4","ghc-prim-0.10.0","pretty-1.1.3.6"]}],"targets":[{"pkg-name":"array","pkg-version":"0.5.6.0","component-name":"lib","available":[{"id":"array-0.5.6.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"base","pkg-version":"4.18.2.0","component-name":"lib","available":[{"id":"base-4.18.2.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"containers","pkg-version":"0.6.7","component-name":"lib","available":[{"id":"containers-0.6.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"deepseq","pkg-version":"1.4.8.1","component-name":"lib","available":[{"id":"deepseq-1.4.8.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-bignum","pkg-version":"1.3","component-name":"lib","available":[{"id":"ghc-bignum-1.3","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-boot-th","pkg-version":"9.6.4","component-name":"lib","available":[{"id":"ghc-boot-th-9.6.4","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-prim","pkg-version":"0.10.0","component-name":"lib","available":[{"id":"ghc-prim-0.10.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"hscolour","pkg-version":"1.24.4","component-name":"lib","available":[{"id":"hscolour-1.24.4-2dee42395a9bec5520539c55106f7456533af466e4eea1b27aab855e47c5ce3e","component-name":"lib","build-by-default":true}]},{"pkg-name":"hscolour","pkg-version":"1.24.4","component-name":"exe:HsColour","available":[{"id":"hscolour-1.24.4-2dee42395a9bec5520539c55106f7456533af466e4eea1b27aab855e47c5ce3e","component-name":"exe:HsColour","build-by-default":true}]},{"pkg-name":"pretty","pkg-version":"1.1.3.6","component-name":"lib","available":[{"id":"pretty-1.1.3.6","component-name":"lib","build-by-default":true}]},{"pkg-name":"template-haskell","pkg-version":"2.20.0.0","component-name":"lib","available":[{"id":"template-haskell-2.20.0.0","component-name":"lib","build-by-default":true}]}]} \ No newline at end of file diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/base.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/base.nix new file mode 100644 index 0000000000..686c528bf3 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/base.nix @@ -0,0 +1,34 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.20.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/deriveConstants.nix new file mode 100644 index 0000000000..135cdd02f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/genprimopcode.nix new file mode 100644 index 0000000000..49bbe516ba --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-bignum.nix new file mode 100644 index 0000000000..46af6e0e9f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-boot.nix new file mode 100644 index 0000000000..2774588f49 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-boot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-heap.nix new file mode 100644 index 0000000000..115ffe5153 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.ge "9.9") (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-internal.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-internal.nix new file mode 100644 index 0000000000..e964eeff98 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-internal.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-internal"; version = "9.1003.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Basic libraries"; + description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-platform.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-platform.nix new file mode 100644 index 0000000000..9a99aece09 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-platform.nix @@ -0,0 +1,31 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-platform"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Rodrigo Mesquita"; + homepage = ""; + url = ""; + synopsis = "Platform information used by GHC and friends"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-prim.nix new file mode 100644 index 0000000000..c10529f48d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.12.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-toolchain.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-toolchain.nix new file mode 100644 index 0000000000..a46ace1fa2 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc-toolchain.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.4"; + identifier = { name = "ghc-toolchain"; version = "0.1.0.0"; }; + license = "NONE"; + copyright = "(c) The GHC Developers"; + maintainer = "ben@well-typed.com"; + author = "Ben Gamari"; + homepage = ""; + url = ""; + synopsis = "Utility for managing GHC target toolchains"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc.nix new file mode 100644 index 0000000000..912ae2202f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information.\n\n__This package is not PVP-compliant.__\n\nThis package directly exposes GHC internals, which can and do change with\nevery release."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghci.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghci.nix new file mode 100644 index 0000000000..a52bd8461a --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/hpc.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/hpc.nix new file mode 100644 index 0000000000..fe40a941c5 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/integer-gmp.nix new file mode 100644 index 0000000000..8594679a59 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/integer-gmp.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/iserv.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/iserv.nix new file mode 100644 index 0000000000..b7657ef853 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/remote-iserv.nix new file mode 100644 index 0000000000..093cce4b0e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103-aarch64/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/template-haskell.nix new file mode 100644 index 0000000000..b975251e7e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103-aarch64/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.22.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/base.nix b/materialized/ghc-boot-packages-nix/ghc9103/base.nix new file mode 100644 index 0000000000..686c528bf3 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/base.nix @@ -0,0 +1,34 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.20.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc9103/deriveConstants.nix new file mode 100644 index 0000000000..135cdd02f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc9103/genprimopcode.nix new file mode 100644 index 0000000000..49bbe516ba --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc9103/ghc-bignum.nix new file mode 100644 index 0000000000..46af6e0e9f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc9103/ghc-boot.nix new file mode 100644 index 0000000000..2774588f49 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/ghc-boot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc9103/ghc-heap.nix new file mode 100644 index 0000000000..115ffe5153 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.ge "9.9") (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/ghc-internal.nix b/materialized/ghc-boot-packages-nix/ghc9103/ghc-internal.nix new file mode 100644 index 0000000000..e964eeff98 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/ghc-internal.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-internal"; version = "9.1003.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Basic libraries"; + description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/ghc-platform.nix b/materialized/ghc-boot-packages-nix/ghc9103/ghc-platform.nix new file mode 100644 index 0000000000..9a99aece09 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/ghc-platform.nix @@ -0,0 +1,31 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-platform"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Rodrigo Mesquita"; + homepage = ""; + url = ""; + synopsis = "Platform information used by GHC and friends"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc9103/ghc-prim.nix new file mode 100644 index 0000000000..c10529f48d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.12.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/ghc-toolchain.nix b/materialized/ghc-boot-packages-nix/ghc9103/ghc-toolchain.nix new file mode 100644 index 0000000000..a46ace1fa2 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/ghc-toolchain.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.4"; + identifier = { name = "ghc-toolchain"; version = "0.1.0.0"; }; + license = "NONE"; + copyright = "(c) The GHC Developers"; + maintainer = "ben@well-typed.com"; + author = "Ben Gamari"; + homepage = ""; + url = ""; + synopsis = "Utility for managing GHC target toolchains"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/ghc.nix b/materialized/ghc-boot-packages-nix/ghc9103/ghc.nix new file mode 100644 index 0000000000..912ae2202f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information.\n\n__This package is not PVP-compliant.__\n\nThis package directly exposes GHC internals, which can and do change with\nevery release."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/ghci.nix b/materialized/ghc-boot-packages-nix/ghc9103/ghci.nix new file mode 100644 index 0000000000..a52bd8461a --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/hpc.nix b/materialized/ghc-boot-packages-nix/ghc9103/hpc.nix new file mode 100644 index 0000000000..fe40a941c5 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc9103/integer-gmp.nix new file mode 100644 index 0000000000..8594679a59 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/integer-gmp.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/iserv.nix b/materialized/ghc-boot-packages-nix/ghc9103/iserv.nix new file mode 100644 index 0000000000..b7657ef853 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc9103/remote-iserv.nix new file mode 100644 index 0000000000..093cce4b0e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc9103/template-haskell.nix new file mode 100644 index 0000000000..b975251e7e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.22.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/base.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/base.nix new file mode 100644 index 0000000000..686c528bf3 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/base.nix @@ -0,0 +1,34 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.20.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/deriveConstants.nix new file mode 100644 index 0000000000..135cdd02f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/genprimopcode.nix new file mode 100644 index 0000000000..49bbe516ba --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-bignum.nix new file mode 100644 index 0000000000..46af6e0e9f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-boot.nix new file mode 100644 index 0000000000..2774588f49 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-boot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-heap.nix new file mode 100644 index 0000000000..115ffe5153 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.ge "9.9") (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-internal.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-internal.nix new file mode 100644 index 0000000000..e964eeff98 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-internal.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-internal"; version = "9.1003.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Basic libraries"; + description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-platform.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-platform.nix new file mode 100644 index 0000000000..9a99aece09 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-platform.nix @@ -0,0 +1,31 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-platform"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Rodrigo Mesquita"; + homepage = ""; + url = ""; + synopsis = "Platform information used by GHC and friends"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-prim.nix new file mode 100644 index 0000000000..c10529f48d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.12.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-toolchain.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-toolchain.nix new file mode 100644 index 0000000000..a46ace1fa2 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc-toolchain.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.4"; + identifier = { name = "ghc-toolchain"; version = "0.1.0.0"; }; + license = "NONE"; + copyright = "(c) The GHC Developers"; + maintainer = "ben@well-typed.com"; + author = "Ben Gamari"; + homepage = ""; + url = ""; + synopsis = "Utility for managing GHC target toolchains"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc.nix new file mode 100644 index 0000000000..912ae2202f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information.\n\n__This package is not PVP-compliant.__\n\nThis package directly exposes GHC internals, which can and do change with\nevery release."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghci.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghci.nix new file mode 100644 index 0000000000..a52bd8461a --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/hpc.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/hpc.nix new file mode 100644 index 0000000000..fe40a941c5 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/integer-gmp.nix new file mode 100644 index 0000000000..8594679a59 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/integer-gmp.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/iserv.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/iserv.nix new file mode 100644 index 0000000000..b7657ef853 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/remote-iserv.nix new file mode 100644 index 0000000000..093cce4b0e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/template-haskell.nix new file mode 100644 index 0000000000..b975251e7e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm-aarch64/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.22.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/base.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/base.nix new file mode 100644 index 0000000000..686c528bf3 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/base.nix @@ -0,0 +1,34 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "base"; version = "4.20.2.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Core data structures and operations"; + description = "Haskell's base library provides, among other things, core types (e.g. [Bool](\"Data.Bool\") and [Int](\"Data.Int\")),\ndata structures (e.g. [List](\"Data.List\"), [Tuple](\"Data.Tuple\") and [Maybe](\"Data.Maybe\")),\nthe [Exception](\"Control.Exception\") mechanism, and the [IO](\"System.IO\") & [Concurrency](\"Control.Concurrent\") operations.\nThe \"Prelude\" module, which is imported by default, exposes a curated set of types and functions from other modules.\n\nOther data structures like [Map](https://hackage.haskell.org/package/containers/docs/Data-Map.html),\n[Set](https://hackage.haskell.org/package/containers/docs/Data-Set.html) are available in the [containers](https://hackage.haskell.org/package/containers) library.\nTo work with textual data, use the [text](https://hackage.haskell.org/package/text/docs/Data-Text.html) library."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/deriveConstants.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/deriveConstants.nix new file mode 100644 index 0000000000..135cdd02f6 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/deriveConstants.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "deriveConstants"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Derive header files containing various constants for the GHC build process"; + description = "This utility is responsible for generating a number of C header files\nneeded during the GHC build process. See @rts/include/ghc.mk@ in the GHC\nbuild system for details."; + buildType = "Simple"; + }; + components = { + exes = { + "deriveConstants" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/genprimopcode.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/genprimopcode.nix new file mode 100644 index 0000000000..49bbe516ba --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/genprimopcode.nix @@ -0,0 +1,40 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { build-tool-depends = true; }; + package = { + specVersion = "2.0"; + identifier = { name = "genprimopcode"; version = "0.1"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "Generates various files implementing GHC's primitive operations."; + description = "This utility reads a textual description of GHC's primitive operations\n(@primops.txt.pp@) and produces a number of outputs. These include,\n\n* the @GHC.Prim@ module included in the @ghc-prim@ package.\n* the @GHC.PrimopWrappers@ module included in the @ghc-prim@ package.\n* an LaTeX document describing the primitive operations."; + buildType = "Simple"; + }; + components = { + exes = { + "genprimopcode" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + ]; + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-bignum.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-bignum.nix new file mode 100644 index 0000000000..46af6e0e9f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-bignum.nix @@ -0,0 +1,37 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { native = false; ffi = false; gmp = false; check = false; }; + package = { + specVersion = "2.0"; + identifier = { name = "ghc-bignum"; version = "1.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = "Sylvain Henry"; + homepage = ""; + url = ""; + synopsis = "GHC BigNum library"; + description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + ]; + buildable = (if !flags.native && !flags.gmp && !flags.ffi + then false + else true) && (if flags.native && (flags.gmp || flags.ffi) + then false + else true) && (if flags.gmp && flags.ffi then false else true); + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-boot.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-boot.nix new file mode 100644 index 0000000000..2774588f49 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-boot.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-boot"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Shared functionality between GHC and its boot libraries"; + description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n.\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n.\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-heap.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-heap.nix new file mode 100644 index 0000000000..115ffe5153 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-heap.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-heap"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Functions for walking GHC's heap"; + description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + ] ++ pkgs.lib.optional (compiler.isGhc && compiler.version.ge "9.9") (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-internal.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-internal.nix new file mode 100644 index 0000000000..e964eeff98 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-internal.nix @@ -0,0 +1,49 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-internal"; version = "9.1003.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "Core Libraries Committee "; + author = ""; + homepage = ""; + url = ""; + synopsis = "Basic libraries"; + description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities."; + buildType = "Configure"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + ]; + libs = pkgs.lib.optionals (system.isWindows) [ + (pkgs."wsock32" or (errorHandler.sysDepError "wsock32")) + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."shell32" or (errorHandler.sysDepError "shell32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."kernel32" or (errorHandler.sysDepError "kernel32")) + (pkgs."advapi32" or (errorHandler.sysDepError "advapi32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ws2_32" or (errorHandler.sysDepError "ws2_32")) + (pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi")) + (pkgs."ole32" or (errorHandler.sysDepError "ole32")) + (pkgs."rpcrt4" or (errorHandler.sysDepError "rpcrt4")) + (pkgs."ntdll" or (errorHandler.sysDepError "ntdll")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-platform.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-platform.nix new file mode 100644 index 0000000000..9a99aece09 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-platform.nix @@ -0,0 +1,31 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "3.0"; + identifier = { name = "ghc-platform"; version = "0.1.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Rodrigo Mesquita"; + homepage = ""; + url = ""; + synopsis = "Platform information used by GHC and friends"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ (hsPkgs."base" or (errorHandler.buildDepError "base")) ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-prim.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-prim.nix new file mode 100644 index 0000000000..c10529f48d --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-prim.nix @@ -0,0 +1,47 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { need-atomic = false; }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc-prim"; version = "0.12.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "GHC primitives"; + description = "This package contains the primitive types and operations supplied by GHC.\nIt is an internal package, only for the use of GHC developers.\nGHC users should not use it! If you do use it then expect\nbreaking changes at any time without warning. You should prefer\nto import @GHC.Exts@ from the @base@ package instead."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + ]; + }; + components = { + "library" = { + depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ]; + libs = (pkgs.lib.optionals (system.isWindows) [ + (pkgs."user32" or (errorHandler.sysDepError "user32")) + (pkgs."mingw32" or (errorHandler.sysDepError "mingw32")) + (pkgs."mingwex" or (errorHandler.sysDepError "mingwex")) + (pkgs."ucrt" or (errorHandler.sysDepError "ucrt")) + ] ++ pkgs.lib.optionals (system.isLinux) [ + (pkgs."c" or (errorHandler.sysDepError "c")) + (pkgs."m" or (errorHandler.sysDepError "m")) + ]) ++ pkgs.lib.optional (flags.need-atomic) (pkgs."atomic" or (errorHandler.sysDepError "atomic")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-toolchain.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-toolchain.nix new file mode 100644 index 0000000000..a46ace1fa2 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc-toolchain.nix @@ -0,0 +1,39 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.4"; + identifier = { name = "ghc-toolchain"; version = "0.1.0.0"; }; + license = "NONE"; + copyright = "(c) The GHC Developers"; + maintainer = "ben@well-typed.com"; + author = "Ben Gamari"; + homepage = ""; + url = ""; + synopsis = "Utility for managing GHC target toolchains"; + description = ""; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."text" or (errorHandler.buildDepError "text")) + (hsPkgs."ghc-platform" or (errorHandler.buildDepError "ghc-platform")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc.nix new file mode 100644 index 0000000000..912ae2202f --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghc.nix @@ -0,0 +1,81 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { + internal-interpreter = false; + dynamic-system-linker = true; + build-tool-depends = true; + with-libzstd = false; + static-libzstd = false; + hadrian-stage0 = false; + }; + package = { + specVersion = "2.2"; + identifier = { name = "ghc"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "glasgow-haskell-users@haskell.org"; + author = "The GHC Team"; + homepage = "http://www.haskell.org/ghc/"; + url = ""; + synopsis = "The GHC API"; + description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee \nfor more information.\n\n__This package is not PVP-compliant.__\n\nThis package directly exposes GHC internals, which can and do change with\nevery release."; + buildType = "Custom"; + setup-depends = [ + (hsPkgs.pkgsBuildBuild.base or (pkgs.pkgsBuildBuild.base or (errorHandler.setupDepError "base"))) + (hsPkgs.pkgsBuildBuild.Cabal or (pkgs.pkgsBuildBuild.Cabal or (errorHandler.setupDepError "Cabal"))) + (hsPkgs.pkgsBuildBuild.directory or (pkgs.pkgsBuildBuild.directory or (errorHandler.setupDepError "directory"))) + (hsPkgs.pkgsBuildBuild.process or (pkgs.pkgsBuildBuild.process or (errorHandler.setupDepError "process"))) + (hsPkgs.pkgsBuildBuild.filepath or (pkgs.pkgsBuildBuild.filepath or (errorHandler.setupDepError "filepath"))) + (hsPkgs.pkgsBuildBuild.containers or (pkgs.pkgsBuildBuild.containers or (errorHandler.setupDepError "containers"))) + ]; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."process" or (errorHandler.buildDepError "process")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."hpc" or (errorHandler.buildDepError "hpc")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + (hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions")) + (hsPkgs."semaphore-compat" or (errorHandler.buildDepError "semaphore-compat")) + (hsPkgs."stm" or (errorHandler.buildDepError "stm")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ (if system.isWindows + then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] + else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); + libs = pkgs.lib.optionals (flags.with-libzstd) (if flags.static-libzstd + then pkgs.lib.optional (!system.isOsx) (pkgs.":libzstd.a" or (errorHandler.sysDepError ":libzstd.a")) + else [ (pkgs."zstd" or (errorHandler.sysDepError "zstd")) ]); + build-tools = pkgs.lib.optionals (flags.build-tool-depends) [ + (hsPkgs.pkgsBuildBuild.alex.components.exes.alex or (pkgs.pkgsBuildBuild.alex or (errorHandler.buildToolDepError "alex:alex"))) + (hsPkgs.pkgsBuildBuild.happy.components.exes.happy or (pkgs.pkgsBuildBuild.happy or (errorHandler.buildToolDepError "happy:happy"))) + (hsPkgs.pkgsBuildBuild.genprimopcode.components.exes.genprimopcode or (pkgs.pkgsBuildBuild.genprimopcode or (errorHandler.buildToolDepError "genprimopcode:genprimopcode"))) + (hsPkgs.pkgsBuildBuild.deriveConstants.components.exes.deriveConstants or (pkgs.pkgsBuildBuild.deriveConstants or (errorHandler.buildToolDepError "deriveConstants:deriveConstants"))) + ]; + buildable = if flags.with-libzstd + then if flags.static-libzstd + then if system.isOsx then false else true + else true + else true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/ghci.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghci.nix new file mode 100644 index 0000000000..a52bd8461a --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/ghci.nix @@ -0,0 +1,45 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = { internal-interpreter = false; }; + package = { + specVersion = "1.10"; + identifier = { name = "ghci"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "The library supporting GHC's interactive interpreter"; + description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."rts" or (errorHandler.buildDepError "rts")) + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot")) + (hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap")) + (hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell")) + (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/hpc.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/hpc.nix new file mode 100644 index 0000000000..fe40a941c5 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/hpc.nix @@ -0,0 +1,38 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.2"; + identifier = { name = "hpc"; version = "0.7.0.2"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "ghc-devs@haskell.org"; + author = "Andy Gill"; + homepage = ""; + url = ""; + synopsis = "Code Coverage Library for Haskell"; + description = "This package provides the code coverage library for Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."directory" or (errorHandler.buildDepError "directory")) + (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) + (hsPkgs."time" or (errorHandler.buildDepError "time")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/integer-gmp.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/integer-gmp.nix new file mode 100644 index 0000000000..8594679a59 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/integer-gmp.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "2.0"; + identifier = { name = "integer-gmp"; version = "1.1"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "hvr@gnu.org"; + author = "Herbert Valerio Riedel"; + homepage = "https://www.haskell.org/ghc/"; + url = ""; + synopsis = "Integer library based on GMP"; + description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum")) + (hsPkgs."ghc-internal" or (errorHandler.buildDepError "ghc-internal")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/iserv.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/iserv.nix new file mode 100644 index 0000000000..b7657ef853 --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/iserv.nix @@ -0,0 +1,41 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "iserv"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "XXX"; + author = "XXX"; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere."; + buildType = "Simple"; + }; + components = { + exes = { + "iserv" = { + depends = [ + (hsPkgs."array" or (errorHandler.buildDepError "array")) + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."binary" or (errorHandler.buildDepError "binary")) + (hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring")) + (hsPkgs."containers" or (errorHandler.buildDepError "containers")) + (hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ] ++ pkgs.lib.optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix")); + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/remote-iserv.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/remote-iserv.nix new file mode 100644 index 0000000000..093cce4b0e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/remote-iserv.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "remote-iserv"; version = "9.10.3"; }; + license = "BSD-3-Clause"; + copyright = "XXX"; + maintainer = "Moritz Angermann "; + author = "Moritz Angermann "; + homepage = ""; + url = ""; + synopsis = "iserv allows GHC to delegate Template Haskell computations"; + description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running the GHCi server on a given port to which iserv-proxy will\nthen connect."; + buildType = "Simple"; + }; + components = { + exes = { + "remote-iserv" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghci" or (errorHandler.buildDepError "ghci")) + ]; + buildable = true; + }; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/ghc-boot-packages-nix/ghc9103llvm/template-haskell.nix b/materialized/ghc-boot-packages-nix/ghc9103llvm/template-haskell.nix new file mode 100644 index 0000000000..b975251e7e --- /dev/null +++ b/materialized/ghc-boot-packages-nix/ghc9103llvm/template-haskell.nix @@ -0,0 +1,36 @@ +{ system + , compiler + , flags + , pkgs + , hsPkgs + , pkgconfPkgs + , errorHandler + , config + , ... }: + { + flags = {}; + package = { + specVersion = "1.10"; + identifier = { name = "template-haskell"; version = "2.22.0.0"; }; + license = "BSD-3-Clause"; + copyright = ""; + maintainer = "libraries@haskell.org"; + author = ""; + homepage = ""; + url = ""; + synopsis = "Support library for Template Haskell"; + description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee for more\ninformation."; + buildType = "Simple"; + }; + components = { + "library" = { + depends = [ + (hsPkgs."base" or (errorHandler.buildDepError "base")) + (hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th")) + (hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim")) + (hsPkgs."pretty" or (errorHandler.buildDepError "pretty")) + ]; + buildable = true; + }; + }; + } // rec { src = pkgs.lib.mkDefault ./.; } diff --git a/materialized/happy-1.20.0/ghc964/default.nix b/materialized/happy-1.20.0/ghc964/default.nix index e71c7287db..a2266468ec 100644 --- a/materialized/happy-1.20.0/ghc964/default.nix +++ b/materialized/happy-1.20.0/ghc964/default.nix @@ -2,32 +2,32 @@ pkgs = hackage: { packages = { - ghc-prim.revision = hackage.ghc-prim."0.10.0".revisions.default; + ghc-bignum.revision = hackage.ghc-bignum."1.3".revisions.default; transformers.revision = import ./cabal-files/transformers.nix; + deepseq.revision = hackage.deepseq."1.4.8.1".revisions.default; + mtl.revision = import ./cabal-files/mtl.nix; base.revision = hackage.base."4.18.2.0".revisions.default; + array.revision = hackage.array."0.5.6.0".revisions.default; + happy.revision = import ./cabal-files/happy.nix; + template-haskell.revision = hackage.template-haskell."2.20.0.0".revisions.default; ghc-boot-th.revision = hackage.ghc-boot-th."9.6.4".revisions.default; - mtl.revision = import ./cabal-files/mtl.nix; + ghc-prim.revision = hackage.ghc-prim."0.10.0".revisions.default; pretty.revision = hackage.pretty."1.1.3.6".revisions.default; - template-haskell.revision = hackage.template-haskell."2.20.0.0".revisions.default; - deepseq.revision = hackage.deepseq."1.4.8.1".revisions.default; containers.revision = hackage.containers."0.6.7".revisions.default; - array.revision = hackage.array."0.5.6.0".revisions.default; - happy.revision = import ./cabal-files/happy.nix; - ghc-bignum.revision = hackage.ghc-bignum."1.3".revisions.default; }; compiler = { version = "9.6.4"; nix-name = "ghc964"; packages = { - "containers" = "0.6.7"; - "ghc-prim" = "0.10.0"; "ghc-boot-th" = "9.6.4"; - "base" = "4.18.2.0"; - "ghc-bignum" = "1.3"; - "template-haskell" = "2.20.0.0"; "pretty" = "1.1.3.6"; - "deepseq" = "1.4.8.1"; "array" = "0.5.6.0"; + "ghc-prim" = "0.10.0"; + "template-haskell" = "2.20.0.0"; + "ghc-bignum" = "1.3"; + "deepseq" = "1.4.8.1"; + "containers" = "0.6.7"; + "base" = "4.18.2.0"; }; }; }; @@ -36,15 +36,15 @@ modules = [ { preExistingPkgs = [ - "ghc-prim" + "ghc-bignum" + "deepseq" "base" + "array" + "template-haskell" "ghc-boot-th" + "ghc-prim" "pretty" - "template-haskell" - "deepseq" "containers" - "array" - "ghc-bignum" ]; } ({ lib, ... }: @@ -52,18 +52,18 @@ ({ lib, ... }: { packages = { - "deepseq".components.library.planned = lib.mkOverride 900 true; - "base".components.library.planned = lib.mkOverride 900 true; + "template-haskell".components.library.planned = lib.mkOverride 900 true; "transformers".components.library.planned = lib.mkOverride 900 true; - "mtl".components.library.planned = lib.mkOverride 900 true; + "array".components.library.planned = lib.mkOverride 900 true; "containers".components.library.planned = lib.mkOverride 900 true; - "ghc-prim".components.library.planned = lib.mkOverride 900 true; - "pretty".components.library.planned = lib.mkOverride 900 true; + "deepseq".components.library.planned = lib.mkOverride 900 true; "happy".components.exes."happy".planned = lib.mkOverride 900 true; - "template-haskell".components.library.planned = lib.mkOverride 900 true; "ghc-bignum".components.library.planned = lib.mkOverride 900 true; - "array".components.library.planned = lib.mkOverride 900 true; + "pretty".components.library.planned = lib.mkOverride 900 true; + "mtl".components.library.planned = lib.mkOverride 900 true; "ghc-boot-th".components.library.planned = lib.mkOverride 900 true; + "base".components.library.planned = lib.mkOverride 900 true; + "ghc-prim".components.library.planned = lib.mkOverride 900 true; }; }) ]; diff --git a/materialized/happy-1.20.0/ghc964/plan.json b/materialized/happy-1.20.0/ghc964/plan.json index 016362f4f1..c2e25030e0 100644 --- a/materialized/happy-1.20.0/ghc964/plan.json +++ b/materialized/happy-1.20.0/ghc964/plan.json @@ -1 +1 @@ -{"cabal-version":"3.10.3.0","cabal-lib-version":"3.10.3.0","compiler-id":"ghc-9.6.4","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"array-0.5.6.0","pkg-name":"array","pkg-version":"0.5.6.0","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"base-4.18.2.0","pkg-name":"base","pkg-version":"4.18.2.0","depends":["ghc-bignum-1.3","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["array-0.5.6.0","base-4.18.2.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["array-0.5.6.0","base-4.18.2.0","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.4","pkg-name":"ghc-boot-th","pkg-version":"9.6.4","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":[]},{"type":"configured","id":"happy-1.20.0-e-happy-8d0124c13474e7e45ce88502055cdf0a4c2cd98c3b35b164b4b3900f606d2fed","pkg-name":"happy","pkg-version":"1.20.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"5d47dc221a9fe964e36aaaa2e1ab7e8f085a225fd6528d6eff310b92360bbe99","pkg-src-sha256":"3b1d3a8f93a2723b554d9f07b2cd136be1a7b2fcab1855b12b7aab5cbac8868c","depends":["array-0.5.6.0","base-4.18.2.0","containers-0.6.7","mtl-2.2.2-bd3261ad8b9db841cd32623ed041dba3290ad7e9eab162b0b2519de5890f36c5"],"exe-depends":[],"component-name":"exe:happy","bin-file":"/store/ghc-9.6.4/happy-1.20.0-e-happy-8d0124c13474e7e45ce88502055cdf0a4c2cd98c3b35b164b4b3900f606d2fed/bin/happy"},{"type":"configured","id":"mtl-2.2.2-bd3261ad8b9db841cd32623ed041dba3290ad7e9eab162b0b2519de5890f36c5","pkg-name":"mtl","pkg-version":"2.2.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"1050fb71acd9f5d67da7d992583f5bd0eb14407b9dc7acc122af1b738b706ca3","pkg-src-sha256":"8803f48a8ed33296c3a3272f448198737a287ec31baa901af09e2118c829bef6","depends":["base-4.18.2.0","transformers-0.5.6.2-55e06373e9f8b851d660815c23b29c4aedf2edf520a16438a77576432b6b7e88"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.2.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.2.0","ghc-boot-th-9.6.4","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"configured","id":"transformers-0.5.6.2-55e06373e9f8b851d660815c23b29c4aedf2edf520a16438a77576432b6b7e88","pkg-name":"transformers","pkg-version":"0.5.6.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6c959d14430f4deffb99579ba019de07c3d852a2122b6f449344386c7d75ff1d","pkg-src-sha256":"b668795d600297e4c8a7fd55a107b9827b2c52c0bc14c5ea0d65e20e6691c66c","components":{"lib":{"depends":["base-4.18.2.0"],"exe-depends":[]}}}],"targets":[{"pkg-name":"array","pkg-version":"0.5.6.0","component-name":"lib","available":[{"id":"array-0.5.6.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"base","pkg-version":"4.18.2.0","component-name":"lib","available":[{"id":"base-4.18.2.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"containers","pkg-version":"0.6.7","component-name":"lib","available":[{"id":"containers-0.6.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"deepseq","pkg-version":"1.4.8.1","component-name":"lib","available":[{"id":"deepseq-1.4.8.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-bignum","pkg-version":"1.3","component-name":"lib","available":[{"id":"ghc-bignum-1.3","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-boot-th","pkg-version":"9.6.4","component-name":"lib","available":[{"id":"ghc-boot-th-9.6.4","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-prim","pkg-version":"0.10.0","component-name":"lib","available":[{"id":"ghc-prim-0.10.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"happy","pkg-version":"1.20.0","component-name":"exe:happy","available":[{"id":"happy-1.20.0-e-happy-8d0124c13474e7e45ce88502055cdf0a4c2cd98c3b35b164b4b3900f606d2fed","component-name":"exe:happy","build-by-default":true}]},{"pkg-name":"happy","pkg-version":"1.20.0","component-name":"test:tests","available":["TargetNotLocal"]},{"pkg-name":"mtl","pkg-version":"2.2.2","component-name":"lib","available":[{"id":"mtl-2.2.2-bd3261ad8b9db841cd32623ed041dba3290ad7e9eab162b0b2519de5890f36c5","component-name":"lib","build-by-default":true}]},{"pkg-name":"pretty","pkg-version":"1.1.3.6","component-name":"lib","available":[{"id":"pretty-1.1.3.6","component-name":"lib","build-by-default":true}]},{"pkg-name":"template-haskell","pkg-version":"2.20.0.0","component-name":"lib","available":[{"id":"template-haskell-2.20.0.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"transformers","pkg-version":"0.5.6.2","component-name":"lib","available":[{"id":"transformers-0.5.6.2-55e06373e9f8b851d660815c23b29c4aedf2edf520a16438a77576432b6b7e88","component-name":"lib","build-by-default":true}]}]} \ No newline at end of file +{"cabal-version":"3.14.2.0","cabal-lib-version":"3.14.2.0","compiler-id":"ghc-9.6.4","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"array-0.5.6.0","pkg-name":"array","pkg-version":"0.5.6.0","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"base-4.18.2.0","pkg-name":"base","pkg-version":"4.18.2.0","depends":["ghc-prim-0.10.0","ghc-bignum-1.3"]},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["base-4.18.2.0","array-0.5.6.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["base-4.18.2.0","array-0.5.6.0"]},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.4","pkg-name":"ghc-boot-th","pkg-version":"9.6.4","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":[]},{"type":"configured","id":"happy-1.20.0-e-happy-7c2e51c024d1ed6af7c2872ff56022a6b12b398c6c2bdf74b722d3c905588f73","pkg-name":"happy","pkg-version":"1.20.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"5d47dc221a9fe964e36aaaa2e1ab7e8f085a225fd6528d6eff310b92360bbe99","pkg-src-sha256":"3b1d3a8f93a2723b554d9f07b2cd136be1a7b2fcab1855b12b7aab5cbac8868c","depends":["array-0.5.6.0","base-4.18.2.0","containers-0.6.7","mtl-2.2.2-73603caa04266b24139cca4e953cd5e17ed62fa08153002dbaf735bf1c7f829c"],"exe-depends":[],"component-name":"exe:happy","bin-file":"/store/ghc-9.6.4/happy-1.20.0-e-happy-7c2e51c024d1ed6af7c2872ff56022a6b12b398c6c2bdf74b722d3c905588f73/bin/happy"},{"type":"configured","id":"mtl-2.2.2-73603caa04266b24139cca4e953cd5e17ed62fa08153002dbaf735bf1c7f829c","pkg-name":"mtl","pkg-version":"2.2.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"1050fb71acd9f5d67da7d992583f5bd0eb14407b9dc7acc122af1b738b706ca3","pkg-src-sha256":"8803f48a8ed33296c3a3272f448198737a287ec31baa901af09e2118c829bef6","depends":["base-4.18.2.0","transformers-0.5.6.2-996e5fe40048998f0fc59545432480a93b651cd12d97d879c645ab754f7b1f06"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.2.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.2.0","ghc-boot-th-9.6.4","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"configured","id":"transformers-0.5.6.2-996e5fe40048998f0fc59545432480a93b651cd12d97d879c645ab754f7b1f06","pkg-name":"transformers","pkg-version":"0.5.6.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6c959d14430f4deffb99579ba019de07c3d852a2122b6f449344386c7d75ff1d","pkg-src-sha256":"b668795d600297e4c8a7fd55a107b9827b2c52c0bc14c5ea0d65e20e6691c66c","components":{"lib":{"depends":["base-4.18.2.0"],"exe-depends":[]}}}],"targets":[{"pkg-name":"array","pkg-version":"0.5.6.0","component-name":"lib","available":[{"id":"array-0.5.6.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"base","pkg-version":"4.18.2.0","component-name":"lib","available":[{"id":"base-4.18.2.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"containers","pkg-version":"0.6.7","component-name":"lib","available":[{"id":"containers-0.6.7","component-name":"lib","build-by-default":true}]},{"pkg-name":"deepseq","pkg-version":"1.4.8.1","component-name":"lib","available":[{"id":"deepseq-1.4.8.1","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-bignum","pkg-version":"1.3","component-name":"lib","available":[{"id":"ghc-bignum-1.3","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-boot-th","pkg-version":"9.6.4","component-name":"lib","available":[{"id":"ghc-boot-th-9.6.4","component-name":"lib","build-by-default":true}]},{"pkg-name":"ghc-prim","pkg-version":"0.10.0","component-name":"lib","available":[{"id":"ghc-prim-0.10.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"happy","pkg-version":"1.20.0","component-name":"exe:happy","available":[{"id":"happy-1.20.0-e-happy-7c2e51c024d1ed6af7c2872ff56022a6b12b398c6c2bdf74b722d3c905588f73","component-name":"exe:happy","build-by-default":true}]},{"pkg-name":"happy","pkg-version":"1.20.0","component-name":"test:tests","available":["TargetNotLocal"]},{"pkg-name":"mtl","pkg-version":"2.2.2","component-name":"lib","available":[{"id":"mtl-2.2.2-73603caa04266b24139cca4e953cd5e17ed62fa08153002dbaf735bf1c7f829c","component-name":"lib","build-by-default":true}]},{"pkg-name":"pretty","pkg-version":"1.1.3.6","component-name":"lib","available":[{"id":"pretty-1.1.3.6","component-name":"lib","build-by-default":true}]},{"pkg-name":"template-haskell","pkg-version":"2.20.0.0","component-name":"lib","available":[{"id":"template-haskell-2.20.0.0","component-name":"lib","build-by-default":true}]},{"pkg-name":"transformers","pkg-version":"0.5.6.2","component-name":"lib","available":[{"id":"transformers-0.5.6.2-996e5fe40048998f0fc59545432480a93b651cd12d97d879c645ab754f7b1f06","component-name":"lib","build-by-default":true}]}]} \ No newline at end of file diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 9405106287..3ee1c136a8 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -11,7 +11,7 @@ let "9.4" = "9.4.8"; "9.6" = "9.6.7"; "9.8" = "9.8.4"; - "9.10" = "9.10.2"; + "9.10" = "9.10.3"; "9.12" = "9.12.2"; }; gitInputs = { @@ -246,7 +246,7 @@ in { ++ onAndroid (fromUntil "9.0" "9.10" ./patches/ghc/ghc-9.6-hadrian-android.patch) ++ onAndroid (from "9.10" ./patches/ghc/ghc-9.10-hadrian-android.patch) ++ onAndroid (fromUntil "9.10" "9.11" ./patches/ghc/ghc-9.10-relax-llvm-max-version.patch) - ++ onAndroid (from "9.12" ./patches/ghc/ghc-define-undefined-elf-st-visibility.patch) + ++ onAndroid (from "9.10.3" ./patches/ghc/ghc-define-undefined-elf-st-visibility.patch) ++ onMusl (onAarch64 (fromUntil "9.4" "9.8" ./patches/ghc/ghc-9.6-hadrian-strip-cmd.patch)) ++ onMusl (onAarch64 (fromUntil "9.8" "9.10" ./patches/ghc/ghc-9.8-hadrian-strip-cmd.patch)) ++ onMusl (onAarch64 (fromUntil "9.10" "9.12" ./patches/ghc/ghc-9.10-hadrian-strip-cmd.patch)) @@ -303,10 +303,10 @@ in { else until "9.0" ./patches/ghc/ghc-8.10-0006-Adds-support-for-Hidden-symbols.patch ++ until "9.0" ./patches/ghc/ghc-8.10-0006-Adds-support-for-Hidden-symbols-2.patch ) - ++ onWindowsOrMusl (fromUntil "9.6" "9.7" ./patches/ghc/ghc-9.6-0006-Adds-support-for-Hidden-symbols.patch) - ++ onWindowsOrMusl (fromUntil "9.8.2" "9.11" ./patches/ghc/ghc-9.6-0006-Adds-support-for-Hidden-symbols.patch) - ++ onWindowsOrMusl (fromUntil "9.6" "9.7" ./patches/ghc/ghc-9.6-0006-Adds-support-for-Hidden-symbols-2.patch) - ++ onWindowsOrMusl (fromUntil "9.8.2" "9.11" ./patches/ghc/ghc-9.6-0006-Adds-support-for-Hidden-symbols-2.patch) + ++ onWindowsOrMusl (fromUntil "9.6" "9.7" ./patches/ghc/ghc-9.6-0006-Adds-support-for-Hidden-symbols.patch) + ++ onWindowsOrMusl (fromUntil "9.8.2" "9.10.3" ./patches/ghc/ghc-9.6-0006-Adds-support-for-Hidden-symbols.patch) + ++ onWindowsOrMusl (fromUntil "9.6" "9.7" ./patches/ghc/ghc-9.6-0006-Adds-support-for-Hidden-symbols-2.patch) + ++ onWindowsOrMusl (fromUntil "9.8.2" "9.10.3" ./patches/ghc/ghc-9.6-0006-Adds-support-for-Hidden-symbols-2.patch) ++ fromUntil "9.9" "9.11" ./patches/ghc/ghc-9.9-Cabal-3.11.patch ++ fromUntil "9.8" "9.8.3" ./patches/ghc/ghc-9.8-text-upper-bound.patch ++ fromUntil "9.8.3" "9.8.4" ./patches/ghc/ghc-9.8.3-text-upper-bound.patch @@ -1035,6 +1035,38 @@ in { ghc-patches = ghc-patches "9.10.2"; }); + ghc9103 = traceWarnOld "9.10" (final.callPackage ../compiler/ghc { + extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.ghc9103; }; + + bootPkgs = bootPkgsGhc94 // { + ghc = if final.stdenv.buildPlatform != final.stdenv.targetPlatform + then final.buildPackages.buildPackages.haskell-nix.compiler.ghc9103 + else # GHC 9.10.1 does not seem to build with ghc 9.8.4 + # final.buildPackages.buildPackages.haskell.compiler.ghc984 + # or final.buildPackages.buildPackages.haskell.compiler.ghc983 + final.buildPackages.buildPackages.haskell.compiler.ghc982 + or final.buildPackages.buildPackages.haskell.compiler.ghc981 + or final.buildPackages.buildPackages.haskell.compiler.ghc967 + or final.buildPackages.buildPackages.haskell.compiler.ghc966 + or final.buildPackages.buildPackages.haskell.compiler.ghc965 + or final.buildPackages.buildPackages.haskell.compiler.ghc964 + or final.buildPackages.buildPackages.haskell.compiler.ghc963 + or final.buildPackages.buildPackages.haskell.compiler.ghc962 + or final.buildPackages.buildPackages.haskell.compiler.ghc945 + or final.buildPackages.buildPackages.haskell.compiler.ghc944 + or final.buildPackages.buildPackages.haskell.compiler.ghc943; + }; + inherit sphinx; + + buildLlvmPackages = final.buildPackages.llvmPackages_15; + llvmPackages = final.llvmPackages_15; + + src-spec.file = final.haskell-nix.sources.ghc9103; + src-spec.version = "9.10.3"; + src-spec.needsBooting = true; + + ghc-patches = ghc-patches "9.10.3"; + }); ghc9121 = traceWarnOld "9.12" (final.callPackage ../compiler/ghc { extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.ghc9121; }; diff --git a/test/js-template-haskell/default.nix b/test/js-template-haskell/default.nix index fed9d0f71a..8a2ad7e2e5 100644 --- a/test/js-template-haskell/default.nix +++ b/test/js-template-haskell/default.nix @@ -25,7 +25,7 @@ in recurseIntoAttrs { meta.disabled = builtins.elem compiler-nix-name ["ghc91320241204"] # Not sure why this is failing with a seg fault - || (builtins.elem compiler-nix-name ["ghc9102" "ghc9102llvm"] && stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32) + || (builtins.elem compiler-nix-name ["ghc9102" "ghc9102llvm" "ghc9103" "ghc9103llvm"] && stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32) # unhandled ELF relocation(Rel) type 10 || (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32) diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index f4d90c9b3c..6b7ad744b5 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -34,7 +34,7 @@ in recurseIntoAttrs { # (#103:librdrand_la-randombytes_internal_random.o) for relocation 4 in section 1 of kind: 0 || (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl && !stdenv.buildPlatform.isAarch64) # Not sure why this is failing with a seg fault - || (builtins.elem compiler-nix-name ["ghc9102" "ghc9102llvm"] && stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32) + || (builtins.elem compiler-nix-name ["ghc9102" "ghc9102llvm" "ghc9103" "ghc9103llvm"] && stdenv.hostPlatform.isAndroid && stdenv.hostPlatform.isAarch32) # unhandled ELF relocation(Rel) type 10 || (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32) diff --git a/test/unit.nix b/test/unit.nix index b5e1dfd9a2..ffaa3208a5 100644 --- a/test/unit.nix +++ b/test/unit.nix @@ -148,9 +148,9 @@ lib.runTests { '')); expected = __toJSON { name = "ghcjs-overlay"; - repoContents = "/nix/store/gzjj6rjjgvkm5midldy292ghbq7hszna-ghcjs-overlay"; + repoContents = "/nix/store/2gimg55rlc60pjiimpww10zflyf1bqh9-ghcjs-overlay"; repo = { - ghcjs-overlay = "/nix/store/gzjj6rjjgvkm5midldy292ghbq7hszna-ghcjs-overlay"; + ghcjs-overlay = "/nix/store/2gimg55rlc60pjiimpww10zflyf1bqh9-ghcjs-overlay"; }; hackage = { Cabal = { From 9561102343bdf0a0beabc19e57aea47312064774 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 22 Nov 2025 00:51:34 +0000 Subject: [PATCH 277/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 9bc268e4d0..3055ba6a7e 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1763684779, - "narHash": "sha256-70zqtXv70YyWk1UZoH4NnGzM0eWdr4iK3/6XBSSGTiw=", + "lastModified": 1763771141, + "narHash": "sha256-JQecFMEZ5dGfr3DP+38vOWw/tXVZqj3kLNSDlprBnNE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "0304c09943f333af26c0118000dd48671acf4dad", + "rev": "f456521ad4b636d7facc2346be335fbc9511b04c", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1763684768, - "narHash": "sha256-ox75QQVOitcUBSRubqxc9LMQJxHnejAMaeJa6Y1mEOw=", + "lastModified": 1763771130, + "narHash": "sha256-jvAedlIxAB5YYlBMKWsJAKWAl32cooO9Hs/7OmTPrjY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "97e1b63a18f4821f94103afa65da8fa13df5db35", + "rev": "e6fe2605dfb503d9dea4ff079493671e129d6fac", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1763597599, - "narHash": "sha256-DXLOKxLE5gQLXIfi7hB3p1ozT2i3cjLfv1DcSzJuJNk=", + "lastModified": 1763770347, + "narHash": "sha256-5L8Yu7LRBIEpUcU6u8QpcCF9DaV7TnJjLkx+BhgtwTg=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "764f05b3fc01902659c26eb45825e633543f2692", + "rev": "25736bb82c285c1c039ce9ff00131fbc103c1a92", "type": "github" }, "original": { From dcb672f226c5f04cbeb75b3f61d20768144ead9c Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 23 Nov 2025 00:52:36 +0000 Subject: [PATCH 278/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 3055ba6a7e..87f69e38b9 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1763771141, - "narHash": "sha256-JQecFMEZ5dGfr3DP+38vOWw/tXVZqj3kLNSDlprBnNE=", + "lastModified": 1763857789, + "narHash": "sha256-zmckY93A2aE9yLvwJeEkW2sCzkTxgOu5RWWlgJgz4bM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f456521ad4b636d7facc2346be335fbc9511b04c", + "rev": "f9dddbb41876198d57eebd353964fd390c704c98", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1763771130, - "narHash": "sha256-jvAedlIxAB5YYlBMKWsJAKWAl32cooO9Hs/7OmTPrjY=", + "lastModified": 1763857779, + "narHash": "sha256-1DyVXm4VQs+QSG3jay46dlIjWO2G8627uB6Dl5UfcGA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "e6fe2605dfb503d9dea4ff079493671e129d6fac", + "rev": "3cd280edcd0d28d0d5bb71298f43d7c31b5c5a57", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1763770347, - "narHash": "sha256-5L8Yu7LRBIEpUcU6u8QpcCF9DaV7TnJjLkx+BhgtwTg=", + "lastModified": 1763856908, + "narHash": "sha256-MS0lWNxlKawJs6jL4bImm6ayYrTK9gYRhbLUMNwp6UM=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "25736bb82c285c1c039ce9ff00131fbc103c1a92", + "rev": "31539f36b14378f2e905ec1d63b41f16f770236d", "type": "github" }, "original": { From f5f4e8c4b60edbe472eda74b2b2edb6d2afcd016 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 24 Nov 2025 00:52:28 +0000 Subject: [PATCH 279/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 87f69e38b9..e91fcb51c2 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1763857789, - "narHash": "sha256-zmckY93A2aE9yLvwJeEkW2sCzkTxgOu5RWWlgJgz4bM=", + "lastModified": 1763944104, + "narHash": "sha256-3EZEQdX+u+Xx0+K++XHBi9JZ85L0UvPRI3AuM/4I3jw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f9dddbb41876198d57eebd353964fd390c704c98", + "rev": "1f8eacc7433a3dc1ac89fd2b39d078823647035c", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1763857779, - "narHash": "sha256-1DyVXm4VQs+QSG3jay46dlIjWO2G8627uB6Dl5UfcGA=", + "lastModified": 1763944093, + "narHash": "sha256-4pbq8SsYPV73ccPrQ76PVD14coIFRNouErj43tqfdkw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3cd280edcd0d28d0d5bb71298f43d7c31b5c5a57", + "rev": "43da109cafd733fc2372a3d6c998cc5e26e240b0", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1763856908, - "narHash": "sha256-MS0lWNxlKawJs6jL4bImm6ayYrTK9gYRhbLUMNwp6UM=", + "lastModified": 1763943254, + "narHash": "sha256-8BOmLC1mRX7wAnsnixvKCpUUbrAmFu9/0Vv3SMJGFDg=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "31539f36b14378f2e905ec1d63b41f16f770236d", + "rev": "71676f0417c67fe8cfb07e0aed7e53b0488fa92b", "type": "github" }, "original": { From 3450513836eb41bab00e8df64cdc307898a7dfa0 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 25 Nov 2025 00:52:13 +0000 Subject: [PATCH 280/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index e91fcb51c2..2b27ac3585 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1763944104, - "narHash": "sha256-3EZEQdX+u+Xx0+K++XHBi9JZ85L0UvPRI3AuM/4I3jw=", + "lastModified": 1764030366, + "narHash": "sha256-O85AGb77KeW5V//QTjEgGYSFgeZkxrAX5TJ2UmQs8A4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1f8eacc7433a3dc1ac89fd2b39d078823647035c", + "rev": "22de7f95a0c082fa9acc1530c78600ff8d65c75c", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1763944093, - "narHash": "sha256-4pbq8SsYPV73ccPrQ76PVD14coIFRNouErj43tqfdkw=", + "lastModified": 1764030356, + "narHash": "sha256-KGSOvSXyznXRQd6i3G2oLzAklOa46rCfoO24Di+CGiI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "43da109cafd733fc2372a3d6c998cc5e26e240b0", + "rev": "cd41268b4a6c138f9154631e2c95b817d80fbefd", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1763943254, - "narHash": "sha256-8BOmLC1mRX7wAnsnixvKCpUUbrAmFu9/0Vv3SMJGFDg=", + "lastModified": 1764029472, + "narHash": "sha256-UPnzMJOtp+a5bzTJtVKFSc0P/V7hdnXOvisVl4ZI6MM=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "71676f0417c67fe8cfb07e0aed7e53b0488fa92b", + "rev": "585e9559f24e32c1019a5e15b293ab086e2b7803", "type": "github" }, "original": { From c3b521f889b31700a2c287aa61f758cbf04c96b4 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 26 Nov 2025 00:51:34 +0000 Subject: [PATCH 281/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 2b27ac3585..748b51e864 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1764030366, - "narHash": "sha256-O85AGb77KeW5V//QTjEgGYSFgeZkxrAX5TJ2UmQs8A4=", + "lastModified": 1764116797, + "narHash": "sha256-1SSfVNDKMhTkclBpNJ4AdC2ftvsTV5RtYQaUT5ZamWs=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "22de7f95a0c082fa9acc1530c78600ff8d65c75c", + "rev": "6e64bc82cabeaa8358f246da6d99b09605d297dd", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1764030356, - "narHash": "sha256-KGSOvSXyznXRQd6i3G2oLzAklOa46rCfoO24Di+CGiI=", + "lastModified": 1764116786, + "narHash": "sha256-4sA9rEOzD115+LohUKNvZ1PAORe6hWzCANasNh9qUQc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "cd41268b4a6c138f9154631e2c95b817d80fbefd", + "rev": "4635e9d9b2d3921f582b9d120cb7703142969747", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1764029472, - "narHash": "sha256-UPnzMJOtp+a5bzTJtVKFSc0P/V7hdnXOvisVl4ZI6MM=", + "lastModified": 1764115997, + "narHash": "sha256-1j9N2SYNHpFcPFZSG9fYZJ9v/i0mikSwXf59W6Xcgu4=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "585e9559f24e32c1019a5e15b293ab086e2b7803", + "rev": "84b6c45268681cb7a20db29d1307081565c0f493", "type": "github" }, "original": { From e4e2b4d20b6ca833f4dcc268badf1538e903b7f1 Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 27 Nov 2025 00:52:21 +0000 Subject: [PATCH 282/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 748b51e864..f3eded50c4 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1764116797, - "narHash": "sha256-1SSfVNDKMhTkclBpNJ4AdC2ftvsTV5RtYQaUT5ZamWs=", + "lastModified": 1764203197, + "narHash": "sha256-F78Z41DIC8ThihxzipceyVOjE2xHCFXHK/e0lq40mFw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "6e64bc82cabeaa8358f246da6d99b09605d297dd", + "rev": "9587f62bb414245da9ff8771a6baa1923bf05ad5", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1764116786, - "narHash": "sha256-4sA9rEOzD115+LohUKNvZ1PAORe6hWzCANasNh9qUQc=", + "lastModified": 1764203186, + "narHash": "sha256-1SBGn2VNS1HSWFF9X3LG0VdqNJp5wXpB6dT8fEIG6Bc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4635e9d9b2d3921f582b9d120cb7703142969747", + "rev": "ba8969ca61a38e1738c4e35d402f7d43c491aaf0", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1764115997, - "narHash": "sha256-1j9N2SYNHpFcPFZSG9fYZJ9v/i0mikSwXf59W6Xcgu4=", + "lastModified": 1764202380, + "narHash": "sha256-nEi+fd6xfVvrOdye3cMGvA9vuBAtp/ZSYELm/TU41ao=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "84b6c45268681cb7a20db29d1307081565c0f493", + "rev": "373df81259feb7b322ddd7feab955911e5d7ea88", "type": "github" }, "original": { From 7216d7716d2518121d33b8887b3dddaba0b29b66 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 28 Nov 2025 09:26:08 +1300 Subject: [PATCH 283/308] Add fixes for profiling (#2455) See https://github.com/IntersectMBO/plutus/issues/7415#issuecomment-3531989244 See https://gitlab.haskell.org/ghc/ghc/-/merge_requests/15096 --- overlays/bootstrap.nix | 6 +++ ...hc-16bit-elf-section-header-overflow.patch | 34 ++++++++++++++ overlays/patches/ghc/ghc-profiling-fix.patch | 46 +++++++++++++++++++ 3 files changed, 86 insertions(+) create mode 100644 overlays/patches/ghc/ghc-16bit-elf-section-header-overflow.patch create mode 100644 overlays/patches/ghc/ghc-profiling-fix.patch diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index 3ee1c136a8..2946725488 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -346,6 +346,12 @@ in { ++ onWasm (until "9.13" ./patches/ghc/ghc-9.12-wasm-shared-libs.patch) ++ onWasm (until "9.13" ./patches/ghc/ghc-9.12-wasm-keep-cafs.patch) + + # See https://github.com/IntersectMBO/plutus/issues/7415#issuecomment-3531989244 + ++ fromUntil "9.6" "9.9" ./patches/ghc/ghc-profiling-fix.patch + + # See https://gitlab.haskell.org/ghc/ghc/-/merge_requests/15096 + ++ fromUntil "9.6" "9.13" ./patches/ghc/ghc-16bit-elf-section-header-overflow.patch ; in ({ ghc8107 = traceWarnOld "8.10" (final.callPackage ../compiler/ghc { diff --git a/overlays/patches/ghc/ghc-16bit-elf-section-header-overflow.patch b/overlays/patches/ghc/ghc-16bit-elf-section-header-overflow.patch new file mode 100644 index 0000000000..812a78988b --- /dev/null +++ b/overlays/patches/ghc/ghc-16bit-elf-section-header-overflow.patch @@ -0,0 +1,34 @@ +From e90e136c16ef10fc47d339cf8964255a5131c9c9 Mon Sep 17 00:00:00 2001 +From: Luite Stegeman +Date: Sat, 22 Nov 2025 15:05:37 +0100 +Subject: [PATCH] rts: Handle 16-bit overflow of ELF section header string + table + +If the section header string table is stored in a section greater +than 65535, the 16-bit value e_shstrndx in the ELF header does not +contain the section number, but rather an overflow value SHN_XINDEX +indicating that we need to look elsewhere. + +This fixes the linker by not using e_shstrndx directly but calling +elf_shstrndx, which correctly handles the overflow value. + +Fixes #26603 +--- + rts/linker/Elf.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rts/linker/Elf.c b/rts/linker/Elf.c +index 85a56c120d49..0314abb0c68c 100644 +--- a/rts/linker/Elf.c ++++ b/rts/linker/Elf.c +@@ -205,7 +205,7 @@ ocInit_ELF(ObjectCode * oc) + oc->info->sectionHeader = (Elf_Shdr *) ((uint8_t*)oc->image + + oc->info->elfHeader->e_shoff); + oc->info->sectionHeaderStrtab = (char*)((uint8_t*)oc->image + +- oc->info->sectionHeader[oc->info->elfHeader->e_shstrndx].sh_offset); ++ oc->info->sectionHeader[elf_shstrndx(oc->info->elfHeader)].sh_offset); + + oc->n_sections = elf_shnum(oc->info->elfHeader); + +-- +GitLab \ No newline at end of file diff --git a/overlays/patches/ghc/ghc-profiling-fix.patch b/overlays/patches/ghc/ghc-profiling-fix.patch new file mode 100644 index 0000000000..f2d8e1c54e --- /dev/null +++ b/overlays/patches/ghc/ghc-profiling-fix.patch @@ -0,0 +1,46 @@ +diff --git a/compiler/GHC/Core/Utils.hs b/compiler/GHC/Core/Utils.hs +index 0453fb93af..84d2d9cfe5 100644 +--- a/compiler/GHC/Core/Utils.hs ++++ b/compiler/GHC/Core/Utils.hs +@@ -79,7 +79,7 @@ import GHC.Core.Reduction + import GHC.Core.TyCon + import GHC.Core.Multiplicity + +-import GHC.Builtin.Names ( makeStaticName, unsafeEqualityProofIdKey ) ++import GHC.Builtin.Names ( makeStaticName, unsafeEqualityProofIdKey, unsafeReflDataConKey ) + import GHC.Builtin.PrimOps + + import GHC.Types.Var +@@ -328,6 +328,10 @@ mkTick t orig_expr = mkTick' id id orig_expr + -> CoreExpr + mkTick' top rest expr = case expr of + ++ Case scrut bndr ty alts@[Alt ac abs _rhs] ++ | Just rhs <- isUnsafeEqualityCase scrut bndr alts ++ -> top $ mkTick' (\e -> Case scrut bndr ty [Alt ac abs e]) rest rhs ++ + -- Cost centre ticks should never be reordered relative to each + -- other. Therefore we can stop whenever two collide. + Tick t2 e +@@ -2676,3 +2680,21 @@ isUnsafeEqualityProof e + = v `hasKey` unsafeEqualityProofIdKey + | otherwise + = False ++ ++isUnsafeEqualityCase :: CoreExpr -> Id -> [CoreAlt] -> Maybe CoreExpr ++-- See (U3) and (U4) in ++-- Note [Implementing unsafeCoerce] in base:Unsafe.Coerce ++isUnsafeEqualityCase scrut bndr alts ++ | [Alt ac _ rhs] <- alts ++ , DataAlt dc <- ac ++ , dc `hasKey` unsafeReflDataConKey ++ , isDeadBinder bndr ++ -- We can only discard the case if the case-binder is dead ++ -- It usually is, but see #18227 ++ , Var v `App` _ `App` _ `App` _ <- scrut ++ , v `hasKey` unsafeEqualityProofIdKey ++ -- Check that the scrutinee really is unsafeEqualityProof ++ -- and not, say, error ++ = Just rhs ++ | otherwise ++ = Nothing From 0938ee0813dbf504369ad4c0226fbf09d9633003 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 28 Nov 2025 00:51:40 +0000 Subject: [PATCH 284/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f3eded50c4..f0d79e6fb8 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1764203197, - "narHash": "sha256-F78Z41DIC8ThihxzipceyVOjE2xHCFXHK/e0lq40mFw=", + "lastModified": 1764289573, + "narHash": "sha256-uHqv2zUnv4efIOs4CnGPmquIguZo/GNKP5VdKoyr7Tc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "9587f62bb414245da9ff8771a6baa1923bf05ad5", + "rev": "3bea2c767e32e8e36a9c2ce4c74c57d42fd63c55", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1764203186, - "narHash": "sha256-1SBGn2VNS1HSWFF9X3LG0VdqNJp5wXpB6dT8fEIG6Bc=", + "lastModified": 1764289563, + "narHash": "sha256-xX1Kn9XzFLMcyHEkh3FX1iQ2PidHpJKD+x9oIqhJNVM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ba8969ca61a38e1738c4e35d402f7d43c491aaf0", + "rev": "94e623fcb0224dcfaf77087f01fb71b9a03ce722", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1764202380, - "narHash": "sha256-nEi+fd6xfVvrOdye3cMGvA9vuBAtp/ZSYELm/TU41ao=", + "lastModified": 1764288798, + "narHash": "sha256-b22QAJldRTHjIZXkJ46Sudiqpg8ThJYlqSUZdoGCY7g=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "373df81259feb7b322ddd7feab955911e5d7ea88", + "rev": "cf85ac2d64cdaf370d9b7d0479756260c81eb2fe", "type": "github" }, "original": { From 559dbfad12542740ec868cbe16c1b351ea6dea53 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 29 Nov 2025 00:51:39 +0000 Subject: [PATCH 285/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f0d79e6fb8..56e34219b5 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1764289573, - "narHash": "sha256-uHqv2zUnv4efIOs4CnGPmquIguZo/GNKP5VdKoyr7Tc=", + "lastModified": 1764375973, + "narHash": "sha256-oT5HaflO3WntLc+oAUfNhvF3wjVfig+Tla5oAWdEYW4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "3bea2c767e32e8e36a9c2ce4c74c57d42fd63c55", + "rev": "2ca5f78b841755efa8021e2ee119d25af11df3f9", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1764289563, - "narHash": "sha256-xX1Kn9XzFLMcyHEkh3FX1iQ2PidHpJKD+x9oIqhJNVM=", + "lastModified": 1764375963, + "narHash": "sha256-IrNXuZrPz8Yu/LzGhE6rKbNB2DdTe2EsDHtF8JDCmCA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "94e623fcb0224dcfaf77087f01fb71b9a03ce722", + "rev": "47ea955dd46003ae34b4a270ccf52987ea03761d", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1764288798, - "narHash": "sha256-b22QAJldRTHjIZXkJ46Sudiqpg8ThJYlqSUZdoGCY7g=", + "lastModified": 1764375178, + "narHash": "sha256-QRrThjUypT60WAOKfw+vToGEv7YVWnrj9RVZBX4YfsY=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "cf85ac2d64cdaf370d9b7d0479756260c81eb2fe", + "rev": "860c27839926db42c8d7ecc38011ae50d81770cb", "type": "github" }, "original": { From 63291bef4a807e83e7c0c3c7e5c7d5d809e4a976 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 30 Nov 2025 00:52:34 +0000 Subject: [PATCH 286/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 56e34219b5..80260f6ff5 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1764375973, - "narHash": "sha256-oT5HaflO3WntLc+oAUfNhvF3wjVfig+Tla5oAWdEYW4=", + "lastModified": 1764462554, + "narHash": "sha256-+yt2s8eZsrfOYjbVgFjLLN1u9iJW9YolIAtM2D/pc6g=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "2ca5f78b841755efa8021e2ee119d25af11df3f9", + "rev": "a8a85d974a0d7c9f8781c8525933e8cc46003696", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1764375963, - "narHash": "sha256-IrNXuZrPz8Yu/LzGhE6rKbNB2DdTe2EsDHtF8JDCmCA=", + "lastModified": 1764462546, + "narHash": "sha256-EUITgmQlhnKPVSVNYi1W8j4xH0NHxN8U19ZTG59dAeU=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "47ea955dd46003ae34b4a270ccf52987ea03761d", + "rev": "628d47c9b39f4a59cac0074214865af166aa75c7", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1764375178, - "narHash": "sha256-QRrThjUypT60WAOKfw+vToGEv7YVWnrj9RVZBX4YfsY=", + "lastModified": 1764461707, + "narHash": "sha256-zDDQc10ffWu7hHal2dsFGYXS1FYcSYPzB1BdBMU3dvE=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "860c27839926db42c8d7ecc38011ae50d81770cb", + "rev": "6ce5b988b46189932c2c4b02bd83b46ff954ab0e", "type": "github" }, "original": { From c82d4d93b6be275c9a8943e17ec12ce8e3b90d74 Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 1 Dec 2025 00:53:26 +0000 Subject: [PATCH 287/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 80260f6ff5..caa7594a74 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1764462554, - "narHash": "sha256-+yt2s8eZsrfOYjbVgFjLLN1u9iJW9YolIAtM2D/pc6g=", + "lastModified": 1764549120, + "narHash": "sha256-FgH8uAbQQ0IL65Yc4JjoCsnD3iTo+wN2SHM7YNtmflk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a8a85d974a0d7c9f8781c8525933e8cc46003696", + "rev": "c6a5e8052355b7598d40b3a96809a14c14c5818c", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1764462546, - "narHash": "sha256-EUITgmQlhnKPVSVNYi1W8j4xH0NHxN8U19ZTG59dAeU=", + "lastModified": 1764549110, + "narHash": "sha256-oEMgZhIIdcpOuz14j4/v8YTR5Pn7CWLFgCc1SjGDsSM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "628d47c9b39f4a59cac0074214865af166aa75c7", + "rev": "f316727efc726fe9b569fe20f316a41ed10f3c66", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1764461707, - "narHash": "sha256-zDDQc10ffWu7hHal2dsFGYXS1FYcSYPzB1BdBMU3dvE=", + "lastModified": 1764548162, + "narHash": "sha256-lKjSroXNO8g7ez++EpuDa1C1S6Ax7a4eYYzDINnLm9M=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "6ce5b988b46189932c2c4b02bd83b46ff954ab0e", + "rev": "101ad1145596c97cbf99797f58987af8f507f41d", "type": "github" }, "original": { From 91c9a62e7214fdd0df9a622318b08f628bd1dccb Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 2 Dec 2025 00:51:54 +0000 Subject: [PATCH 288/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index caa7594a74..18f58450a0 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1764549120, - "narHash": "sha256-FgH8uAbQQ0IL65Yc4JjoCsnD3iTo+wN2SHM7YNtmflk=", + "lastModified": 1764636041, + "narHash": "sha256-d8wequSAbqK1OonBBrzdWevErQ9//HGEsMIuHJ5Y5Oo=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c6a5e8052355b7598d40b3a96809a14c14c5818c", + "rev": "dec8f4994722290072eb0e146050d4dd4af8c463", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1764549110, - "narHash": "sha256-oEMgZhIIdcpOuz14j4/v8YTR5Pn7CWLFgCc1SjGDsSM=", + "lastModified": 1764635230, + "narHash": "sha256-6Jc/EZyGWSXbDgvMvh28DWDpqY+e6v0sENfRur+M8XE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f316727efc726fe9b569fe20f316a41ed10f3c66", + "rev": "7f46d6544d5944a8b38dca5c544674a65e0cad81", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1764548162, - "narHash": "sha256-lKjSroXNO8g7ez++EpuDa1C1S6Ax7a4eYYzDINnLm9M=", + "lastModified": 1764634422, + "narHash": "sha256-JpLEI4ekBtWUrDGX2HFHlr0UEwKl/GR7flUSwnfZ2Tw=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "101ad1145596c97cbf99797f58987af8f507f41d", + "rev": "980f2f4eca4baacba76db3de2c0b3cfaf2200f9b", "type": "github" }, "original": { From 4bda32f899931525397bef4ad20502b777b0df85 Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 3 Dec 2025 00:52:12 +0000 Subject: [PATCH 289/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 18f58450a0..10404ed34c 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1764636041, - "narHash": "sha256-d8wequSAbqK1OonBBrzdWevErQ9//HGEsMIuHJ5Y5Oo=", + "lastModified": 1764721618, + "narHash": "sha256-qayd4uIJ1PU3TWnm4ExC8WmLBUo8/4LL9QEWngiaz24=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "dec8f4994722290072eb0e146050d4dd4af8c463", + "rev": "1b943b3cd91ffdaa62da6fe5870b7c7cfca30729", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1764635230, - "narHash": "sha256-6Jc/EZyGWSXbDgvMvh28DWDpqY+e6v0sENfRur+M8XE=", + "lastModified": 1764721608, + "narHash": "sha256-9HdrQsasjLlKGjxKWo7FKTRIlQSvKR1VBE3MQPWehCw=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "7f46d6544d5944a8b38dca5c544674a65e0cad81", + "rev": "436be8801b9037312e3107153975d1f6473363b7", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1764634422, - "narHash": "sha256-JpLEI4ekBtWUrDGX2HFHlr0UEwKl/GR7flUSwnfZ2Tw=", + "lastModified": 1764720806, + "narHash": "sha256-nnrK+cx79fvxmpCLpTVjMdQM1vuy75xmAsE5XK9wnd8=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "980f2f4eca4baacba76db3de2c0b3cfaf2200f9b", + "rev": "a9c4c1f902e334a6d75f5875960c7cf95228b7c1", "type": "github" }, "original": { From df3e6815f2aa8cd2681225ab3ec26a8b5dbd4db0 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Wed, 3 Dec 2025 15:35:06 +1300 Subject: [PATCH 290/308] Fix nixpkgs warnings (#2457) * Fix nixpkgs warnings * Fix missing `lib` --- build.nix | 6 +++--- builder/hspkg-builder.nix | 2 +- ci.nix | 4 ++-- lib/default.nix | 8 ++++---- modules/install-plan/redirect.nix | 2 +- modules/project-common.nix | 4 ++-- nix-tools/flake.nix | 8 ++++---- nix-tools/static/project.nix | 2 +- nix-tools/static/zipped.nix | 14 +++++++------- overlays/armv6l-linux.nix | 8 ++++---- overlays/default.nix | 6 +++--- overlays/haskell.nix | 6 +++--- package-set.nix | 2 +- test/annotations/default.nix | 4 ++-- test/buildable/default.nix | 4 ++-- test/c-ffi/default.nix | 4 ++-- test/ca-derivations-include/default.nix | 4 ++-- test/ca-derivations/default.nix | 4 ++-- test/cabal-22/default.nix | 4 ++-- test/cabal-doctests/default.nix | 4 ++-- test/cabal-hpack/default.nix | 4 ++-- test/cabal-project-nix-path/default.nix | 4 ++-- test/cabal-simple-debug/default.nix | 4 ++-- test/cabal-simple-prof/default.nix | 4 ++-- test/cabal-simple/default.nix | 4 ++-- test/cabal-source-repo-comments/default.nix | 4 ++-- test/cabal-source-repo/default.nix | 4 ++-- test/cabal-sublib/default.nix | 4 ++-- test/call-cabal-project-to-nix/default.nix | 4 ++-- test/call-stack-to-nix/default.nix | 4 ++-- test/coverage-golden/default.nix | 4 ++-- test/coverage-no-libs/default.nix | 4 ++-- test/coverage/default.nix | 4 ++-- test/default.nix | 6 +++--- test/exe-dlls/default.nix | 4 ++-- test/exe-lib-dlls/default.nix | 4 ++-- test/exe-only/default.nix | 4 ++-- test/external-static-plugin/default.nix | 4 ++-- test/extra-hackage/default.nix | 4 ++-- test/fully-static/default.nix | 3 +-- test/ghc-options/cabal.nix | 4 ++-- test/ghc-options/stack.nix | 4 ++-- test/ghcjs-overlay/default.nix | 4 ++-- test/gi-gtk/default.nix | 4 ++-- test/githash/default.nix | 4 ++-- test/haskell-language-server/cabal.nix | 4 ++-- test/haskell-language-server/stack.nix | 4 ++-- test/js-template-haskell/default.nix | 4 ++-- test/literate-haskell/default.nix | 4 ++-- test/plugin/default.nix | 4 ++-- test/project-flags/cabal.nix | 4 ++-- test/project-flags/stack.nix | 4 ++-- test/setup-deps/default.nix | 2 +- test/sha256map/default.nix | 2 +- test/shell-for-setup-deps/default.nix | 4 ++-- test/shell-for/default.nix | 4 ++-- test/snapshots/default.nix | 4 ++-- test/stack-compiler/default.nix | 4 ++-- test/stack-local-resolver-subdir/default.nix | 4 ++-- test/stack-local-resolver/default.nix | 4 ++-- test/stack-remote-resolver/default.nix | 4 ++-- test/stack-simple/default.nix | 2 +- test/stack-source-repo/default.nix | 4 ++-- test/sublib-docs/default.nix | 4 ++-- test/supported-langauges/default.nix | 4 ++-- test/test-only/default.nix | 4 ++-- test/th-dlls-minimal/default.nix | 4 ++-- test/th-dlls/default.nix | 4 ++-- test/with-packages/default.nix | 4 ++-- 69 files changed, 145 insertions(+), 146 deletions(-) diff --git a/build.nix b/build.nix index f52fdcb9f7..086913559e 100644 --- a/build.nix +++ b/build.nix @@ -20,7 +20,7 @@ in rec { tests = import ./test/default.nix { inherit pkgs evalPackages ifdLevel compiler-nix-name; }; tools = pkgs.lib.optionalAttrs (ifdLevel >= 3) ( - pkgs.recurseIntoAttrs ({ + pkgs.lib.recurseIntoAttrs ({ cabal-latest = tool compiler-nix-name "cabal" ({ inherit evalPackages; } // pkgs.lib.optionalAttrs (ghcFromTo "9.13" "9.14") { @@ -100,8 +100,8 @@ in rec { # These are pure parts of maintainer-script so they can be built by hydra # and added to the cache to speed up buildkite. - maintainer-script-cache = pkgs.recurseIntoAttrs ( - (pkgs.lib.optionalAttrs (pkgs.system == "x86_64-linux") { + maintainer-script-cache = pkgs.lib.recurseIntoAttrs ( + (pkgs.lib.optionalAttrs (pkgs.stdenv.hostPlatform.system == "x86_64-linux") { inherit (maintainer-scripts) check-hydra; }) // (pkgs.lib.optionalAttrs (ifdLevel > 2) { diff --git a/builder/hspkg-builder.nix b/builder/hspkg-builder.nix index 7a24ebea2f..0288f78012 100644 --- a/builder/hspkg-builder.nix +++ b/builder/hspkg-builder.nix @@ -62,7 +62,7 @@ let in rec { components = haskellLib.applyComponents (buildComp pkg.allComponent) pkg; - checks = pkgs.recurseIntoAttrs (builtins.mapAttrs + checks = pkgs.lib.recurseIntoAttrs (builtins.mapAttrs (_: d: haskellLib.check d) (lib.filterAttrs (_: d: d.config.doCheck) components.tests)); inherit (package) identifier detailLevel isLocal isProject buildType; diff --git a/ci.nix b/ci.nix index 706ea92613..0d5f5b3bac 100644 --- a/ci.nix +++ b/ci.nix @@ -134,7 +134,7 @@ dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: pinnedNixpkgsSrc: in filterAttrsOnlyRecursive (_: v: platformFilter v && !(isDisabled v)) ({ # Native builds # TODO: can we merge this into the general case by picking an appropriate "cross system" to mean native? - native = pkgs.recurseIntoAttrs ({ + native = pkgs.lib.recurseIntoAttrs ({ roots = pkgs.haskell-nix.roots' { inherit compiler-nix-name evalPackages; } ifdLevel; } // pkgs.lib.optionalAttrs runTests { inherit (build) tests tools maintainer-scripts maintainer-script-cache; @@ -156,7 +156,7 @@ dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: pinnedNixpkgsSrc: then import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system crossSystem; }) else crossSystem (import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system; })); build = import ./build.nix { inherit pkgs evalPackages ifdLevel compiler-nix-name haskellNix; }; - in pkgs.recurseIntoAttrs (pkgs.lib.optionalAttrs (ifdLevel >= 1) ({ + in pkgs.lib.recurseIntoAttrs (pkgs.lib.optionalAttrs (ifdLevel >= 1) ({ roots = pkgs.haskell-nix.roots' { inherit compiler-nix-name evalPackages; } ifdLevel // { ghc = pkgs.buildPackages.haskell-nix.compiler.${compiler-nix-name}.override { ghcEvalPackages = evalPackages; }; }; diff --git a/lib/default.nix b/lib/default.nix index f9d7269701..299b758ab1 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,4 +1,4 @@ -{ pkgs, stdenv, lib, haskellLib, recurseIntoAttrs, srcOnly }: +{ pkgs, stdenv, lib, haskellLib, srcOnly }: with haskellLib; @@ -166,7 +166,7 @@ in { components = if lib.isDerivation components || components == {} then components - else recurseIntoAttrs components; + else lib.recurseIntoAttrs components; }; packageFilter = _name: package: (package.isHaskell or false) && packageSel package; filteredPkgs = lib.filterAttrs packageFilter haskellPackages; @@ -177,7 +177,7 @@ in { lib.filterAttrs (_: components: components != {}) ( builtins.mapAttrs (_name: packages: builtins.foldl' (a: b: a // b) {} (map (x: x.components) packages)) packagesGroupedByName); - in recurseIntoAttrs combined; + in lib.recurseIntoAttrs combined; # Equivalent to collectComponents with (_: true) as selection function. # Useful for pre-filtered package-set. @@ -193,7 +193,7 @@ in { # This can be used to collect all the test runs in your project, so that can be run in CI. collectChecks = packageSel: haskellPackages: let packageFilter = _name: package: (package.isHaskell or false) && packageSel package; - in recurseIntoAttrs (lib.filterAttrs (_: x: x != {} && x != recurseIntoAttrs {}) (lib.mapAttrs (_: p: p.checks) (lib.filterAttrs packageFilter haskellPackages))); + in lib.recurseIntoAttrs (lib.filterAttrs (_: x: x != {} && x != lib.recurseIntoAttrs {}) (lib.mapAttrs (_: p: p.checks) (lib.filterAttrs packageFilter haskellPackages))); # Equivalent to collectChecks with (_: true) as selection function. # Useful for pre-filtered package-set. diff --git a/modules/install-plan/redirect.nix b/modules/install-plan/redirect.nix index a3cc2fe238..3d92839d6d 100644 --- a/modules/install-plan/redirect.nix +++ b/modules/install-plan/redirect.nix @@ -39,7 +39,7 @@ let // lib.optionalAttrs (componentsByName ? lib) { library = lookupComponent "" "" componentsByName.lib; }; - checks = pkgs.recurseIntoAttrs ( + checks = pkgs.lib.recurseIntoAttrs ( lib.filterAttrs (_: x: x != {}) ( builtins.mapAttrs (_: d: pkgs.haskell-nix.haskellLib.check d) diff --git a/modules/project-common.nix b/modules/project-common.nix index 60776e4cc8..dadf2cdc0e 100644 --- a/modules/project-common.nix +++ b/modules/project-common.nix @@ -43,7 +43,7 @@ with lib.types; }; evalSystem = mkOption { type = str; - default = pkgs.pkgsBuildBuild.stdenv.system; + default = pkgs.pkgsBuildBuild.stdenv.hostPlatform.system; description = '' Specifies the system on which `cabal` and `nix-tools` should run. If not specified the `pkgsBuildBuild` system will be used. @@ -55,7 +55,7 @@ with lib.types; evalPackages = mkOption { type = attrs; default = - if pkgs.pkgsBuildBuild.stdenv.system == config.evalSystem + if pkgs.pkgsBuildBuild.stdenv.hostPlatform.system == config.evalSystem then pkgs.pkgsBuildBuild else import pkgs.path { diff --git a/nix-tools/flake.nix b/nix-tools/flake.nix index a45dd4701b..d8dc72286a 100644 --- a/nix-tools/flake.nix +++ b/nix-tools/flake.nix @@ -29,7 +29,7 @@ pkgs'.nix-tools-set { compilerSelection = lib.mkForce (p: p.haskell-nix.compiler); }; # tarball filename e.g. nix-tools-0.1.0.0-x86_64-unknown-linux-musl.tar.gz - tarball-filename = "${toolset.name}-${pkgs.hostPlatform.config}.tar.gz"; + tarball-filename = "${toolset.name}-${pkgs.stdenv.hostPlatform.config}.tar.gz"; in pkgs.runCommand tarball-filename { preferLocalBuild = true; } @@ -80,13 +80,13 @@ # project's hydraJobs pkgs.nix-tools-eval-on-linux.project.flake'.hydraJobs # tarballs with static builds. - // lib.optionalAttrs (pkgs.buildPlatform.system == "x86_64-linux") + // lib.optionalAttrs (pkgs.stdenv.buildPlatform.system == "x86_64-linux") { binary-tarball = mkTarball pkgs.pkgsCross.musl64; } # aarch64-multiplatform-musl cross compile is currently broken - # // lib.optionalAttrs (pkgs.buildPlatform.system == "aarch64-linux") + # // lib.optionalAttrs (pkgs.stdenv.buildPlatform.system == "aarch64-linux") # { binary-tarball = mkTarball pkgs.pkgsCross.aarch64-multiplatform-musl; } // { - static = static-nix-tools-outputs.hydraJobs.${pkgs.system}; + static = static-nix-tools-outputs.hydraJobs.${pkgs.stdenv.hostPlatform.system}; } ); }; diff --git a/nix-tools/static/project.nix b/nix-tools/static/project.nix index 4202cc5e17..cbefb235d1 100644 --- a/nix-tools/static/project.nix +++ b/nix-tools/static/project.nix @@ -46,7 +46,7 @@ let }; - add-static-libs-to-darwin = pkgs.lib.mkIf pkgs.hostPlatform.isDarwin { + add-static-libs-to-darwin = pkgs.lib.mkIf pkgs.stdenv.hostPlatform.isDarwin { packages.cabal-install.ghcOptions = [ "-L${pkgs.lib.getLib pkgs.static-gmp}/lib" ]; diff --git a/nix-tools/static/zipped.nix b/nix-tools/static/zipped.nix index c6390818c6..85b2a96b7b 100644 --- a/nix-tools/static/zipped.nix +++ b/nix-tools/static/zipped.nix @@ -31,7 +31,7 @@ let ]; in customPkgs.packaging.asZip { - name = "${customPkgs.hostPlatform.system}-nix-tools-static"; + name = "${customPkgs.stdenv.hostPlatform.system}-nix-tools-static"; drvs' = [ hsPkgs.cabal-install.components.exes.cabal hsPkgs.hpack.components.exes.hpack @@ -45,12 +45,12 @@ let stringifyInputs = inputs: pkgs.lib.mapAttrsToList (name: value: pkgs.lib.trace "${name}=${value}" "${value}") inputs; # stringifyInputs = inputs: map (x: "${x}") (builtins.attrValues inputs); - fragment-drv = "static-nix-tools-outputs.hydraJobs.${pkgs.hostPlatform.system}.zipped.${fragment-name}"; + fragment-drv = "static-nix-tools-outputs.hydraJobs.${pkgs.stdenv.hostPlatform.system}.zipped.${fragment-name}"; in - pkgs.runCommand "${pkgs.hostPlatform.system}-all-nix-tools" { + pkgs.runCommand "${pkgs.stdenv.hostPlatform.system}-all-nix-tools" { requiredSystemFeatures = [ "recursive-nix" ]; nativeBuildInputs = - # [ inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.nix pkgs.gitMinimal ] + # [ inputs.nixpkgs-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system}.nix pkgs.gitMinimal ] [ (pkgs.lib.trace pkgs.nix.version pkgs.nix) pkgs.gitMinimal ] ++ stringifyInputs inputs ++ stringifyInputs inputs.haskellNix.inputs; @@ -59,7 +59,7 @@ let mkdir $out cp $(nix --offline --extra-experimental-features "flakes nix-command" \ build --accept-flake-config --no-link --print-out-paths --no-allow-import-from-derivation \ - --system ${pkgs.hostPlatform.system} \ + --system ${pkgs.stdenv.hostPlatform.system} \ ${../.}#${fragment-drv})/*.zip $out/ ''; @@ -81,12 +81,12 @@ let allZippedTools = - pkgs.lib.optionalAttrs (pkgs.system == "x86_64-darwin" || pkgs.system == "aarch64-darwin") { + pkgs.lib.optionalAttrs (pkgs.stdenv.hostPlatform.system == "x86_64-darwin" || pkgs.stdenv.hostPlatform.system == "aarch64-darwin") { "nix-tools-static" = zippedToolsForDarwin; "nix-tools-static-no-ifd" = zippedToolsNoIfdFor "nix-tools-static"; } // - pkgs.lib.optionalAttrs (pkgs.system == "x86_64-linux") { + pkgs.lib.optionalAttrs (pkgs.stdenv.hostPlatform.system == "x86_64-linux") { "nix-tools-static" = zippedToolsForLinux; "nix-tools-static-arm64" = zippedToolsForLinuxArm64; diff --git a/overlays/armv6l-linux.nix b/overlays/armv6l-linux.nix index 96ebbd0c6f..e5dae3b201 100644 --- a/overlays/armv6l-linux.nix +++ b/overlays/armv6l-linux.nix @@ -2,10 +2,10 @@ final: prev: let isLinuxCross = prev.haskell-nix.haskellLib.isCrossHost - && prev.hostPlatform.isLinux - && (prev.hostPlatform.isAarch32 - || prev.hostPlatform.isAarch64 - || prev.hostPlatform.isi686); + && prev.stdenv.hostPlatform.isLinux + && (prev.stdenv.hostPlatform.isAarch32 + || prev.stdenv.hostPlatform.isAarch64 + || prev.stdenv.hostPlatform.isi686); in { diff --git a/overlays/default.nix b/overlays/default.nix index b252c4228c..4d1a1a84f9 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -31,7 +31,7 @@ let static-nix-tools' = pins: let # TODO replace once haskell-nix-examples nix-tools is in haskell.nix - zipFile = (import pins final).${final.system}; + zipFile = (import pins final).${final.stdenv.hostPlatform.system}; tarball = final.runCommand "nix-tools" { nativeBuildInputs = [ final.unzip ]; } '' @@ -54,7 +54,7 @@ let # Version of nix-tools built with a pinned version of haskell.nix. pinned-nix-tools-lib = (import final.haskell-nix.sources.flake-compat { pkgs = final; - inherit (final) system; + inherit (final.stdenv.hostPlatform) system; src = ../nix-tools; override-inputs = { # Avoid downloading another `hackage.nix`. @@ -75,7 +75,7 @@ let }; # For use building hadrian. This way updating anything that modifies the # way hadrian is built will not cause a GHC rebuild. - pinned-haskell-nix = pinned-nix-tools-lib.haskell-nix final.system; + pinned-haskell-nix = pinned-nix-tools-lib.haskell-nix final.stdenv.hostPlatform.system; }); bootstrap = import ./bootstrap.nix; diff --git a/overlays/haskell.nix b/overlays/haskell.nix index c9084f2e6f..1f14b81e6a 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -55,7 +55,7 @@ final: prev: { # Utility functions for working with the component builder. haskellLib = let hl = import ../lib { pkgs = final; - inherit (final) stdenv lib recurseIntoAttrs srcOnly; + inherit (final) stdenv lib srcOnly; haskellLib = hl; }; in hl; @@ -1034,7 +1034,7 @@ final: prev: { # project = cabalProject' {...}; # In your tests module add something that is effectively # testProjectPlan = withInputs project.plan-nix; - withInputs = final.recurseIntoAttrs; + withInputs = final.lib.recurseIntoAttrs; iserv-proxy-exes = __mapAttrs (compiler-nix-name: _ghc: let @@ -1153,7 +1153,7 @@ final: prev: { let ghc = final.buildPackages.haskell-nix.compiler.${compiler-nix-name}.override { ghcEvalPackages = evalPackages; }; in - final.recurseIntoAttrs ({ + final.lib.recurseIntoAttrs ({ # Things that require no IFD to build source-pin-hackage = hackageSrc; source-pin-stackage = stackageSrc; diff --git a/package-set.nix b/package-set.nix index 618024539c..21fbd0229a 100644 --- a/package-set.nix +++ b/package-set.nix @@ -7,7 +7,7 @@ in pkgs.lib.evalModules { _module.args = { # this is *not* the hasekllLib from nixpkgs; it is rather our own # library from haskell.nix - haskellLib = let hl = import ./lib { inherit pkgs lib; inherit (pkgs) stdenv recurseIntoAttrs srcOnly; haskellLib = hl; }; in hl; + haskellLib = let hl = import ./lib { inherit pkgs lib; inherit (pkgs) stdenv srcOnly; haskellLib = hl; }; in hl; # The package descriptions depend on pkgs, which are used to resolve system package dependencies # as well as pkgconfPkgs, which are used to resolve pkgconfig name to nixpkgs names. We simply diff --git a/test/annotations/default.nix b/test/annotations/default.nix index 6412b44e43..97642ac1c0 100644 --- a/test/annotations/default.nix +++ b/test/annotations/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, project', haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -8,7 +8,7 @@ let src = testSrc "annotations"; }; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { meta.disabled = # This fail looking for ghci. Adding ghci as a `build-depends` works, but should not be needed stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm diff --git a/test/buildable/default.nix b/test/buildable/default.nix index ea20474379..872932d73a 100644 --- a/test/buildable/default.nix +++ b/test/buildable/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, cabalProject', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -13,7 +13,7 @@ let }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/c-ffi/default.nix b/test/c-ffi/default.nix index f03ac119fe..c5396baffb 100644 --- a/test/c-ffi/default.nix +++ b/test/c-ffi/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -20,7 +20,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/ca-derivations-include/default.nix b/test/ca-derivations-include/default.nix index 00f88a1045..7a23d140f8 100644 --- a/test/ca-derivations-include/default.nix +++ b/test/ca-derivations-include/default.nix @@ -1,6 +1,6 @@ # Build a project enabling content addressed derivations for # only a subset of the components -{ stdenv, pkgs, lib, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, CADerivationsEnabled }: +{ stdenv, pkgs, lib, mkCabalProjectPkgSet, project', haskellLib, testSrc, compiler-nix-name, evalPackages, CADerivationsEnabled }: with lib; @@ -34,7 +34,7 @@ let exeB = projectB.hsPkgs.cabal-simple.components.exes.cabal-simple.exePath; in -recurseIntoAttrs { +lib.recurseIntoAttrs { meta.disabled = !CADerivationsEnabled; diff --git a/test/ca-derivations/default.nix b/test/ca-derivations/default.nix index 4e9d8c99d1..b20014245b 100644 --- a/test/ca-derivations/default.nix +++ b/test/ca-derivations/default.nix @@ -1,6 +1,6 @@ # Test if derivations are content addressed building two derivations producing # the same outputs and checking if the path stores are equals -{ stdenv, pkgs, lib, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, CADerivationsEnabled }: +{ stdenv, pkgs, lib, mkCabalProjectPkgSet, project', haskellLib, testSrc, compiler-nix-name, evalPackages, CADerivationsEnabled }: with lib; @@ -38,7 +38,7 @@ let exe-withComment = projectWithComment.hsPkgs.cabal-simple.components.exes.cabal-simple.exePath; in -recurseIntoAttrs { +lib.recurseIntoAttrs { meta.disabled = !CADerivationsEnabled; diff --git a/test/cabal-22/default.nix b/test/cabal-22/default.nix index 071992ab9e..946e4ffda6 100644 --- a/test/cabal-22/default.nix +++ b/test/cabal-22/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, mkCabalProjectPkgSet, cabalProject', haskellLib, util, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, mkCabalProjectPkgSet, cabalProject', haskellLib, util, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -11,7 +11,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { # When using ghcjs on darwin this test fails with # ReferenceError: h$hs_clock_darwin_gettime is not defined # https://github.com/input-output-hk/haskell.nix/issues/925 diff --git a/test/cabal-doctests/default.nix b/test/cabal-doctests/default.nix index 1a2ccd235c..88f6753d03 100644 --- a/test/cabal-doctests/default.nix +++ b/test/cabal-doctests/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, gmp6, zlib, recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, cabalProject', haskellLib, gmp6, zlib, runCommand, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -18,7 +18,7 @@ let disabled = stdenv.buildPlatform != stdenv.hostPlatform; }; -in recurseIntoAttrs ({ +in lib.recurseIntoAttrs ({ # Making cabal-doctest work for cross compilers will be difficult. meta.disabled = stdenv.buildPlatform != stdenv.hostPlatform || builtins.compareVersions buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.0" >= 0; diff --git a/test/cabal-hpack/default.nix b/test/cabal-hpack/default.nix index 4162bb6886..39c76c2a46 100644 --- a/test/cabal-hpack/default.nix +++ b/test/cabal-hpack/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -21,7 +21,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/cabal-project-nix-path/default.nix b/test/cabal-project-nix-path/default.nix index d34643582e..401a5af7ad 100644 --- a/test/cabal-project-nix-path/default.nix +++ b/test/cabal-project-nix-path/default.nix @@ -1,4 +1,4 @@ -{ lib, cabalProject', tool, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ lib, cabalProject', tool, testSrc, compiler-nix-name, evalPackages }: let # Kind of round about way of getting the source for the hello package from hackage # so we can use it in this test. @@ -22,7 +22,7 @@ let ''; }; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/cabal-simple-debug/default.nix b/test/cabal-simple-debug/default.nix index 58d7aab01f..21dc6e5e15 100644 --- a/test/cabal-simple-debug/default.nix +++ b/test/cabal-simple-debug/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages, dwarfdump }: +{ stdenv, lib, util, cabalProject', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages, dwarfdump }: with lib; @@ -12,7 +12,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { # DWARF only works on linux with GHC 8.10.2 and newer # GHC 9.2.1 disabled because of https://github.com/input-output-hk/haskell.nix/issues/1332 meta.disabled = __elem compiler-nix-name ["ghc921" "ghc922" "ghc923" "ghc924" "ghc925" "ghc926" "ghc927"] diff --git a/test/cabal-simple-prof/default.nix b/test/cabal-simple-prof/default.nix index d95fbf8f95..3a44d94614 100644 --- a/test/cabal-simple-prof/default.nix +++ b/test/cabal-simple-prof/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, cabalProject', haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -28,7 +28,7 @@ let exe = (project.getComponent "cabal-simple:exe:cabal-simple") .override (lib.optionalAttrs stdenv.hostPlatform.isAndroid { setupBuildFlags = ["--ghc-option=-optl-static" ]; }); -in recurseIntoAttrs { +in lib.recurseIntoAttrs { meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm; ifdInputs = { inherit (project) plan-nix; diff --git a/test/cabal-simple/default.nix b/test/cabal-simple/default.nix index 86c13739d2..5bf2ba2f98 100644 --- a/test/cabal-simple/default.nix +++ b/test/cabal-simple/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, mkCabalProjectPkgSet, project', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -24,7 +24,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/cabal-source-repo-comments/default.nix b/test/cabal-source-repo-comments/default.nix index d277a46186..fe5a6b0462 100644 --- a/test/cabal-source-repo-comments/default.nix +++ b/test/cabal-source-repo-comments/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, cabalProject', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -12,7 +12,7 @@ let ''; }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/cabal-source-repo/default.nix b/test/cabal-source-repo/default.nix index 74ad377bec..6bea82617e 100644 --- a/test/cabal-source-repo/default.nix +++ b/test/cabal-source-repo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, cabalProject', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -12,7 +12,7 @@ let ''; }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/cabal-sublib/default.nix b/test/cabal-sublib/default.nix index c2821b8492..5620af8a88 100644 --- a/test/cabal-sublib/default.nix +++ b/test/cabal-sublib/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, cabalProject', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -25,7 +25,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/call-cabal-project-to-nix/default.nix b/test/call-cabal-project-to-nix/default.nix index 40423c8b07..d5677afe14 100644 --- a/test/call-cabal-project-to-nix/default.nix +++ b/test/call-cabal-project-to-nix/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, buildPackages, mkCabalProjectPkgSet, callCabalProjectToNix, loadCabalPlan, recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, buildPackages, mkCabalProjectPkgSet, callCabalProjectToNix, loadCabalPlan, haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -28,7 +28,7 @@ let }; packages = pkgSet.config.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { plan-nix = callProjectResults.projectNix; }; diff --git a/test/call-stack-to-nix/default.nix b/test/call-stack-to-nix/default.nix index 345a147752..2f965cbb42 100644 --- a/test/call-stack-to-nix/default.nix +++ b/test/call-stack-to-nix/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, mkStackPkgSet, callStackToNix, importAndFilterProject, recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, mkStackPkgSet, callStackToNix, importAndFilterProject, haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -14,7 +14,7 @@ let }; packages = pkgSet.config.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { meta.disabled = compiler-nix-name != "ghc865"; ifdInputs = { stack-nix = callProjectResults.projectNix; diff --git a/test/coverage-golden/default.nix b/test/coverage-golden/default.nix index 441e9bc191..c110715e6a 100644 --- a/test/coverage-golden/default.nix +++ b/test/coverage-golden/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, evalPackages, buildPackages, sources }: +{ stdenv, lib, fetchFromGitHub, runCommand, testSrc, compiler-nix-name, evalPackages, buildPackages, sources }: with lib; @@ -18,7 +18,7 @@ let exampleProject = import "${exampleProjectSrc}" { config = { haskellNix = { coverage = true; }; }; }; exampleCoverageReport = exampleProject.cardanoShellHaskellPackages.projectCoverageReport; -in recurseIntoAttrs ({ +in lib.recurseIntoAttrs ({ # Does not work on ghcjs because it needs zlib. meta.disabled = stdenv.hostPlatform.isGhcjs; run = stdenv.mkDerivation { diff --git a/test/coverage-no-libs/default.nix b/test/coverage-no-libs/default.nix index 02a9df5ee0..5730a6a67b 100644 --- a/test/coverage-no-libs/default.nix +++ b/test/coverage-no-libs/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabal-install, cabalProject', stackProject', recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabal-install, cabalProject', stackProject', runCommand, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -13,7 +13,7 @@ let cabalProj = (cabalProject' (projectArgs // { inherit compiler-nix-name; })); stackProj = (stackProject' projectArgs); -in recurseIntoAttrs ({ +in lib.recurseIntoAttrs ({ # Does not work on ghcjs because it needs zlib. meta.disabled = stdenv.hostPlatform.isGhcjs; run = stdenv.mkDerivation { diff --git a/test/coverage/default.nix b/test/coverage/default.nix index de86fb4b1c..828808b59f 100644 --- a/test/coverage/default.nix +++ b/test/coverage/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabal-install, cabalProject', stackProject', recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, cabal-install, cabalProject', stackProject', runCommand, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -25,7 +25,7 @@ let crossSuffix = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-${stdenv.hostPlatform.config}"; crossSuffix' = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.isStatic) "-static" + crossSuffix; -in recurseIntoAttrs ({ +in lib.recurseIntoAttrs ({ # Does not work on ghcjs because it needs zlib. Wasm needs network fixed. meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm # For some reason the `.tix` file is not created on armv7a android (not sure why) diff --git a/test/default.nix b/test/default.nix index 9ca3cbb580..a398346ca6 100644 --- a/test/default.nix +++ b/test/default.nix @@ -59,7 +59,7 @@ let (name: val: if name == "ifdInputs" then - pkgs.recurseIntoAttrs + pkgs.lib.recurseIntoAttrs (builtins.mapAttrs (_: v: pkgs.haskell-nix.withInputs v) val) else val ); @@ -97,7 +97,7 @@ let # >>> filterNonIfdInputsSetRecurse { foobar = "hello" } # { recurseForDerivations = true; } filterNonIfdInputsSetRecurse = attrs: - pkgs.recurseIntoAttrs (filterAttrsIfdInputs attrs); + pkgs.lib.recurseIntoAttrs (filterAttrsIfdInputs attrs); # Filter all out all the keys/values for child values of this attribute set # where the key is not equal to "ifdInputs". @@ -261,7 +261,7 @@ let optionalIfdTests = ifdLevel: pkgs.lib.optionalAttrs (ifdLevel > 1) (allTestsWithIfdInputs ifdLevel); in filterAttrsOnlyRecursive (_: v: !(isDisabled v)) - (pkgs.recurseIntoAttrs (optionalIfdTests ifdLevel)) + (pkgs.lib.recurseIntoAttrs (optionalIfdTests ifdLevel)) ## more possible test cases # 1. fully static linking diff --git a/test/exe-dlls/default.nix b/test/exe-dlls/default.nix index f16960cbf2..4bdd6f3a3b 100644 --- a/test/exe-dlls/default.nix +++ b/test/exe-dlls/default.nix @@ -1,5 +1,5 @@ # Test building TH code that needs DLLs when cross compiling for windows -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, project', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -13,7 +13,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs rec { +in lib.recurseIntoAttrs rec { meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm; ifdInputs = { diff --git a/test/exe-lib-dlls/default.nix b/test/exe-lib-dlls/default.nix index 467c08afbe..057904c9b7 100644 --- a/test/exe-lib-dlls/default.nix +++ b/test/exe-lib-dlls/default.nix @@ -1,5 +1,5 @@ # Test building TH code that needs DLLs when cross compiling for windows -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, project', haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -13,7 +13,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs rec { +in lib.recurseIntoAttrs rec { meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm; ifdInputs = { diff --git a/test/exe-only/default.nix b/test/exe-only/default.nix index ee69c34b26..401758cafb 100644 --- a/test/exe-only/default.nix +++ b/test/exe-only/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, haskell-nix, recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, haskell-nix, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -15,7 +15,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/external-static-plugin/default.nix b/test/external-static-plugin/default.nix index 1eff8ab632..c08387e445 100644 --- a/test/external-static-plugin/default.nix +++ b/test/external-static-plugin/default.nix @@ -1,4 +1,4 @@ -{ cabalProject', testSrc, compiler-nix-name, buildPackages, evalPackages, recurseIntoAttrs, haskellLib }: let +{ lib, cabalProject', testSrc, compiler-nix-name, buildPackages, evalPackages, haskellLib }: let project = cabalProject' { src = testSrc "external-static-plugin"; inherit compiler-nix-name evalPackages; @@ -9,7 +9,7 @@ ''; } ]; }; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/extra-hackage/default.nix b/test/extra-hackage/default.nix index 6c43bb7a97..9fdae4b336 100644 --- a/test/extra-hackage/default.nix +++ b/test/extra-hackage/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, cabalProject', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -27,7 +27,7 @@ let }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/fully-static/default.nix b/test/fully-static/default.nix index 9379b00f91..be205d6df1 100644 --- a/test/fully-static/default.nix +++ b/test/fully-static/default.nix @@ -1,7 +1,6 @@ { stackProject' , stdenv, lib, gmp6, openssl, zlib, libffi , buildPackages -, recurseIntoAttrs , testSrc , compiler-nix-name , evalPackages @@ -30,7 +29,7 @@ let packagesGmp = (project { gpl = true; }).hsPkgs; packagesIntegerSimple = (project { gpl = false; }).hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { meta.disabled = stdenv.hostPlatform.isGhcjs || compiler-nix-name != compiler; ifdInputs = { diff --git a/test/ghc-options/cabal.nix b/test/ghc-options/cabal.nix index c3388e8eae..8b7aa34b81 100644 --- a/test/ghc-options/cabal.nix +++ b/test/ghc-options/cabal.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, cabalProject', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -19,7 +19,7 @@ let }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/ghc-options/stack.nix b/test/ghc-options/stack.nix index c7841441be..cc18c097b4 100644 --- a/test/ghc-options/stack.nix +++ b/test/ghc-options/stack.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, stackProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, stackProject', haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -9,7 +9,7 @@ let }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { # This test is somehow broken for ghcjs meta.disabled = stdenv.hostPlatform.isGhcjs || compiler-nix-name != "ghc984"; diff --git a/test/ghcjs-overlay/default.nix b/test/ghcjs-overlay/default.nix index 956e800408..c160b04c71 100644 --- a/test/ghcjs-overlay/default.nix +++ b/test/ghcjs-overlay/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, cabalProject', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -10,7 +10,7 @@ let }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/gi-gtk/default.nix b/test/gi-gtk/default.nix index 8ceb1e1f69..3da857dfe5 100644 --- a/test/gi-gtk/default.nix +++ b/test/gi-gtk/default.nix @@ -1,5 +1,5 @@ # Test building TH code that needs DLLs when cross compiling for windows -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, project', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -15,7 +15,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs rec { +in lib.recurseIntoAttrs rec { meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm # Gtk cross compilation seems to be broken in nixpkgs || stdenv.hostPlatform.isWindows diff --git a/test/githash/default.nix b/test/githash/default.nix index e3e9bfe171..35f68547b5 100644 --- a/test/githash/default.nix +++ b/test/githash/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, haskell-nix, haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, runCommand, gitReallyMinimal, buildPackages }: +{ stdenv, lib, haskell-nix, haskellLib, testSrc, compiler-nix-name, evalPackages, runCommand, gitReallyMinimal, buildPackages }: with lib; @@ -40,7 +40,7 @@ let githash-test = packages.githash-test.components.exes.githash-test; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { # githash runs git from TH code and this needs a cross compiled git exe # to work correctly. Cross compiling git is currently broken. meta.disabled = __elem compiler-nix-name ["ghc901" "ghc902"] || haskellLib.isCrossHost || diff --git a/test/haskell-language-server/cabal.nix b/test/haskell-language-server/cabal.nix index 26cc6a4104..a59e40027e 100644 --- a/test/haskell-language-server/cabal.nix +++ b/test/haskell-language-server/cabal.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, testSrc, haskell-nix, compiler-nix-name, evalPackages, recurseIntoAttrs, buildPackages }: +{ lib, stdenv, testSrc, haskell-nix, compiler-nix-name, evalPackages, buildPackages }: let project = haskell-nix.cabalProject' { inherit compiler-nix-name evalPackages; @@ -6,7 +6,7 @@ let src = haskell-nix.sources."hls-2.11"; configureArgs = "--disable-benchmarks --disable-tests"; # This makes cabalProject' more like the `tool` function }; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/haskell-language-server/stack.nix b/test/haskell-language-server/stack.nix index 124be9f308..e786955e0d 100644 --- a/test/haskell-language-server/stack.nix +++ b/test/haskell-language-server/stack.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, testSrc, haskell-nix, buildPackages, compiler-nix-name, evalPackages, recurseIntoAttrs }: +{ stdenv, lib, testSrc, haskell-nix, buildPackages, compiler-nix-name, evalPackages }: let project = buildPackages.haskell-nix.project' { inherit compiler-nix-name evalPackages; @@ -15,7 +15,7 @@ let "https://github.com/hsyl20/ghc-api-compat.git"."8fee87eac97a538dbe81ff1ab18cff10f2f9fa15" = "sha256-byehvdxQxhNk5ZQUXeFHjAZpAze4Ct9261ro4c5acZk="; }; }; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) stack-nix; }; diff --git a/test/js-template-haskell/default.nix b/test/js-template-haskell/default.nix index 8a2ad7e2e5..c43953dedf 100644 --- a/test/js-template-haskell/default.nix +++ b/test/js-template-haskell/default.nix @@ -1,5 +1,5 @@ # Test building TH code that needs DLLs when cross compiling for windows -{ stdenv, lib, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, project', haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -18,7 +18,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/literate-haskell/default.nix b/test/literate-haskell/default.nix index 572bd08540..0962bdd34a 100644 --- a/test/literate-haskell/default.nix +++ b/test/literate-haskell/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, project', haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -10,7 +10,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/plugin/default.nix b/test/plugin/default.nix index ed550473d4..ff65a848d8 100644 --- a/test/plugin/default.nix +++ b/test/plugin/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, haskellLib, project', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, haskellLib, project', testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -13,7 +13,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/project-flags/cabal.nix b/test/project-flags/cabal.nix index 808f56b104..0a1f0b2b8e 100644 --- a/test/project-flags/cabal.nix +++ b/test/project-flags/cabal.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabalProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, cabalProject', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -9,7 +9,7 @@ let }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/project-flags/stack.nix b/test/project-flags/stack.nix index 6cb5334283..c220a9c1d0 100644 --- a/test/project-flags/stack.nix +++ b/test/project-flags/stack.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, stackProject', recurseIntoAttrs, haskellLib, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, stackProject', haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -9,7 +9,7 @@ let }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { meta.disabled = compiler-nix-name != "ghc984"; ifdInputs = { inherit (project) stack-nix; diff --git a/test/setup-deps/default.nix b/test/setup-deps/default.nix index efcc15696d..b0991d7163 100644 --- a/test/setup-deps/default.nix +++ b/test/setup-deps/default.nix @@ -18,7 +18,7 @@ let }; in -recurseIntoAttrs ({ +lib.recurseIntoAttrs ({ ifdInputs = { plan-nix = addMetaAttrs meta project.plan-nix; }; diff --git a/test/sha256map/default.nix b/test/sha256map/default.nix index a4c2a65e20..89b230f854 100644 --- a/test/sha256map/default.nix +++ b/test/sha256map/default.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, stdenv, haskell-nix, testSrc, zlib, compiler-nix-name, evalPackages, recurseIntoAttrs } : recurseIntoAttrs { +{ pkgs, lib, stdenv, haskell-nix, testSrc, zlib, compiler-nix-name, evalPackages } : lib.recurseIntoAttrs { # The version of pandoc used in this test does not build with ghcjs or ghc 8.10 meta.disabled = stdenv.hostPlatform.isGhcjs || builtins.compareVersions pkgs.buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "8.10" >= 0; diff --git a/test/shell-for-setup-deps/default.nix b/test/shell-for-setup-deps/default.nix index 6bf7214373..9e15676917 100644 --- a/test/shell-for-setup-deps/default.nix +++ b/test/shell-for-setup-deps/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, cabal-install, cabalProject', recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, cabal-install, cabalProject', runCommand, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -14,7 +14,7 @@ let withHoogle = true; }; -in recurseIntoAttrs ({ +in lib.recurseIntoAttrs ({ # Making this work for cross compilers will be difficult as setup-deps are # built for the build platform and the shell will be for the host platform. # We probably need a shell that provides both build and host ghc diff --git a/test/shell-for/default.nix b/test/shell-for/default.nix index 34f1b2ff06..f2abe0a5b8 100644 --- a/test/shell-for/default.nix +++ b/test/shell-for/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, project' }: +{ stdenv, lib, haskellLib, testSrc, compiler-nix-name, evalPackages, project' }: with lib; @@ -50,7 +50,7 @@ let packageSetupDeps = false; }; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { # Does not work on ghcjs because it needs zlib. # Does not work on windows because it needs mintty. meta.disabled = stdenv.hostPlatform.isMusl diff --git a/test/snapshots/default.nix b/test/snapshots/default.nix index eaa64f94b2..fdb65291c6 100644 --- a/test/snapshots/default.nix +++ b/test/snapshots/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, haskellPackages, snapshots, recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, haskellPackages, snapshots, runCommand, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -6,7 +6,7 @@ let env = snapshots."lts-14.13".ghcWithHoogle (ps: with ps; [ conduit conduit-extra resourcet ]); -in recurseIntoAttrs { +in lib.recurseIntoAttrs { # Does not work on ghcjs because it needs zlib. meta.disabled = stdenv.hostPlatform.isGhcjs || compiler-nix-name != "ghc865"; inherit env; diff --git a/test/stack-compiler/default.nix b/test/stack-compiler/default.nix index 614de24341..261159e8c0 100644 --- a/test/stack-compiler/default.nix +++ b/test/stack-compiler/default.nix @@ -1,4 +1,4 @@ -{ stackProject', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ lib, stackProject', testSrc, compiler-nix-name, evalPackages }: let project = stackProject' { @@ -7,7 +7,7 @@ let }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { meta.disabled = compiler-nix-name != "ghc9101"; ifdInputs = { inherit (project) stack-nix; diff --git a/test/stack-local-resolver-subdir/default.nix b/test/stack-local-resolver-subdir/default.nix index fe0520d2f4..c5d7b1b763 100644 --- a/test/stack-local-resolver-subdir/default.nix +++ b/test/stack-local-resolver-subdir/default.nix @@ -1,4 +1,4 @@ -{ project', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ lib, project', testSrc, compiler-nix-name, evalPackages }: let project = project' { @@ -7,7 +7,7 @@ let }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { meta.disabled = compiler-nix-name != "ghc984"; ifdInputs = { inherit (project) stack-nix; diff --git a/test/stack-local-resolver/default.nix b/test/stack-local-resolver/default.nix index 640d9ada4b..00e4d4fbf4 100644 --- a/test/stack-local-resolver/default.nix +++ b/test/stack-local-resolver/default.nix @@ -1,4 +1,4 @@ -{ project', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ lib, project', testSrc, compiler-nix-name, evalPackages }: let project = project' { @@ -7,7 +7,7 @@ let }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { meta.disabled = compiler-nix-name != "ghc984"; ifdInputs = { inherit (project) stack-nix; diff --git a/test/stack-remote-resolver/default.nix b/test/stack-remote-resolver/default.nix index 83468a56bc..6e6e799775 100644 --- a/test/stack-remote-resolver/default.nix +++ b/test/stack-remote-resolver/default.nix @@ -1,4 +1,4 @@ -{ project', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ lib, project', testSrc, compiler-nix-name, evalPackages }: let project = project' { @@ -8,7 +8,7 @@ let }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { meta.disabled = compiler-nix-name != "ghc984"; ifdInputs = { inherit (project) stack-nix; diff --git a/test/stack-simple/default.nix b/test/stack-simple/default.nix index 5c8be4a197..90c3e6bdfd 100644 --- a/test/stack-simple/default.nix +++ b/test/stack-simple/default.nix @@ -11,7 +11,7 @@ let packages = project.hsPkgs; -in pkgs.recurseIntoAttrs { +in pkgs.lib.recurseIntoAttrs { meta.disabled = !builtins.pathExists ./stack-${compiler-nix-name}.yaml; stack-simple-exe = (haskellLib.check packages.stack-simple.components.exes.stack-simple-exe) // { # Attributes used for debugging with nix repl diff --git a/test/stack-source-repo/default.nix b/test/stack-source-repo/default.nix index f6ace1c6f0..81be4ce932 100644 --- a/test/stack-source-repo/default.nix +++ b/test/stack-source-repo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, stackProject', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ lib, stdenv, stackProject', testSrc, compiler-nix-name, evalPackages }: let project = stackProject' { @@ -7,7 +7,7 @@ let }; packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { meta.disabled = compiler-nix-name != "ghc984" || stdenv.hostPlatform.isGhcjs; ifdInputs = { inherit (project) stack-nix; diff --git a/test/sublib-docs/default.nix b/test/sublib-docs/default.nix index e106dc1da2..d6de17d3ed 100644 --- a/test/sublib-docs/default.nix +++ b/test/sublib-docs/default.nix @@ -1,5 +1,5 @@ # Test a package set -{ stdenv, lib, util, cabalProject', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, cabalProject', haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -12,7 +12,7 @@ let packages = project.hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { # Haddock is not included with cross compilers currently meta.disabled = haskellLib.isCrossHost || stdenv.hostPlatform.isStatic; ifdInputs = { diff --git a/test/supported-langauges/default.nix b/test/supported-langauges/default.nix index cb1b31d834..b48fc0bb5f 100644 --- a/test/supported-langauges/default.nix +++ b/test/supported-langauges/default.nix @@ -1,4 +1,4 @@ -{ stdenv, pkgs, lib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, pkgs, lib, testSrc, compiler-nix-name, evalPackages, buildPackages }: let ghc = buildPackages.haskell-nix.compiler.${compiler-nix-name}.override { ghcEvalPackages = evalPackages; }; @@ -7,7 +7,7 @@ let inherit pkgs evalPackages ghc; }; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { check = stdenv.mkDerivation { name = "support-languages-check"; diff --git a/test/test-only/default.nix b/test/test-only/default.nix index 9d53dc14b6..59fa4ee3c1 100644 --- a/test/test-only/default.nix +++ b/test/test-only/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages }: +{ stdenv, lib, util, project', haskellLib, testSrc, compiler-nix-name, evalPackages }: with lib; @@ -8,7 +8,7 @@ let src = testSrc "test-only"; }; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { ifdInputs = { inherit (project) plan-nix; }; diff --git a/test/th-dlls-minimal/default.nix b/test/th-dlls-minimal/default.nix index 43837f7ef1..bc7324c291 100644 --- a/test/th-dlls-minimal/default.nix +++ b/test/th-dlls-minimal/default.nix @@ -1,5 +1,5 @@ # Test building TH code that needs DLLs when cross compiling for windows -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, project', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -30,7 +30,7 @@ let packages = (project false).hsPkgs; packages-ei = (project true).hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { # This test is just for windows currently (the full th-dlls test runs on other platforms) meta.disabled = !stdenv.hostPlatform.isWindows # Disable for now (CI machines currently hang without timing out) diff --git a/test/th-dlls/default.nix b/test/th-dlls/default.nix index 6b7ad744b5..3216d00028 100644 --- a/test/th-dlls/default.nix +++ b/test/th-dlls/default.nix @@ -1,5 +1,5 @@ # Test building TH code that needs DLLs when cross compiling for windows -{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, util, project', haskellLib, testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; @@ -25,7 +25,7 @@ let packages = (project false).hsPkgs; packages-ei = (project true).hsPkgs; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { meta.disabled = stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWasm # On aarch64 this test breaks form musl cross compiles on x86_64-linux # Error is: diff --git a/test/with-packages/default.nix b/test/with-packages/default.nix index 5612af574b..fcf1504cbc 100644 --- a/test/with-packages/default.nix +++ b/test/with-packages/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, haskellLib, util, cabalProject', recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: +{ stdenv, lib, haskellLib, util, cabalProject', testSrc, compiler-nix-name, evalPackages, buildPackages }: with lib; with util; @@ -34,7 +34,7 @@ let showDepends = component: concatMapStringsSep " " pkgId (component.depends or []); extraFlags = ""; -in recurseIntoAttrs { +in lib.recurseIntoAttrs { # Used for testing externally with nix-shell (../tests.sh). # This just adds cabal-install to the existing shells. test-shell = (addCabalInstall library.shell).overrideAttrs (_: _: { From 172793807d5c118e55d09a6772b9bbfa99ab010b Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 4 Dec 2025 00:51:50 +0000 Subject: [PATCH 291/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 10404ed34c..7bf7730a54 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1764721618, - "narHash": "sha256-qayd4uIJ1PU3TWnm4ExC8WmLBUo8/4LL9QEWngiaz24=", + "lastModified": 1764808061, + "narHash": "sha256-uTwuUGdZZsDcQH21Z94wOPdH5QmApfmKrAm/WY2oRt4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "1b943b3cd91ffdaa62da6fe5870b7c7cfca30729", + "rev": "4eb0f0ed3f14fe18b35bb0610bf61e18652aad3e", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1764721608, - "narHash": "sha256-9HdrQsasjLlKGjxKWo7FKTRIlQSvKR1VBE3MQPWehCw=", + "lastModified": 1764808050, + "narHash": "sha256-/N5LEWKV8kPSzcVvaJ8eZ+mkdJH8J9upwEHhd9esJyA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "436be8801b9037312e3107153975d1f6473363b7", + "rev": "eefad7a34505f55c79252c70b3e3b010ade47473", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1764720806, - "narHash": "sha256-nnrK+cx79fvxmpCLpTVjMdQM1vuy75xmAsE5XK9wnd8=", + "lastModified": 1764807228, + "narHash": "sha256-GUE2YS0KiHhyv/+Re64oJweW++Gmp3KVOBhPGAAm/pg=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "a9c4c1f902e334a6d75f5875960c7cf95228b7c1", + "rev": "2fe95fdd1881bca51c8bfe25adc3039c67f5986f", "type": "github" }, "original": { From 79eb5912ec1a45dd14975c308ed78ee4e16c705f Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 5 Dec 2025 00:52:25 +0000 Subject: [PATCH 292/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7bf7730a54..6cdef7e46d 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1764808061, - "narHash": "sha256-uTwuUGdZZsDcQH21Z94wOPdH5QmApfmKrAm/WY2oRt4=", + "lastModified": 1764894465, + "narHash": "sha256-OMaP+KRg+8msqt1KXPblD/ZqbrXu4k+/F9cCW5CJYSY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4eb0f0ed3f14fe18b35bb0610bf61e18652aad3e", + "rev": "c1d414c7a7e00fd15571a56d85496135e4b99c5a", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1764808050, - "narHash": "sha256-/N5LEWKV8kPSzcVvaJ8eZ+mkdJH8J9upwEHhd9esJyA=", + "lastModified": 1764894454, + "narHash": "sha256-bJ54cNr4VFpLAw4ZgqNBJh6LvFsmL7Ctyfy90frB7WY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "eefad7a34505f55c79252c70b3e3b010ade47473", + "rev": "679a6508d798bc620fc4474d7059c22152e15438", "type": "github" }, "original": { @@ -557,11 +557,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1764807228, - "narHash": "sha256-GUE2YS0KiHhyv/+Re64oJweW++Gmp3KVOBhPGAAm/pg=", + "lastModified": 1764893625, + "narHash": "sha256-bi+5thXLFmDZcRALyLH83E6RCUXxNReHkqcsc7kNAAA=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "2fe95fdd1881bca51c8bfe25adc3039c67f5986f", + "rev": "848385d83bb4770208f9261b8f2616777aa65e67", "type": "github" }, "original": { From bc7a401b3cd96fecac7f56135dcede0a89356ee5 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Fri, 5 Dec 2025 17:05:45 +1300 Subject: [PATCH 293/308] Add nixpkgs-2511 (#2456) * Add nixpkgs-2511 * Skip tests for GHC using older LLVM versions no longer in nispkgs * Use NDK 27 * Skip android tests that require old LLVM versions --- ci.nix | 15 ++++++++------- default.nix | 3 +++ flake.lock | 29 +++++++++++++++++++++++------ flake.nix | 1 + overlays/android.nix | 4 ++-- 5 files changed, 37 insertions(+), 15 deletions(-) diff --git a/ci.nix b/ci.nix index 0d5f5b3bac..480877ca1c 100644 --- a/ci.nix +++ b/ci.nix @@ -18,7 +18,7 @@ # short names for nixpkgs versions nixpkgsVersions = { - "R2505" = inputs.nixpkgs-2505; + "R2511" = inputs.nixpkgs-2511; "unstable" = inputs.nixpkgs-unstable; }; @@ -64,12 +64,10 @@ # cabal-install and nix-tools plans. When removing a ghc version # from here (so that is no longer cached) also remove ./materialized/ghcXXX. # Update supported-ghc-versions.md to reflect any changes made here. - nixpkgs.lib.optionalAttrs (builtins.elem nixpkgsName ["R2411" "R2505"]) { + nixpkgs.lib.optionalAttrs (builtins.elem nixpkgsName ["R2411" "R2505" "R2511"]) { ghc96 = false; ghc98 = false; - ghc98llvm = false; ghc910 = false; - ghc910llvm = false; ghc912 = false; } // nixpkgs.lib.optionalAttrs (nixpkgsName == "unstable") { ghc96 = true; @@ -93,7 +91,7 @@ inherit (lib.systems.examples) ghcjs; } // lib.optionalAttrs (nixpkgsName == "unstable" && (__match ".*llvm" compiler-nix-name == null) - && !builtins.elem compiler-nix-name ["ghc967" "ghc984" "ghc9102" "ghc9103"] + && !builtins.elem compiler-nix-name ["ghc967" "ghc984" "ghc9103"] && system != "x86_64-darwin") { inherit (lib.systems.examples) wasi32; } // lib.optionalAttrs (nixpkgsName == "unstable" @@ -113,9 +111,12 @@ } // lib.optionalAttrs (__match ".*llvm" compiler-nix-name == null && system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { # Out llvm versions of GHC seem to break for musl32 inherit (lib.systems.examples) musl32; - } // lib.optionalAttrs (system == "x86_64-linux" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948"]) { + } // lib.optionalAttrs (system == "x86_64-linux" + && !builtins.elem compiler-nix-name ["ghc967" "ghc984" "ghc9103"]) { inherit (lib.systems.examples) aarch64-android-prebuilt; - } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName != "unstable" && !builtins.elem compiler-nix-name ["ghc902" "ghc928" "ghc948" "ghc9103" "ghc9103llvm" "ghc91320250523"]) { + } // lib.optionalAttrs (system == "x86_64-linux" + && nixpkgsName != "unstable" + && !builtins.elem compiler-nix-name ["ghc967" "ghc984" "ghc9103" "ghc91320250523"]) { inherit (lib.systems.examples) armv7a-android-prebuilt; } // lib.optionalAttrs (system == "x86_64-linux" && nixpkgsName == "unstable" && !builtins.elem compiler-nix-name ["ghc8107" "ghc902"]) { # TODO fix this for the compilers we build with hadrian (ghc >=9.4) diff --git a/default.nix b/default.nix index c43181eb30..38feea8bdf 100644 --- a/default.nix +++ b/default.nix @@ -100,6 +100,9 @@ self // { pkgs-2505 = import self.inputs.nixpkgs-2505 (nixpkgsArgs // { localSystem = { inherit system; }; }); + pkgs-2511 = import self.inputs.nixpkgs-2511 (nixpkgsArgs // { + localSystem = { inherit system; }; + }); pkgs-unstable = import self.inputs.nixpkgs-unstable (nixpkgsArgs // { localSystem = { inherit system; }; }); diff --git a/flake.lock b/flake.lock index 6cdef7e46d..d929df4aa8 100644 --- a/flake.lock +++ b/flake.lock @@ -468,11 +468,11 @@ }, "nixpkgs-2505": { "locked": { - "lastModified": 1762303001, - "narHash": "sha256-6Q5fx8I7kI+uHL97pdpUnTm1Uu+OazpHfnv+DCAihtE=", + "lastModified": 1764560356, + "narHash": "sha256-M5aFEFPppI4UhdOxwdmceJ9bDJC4T6C6CzCK1E2FZyo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "139de9c2cb757650424fe8aa2a980eaa93a9e733", + "rev": "6c8f0cca84510cc79e09ea99a299c9bc17d03cb6", "type": "github" }, "original": { @@ -482,13 +482,29 @@ "type": "github" } }, + "nixpkgs-2511": { + "locked": { + "lastModified": 1764572236, + "narHash": "sha256-hLp6T/vKdrBQolpbN3EhJOKTXZYxJZPzpnoZz+fEGlE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b0924ea1889b366de6bb0018a9db70b2c43a15f8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-25.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { - "lastModified": 1762286042, - "narHash": "sha256-OD5HsZ+sN7VvNucbrjiCz7CHF5zf9gP51YVJvPwYIH8=", + "lastModified": 1764587062, + "narHash": "sha256-hdFa0TAVQAQLDF31cEW3enWmBP+b592OvHs6WVe3D8k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "12c1f0253aa9a54fdf8ec8aecaafada64a111e24", + "rev": "c1cb7d097cb250f6e1904aacd5f2ba5ffd8a49ce", "type": "github" }, "original": { @@ -549,6 +565,7 @@ "nixpkgs-2405": "nixpkgs-2405", "nixpkgs-2411": "nixpkgs-2411", "nixpkgs-2505": "nixpkgs-2505", + "nixpkgs-2511": "nixpkgs-2511", "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", "stackage": "stackage" diff --git a/flake.nix b/flake.nix index b1fa5d5af3..d94ea7fb03 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,7 @@ nixpkgs-2405 = { url = "github:NixOS/nixpkgs/nixpkgs-24.05-darwin"; }; nixpkgs-2411 = { url = "github:NixOS/nixpkgs/nixpkgs-24.11-darwin"; }; nixpkgs-2505 = { url = "github:NixOS/nixpkgs/nixpkgs-25.05-darwin"; }; + nixpkgs-2511 = { url = "github:NixOS/nixpkgs/nixpkgs-25.11-darwin"; }; nixpkgs-unstable = { url = "github:NixOS/nixpkgs/nixpkgs-unstable"; }; flake-compat = { url = "github:input-output-hk/flake-compat/hkm/gitlab-fix"; flake = false; }; "hls-1.10" = { url = "github:haskell/haskell-language-server/1.10.0.0"; flake = false; }; diff --git a/overlays/android.nix b/overlays/android.nix index 46b460e7d9..0ad2ab870a 100644 --- a/overlays/android.nix +++ b/overlays/android.nix @@ -5,11 +5,11 @@ final: prev: { examples = prev.lib.systems.examples // { aarch64-android = prev.lib.systems.examples.aarch64-android // { androidSdkVersion = "269"; - androidNdkVersion = "24"; + androidNdkVersion = "27"; }; armv7a-android-prebuilt = prev.lib.systems.examples.armv7a-android-prebuilt // { androidSdkVersion = "26"; - androidNdkVersion = "24"; + androidNdkVersion = "27"; }; }; }; From a62c9d889082c407557174c0647c6a950fd2fcef Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 6 Dec 2025 00:52:12 +0000 Subject: [PATCH 294/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d929df4aa8..6c343fa83b 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1764894465, - "narHash": "sha256-OMaP+KRg+8msqt1KXPblD/ZqbrXu4k+/F9cCW5CJYSY=", + "lastModified": 1764980769, + "narHash": "sha256-GR7udqehfHtR1k3qTRmygbbxN/vbZAqroR6SLNxaOYA=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "c1d414c7a7e00fd15571a56d85496135e4b99c5a", + "rev": "a7cf7e356d4c35d04089136bbe256ba10521ad98", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1764894454, - "narHash": "sha256-bJ54cNr4VFpLAw4ZgqNBJh6LvFsmL7Ctyfy90frB7WY=", + "lastModified": 1764980759, + "narHash": "sha256-4aBYziHvJIW6If35bW6gBTf9szrsDon/kQLo7MBR7PQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "679a6508d798bc620fc4474d7059c22152e15438", + "rev": "dc84ef2f749161d60947e96da212373ded0b123a", "type": "github" }, "original": { @@ -574,11 +574,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1764893625, - "narHash": "sha256-bi+5thXLFmDZcRALyLH83E6RCUXxNReHkqcsc7kNAAA=", + "lastModified": 1764979984, + "narHash": "sha256-wFbJQgFPD3t9YqrUGWHENwokLL2wwiw5G6BCuGuRFxI=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "848385d83bb4770208f9261b8f2616777aa65e67", + "rev": "4cbb79a34cb17bc22a564ca5a6625106ee0c4bdb", "type": "github" }, "original": { From ce4ab1151a28b6e9dbb83f039311dc75956807fa Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 7 Dec 2025 00:52:03 +0000 Subject: [PATCH 295/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 6c343fa83b..6645b18242 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1764980769, - "narHash": "sha256-GR7udqehfHtR1k3qTRmygbbxN/vbZAqroR6SLNxaOYA=", + "lastModified": 1765067385, + "narHash": "sha256-Y2/Nxxgs9EiP5XPjPcKjddCtX7/bVL/JVL4ExLnGwqk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a7cf7e356d4c35d04089136bbe256ba10521ad98", + "rev": "bd58b18d34c7a3feb6aa0d949e9ed671087ef113", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1764980759, - "narHash": "sha256-4aBYziHvJIW6If35bW6gBTf9szrsDon/kQLo7MBR7PQ=", + "lastModified": 1765067375, + "narHash": "sha256-wHUlEgCzABEM4weOvEVy9g01DlsKEFiyqYVaqcVY6EY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "dc84ef2f749161d60947e96da212373ded0b123a", + "rev": "eaf9f13d65a290d6dff4c4a5f680d9dc62dfd02b", "type": "github" }, "original": { @@ -574,11 +574,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1764979984, - "narHash": "sha256-wFbJQgFPD3t9YqrUGWHENwokLL2wwiw5G6BCuGuRFxI=", + "lastModified": 1765066502, + "narHash": "sha256-SGswNf7ySQFmkopTsvA2wsR1VTlJSvlknVbT6nNXzYk=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "4cbb79a34cb17bc22a564ca5a6625106ee0c4bdb", + "rev": "f71716ccee58b2e2f715299193979052f07841ba", "type": "github" }, "original": { From 99ee6c1bf698157cc7730b0113eab54f6cc88fcf Mon Sep 17 00:00:00 2001 From: Tom McLaughlin Date: Sun, 7 Dec 2025 13:49:08 -0800 Subject: [PATCH 296/308] Add enableIPE and extraFlavourTransformers options to GHC derivation (#2447) * Add a flag "enableIPE" to enable the IPE hadrian flavor * Add extraFlavourTransformers option to GHC config (closes #2425) --- compiler/ghc/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 4eb98d1eed..7bd2b0335b 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -46,6 +46,8 @@ let self = , enableDWARF ? false +, enableIPE ? false + , enableTerminfo ? !stdenv.targetPlatform.isAndroid && # Terminfo does not work on older ghc cross arm and windows compilers (!haskell-nix.haskellLib.isCrossTarget || !(stdenv.targetPlatform.isAarch32 || stdenv.targetPlatform.isAarch64 || stdenv.targetPlatform.isWindows) || builtins.compareVersions ghc-version "8.10" >= 0) @@ -61,6 +63,10 @@ let self = else "perf-cross-ncg" ) +, # Extra flavour transformers to pass to Hadrian. For example, +debug_ghc or + # +assertions to work on debugging the compiler. + extraFlavourTransformers ? [] + , # Whether to disable the large address space allocator # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64 || stdenv.targetPlatform.isAndroid @@ -385,6 +391,8 @@ let + lib.optionalString enableDWARF "+debug_info" + lib.optionalString ((enableNativeBignum && hadrianHasNativeBignumFlavour) || targetPlatform.isGhcjs || targetPlatform.isWasm) "+native_bignum" + lib.optionalString (targetPlatform.isGhcjs || targetPlatform.isWasm) "+no_profiled_libs" + + lib.optionalString enableIPE "+ipe" + + lib.concatStrings extraFlavourTransformers } --docs=no-sphinx -j --verbose" # This is needed to prevent $GCC from emitting out of line atomics. # Those would then result in __aarch64_ldadd1_sync and others being referenced, which From 268ef52619a35d7800f7123b533d0d2ff626f6ba Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 8 Dec 2025 00:51:48 +0000 Subject: [PATCH 297/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 6645b18242..b352ee75c2 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1765067385, - "narHash": "sha256-Y2/Nxxgs9EiP5XPjPcKjddCtX7/bVL/JVL4ExLnGwqk=", + "lastModified": 1765153629, + "narHash": "sha256-XEoPzAxi+P5+54GdVOXIgOoLpnAC7UaJeTfVJ/uN5YI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "bd58b18d34c7a3feb6aa0d949e9ed671087ef113", + "rev": "5999bde02da34086b161bd1c583563b0fa0ac7cd", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1765067375, - "narHash": "sha256-wHUlEgCzABEM4weOvEVy9g01DlsKEFiyqYVaqcVY6EY=", + "lastModified": 1765153622, + "narHash": "sha256-9Q6aBAbB6fup4ie+tohV17LLzrwcvwKnPu5gz4fpzhE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "eaf9f13d65a290d6dff4c4a5f680d9dc62dfd02b", + "rev": "a53012835027c67f23c11b0d7eced04e50d26094", "type": "github" }, "original": { @@ -574,11 +574,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1765066502, - "narHash": "sha256-SGswNf7ySQFmkopTsvA2wsR1VTlJSvlknVbT6nNXzYk=", + "lastModified": 1765152851, + "narHash": "sha256-ASFuvvW1RaJI1e7RIEYB4E+qArwbluUI0/lkzO0nTuY=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "f71716ccee58b2e2f715299193979052f07841ba", + "rev": "b1526181e1b6f4aa62bfb0ce380a83671a1865b5", "type": "github" }, "original": { From 1b336652f3b5c883447cc4bff64825bdb4403c80 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 9 Dec 2025 00:52:20 +0000 Subject: [PATCH 298/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b352ee75c2..5573c9f3e8 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1765153629, - "narHash": "sha256-XEoPzAxi+P5+54GdVOXIgOoLpnAC7UaJeTfVJ/uN5YI=", + "lastModified": 1765240039, + "narHash": "sha256-yY2rz/qyvX9oB5FpPWSvXKi6baAKDQNaaRuaIl+ms/M=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5999bde02da34086b161bd1c583563b0fa0ac7cd", + "rev": "b0bc4ecf472e97fa635890d9b128ee66b1e288db", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1765153622, - "narHash": "sha256-9Q6aBAbB6fup4ie+tohV17LLzrwcvwKnPu5gz4fpzhE=", + "lastModified": 1765240028, + "narHash": "sha256-XHZRYH6zh3xTls8SOkbGqoF8D9W1W3cD2c8I6JOl+NM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a53012835027c67f23c11b0d7eced04e50d26094", + "rev": "f3472c5c91886aa99c2535cf4709f6fa4a99dc87", "type": "github" }, "original": { @@ -574,11 +574,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1765152851, - "narHash": "sha256-ASFuvvW1RaJI1e7RIEYB4E+qArwbluUI0/lkzO0nTuY=", + "lastModified": 1765239207, + "narHash": "sha256-FrgBhMpTDbde9EcS5qFUy/xDDxORjyJ4UdIzTRBJ98w=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "b1526181e1b6f4aa62bfb0ce380a83671a1865b5", + "rev": "238321daf3522a3fe1284bbf18b877bc1bf32715", "type": "github" }, "original": { From 7e7550c6214036a8c4b2576fc964396b7a7082ab Mon Sep 17 00:00:00 2001 From: tinyfoolish Date: Tue, 9 Dec 2025 16:50:03 +0800 Subject: [PATCH 299/308] chore: fix some minor issues in the comments (#2452) Signed-off-by: tinyfoolish --- compiler/ghc/default.nix | 8 ++++---- compiler/ghcjs/ghcjs.nix | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/compiler/ghc/default.nix b/compiler/ghc/default.nix index 7bd2b0335b..af6ee1a591 100644 --- a/compiler/ghc/default.nix +++ b/compiler/ghc/default.nix @@ -52,7 +52,7 @@ let self = # Terminfo does not work on older ghc cross arm and windows compilers (!haskell-nix.haskellLib.isCrossTarget || !(stdenv.targetPlatform.isAarch32 || stdenv.targetPlatform.isAarch64 || stdenv.targetPlatform.isWindows) || builtins.compareVersions ghc-version "8.10" >= 0) -, # Wheter to build in NUMA support +, # Whether to build in NUMA support enableNUMA ? true , # What flavour to build. An empty string indicates no @@ -288,7 +288,7 @@ let "fp_cv_prog_ar_supports_dash_l=no" ] ++ lib.optionals (targetPlatform.isDarwin) [ "--without-libcharset" - ] ++ lib.optional (targetPlatform.isGhcjs) "--target=javascript-unknown-ghcjs" # TODO use configurePlatforms once tripple is updated in nixpkgs + ] ++ lib.optional (targetPlatform.isGhcjs) "--target=javascript-unknown-ghcjs" # TODO use configurePlatforms once triple is updated in nixpkgs ; # Splicer will pull out correct variations @@ -380,7 +380,7 @@ let hadrian = hadrianProject.hsPkgs.hadrian.components.exes.hadrian; - # For a discription of hadrian command line args + # For a description of hadrian command line args # see https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/README.md # For build flavours and flavour transformers # see https://gitlab.haskell.org/ghc/ghc/blob/master/hadrian/doc/flavours.md @@ -935,7 +935,7 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec { export XATTR=$(mktemp -d)/nothing '' # We need to point at a stand in `windows.h` header file so that the RTS headers can - # work on the hostPlatform. We also need to work around case sensitve file system issues. + # work on the hostPlatform. We also need to work around case sensitive file system issues. + lib.optionalString stdenv.targetPlatform.isWindows '' export NIX_CFLAGS_COMPILE_${ # We want this only to apply to the non windows hostPlatform (the diff --git a/compiler/ghcjs/ghcjs.nix b/compiler/ghcjs/ghcjs.nix index 3240ba0628..edf048009e 100644 --- a/compiler/ghcjs/ghcjs.nix +++ b/compiler/ghcjs/ghcjs.nix @@ -139,7 +139,7 @@ let dontPatchShebangs = true; dontPatchELF = true; buildPhase = '' - # Copy the ghcjs exectuables + # Copy the ghcjs executables mkdir -p $out/bin cp $src/${libexec}/* $out/bin @@ -161,7 +161,7 @@ let install_name_tool -id "@executable_path/libffi.6.dylib" "$out/bin/libffi.6.dylib" # Modify all the references so we look for the libraries in the system location or - # @executable_path (the directory containin the exetubable itself). + # @executable_path (the directory containing the exetubable itself). for fn in $out/bin/*; do install_name_tool -change "${pkgs.libiconv}/lib/libiconv.dylib" /usr/lib/libiconv.dylib "$fn" install_name_tool -change "${pkgs.stdenv.libc}/lib/libSystem.B.dylib" /usr/lib/libSystem.B.dylib "$fn" @@ -211,7 +211,7 @@ let dontPatchShebangs = true; dontPatchELF = true; buildPhase = '' - # Copy the ghcjs exectuables + # Copy the ghcjs executables mkdir -p $out/bin lndir ${ghcjs-relocatable-bin}/bin $out/bin @@ -233,7 +233,7 @@ let chmod -R +w $out/$(basename ${hostDb})/lib/links # Modify all the references so we look for the libraries in the system location or - # @executable_path (the directory containin the exetubable itself). + # @executable_path (the directory containing the exetubable itself). for fn in $out/$(basename ${hostDb})/lib/links/*; do install_name_tool -change "${pkgs.libiconv}/lib/libiconv.dylib" /usr/lib/libiconv.dylib "$fn" install_name_tool -change "${pkgs.stdenv.libc}/lib/libSystem.B.dylib" /usr/lib/libSystem.B.dylib "$fn" From f605254a78c0851fc8a32d9a93c4c51c428bf621 Mon Sep 17 00:00:00 2001 From: Teo Camarasu Date: Tue, 9 Dec 2025 11:01:35 +0000 Subject: [PATCH 300/308] Fix using lld in shell-for (#2408) Before we didn't actually include lld in the environment. Let's add that to the nativeBuildInputs if the compiler is using lld. --- builder/default.nix | 2 +- builder/shell-for.nix | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/builder/default.nix b/builder/default.nix index 716e99ef1d..24b55f4f74 100644 --- a/builder/default.nix +++ b/builder/default.nix @@ -80,7 +80,7 @@ let # Same as haskellPackages.shellFor in nixpkgs. shellFor = haskellLib.weakCallPackage pkgs ./shell-for.nix { inherit hsPkgs ghcForComponent makeConfigFiles hoogleLocal haskellLib pkgsBuildBuild evalPackages compiler ghc; - inherit (buildPackages) glibcLocales; + inherit (buildPackages) glibcLocales llvmPackages; }; # Same as haskellPackages.ghcWithPackages and ghcWithHoogle in nixpkgs. diff --git a/builder/shell-for.nix b/builder/shell-for.nix index 27e19ab3bc..b0aa5267a9 100644 --- a/builder/shell-for.nix +++ b/builder/shell-for.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, mkShell, glibcLocales, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, pkgsBuildBuild, evalPackages, compiler, haskell-nix, ghc }: +{ lib, stdenv, mkShell, glibcLocales, ghcForComponent, makeConfigFiles, hsPkgs, hoogleLocal, haskellLib, pkgsBuildBuild, evalPackages, compiler, haskell-nix, ghc, llvmPackages }: { # `packages` function selects packages that will be worked on in the shell itself. # These packages will not be built by `shellFor`, but their @@ -176,6 +176,7 @@ in ++ nativeBuildInputs ++ mkDrvArgs.nativeBuildInputs or [] ++ lib.attrValues (pkgsBuildBuild.haskell-nix.tools' evalPackages compiler.nix-name tools) + ++ lib.optional (ghcEnv.baseGhc.useLdLld or false) llvmPackages.bintools # If this shell is a cross compilation shell include # wrapper script for running cabal build with appropriate args. # Includes `--with-compiler` in case the `cabal.project` file has `with-compiler:` in it. From bb5ee1ac04a1a49ece0783172168b11f00ceef4b Mon Sep 17 00:00:00 2001 From: IOHK Date: Wed, 10 Dec 2025 00:52:24 +0000 Subject: [PATCH 301/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 5573c9f3e8..31c2905397 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1765240039, - "narHash": "sha256-yY2rz/qyvX9oB5FpPWSvXKi6baAKDQNaaRuaIl+ms/M=", + "lastModified": 1765326464, + "narHash": "sha256-uEmrULejfHdbV+50Ec8zg4LDcZnz969rexjdKBCfC4c=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "b0bc4ecf472e97fa635890d9b128ee66b1e288db", + "rev": "4d048fffac851c33ed78fa811372cd040c3fc942", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1765240028, - "narHash": "sha256-XHZRYH6zh3xTls8SOkbGqoF8D9W1W3cD2c8I6JOl+NM=", + "lastModified": 1765326453, + "narHash": "sha256-o3HjjV/gy2aa5hj+6/t82bsaCdyhMYVfyQY4IFLcD0A=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "f3472c5c91886aa99c2535cf4709f6fa4a99dc87", + "rev": "5c5b883a27215efd5ba5c177177a3428b2fa145f", "type": "github" }, "original": { @@ -574,11 +574,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1765239207, - "narHash": "sha256-FrgBhMpTDbde9EcS5qFUy/xDDxORjyJ4UdIzTRBJ98w=", + "lastModified": 1765325637, + "narHash": "sha256-rHJu0ewuQhqc1uM9ePn/Ag0MncGRSUBKGonuP140n4c=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "238321daf3522a3fe1284bbf18b877bc1bf32715", + "rev": "95a65b9ea2a3374cac385223f286d2d611665c90", "type": "github" }, "original": { From 4725218269bb7fb5be6b805e9d4e0d00769271ac Mon Sep 17 00:00:00 2001 From: IOHK Date: Thu, 11 Dec 2025 00:52:29 +0000 Subject: [PATCH 302/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 31c2905397..11ac859fcb 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1765326464, - "narHash": "sha256-uEmrULejfHdbV+50Ec8zg4LDcZnz969rexjdKBCfC4c=", + "lastModified": 1765412868, + "narHash": "sha256-gbwqPR2HcdfuYTTA9blgBg9IHg9a0U5xI46XKgRMquk=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4d048fffac851c33ed78fa811372cd040c3fc942", + "rev": "d86de0b15deca74868038f1b7538c48905fdaf2a", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1765326453, - "narHash": "sha256-o3HjjV/gy2aa5hj+6/t82bsaCdyhMYVfyQY4IFLcD0A=", + "lastModified": 1765412858, + "narHash": "sha256-KvOKr+JsQKQ+RtomBpREWPNmbgRFFw3sjSypUqAekqE=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5c5b883a27215efd5ba5c177177a3428b2fa145f", + "rev": "a22af4bf00b639ba2a52102dfaabb34d56db25ff", "type": "github" }, "original": { @@ -574,11 +574,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1765325637, - "narHash": "sha256-rHJu0ewuQhqc1uM9ePn/Ag0MncGRSUBKGonuP140n4c=", + "lastModified": 1765412050, + "narHash": "sha256-mami5nxSfHpkBKqSUQmmwgKmdviCvXJ3POWIaee4L38=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "95a65b9ea2a3374cac385223f286d2d611665c90", + "rev": "90ee92c0a2563844f078873e9b977bc1619ae9a1", "type": "github" }, "original": { From 8af055d68291fd106ed7db488f7dd8b2573e9e29 Mon Sep 17 00:00:00 2001 From: IOHK Date: Fri, 12 Dec 2025 00:52:14 +0000 Subject: [PATCH 303/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 11ac859fcb..4343add06f 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1765412868, - "narHash": "sha256-gbwqPR2HcdfuYTTA9blgBg9IHg9a0U5xI46XKgRMquk=", + "lastModified": 1765499272, + "narHash": "sha256-kPY1sZiiBVXuuOrtjG0/EiyFUndkb6fcVYW0h+OnsYY=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "d86de0b15deca74868038f1b7538c48905fdaf2a", + "rev": "11b963ed2ce82367c853348d8809842b1780fee9", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1765412858, - "narHash": "sha256-KvOKr+JsQKQ+RtomBpREWPNmbgRFFw3sjSypUqAekqE=", + "lastModified": 1765499261, + "narHash": "sha256-1xk6cqLRXJe4WS0MwbU+EgI8u7VOfShrOgF8rTthvCM=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a22af4bf00b639ba2a52102dfaabb34d56db25ff", + "rev": "420ac7c53019b73f7bde2ecf739abf72317cb019", "type": "github" }, "original": { From 0928a5c9657370abeebec7aabf2de6d30a0b04c1 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 12 Dec 2025 15:32:48 -0500 Subject: [PATCH 304/308] Add prebuilt-depends for proprietary dependencies. (#2444) * Add prebuilt-depends for proprietary dependencies. * fixup! Add prebuilt-depends for proprietary dependencies. Add commentary --- builder/comp-builder.nix | 65 ++++++++++++++++++++++++++++++- builder/hspkg-builder.nix | 1 + builder/make-config-files.nix | 32 ++++++++------- lib/call-cabal-project-to-nix.nix | 11 ++++++ modules/cabal-project.nix | 9 +++++ modules/component-driver.nix | 9 +++++ overlays/haskell.nix | 1 + 7 files changed, 113 insertions(+), 15 deletions(-) diff --git a/builder/comp-builder.nix b/builder/comp-builder.nix index 819cfea2ab..be06ce38d1 100644 --- a/builder/comp-builder.nix +++ b/builder/comp-builder.nix @@ -90,6 +90,65 @@ # LLVM , useLLVM ? ghc.useLLVM or false , smallAddressSpace ? false + +# Note [prebuilt dependencies] +# +# Typical cabal project planning starts with the libraries that come with +# the compiler and then plans to build every other needed dependency from +# source (fetched through hackage repositories or source-repository +# dependencies). In cases where some library that isn't part of the compiler +# is only available as a pre-built shared object file (such as for some +# closed-source module from a vendor, or in principle a component whose +# compilation is extremely expensive), we need to be able to tell cabal +# about additional prebuilt dependencies to include in its plan and link to +# as needed at build time. +# +# This can be done by passing the needed libraries in prebuilt-depends. During +# cabal planning and builds, these libraries (and their dependencies) will be +# present in the ghc-pkg database that cabal will draw from for its dependency +# resolution, thereby skipping lookup from hackage or building from source. +# +# The entries in the prebuilt dependencies list may have dependencies that are +# part of the compiler-provided package set, or may have overlap with each other. +# GHC can actually handle this use case fine, since types from different packages +# (even of the same name) will not unify, so at worst you will get a compile error, +# but cabal will need to choose one for the packages you are building. The entries +# in the list are given priority over the compiler-provided ones, with the later +# entries having greater priority than the earlier ones. +# +# For your build to succeed, your prebuilt-dependencies must meet the following: +# +# 1. They are built with the same compiler version and RTS way. +# 2. They have all of their dependencies within the package db directory or +# included as propagatedBuildInputs +# 3. They must include the `envDep` and `exactDep` files that make-config.files.nix +# expects for configuring cabal precisely. +# +# The recommended way to meet this requirement is to build the relevant libraries +# with haskell.nix too, since it sets up the dependencies appropriately. An example +# workflow would be: +# +# 1. Build libraries foo and bar with haskell.nix (the same plan) +# 2. Note down the store paths for foo and bar library outputs +# 3. Make a full nix export of those store paths (using e.g. `nix-store --export $(nix-store --query --requisites $barPath $fooPath) > foobar.closure` +# 4. On the consumer machine, import the store paths (e.g. `nix-store --import foobar.closure` and then add gc roots) +# 5. In the consumer haskell.nix build, add the imported store paths to your prebuilt-depends. E.g.: +# +# prebuilt-depends = let foo = { +# # We need to make this look like a call to derivation for stdenv to do the right thing +# name = "foo-lib-foo-0.1.0.0"; +# type = "derivation"; +# outputs = [ "out" ]; +# out = foo; +# all = [ foo ]; +# # $fooPath is already in the store due to the import, so we use the storePath +# # builtin to add it as a source dependency to the build. Note that this does +# # not work in pure evaluation mode, you must use --impure with flakes. An +# # alternative would be to bundle up all of the needed libraries into tarballs that +# # are fetched and unpacked as proper fixed-output derivations. +# outPath = builtins.storePath $fooPath; +# }; in [ foo ]; # Could also do the same for bar of course +, prebuilt-depends ? [] }: # makeOverridable is called here after all the `? DEFAULT` arguments # will have been applied. This makes sure that `c.override (oldAttrs: {...})` @@ -160,6 +219,7 @@ let self = , enableTSanRTS , useLLVM , smallAddressSpace +, prebuilt-depends }@drvArgs: let @@ -213,7 +273,7 @@ let configFiles = makeConfigFiles { component = componentForSetup; inherit (package) identifier; - inherit fullName flags needsProfiling enableDWARF; + inherit fullName flags needsProfiling enableDWARF prebuilt-depends; }; enableFeature = enable: feature: @@ -852,5 +912,6 @@ in drv; in self) { enableDWARF enableTSanRTS useLLVM - smallAddressSpace; + smallAddressSpace + prebuilt-depends; } diff --git a/builder/hspkg-builder.nix b/builder/hspkg-builder.nix index 0288f78012..8725a8e66b 100644 --- a/builder/hspkg-builder.nix +++ b/builder/hspkg-builder.nix @@ -58,6 +58,7 @@ let inherit allComponent componentId component package name src flags setup cabalFile cabal-generator patches shellHook ; + inherit (config) prebuilt-depends; }; in rec { diff --git a/builder/make-config-files.nix b/builder/make-config-files.nix index 2aec4fe63d..bdf5673939 100644 --- a/builder/make-config-files.nix +++ b/builder/make-config-files.nix @@ -1,6 +1,6 @@ { stdenv, lib, haskellLib, ghc, nonReinstallablePkgs, runCommand, writeText, writeScript }@defaults: -{ identifier, component, fullName, flags ? {}, needsProfiling ? false, enableDWARF ? false, chooseDrv ? drv: drv, nonReinstallablePkgs ? defaults.nonReinstallablePkgs }: +{ identifier, component, fullName, flags ? {}, needsProfiling ? false, enableDWARF ? false, chooseDrv ? drv: drv, nonReinstallablePkgs ? defaults.nonReinstallablePkgs, prebuilt-depends ? [] }: let # Sort and remove duplicates from nonReinstallablePkgs. @@ -57,7 +57,7 @@ let ((if needsProfiling then (x: map (p: p.profiled or p) x) else x: x) (map haskellLib.dependToLib component.depends)) ) - ); + ) ++ prebuilt-depends; script = '' ${target-pkg} init $configFiles/${packageCfgDir} @@ -149,17 +149,6 @@ let echo "allow-older: ${identifier.name}:*" >> $configFiles/cabal.config ''} - for p in "''${pkgsHostTarget[@]}"; do - if [ -e $p/envDep ]; then - cat $p/envDep >> $configFiles/ghc-environment - fi - ${ lib.optionalString component.doExactConfig '' - if [ -d $p/exactDep ]; then - cat $p/exactDep/configure-flags >> $configFiles/configure-flags - cat $p/exactDep/cabal.config >> $configFiles/cabal.config - fi - ''} - done for p in ${lib.concatStringsSep " " nonReinstallablePkgs'}; do if [ -e $ghcDeps/envDeps/$p ]; then cat $ghcDeps/envDeps/$p >> $configFiles/ghc-environment @@ -173,6 +162,23 @@ let fi done '' + # We put the packages in buildInputs *after* the GHC deps on the command line + # to ensure that any prebuilt dependencies (see Note [prebuilt dependencies]) + # take priority over the GHC-provided ones. We can't relink the prebuilt + # libraries, so this is the most likely to avoid conflicts. + + '' + for p in "''${pkgsHostTarget[@]}"; do + if [ -e $p/envDep ]; then + cat $p/envDep >> $configFiles/ghc-environment + fi + ${ lib.optionalString component.doExactConfig '' + if [ -d $p/exactDep ]; then + cat $p/exactDep/configure-flags >> $configFiles/configure-flags + cat $p/exactDep/cabal.config >> $configFiles/cabal.config + fi + ''} + done + '' # This code originates in the `generic-builder.nix` from nixpkgs. However GHC has been fixed # to drop unused libraries referenced from libraries; and this patch is usually included in the # nixpkgs's GHC builds. This doesn't sadly make this stupid hack unnecessary. It resurfaces in diff --git a/lib/call-cabal-project-to-nix.nix b/lib/call-cabal-project-to-nix.nix index 2c65c5240f..58b12a2b81 100644 --- a/lib/call-cabal-project-to-nix.nix +++ b/lib/call-cabal-project-to-nix.nix @@ -62,6 +62,7 @@ , evalPackages , supportHpack ? false # Run hpack on package.yaml files with no .cabal file , ignorePackageYaml ? false # Ignore package.yaml files even if they exist +, prebuilt-depends ? [] , ... }@args: let @@ -371,6 +372,7 @@ let }; dummy-ghc-pkg-dump = evalPackages.runCommand "dummy-ghc-pkg-dump" { + buildInputs = prebuilt-depends; nativeBuildInputs = [ evalPackages.haskell-nix.nix-tools-unchecked.exes.cabal2json evalPackages.jq @@ -535,6 +537,15 @@ let LAST_PKG="ghcjs-th" '' } + for l in "''${pkgsHostTarget[@]}"; do + if [ -d "$l/package.conf.d" ]; then + files=("$l/package.conf.d/"*.conf) + for file in "''${files[@]}"; do + cat "$file" >> $out + echo '---' >> $out + done + fi + done for pkg in $PKGS; do varname="$(echo $pkg | tr "-" "_")" ver="VER_$varname" diff --git a/modules/cabal-project.nix b/modules/cabal-project.nix index 0b7316c84d..0f2e33025a 100644 --- a/modules/cabal-project.nix +++ b/modules/cabal-project.nix @@ -144,5 +144,14 @@ in { type = nullOr (listOf unspecified); default = []; }; + prebuilt-depends = mkOption { + type = listOf package; + default = []; + description = '' + pre-built (perhaps proprietary) Haskell packages to make available as dependencies + + See Note [prebuilt dependencies] for more details + ''; + }; }; } diff --git a/modules/component-driver.nix b/modules/component-driver.nix index 118db7c55d..abfefc91a5 100644 --- a/modules/component-driver.nix +++ b/modules/component-driver.nix @@ -37,6 +37,15 @@ in default = []; description = "pkgs to globally provide to Setup.hs builds"; }; + options.prebuilt-depends = lib.mkOption { + type = lib.types.listOf lib.types.package; + default = []; + description = '' + pre-built (perhaps proprietary) Haskell packages to make available as dependencies + + See Note [prebuilt dependencies] for more details + ''; + }; # Dependencies (with reinstallable-lib:ghc) # diff --git a/overlays/haskell.nix b/overlays/haskell.nix index 1f14b81e6a..ff372ff4e7 100644 --- a/overlays/haskell.nix +++ b/overlays/haskell.nix @@ -699,6 +699,7 @@ final: prev: { in if ghc.isHaskellNixCompiler or false then ghc.override { ghcEvalPackages = evalPackages; } else ghc; compiler.nix-name = final.lib.mkForce config.compiler-nix-name; evalPackages = final.lib.mkDefault evalPackages; + inherit (config) prebuilt-depends; } ]; extra-hackages = config.extra-hackages or [] ++ callProjectResults.extra-hackages; }; From 6e04ce590381a72ebe2952127988c989a85651f1 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sat, 13 Dec 2025 00:51:23 +0000 Subject: [PATCH 305/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 4343add06f..ef09c6e520 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1765499272, - "narHash": "sha256-kPY1sZiiBVXuuOrtjG0/EiyFUndkb6fcVYW0h+OnsYY=", + "lastModified": 1765585588, + "narHash": "sha256-mHLSzky63sWPxM93ImnOUFTB8QnkXaj+1ascGSeYLGc=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "11b963ed2ce82367c853348d8809842b1780fee9", + "rev": "a8ae59a8c08db4cc988cc76f73af5e2e988c7865", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1765499261, - "narHash": "sha256-1xk6cqLRXJe4WS0MwbU+EgI8u7VOfShrOgF8rTthvCM=", + "lastModified": 1765585579, + "narHash": "sha256-7LFB+3ua1t4LksrCzLxy5gyBqg3iSnCEqi5hWHC7bwI=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "420ac7c53019b73f7bde2ecf739abf72317cb019", + "rev": "5d19d8b65ae20b013347c8dd6577e8bb34dc83d4", "type": "github" }, "original": { From 63f4d57439eef7008c139583a8fec8476746d817 Mon Sep 17 00:00:00 2001 From: IOHK Date: Sun, 14 Dec 2025 00:52:24 +0000 Subject: [PATCH 306/308] Update Hackage and Stackage --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index ef09c6e520..121372a51a 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1765585588, - "narHash": "sha256-mHLSzky63sWPxM93ImnOUFTB8QnkXaj+1ascGSeYLGc=", + "lastModified": 1765672205, + "narHash": "sha256-uAJF87KTaWyYa0P2j341co8YocywG0jZgKkLRovOcYQ=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "a8ae59a8c08db4cc988cc76f73af5e2e988c7865", + "rev": "eb32a7006d02dcdff58a48559313f262b1f2a617", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1765585579, - "narHash": "sha256-7LFB+3ua1t4LksrCzLxy5gyBqg3iSnCEqi5hWHC7bwI=", + "lastModified": 1765672194, + "narHash": "sha256-8XImhO1/2anwJNtYjWHSOcHRmuixWxf0I4OS4lktxs4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "5d19d8b65ae20b013347c8dd6577e8bb34dc83d4", + "rev": "37c70e7e49597046206164ea5fe1489adf658342", "type": "github" }, "original": { From 643d58fe360166b538594a9bfc1c4ce95a5b023c Mon Sep 17 00:00:00 2001 From: IOHK Date: Mon, 15 Dec 2025 00:52:20 +0000 Subject: [PATCH 307/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 121372a51a..d96f670b06 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1765672205, - "narHash": "sha256-uAJF87KTaWyYa0P2j341co8YocywG0jZgKkLRovOcYQ=", + "lastModified": 1765758589, + "narHash": "sha256-Iu/lkhaFPj5QzGW+ie++fYgC9Kze2h/mmQzSUcjldms=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "eb32a7006d02dcdff58a48559313f262b1f2a617", + "rev": "08590f41172fe0f524330b4d88ad56dfb40491ea", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1765672194, - "narHash": "sha256-8XImhO1/2anwJNtYjWHSOcHRmuixWxf0I4OS4lktxs4=", + "lastModified": 1765758578, + "narHash": "sha256-VPLG4t/SoCTdLOz9QFYiCjOph8rLsUIet20cg2JJV1E=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "37c70e7e49597046206164ea5fe1489adf658342", + "rev": "ee8cb0044bb365a2e1d975c019b80f8817c72b9e", "type": "github" }, "original": { @@ -574,11 +574,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1765412050, - "narHash": "sha256-mami5nxSfHpkBKqSUQmmwgKmdviCvXJ3POWIaee4L38=", + "lastModified": 1765757694, + "narHash": "sha256-gQeXpO+l6TSjpULcdyhH8kZDtjNk5OIFsW49ONbjWtc=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "90ee92c0a2563844f078873e9b977bc1619ae9a1", + "rev": "1dec64e3c0b626a4732800c00857e6dcd321a9d2", "type": "github" }, "original": { From 5f566a1bf2305cc1c6310dfe7c47bebd9fb3d0e7 Mon Sep 17 00:00:00 2001 From: IOHK Date: Tue, 16 Dec 2025 00:52:22 +0000 Subject: [PATCH 308/308] Update Hackage and Stackage --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d96f670b06..ef7f40a0d2 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "hackage": { "flake": false, "locked": { - "lastModified": 1765758589, - "narHash": "sha256-Iu/lkhaFPj5QzGW+ie++fYgC9Kze2h/mmQzSUcjldms=", + "lastModified": 1765844901, + "narHash": "sha256-+zkOpo/M7yRbluzBI74/I0WXI9JsMax46Ws7jmrQKW8=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "08590f41172fe0f524330b4d88ad56dfb40491ea", + "rev": "a72dc274f8c8da306d7f27de92ad884c79802cd3", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1765758578, - "narHash": "sha256-VPLG4t/SoCTdLOz9QFYiCjOph8rLsUIet20cg2JJV1E=", + "lastModified": 1765844890, + "narHash": "sha256-ZhGs0yRJvoJIBx2osarNq6kL98vPHa6i6RWfc9dBHG4=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "ee8cb0044bb365a2e1d975c019b80f8817c72b9e", + "rev": "745af2830b0578754f359ed6e9c8cf0ad7b6b3f7", "type": "github" }, "original": { @@ -574,11 +574,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1765757694, - "narHash": "sha256-gQeXpO+l6TSjpULcdyhH8kZDtjNk5OIFsW49ONbjWtc=", + "lastModified": 1765844070, + "narHash": "sha256-Qu9CMCIYeTvsTRQZpZjPxaJjCLsbaAIWXd9TYRDU6LE=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "1dec64e3c0b626a4732800c00857e6dcd321a9d2", + "rev": "05abe12c334ad6421a8dd0a1deecd3a712fcf14b", "type": "github" }, "original": {