···6666 if !builtins.isList files then [ files ] else files
6767 );
68686969+ packageSetsWithVersionedHead = pkgs.haskell.packages // (
7070+ let
7171+ headSet = pkgs.haskell.packages.ghcHEAD;
7272+ # Determine the next GHC release version following GHC HEAD.
7373+ # GHC HEAD always has an uneven, tentative version number, e.g. 9.7.
7474+ # GHC releases always have even numbers, i.e. GHC 9.8 is branched off from
7575+ # GHC HEAD 9.7. Since we use the to be release number for GHC HEAD's
7676+ # configuration file, we need to calculate this here.
7777+ headVersion = lib.pipe headSet.ghc.version [
7878+ lib.versions.splitVersion
7979+ (lib.take 2)
8080+ lib.concatStrings
8181+ lib.strings.toInt
8282+ (builtins.add 1)
8383+ toString
8484+ ];
8585+ in
8686+ {
8787+ "ghc${headVersion}" = headSet;
8888+ }
8989+ );
9090+6991 setsForFile = fileName:
7092 let
7193 # extract the unique part of the config's file name
···7799 builtins.match "ghc-([0-9]+).([0-9]+).x" configName
78100 );
79101 # return all package sets under haskell.packages matching the version components
8080- setsForVersion = builtins.map (name: pkgs.haskell.packages.${name}) (
102102+ setsForVersion = builtins.map (name: packageSetsWithVersionedHead.${name}) (
81103 builtins.filter (setName:
82104 lib.hasPrefix "ghc${configVersion}" setName
83105 && (skipBinaryGHCs -> !(lib.hasInfix "Binary" setName))
84106 ) (
8585- builtins.attrNames pkgs.haskell.packages
107107+ builtins.attrNames packageSetsWithVersionedHead
86108 )
87109 );
88110
+2
maintainers/scripts/haskell/update-stackage.sh
···6363 -e '/ lsp-test /d' \
6464 -e '/ hie-bios /d' \
6565 -e '/ ShellCheck /d' \
6666+ -e '/ Agda /d' \
6667 < "${tmpfile_new}" >> $stackage_config
6768# Explanations:
6869# cabal2nix, distribution-nixpkgs, jailbreak-cabal, language-nix: These are our packages and we know what we are doing.
6970# lsp, lsp-types, lsp-test, hie-bios: These are tightly coupled to hls which is not in stackage. They have no rdeps in stackage.
7071# ShellCheck: latest version of command-line dev tool.
7272+# Agda: The Agda community is fast-moving; we strive to always include the newest versions of Agda and the Agda packages in nixpkgs.
71737274if [[ "${1:-}" == "--do-commit" ]]; then
7375git add $stackage_config
+2
nixos/doc/manual/release-notes/rl-2305.section.md
···42424343- [atuin](https://github.com/ellie/atuin), a sync server for shell history. Available as [services.atuin](#opt-services.atuin.enable).
44444545+- [networkd-dispatcher](https://gitlab.com/craftyguy/networkd-dispatcher), a dispatcher service for systemd-networkd connection status changes. Available as [services.networkd-dispatcher](#opt-services.networkd-dispatcher.enable).
4646+4547- [mmsd](https://gitlab.com/kop316/mmsd), a lower level daemon that transmits and recieves MMSes. Available as [services.mmsd](#opt-services.mmsd.enable).
46484749- [QDMR](https://dm3mat.darc.de/qdmr/), a GUI application and command line tool for programming DMR radios [programs.qdmr](#opt-programs.qdmr.enable)
···8585 runHook postInstall
8686 '';
87878888+ # As documented at https://github.com/NixOS/nixpkgs/issues/172752,
8989+ # we need to set LC_ALL to an UTF-8-supporting locale. However, on
9090+ # darwin, it seems that there is no standard such locale; luckily,
9191+ # the referenced issue doesn't seem to surface on darwin. Hence let's
9292+ # set this only on non-darwin.
9393+ LC_ALL = lib.optionalString (!stdenv.isDarwin) "C.UTF-8";
9494+8895 meta = if meta.broken or false then meta // { hydraPlatforms = lib.platforms.none; } else meta;
89969097 # Retrieve all packages from the finished package set that have the current package as a dependency and build them
+4-4
pkgs/data/misc/hackage/pin.json
···11{
22- "commit": "307653b893cc53ffa71d6931c33101d352e3ead1",
33- "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/307653b893cc53ffa71d6931c33101d352e3ead1.tar.gz",
44- "sha256": "0mgmmzdlb9j4drkjjdrp2da8z4can7gg8zd007ya2jw17rz270hz",
55- "msg": "Update from Hackage at 2023-01-29T01:30:53Z"
22+ "commit": "220fb2ad74640b02e543271393f21ba227bd2627",
33+ "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/220fb2ad74640b02e543271393f21ba227bd2627.tar.gz",
44+ "sha256": "1hpbqw04i8p2h5w31a7rqlmhdjpj4r4v62kdqich57hm1cj2ml7h",
55+ "msg": "Update from Hackage at 2023-02-13T17:53:53Z"
66}
···4848 # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
4949 xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
50505151- # cabal-install needs most recent versions of Cabal and Cabal-syntax
5252- cabal-install = super.cabal-install.overrideScope (self: super: {
5353- Cabal = self.Cabal_3_8_1_0;
5454- Cabal-syntax = self.Cabal-syntax_3_8_1_0;
5555- process = self.process_1_6_16_0;
5656- # Prevent dependency on doctest which causes an inconsistent dependency
5757- # due to depending on ghc-8.10.7 (with bundled process) vs. process 1.6.16.0
5858- vector = dontCheck super.vector;
5959- });
6060- cabal-install-solver = super.cabal-install-solver.overrideScope (self: super: {
6161- Cabal = self.Cabal_3_8_1_0;
6262- Cabal-syntax = self.Cabal-syntax_3_8_1_0;
6363- process = self.process_1_6_16_0;
6464- });
6565-6651 # Additionally depends on OneTuple for GHC < 9.0
6752 base-compat-batteries = addBuildDepend self.OneTuple super.base-compat-batteries;
6853···7257 # ghc versions which don’t match the ghc-lib-parser-ex version need the
7358 # additional dependency to compile successfully.
7459 ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser super.ghc-lib-parser-ex;
6060+6161+ # Needs to use ghc-lib due to incompatible GHC
6262+ ghc-tags = doDistribute (addBuildDepend self.ghc-lib self.ghc-tags_1_5);
75637664 # Jailbreak to fix the build.
7765 base-noprelude = doJailbreak super.base-noprelude;
···4949 # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
5050 xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
51515252- # cabal-install needs the latest/matching versions of Cabal-syntax and Cabal
5353- cabal-install = super.cabal-install.overrideScope (self: super: {
5454- Cabal = self.Cabal_3_8_1_0;
5555- Cabal-syntax = self.Cabal-syntax_3_8_1_0;
5656- process = self.process_1_6_16_0;
5757- });
5858- cabal-install-solver = super.cabal-install-solver.overrideScope (self: super: {
5959- Cabal = self.Cabal_3_8_1_0;
6060- Cabal-syntax = self.Cabal-syntax_3_8_1_0;
6161- process = self.process_1_6_16_0;
6262- });
6363-6452 # Jailbreaks & Version Updates
65536654 # This `doJailbreak` can be removed once the following PR is released to Hackage:
···120108 # Apply this here and not in common, because other ghc versions offer different Cabal versions.
121109 Cabal = lself.Cabal_3_6_3_0;
122110 }));
111111+112112+ # Needs to use ghc-lib due to incompatible GHC
113113+ ghc-tags = doDistribute (addBuildDepend self.ghc-lib self.ghc-tags_1_5);
123114124115 # This package is marked as unbuildable on GHC 9.2, so hackage2nix doesn't include any dependencies.
125116 # See https://github.com/NixOS/nixpkgs/pull/205902 for why we use `self.<package>.scope`
···874874 (overrideCabal { doCheck = pkgs.postgresql.doCheck; })
875875 ];
876876877877+ # Wants running postgresql database accessible over ip, so postgresqlTestHook
878878+ # won't work (or would need to patch test suite).
879879+ domaindriven-core = dontCheck super.domaindriven-core;
880880+877881 cachix = super.cachix.override {
878882 nix = self.hercules-ci-cnix-store.passthru.nixPackage;
879883 fsnotify = dontCheck super.fsnotify_0_4_1_0;
···940944941945 # Tries to access network
942946 aws-sns-verify = dontCheck super.aws-sns-verify;
947947+948948+ # Test suite requires network access
949949+ minicurl = dontCheck super.minicurl;
943950944951 # procex relies on close_range which has been introduced in Linux 5.9,
945952 # the test suite seems to force the use of this feature (or the fallback
···10461053 hint = dontCheck super.hint;
1047105410481055 # Make sure that Cabal 3.8.* can be built as-is
10491049- Cabal_3_8_1_0 = doDistribute (super.Cabal_3_8_1_0.override {
10561056+ Cabal_3_8_1_0 = doDistribute (super.Cabal_3_8_1_0.override ({
10501057 Cabal-syntax = self.Cabal-syntax_3_8_1_0;
10581058+ } // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.2.5") {
10591059+ # Use process core package when possible
10511060 process = self.process_1_6_16_0;
10521052- });
10611061+ }));
1053106210541063 # cabal-install switched to build type simple in 3.2.0.0
10551064 # as a result, the cabal(1) man page is no longer installed
···11{ lib, mkDerivation, fetchFromGitHub, standard-library }:
2233mkDerivation rec {
44- version = "0.1.7.1";
44+ version = "0.1.7.1a";
55 pname = "agda-categories";
6677 src = fetchFromGitHub {
88 owner = "agda";
99 repo = "agda-categories";
1010 rev = "v${version}";
1111- sha256 = "1acb693ad2nrmnn6jxsyrlkc0di3kk2ksj2w9wnyfxrgvfsil7rn";
1111+ sha256 = "sha256-VlxRDxXg+unzYlACUU58JQUHXxtg0fI5dEQvlBRxJtU=";
1212 };
13131414- # Remove this once new version of agda-categories is released which
1515- # directly references standard-library-1.7.1
1614 postPatch = ''
1717- substituteInPlace agda-categories.agda-lib \
1818- --replace 'standard-library-1.7' 'standard-library-1.7.1'
1515+ # Remove this once agda-categories incorporates this fix or once Agda's
1616+ # versioning system gets an overhaul in general. Right now there is no middle
1717+ # ground between "no version constraint" and "exact match down to patch". We
1818+ # do not want to need to change this postPatch directive on each minor
1919+ # version update of the stdlib, so we get rid of the version constraint
2020+ # altogether.
2121+ sed -Ei 's/standard-library-[0-9.]+/standard-library/' agda-categories.agda-lib
2222+2323+ # The Makefile of agda-categories uses git(1) instead of find(1) to
2424+ # determine the list of source files. We cannot use git, as $PWD will not
2525+ # be a valid Git working directory.
2626+ find src -name '*.agda' | sed -e 's|^src/[/]*|import |' -e 's|/|.|g' -e 's/.agda//' -e '/import Everything/d' | LC_COLLATE='C' sort > Everything.agda
1927 '';
20282129 buildInputs = [ standard-library ];
···148148 boost160 = throw "boost160 has been deprecated in favor of the latest version"; # Added 2023-01-01
149149 botan = throw "botan has been removed because it did not support a supported openssl version"; # added 2021-12-15
150150 bpftool = bpftools; # Added 2021-05-03
151151+ bpytop = throw "bpytop has been deprecated by btop"; # Added 2023-02-16
151152 brackets = throw "brackets has been removed, it was unmaintained and had open vulnerabilities"; # Added 2021-01-24
152153 bridge_utils = throw "'bridge_utils' has been renamed to/replaced by 'bridge-utils'"; # Converted to throw 2022-02-22
153154 bro = zeek; # Added 2019-09-29