···191191 </listitem>
192192 <listitem>
193193 <para>
194194+ [xray] (https://github.com/XTLS/Xray-core), a fully compatible
195195+ v2ray-core replacement. Features XTLS, which when enabled on
196196+ server and client, brings UDP FullCone NAT to proxy setups.
197197+ Available as
198198+ <link xlink:href="options.html#opt-services.xray.enable">services.xray</link>.
199199+ </para>
200200+ </listitem>
201201+ <listitem>
202202+ <para>
194203 <link xlink:href="https://github.com/mozilla-services/syncstorage-rs">syncstorage-rs</link>,
195204 a self-hostable sync server for Firefox. Available as
196205 <link xlink:href="options.html#opt-services.firefox-syncserver.enable">services.firefox-syncserver</link>.
+3
nixos/doc/manual/release-notes/rl-2211.section.md
···7171## New Services {#sec-release-22.11-new-services}
72727373- [appvm](https://github.com/jollheef/appvm), Nix based app VMs. Available as [virtualisation.appvm](options.html#opt-virtualisation.appvm.enable).
7474+7575+- [xray] (https://github.com/XTLS/Xray-core), a fully compatible v2ray-core replacement. Features XTLS, which when enabled on server and client, brings UDP FullCone NAT to proxy setups. Available as [services.xray](options.html#opt-services.xray.enable).
7676+7477- [syncstorage-rs](https://github.com/mozilla-services/syncstorage-rs), a self-hostable sync server for Firefox. Available as [services.firefox-syncserver](options.html#opt-services.firefox-syncserver.enable).
75787679- [dragonflydb](https://dragonflydb.io/), a modern replacement for Redis and Memcached. Available as [services.dragonflydb](#opt-services.dragonflydb.enable).
···1616 # Containers should be light-weight, so start sshd on demand.
1717 services.openssh.startWhenNeeded = mkDefault true;
18181919+ # containers do not need to setup devices
2020+ services.udev.enable = false;
2121+1922 # Shut up warnings about not having a boot loader.
2023 system.build.installBootLoader = lib.mkDefault "${pkgs.coreutils}/bin/true";
2124
···3333 )
34343535 with subtest("Manage script works"):
3636- # Should fail if not called by healthchecks user
3737- machine.fail("echo 'print(\"foo\")' | healthchecks-manage help")
3838-3936 # "shell" sucommand should succeed, needs python in PATH.
4037 assert "foo\n" == machine.succeed("echo 'print(\"foo\")' | sudo -u healthchecks healthchecks-manage shell")
3838+3939+ # Shouldn't fail if not called by healthchecks user
4040+ assert "foo\n" == machine.succeed("echo 'print(\"foo\")' | healthchecks-manage shell")
4141 '';
4242})
···1105110511061106 # Requires pg_ctl command during tests
11071107 beam-postgres = overrideCabal (drv: {
11081108+ # https://github.com/NixOS/nixpkgs/issues/198495
11091109+ doCheck = pkgs.postgresql.doCheck;
11081110 testToolDepends = (drv.testToolDepends or []) ++ [pkgs.postgresql];
11091111 }) super.beam-postgres;
11101112···11271129 sed -i test/PostgreSQL/Test.hs \
11281130 -e s^host=localhost^^
11291131 '';
11321132+ # https://github.com/NixOS/nixpkgs/issues/198495
11331133+ doCheck = pkgs.postgresql.doCheck;
11301134 # Match the test suite defaults (or hardcoded values?)
11311135 preCheck = drv.preCheck or "" + ''
11321136 PGUSER=esqutest
···12671271 sed -i test/PgInit.hs \
12681272 -e s^'host=" <> host <> "'^^
12691273 '';
12741274+ # https://github.com/NixOS/nixpkgs/issues/198495
12751275+ doCheck = pkgs.postgresql.doCheck;
12701276 preCheck = drv.preCheck or "" + ''
12711277 PGDATABASE=test
12721278 PGUSER=test
···14711477 testToolDepends = drv.testToolDepends or [] ++ [
14721478 pkgs.postgresql pkgs.postgresqlTestHook
14731479 ];
14801480+ # https://github.com/NixOS/nixpkgs/issues/198495
14811481+ doCheck = pkgs.postgresql.doCheck;
14741482 preCheck = drv.preCheck or "" + ''
14751483 # empty string means use default connection
14761484 export DATABASE_URL=""
···15571565 hlint = enableCabalFlag "ghc-lib" lself.hlint_3_4_1;
15581566 ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_4;
15591567 ghc-lib-parser = lself.ghc-lib-parser_9_2_4_20220729;
15681568+ # For most ghc versions, we overrideScope Cabal in the configuration-ghc-???.nix,
15691569+ # because some packages, like ormolu, need a newer Cabal version.
15701570+ # ghc-paths is special because it depends on Cabal for building
15711571+ # its Setup.hs, and therefor declares a Cabal dependency, but does
15721572+ # not actually use it as a build dependency.
15731573+ # That means ghc-paths can just use the ghc included Cabal version,
15741574+ # without causing package-db incoherence and we should do that because
15751575+ # otherwise we have different versions of ghc-paths
15761576+ # around with have the same abi-hash, which can lead to confusions and conflicts.
15771577+ ghc-paths = lsuper.ghc-paths.override { Cabal = null; };
15601578 });
1561157915621580 hls-hlint-plugin = super.hls-hlint-plugin.overrideScope (lself: lsuper: {
···15931611 # 2022-09-19: https://github.com/haskell/haskell-language-server/issues/3200
15941612 hls-refactor-plugin = dontCheck super.hls-refactor-plugin;
1595161316141614+ # 2022-10-27: implicit-hie 0.1.3.0 needs a newer version of Cabal-syntax.
16151615+ implicit-hie = super.implicit-hie.override {
16161616+ Cabal-syntax = self.Cabal-syntax_3_8_1_0;
16171617+ };
16181618+15961619 # 2021-03-21: Test hangs
15971620 # https://github.com/haskell/haskell-language-server/issues/1562
15981621 # 2021-11-13: Too strict upper bound on implicit-hie-cradle
···1900192319011924 # 2021-04-02: Outdated optparse-applicative bound is fixed but not realeased on upstream.
19021925 trial-optparse-applicative = assert super.trial-optparse-applicative.version == "0.0.0.0"; doJailbreak super.trial-optparse-applicative;
19031903-19041904- # 2021-04-02: Outdated optparse-applicative bound is fixed but not realeased on upstream.
19051905- extensions = assert super.extensions.version == "0.0.0.1"; doJailbreak super.extensions;
1906192619071927 # 2021-04-02: iCalendar is basically unmaintained.
19081928 # There are PRs for bumping the bounds: https://github.com/chrra/iCalendar/pull/46
···24172437 csv = overrideCabal (drv: { preCompileBuildDriver = "rm Setup.hs"; }) super.csv;
2418243824192439 cabal-fmt = doJailbreak (super.cabal-fmt.override {
24202420- # Needs newer Cabal-syntex version.
24402440+ # Needs newer Cabal-syntax version.
24212441 Cabal-syntax = self.Cabal-syntax_3_8_1_0;
24222442 });
24232443···25392559 testTarget = "regex-tdfa-unittest";
25402560 } super.regex-tdfa;
2541256125622562+ # Missing test files https://github.com/qrilka/xlsx/issues/165
25632563+ xlsx = dontCheck super.xlsx;
25642564+25652565+ # Missing test files https://github.com/kephas/xdg-basedir-compliant/issues/1
25662566+ xdg-basedir-compliant = dontCheck super.xdg-basedir-compliant;
25672567+25422568 # 2022-09-01:
25432569 # Restrictive upper bound on base.
25442570 # Remove once version 1.* is released
···25782604 purescript =
25792605 lib.pipe
25802606 (super.purescript.overrideScope purescriptOverlay)
25812581- [
26072607+ ([
25822608 # PureScript uses nodejs to run tests, so the tests have been disabled
25832609 # for now. If someone is interested in figuring out how to get this
25842610 # working, it seems like it might be possible.
···25892615 doJailbreak
25902616 # Generate shell completions
25912617 (self.generateOptparseApplicativeCompletions [ "purs" ])
25922592- ];
26182618+ ] ++ lib.optionals (lib.versions.majorMinor self.ghc.version == "9.2") [
26192619+ markUnbroken
26202620+ doDistribute
26212621+ ]);
2593262225942623 purescript-cst = purescriptStOverride super.purescript-cst;
25952624
···2727# If you have an override of this kind, see configuration-common.nix instead.
2828{ pkgs, haskellLib }:
29293030+let
3131+ inherit (pkgs) lib;
3232+in
3333+3034with haskellLib;
31353236# All of the overrides in this set should look like:
···788792 # Tests access internet
789793 prune-juice = dontCheck super.prune-juice;
790794795795+ citeproc = lib.pipe super.citeproc [
796796+ enableSeparateBinOutput
797797+ # Enable executable being built and add missing dependencies
798798+ (enableCabalFlag "executable")
799799+ (addBuildDepends [ self.aeson-pretty ])
800800+ # TODO(@sternenseemann): we may want to enable that for improved performance
801801+ # Is correctness good enough since 0.5?
802802+ (disableCabalFlag "icu")
803803+ ];
804804+791805 # based on https://github.com/gibiansky/IHaskell/blob/aafeabef786154d81ab7d9d1882bbcd06fc8c6c4/release.nix
792806 ihaskell = overrideCabal (drv: {
793807 # ihaskell's cabal file forces building a shared executable, which we need
···887901 '';
888902 }) super.nvfetcher);
889903890890- rel8 = addTestToolDepend pkgs.postgresql super.rel8;
904904+ rel8 = pkgs.lib.pipe super.rel8 [
905905+ (addTestToolDepend pkgs.postgresql)
906906+ # https://github.com/NixOS/nixpkgs/issues/198495
907907+ (overrideCabal { doCheck = pkgs.postgresql.doCheck; })
908908+ ];
891909892910 cachix = self.generateOptparseApplicativeCompletions [ "cachix" ] (super.cachix.override { nix = pkgs.nixVersions.nix_2_9; });
893911···10541072 # Make sure that Cabal 3.8.* can be built as-is
10551073 Cabal_3_8_1_0 = doDistribute (super.Cabal_3_8_1_0.override {
10561074 Cabal-syntax = self.Cabal-syntax_3_8_1_0;
10571057- process = self.process_1_6_15_0;
10751075+ process = self.process_1_6_16_0;
10581076 });
1059107710601078 # cabal-install switched to build type simple in 3.2.0.0
···9898 (
9999 cd unpacked/tensorflow*
100100 # Adjust dependency requirements:
101101- # - Relax flatbuffers, gast and tensorflow-estimator version requirements that don't match what we have packaged
101101+ # - Relax flatbuffers, gast, protobuf, tensorboard, and tensorflow-estimator version requirements that don't match what we have packaged
102102 # - The purpose of python3Packages.libclang is not clear at the moment and we don't have it packaged yet
103103 # - keras and tensorlow-io-gcs-filesystem will be considered as optional for now.
104104 sed -i *.dist-info/METADATA \
105105 -e "/Requires-Dist: flatbuffers/d" \
106106 -e "/Requires-Dist: gast/d" \
107107- -e "/Requires-Dist: libclang/d" \
108107 -e "/Requires-Dist: keras/d" \
108108+ -e "/Requires-Dist: libclang/d" \
109109+ -e "/Requires-Dist: protobuf/d" \
110110+ -e "/Requires-Dist: tensorboard/d" \
109111 -e "/Requires-Dist: tensorflow-estimator/d" \
110112 -e "/Requires-Dist: tensorflow-io-gcs-filesystem/d"
111113 )