diff options
42 files changed, 924 insertions, 355 deletions
diff --git a/.github/labeler.yml b/.github/labeler.yml index c5c10d3e4bc1c..a48f60e776389 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -5,10 +5,6 @@ - pkgs/development/libraries/agda/**/* - pkgs/top-level/agda-packages.nix -"6.topic: bsd": - - pkgs/os-specific/bsd/**/* - - pkgs/stdenv/freebsd/**/* - "6.topic: cinnamon": - pkgs/desktops/cinnamon/**/* diff --git a/lib/systems/default.nix b/lib/systems/default.nix index 529eeb6514b9e..7ddd5b8a58129 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -105,7 +105,8 @@ rec { else if final.isAarch64 then "arm64" else if final.isx86_32 then "i386" else if final.isx86_64 then "x86_64" - else if final.isMips then "mips" + else if final.isMips32 then "mips" + else if final.isMips64 then "mips" # linux kernel does not distinguish mips32/mips64 else if final.isPower then "powerpc" else if final.isRiscV then "riscv" else if final.isS390 then "s390" diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix index 00e57339a3102..27cdaf6a7233b 100644 --- a/lib/systems/doubles.nix +++ b/lib/systems/doubles.nix @@ -26,7 +26,7 @@ let # Linux "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" - "armv7l-linux" "i686-linux" "m68k-linux" "mipsel-linux" + "armv7l-linux" "i686-linux" "m68k-linux" "mipsel-linux" "mips64el-linux" "powerpc64-linux" "powerpc64le-linux" "riscv32-linux" "riscv64-linux" "s390-linux" "s390x-linux" "x86_64-linux" @@ -87,7 +87,11 @@ in { darwin = filterDoubles predicates.isDarwin; freebsd = filterDoubles predicates.isFreeBSD; # Should be better, but MinGW is unclear. - gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabi; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabihf; }); + gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }) + ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabi; }) + ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabihf; }) + ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnuabin32; }) + ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnuabi64; }); illumos = filterDoubles predicates.isSunOS; linux = filterDoubles predicates.isLinux; netbsd = filterDoubles predicates.isNetBSD; diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index 9c0c91617e8a1..997a7a8c273ae 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -93,6 +93,26 @@ rec { config = "mipsel-unknown-linux-gnu"; } // platforms.fuloong2f_n32; + # MIPS ABI table transcribed from here: https://wiki.debian.org/Multiarch/Tuples + + # can execute on 32bit chip + mips-linux-gnu = { config = "mips-linux-gnu"; } // platforms.gcc_mips32r2_o32; + mipsel-linux-gnu = { config = "mipsel-linux-gnu"; } // platforms.gcc_mips32r2_o32; + mipsisa32r6-linux-gnu = { config = "mipsisa32r6-linux-gnu"; } // platforms.gcc_mips32r6_o32; + mipsisa32r6el-linux-gnu = { config = "mipsisa32r6el-linux-gnu"; } // platforms.gcc_mips32r6_o32; + + # require 64bit chip (for more registers, 64-bit floating point, 64-bit "long long") but use 32bit pointers + mips64-linux-gnuabin32 = { config = "mips64-linux-gnuabin32"; } // platforms.gcc_mips64r2_n32; + mips64el-linux-gnuabin32 = { config = "mips64el-linux-gnuabin32"; } // platforms.gcc_mips64r2_n32; + mipsisa64r6-linux-gnuabin32 = { config = "mipsisa64r6-linux-gnuabin32"; } // platforms.gcc_mips64r6_n32; + mipsisa64r6el-linux-gnuabin32 = { config = "mipsisa64r6el-linux-gnuabin32"; } // platforms.gcc_mips64r6_n32; + + # 64bit pointers + mips64-linux-gnuabi64 = { config = "mips64-linux-gnuabi64"; } // platforms.gcc_mips64r2_64; + mips64el-linux-gnuabi64 = { config = "mips64el-linux-gnuabi64"; } // platforms.gcc_mips64r2_64; + mipsisa64r6-linux-gnuabi64 = { config = "mipsisa64r6-linux-gnuabi64"; } // platforms.gcc_mips64r6_64; + mipsisa64r6el-linux-gnuabi64 = { config = "mipsisa64r6el-linux-gnuabi64"; } // platforms.gcc_mips64r6_64; + muslpi = raspberryPi // { config = "armv6l-unknown-linux-musleabihf"; }; diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index 718954e0839a1..89cac575c67d3 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -17,6 +17,10 @@ rec { isAarch32 = { cpu = { family = "arm"; bits = 32; }; }; isAarch64 = { cpu = { family = "arm"; bits = 64; }; }; isMips = { cpu = { family = "mips"; }; }; + isMips32 = { cpu = { family = "mips"; bits = 32; }; }; + isMips64 = { cpu = { family = "mips"; bits = 64; }; }; + isMips64n32 = { cpu = { family = "mips"; bits = 64; }; abi = { abi = "n32"; }; }; + isMips64n64 = { cpu = { family = "mips"; bits = 64; }; abi = { abi = "64"; }; }; isMmix = { cpu = { family = "mmix"; }; }; isRiscV = { cpu = { family = "riscv"; }; }; isSparc = { cpu = { family = "sparc"; }; }; @@ -57,7 +61,7 @@ rec { isAndroid = [ { abi = abis.android; } { abi = abis.androideabi; } ]; isGnu = with abis; map (a: { abi = a; }) [ gnuabi64 gnu gnueabi gnueabihf ]; - isMusl = with abis; map (a: { abi = a; }) [ musl musleabi musleabihf ]; + isMusl = with abis; map (a: { abi = a; }) [ musl musleabi musleabihf muslabin32 muslabi64 ]; isUClibc = with abis; map (a: { abi = a; }) [ uclibc uclibceabi uclibceabihf ]; isEfi = map (family: { cpu.family = family; }) diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index f0e87c30e473b..3ceddbb599b9c 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -359,6 +359,13 @@ rec { ]; }; gnuabi64 = { abi = "64"; }; + muslabi64 = { abi = "64"; }; + + # NOTE: abi=n32 requires a 64-bit MIPS chip! That is not a typo. + # It is basically the 64-bit abi with 32-bit pointers. Details: + # https://www.linux-mips.org/pub/linux/mips/doc/ABI/MIPS-N32-ABI-Handbook.pdf + gnuabin32 = { abi = "n32"; }; + muslabin32 = { abi = "n32"; }; musleabi = { float = "soft"; }; musleabihf = { float = "hard"; }; diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index b2a8dbedef4fc..04d55416242e1 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -1,3 +1,10 @@ +# Note: lib/systems/default.nix takes care of producing valid, +# fully-formed "platform" values (e.g. hostPlatform, buildPlatform, +# targetPlatform, etc) containing at least the minimal set of attrs +# required (see types.parsedPlatform in lib/systems/parse.nix). This +# file takes an already-valid platform and further elaborates it with +# optional fields such as linux-kernel, gcc, etc. + { lib }: rec { pc = { @@ -482,6 +489,43 @@ rec { }; }; + # can execute on 32bit chip + gcc_mips32r2_o32 = { gcc = { arch = "mips32r2"; abi = "o32"; }; }; + gcc_mips32r6_o32 = { gcc = { arch = "mips32r6"; abi = "o32"; }; }; + gcc_mips64r2_n32 = { gcc = { arch = "mips64r2"; abi = "n32"; }; }; + gcc_mips64r6_n32 = { gcc = { arch = "mips64r6"; abi = "n32"; }; }; + gcc_mips64r2_64 = { gcc = { arch = "mips64r2"; abi = "64"; }; }; + gcc_mips64r6_64 = { gcc = { arch = "mips64r6"; abi = "64"; }; }; + + # based on: + # https://www.mail-archive.com/qemu-discuss@nongnu.org/msg05179.html + # https://gmplib.org/~tege/qemu.html#mips64-debian + mips64el-qemu-linux-gnuabi64 = (import ./examples).mips64el-linux-gnuabi64 // { + linux-kernel = { + name = "mips64el"; + baseConfig = "64r2el_defconfig"; + target = "vmlinuz"; + autoModules = false; + DTB = true; + # for qemu 9p passthrough filesystem + extraConfig = '' + MIPS_MALTA y + PAGE_SIZE_4KB y + CPU_LITTLE_ENDIAN y + CPU_MIPS64_R2 y + 64BIT y + CPU_MIPS64_R2 y + + NET_9P y + NET_9P_VIRTIO y + 9P_FS y + 9P_FS_POSIX_ACL y + PCI y + VIRTIO_PCI y + ''; + }; + }; + ## ## Other ## @@ -499,6 +543,9 @@ rec { }; }; + # This function takes a minimally-valid "platform" and returns an + # attrset containing zero or more additional attrs which should be + # included in the platform in order to further elaborate it. select = platform: # x86 /**/ if platform.isx86 then pc diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix index 2646e792682ba..c88adbf4651aa 100644 --- a/lib/tests/systems.nix +++ b/lib/tests/systems.nix @@ -17,7 +17,7 @@ with lib.systems.doubles; lib.runTests { testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv6l-netbsd" "armv6l-none" "armv7a-linux" "armv7a-netbsd" "armv7l-linux" "armv7l-netbsd" "arm-none" "armv7a-darwin" ]; testi686 = mseteq i686 [ "i686-linux" "i686-freebsd" "i686-genode" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ]; - testmips = mseteq mips [ "mipsel-linux" "mipsel-netbsd" ]; + testmips = mseteq mips [ "mips64el-linux" "mipsel-linux" "mipsel-netbsd" ]; testmmix = mseteq mmix [ "mmix-mmixware" ]; testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-genode" "x86_64-redox" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" "x86_64-none" ]; @@ -28,7 +28,7 @@ with lib.systems.doubles; lib.runTests { testredox = mseteq redox [ "x86_64-redox" ]; testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */); testillumos = mseteq illumos [ "x86_64-solaris" ]; - testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64-linux" "powerpc64le-linux" "m68k-linux" "s390-linux" "s390x-linux" ]; + testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mips64el-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64-linux" "powerpc64le-linux" "m68k-linux" "s390-linux" "s390x-linux" ]; testnetbsd = mseteq netbsd [ "aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd" "i686-netbsd" "m68k-netbsd" "mipsel-netbsd" "powerpc-netbsd" "riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd" ]; testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ]; testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ]; diff --git a/nixos/modules/tasks/auto-upgrade.nix b/nixos/modules/tasks/auto-upgrade.nix index b931b27ad8170..1404dcbaf7c0f 100644 --- a/nixos/modules/tasks/auto-upgrade.nix +++ b/nixos/modules/tasks/auto-upgrade.nix @@ -80,6 +80,7 @@ in { Reboot the system into the new generation instead of a switch if the new generation uses a different kernel, kernel modules or initrd than the booted system. + See <option>rebootWindow</option> for configuring the times at which a reboot is allowed. ''; }; @@ -96,6 +97,32 @@ in { ''; }; + rebootWindow = mkOption { + description = '' + Define a lower and upper time value (in HH:MM format) which + constitute a time window during which reboots are allowed after an upgrade. + This option only has an effect when <option>allowReboot</option> is enabled. + The default value of <literal>null</literal> means that reboots are allowed at any time. + ''; + default = null; + example = { lower = "01:00"; upper = "05:00"; }; + type = with types; nullOr (submodule { + options = { + lower = mkOption { + description = "Lower limit of the reboot window"; + type = types.strMatching "[[:digit:]]{2}:[[:digit:]]{2}"; + example = "01:00"; + }; + + upper = mkOption { + description = "Upper limit of the reboot window"; + type = types.strMatching "[[:digit:]]{2}:[[:digit:]]{2}"; + example = "05:00"; + }; + }; + }); + }; + }; }; @@ -110,12 +137,10 @@ in { }]; system.autoUpgrade.flags = (if cfg.flake == null then - [ "--no-build-output" ] ++ (if cfg.channel == null then - [ "--upgrade" ] - else [ + [ "--no-build-output" ] ++ optionals (cfg.channel != null) [ "-I" "nixpkgs=${cfg.channel}/nixexprs.tar.xz" - ]) + ] else [ "--flake ${cfg.flake}" ]); @@ -143,19 +168,52 @@ in { ]; script = let - nixos-rebuild = - "${config.system.build.nixos-rebuild}/bin/nixos-rebuild"; + nixos-rebuild = "${config.system.build.nixos-rebuild}/bin/nixos-rebuild"; + date = "${pkgs.coreutils}/bin/date"; + readlink = "${pkgs.coreutils}/bin/readlink"; + shutdown = "${pkgs.systemd}/bin/shutdown"; + upgradeFlag = optional (cfg.channel == null) "--upgrade"; in if cfg.allowReboot then '' - ${nixos-rebuild} boot ${toString cfg.flags} - booted="$(readlink /run/booted-system/{initrd,kernel,kernel-modules})" - built="$(readlink /nix/var/nix/profiles/system/{initrd,kernel,kernel-modules})" - if [ "$booted" = "$built" ]; then + ${nixos-rebuild} boot ${toString (cfg.flags ++ upgradeFlag)} + booted="$(${readlink} /run/booted-system/{initrd,kernel,kernel-modules})" + built="$(${readlink} /nix/var/nix/profiles/system/{initrd,kernel,kernel-modules})" + + ${optionalString (cfg.rebootWindow != null) '' + current_time="$(${date} +%H:%M)" + + lower="${cfg.rebootWindow.lower}" + upper="${cfg.rebootWindow.upper}" + + if [[ "''${lower}" < "''${upper}" ]]; then + if [[ "''${current_time}" > "''${lower}" ]] && \ + [[ "''${current_time}" < "''${upper}" ]]; then + do_reboot="true" + else + do_reboot="false" + fi + else + # lower > upper, so we are crossing midnight (e.g. lower=23h, upper=6h) + # we want to reboot if cur > 23h or cur < 6h + if [[ "''${current_time}" < "''${upper}" ]] || \ + [[ "''${current_time}" > "''${lower}" ]]; then + do_reboot="true" + else + do_reboot="false" + fi + fi + ''} + + if [ "''${booted}" = "''${built}" ]; then ${nixos-rebuild} switch ${toString cfg.flags} + ${optionalString (cfg.rebootWindow != null) '' + elif [ "''${do_reboot}" != true ]; then + echo "Outside of configured reboot window, skipping." + ''} else - /run/current-system/sw/bin/shutdown -r +1 + ${shutdown} -r +1 fi '' else '' - ${nixos-rebuild} switch ${toString cfg.flags} + ${nixos-rebuild} switch ${toString (cfg.flags ++ upgradeFlag)} ''; startAt = cfg.dates; @@ -167,3 +225,4 @@ in { }; } + diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index d157c1e2ee9f8..a5c8dcfb50f54 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -5,6 +5,7 @@ , vscode-utils , asciidoctor , nodePackages +, python3Packages , jdk , llvmPackages_8 , nixpkgs-fmt @@ -1313,6 +1314,33 @@ let }; }; + kddejong.vscode-cfn-lint = let + inherit (python3Packages) cfn-lint; + in buildVscodeMarketplaceExtension { + mktplcRef = { + name = "vscode-cfn-lint"; + publisher = "kddejong"; + version = "0.21.0"; + sha256 = "sha256-IueXiN+077tiecAsVCzgYksWYTs00mZv6XJVMtRJ/PQ="; + }; + + nativeBuildInputs = [ jq moreutils ]; + + buildInputs = [ cfn-lint ]; + + postInstall = '' + cd "$out/$installPrefix" + jq '.contributes.configuration.properties."cfnLint.path".default = "${cfn-lint}/bin/cfn-lint"' package.json | sponge package.json + ''; + + meta = with lib; { + description = "CloudFormation Linter IDE integration, autocompletion, and documentation"; + homepage = "https://github.com/aws-cloudformation/cfn-lint-visual-studio-code"; + license = lib.licenses.asl20; + maintainers = with maintainers; [ wolfangaukang ]; + }; + }; + kubukoz.nickel-syntax = buildVscodeMarketplaceExtension { mktplcRef = { name = "nickel-syntax"; diff --git a/pkgs/applications/emulators/ryujinx/default.nix b/pkgs/applications/emulators/ryujinx/default.nix index 2ac16662b882b..d2c2cf0368369 100644 --- a/pkgs/applications/emulators/ryujinx/default.nix +++ b/pkgs/applications/emulators/ryujinx/default.nix @@ -17,13 +17,13 @@ buildDotnetModule rec { pname = "ryujinx"; - version = "1.1.64"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml + version = "1.1.76"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml src = fetchFromGitHub { owner = "Ryujinx"; repo = "Ryujinx"; - rev = "54bfaa125d9b6ae1be53ec431d40326fba51d0de"; - sha256 = "0p8wmnm8sjx7wqb5z62mp8c3cwrv241ji3fawj2qgqx3k9jlb31i"; + rev = "e2ffa5a125fcbe8a25c73d8e04c08c08ef378860"; + sha256 = "1rmiyjqwlsbzh9q7d12n72ka9adaby2rfcbn75sf47p5857yi3p9"; }; dotnet-sdk = dotnetCorePackages.sdk_6_0; diff --git a/pkgs/applications/emulators/ryujinx/deps.nix b/pkgs/applications/emulators/ryujinx/deps.nix index 804b17d8946a2..4dc809a74b135 100644 --- a/pkgs/applications/emulators/ryujinx/deps.nix +++ b/pkgs/applications/emulators/ryujinx/deps.nix @@ -22,6 +22,7 @@ (fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "6.15.0"; sha256 = "0dwx7dk8jr10784nriqbi364qbxzfwq0c6xia0ac5rzrp7179r4d"; }) (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "6.15.0"; sha256 = "0jn9a20a2zixnkm3bmpmvmiv7mk0hqdlnpi0qgjkg1nir87czm19"; }) (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "6.15.0"; sha256 = "1nbgydr45f7lp980xyrkzpyaw2mkkishjwp3slgxk7f0mz6q8i1v"; }) + (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.8.0"; sha256 = "1ln2mva7j2mpsj9rdhpk8vhm3pgd8wn563xqdcwd38avnhp74rm9"; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.0"; sha256 = "188cbx99ahvksap9w20943p62fmzxa6fl133w4r7c6bjpsrm29a4"; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.0"; sha256 = "1016ld3kg4dav2yxxh0i32cy0ixv7s0wl9czydbhkbs2d8669kfx"; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0qaylw18flrfl3vxnbp8wsiz29znidmn6dhv7k4v4jj2za16wmji"; }) @@ -32,7 +33,6 @@ (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; }) (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) - (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.8.0"; sha256 = "1ln2mva7j2mpsj9rdhpk8vhm3pgd8wn563xqdcwd38avnhp74rm9"; }) (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.8.0"; sha256 = "0ii9d88py6mjsxzj9v3zx4izh6rb9ma6s9kj85xmc0xrw7jc2g3m"; }) (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.8.0"; sha256 = "1rh8cga1km3jfafkwfjr0dwqrxb4306hf7fipwba9h02w7vlhb9a"; }) (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; }) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 4de0ecc537725..d71faf6a51e77 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -45,9 +45,9 @@ } }, "ungoogled-chromium": { - "version": "99.0.4844.51", - "sha256": "1qxsn8zvvvsnn0k7nn606rhaial8ikrlfh175msqpp50xibjxicp", - "sha256bin64": "04kqfppa88g2q54vp53avyyhqzrxljz49p4wqk76kq7fz2rm94x1", + "version": "99.0.4844.74", + "sha256": "165vzxv3xi4r9ia3qnqsr4p9ai0344w1pnq03c6jdq7x613lcprd", + "sha256bin64": "1xzr7qv4rcardl3apr8w22dn81lzqkklhp26qqlbdcylacqqji04", "deps": { "gn": { "version": "2022-01-10", @@ -56,8 +56,8 @@ "sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv" }, "ungoogled-patches": { - "rev": "99.0.4844.51-1", - "sha256": "0rs10jrng63lk4xgnqpgc8zxaj6lp70csbx6r0ihpv4z3rdn37va" + "rev": "99.0.4844.74-1", + "sha256": "1ki517fi55rz7ib2sq0q6gw1w1m2j4yakkpcgpmgvapg05s3zg7m" } } } diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index 8df80ab526a62..50cc571829032 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -11,7 +11,6 @@ , gdk-pixbuf , glib , glibc -, gtk2 , gtk3 , libkrb5 , libX11 @@ -110,7 +109,6 @@ stdenv.mkDerivation { gdk-pixbuf glib glibc - gtk2 gtk3 libkrb5 mesa diff --git a/pkgs/applications/networking/protonvpn-gui/default.nix b/pkgs/applications/networking/protonvpn-gui/default.nix index b6583efe730e6..ecfde0a39c200 100644 --- a/pkgs/applications/networking/protonvpn-gui/default.nix +++ b/pkgs/applications/networking/protonvpn-gui/default.nix @@ -1,8 +1,21 @@ -{ lib, fetchFromGitHub, gobject-introspection, imagemagick, -wrapGAppsHook, python3Packages, gtk3, networkmanager, webkitgtk }: +{ lib +, buildPythonApplication +, fetchFromGitHub +, wrapGAppsHook +, gobject-introspection +, imagemagick +, networkmanager +, pango +, webkitgtk +# Python libs +, protonvpn-nm-lib +, psutil +# Optionals +, withIndicator ? true +, libappindicator-gtk3 }: -python3Packages.buildPythonApplication rec { - pname = "protonvpn-linux-gui"; +buildPythonApplication rec { + pname = "protonvpn-gui"; version = "1.7.0"; src = fetchFromGitHub { @@ -12,22 +25,26 @@ python3Packages.buildPythonApplication rec { sha256 = "sha256-uzooFQBq2mhqTBr/cgea5cVQ889P70sgSk2vjXBQEfw="; }; - strictDeps = false; - nativeBuildInputs = [ - gobject-introspection imagemagick wrapGAppsHook + gobject-introspection + imagemagick + wrapGAppsHook ]; - propagatedBuildInputs = with python3Packages; [ + propagatedBuildInputs = [ protonvpn-nm-lib psutil ]; buildInputs = [ - gtk3 networkmanager webkitgtk - ]; + # To avoid enabling strictDeps = false (#56943) + gobject-introspection + networkmanager + pango + webkitgtk + ] ++ lib.optionals withIndicator [ libappindicator-gtk3 ]; - postFixup = '' + postInstall = '' # Setting icons for size in 16 32 48 64 72 96 128 192 512 1024; do mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps @@ -45,9 +62,9 @@ python3Packages.buildPythonApplication rec { doCheck = false; meta = with lib; { - description = "Linux GUI for ProtonVPN, written in Python"; + description = "Official ProtonVPN Linux app"; homepage = "https://github.com/ProtonVPN/linux-app"; - maintainers = with maintainers; [ offline wolfangaukang ]; + maintainers = with maintainers; [ wolfangaukang ]; license = licenses.gpl3Plus; platforms = platforms.linux; }; diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix index 89da6b6b11e87..ed518d8eb2e89 100644 --- a/pkgs/applications/window-managers/i3/status-rust.nix +++ b/pkgs/applications/window-managers/i3/status-rust.nix @@ -15,16 +15,16 @@ rustPlatform.buildRustPackage rec { pname = "i3status-rust"; - version = "0.21.7"; + version = "0.21.8"; src = fetchFromGitHub { owner = "greshake"; repo = pname; rev = "v${version}"; - sha256 = "sha256-2fh1/7/or++AzvkJfwXD07UiyX8U8CIEe+qXc5S82mM="; + sha256 = "sha256-l0XfitQSmSkivEg8+XcA/+bWdy/wzIpii/Npc4p8kUw="; }; - cargoSha256 = "sha256-ERBxY0PBQOvAVeWCRcB7rApTLjtHxa0KMV4qGlU/j/Q="; + cargoSha256 = "sha256-2rJ9ZZHK1acJu6r6EjuoolLJZMdBsbKgN1DNvGM7deA="; nativeBuildInputs = [ pkg-config makeWrapper ]; diff --git a/pkgs/development/compilers/dotnet/build-dotnet.nix b/pkgs/development/compilers/dotnet/build-dotnet.nix index 55deb594706ff..4c2464f8eeee1 100644 --- a/pkgs/development/compilers/dotnet/build-dotnet.nix +++ b/pkgs/development/compilers/dotnet/build-dotnet.nix @@ -90,7 +90,10 @@ in stdenv.mkDerivation rec { ''; setupHook = writeText "dotnet-setup-hook" '' - export HOME=$(mktemp -d) # Dotnet expects a writable home directory for its configuration files + if [ ! -w "$HOME" ]; then + export HOME=$(mktemp -d) # Dotnet expects a writable home directory for its configuration files + fi + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 # Dont try to expand NuGetFallbackFolder to disk export DOTNET_NOLOGO=1 # Disables the welcome message export DOTNET_CLI_TELEMETRY_OPTOUT=1 diff --git a/pkgs/development/compilers/go/1.16.nix b/pkgs/development/compilers/go/1.16.nix index 872ade45946d0..add1e70bbe3dc 100644 --- a/pkgs/development/compilers/go/1.16.nix +++ b/pkgs/development/compilers/go/1.16.nix @@ -45,7 +45,8 @@ let "riscv64" = "riscv64"; "s390x" = "s390x"; "powerpc64le" = "ppc64le"; - }.${platform.parsed.cpu.name} or (throw "Unsupported system"); + "mips64el" = "mips64le"; + }.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}"); # We need a target compiler which is still runnable at build time, # to handle the cross-building case where build != host == target diff --git a/pkgs/development/compilers/go/1.17.nix b/pkgs/development/compilers/go/1.17.nix index a725935874909..69537dc899e82 100644 --- a/pkgs/development/compilers/go/1.17.nix +++ b/pkgs/development/compilers/go/1.17.nix @@ -45,7 +45,8 @@ let "riscv64" = "riscv64"; "s390x" = "s390x"; "powerpc64le" = "ppc64le"; - }.${platform.parsed.cpu.name} or (throw "Unsupported system"); + "mips64el" = "mips64le"; + }.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}"); # We need a target compiler which is still runnable at build time, # to handle the cross-building case where build != host == target diff --git a/pkgs/development/compilers/go/1.18.nix b/pkgs/development/compilers/go/1.18.nix index 23e9f70d4da25..a4cb013d94f24 100644 --- a/pkgs/development/compilers/go/1.18.nix +++ b/pkgs/development/compilers/go/1.18.nix @@ -45,7 +45,8 @@ let "riscv64" = "riscv64"; "s390x" = "s390x"; "powerpc64le" = "ppc64le"; - }.${platform.parsed.cpu.name} or (throw "Unsupported system"); + "mips64el" = "mips64le"; + }.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}"); # We need a target compiler which is still runnable at build time, # to handle the cross-building case where build != host == target diff --git a/pkgs/development/compilers/qbe/default.nix b/pkgs/development/compilers/qbe/default.nix index ee057f26c4215..80182fc9de651 100644 --- a/pkgs/development/compilers/qbe/default.nix +++ b/pkgs/development/compilers/qbe/default.nix @@ -6,12 +6,12 @@ stdenv.mkDerivation rec { pname = "qbe"; - version = "unstable-2022-03-11"; + version = "unstable-2022-03-17"; src = fetchgit { url = "git://c9x.me/qbe.git"; - rev = "c7842d84da65bcaf2d3c82aa69fb3ec930c7369f"; - sha256 = "sha256-fbxeoMJcVltrIGRLdJtxWykGIop8DVzpfrBatXniDPk="; + rev = "c6b41eb8c8cece8266b2173a83216e1ce77eb2be"; + sha256 = "sha256-vpNZNED+C9VMzWyyyntQuBgTvbpZpJ/EwOztdOEP7vI="; }; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix index 663d61494c76d..d05cc3f90ec08 100644 --- a/pkgs/development/libraries/science/math/cudnn/default.nix +++ b/pkgs/development/libraries/science/math/cudnn/default.nix @@ -1,23 +1,29 @@ # The following version combinations are supported: # * cuDNN 7.4.2, cudatoolkit 10.0 -# * cuDNN 7.6.5, cudatoolkit 10.2 -# * cuDNN 8.1.1, cudatoolkit 11.0-11.2 -# * cuDNN 8.3.0, cudatoolkit 11.0-11.5 +# * cuDNN 7.6.5, cudatoolkit 10.0-10.1 +# * cuDNN 8.1.1, cudatoolkit 10.2-11.2 +# * cuDNN 8.3.2, cudatoolkit 10.2-11.5 { callPackage +, cudatoolkit_10 , cudatoolkit_10_0 +, cudatoolkit_10_1 , cudatoolkit_10_2 +, cudatoolkit_11 , cudatoolkit_11_0 , cudatoolkit_11_1 , cudatoolkit_11_2 , cudatoolkit_11_3 , cudatoolkit_11_4 , cudatoolkit_11_5 +, fetchurl +, lib }: let generic = args: callPackage (import ./generic.nix (removeAttrs args [ "cudatoolkit" ])) { inherit (args) cudatoolkit; }; + urlPrefix = "https://developer.download.nvidia.com/compute/redist/cudnn"; in rec { # cuDNN 7.x @@ -25,53 +31,88 @@ rec { cudnn_7_4_cudatoolkit_10_0 = generic rec { version = "7.4.2"; cudatoolkit = cudatoolkit_10_0; - srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.4.2.24.tgz"; - sha256 = "18ys0apiz9afid2s6lvy9qbyi8g66aimb2a7ikl1f3dm09mciprf"; + # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn_742/cudnn-support-matrix/index.html#cudnn-cuda-hardware-versions__table-cudnn-cuda-hardware-versions. + minCudaVersion = "9.2.88"; + maxCudaVersion = "10.0.99999"; + mkSrc = _: fetchurl { + url = "${urlPrefix}/v${version}/cudnn-10.0-linux-x64-v7.4.2.24.tgz"; + hash = "sha256-Lt/IagK1DRfojEeJVaMy5qHoF05+U6NFi06lH68C2qM="; + }; }; + # The only overlap between supported and packaged CUDA versions is 10.0. - # The `cudnn` alias still points to this in all-packages.nix. It should be - # upgraded at some point. - cudnn_7_6_cudatoolkit_10_2 = generic rec { + cudnn_7_6_cudatoolkit_10_0 = generic rec { version = "7.6.5"; - cudatoolkit = cudatoolkit_10_2; - srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.5.32.tgz"; - sha256 = "084c13vzjdkb5s1996yilybg6dgav1lscjr1xdcgvlmfrbr6f0k0"; + cudatoolkit = cudatoolkit_10_0; + # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn_765/cudnn-support-matrix/index.html#cudnn-versions-763-765. + minCudaVersion = "9.2.148"; + maxCudaVersion = "10.1.243"; + mkSrc = cudatoolkit: fetchurl { + url = "${urlPrefix}/v${version}/cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.5.32.tgz"; + hash = { + "10.0" = "sha256-KDVeOV8LK5OsLIO2E2CzW6bNA3fkTni+GXtrYbS0kro="; + "10.1" = "sha256-fq7IA5osMKsLx1jTA1iHZ2k972v0myJIWiwAvy4TbLM="; + }."${cudatoolkit.majorVersion}"; + }; }; - - cudnn_7_6_cudatoolkit_10 = cudnn_7_6_cudatoolkit_10_2; + cudnn_7_6_cudatoolkit_10_1 = cudnn_7_6_cudatoolkit_10_0.override { cudatoolkit = cudatoolkit_10_1; }; # cuDNN 8.x # cuDNN 8.1 is still used by tensorflow at the time of writing (2022-02-17). # See https://github.com/NixOS/nixpkgs/pull/158218 for more info. - cudnn_8_1_cudatoolkit_11_0 = generic rec { + cudnn_8_1_cudatoolkit_10_2 = generic rec { version = "8.1.1"; - cudatoolkit = cudatoolkit_11_0; - # 8.1.0 is compatible with CUDA 11.0-11.2: - # https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-811/support-matrix/index.html - srcName = "cudnn-11.2-linux-x64-v8.1.1.33.tgz"; - hash = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo="; + cudatoolkit = cudatoolkit_10_2; + # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-811/support-matrix/index.html#cudnn-versions-810-811. + minCudaVersion = "10.2.00000"; + maxCudaVersion = "11.2.99999"; + mkSrc = cudatoolkit: + let v = if lib.versions.majorMinor cudatoolkit.version == "10.2" then "10.2" else "11.2"; in + fetchurl { + url = "${urlPrefix}/v${version}/cudnn-${v}-linux-x64-v8.1.1.33.tgz"; + hash = { + "10.2" = "sha256-Kkp7mabpv6aQ6xm7QeSVU/KnpJGls6v8rpAOFmxbbr0="; + "11.2" = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo="; + }."${v}"; + }; }; - cudnn_8_1_cudatoolkit_11_1 = cudnn_8_1_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_1; }; - cudnn_8_1_cudatoolkit_11_2 = cudnn_8_1_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_2; }; - cudnn_8_1_cudatoolkit_11 = cudnn_8_1_cudatoolkit_11_2; + cudnn_8_1_cudatoolkit_11_0 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_0; }; + cudnn_8_1_cudatoolkit_11_1 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_1; }; + cudnn_8_1_cudatoolkit_11_2 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_2; }; + + cudnn_8_1_cudatoolkit_10 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_10; }; + cudnn_8_1_cudatoolkit_11 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11; }; # cuDNN 8.3 is necessary for the latest jaxlib, esp. jaxlib-bin. See # https://github.com/google/jax/discussions/9455 for more info. - cudnn_8_3_cudatoolkit_11_0 = generic rec { - # 8.3.0 is the last version to respect the folder structure that generic.nix - # expects. Later versions have files in a subdirectory `local_installers`. - # See eg https://developer.download.nvidia.com/compute/redist/cudnn/v8.3.1/. - version = "8.3.0"; - cudatoolkit = cudatoolkit_11_0; - # 8.3.0 is compatible with CUDA 11.0-11.5: - # https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-830/support-matrix/index.html - srcName = "cudnn-11.5-linux-x64-v8.3.0.98.tgz"; - hash = "sha256-RMb1rVyxL7dPoMmh58qvTwTXVa3xGi5bbJ5BfaN2srI="; - }; - cudnn_8_3_cudatoolkit_11_1 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_1; }; - cudnn_8_3_cudatoolkit_11_2 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_2; }; - cudnn_8_3_cudatoolkit_11_3 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_3; }; - cudnn_8_3_cudatoolkit_11_4 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_4; }; - cudnn_8_3_cudatoolkit_11_5 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_5; }; - cudnn_8_3_cudatoolkit_11 = cudnn_8_3_cudatoolkit_11_5; + cudnn_8_3_cudatoolkit_10_2 = + generic + rec { + version = "8.3.2"; + cudatoolkit = cudatoolkit_10_2; + # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-832/support-matrix/index.html#cudnn-cuda-hardware-versions. + minCudaVersion = "10.2.00000"; + maxCudaVersion = "11.5.99999"; + mkSrc = cudatoolkit: + let v = if lib.versions.majorMinor cudatoolkit.version == "10.2" then "10.2" else "11.5"; in + fetchurl { + # Starting at version 8.3.1 there's a new directory layout including + # a subdirectory `local_installers`. + url = "https://developer.download.nvidia.com/compute/redist/cudnn/v${version}/local_installers/${v}/cudnn-linux-x86_64-8.3.2.44_cuda${v}-archive.tar.xz"; + hash = { + "10.2" = "sha256-1vVu+cqM+PketzIQumw9ykm6REbBZhv6/lXB7EC2aaw="; + "11.5" = "sha256-VQCVPAjF5dHd3P2iNPnvvdzb5DpTsm3AqCxyP6FwxFc="; + }."${v}"; + }; + } + ; + cudnn_8_3_cudatoolkit_11_0 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_0; }; + cudnn_8_3_cudatoolkit_11_1 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_1; }; + cudnn_8_3_cudatoolkit_11_2 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_2; }; + cudnn_8_3_cudatoolkit_11_3 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_3; }; + cudnn_8_3_cudatoolkit_11_4 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_4; }; + cudnn_8_3_cudatoolkit_11_5 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_5; }; + + cudnn_8_3_cudatoolkit_10 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_10; }; + cudnn_8_3_cudatoolkit_11 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11; }; } diff --git a/pkgs/development/libraries/science/math/cudnn/generic.nix b/pkgs/development/libraries/science/math/cudnn/generic.nix index 13fc0b6799702..a5272e56ab6d5 100644 --- a/pkgs/development/libraries/science/math/cudnn/generic.nix +++ b/pkgs/development/libraries/science/math/cudnn/generic.nix @@ -1,11 +1,9 @@ -{ version -, srcName -, hash ? null -, sha256 ? null +{ minCudaVersion +, maxCudaVersion +, mkSrc +, version }: -assert (hash != null) || (sha256 != null); - { stdenv , lib , cudatoolkit @@ -25,19 +23,18 @@ stdenv.mkDerivation { name = "cudatoolkit-${cudatoolkit.majorVersion}-cudnn-${version}"; inherit version; - - src = let - hash_ = if hash != null then { inherit hash; } else { inherit sha256; }; - in fetchurl ({ - # URL from NVIDIA docker containers: https://gitlab.com/nvidia/cuda/blob/centos7/7.0/runtime/cudnn4/Dockerfile - url = "https://developer.download.nvidia.com/compute/redist/cudnn/v${version}/${srcName}"; - } // hash_); + # It's often the case that the src depends on the version of cudatoolkit it's + # being linked against, so we pass in `cudatoolkit` as an argument to `mkSrc`. + src = mkSrc cudatoolkit; nativeBuildInputs = [ addOpenGLRunpath ]; # Some cuDNN libraries depend on things in cudatoolkit, eg. # libcudnn_ops_infer.so.8 tries to load libcublas.so.11. So we need to patch # cudatoolkit into RPATH. See also https://github.com/NixOS/nixpkgs/blob/88a2ad974692a5c3638fcdc2c772e5770f3f7b21/pkgs/development/python-modules/jaxlib/bin.nix#L78-L98. + # + # Note also that version <=8.3.0 contained a subdirectory "lib64/" but in + # version 8.3.2 it seems to have been renamed to simply "lib/". installPhase = '' runHook preInstall @@ -46,14 +43,16 @@ stdenv.mkDerivation { patchelf --set-rpath "''${p:+$p:}${lib.makeLibraryPath [ stdenv.cc.cc cudatoolkit.lib ]}:${cudatoolkit}/lib:\$ORIGIN/" $1 } - for lib in lib64/lib*.so; do - fixRunPath $lib + for sofile in {lib,lib64}/lib*.so; do + fixRunPath $sofile done mkdir -p $out cp -a include $out/include - cp -a lib64 $out/lib64 + [ -d "lib/" ] && cp -a lib $out/lib + [ -d "lib64/" ] && cp -a lib64 $out/lib64 '' + lib.optionalString removeStatic '' + rm -f $out/lib/*.a rm -f $out/lib64/*.a '' + '' runHook postInstall @@ -77,10 +76,21 @@ stdenv.mkDerivation { }; meta = with lib; { + # Check that the cudatoolkit version satisfies our min/max constraints (both + # inclusive). We mark the package as broken if it fails to satisfies the + # official version constraints (as recorded in default.nix). In some cases + # you _may_ be able to smudge version constraints, just know that you're + # embarking into unknown and unsupported territory when doing so. + broken = let cudaVer = lib.getVersion cudatoolkit; in + !( + lib.versionAtLeast cudaVer minCudaVersion + && lib.versionAtLeast maxCudaVersion cudaVer + ); + description = "NVIDIA CUDA Deep Neural Network library (cuDNN)"; homepage = "https://developer.nvidia.com/cudnn"; license = licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ mdaiter ]; + maintainers = with maintainers; [ mdaiter samuela ]; }; } diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix index 484254a099c33..c077913b1eb14 100644 --- a/pkgs/development/tools/parsing/tree-sitter/default.nix +++ b/pkgs/development/tools/parsing/tree-sitter/default.nix @@ -95,7 +95,7 @@ let (lib.strings.replaceStrings [ "-" ] [ "_" ] (lib.strings.removePrefix "tree-sitter-" (lib.strings.removeSuffix "-grammar" name))) - + stdenv.hostPlatform.extensions.sharedLibrary; + + ".so"; path = "${drv}/parser"; } ) diff --git a/pkgs/servers/invidious/default.nix b/pkgs/servers/invidious/default.nix index 7e939f51bc952..adcd694bad946 100644 --- a/pkgs/servers/invidious/default.nix +++ b/pkgs/servers/invidious/default.nix @@ -1,24 +1,27 @@ -{ lib, crystal, fetchFromGitHub, librsvg, pkg-config, libxml2, openssl, sqlite, lsquic, nixosTests }: +{ lib, stdenv, crystal, fetchFromGitHub, librsvg, pkg-config, libxml2, openssl, shards, sqlite, lsquic, videojs, nixosTests }: let - # When updating, always update the following: - # * the git revision - # * the version attribute - # * the source hash (sha256) - # If the shards.lock file changed, also the following: - # * shards.nix (by running `crystal2nix` in invidious’ source tree) - # * If the lsquic.cr dependency changed: lsquic in lsquic.nix (version, sha256) - # * If the lsquic version changed: boringssl' in lsquic.nix (version, sha256) - rev = "21879da80d2dfa97e789a13b90e82e466c4854e3"; + # All versions, revisions, and checksums are stored in ./versions.json. + # The update process is the following: + # * pick the latest commit + # * update .invidious.rev, .invidious.version, and .invidious.sha256 + # * prefetch the videojs dependencies with scripts/fetch-player-dependencies.cr + # and update .videojs.sha256 (they are normally fetched during build + # but nix's sandboxing does not allow that) + # * if shard.lock changed + # * recreate shards.nix by running crystal2nix + # * update lsquic and boringssl if necessarry, lsquic.cr depends on + # the same version of lsquic and lsquic requires the boringssl + # commit mentioned in its README + versions = builtins.fromJSON (builtins.readFile ./versions.json); in crystal.buildCrystalPackage rec { pname = "invidious"; - version = "unstable-2021-11-08"; + inherit (versions.invidious) version; src = fetchFromGitHub { owner = "iv-org"; repo = pname; - inherit rev; - sha256 = "0jvnwjdh2l0hxfvzim00r3zbs528bb93y1nk0bjrbbrcfv5cn5ss"; + inherit (versions.invidious) rev sha256; }; postPatch = @@ -33,13 +36,15 @@ crystal.buildCrystalPackage rec { assetCommitTemplate = ''{{ "#{`git rev-list HEAD --max-count=1 --abbrev-commit -- assets`.strip}" }}''; in '' + for d in ${videojs}/*; do ln -s "$d" assets/videojs; done + # Use the version metadata from the derivation instead of using git at # build-time substituteInPlace src/invidious.cr \ --replace ${lib.escapeShellArg branchTemplate} '"master"' \ - --replace ${lib.escapeShellArg commitTemplate} '"${lib.substring 0 7 rev}"' \ + --replace ${lib.escapeShellArg commitTemplate} '"${lib.substring 0 7 versions.invidious.rev}"' \ --replace ${lib.escapeShellArg versionTemplate} '"${lib.replaceChars ["-"] ["."] (lib.substring 9 10 version)}"' \ - --replace ${lib.escapeShellArg assetCommitTemplate} '"${lib.substring 0 7 rev}"' + --replace ${lib.escapeShellArg assetCommitTemplate} '"${lib.substring 0 7 versions.invidious.rev}"' # Patch the assets and locales paths to be absolute substituteInPlace src/invidious.cr \ @@ -48,19 +53,22 @@ crystal.buildCrystalPackage rec { --replace 'File.read("locales/' 'File.read("${placeholder "out"}/share/invidious/locales/' # Reference sql initialisation/migration scripts by absolute path - substituteInPlace src/invidious/helpers/helpers.cr \ + substituteInPlace src/invidious/database/base.cr \ --replace 'config/sql' '${placeholder "out"}/share/invidious/config/sql' - substituteInPlace src/invidious/users.cr \ + substituteInPlace src/invidious/user/captcha.cr \ --replace 'Process.run(%(rsvg-convert' 'Process.run(%(${lib.getBin librsvg}/bin/rsvg-convert' ''; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config shards ]; buildInputs = [ libxml2 openssl sqlite ]; format = "crystal"; shardsFile = ./shards.nix; - crystalBinaries.invidious.src = "src/invidious.cr"; + crystalBinaries.invidious = { + src = "src/invidious.cr"; + options = [ "--release" "--progress" "--verbose" "--no-debug" "-Dskip_videojs_download" ]; + }; postConfigure = '' # lib includes nix store paths which can’t be patched, so the links have to @@ -88,12 +96,17 @@ crystal.buildCrystalPackage rec { INVIDIOUS_CONFIG="database_url: sqlite3:///dev/null" $out/bin/invidious --help ''; - passthru.tests = { inherit (nixosTests) invidious; }; + passthru = { + inherit lsquic; + tests = { inherit (nixosTests) invidious; }; + updateScript = ./update.sh; + }; meta = with lib; { description = "An open source alternative front-end to YouTube"; homepage = "https://invidious.io/"; license = licenses.agpl3; maintainers = with maintainers; [ infinisil sbruder ]; + broken = stdenv.isDarwin && stdenv.isAarch64; }; } diff --git a/pkgs/servers/invidious/lsquic.nix b/pkgs/servers/invidious/lsquic.nix index acc9b97ae5df7..292d37ce6cd58 100644 --- a/pkgs/servers/invidious/lsquic.nix +++ b/pkgs/servers/invidious/lsquic.nix @@ -1,24 +1,30 @@ { lib, boringssl, stdenv, fetchgit, fetchFromGitHub, cmake, zlib, perl, libevent }: let + versions = builtins.fromJSON (builtins.readFile ./versions.json); + # lsquic requires a specific boringssl version (noted in its README) - boringssl' = boringssl.overrideAttrs (old: rec { - version = "251b5169fd44345f455438312ec4e18ae07fd58c"; + boringssl' = boringssl.overrideAttrs (old: { + version = versions.boringssl.rev; src = fetchgit { url = "https://boringssl.googlesource.com/boringssl"; - rev = version; - sha256 = "sha256-EU6T9yQCdOLx98Io8o01rEsgxDFF/Xoy42LgPopD2/A="; + inherit (versions.boringssl) rev sha256; }; + + patches = [ + # Use /etc/ssl/certs/ca-certificates.crt instead of /etc/ssl/cert.pem + ./use-etc-ssl-certs.patch + ]; }); in stdenv.mkDerivation rec { pname = "lsquic"; - version = "2.18.1"; + version = versions.lsquic.version; src = fetchFromGitHub { owner = "litespeedtech"; repo = pname; rev = "v${version}"; - sha256 = "sha256-hG8cUvhbCNeMOsKkaJlgGpzUrIx47E/WhmPIdI5F3qM="; + inherit (versions.lsquic) sha256; fetchSubmodules = true; }; @@ -49,6 +55,8 @@ stdenv.mkDerivation rec { runHook postInstall ''; + passthru.boringssl = boringssl'; + meta = with lib; { description = "A library for QUIC and HTTP/3 (version for Invidious)"; homepage = "https://github.com/litespeedtech/lsquic"; diff --git a/pkgs/servers/invidious/shards.nix b/pkgs/servers/invidious/shards.nix index 778b34496a628..582a4083e7db3 100644 --- a/pkgs/servers/invidious/shards.nix +++ b/pkgs/servers/invidious/shards.nix @@ -59,10 +59,22 @@ rev = "v0.4.1"; sha256 = "1l08cydkdidq9yyil1wl240hvk41iycv04jrg6nx5mkvzw4z1bzg"; }; + spectator = { + owner = "icy-arctic-fox"; + repo = "spectator"; + rev = "v0.10.4"; + sha256 = "0rcxq2nbslvwrd8m9ajw6dzaw3hagxmkdy9s8p34cgnr4c9dijdq"; + }; sqlite3 = { owner = "crystal-lang"; repo = "crystal-sqlite3"; rev = "v0.18.0"; sha256 = "03nnvpchhq9f9ywsm3pk2rrj4a3figw7xs96zdziwgr5znkz6x93"; }; + ameba = { + owner = "crystal-ameba"; + repo = "ameba"; + rev = "v0.14.3"; + sha256 = "1cfr95xi6hsyxw1wlrh571hc775xhwmssk3k14i8b7dgbwfmm5x1"; + }; } diff --git a/pkgs/servers/invidious/update.sh b/pkgs/servers/invidious/update.sh new file mode 100755 index 0000000000000..580d6136388a9 --- /dev/null +++ b/pkgs/servers/invidious/update.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl crystal crystal2nix jq git moreutils nix nix-prefetch pkg-config +git_url='https://github.com/iv-org/invidious.git' +git_branch='master' +git_dir='/var/tmp/invidious.git' +pkg='invidious' + +set -euo pipefail + +cd "$(dirname "${BASH_SOURCE[0]}")" + +info() { + if [ -t 2 ]; then + set -- '\033[32m%s\033[39m\n' "$@" + else + set -- '%s\n' "$@" + fi + printf "$@" >&2 +} + +json_get() { + jq -r "$1" < 'versions.json' +} + +json_set() { + jq --arg x "$2" "$1 = \$x" < 'versions.json' | sponge 'versions.json' +} + +old_rev=$(json_get '.invidious.rev') +old_version=$(json_get '.invidious.version') +today=$(LANG=C date -u +'%Y-%m-%d') + +info "fetching $git_url..." +if [ ! -d "$git_dir" ]; then + git init --initial-branch="$git_branch" "$git_dir" + git -C "$git_dir" remote add origin "$git_url" +fi +git -C "$git_dir" fetch origin "$git_branch" + +# use latest commit before today, we should not call the version *today* +# because there might still be commits coming +# use the day of the latest commit we picked as version +new_rev=$(git -C "$git_dir" log -n 1 --format='format:%H' --before="${today}T00:00:00Z" "origin/$git_branch") +new_version="unstable-$(git -C "$git_dir" log -n 1 --format='format:%cs' "$new_rev")" +info "latest commit before $today: $new_rev" + +if [ "$new_rev" = "$old_rev" ]; then + info "$pkg is up-to-date." + exit +fi + +json_set '.invidious.version' "$new_version" +json_set '.invidious.rev' "$new_rev" +new_sha256=$(nix-prefetch -I 'nixpkgs=../../..' "$pkg") +json_set '.invidious.sha256' "$new_sha256" +commit_msg="$pkg: $old_version -> $new_version" + +# fetch video.js dependencies +info "Running scripts/fetch-player-dependencies.cr..." +git -C "$git_dir" reset --hard "$new_rev" +(cd "$git_dir" && crystal run scripts/fetch-player-dependencies.cr -- --minified) +rm -f "$git_dir/assets/videojs/.gitignore" +videojs_new_sha256=$(nix hash-path --type sha256 --base32 "$git_dir/assets/videojs") +json_set '.videojs.sha256' "$videojs_new_sha256" + +if git -C "$git_dir" diff-tree --quiet "${old_rev}..${new_rev}" -- 'shard.lock'; then + info "shard.lock did not change since $old_rev." +else + info "Updating shards.nix..." + crystal2nix -- "$git_dir/shard.lock" # argv's index seems broken + + lsquic_old_version=$(json_get '.lsquic.version') + # lsquic.cr's version tracks lsquic's, so lsquic must be updated to the + # version in the shards file + lsquic_new_version=$(nix eval --raw -f 'shards.nix' lsquic.rev \ + | sed -e 's/^v//' -e 's/-[0-9]*$//') + if [ "$lsquic_old_version" != "$lsquic_new_version" ]; then + info "Updating lsquic to $lsquic_new_version..." + json_set '.lsquic.version' "$lsquic_new_version" + lsquic_new_sha256=$(nix-prefetch -I 'nixpkgs=../../..' "${pkg}.lsquic") + json_set '.lsquic.sha256' "$lsquic_new_sha256" + + info "Updating boringssl..." + # lsquic specifies the boringssl commit it requires in its README + boringssl_new_rev=$(curl -LSsf "https://github.com/litespeedtech/lsquic/raw/v${lsquic_new_version}/README.md" \ + | grep -Pom1 '(?<=^git checkout ).*') + json_set '.boringssl.rev' "$boringssl_new_rev" + boringssl_new_sha256=$(nix-prefetch -I 'nixpkgs=../../..' "${pkg}.lsquic.boringssl") + json_set '.boringssl.sha256' "$boringssl_new_sha256" + commit_msg="$commit_msg + +lsquic: $lsquic_old_version -> $lsquic_new_version" + fi +fi + +git commit --verbose --message "$commit_msg" -- versions.json shards.nix diff --git a/pkgs/servers/invidious/use-etc-ssl-certs.patch b/pkgs/servers/invidious/use-etc-ssl-certs.patch new file mode 100644 index 0000000000000..b60b0b1f1a122 --- /dev/null +++ b/pkgs/servers/invidious/use-etc-ssl-certs.patch @@ -0,0 +1,13 @@ +diff --git a/crypto/x509/x509_def.c b/crypto/x509/x509_def.c +index d2bc3e5c1..329580075 100644 +--- a/crypto/x509/x509_def.c ++++ b/crypto/x509/x509_def.c +@@ -67,7 +67,7 @@ + + #define X509_CERT_AREA OPENSSLDIR + #define X509_CERT_DIR OPENSSLDIR "/certs" +-#define X509_CERT_FILE OPENSSLDIR "/cert.pem" ++#define X509_CERT_FILE "/etc/ssl/certs/ca-certificates.crt" + #define X509_PRIVATE_DIR OPENSSLDIR "/private" + #define X509_CERT_DIR_EVP "SSL_CERT_DIR" + #define X509_CERT_FILE_EVP "SSL_CERT_FILE" diff --git a/pkgs/servers/invidious/versions.json b/pkgs/servers/invidious/versions.json new file mode 100644 index 0000000000000..cec068a09bf1f --- /dev/null +++ b/pkgs/servers/invidious/versions.json @@ -0,0 +1,18 @@ +{ + "boringssl": { + "rev": "251b5169fd44345f455438312ec4e18ae07fd58c", + "sha256": "sha256-EU6T9yQCdOLx98Io8o01rEsgxDFF/Xoy42LgPopD2/A=" + }, + "invidious": { + "rev": "ed265cfdcd131b9df5398d899cc5d7036a5b7846", + "sha256": "0hhnq4s0slwbgxra7gxapl7dcz60a7k71cndi4crqcikmazzac3b", + "version": "unstable-2022-03-16" + }, + "lsquic": { + "sha256": "sha256-hG8cUvhbCNeMOsKkaJlgGpzUrIx47E/WhmPIdI5F3qM=", + "version": "2.18.1" + }, + "videojs": { + "sha256": "0b4vxd29kpvy60yhqm376r1872gds17s6wljqw0zlr16j762k50r" + } +} diff --git a/pkgs/servers/invidious/videojs.nix b/pkgs/servers/invidious/videojs.nix new file mode 100644 index 0000000000000..e4470793e51ef --- /dev/null +++ b/pkgs/servers/invidious/videojs.nix @@ -0,0 +1,18 @@ +{ stdenvNoCC, cacert, crystal, openssl, pkg-config, invidious }: + +let + versions = builtins.fromJSON (builtins.readFile ./versions.json); +in +stdenvNoCC.mkDerivation { + name = "videojs"; + + inherit (invidious) src; + + builder = ./videojs.sh; + + nativeBuildInputs = [ cacert crystal openssl pkg-config ]; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = versions.videojs.sha256; +} diff --git a/pkgs/servers/invidious/videojs.sh b/pkgs/servers/invidious/videojs.sh new file mode 100644 index 0000000000000..31609db14eb3b --- /dev/null +++ b/pkgs/servers/invidious/videojs.sh @@ -0,0 +1,9 @@ +source $stdenv/setup + +unpackPhase +cd source +# this helper downloads the videojs files and checks their checksums +# against videojs-dependencies.yml so it should be pure +crystal run scripts/fetch-player-dependencies.cr -- --minified +rm -f assets/videojs/.gitignore +mv assets/videojs "$out" diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix index 0d328d98ba110..25a593c67437c 100644 --- a/pkgs/stdenv/default.nix +++ b/pkgs/stdenv/default.nix @@ -53,6 +53,7 @@ in armv8m-linux = stagesLinux; aarch64-linux = stagesLinux; mipsel-linux = stagesLinux; + mips64el-linux = stagesLinux; powerpc-linux = /* stagesLinux */ stagesNative; powerpc64-linux = stagesLinux; powerpc64le-linux = stagesLinux; diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix index d8ab96952b7f2..a21f677f117c0 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix @@ -17,6 +17,8 @@ in lib.mapAttrs (n: make) (with lib.systems.examples; { armv6l-musl = muslpi; aarch64-musl = aarch64-multiplatform-musl; riscv64 = riscv64; + mips64el-linux-gnuabin32 = lib.systems.platforms.mips64el-linux-gnuabin32; + mips64el-linux-gnuabi64 = lib.systems.platforms.mips64el-linux-gnuabi64; powerpc64 = ppc64; powerpc64-musl = ppc64-musl; powerpc64le = powernv; diff --git a/pkgs/tools/filesystems/dosfstools/default.nix b/pkgs/tools/filesystems/dosfstools/default.nix index 14d054364fd9d..75a39fdfe92e2 100644 --- a/pkgs/tools/filesystems/dosfstools/default.nix +++ b/pkgs/tools/filesystems/dosfstools/default.nix @@ -1,21 +1,30 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libiconv }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libiconv, gettext, xxd }: stdenv.mkDerivation rec { pname = "dosfstools"; - version = "4.1"; + version = "4.2"; src = fetchFromGitHub { owner = "dosfstools"; repo = "dosfstools"; rev = "v${version}"; - sha256 = "1a2zn1655d5f1m6jp9vpn3bp8yfxhcmxx3mx23ai9hmxiydiykr1"; + sha256 = "sha256-2gxB0lQixiHOHw8uTetHekaM57fvUd9zOzSxWnvUz/c="; }; nativeBuildInputs = [ autoreconfHook pkg-config ] ++ lib.optional stdenv.isDarwin libiconv; + # configure.ac:75: error: required file './config.rpath' not found + # https://github.com/dosfstools/dosfstools/blob/master/autogen.sh + postPatch = '' + cp ${gettext}/share/gettext/config.rpath config.rpath + ''; + configureFlags = [ "--enable-compat-symlinks" ]; + checkInputs = [ xxd ]; + doCheck = true; + meta = { description = "Utilities for creating and checking FAT and VFAT file systems"; homepage = "https://github.com/dosfstools/dosfstools"; diff --git a/pkgs/tools/misc/rockbox-utility/default.nix b/pkgs/tools/misc/rockbox-utility/default.nix index a75b90d6f542b..bf191beca3fe6 100644 --- a/pkgs/tools/misc/rockbox-utility/default.nix +++ b/pkgs/tools/misc/rockbox-utility/default.nix @@ -1,9 +1,13 @@ -{ lib, stdenv, fetchurl, pkg-config, cryptopp -, libusb1, qtbase, qttools, makeWrapper -, qmake, withEspeak ? false, espeak ? null -, qt5 }: - -let inherit (lib) getDev; in +{ lib +, stdenv +, fetchurl +, cryptopp +, libusb1 +, makeWrapper +, pkg-config +, qt5 +, withEspeak ? false, espeak ? null +}: stdenv.mkDerivation rec { pname = "rockbox-utility"; @@ -11,16 +15,27 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://download.rockbox.org/rbutil/source/RockboxUtility-v${version}-src.tar.bz2"; - sha256 = "0zm9f01a810y7aq0nravbsl0vs9vargwvxnfl4iz9qsqygwlj69y"; + hash = "sha256-PhlJ+fNY4/Qjoc72zV9WO+kNqF5bZQuwOh4EpAJwqX4="; }; - buildInputs = [ cryptopp libusb1 qtbase qttools ] - ++ lib.optional withEspeak espeak; - nativeBuildInputs = [ makeWrapper pkg-config qmake qt5.wrapQtAppsHook ]; + nativeBuildInputs = [ + makeWrapper + pkg-config + qt5.qmake + qt5.wrapQtAppsHook + ]; + + buildInputs = [ + cryptopp + libusb1 + qt5.qtbase + qt5.qttools + ] + ++ lib.optional withEspeak espeak; postPatch = '' sed -i rbutil/rbutilqt/rbutilqt.pro \ - -e '/^lrelease.commands =/ s|$$\[QT_INSTALL_BINS\]/lrelease -silent|${getDev qttools}/bin/lrelease|' + -e '/^lrelease.commands =/ s|$$\[QT_INSTALL_BINS\]/lrelease -silent|${lib.getDev qt5.qttools}/bin/lrelease|' ''; preConfigure = '' @@ -48,10 +63,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = false; meta = with lib; { - description = "Open source firmware for mp3 players"; homepage = "https://www.rockbox.org"; - license = licenses.gpl2; + description = "Open source firmware for digital music players"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres goibhniu ]; platforms = platforms.linux; - maintainers = with maintainers; [ goibhniu ]; }; } diff --git a/pkgs/tools/networking/innernet/default.nix b/pkgs/tools/networking/innernet/default.nix index 67f9a9d793bf8..68ccdfc3870d7 100644 --- a/pkgs/tools/networking/innernet/default.nix +++ b/pkgs/tools/networking/innernet/default.nix @@ -13,15 +13,15 @@ rustPlatform.buildRustPackage rec { pname = "innernet"; - version = "1.5.3"; + version = "1.5.4"; src = fetchFromGitHub { owner = "tonarino"; repo = "innernet"; rev = "v${version}"; - sha256 = "sha256-dpoSjGtjGJTF/sQ8vbeAUCjnkYqz4zGnfO8br8gJbsQ="; + sha256 = "sha256-CcZ4241EU+ktPbFsuR/sF4yP6xAOFg+oW8thtAQZr/4="; }; - cargoSha256 = "sha256-EmAlm3W9r6pP1VIxeM2UP1ZG9TjopTarckMfLDonr1k="; + cargoSha256 = "sha256-7APUSDxw6X4KJnFvm6xhiHL1D4NTNS2pC/4UVGyjJYY="; nativeBuildInputs = with llvmPackages; [ llvm diff --git a/pkgs/tools/networking/magic-wormhole-rs/Cargo.toml.patch b/pkgs/tools/networking/magic-wormhole-rs/Cargo.toml.patch new file mode 100644 index 0000000000000..debb1e2643901 --- /dev/null +++ b/pkgs/tools/networking/magic-wormhole-rs/Cargo.toml.patch @@ -0,0 +1,67 @@ +diff --git a/Cargo.lock b/Cargo.lock +index d33b5d6..ddde8ed 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -150,33 +150,6 @@ dependencies = [ + "winapi 0.3.9", + ] + +-[[package]] +-name = "async-std" +-version = "1.10.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f8056f1455169ab86dd47b47391e4ab0cbd25410a70e9fe675544f49bafaf952" +-dependencies = [ +- "async-channel", +- "async-global-executor", +- "async-io", +- "async-lock", +- "crossbeam-utils", +- "futures-channel", +- "futures-core", +- "futures-io", +- "futures-lite", +- "gloo-timers", +- "kv-log-macro", +- "log", +- "memchr", +- "num_cpus", +- "once_cell", +- "pin-project-lite", +- "pin-utils", +- "slab", +- "wasm-bindgen-futures", +-] +- + [[package]] + name = "async-std" + version = "1.10.0" +@@ -230,7 +203,7 @@ version = "0.16.1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "5682ea0913e5c20780fe5785abacb85a411e7437bf52a1bedb93ddb3972cb8dd" + dependencies = [ +- "async-std 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ++ "async-std", + "async-tls", + "futures-io", + "futures-util", +@@ -1154,7 +1127,7 @@ name = "magic-wormhole" + version = "0.3.0" + dependencies = [ + "async-io", +- "async-std 1.10.0 (git+https://github.com/async-rs/async-std)", ++ "async-std", + "async-tungstenite", + "base64", + "bytecodec", +diff --git a/Cargo.toml b/Cargo.toml +index b4ff2c0..d4094af 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -82,3 +82,6 @@ required-features = ["bin"] + + [profile.release] + overflow-checks = true ++ ++[patch.crates-io] ++async-std = { version = "1.9.0", features = ["attributes", "unstable"], git = "https://github.com/async-rs/async-std" } diff --git a/pkgs/tools/networking/magic-wormhole-rs/default.nix b/pkgs/tools/networking/magic-wormhole-rs/default.nix new file mode 100644 index 0000000000000..951a066437640 --- /dev/null +++ b/pkgs/tools/networking/magic-wormhole-rs/default.nix @@ -0,0 +1,32 @@ +{ lib +, stdenv +, fetchFromGitHub +, rustPlatform +}: +rustPlatform.buildRustPackage rec { + name = "magic-wormhole-rs"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "magic-wormhole"; + repo = "magic-wormhole.rs"; + rev = version; + sha256 = "sha256-i4vJ6HmtM42m1x1UtOq9xlmhYIa5ZKXUm1rGFNRprmY="; + }; + + # this patch serves as a workaround for the problems of cargo-vendor described in + # https://github.com/NixOS/nixpkgs/issues/30742 + # and can probably be removed once the issue is resolved + cargoPatches = [ ./Cargo.toml.patch ]; + cargoSha256 = "sha256-DG1kyukgzDbolX9Mg9hK1TRyzIWbAX6f54jSM8clj/c="; + + # all tests involve networking and are bound fail + doCheck = false; + + meta = with lib; { + description = "Rust implementation of Magic Wormhole, with new features and enhancements"; + homepage = "https://github.com/magic-wormhole/magic-wormhole.rs"; + license = licenses.eupl12; + maintainers = with maintainers; [ zeri piegames ]; + }; +} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 923dfe7b47d42..c30baaac945a4 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -51,36 +51,36 @@ mapAliases ({ accounts-qt = throw "'accounts-qt' has been renamed to/replaced by 'libsForQt5.accounts-qt'"; # Converted to throw 2022-02-22 adobeReader = throw "'adobeReader' has been renamed to/replaced by 'adobe-reader'"; # Converted to throw 2022-02-22 adobe_flex_sdk = throw "'adobe_flex_sdk' has been renamed to/replaced by 'apache-flex-sdk'"; # Converted to throw 2022-02-22 - aesop = throw "aesop has been removed from nixpkgs, as it was unmaintained."; # Added 2021-08-05 + aesop = throw "aesop has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05 ag = throw "'ag' has been renamed to/replaced by 'silver-searcher'"; # Converted to throw 2022-02-22 aircrackng = throw "'aircrackng' has been renamed to/replaced by 'aircrack-ng'"; # Converted to throw 2022-02-22 - airtame = throw "airtame has been removed due to being unmaintained."; # Added 2022-01-19 - aleth = throw "aleth (previously packaged as cpp_ethereum) has been removed; abandoned upstream."; # Added 2020-11-30 - alienfx = throw "alienfx has been removed."; # Added 2019-12-08 + airtame = throw "airtame has been removed due to being unmaintained"; # Added 2022-01-19 + aleth = throw "aleth (previously packaged as cpp_ethereum) has been removed; abandoned upstream"; # Added 2020-11-30 + alienfx = throw "alienfx has been removed"; # Added 2019-12-08 alsaLib = alsa-lib; # Added 2021-06-09 alsaOss = alsa-oss; # Added 2021-06-10 alsaPluginWrapper = alsa-plugins-wrapper; # Added 2021-06-10 alsaPlugins = alsa-plugins; # Added 2021-06-10 alsaTools = alsa-tools; # Added 2021-06-10 alsaUtils = alsa-utils; # Added 2021-06-10 - amazon-glacier-cmd-interface = throw "amazon-glacier-cmd-interface has been removed due to it being unmaintained."; # Added 2020-10-30 - aminal = throw "aminal was renamed to darktile."; # Added 2021-09-28 + amazon-glacier-cmd-interface = throw "amazon-glacier-cmd-interface has been removed due to it being unmaintained"; # Added 2020-10-30 + aminal = throw "aminal was renamed to darktile"; # Added 2021-09-28 ammonite-repl = throw "'ammonite-repl' has been renamed to/replaced by 'ammonite'"; # Converted to throw 2022-02-22 - amuleDaemon = throw "amuleDaemon was renamed to amule-daemon."; # Added 2022-02-11 - amuleGui = throw "amuleGui was renamed to amule-gui."; # Added 2022-02-11 - amsn = throw "amsn has been removed due to being unmaintained."; # Added 2020-12-09 + amuleDaemon = throw "amuleDaemon was renamed to amule-daemon"; # Added 2022-02-11 + amuleGui = throw "amuleGui was renamed to amule-gui"; # Added 2022-02-11 + amsn = throw "amsn has been removed due to being unmaintained"; # Added 2020-12-09 angelfish = libsForQt5.plasmaMobileGear.angelfish; # Added 2021-10-06 - antimicro = throw "antimicro has been removed as it was broken, see antimicrox instead."; # Added 2020-08-06 + antimicro = throw "antimicro has been removed as it was broken, see antimicrox instead"; # Added 2020-08-06 antimicroX = antimicrox; # Added 2021-10-31 ardour_5 = throw "ardour_5 has been removed. see https://github.com/NixOS/nixpkgs/issues/139549"; # Added 2021-09-28 arduino_core = throw "'arduino_core' has been renamed to/replaced by 'arduino-core'"; # Converted to throw 2022-02-22 - arora = throw "arora has been removed."; # Added 2020-09-09 + arora = throw "arora has been removed"; # Added 2020-09-09 asciidocFull = throw "'asciidocFull' has been renamed to/replaced by 'asciidoc-full'"; # Converted to throw 2022-02-22 asn1c = throw "asn1c has been removed: deleted by upstream"; # Added 2022-01-07 - asterisk_15 = throw "asterisk_15: Asterisk 15 is end of life and has been removed."; # Added 2020-10-07 + asterisk_15 = throw "asterisk_15: Asterisk 15 is end of life and has been removed"; # Added 2020-10-07 at_spi2_atk = throw "'at_spi2_atk' has been renamed to/replaced by 'at-spi2-atk'"; # Converted to throw 2022-02-22 at_spi2_core = throw "'at_spi2_core' has been renamed to/replaced by 'at-spi2-core'"; # Converted to throw 2022-02-22 - aucdtect = throw "aucdtect: Upstream no longer provides download urls."; # Added 2020-12-26 + aucdtect = throw "aucdtect: Upstream no longer provides download urls"; # Added 2020-12-26 avldrums-lv2 = x42-avldrums; # Added 2020-03-29 avxsynth = throw "avxsynth was removed because it was broken"; # Added 2021-05-18 azureus = throw "azureus is now known as vuze and the version in nixpkgs was really outdated"; # Added 2021-08-02 @@ -94,14 +94,14 @@ mapAliases ({ bash_5 = bash; # Added 2021-08-20 bashburn = throw "bashburn has been removed: deleted by upstream"; # Added 2022-01-07 batti = throw "batti has been removed from nixpkgs, as it was unmaintained"; # Added 2019-12-10 - bazaar = throw "bazaar has been deprecated by breezy."; # Added 2020-04-19 - bazaarTools = throw "bazaar has been deprecated by breezy."; # Added 2020-04-19 + bazaar = throw "bazaar has been deprecated by breezy"; # Added 2020-04-19 + bazaarTools = throw "bazaar has been deprecated by breezy"; # Added 2020-04-19 bcat = throw "bcat has been removed because upstream is dead"; # Added 2021-08-22 - beegfs = throw "beegfs has been removed."; # Added 2019-11-24 + beegfs = throw "beegfs has been removed"; # Added 2019-11-24 beret = throw "beret has been removed"; # Added 2021-11-16 bin_replace_string = throw "bin_replace_string has been removed: deleted by upstream"; # Added 2022-01-07 bitsnbots = throw "bitsnbots has been removed because it was broken and upstream missing"; # Added 2021-08-22 - blastem = throw "blastem has been removed from nixpkgs as it would still require python2."; # Added 2022-01-01 + blastem = throw "blastem has been removed from nixpkgs as it would still require python2"; # Added 2022-01-01 bluezFull = bluez; # Added 2019-12-03 bomi = throw "bomi has been removed from nixpkgs since it was broken and abandoned upstream"; # Added 2020-12-10 bootchart = throw "bootchart has been removed from nixpkgs, as it is without a maintainer"; # Added 2019-12-10 @@ -121,8 +121,8 @@ mapAliases ({ bitwarden_rs-vault = vaultwarden-vault; - blink = throw "blink has been removed from nixpkgs, it was unmaintained and required python2 at the time of removal."; # Added 2022-01-12 - bs1770gain = throw "bs1770gain has been removed from nixpkgs, as it had no maintainer or reverse dependencies."; # Added 2021-01-02 + blink = throw "blink has been removed from nixpkgs, it was unmaintained and required python2 at the time of removal"; # Added 2022-01-12 + bs1770gain = throw "bs1770gain has been removed from nixpkgs, as it had no maintainer or reverse dependencies"; # Added 2021-01-02 bsod = throw "bsod has been removed: deleted by upstream"; # Added 2022-01-07 btc1 = throw "btc1 has been removed, it was abandoned by upstream"; # Added 2020-11-03 buildPerlPackage = throw "'buildPerlPackage' has been renamed to/replaced by 'perlPackages.buildPerlPackage'"; # Converted to throw 2022-02-22 @@ -134,15 +134,15 @@ mapAliases ({ ### C ### caddy1 = throw "caddy 1.x has been removed from nixpkgs, as it's unmaintained: https://github.com/caddyserver/caddy/blob/master/.github/SECURITY.md#supported-versions"; # Added 2020-10-02 - calibre-py2 = throw "calibre-py2 has been removed from nixpkgs, as calibre has upgraded to python 3. Please use calibre as replacement."; # Added 2021-01-13 - calibre-py3 = throw "calibre-py3 has been removed from nixpkgs, as calibre's default python version is now 3. Please use calibre as replacement."; # Added 2021-01-13 + calibre-py2 = throw "calibre-py2 has been removed from nixpkgs, as calibre has upgraded to python 3. Please use calibre as replacement"; # Added 2021-01-13 + calibre-py3 = throw "calibre-py3 has been removed from nixpkgs, as calibre's default python version is now 3. Please use calibre as replacement"; # Added 2021-01-13 cantarell_fonts = throw "'cantarell_fonts' has been renamed to/replaced by 'cantarell-fonts'"; # Converted to throw 2022-02-22 - cargo-tree = throw "cargo-tree has been removed, use the builtin `cargo tree` command instead."; # Added 2020-08-20 - casperjs = throw "casperjs has been removed, it was abandoned by upstream and broken."; + cargo-tree = throw "cargo-tree has been removed, use the builtin `cargo tree` command instead"; # Added 2020-08-20 + casperjs = throw "casperjs has been removed, it was abandoned by upstream and broken"; catfish = xfce.catfish; # Added 2019-12-22 ccnet = throw "ccnet has been removed because seafile does not depend on it anymore"; # Added 2021-03-25 - cde-gtk-theme = throw "cde-gtk-theme has been removed from nixpkgs as it shipped with python2 scripts that didn't work anymore."; # Added 2022-01-12 - cgmanager = throw "cgmanager was deprecated by lxc and therefore removed from nixpkgs."; # Added 2020-06-05 + cde-gtk-theme = throw "cde-gtk-theme has been removed from nixpkgs as it shipped with python2 scripts that didn't work anymore"; # Added 2022-01-12 + cgmanager = throw "cgmanager was deprecated by lxc and therefore removed from nixpkgs"; # Added 2020-06-05 checkbashism = throw "'checkbashism' has been renamed to/replaced by 'checkbashisms'"; # Converted to throw 2022-02-22 chronos = throw "chronos has been removed from nixpkgs, as it was unmaintained"; # Added 2020-08-15 chunkwm = throw "chunkwm has been removed: abandoned by upstream"; # Added 2022-01-07 @@ -151,7 +151,7 @@ mapAliases ({ cinepaint = throw "cinepaint has been removed from nixpkgs, as it was unmaintained"; # Added 2019-12-10 ckb = throw "'ckb' has been renamed to/replaced by 'ckb-next'"; # Converted to throw 2022-02-22 callPackage_i686 = pkgsi686Linux.callPackage; - creddump = throw "creddump has been removed from nixpkgs as the upstream has abandoned the project."; # Added 2022-01-01 + creddump = throw "creddump has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01 # these are for convenience, not for backward compat and shouldn't expire clang5Stdenv = lowPrio llvmPackages_5.stdenv; @@ -177,13 +177,13 @@ mapAliases ({ concurrencykit = libck; # Added 2021-03 conntrack_tools = throw "'conntrack_tools' has been renamed to/replaced by 'conntrack-tools'"; # Converted to throw 2022-02-22 cool-old-term = throw "'cool-old-term' has been renamed to/replaced by 'cool-retro-term'"; # Converted to throw 2022-02-22 - coprthr = throw "coprthr has been removed."; # Added 2019-12-08 - coredumper = throw "coredumper has been removed: abandoned by upstream."; # Added 2019-11-16 + coprthr = throw "coprthr has been removed"; # Added 2019-12-08 + coredumper = throw "coredumper has been removed: abandoned by upstream"; # Added 2019-11-16 corsmisc = throw "corsmisc has been removed (upstream is gone)"; # Added 2022-01-24 couchdb = throw "couchdb was removed from nixpkgs, use couchdb3 instead"; # Added 2021-03-03 couchdb2 = throw "couchdb2 was removed from nixpkgs, use couchdb3 instead"; # Added 2021-03-03 cpp-gsl = throw "'cpp-gsl' has been renamed to/replaced by 'microsoft_gsl'"; # Converted to throw 2022-02-22 - cpp_ethereum = throw "cpp_ethereum has been removed; abandoned upstream."; # Added 2020-11-30 + cpp_ethereum = throw "cpp_ethereum has been removed; abandoned upstream"; # Added 2020-11-30 cpuminer-multi = throw "cpuminer-multi has been removed: deleted by upstream"; # Added 2022-01-07 crafty = throw "crafty has been removed: deleted by upstream"; # Added 2022-01-07 cryptol = throw "cryptol was removed due to prolonged broken build"; # Added 2020-08-21 @@ -209,11 +209,11 @@ mapAliases ({ cudnn_cudatoolkit_9_2 = throw "cudnn_cudatoolkit_9_2 has been removed in favor of newer versions"; # Added 2021-04-18 cloud-print-connector = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006"; - cquery = throw "cquery has been removed because it is abandoned by upstream. Consider switching to clangd or ccls instead."; # Added 2020-06-15 + cquery = throw "cquery has been removed because it is abandoned by upstream. Consider switching to clangd or ccls instead"; # Added 2020-06-15 cups-googlecloudprint = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006"; cupsBjnp = throw "'cupsBjnp' has been renamed to/replaced by 'cups-bjnp'"; # Converted to throw 2022-02-22 cups_filters = throw "'cups_filters' has been renamed to/replaced by 'cups-filters'"; # Converted to throw 2022-02-22 - curaByDagoma = throw "curaByDagoma has been removed from nixpkgs, because it was unmaintained and dependent on python2 packages."; # Added 2022-01-12 + curaByDagoma = throw "curaByDagoma has been removed from nixpkgs, because it was unmaintained and dependent on python2 packages"; # Added 2022-01-12 curaLulzbot = throw "curaLulzbot has been removed due to insufficient upstream support for a modern dependency chain"; # Added 2021-10-23 cv = throw "'cv' has been renamed to/replaced by 'progress'"; # Converted to throw 2022-02-22 cvs_fast_export = cvs-fast-export; # Added 2021-06-10 @@ -222,8 +222,8 @@ mapAliases ({ d1x_rebirth = throw "'d1x_rebirth' has been renamed to/replaced by 'dxx-rebirth'"; # Converted to throw 2022-02-22 d2x_rebirth = throw "'d2x_rebirth' has been renamed to/replaced by 'dxx-rebirth'"; # Converted to throw 2022-02-22 - dart_dev = throw "Non-stable versions of Dart have been removed."; # Added 2020-01-15 - dart_old = throw "Non-stable versions of Dart have been removed."; # Added 2020-01-15 + dart_dev = throw "Non-stable versions of Dart have been removed"; # Added 2020-01-15 + dart_old = throw "Non-stable versions of Dart have been removed"; # Added 2020-01-15 dart_stable = dart; # Added 2020-01-15 dat = nodePackages.dat; dbus_daemon = throw "'dbus_daemon' has been renamed to/replaced by 'dbus.daemon'"; # Converted to throw 2022-02-22 @@ -256,7 +256,7 @@ mapAliases ({ desktop_file_utils = throw "'desktop_file_utils' has been renamed to/replaced by 'desktop-file-utils'"; # Converted to throw 2022-02-22 devicemapper = throw "'devicemapper' has been renamed to/replaced by 'lvm2'"; # Converted to throw 2022-02-22 digikam5 = throw "'digikam5' has been renamed to/replaced by 'digikam'"; # Converted to throw 2022-02-22 - displaycal = throw "displaycal has been removed from nixpkgs, as it hasn't migrated to python3."; # Added 2022-01-12 + displaycal = throw "displaycal has been removed from nixpkgs, as it hasn't migrated to python3"; # Added 2022-01-12 dmtx = throw "'dmtx' has been renamed to/replaced by 'dmtx-utils'"; # Converted to throw 2022-02-22 dnnl = oneDNN; # Added 2020-04-22 docbook5_xsl = throw "'docbook5_xsl' has been renamed to/replaced by 'docbook_xsl_ns'"; # Converted to throw 2022-02-22 @@ -268,9 +268,9 @@ mapAliases ({ dotnet-netcore = dotnet-runtime; # Added 2021-10-07 double_conversion = throw "'double_conversion' has been renamed to/replaced by 'double-conversion'"; # Converted to throw 2022-02-22 draftsight = throw "draftsight has been removed, no longer available as freeware"; # Added 2020-08-14 - dvb_apps = throw "dvb_apps has been removed."; # Added 2020-11-03 + dvb_apps = throw "dvb_apps has been removed"; # Added 2020-11-03 dwarf_fortress = throw "'dwarf_fortress' has been renamed to/replaced by 'dwarf-fortress'"; # Converted to throw 2022-02-22 - dwm-git = throw "dwm-git has been removed from nixpkgs, as it had no updates for 2 years not serving it's purpose."; # Added 2021-02-07 + dwm-git = throw "dwm-git has been removed from nixpkgs, as it had no updates for 2 years not serving it's purpose"; # Added 2021-02-07 dylibbundler = macdylibbundler; # Added 2021-04-24 ### E ### @@ -290,7 +290,7 @@ mapAliases ({ electron_7 = throw "electron_7 has been removed in favor of newer versions"; # added 2022-02-08 electron_8 = throw "electron_8 has been removed in favor of newer versions"; # added 2022-02-08 - electrum-dash = throw "electrum-dash has been removed from nixpkgs as the project is abandoned."; # Added 2022-01-01 + electrum-dash = throw "electrum-dash has been removed from nixpkgs as the project is abandoned"; # Added 2022-01-01 # Emacs emacs27Packages = emacs27.pkgs; # Added 2020-12-18 @@ -304,42 +304,42 @@ mapAliases ({ enblendenfuse = throw "'enblendenfuse' has been renamed to/replaced by 'enblend-enfuse'"; # Converted to throw 2022-02-22 encryptr = throw "encryptr was removed because it reached end of life"; # Added 2022-02-06 - envelope = throw "envelope has been removed from nixpkgs, as it was unmaintained."; # Added 2021-08-05 + envelope = throw "envelope has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05 epoxy = libepoxy; # Added 2021-11-11 esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # Added 2021-04-12 etcdctl = throw "'etcdctl' has been renamed to/replaced by 'etcd'"; # Converted to throw 2022-02-22 - euca2tools = throw "euca2ools has been removed because it is unmaintained upstream and still uses python2."; # Added 2022-01-01 - evilvte = throw "evilvte has been removed from nixpkgs for being unmaintained with security issues and dependant on an old version of vte which was removed."; # Added 2022-01-14 + euca2tools = throw "euca2ools has been removed because it is unmaintained upstream and still uses python2"; # Added 2022-01-01 + evilvte = throw "evilvte has been removed from nixpkgs for being unmaintained with security issues and dependant on an old version of vte which was removed"; # Added 2022-01-14 evolution_data_server = throw "'evolution_data_server' has been renamed to/replaced by 'evolution-data-server'"; # Converted to throw 2022-02-22 exfat-utils = throw "'exfat-utils' has been renamed to/replaced by 'exfat'"; # Converted to throw 2022-02-22 ### F ### - facette = throw "facette has been removed."; # Added 2020-01-06 + facette = throw "facette has been removed"; # Added 2020-01-06 fast-neural-doodle = throw "fast-neural-doodle has been removed, as the upstream project has been abandoned"; # Added 2020-03-28 fastnlo = fastnlo_toolkit; # Added 2021-04-24 - fedora-coreos-config-transpiler = throw "fedora-coreos-config-transpiler has been renamed to 'butane'."; # Added 2021-04-13 - fetchFromGithub = throw "You meant fetchFromGitHub, with a capital H."; + fedora-coreos-config-transpiler = throw "fedora-coreos-config-transpiler has been renamed to 'butane'"; # Added 2021-04-13 + fetchFromGithub = throw "You meant fetchFromGitHub, with a capital H"; ffadoFull = throw "'ffadoFull' has been renamed to/replaced by 'ffado'"; # Converted to throw 2022-02-22 finger_bsd = bsd-finger; fingerd_bsd = bsd-fingerd; - firefox-esr-68 = throw "Firefox 68 ESR was removed because it reached end of life with its final release 68.12esr on 2020-08-25."; + firefox-esr-68 = throw "Firefox 68 ESR was removed because it reached end of life with its final release 68.12esr on 2020-08-25"; firefox-esr-wrapper = throw "'firefox-esr-wrapper' has been renamed to/replaced by 'firefox-esr'"; # Converted to throw 2022-02-22 firefoxWrapper = throw "'firefoxWrapper' has been renamed to/replaced by 'firefox'"; # Converted to throw 2022-02-22 firefox-wrapper = throw "'firefox-wrapper' has been renamed to/replaced by 'firefox'"; # Converted to throw 2022-02-22 - firestr = throw "firestr has been removed."; # Added 2019-12-08 + firestr = throw "firestr has been removed"; # Added 2019-12-08 firmwareLinuxNonfree = linux-firmware; # Added 2022-01-09 fish-foreign-env = throw "fish-foreign-env has been replaced with fishPlugins.foreign-env"; # Added 2020-12-29, modified 2021-01-10 flameGraph = throw "'flameGraph' has been renamed to/replaced by 'flamegraph'"; # Converted to throw 2022-02-22 - flashplayer-standalone-debugger = throw "flashplayer-standalone-debugger has been removed as Adobe Flash Player is now deprecated."; # Added 2021-02-07 - flashplayer-standalone = throw "flashplayer-standalone has been removed as Adobe Flash Player is now deprecated."; # Added 2021-02-07 - flashplayer = throw "flashplayer has been removed as Adobe Flash Player is now deprecated."; # Added 2021-02-07 + flashplayer-standalone-debugger = throw "flashplayer-standalone-debugger has been removed as Adobe Flash Player is now deprecated"; # Added 2021-02-07 + flashplayer-standalone = throw "flashplayer-standalone has been removed as Adobe Flash Player is now deprecated"; # Added 2021-02-07 + flashplayer = throw "flashplayer has been removed as Adobe Flash Player is now deprecated"; # Added 2021-02-07 flashtool = throw "flashtool was removed from nixpkgs, because the download is down for copyright reasons and the site looks very fishy"; # Added 2021-06-31 flink_1_5 = throw "flink_1_5 was removed, use flink instead"; # Added 2021-01-25 - flutter-beta = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # Added 2020-01-15 - flutter-dev = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # Added 2020-01-15 - flvtool2 = throw "flvtool2 has been removed."; # Added 2020-11-03 - fme = throw "fme was removed, because it is old and uses Glade, a discontinued library."; # Added 2022-01-26 + flutter-beta = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions"; # Added 2020-01-15 + flutter-dev = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions"; # Added 2020-01-15 + flvtool2 = throw "flvtool2 has been removed"; # Added 2020-11-03 + fme = throw "fme was removed, because it is old and uses Glade, a discontinued library"; # Added 2022-01-26 foldingathome = fahclient; # Added 2020-09-03 font-awesome-ttf = throw "'font-awesome-ttf' has been renamed to/replaced by 'font-awesome'"; # Converted to throw 2022-02-22 @@ -359,7 +359,7 @@ mapAliases ({ ''; foomatic_filters = throw "'foomatic_filters' has been renamed to/replaced by 'foomatic-filters'"; # Converted to throw 2022-02-22 - fscryptctl-experimental = throw "The package fscryptctl-experimental has been removed. Please switch to fscryptctl."; # Added 2021-11-07 + fscryptctl-experimental = throw "The package fscryptctl-experimental has been removed. Please switch to fscryptctl"; # Added 2021-11-07 fsharp41 = throw "fsharp41 has been removed, please use dotnet-sdk_5 or later"; fslint = throw "fslint has been removed: end of life. Upstream recommends using czkawka (https://qarmin.github.io/czkawka/) instead"; # Added 2022-01-15 fuse_exfat = throw "'fuse_exfat' has been renamed to/replaced by 'exfat'"; # Converted to throw 2022-02-22 @@ -370,15 +370,15 @@ mapAliases ({ g4py = python3Packages.geant4; # Added 2020-06-06 gaia = throw "gaia has been removed because it seems abandoned upstream and uses no longer supported dependencies"; # Added 2020-06-06 - gdal_1_11 = throw "gdal_1_11 was removed. Use gdal instead."; # Added 2021-04-03 + gdal_1_11 = throw "gdal_1_11 was removed. Use gdal instead"; # Added 2021-04-03 gdb-multitarget = throw "'gdb-multitarget' has been renamed to/replaced by 'gdb'"; # Converted to throw 2022-02-22 gdk_pixbuf = throw "'gdk_pixbuf' has been renamed to/replaced by 'gdk-pixbuf'"; # Converted to throw 2022-02-22 - getmail = throw "getmail has been removed from nixpkgs, migrate to getmail6."; # Added 2022-01-12 + getmail = throw "getmail has been removed from nixpkgs, migrate to getmail6"; # Added 2022-01-12 gettextWithExpat = throw "'gettextWithExpat' has been renamed to/replaced by 'gettext'"; # Converted to throw 2022-02-22 gfm = throw "gfm has been removed"; # Added 2021-01-15 - giblib = throw " giblib has been removed from nixpkgs because upstream is gone."; # Added 2022-01-23 + giblib = throw " giblib has been removed from nixpkgs because upstream is gone"; # Added 2022-01-23 giflib_4_1 = throw "giflib_4_1 has been removed; use giflib instead"; # Added 2020-02-12 - git-bz = throw "giz-bz has been removed from nixpkgs as it is stuck on python2."; # Added 2022-01-01 + git-bz = throw "giz-bz has been removed from nixpkgs as it is stuck on python2"; # Added 2022-01-01 gitAndTools = self // { darcsToGit = darcs-to-git; @@ -391,19 +391,19 @@ mapAliases ({ }; # Added 2021-01-14 gitin = throw "gitin has been remove because it was unmaintained and depended on an insecure version of libgit2"; # Added 2021-12-07 - gitinspector = throw "gitinspector has been removed because it doesn't work with python3."; # Added 2022-01-12 + gitinspector = throw "gitinspector has been removed because it doesn't work with python3"; # Added 2022-01-12 gksu = throw "gksu has been removed"; # Added 2022-01-16 glib_networking = throw "'glib_networking' has been renamed to/replaced by 'glib-networking'"; # Converted to throw 2022-02-22 gmailieer = lieer; # Added 2020-04-19 gmic_krita_qt = gmic-qt-krita; # Added 2019-09-07 gmvault = throw "gmvault has been removed because it is unmaintained, mostly broken, and insecure"; # Added 2021-03-08 - gnash = throw "gnash has been removed; broken and abandoned upstream."; # added 2022-02-06 + gnash = throw "gnash has been removed; broken and abandoned upstream"; # added 2022-02-06 gnome-passwordsafe = gnome-secrets; # added 2022-01-30 gnome-mpv = celluloid; # Added 2019-08-22 gnome-sharp = throw "gnome-sharp has been removed from nixpkgs"; # Added 2022-01-15 gnome-themes-standard = throw "'gnome-themes-standard' has been renamed to/replaced by 'gnome-themes-extra'"; # Converted to throw 2022-02-22 gnome_user_docs = gnome-user-docs; # Added 2019-11-20 - gnome15 = throw "gnome15 has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries."; # Added 2019-12-10 + gnome15 = throw "gnome15 has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries"; # Added 2019-12-10 gnome_doc_utils = throw "'gnome_doc_utils' has been renamed to/replaced by 'gnome-doc-utils'"; # Converted to throw 2022-02-22 gnome_themes_standard = throw "'gnome_themes_standard' has been renamed to/replaced by 'gnome-themes-standard'"; # Converted to throw 2022-02-22 @@ -440,8 +440,8 @@ mapAliases ({ gpgstats = throw "gpgstats has been removed: upstream is gone"; # Added 2022-02-06 graalvm11 = graalvm11-ce; - graalvm8-ce = throw "graalvm8-ce has been removed by upstream."; # Added 2021-10-19 - graalvm8 = throw "graalvm8-ce has been removed by upstream."; # Added 2021-10-19 + graalvm8-ce = throw "graalvm8-ce has been removed by upstream"; # Added 2021-10-19 + graalvm8 = throw "graalvm8-ce has been removed by upstream"; # Added 2021-10-19 gr-ais = gnuradio3_7.pkgs.ais; # Added 2019-05-27, changed 2020-10-16 grantlee5 = throw "'grantlee5' has been renamed to/replaced by 'libsForQt5.grantlee'"; # Converted to throw 2022-02-22 gr-gsm = gnuradio3_7.pkgs.gsm; # Added 2019-05-27, changed 2020-10-16 @@ -470,23 +470,23 @@ mapAliases ({ ### H ### - hal-flash = throw "hal-flash has been removed as Adobe Flash Player is now deprecated."; # Added 2021-02-07 + hal-flash = throw "hal-flash has been removed as Adobe Flash Player is now deprecated"; # Added 2021-02-07 hawkthorne = throw "hawkthorne has been removed because it depended on a broken version of love"; # Added 2022-01-15 heimdalFull = throw "'heimdalFull' has been renamed to/replaced by 'heimdal'"; # Converted to throw 2022-02-22 heme = throw "heme has been removed: upstream is gone"; # added 2022-02-06 hepmc = hepmc2; # Added 2019-08-05 - hexen = throw "hexen (SDL port) has been removed: abandoned by upstream."; # Added 2019-12-11 + hexen = throw "hexen (SDL port) has been removed: abandoned by upstream"; # Added 2019-12-11 hicolor_icon_theme = throw "'hicolor_icon_theme' has been renamed to/replaced by 'hicolor-icon-theme'"; # Converted to throw 2022-02-22 holochain-go = throw "holochain-go was abandoned by upstream"; # Added 2022-01-01 htmlTidy = throw "'htmlTidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22 ht-rust = xh; # Added 2021-02-13 - hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra-unstable` now."; # Added 2020-04-06 + hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra-unstable` now"; # Added 2020-04-06 ### I ### iana_etc = throw "'iana_etc' has been renamed to/replaced by 'iana-etc'"; # Converted to throw 2022-02-22 iasl = throw "iasl has been removed, use acpica-tools instead"; # Added 2021-08-08 - icecat-bin = throw "icecat-bin has been removed, the binary builds are not maintained upstream."; # Added 2022-02-15 + icecat-bin = throw "icecat-bin has been removed, the binary builds are not maintained upstream"; # Added 2022-02-15 icedtea8_web = adoptopenjdk-icedtea-web; # Added 2019-08-21 icedtea_web = adoptopenjdk-icedtea-web; # Added 2019-08-21 idea = throw "'idea' has been renamed to/replaced by 'jetbrains'"; # Converted to throw 2022-02-22 @@ -495,10 +495,10 @@ mapAliases ({ imagemagick7 = imagemagick; # Added 2021-02-22 imagemagick7_light = imagemagick_light; # Added 2021-02-22 impressive = throw "impressive has been removed due to lack of released python 2 support and maintainership in nixpkgs"; # Added 2022-01-27 - i-score = throw "i-score has been removed: abandoned upstream."; # Added 2020-11-21 - inboxer = throw "inboxer has been removed as it is no longer maintained and no longer works as Google shut down the inbox service this package wrapped."; + i-score = throw "i-score has been removed: abandoned upstream"; # Added 2020-11-21 + inboxer = throw "inboxer has been removed as it is no longer maintained and no longer works as Google shut down the inbox service this package wrapped"; infiniband-diags = rdma-core; # Added 2019-08-09 - ino = throw "ino has been removed from nixpkgs, the project is stuck on python2 and upstream has archived the project."; # Added 2022-01-12 + ino = throw "ino has been removed from nixpkgs, the project is stuck on python2 and upstream has archived the project"; # Added 2022-01-12 inotifyTools = inotify-tools; inter-ui = inter; # Added 2021-03-27 iops = throw "iops was removed: upstream is gone"; # Added 2022-02-06 @@ -509,13 +509,13 @@ mapAliases ({ jack2Full = jack2; # moved from top-level 2021-03-14 - jamomacore = throw "jamomacore has been removed: abandoned upstream."; # Added 2020-11-21 + jamomacore = throw "jamomacore has been removed: abandoned upstream"; # Added 2020-11-21 jbidwatcher = throw "jbidwatcher was discontinued in march 2021"; # Added 2021-03-15 jbuilder = throw "'jbuilder' has been renamed to/replaced by 'dune_1'"; # Converted to throw 2022-02-22 - jellyfin_10_5 = throw "Jellyfin 10.5 is no longer supported and contains a security vulnerability. Please upgrade to a newer version."; # Added 2021-04-26 + jellyfin_10_5 = throw "Jellyfin 10.5 is no longer supported and contains a security vulnerability. Please upgrade to a newer version"; # Added 2021-04-26 jikes = throw "jikes was deprecated on 2019-10-07: abandoned by upstream"; joseki = throw "'joseki' has been renamed to/replaced by 'apache-jena-fuseki'"; # Converted to throw 2022-02-22 - journalbeat7 = throw "journalbeat has been removed upstream. Use filebeat with the journald input instead."; + journalbeat7 = throw "journalbeat has been removed upstream. Use filebeat with the journald input instead"; # Julia julia_07 = throw "julia_07 has been deprecated in favor of the latest LTS version"; # Added 2020-09-15 @@ -540,18 +540,18 @@ mapAliases ({ keepassx-community = throw "'keepassx-community' has been renamed to/replaced by 'keepassxc'"; # Converted to throw 2022-02-22 keepassx-reboot = throw "'keepassx-reboot' has been renamed to/replaced by 'keepassx-community'"; # Converted to throw 2022-02-22 keepassx2-http = throw "'keepassx2-http' has been renamed to/replaced by 'keepassx-reboot'"; # Converted to throw 2022-02-22 - keepnote = throw "keepnote has been removed from nixpkgs, as it is stuck on python2."; # Added 2022-01-01 + keepnote = throw "keepnote has been removed from nixpkgs, as it is stuck on python2"; # Added 2022-01-01 kerberos = libkrb5; # moved from top-level 2021-03-14 kexectools = kexec-tools; # Added 2021-09-03 keybase-go = throw "'keybase-go' has been renamed to/replaced by 'keybase'"; # Converted to throw 2022-02-22 - keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived."; # Added 2019-12-10 + keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived"; # Added 2019-12-10 keysmith = libsForQt5.plasmaMobileGear.keysmith; # Added 2021-07-14 kibana7-oss = throw "kibana7-oss has been removed, as the distribution is no longer provided by upstream. https://github.com/NixOS/nixpkgs/pull/114456"; # Added 2021-06-09 kicad-with-packages3d = kicad; # Added 2019-11-25 - kindlegen = throw "kindlegen has been removed from nixpkgs, as it's abandoned and no longer available for download."; # Added 2021-03-09 - kinetic-cpp-client = throw "kinetic-cpp-client has been removed from nixpkgs, as it's abandoned."; # Added 2020-04-28 + kindlegen = throw "kindlegen has been removed from nixpkgs, as it's abandoned and no longer available for download"; # Added 2021-03-09 + kinetic-cpp-client = throw "kinetic-cpp-client has been removed from nixpkgs, as it's abandoned"; # Added 2020-04-28 kino = throw "kino has been removed because it was broken and abandoned"; # Added 2021-04-25 - knockknock = throw "knockknock has been removed from nixpkgs because the upstream project is abandoned."; # Added 2022-01-01 + knockknock = throw "knockknock has been removed from nixpkgs because the upstream project is abandoned"; # Added 2022-01-01 kodiGBM = kodi-gbm; kodiPlain = kodi; kodiPlainWayland = kodi-wayland; @@ -573,8 +573,8 @@ mapAliases ({ libcap_manpages = throw "'libcap_manpages' has been renamed to/replaced by 'libcap.doc'"; # Converted to throw 2022-02-22 libcap_pam = if stdenv.isLinux then libcap.pam else null; # Added 2016-04-29 libcap_progs = throw "'libcap_progs' has been renamed to/replaced by 'libcap.out'"; # Converted to throw 2022-02-22 - libco-canonical = throw "libco-canonical: Canonical deleted the repo, libco-canonical is not used anymore."; # Added 2021-05-16 - libcroco = throw "libcroco has been removed as it's no longer used in any derivations."; # Added 2020-03-04 + libco-canonical = throw "libco-canonical: Canonical deleted the repo, libco-canonical is not used anymore"; # Added 2021-05-16 + libcroco = throw "libcroco has been removed as it's no longer used in any derivations"; # Added 2020-03-04 libdbusmenu-glib = throw "'libdbusmenu-glib' has been renamed to/replaced by 'libdbusmenu'"; # Converted to throw 2022-02-22 libdbusmenu_qt5 = throw "'libdbusmenu_qt5' has been renamed to/replaced by 'libsForQt5.libdbusmenu'"; # Converted to throw 2022-02-22 liberation_ttf_v1_from_source = throw "'liberation_ttf_v1_from_source' has been renamed to/replaced by 'liberation_ttf_v1'"; # Converted to throw 2022-02-22 @@ -592,7 +592,7 @@ mapAliases ({ libintlOrEmpty = lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # Added 2018-03-14 libjpeg_drop = libjpeg_original; # Added 2020-06-05 libjson_rpc_cpp = throw "'libjson_rpc_cpp' has been renamed to/replaced by 'libjson-rpc-cpp'"; # Converted to throw 2022-02-22 - libkml = throw "libkml has been removed from nixpkgs, as it's abandoned and no package needed it."; # Added 2021-11-09 + libkml = throw "libkml has been removed from nixpkgs, as it's abandoned and no package needed it"; # Added 2021-11-09 liblapackWithoutAtlas = throw "'liblapackWithoutAtlas' has been renamed to/replaced by 'lapack-reference'"; # Converted to throw 2022-02-22 liblastfm = libsForQt5.liblastfm; # Added 2020-06-14 liblrdf = throw "'liblrdf' has been renamed to/replaced by 'lrdf'"; # Converted to throw 2022-02-22 @@ -604,8 +604,8 @@ mapAliases ({ librecad2 = throw "'librecad2' has been renamed to/replaced by 'librecad'"; # Converted to throw 2022-02-22 librsync_0_9 = throw "librsync_0_9 has been removed"; # Added 2021-07-24 libseat = seatd; # Added 2021-06-24 - libsexy = throw "libsexy has been removed from nixpkgs, as it's abandoned and no package needed it."; # Added 2019-12-10 - libstdcxxHook = throw "libstdcxx hook has been removed because cc-wrapper is now directly aware of the c++ standard library intended to be used."; # Added 2020-06-22 + libsexy = throw "libsexy has been removed from nixpkgs, as it's abandoned and no package needed it"; # Added 2019-12-10 + libstdcxxHook = throw "libstdcxx hook has been removed because cc-wrapper is now directly aware of the c++ standard library intended to be used"; # Added 2020-06-22 libsysfs = throw "'libsysfs' has been renamed to/replaced by 'sysfsutils'"; # Converted to throw 2022-02-22 libtidy = throw "'libtidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22 libtorrentRasterbar = libtorrent-rasterbar; # Added 2020-12-20 @@ -621,10 +621,10 @@ mapAliases ({ libva1-full = throw "'libva1-full' has been renamed to/replaced by 'libva1'"; # Converted to throw 2022-02-22 libwnck3 = libwnck; lilypond-unstable = lilypond; # Added 2021-03-11 - lilyterm = throw "lilyterm has been removed from nixpkgs, because it was relying on a vte version that depended on python2."; # Added 2022-01-14 - lilyterm-git = throw "lilyterm-git has been removed from nixpkgs, because it was relying on a vte version that depended on python2."; # Added 2022-01-14 + lilyterm = throw "lilyterm has been removed from nixpkgs, because it was relying on a vte version that depended on python2"; # Added 2022-01-14 + lilyterm-git = throw "lilyterm-git has been removed from nixpkgs, because it was relying on a vte version that depended on python2"; # Added 2022-01-14 links = throw "'links' has been renamed to/replaced by 'links2'"; # Converted to throw 2022-02-22 - linuxband = throw "linuxband has been removed from nixpkgs, as it's abandoned upstream."; # Added 2021-12-09 + linuxband = throw "linuxband has been removed from nixpkgs, as it's abandoned upstream"; # Added 2021-12-09 # Linux kernels linux-rt_5_10 = linuxKernel.kernels.linux_rt_5_10; @@ -699,7 +699,7 @@ mapAliases ({ lua5_1_sockets = throw "'lua5_1_sockets' has been renamed to/replaced by 'lua51Packages.luasocket'"; # Converted to throw 2022-02-22 lua5_expat = throw "'lua5_expat' has been renamed to/replaced by 'luaPackages.luaexpat'"; # Converted to throw 2022-02-22 lua5_sec = throw "'lua5_sec' has been renamed to/replaced by 'luaPackages.luasec'"; # Converted to throw 2022-02-22 - lumpy = throw "lumpy has been removed from nixpkgs, as it is stuck on python2."; # Added 2022-01-12 + lumpy = throw "lumpy has been removed from nixpkgs, as it is stuck on python2"; # Added 2022-01-12 lxappearance-gtk3 = throw "lxappearance-gtk3 has been removed. Use lxappearance instead, which now defaults to Gtk3"; # Added 2020-06-03 lzma = xz; # moved from top-level 2021-03-14 @@ -707,7 +707,7 @@ mapAliases ({ m3d-linux = throw "'m3d-linux' has been renamed to/replaced by 'm33-linux'"; # Converted to throw 2022-02-22 mail-notification = throw "mail-notification has been removed from nixpkgs, as it's unmaintained and has dependencies on old gnome libraries we want to remove"; # Added 2021-08-21 - mailpile = throw "mailpile was removed from nixpkgs, as it is stuck on python2."; # Added 2022-01-12 + mailpile = throw "mailpile was removed from nixpkgs, as it is stuck on python2"; # Added 2022-01-12 man_db = throw "'man_db' has been renamed to/replaced by 'man-db'"; # Converted to throw 2022-02-22 manpages = throw "'manpages' has been renamed to/replaced by 'man-pages'"; # Converted to throw 2022-02-22 marathon = throw "marathon has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15 @@ -724,11 +724,11 @@ mapAliases ({ mercurial_4 = throw "mercurial_4 has been removed as it's unmaintained"; # Added 2021-10-18 mesos = throw "mesos has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15 mess = mame; # Added 2019-10-30 - metamorphose2 = throw "metamorphose2 has been removed from nixpkgs, as it was stuck on python2."; # Added 2022-01-12 - mididings = throw "mididings has been removed from nixpkgs as it doesn't support recent python3 versions and its upstream stopped maintaining it."; # Added 2022-01-12 + metamorphose2 = throw "metamorphose2 has been removed from nixpkgs, as it was stuck on python2"; # Added 2022-01-12 + mididings = throw "mididings has been removed from nixpkgs as it doesn't support recent python3 versions and its upstream stopped maintaining it"; # Added 2022-01-12 midoriWrapper = throw "'midoriWrapper' has been renamed to/replaced by 'midori'"; # Converted to throw 2022-02-22 mime-types = mailcap; # Added 2022-01-21 - mimms = throw "mimms has been removed from nixpkgs as the upstream project is stuck on python2."; # Added 2022-01-01 + mimms = throw "mimms has been removed from nixpkgs as the upstream project is stuck on python2"; # Added 2022-01-01 minergate-cli = throw "minergatecli has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # Added 2021-08-13 minergate = throw "minergate has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # Added 2021-08-13 minetime = throw "minetime has been removed from nixpkgs, because it was discontinued 2021-06-22"; # Added 2021-10-14 @@ -736,13 +736,13 @@ mapAliases ({ mist = throw "mist has been removed as the upstream project has been abandoned, see https://github.com/ethereum/mist#mist-browser-deprecated"; # Added 2020-08-15 mlt-qt5 = throw "'mlt-qt5' has been renamed to/replaced by 'libsForQt5.mlt'"; # Converted to throw 2022-02-22 mobile_broadband_provider_info = throw "'mobile_broadband_provider_info' has been renamed to/replaced by 'mobile-broadband-provider-info'"; # Converted to throw 2022-02-22 - moby = throw "moby has been removed, merged into linuxkit in 2018. Use linuxkit instead."; + moby = throw "moby has been removed, merged into linuxkit in 2018. Use linuxkit instead"; module_init_tools = throw "'module_init_tools' has been renamed to/replaced by 'kmod'"; # Converted to throw 2022-02-22 monero = monero-cli; # Added 2021-11-28 monodevelop = throw "monodevelop has been removed from nixpgks"; # Added 2022-01-15 mopidy-gmusic = throw "mopidy-gmusic has been removed because Google Play Music was discontinued"; # Added 2021-03-07 - mopidy-local-images = throw "mopidy-local-images has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension."; # Added 2020-10-18 - mopidy-local-sqlite = throw "mopidy-local-sqlite has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension."; # Added 2020-10-18 + mopidy-local-images = throw "mopidy-local-images has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension"; # Added 2020-10-18 + mopidy-local-sqlite = throw "mopidy-local-sqlite has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension"; # Added 2020-10-18 morituri = throw "'morituri' has been renamed to/replaced by 'whipper'"; # Converted to throw 2022-02-22 mozart-binary = mozart2-binary; # Added 2019-09-23 @@ -771,7 +771,7 @@ mapAliases ({ mumsi = throw "mumsi has been removed from nixpkgs, as it's unmaintained and does not build anymore"; # Added 2021-11-18 mupen64plus1_5 = throw "'mupen64plus1_5' has been renamed to/replaced by 'mupen64plus'"; # Converted to throw 2022-02-22 mx = throw "graalvm8 and its tools were deprecated in favor of graalvm8-ce"; # Added 2021-10-15 - mxisd = throw "mxisd has been removed from nixpkgs as it has reached end of life, see https://github.com/kamax-matrix/mxisd/blob/535e0a5b96ab63cb0ddef90f6f42c5866407df95/EOL.md#end-of-life-notice . ma1sd may be a suitable alternative."; # Added 2021-04-15 + mxisd = throw "mxisd has been removed from nixpkgs as it has reached end of life, see https://github.com/kamax-matrix/mxisd/blob/535e0a5b96ab63cb0ddef90f6f42c5866407df95/EOL.md#end-of-life-notice . ma1sd may be a suitable alternative"; # Added 2021-04-15 mysqlWorkbench = throw "'mysqlWorkbench' has been renamed to/replaced by 'mysql-workbench'"; # Converted to throw 2022-02-22 ### N ### @@ -815,15 +815,15 @@ mapAliases ({ ### O ### - oracleXE = throw "oracleXE has been removed, as it's heavily outdated and unmaintained."; # Added 2020-10-09 + oracleXE = throw "oracleXE has been removed, as it's heavily outdated and unmaintained"; # Added 2020-10-09 OVMF-CSM = throw "OVMF-CSM has been removed in favor of OVMFFull"; # Added 2021-10-16 OVMF-secureBoot = throw "OVMF-secureBoot has been removed in favor of OVMFFull"; # Added 2021-10-16 oauth2_proxy = oauth2-proxy; # Added 2021-04-18 - oblogout = throw "oblogout has been removed from nixpkgs, as it's archived upstream."; # Added 2019-12-10 - octoprint-plugins = throw "octoprint-plugins are now part of the octoprint.python.pkgs package set."; # Added 2021-01-24 + oblogout = throw "oblogout has been removed from nixpkgs, as it's archived upstream"; # Added 2019-12-10 + octoprint-plugins = throw "octoprint-plugins are now part of the octoprint.python.pkgs package set"; # Added 2021-01-24 ocz-ssd-guru = throw "ocz-ssd-guru has been removed due to there being no source available"; # Added 2021-07-12 ofp = throw "ofp is not compatible with odp-dpdk"; - olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained."; # Added 2021-08-05 + olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05 onnxruntime = throw "onnxruntime has been removed due to poor maintainability"; # Added 2020-12-04 openbazaar = throw "openbazzar has been removed from nixpkgs as upstream has abandoned the project"; # Added 2022-01-06 openbazaar-client = throw "openbazzar-client has been removed from nixpkgs as upstream has abandoned the project"; # Added 2022-01-06 @@ -839,7 +839,7 @@ mapAliases ({ opensans-ttf = throw "'opensans-ttf' has been renamed to/replaced by 'open-sans'"; # Converted to throw 2022-02-22 openssh_with_kerberos = throw "'openssh_with_kerberos' has been renamed to/replaced by 'openssh'"; # Converted to throw 2022-02-22 orchis = orchis-theme; # Added 2021-06-09 - osquery = throw "osquery has been removed."; # Added 2019-11-24 + osquery = throw "osquery has been removed"; # Added 2019-11-24 osxfuse = macfuse-stubs; # Added 2021-03-20 otter-browser = throw "otter-browser has been removed from nixpkgs, as it was unmaintained"; # Added 2020-02-02 owncloudclient = throw "'owncloudclient' has been renamed to/replaced by 'owncloud-client'"; # Converted to throw 2022-02-22 @@ -857,7 +857,7 @@ mapAliases ({ pass-otp = throw "'pass-otp' has been renamed to/replaced by 'pass.withExtensions'"; # Converted to throw 2022-02-22 pdfmod = throw "pdfmod has been removed"; # Added 2022-01-15 pdfread = throw "pdfread has been remove because it is unmaintained for years and the sources are no longer available"; # Added 2021-07-22 - pdf-redact-tools = throw "pdf-redact-tools has been removed from nixpkgs because the upstream has abandoned the project."; # Added 2022-01-01 + pdf-redact-tools = throw "pdf-redact-tools has been removed from nixpkgs because the upstream has abandoned the project"; # Added 2022-01-01 pdf2htmlEx = throw "pdf2htmlEx has been removed from nixpkgs, as it was unmaintained"; # Added 2020-11-03 perlXMLParser = throw "'perlXMLParser' has been renamed to/replaced by 'perlPackages.XMLParser'"; # Converted to throw 2022-02-22 perlArchiveCpio = throw "'perlArchiveCpio' has been renamed to/replaced by 'perlPackages.ArchiveCpio'"; # Converted to throw 2022-02-22 @@ -868,7 +868,7 @@ mapAliases ({ phantomjs = throw "phantomjs 1.9.8 has been dropped due to lack of maintenance and security issues"; # Added 2022-02-20 # Obsolete PHP version aliases - php73 = throw "php73 has been dropped due to the lack of maintanence from upstream for future releases."; # Added 2021-06-03 + php73 = throw "php73 has been dropped due to the lack of maintanence from upstream for future releases"; # Added 2021-06-03 php73Packages = php73; # Added 2021-06-03 php73Extensions = php73; # Added 2021-06-03 @@ -926,17 +926,17 @@ mapAliases ({ pidginotr = throw "'pidginotr' has been renamed to/replaced by 'pidgin-otr'"; # Converted to throw 2022-02-22 pidginsipe = throw "'pidginsipe' has been renamed to/replaced by 'pidgin-sipe'"; # Converted to throw 2022-02-22 pidginwindowmerge = throw "'pidginwindowmerge' has been renamed to/replaced by 'pidgin-window-merge'"; # Converted to throw 2022-02-22 - pifi = throw "pifi has been removed from nixpkgs, as it is no longer developed."; # Added 2022-01-19 + pifi = throw "pifi has been removed from nixpkgs, as it is no longer developed"; # Added 2022-01-19 piwik = throw "'piwik' has been renamed to/replaced by 'matomo'"; # Converted to throw 2022-02-22 pkgconfig = pkg-config; # Added 2018-02-02, moved to aliases.nix 2021-01-18 pkgconfigUpstream = throw "'pkgconfigUpstream' has been renamed to/replaced by 'pkg-configUpstream'"; # Converted to throw 2022-02-22 - planner = throw "planner has been removed from nixpkgs, as it is no longer developed and still uses python2/PyGTK."; # Added 2021-02-02 + planner = throw "planner has been removed from nixpkgs, as it is no longer developed and still uses python2/PyGTK"; # Added 2021-02-02 pleroma-otp = pleroma; # Added 2021-07-10 plexpy = throw "'plexpy' has been renamed to/replaced by 'tautulli'"; # Converted to throw 2022-02-22 pltScheme = racket; # just to be sure pmtools = throw "'pmtools' has been renamed to/replaced by 'acpica-tools'"; # Converted to throw 2022-02-22 polarssl = throw "'polarssl' has been renamed to/replaced by 'mbedtls'"; # Converted to throw 2022-02-22 - polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project."; # Added 2022-01-01 + polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01 poppler_qt5 = throw "'poppler_qt5' has been renamed to/replaced by 'libsForQt5.poppler'"; # Converted to throw 2022-02-22 # postgresql @@ -961,40 +961,40 @@ mapAliases ({ tlauncher = throw "tlauncher has been removed because there questionable practices and legality concerns"; tsearch_extras = postgresqlPackages.tsearch_extras; - phonon = throw "phonon: Please use libsForQt5.phonon, as Qt4 support in this package has been removed."; # Added 2019-11-22 - phonon-backend-gstreamer = throw "phonon-backend-gstreamer: Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed."; # Added 2019-11-22 - phonon-backend-vlc = throw "phonon-backend-vlc: Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed."; # Added 2019-11-22 + phonon = throw "phonon: Please use libsForQt5.phonon, as Qt4 support in this package has been removed"; # Added 2019-11-22 + phonon-backend-gstreamer = throw "phonon-backend-gstreamer: Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed"; # Added 2019-11-22 + phonon-backend-vlc = throw "phonon-backend-vlc: Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed"; # Added 2019-11-22 pinentry_curses = pinentry-curses; # Added 2019-10-14 pinentry_emacs = pinentry-emacs; # Added 2019-10-14 pinentry_gnome = pinentry-gnome; # Added 2019-10-14 pinentry_gtk2 = pinentry-gtk2; # Added 2019-10-14 pinentry_qt = pinentry-qt; # Added 2019-10-14 pinentry_qt5 = pinentry-qt; # Added 2020-02-11 - pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package."; # Added 2019-12-10 + pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package"; # Added 2019-12-10 privateer = throw "privateer was removed because it was broken"; # Added 2021-05-18 processing3 = processing; # Added 2019-08-16 procps-ng = throw "'procps-ng' has been renamed to/replaced by 'procps'"; # Converted to throw 2022-02-22 proglodyte-wasm = throw "proglodyte-wasm has been removed from nixpkgs, because it is unmaintained since 5 years with zero github stars"; # Added 2021-06-30 - proj_5 = throw "Proj-5 has been removed from nixpkgs, use proj instead."; # Added 2021-04-12 - prometheus-cups-exporter = throw "outdated and broken by design; removed by developer."; # Added 2021-03-16 + proj_5 = throw "Proj-5 has been removed from nixpkgs, use proj instead"; # Added 2021-04-12 + prometheus-cups-exporter = throw "outdated and broken by design; removed by developer"; # Added 2021-03-16 pulseaudioLight = throw "'pulseaudioLight' has been renamed to/replaced by 'pulseaudio'"; # Converted to throw 2022-02-22 - pulseeffects = throw "Use pulseeffects-legacy if you use PulseAudio and easyeffects if you use PipeWire."; # Added 2021-02-13 + pulseeffects = throw "Use pulseeffects-legacy if you use PulseAudio and easyeffects if you use PipeWire"; # Added 2021-02-13 pulseeffects-pw = easyeffects; # Added 2021-07-07 pyIRCt = throw "pyIRCt has been removed from nixpkgs as it is unmaintained and python2-only"; pyMAILt = throw "pyMAILt has been removed from nixpkgs as it is unmaintained and python2-only"; pybind11 = throw "pybind11 was removed because pythonPackages.pybind11 for the appropriate version of Python should be used"; # Added 2021-05-14 - pybitmessage = throw "pybitmessage was removed from nixpkgs as it is stuck on python2."; # Added 2022-01-01 + pybitmessage = throw "pybitmessage was removed from nixpkgs as it is stuck on python2"; # Added 2022-01-01 pygmentex = texlive.bin.pygmentex; # Added 2019-12-15 - pyload = throw "pyload has been removed from nixpkgs, as it was unmaintained."; # Added 2021-03-21 - pynagsystemd = throw "pynagsystemd was removed as it was unmaintained and incompatible with recent systemd versions. Instead use its fork check_systemd."; # Added 2020-10-24 + pyload = throw "pyload has been removed from nixpkgs, as it was unmaintained"; # Added 2021-03-21 + pynagsystemd = throw "pynagsystemd was removed as it was unmaintained and incompatible with recent systemd versions. Instead use its fork check_systemd"; # Added 2020-10-24 pyo3-pack = maturin; - pyrex = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2."; # Added 2022-01-12 - pyrex095 = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2."; # Added 2022-01-12 - pyrex096 = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2."; # Added 2022-01-12 - pyrit = throw "pyrit has been removed from nixpkgs as the project is still stuck on python2."; # Added 2022-01-01 + pyrex = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2"; # Added 2022-01-12 + pyrex095 = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2"; # Added 2022-01-12 + pyrex096 = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2"; # Added 2022-01-12 + pyrit = throw "pyrit has been removed from nixpkgs as the project is still stuck on python2"; # Added 2022-01-01 python = python2; # Added 2022-01-11 python-swiftclient = swiftclient; # Added 2021-09-09 - python2nix = throw "python2nix has been removed as it is outdated. Use e.g. nixpkgs-pytools instead."; # Added 2021-03-08 + python2nix = throw "python2nix has been removed as it is outdated. Use e.g. nixpkgs-pytools instead"; # Added 2021-03-08 pythonFull = python2Full; # Added 2022-01-11 pythonPackages = python.pkgs; # Added 2022-01-11 @@ -1014,8 +1014,8 @@ mapAliases ({ quagga = throw "quagga is no longer maintained upstream"; # Added 2021-04-22 quake3game = throw "'quake3game' has been renamed to/replaced by 'ioquake3'"; # Converted to throw 2022-02-22 quaternion-git = throw "quaternion-git has been removed in favor of the stable version 'quaternion'"; # Added 2020-04-09 - quilter = throw "quilter has been removed from nixpkgs, as it was unmaintained."; # Added 2021-08-03 - qvim = throw "qvim has been removed."; # Added 2020-08-31 + quilter = throw "quilter has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-03 + qvim = throw "qvim has been removed"; # Added 2020-08-31 qweechat = throw "qweechat has been removed because it was broken"; # Added 2021-03-08 qwt6 = throw "'qwt6' has been renamed to/replaced by 'libsForQt5.qwt'"; # Converted to throw 2022-02-22 @@ -1023,8 +1023,8 @@ mapAliases ({ radare2-cutter = cutter; # Added 2021-03-30 raspberrypi-tools = throw "raspberrypi-tools has been removed in favor of identical 'libraspberrypi'"; # Added 2020-12-24 - rawdog = throw "rawdog has been removed from nixpkgs as it still requires python2."; # Added 2022-01-01 - rdf4store = throw "rdf4store has been removed from nixpkgs."; # Added 2019-12-21 + rawdog = throw "rawdog has been removed from nixpkgs as it still requires python2"; # Added 2022-01-01 + rdf4store = throw "rdf4store has been removed from nixpkgs"; # Added 2019-12-21 rdiff_backup = throw "'rdiff_backup' has been renamed to/replaced by 'rdiff-backup'"; # Converted to throw 2022-02-22 rdmd = throw "'rdmd' has been renamed to/replaced by 'dtools'"; # Converted to throw 2022-02-22 readline5 = throw "readline-5 is no longer supported in nixpkgs, please use 'readline' for main supported version"; # Added 2022-02-20 @@ -1033,7 +1033,7 @@ mapAliases ({ recordmydesktop = throw "recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # Added 2019-12-10 redkite = throw "redkite was archived by upstream"; # Added 2021-04-12 redshift-wlr = throw "redshift-wlr has been replaced by gammastep"; # Added 2021-12-25 - renpy = throw "renpy has been removed from nixpkgs, it was unmaintained and the latest packaged version required python2."; # Added 2022-01-12 + renpy = throw "renpy has been removed from nixpkgs, it was unmaintained and the latest packaged version required python2"; # Added 2022-01-12 residualvm = throw "residualvm was merged to scummvm code in 2018-06-15; consider using scummvm"; # Added 2021-11-27 retroArchCores = throw "retroArchCores has been removed. Please use overrides instead, e.g.: `retroarch.override { cores = with libretro; [ ... ]; }`"; # Added 2021-11-19 retroshare06 = retroshare; @@ -1044,6 +1044,7 @@ mapAliases ({ rkt = throw "rkt was archived by upstream"; # Added 2020-05-16 rng_tools = throw "'rng_tools' has been renamed to/replaced by 'rng-tools'"; # Converted to throw 2022-02-22 robomongo = throw "'robomongo' has been renamed to/replaced by 'robo3t'"; # Converted to throw 2022-02-22 + rockbox_utility = rockbox-utility; # Added 2022-03-17 rocm-runtime-ext = throw "rocm-runtime-ext has been removed, since its functionality was added to rocm-runtime"; #added 2020-08-21 rpiboot-unstable = rpiboot; # Added 2021-07-30 rssglx = throw "'rssglx' has been renamed to/replaced by 'rss-glx'"; # Converted to throw 2022-02-22 @@ -1086,14 +1087,14 @@ mapAliases ({ sepolgen = throw "sepolgen was merged into selinux-python"; # Added 2021-11-11 shared_mime_info = throw "'shared_mime_info' has been renamed to/replaced by 'shared-mime-info'"; # Converted to throw 2022-02-22 shellinabox = throw "shellinabox has been removed from nixpkgs, as it was unmaintained upstream"; # Added 2021-12-15 - sickbeard = throw "sickbeard has been removed from nixpkgs, as it was unmaintained."; # Added 2022-01-01 - sickrage = throw "sickbeard has been removed from nixpkgs, as it was unmaintained."; # Added 2022-01-01 + sickbeard = throw "sickbeard has been removed from nixpkgs, as it was unmaintained"; # Added 2022-01-01 + sickrage = throw "sickbeard has been removed from nixpkgs, as it was unmaintained"; # Added 2022-01-01 sigurlx = throw "sigurlx has been removed (upstream is gone)"; # Added 2022-01-24 skrooge2 = throw "'skrooge2' has been renamed to/replaced by 'skrooge'"; # Converted to throw 2022-02-22 sky = throw "sky has been removed from nixpkgs (2020-09-16)"; skype = throw "'skype' has been renamed to/replaced by 'skypeforlinux'"; # Converted to throw 2022-02-22 - skype4pidgin = throw "skype4pidgin has been remove from nixpkgs, because it stopped working when classic Skype was retired."; # Added 2021-07-14 - skype_call_recorder = throw "skype_call_recorder has been removed from nixpkgs, because it stopped working when classic Skype was retired."; # Added 2020-10-31 + skype4pidgin = throw "skype4pidgin has been remove from nixpkgs, because it stopped working when classic Skype was retired"; # Added 2021-07-14 + skype_call_recorder = throw "skype_call_recorder has been removed from nixpkgs, because it stopped working when classic Skype was retired"; # Added 2020-10-31 slack-dark = slack; # Added 2020-03-27 slic3r-prusa3d = throw "'slic3r-prusa3d' has been renamed to/replaced by 'prusa-slicer'"; # Converted to throw 2022-02-22 slim = throw "slim has been removed. Please use a different display-manager"; # Added 2019-11-11 @@ -1102,7 +1103,7 @@ mapAliases ({ slurm-llnl = slurm; # renamed July 2017 slurm-llnl-full = slurm-full; # renamed July 2017 smbclient = throw "'smbclient' has been renamed to/replaced by 'samba'"; # Converted to throw 2022-02-22 - smugline = throw "smugline has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries."; # Added 2020-11-04 + smugline = throw "smugline has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries"; # Added 2020-11-04 solr_8 = solr; # Added 2021-01-30 # Added 2020-02-10 @@ -1133,11 +1134,11 @@ mapAliases ({ speedtest_cli = throw "'speedtest_cli' has been renamed to/replaced by 'speedtest-cli'"; # Converted to throw 2022-02-22 spice_gtk = throw "'spice_gtk' has been renamed to/replaced by 'spice-gtk'"; # Converted to throw 2022-02-22 spice_protocol = throw "'spice_protocol' has been renamed to/replaced by 'spice-protocol'"; # Converted to throw 2022-02-22 - spidermonkey_1_8_5 = throw "spidermonkey_1_8_5 has been removed, because it is based on Firefox 4.0 from 2011."; # added 2021-05-03 - spidermonkey_38 = throw "spidermonkey_38 has been removed. Please use spidermonkey_78 instead."; # Added 2021-03-21 - spidermonkey_52 = throw "spidermonkey_52 has been removed. Please use spidermonkey_78 instead."; # Added 2019-10-16 - spidermonkey_60 = throw "spidermonkey_60 has been removed. Please use spidermonkey_78 instead."; # Added 2021-03-21 - spidermonkey_68 = throw "spidermonkey_68 has been removed. Please use spidermonkey_91 instead."; # added 2022-01-04 + spidermonkey_1_8_5 = throw "spidermonkey_1_8_5 has been removed, because it is based on Firefox 4.0 from 2011"; # added 2021-05-03 + spidermonkey_38 = throw "spidermonkey_38 has been removed. Please use spidermonkey_78 instead"; # Added 2021-03-21 + spidermonkey_52 = throw "spidermonkey_52 has been removed. Please use spidermonkey_78 instead"; # Added 2019-10-16 + spidermonkey_60 = throw "spidermonkey_60 has been removed. Please use spidermonkey_78 instead"; # Added 2021-03-21 + spidermonkey_68 = throw "spidermonkey_68 has been removed. Please use spidermonkey_91 instead"; # added 2022-01-04 # spidermonkey is not ABI upwards-compatible, so only allow this for nix-shell spidermonkey = spidermonkey_78; # Added 2020-10-09 spring-boot = spring-boot-cli; # added 2020-04-24 @@ -1151,9 +1152,9 @@ mapAliases ({ subversion19 = throw "subversion19 has been removed as it has reached its end of life"; # Added 2021-03-31 sundials_3 = throw "sundials_3 was removed in 2020-02. outdated and no longer needed"; surf-webkit2 = throw "'surf-webkit2' has been renamed to/replaced by 'surf'"; # Converted to throw 2022-02-22 - svgcleaner = throw "svgcleaner has been removed."; # Added 2021-11-17 - swec = throw "swec has been removed; broken and abandoned upstream."; # Added 2021-10-14 - swfdec = throw "swfdec has been removed as broken and unmaintained."; # Added 2020-08-23 + svgcleaner = throw "svgcleaner has been removed"; # Added 2021-11-17 + swec = throw "swec has been removed; broken and abandoned upstream"; # Added 2021-10-14 + swfdec = throw "swfdec has been removed as broken and unmaintained"; # Added 2020-08-23 swtpm-tpm2 = swtpm; # Added 2021-02-26 syncthing-cli = syncthing; # Added 2021-04-06 synology-drive = throw "synology-drive has been superseded by synology-drive-client"; # Added 2021-11-26 @@ -1166,8 +1167,8 @@ mapAliases ({ tahoelafs = throw "'tahoelafs' has been renamed to/replaced by 'tahoe-lafs'"; # Converted to throw 2022-02-22 tangogps = foxtrotgps; # Added 2020-01-26 - tdm = throw "tdm has been removed because nobody can figure out how to fix OpenAL integration. Use precompiled binary and `steam-run` instead."; - telepathy-qt = throw "telepathy-qt no longer supports Qt 4. Please use libsForQt5.telepathy instead."; # Added 2020-07-02 + tdm = throw "tdm has been removed because nobody can figure out how to fix OpenAL integration. Use precompiled binary and `steam-run` instead"; + telepathy-qt = throw "telepathy-qt no longer supports Qt 4. Please use libsForQt5.telepathy instead"; # Added 2020-07-02 telepathy_farstream = throw "'telepathy_farstream' has been renamed to/replaced by 'telepathy-farstream'"; # Converted to throw 2022-02-22 telepathy_gabble = throw "'telepathy_gabble' has been renamed to/replaced by 'telepathy-gabble'"; # Converted to throw 2022-02-22 telepathy_glib = throw "'telepathy_glib' has been renamed to/replaced by 'telepathy-glib'"; # Converted to throw 2022-02-22 @@ -1192,17 +1193,17 @@ mapAliases ({ tex-gyre-schola-math = throw "'tex-gyre-schola-math' has been renamed to/replaced by 'tex-gyre-math.schola'"; # Converted to throw 2022-02-22 tex-gyre-termes-math = throw "'tex-gyre-termes-math' has been renamed to/replaced by 'tex-gyre-math.termes'"; # Converted to throw 2022-02-22 tftp_hpa = throw "'tftp_hpa' has been renamed to/replaced by 'tftp-hpa'"; # Converted to throw 2022-02-22 - thunderbird-68 = throw "Thunderbird 68 reached end of life with its final release 68.12.0 on 2020-08-25."; + thunderbird-68 = throw "Thunderbird 68 reached end of life with its final release 68.12.0 on 2020-08-25"; thunderbird-bin-68 = thunderbird-68; timescale-prometheus = promscale; # Added 2020-09-29 timetable = throw "timetable has been removed, as the upstream project has been abandoned"; # Added 2021-09-05 tkcvs = tkrev; # Added 2022-03-07 togglesg-download = throw "togglesg-download was removed 2021-04-30 as it's unmaintained"; # Added 2021-04-30 - tomboy = throw "tomboy is not actively developed anymore and was removed."; # Added 2022-01-27 - tomcat7 = throw "tomcat7 has been removed from nixpkgs as it has reached end of life."; # Added 2021-06-16 - tomcat8 = throw "tomcat8 has been removed from nixpkgs as it has reached end of life."; # Added 2021-06-16 - tomcat85 = throw "tomcat85 has been removed from nixpkgs as it has reached end of life."; # Added 2020-03-11 - tor-arm = throw "tor-arm has been removed from nixpkgs as the upstream project has been abandoned."; # Added 2022-01-01 + tomboy = throw "tomboy is not actively developed anymore and was removed"; # Added 2022-01-27 + tomcat7 = throw "tomcat7 has been removed from nixpkgs as it has reached end of life"; # Added 2021-06-16 + tomcat8 = throw "tomcat8 has been removed from nixpkgs as it has reached end of life"; # Added 2021-06-16 + tomcat85 = throw "tomcat85 has been removed from nixpkgs as it has reached end of life"; # Added 2020-03-11 + tor-arm = throw "tor-arm has been removed from nixpkgs as the upstream project has been abandoned"; # Added 2022-01-01 torbrowser = throw "'torbrowser' has been renamed to/replaced by 'tor-browser-bundle-bin'"; # Converted to throw 2022-02-22 torch = throw "torch has been removed, as the upstream project has been abandoned"; # Added 2020-03-28 torch-hdf5 = throw "torch-hdf5 has been removed, as the upstream project has been abandoned"; # Added 2020-03-28 @@ -1213,21 +1214,21 @@ mapAliases ({ transmission-remote-cli = "transmission-remote-cli has been removed, as the upstream project has been abandoned. Please use tremc instead"; # Added 2020-10-14 transmission_gtk = throw "'transmission_gtk' has been renamed to/replaced by 'transmission-gtk'"; # Converted to throw 2022-02-22 transmission_remote_gtk = throw "'transmission_remote_gtk' has been renamed to/replaced by 'transmission-remote-gtk'"; # Converted to throw 2022-02-22 - transporter = throw "transporter has been removed. It was archived upstream, so it's considered abandoned."; - trebleshot = throw "trebleshot has been removed. It was archived upstream, so it's considered abandoned."; - trilium = throw "trilium has been removed. Please use trilium-desktop instead."; # Added 2020-04-29 + transporter = throw "transporter has been removed. It was archived upstream, so it's considered abandoned"; + trebleshot = throw "trebleshot has been removed. It was archived upstream, so it's considered abandoned"; + trilium = throw "trilium has been removed. Please use trilium-desktop instead"; # Added 2020-04-29 truecrypt = throw "'truecrypt' has been renamed to/replaced by 'veracrypt'"; # Converted to throw 2022-02-22 tshark = throw "'tshark' has been renamed to/replaced by 'wireshark-cli'"; # Converted to throw 2022-02-22 tuijam = throw "tuijam has been removed because Google Play Music was discontinued"; # Added 2021-03-07 turbo-geth = throw "turbo-geth has been renamed to erigon"; # Added 2021-08-08 - typora = throw "Newer versions of typora use anti-user encryption and refuse to start. As such it has been removed."; # Added 2021-09-11 + typora = throw "Newer versions of typora use anti-user encryption and refuse to start. As such it has been removed"; # Added 2021-09-11 ### U ### uberwriter = apostrophe; # Added 2020-04-23 ubootBeagleboneBlack = ubootAmx335xEVM; # Added 2020-01-21 ucsFonts = throw "'ucsFonts' has been renamed to/replaced by 'ucs-fonts'"; # Converted to throw 2022-02-22 - ufraw = throw "ufraw is unmaintained and has been removed from nixpkgs. Its successor, nufraw, doesn't seem to be stable enough. Consider using Darktable for now."; # Added 2020-01-11 + ufraw = throw "ufraw is unmaintained and has been removed from nixpkgs. Its successor, nufraw, doesn't seem to be stable enough. Consider using Darktable for now"; # Added 2020-01-11 ultrastardx-beta = throw "'ultrastardx-beta' has been renamed to/replaced by 'ultrastardx'"; # Converted to throw 2022-02-22 unicorn-emu = unicorn; # Added 2020-10-29 unifiStable = unifi6; # Added 2020-12-28 @@ -1251,13 +1252,13 @@ mapAliases ({ v8_3_16_14 = throw "v8_3_16_14 was removed in 2019-11-01: no longer referenced by other packages"; vamp = { vampSDK = vamp-plugin-sdk; }; # Added 2020-03-26 vapor = throw "vapor was removed because it was unmaintained and upstream service no longer exists"; - varnish62 = throw "varnish62 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # Added 2021-07-26 - varnish63 = throw "varnish63 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # Added 2021-07-26 - varnish65 = throw "varnish65 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # Added 2021-09-15 + varnish62 = throw "varnish62 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release"; # Added 2021-07-26 + varnish63 = throw "varnish63 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release"; # Added 2021-07-26 + varnish65 = throw "varnish65 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release"; # Added 2021-09-15 vdirsyncerStable = vdirsyncer; # Added 2020-11-08, see https://github.com/NixOS/nixpkgs/issues/103026#issuecomment-723428168 venus = throw "venus has been removed from nixpkgs, as it's unmaintained"; # Added 2021-02-05 vimbWrapper = throw "'vimbWrapper' has been renamed to/replaced by 'vimb'"; # Converted to throw 2022-02-22 - vimprobable2 = throw "vimprobable2 has been removed from nixpkgs. It relied on webkitgtk24x that has been removed."; # Added 2019-12-05 + vimprobable2 = throw "vimprobable2 has been removed from nixpkgs. It relied on webkitgtk24x that has been removed"; # Added 2019-12-05 vimprobable2-unwrapped = vimprobable2; # Added 2019-12-05 virtinst = throw "virtinst has been removed, as it's included in virt-manager"; # Added 2021-07-21 virtuoso = throw "virtuoso has been removed, because it was unmaintained in nixpkgs"; # added 2021-12-15 @@ -1265,28 +1266,28 @@ mapAliases ({ virtmanager-qt = virt-manager-qt; # Added 2019-10-29 virtviewer = throw "'virtviewer' has been renamed to/replaced by 'virt-viewer'"; # Converted to throw 2022-02-22 vorbisTools = throw "'vorbisTools' has been renamed to/replaced by 'vorbis-tools'"; # Converted to throw 2022-02-22 - vtun = throw "vtune has been removed as it's unmaintained upstream."; # Added 2021-10-29 + vtun = throw "vtune has been removed as it's unmaintained upstream"; # Added 2021-10-29 ### W ### way-cooler = throw "way-cooler is abandoned by its author: https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"; # Added 2020-01-13 webkit = throw "'webkit' has been renamed to/replaced by 'webkitgtk'"; # Converted to throw 2022-02-22 - webkitgtk24x-gtk2 = throw "webkitgtk24x-gtk2 has been removed because it's insecure. Please use webkitgtk."; # Added 2019-12-05 - webkitgtk24x-gtk3 = throw "webkitgtk24x-gtk3 has been removed because it's insecure. Please use webkitgtk."; # Added 2019-12-05 + webkitgtk24x-gtk2 = throw "webkitgtk24x-gtk2 has been removed because it's insecure. Please use webkitgtk"; # Added 2019-12-05 + webkitgtk24x-gtk3 = throw "webkitgtk24x-gtk3 has been removed because it's insecure. Please use webkitgtk"; # Added 2019-12-05 weechat-matrix-bridge = throw "'weechat-matrix-bridge' has been renamed to/replaced by 'weechatScripts.weechat-matrix-bridge'"; # Converted to throw 2022-02-22 - whirlpool-gui = throw "whirlpool-gui has been removed as it depended on an insecure version of Electron."; # added 2022-02-08 - wicd = throw "wicd has been removed as it is abandoned."; # Added 2021-09-11 + whirlpool-gui = throw "whirlpool-gui has been removed as it depended on an insecure version of Electron"; # added 2022-02-08 + wicd = throw "wicd has been removed as it is abandoned"; # Added 2021-09-11 wineFull = throw "'wineFull' has been renamed to/replaced by 'winePackages.full'"; # Converted to throw 2022-02-22 wineMinimal = throw "'wineMinimal' has been renamed to/replaced by 'winePackages.minimal'"; # Converted to throw 2022-02-22 wineStable = throw "'wineStable' has been renamed to/replaced by 'winePackages.stable'"; # Converted to throw 2022-02-22 wineStaging = throw "'wineStaging' has been renamed to/replaced by 'wine-staging'"; # Converted to throw 2022-02-22 wineUnstable = throw "'wineUnstable' has been renamed to/replaced by 'winePackages.unstable'"; # Converted to throw 2022-02-22 wineWayland = wine-wayland; - winswitch = throw "winswitch has been removed from nixpkgs."; # Added 2019-12-10 + winswitch = throw "winswitch has been removed from nixpkgs"; # Added 2019-12-10 winusb = throw "'winusb' has been renamed to/replaced by 'woeusb'"; # Converted to throw 2022-02-22 wireguard = throw "'wireguard' has been renamed to/replaced by 'wireguard-tools'"; # Converted to throw 2022-02-22 - wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead."; # Added 2019-11-18 - wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared."; # Added 2022-01-31 + wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead"; # Added 2019-11-18 + wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared"; # Added 2022-01-31 ### X ### @@ -1310,7 +1311,7 @@ mapAliases ({ xf86_input_mtrack has been removed from nixpkgs as it is broken and unmaintained. Working alternatives are libinput and synaptics. ''; - xf86_input_multitouch = throw "xf86_input_multitouch has been removed from nixpkgs."; # Added 2020-01-20 + xf86_input_multitouch = throw "xf86_input_multitouch has been removed from nixpkgs"; # Added 2020-01-20 xlibs = throw "'xlibs' has been renamed to/replaced by 'xorg'"; # Converted to throw 2022-02-22 xpraGtk3 = throw "'xpraGtk3' has been renamed to/replaced by 'xpra'"; # Converted to throw 2022-02-22 xv = xxv; # Added 2020-02-22 @@ -1322,14 +1323,14 @@ mapAliases ({ yarssr = throw "yarssr has been removed as part of the python2 deprecation"; # Added 2022-01-15 youtubeDL = throw "'youtubeDL' has been renamed to/replaced by 'youtube-dl'"; # Converted to throw 2022-02-22 ytop = throw "ytop has been abandoned by upstream. Consider switching to bottom instead"; - yubikey-neo-manager = throw "yubikey-neo-manager has been removed because it was broken. Use yubikey-manager-qt instead."; # Added 2021-03-08 + yubikey-neo-manager = throw "yubikey-neo-manager has been removed because it was broken. Use yubikey-manager-qt instead"; # Added 2021-03-08 yuzu = yuzu-mainline; # Added 2021-01-25 ### Z ### zabbix30 = throw "Zabbix 3.0.x is end of life, see https://www.zabbix.com/documentation/5.0/manual/installation/upgrade/sources for a direct upgrade path to 5.0.x"; # Added 2021-04-07 zdfmediathk = throw "'zdfmediathk' has been renamed to/replaced by 'mediathekview'"; # Converted to throw 2022-02-22 - zimreader = throw "zimreader has been removed from nixpkgs as it has been replaced by kiwix-serve and stopped working with modern zimlib versions."; # Added 2021-03-28 + zimreader = throw "zimreader has been removed from nixpkgs as it has been replaced by kiwix-serve and stopped working with modern zimlib versions"; # Added 2021-03-28 # TODO(ekleog): add ‘wasm’ alias to ‘ocamlPackages.wasm’ after 19.03 # branch-off @@ -1354,17 +1355,17 @@ mapAliases ({ zeroc_ice = pkgs.zeroc-ice; # Added 2020-06-22 - zeromq3 = throw "zeromq3 has been deprecated by zeromq4."; + zeromq3 = throw "zeromq3 has been deprecated by zeromq4"; jzmq = throw "jzmq has been removed from nixpkgs, as it was unmaintained"; avian = throw '' The package doesn't compile anymore on NixOS and both development & maintenance is abandoned by upstream. ''; # Cleanup before 21.11, Added 2021-05-07 - ant-dracula-theme = throw "ant-dracula-theme is now dracula-theme, and theme name is Dracula instead of Ant-Dracula."; + ant-dracula-theme = throw "ant-dracula-theme is now dracula-theme, and theme name is Dracula instead of Ant-Dracula"; dina-font-pcf = dina-font; # Added 2020-02-09 - dnscrypt-proxy = throw "dnscrypt-proxy has been removed. Please use dnscrypt-proxy2."; # Added 2020-02-02 - gcc-snapshot = throw "gcc-snapshot: Marked as broken for >2 years, additionally this 'snapshot' pointed to a fairly old one from gcc7."; + dnscrypt-proxy = throw "dnscrypt-proxy has been removed. Please use dnscrypt-proxy2"; # Added 2020-02-02 + gcc-snapshot = throw "gcc-snapshot: Marked as broken for >2 years, additionally this 'snapshot' pointed to a fairly old one from gcc7"; gnatsd = nats-server; # Added 2019-10-28 obs-gstreamer = throw '' @@ -1394,16 +1395,16 @@ mapAliases ({ Its new location is obs-studio-plugins.wlrobs. ''; # Added 2021-06-01 - oraclejdk8psu = throw "The *psu versions of oraclejdk are no longer provided by upstream."; # Cleanup before 20.09 + oraclejdk8psu = throw "The *psu versions of oraclejdk are no longer provided by upstream"; # Cleanup before 20.09 oraclejre8psu = oraclejdk8psu; # Cleanup before 20.09 oraclejdk8psu_distro = oraclejdk8psu; # Cleanup before 20.09 posix_man_pages = man-pages-posix; # Added 2021-04-15 riot-desktop = throw "riot-desktop is now element-desktop!"; # Cleanup before 21.05 riot-web = throw "riot-web is now element-web"; # Cleanup before 21.05 sqldeveloper_18 = throw "sqldeveloper_18 is not maintained anymore!"; # Added 2020-02-04 - todolist = throw "todolist is now ultralist."; # Added 2020-12-27 - tor-browser-bundle = throw "tor-browser-bundle was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead."; # Added 2020-01-10 - tor-browser-unwrapped = throw "tor-browser-unwrapped was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead."; # Added 2020-01-10 + todolist = throw "todolist is now ultralist"; # Added 2020-12-27 + tor-browser-bundle = throw "tor-browser-bundle was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead"; # Added 2020-01-10 + tor-browser-unwrapped = throw "tor-browser-unwrapped was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead"; # Added 2020-01-10 ttyrec = ovh-ttyrec; # Added 2021-01-02 zplugin = zinit; # Added 2021-01-30 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d333d4953e89e..6def81921b688 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4600,21 +4600,26 @@ with pkgs; cudnnPackages = callPackages ../development/libraries/science/math/cudnn { }; inherit (cudnnPackages) cudnn_7_4_cudatoolkit_10_0 - cudnn_7_6_cudatoolkit_10_2 - cudnn_7_6_cudatoolkit_10 + cudnn_7_6_cudatoolkit_10_0 + cudnn_7_6_cudatoolkit_10_1 + cudnn_8_1_cudatoolkit_10_2 cudnn_8_1_cudatoolkit_11_0 cudnn_8_1_cudatoolkit_11_1 cudnn_8_1_cudatoolkit_11_2 + cudnn_8_1_cudatoolkit_10 cudnn_8_1_cudatoolkit_11 + cudnn_8_3_cudatoolkit_10_2 cudnn_8_3_cudatoolkit_11_0 cudnn_8_3_cudatoolkit_11_1 cudnn_8_3_cudatoolkit_11_2 cudnn_8_3_cudatoolkit_11_3 cudnn_8_3_cudatoolkit_11_4 cudnn_8_3_cudatoolkit_11_5 + cudnn_8_3_cudatoolkit_10 cudnn_8_3_cudatoolkit_11; - cudnn = cudnn_7_6_cudatoolkit_10; + # TODO(samuela): This is old and should be upgraded to 8.3 at some point. + cudnn = cudnn_7_6_cudatoolkit_10_1; cutensorPackages = callPackages ../development/libraries/science/math/cutensor { }; inherit (cutensorPackages) @@ -6770,6 +6775,8 @@ with pkgs; invidious = callPackage ../servers/invidious { # needs a specific version of lsquic lsquic = callPackage ../servers/invidious/lsquic.nix { }; + # normally video.js is downloaded at build time + videojs = callPackage ../servers/invidious/videojs.nix { }; }; invoice2data = callPackage ../tools/text/invoice2data { }; @@ -9546,7 +9553,7 @@ with pkgs; roc-toolkit = callPackage ../development/libraries/audio/roc-toolkit { }; - rockbox_utility = libsForQt5.callPackage ../tools/misc/rockbox-utility { }; + rockbox-utility = libsForQt5.callPackage ../tools/misc/rockbox-utility { }; rosegarden = libsForQt514.callPackage ../applications/audio/rosegarden { }; @@ -27367,6 +27374,8 @@ with pkgs; magic-wormhole = with python3Packages; toPythonApplication magic-wormhole; + magic-wormhole-rs = callPackage ../tools/networking/magic-wormhole-rs/default.nix { }; + magnetophonDSP = lib.recurseIntoAttrs { CharacterCompressor = callPackage ../applications/audio/magnetophonDSP/CharacterCompressor { }; CompBus = callPackage ../applications/audio/magnetophonDSP/CompBus { }; @@ -28497,7 +28506,7 @@ with pkgs; protonvpn-cli = callPackage ../applications/networking/protonvpn-cli { }; - protonvpn-gui = callPackage ../applications/networking/protonvpn-gui { }; + protonvpn-gui = python3Packages.callPackage ../applications/networking/protonvpn-gui { }; ps2client = callPackage ../applications/networking/ps2client { }; diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix index 9d34ddb3685fb..1945762c50dfd 100644 --- a/pkgs/top-level/stage.nix +++ b/pkgs/top-level/stage.nix @@ -64,6 +64,30 @@ } @args: let + # This is a function from parsed platforms (like + # stdenv.hostPlatform.parsed) to parsed platforms. + makeMuslParsedPlatform = parsed: + # The following line guarantees that the output of this function + # is a well-formed platform with no missing fields. It will be + # uncommented in a separate PR, in case it breaks the build. + #(x: lib.trivial.pipe x [ (x: builtins.removeAttrs x [ "_type" ]) lib.systems.parse.mkSystem ]) + (parsed // { + abi = { + gnu = lib.systems.parse.abis.musl; + gnueabi = lib.systems.parse.abis.musleabi; + gnueabihf = lib.systems.parse.abis.musleabihf; + gnuabin32 = lib.systems.parse.abis.muslabin32; + gnuabi64 = lib.systems.parse.abis.muslabi64; + # The following two entries ensure that this function is idempotent. + musleabi = lib.systems.parse.abis.musleabi; + musleabihf = lib.systems.parse.abis.musleabihf; + muslabin32 = lib.systems.parse.abis.muslabin32; + muslabi64 = lib.systems.parse.abis.muslabi64; + }.${parsed.abi.name} + or lib.systems.parse.abis.musl; + }); + + stdenvAdapters = self: super: let res = import ../stdenv/adapters.nix { @@ -188,14 +212,7 @@ let })] ++ overlays; ${if stdenv.hostPlatform == stdenv.buildPlatform then "localSystem" else "crossSystem"} = { - parsed = stdenv.hostPlatform.parsed // { - abi = { - gnu = lib.systems.parse.abis.musl; - gnueabi = lib.systems.parse.abis.musleabi; - gnueabihf = lib.systems.parse.abis.musleabihf; - }.${stdenv.hostPlatform.parsed.abi.name} - or lib.systems.parse.abis.musl; - }; + parsed = makeMuslParsedPlatform stdenv.hostPlatform.parsed; }; } else throw "Musl libc only supports Linux systems."; @@ -239,16 +256,7 @@ let } // lib.optionalAttrs stdenv.hostPlatform.isLinux { crossSystem = { isStatic = true; - parsed = stdenv.hostPlatform.parsed // { - abi = { - gnu = lib.systems.parse.abis.musl; - gnueabi = lib.systems.parse.abis.musleabi; - gnueabihf = lib.systems.parse.abis.musleabihf; - musleabi = lib.systems.parse.abis.musleabi; - musleabihf = lib.systems.parse.abis.musleabihf; - }.${stdenv.hostPlatform.parsed.abi.name} - or lib.systems.parse.abis.musl; - }; + parsed = makeMuslParsedPlatform stdenv.hostPlatform.parsed; } // lib.optionalAttrs (stdenv.hostPlatform.system == "powerpc64-linux") { gcc.abi = "elfv2"; }; |