···242242 </listitem>
243243 <listitem>
244244 <para>
245245+ <literal>pkgs.ghc.withPackages</literal> as well as
246246+ <literal>haskellPackages.ghcWithPackages</literal> etc. now
247247+ needs be overridden directly, as opposed to overriding the
248248+ result of calling it. Additionally, the
249249+ <literal>withLLVM</literal> parameter has been renamed to
250250+ <literal>useLLVM</literal>. So instead of
251251+ <literal>(ghc.withPackages (p: [])).override { withLLVM = true; }</literal>,
252252+ one needs to use
253253+ <literal>(ghc.withPackages.override { useLLVM = true; }) (p: [])</literal>.
254254+ </para>
255255+ </listitem>
256256+ <listitem>
257257+ <para>
245258 <literal>pkgs.emacsPackages.orgPackages</literal> is removed
246259 because org elpa is deprecated. The packages in the top level
247260 of <literal>pkgs.emacsPackages</literal>, such as org and
···315328 interpreter. Scripts have to be converted to Python 3 for use
316329 with <literal>writers.writePython3</literal> or
317330 <literal>writers.writePyPy2</literal> needs to be used.
331331+ </para>
332332+ </listitem>
333333+ <listitem>
334334+ <para>
335335+ <literal>buildGoModule</literal> was updated to use
336336+ <literal>go_1_17</literal>, third party derivations that
337337+ specify >= go 1.17 in the main <literal>go.mod</literal>
338338+ will need to regenerate their <literal>vendorSha256</literal>
339339+ hash.
318340 </para>
319341 </listitem>
320342 <listitem>
+8
nixos/doc/manual/release-notes/rl-2205.section.md
···8181 instead to ensure cross compilation keeps working (or switch to
8282 `haskellPackages.callPackage`).
83838484+- `pkgs.ghc.withPackages` as well as `haskellPackages.ghcWithPackages` etc.
8585+ now needs be overridden directly, as opposed to overriding the result of
8686+ calling it. Additionally, the `withLLVM` parameter has been renamed to
8787+ `useLLVM`. So instead of `(ghc.withPackages (p: [])).override { withLLVM = true; }`,
8888+ one needs to use `(ghc.withPackages.override { useLLVM = true; }) (p: [])`.
8989+8490- `pkgs.emacsPackages.orgPackages` is removed because org elpa is deprecated.
8591 The packages in the top level of `pkgs.emacsPackages`, such as org and
8692 org-contrib, refer to the ones in `pkgs.emacsPackages.elpaPackages` and
···104110105111- The `writers.writePython2` and corresponding `writers.writePython2Bin` convenience functions to create executable Python 2 scripts in the store were removed in preparation of removal of the Python 2 interpreter.
106112 Scripts have to be converted to Python 3 for use with `writers.writePython3` or `writers.writePyPy2` needs to be used.
113113+114114+- `buildGoModule` was updated to use `go_1_17`, third party derivations that specify >= go 1.17 in the main `go.mod` will need to regenerate their `vendorSha256` hash.
107115108116- The `gnome-passwordsafe` package updated to [version 6.x](https://gitlab.gnome.org/World/secrets/-/tags/6.0) and renamed to `gnome-secrets`.
109117
···2121 "select package from Programs where system = ? and name = ?",
2222 { Slice => {} }, $system, $program);
23232424-if (!defined $res || scalar @$res == 0) {
2424+my $len = !defined $res ? 0 : scalar @$res;
2525+2626+if ($len == 0) {
2527 print STDERR "$program: command not found\n";
2626-} elsif (scalar @$res == 1) {
2828+} elsif ($len == 1) {
2729 my $package = @$res[0]->{package};
2830 if ($ENV{"NIX_AUTO_RUN"} // "") {
3131+ if ($ENV{"NIX_AUTO_RUN_INTERACTIVE"} // "") {
3232+ while (1) {
3333+ print STDERR "'$program' from package '$package' will be run, confirm? [yn]: ";
3434+ chomp(my $comfirm = <STDIN>);
3535+ if (lc $comfirm eq "n") {
3636+ exit 0;
3737+ } elsif (lc $comfirm eq "y") {
3838+ last;
3939+ }
4040+ }
4141+ }
2942 exec("nix-shell", "-p", $package, "--run", shell_quote("exec", @ARGV));
3043 } else {
3144 print STDERR <<EOF;
···3548EOF
3649 }
3750} else {
3838- print STDERR <<EOF;
5151+ if ($ENV{"NIX_AUTO_RUN"} // "") {
5252+ print STDERR "Select a package that provides '$program':\n";
5353+ for my $i (0 .. $len - 1) {
5454+ print STDERR " [", $i + 1, "]: @$res[$i]->{package}\n";
5555+ }
5656+ my $choice = 0;
5757+ while (1) { # exec will break this loop
5858+ no warnings "numeric";
5959+ print STDERR "Your choice [1-${len}]: ";
6060+ # 0 can be invalid user input like non-number string
6161+ # so we start from 1
6262+ $choice = <STDIN> + 0;
6363+ if (1 <= $choice && $choice <= $len) {
6464+ exec("nix-shell", "-p", @$res[$choice - 1]->{package},
6565+ "--run", shell_quote("exec", @ARGV));
6666+ }
6767+ }
6868+ } else {
6969+ print STDERR <<EOF;
3970The program '$program' is not in your PATH. It is provided by several packages.
4071You can make it available in an ephemeral shell by typing one of the following:
4172EOF
4242- print STDERR " nix-shell -p $_->{package}\n" foreach @$res;
7373+ print STDERR " nix-shell -p $_->{package}\n" foreach @$res;
7474+ }
4375}
44764577exit 127;
+2
nixos/modules/rename.nix
···8888 The racoon module has been removed, because the software project was abandoned upstream.
8989 '')
90909191+ (mkRemovedOptionModule [ "services" "shellinabox" ] "The corresponding package was removed from nixpkgs.")
9292+9193 # Do NOT add any option renames here, see top of the file
9294 ];
9395}
+2-1
nixos/modules/services/hardware/udev.nix
···317317 (isYes "NET")
318318 ];
319319320320- boot.extraModprobeConfig = "options firmware_class path=${config.hardware.firmware}/lib/firmware";
320320+ # We don't place this into `extraModprobeConfig` so that stage-1 ramdisk doesn't bloat.
321321+ environment.etc."modprobe.d/firmware.conf".text = "options firmware_class path=${config.hardware.firmware}/lib/firmware";
321322322323 system.activationScripts.udevd =
323324 ''
···1313 (iniFmt.generate "PackageKit.conf" (recursiveUpdate
1414 {
1515 Daemon = {
1616- DefaultBackend = "test_nop";
1616+ DefaultBackend = "nix";
1717 KeepCache = false;
1818 };
1919 }
···3535in
3636{
3737 imports = [
3838- (mkRemovedOptionModule [ "services" "packagekit" "backend" ] "The only backend that doesn't blow up is `test_nop`.")
3838+ (mkRemovedOptionModule [ "services" "packagekit" "backend" ] "Always set to Nix.")
3939 ];
40404141 options.services.packagekit = {
···6161 config = mkIf cfg.enable {
62626363 services.dbus.packages = with pkgs; [ packagekit ];
6464+6565+ environment.systemPackages = with pkgs; [ packagekit ];
64666567 systemd.packages = with pkgs; [ packagekit ];
6668
+1-1
nixos/modules/services/networking/firewall.nix
···326326 type = types.package;
327327 default = pkgs.iptables;
328328 defaultText = literalExpression "pkgs.iptables";
329329- example = literalExpression "pkgs.iptables-nftables-compat";
329329+ example = literalExpression "pkgs.iptables-legacy";
330330 description =
331331 ''
332332 The iptables package to use for running the firewall service."
···11-{ config, lib, pkgs, ... }:
22-33-with lib;
44-55-let
66-77- cfg = config.services.shellinabox;
88-99- # If a certificate file is specified, shellinaboxd requires
1010- # a file descriptor to retrieve it
1111- fd = "3";
1212- createFd = optionalString (cfg.certFile != null) "${fd}<${cfg.certFile}";
1313-1414- # Command line arguments for the shellinabox daemon
1515- args = [ "--background" ]
1616- ++ optional (! cfg.enableSSL) "--disable-ssl"
1717- ++ optional (cfg.certFile != null) "--cert-fd=${fd}"
1818- ++ optional (cfg.certDirectory != null) "--cert=${cfg.certDirectory}"
1919- ++ cfg.extraOptions;
2020-2121- # Command to start shellinaboxd
2222- cmd = "${pkgs.shellinabox}/bin/shellinaboxd ${concatStringsSep " " args}";
2323-2424- # Command to start shellinaboxd if certFile is specified
2525- wrappedCmd = "${pkgs.bash}/bin/bash -c 'exec ${createFd} && ${cmd}'";
2626-2727-in
2828-2929-{
3030-3131- ###### interface
3232-3333- options = {
3434- services.shellinabox = {
3535- enable = mkEnableOption "shellinabox daemon";
3636-3737- user = mkOption {
3838- type = types.str;
3939- default = "root";
4040- description = ''
4141- User to run shellinaboxd as. If started as root, the server drops
4242- privileges by changing to nobody, unless overridden by the
4343- <literal>--user</literal> option.
4444- '';
4545- };
4646-4747- enableSSL = mkOption {
4848- type = types.bool;
4949- default = false;
5050- description = ''
5151- Whether or not to enable SSL (https) support.
5252- '';
5353- };
5454-5555- certDirectory = mkOption {
5656- type = types.nullOr types.path;
5757- default = null;
5858- example = "/var/certs";
5959- description = ''
6060- The daemon will look in this directory far any certificates.
6161- If the browser negotiated a Server Name Identification the daemon
6262- will look for a matching certificate-SERVERNAME.pem file. If no SNI
6363- handshake takes place, it will fall back on using the certificate in the
6464- certificate.pem file.
6565-6666- If no suitable certificate is installed, shellinaboxd will attempt to
6767- create a new self-signed certificate. This will only succeed if, after
6868- dropping privileges, shellinaboxd has write permissions for this
6969- directory.
7070- '';
7171- };
7272-7373- certFile = mkOption {
7474- type = types.nullOr types.path;
7575- default = null;
7676- example = "/var/certificate.pem";
7777- description = "Path to server SSL certificate.";
7878- };
7979-8080- extraOptions = mkOption {
8181- type = types.listOf types.str;
8282- default = [ ];
8383- example = [ "--port=443" "--service /:LOGIN" ];
8484- description = ''
8585- A list of strings to be appended to the command line arguments
8686- for shellinaboxd. Please see the manual page
8787- <link xlink:href="https://code.google.com/p/shellinabox/wiki/shellinaboxd_man"/>
8888- for a full list of available arguments.
8989- '';
9090- };
9191-9292- };
9393- };
9494-9595- ###### implementation
9696-9797- config = mkIf cfg.enable {
9898-9999- assertions =
100100- [ { assertion = cfg.enableSSL == true
101101- -> cfg.certDirectory != null || cfg.certFile != null;
102102- message = "SSL is enabled for shellinabox, but no certDirectory or certFile has been specefied."; }
103103- { assertion = ! (cfg.certDirectory != null && cfg.certFile != null);
104104- message = "Cannot set both certDirectory and certFile for shellinabox."; }
105105- ];
106106-107107- systemd.services.shellinaboxd = {
108108- description = "Shellinabox Web Server Daemon";
109109-110110- wantedBy = [ "multi-user.target" ];
111111- requires = [ "sshd.service" ];
112112- after = [ "sshd.service" ];
113113-114114- serviceConfig = {
115115- Type = "forking";
116116- User = "${cfg.user}";
117117- ExecStart = "${if cfg.certFile == null then "${cmd}" else "${wrappedCmd}"}";
118118- ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
119119- };
120120- };
121121- };
122122-}
···8686 withPlugins (x: newplugins x ++ actualPlugins);
8787 full = withPlugins (p: lib.filter lib.isDerivation (lib.attrValues p));
88888989- # Ouch
8989+ # Expose wrappers around the override* functions of the terraform
9090+ # derivation.
9191+ #
9292+ # Note that this does not behave as anyone would expect if plugins
9393+ # are specified. The overrides are not on the user-visible wrapper
9494+ # derivation but instead on the function application that eventually
9595+ # generates the wrapper. This means:
9696+ #
9797+ # 1. When using overrideAttrs, only `passthru` attributes will
9898+ # become visible on the wrapper derivation. Other overrides that
9999+ # modify the derivation *may* still have an effect, but it can be
100100+ # difficult to follow.
101101+ #
102102+ # 2. Other overrides may work if they modify the terraform
103103+ # derivation, or they may have no effect, depending on what
104104+ # exactly is being changed.
105105+ #
106106+ # 3. Specifying overrides on the wrapper is unsupported.
107107+ #
108108+ # See nixpkgs#158620 for details.
90109 overrideDerivation = f:
91110 (pluggable (terraform.overrideDerivation f)).withPlugins plugins;
92111 overrideAttrs = f:
···105124 inherit (terraform) name meta;
106125 nativeBuildInputs = [ makeWrapper ];
107126127127+ # Expose the passthru set with the override functions
128128+ # defined above, as well as any passthru values already
129129+ # set on `terraform` at this point (relevant in case a
130130+ # user overrides attributes).
131131+ passthru = terraform.passthru // passthru;
132132+108133 buildCommand = ''
109134 # Create wrappers for terraform plugins because Terraform only
110135 # walks inside of a tree of files.
···128153 --set NIX_TERRAFORM_PLUGIN_DIR $out/libexec/terraform-providers \
129154 --prefix PATH : "${lib.makeBinPath wrapperInputs}"
130155 '';
131131-132132- inherit passthru;
133156 });
134157 in
135158 withPlugins (_: [ ]);
···5566mkDerivation rec {
77 pname = "qownnotes";
88- version = "22.1.11";
88+ version = "22.2.1";
991010 src = fetchurl {
1111 url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
1212 # Fetch the checksum of current version with curl:
1313 # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256
1414- sha256 = "7fa21ca9b8b0df6f1bda7a7dc21d53642eccf8de6a31a9a29a251e0a17c00c83";
1414+ sha256 = "26dfd41430e9efa5cc93c2d67156387a564efd0843c2020284658100b298d54c";
1515 };
16161717 nativeBuildInputs = [ qmake qttools ];
+3-3
pkgs/applications/science/logic/lean/default.nix
···2233stdenv.mkDerivation rec {
44 pname = "lean";
55- version = "3.39.0";
55+ version = "3.39.1";
6677 src = fetchFromGitHub {
88 owner = "leanprover-community";
···1111 # from. this is then used to check whether an olean file should be
1212 # rebuilt. don't use a tag as rev because this will get replaced into
1313 # src/githash.h.in in preConfigure.
1414- rev = "85c581588857624e9cd562aaa0301a951c497833";
1515- sha256 = "1v9rqvpgm2hw0mvsg1arp7xp4r9h9p286364hn3if55pg3h8bjzn";
1414+ rev = "1781ded0d0062f40a7eaf3ead8dcbef4429c6321";
1515+ sha256 = "0xdpbfjfa1q4cnf87nl7l760ivr4agpqmy3i1f2b132sgbjzm1xx";
1616 };
17171818 nativeBuildInputs = [ cmake ];
···164164 passthru = {
165165 preferLocalBuild = true;
166166 inherit (ghc) version meta;
167167+168168+ # Inform users about backwards incompatibilities with <= 21.05
169169+ override = _: throw ''
170170+ The ghc.withPackages wrapper itself can now be overridden, but no longer
171171+ the result of calling it (as before). Consequently overrides need to be
172172+ adjusted: Instead of
173173+174174+ (ghc.withPackages (p: [ p.my-package ])).override { withLLLVM = true; }
175175+176176+ use
177177+178178+ (ghc.withPackages.override { useLLVM = true; }) (p: [ p.my-package ])
179179+180180+ Also note that withLLVM has been renamed to useLLVM for consistency with
181181+ the GHC Nix expressions.'';
167182 };
168183}
···12121313buildPythonPackage rec {
1414 pname = "cocotb";
1515- version = "1.6.1";
1515+ version = "1.6.2";
16161717 # - we need to use the tarball from PyPi
1818 # or the full git checkout (with .git)
···2020 # because it does not include required metadata
2121 src = fetchPypi {
2222 inherit pname version;
2323- sha256 = "b644a15ea1e62c55041176468976541cba30a8a5e99a5e9a2c07ee595c2b4e95";
2323+ sha256 = "sha256-SY+1727DbWMg6CnmHw8k/VP0dwBRYszn+YyyvZXgvUs=";
2424 };
25252626 nativeBuildInputs = [ setuptools-scm ];
···1515, libxkbcommon
1616, libappindicator-gtk3
1717, libxshmfence
1818+, libglvnd
1819}:
19202021version: hashes:
···2829 maintainers = with maintainers; [ travisbhartwell manveru prusnak ];
2930 platforms = [ "x86_64-darwin" "x86_64-linux" "i686-linux" "armv7l-linux" "aarch64-linux" ]
3031 ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ];
3131- knownVulnerabilities = optional (versionOlder version "13.0.0") "Electron version ${version} is EOL";
3232+ knownVulnerabilities = optional (versionOlder version "14.0.0") "Electron version ${version} is EOL";
3233 };
33343435 fetcher = vers: tag: hash: fetchurl {
···6465 ++ optionals (! versionOlder version "9.0.0") [ libdrm mesa ]
6566 ++ optionals (! versionOlder version "11.0.0") [ libxkbcommon ]
6667 ++ optionals (! versionOlder version "12.0.0") [ libxshmfence ]
6868+ ++ optionals (! versionOlder version "17.0.0") [ libglvnd ]
6769 );
68706971 linux = {
+21-6
pkgs/development/tools/ginkgo/default.nix
···2233buildGoModule rec {
44 pname = "ginkgo";
55- version = "2.1.0";
55+ version = "2.1.1";
6677 src = fetchFromGitHub {
88 owner = "onsi";
99 repo = "ginkgo";
1010 rev = "v${version}";
1111- sha256 = "sha256-GF96AOyQcVI01dP6yqMwyPmXMDRVxrScu1UL76jF2qA=";
1111+ sha256 = "sha256-iAXqPbNBNNR6PGhIjrDqTYUu0XYgvS5aM8n68qQNurQ=";
1212 };
1313 vendorSha256 = "sha256-kMQ60HdsorZU27qoOY52DpwFwP+Br2bp8mRx+ZwnQlI=";
1414- doCheck = false;
1414+1515+ # integration tests expect more file changes
1616+ # types tests are missing CodeLocation
1717+ excludedPackages = "\\(integration\\|types\\)";
15181619 meta = with lib; {
1717- description = "BDD Testing Framework for Go";
1818- homepage = "https://github.com/onsi/ginkgo";
2020+ homepage = "https://onsi.github.io/ginkgo/";
2121+ changelog = "https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md";
2222+ description = "A Modern Testing Framework for Go";
2323+ longDescription = ''
2424+ Ginkgo is a testing framework for Go designed to help you write expressive
2525+ tests. It is best paired with the Gomega matcher library. When combined,
2626+ Ginkgo and Gomega provide a rich and expressive DSL
2727+ (Domain-specific Language) for writing tests.
2828+2929+ Ginkgo is sometimes described as a "Behavior Driven Development" (BDD)
3030+ framework. In reality, Ginkgo is a general purpose testing framework in
3131+ active use across a wide variety of testing contexts: unit tests,
3232+ integration tests, acceptance test, performance tests, etc.
3333+ '';
1934 license = licenses.mit;
2020- maintainers = with maintainers; [ saschagrunert ];
3535+ maintainers = with maintainers; [ saschagrunert jk ];
2136 };
2237}
···77stdenv.mkDerivation {
88 pname = "secp256k1";
991010- # I can't find any version numbers, so we're just using the date of the
1111- # last commit.
1212- version = "unstable-2021-06-06";
1010+ version = "unstable-2022-02-06";
13111412 src = fetchFromGitHub {
1513 owner = "bitcoin-core";
1614 repo = "secp256k1";
1717- rev = "7973576f6e3ab27d036a09397152b124d747f4ae";
1818- sha256 = "0vjk55dv0mkph4k6bqgkykmxn05ngzvhc4rzjnvn33xzi8dzlvah";
1515+ rev = "5dcc6f8dbdb1850570919fc9942d22f728dbc0af";
1616+ sha256 = "x9qG2S6tBSRseWaFIN9N2fRpY1vkv8idT3d3rfJnmaU=";
1917 };
20182119 nativeBuildInputs = [ autoreconfHook ];
+1
pkgs/top-level/aliases.nix
···10591059 seg3d = throw "seg3d has been removed from nixpkgs (2019-11-10)";
10601060 sepolgen = throw "sepolgen was merged into selinux-python"; # Added 2021-11-11
10611061 shared_mime_info = shared-mime-info; # Added 2018-02-25
10621062+ shellinabox = throw "shellinabox has been removed from nixpkgs, as it was unmaintained upstream"; # Added 2021-12-15
10621063 sickbeard = throw "sickbeard has been removed from nixpkgs, as it was unmaintained."; # Added 2022-01-01
10631064 sickrage = throw "sickbeard has been removed from nixpkgs, as it was unmaintained."; # Added 2022-01-01
10641065 sigurlx = throw "sigurlx has been removed (upstream is gone)"; # Added 2022-01-24
···1313 fdbPackages
1414 fusePackages
1515 gns3Packages
1616- haskellPackages
1716 idrisPackages
1817 nodePackages
1918 nodePackages_latest
···3029 zabbix50
3130 zeroadPackages
3231 ;
3232+3333+ haskellPackages = super.haskellPackages // {
3434+ # mesos, which this depends on, has been removed from nixpkgs. We are keeping
3535+ # the error message for now, so users will get an error message they can make
3636+ # sense of, but need to work around it here.
3737+ # TODO(@sternenseemann): remove this after branch-off of 22.05, along with the
3838+ # override in configuration-nix.nix
3939+ hs-mesos = null;
4040+ };
33413442 # Make sure haskell.compiler is included, so alternative GHC versions show up,
3543 # but don't add haskell.packages.* since they contain the same packages (at
+1
pkgs/top-level/python-aliases.nix
···34343535mapAliases ({
3636 anyjson = throw "anyjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
3737+ asyncio-nats-client = nats-py; # added 2022-02-08
3738 blockdiagcontrib-cisco = throw "blockdiagcontrib-cisco is not compatible with blockdiag 2.0.0 and has been removed."; # added 2020-11-29
3839 bt_proximity = bt-proximity; # added 2021-07-02
3940 bugseverywhere = throw "bugseverywhere has been removed: Abandoned by upstream."; # added 2019-11-27