From aaffc6447d4cd66be202fb34b31bacf947f0f709 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= Date: Fri, 30 Apr 2021 22:56:38 +0200 Subject: [PATCH 01/25] wireguard module: Quote all command line arguments correctly. Standard best-practice shell quoting, which can prevent the most horrible production accidents. Note that we cannot use `+ optionalString someBool '' someString''` because Nix's multi-line ''double-quoted'' strings remove leading whitespace. --- .../modules/services/networking/wireguard.nix | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/nixos/modules/services/networking/wireguard.nix b/nixos/modules/services/networking/wireguard.nix index 34c869345357..3e097063ae28 100644 --- a/nixos/modules/services/networking/wireguard.nix +++ b/nixos/modules/services/networking/wireguard.nix @@ -286,16 +286,18 @@ let }; script = let - wg_setup = "${wg} set ${interfaceName} peer ${peer.publicKey}" + - optionalString (psk != null) " preshared-key ${psk}" + - optionalString (peer.endpoint != null) " endpoint ${peer.endpoint}" + - optionalString (peer.persistentKeepalive != null) " persistent-keepalive ${toString peer.persistentKeepalive}" + - optionalString (peer.allowedIPs != []) " allowed-ips ${concatStringsSep "," peer.allowedIPs}"; + wg_setup = concatStringsSep " " ( + [ ''${wg} set ${interfaceName} peer "${peer.publicKey}"'' ] + ++ optional (psk != null) ''preshared-key "${psk}"'' + ++ optional (peer.endpoint != null) ''endpoint "${peer.endpoint}"'' + ++ optional (peer.persistentKeepalive != null) ''persistent-keepalive "${toString peer.persistentKeepalive}"'' + ++ optional (peer.allowedIPs != []) ''allowed-ips "${concatStringsSep "," peer.allowedIPs}"'' + ); route_setup = optionalString interfaceCfg.allowedIPsAsRoutes (concatMapStringsSep "\n" (allowedIP: - "${ip} route replace ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}" + ''${ip} route replace "${allowedIP}" dev "${interfaceName}" table "${interfaceCfg.table}"'' ) peer.allowedIPs); in '' ${wg_setup} @@ -306,10 +308,10 @@ let route_destroy = optionalString interfaceCfg.allowedIPsAsRoutes (concatMapStringsSep "\n" (allowedIP: - "${ip} route delete ${allowedIP} dev ${interfaceName} table ${interfaceCfg.table}" + ''${ip} route delete "${allowedIP}" dev "${interfaceName}" table "${interfaceCfg.table}"'' ) peer.allowedIPs); in '' - ${wg} set ${interfaceName} peer ${peer.publicKey} remove + ${wg} set "${interfaceName}" peer "${peer.publicKey}" remove ${route_destroy} ''; }; @@ -345,23 +347,25 @@ let ${values.preSetup} - ${ipPreMove} link add dev ${name} type wireguard - ${optionalString (values.interfaceNamespace != null && values.interfaceNamespace != values.socketNamespace) "${ipPreMove} link set ${name} netns ${ns}"} + ${ipPreMove} link add dev "${name}" type wireguard + ${optionalString (values.interfaceNamespace != null && values.interfaceNamespace != values.socketNamespace) ''${ipPreMove} link set "${name}" netns "${ns}"''} ${concatMapStringsSep "\n" (ip: - "${ipPostMove} address add ${ip} dev ${name}" + ''${ipPostMove} address add "${ip}" dev "${name}"'' ) values.ips} - ${wg} set ${name} private-key ${privKey} ${ - optionalString (values.listenPort != null) " listen-port ${toString values.listenPort}"} + ${concatStringsSep " " ( + [ ''${wg} set "${name}" private-key "${privKey}"'' ] + ++ optional (values.listenPort != null) ''listen-port "${toString values.listenPort}"'' + )} - ${ipPostMove} link set up dev ${name} + ${ipPostMove} link set up dev "${name}" ${values.postSetup} ''; postStop = '' - ${ipPostMove} link del dev ${name} + ${ipPostMove} link del dev "${name}" ${values.postShutdown} ''; }; @@ -371,7 +375,7 @@ let nsList = filter (ns: ns != null) [ src dst ]; ns = last nsList; in - if (length nsList > 0 && ns != "init") then "ip netns exec ${ns} ${cmd}" else cmd; + if (length nsList > 0 && ns != "init") then ''ip netns exec "${ns}" "${cmd}"'' else cmd; in { From f8108be127b4fdfe250c640a8f35ecb8c763bc1a Mon Sep 17 00:00:00 2001 From: L3af Date: Fri, 7 May 2021 11:35:28 +0000 Subject: [PATCH 02/25] maintainers: add l3eaf --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e9d5e811149f..39a4eec211ff 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5497,6 +5497,12 @@ }]; name = "Las Safin"; }; + l3af = { + email = "L3afMeAlon3@gmail.com"; + github = "L3afMe"; + githubId = 72546287; + name = "L3af"; + }; laikq = { email = "gwen@quasebarth.de"; github = "laikq"; From 190a599b31e8d7c8bc65098eeeaf83f9b03d3f9f Mon Sep 17 00:00:00 2001 From: L3af Date: Fri, 7 May 2021 11:43:52 +0000 Subject: [PATCH 03/25] tsukae: init at unstable-2021-04-19 --- pkgs/applications/misc/tsukae/default.nix | 26 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/applications/misc/tsukae/default.nix diff --git a/pkgs/applications/misc/tsukae/default.nix b/pkgs/applications/misc/tsukae/default.nix new file mode 100644 index 000000000000..a1670f4b88d5 --- /dev/null +++ b/pkgs/applications/misc/tsukae/default.nix @@ -0,0 +1,26 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "tsukae"; + version = "unstable-2021-04-19"; + + src = fetchFromGitHub { + owner = "irevenko"; + repo = pname; + rev = "8111dddd67e4b4f83ae4bca7d7305f6dc64e77cd"; + sha256 = "sha256-1y/WYLW6/HMGmuaX2wOlQbwYn0LcgQCMb4qw8BtCgxQ="; + }; + + vendorSha256 = "sha256-mVhc9roT7rm9WMwck7jobjn9ykKQRgWJAqM75AmhMN0="; + + runVend = true; + + meta = with lib; { + description = "Show off your most used shell commands."; + homepage = "https://github.com/irevenko/tsukae"; + license = licenses.mit; + mainProgram = pname; + maintainers = with maintainers; [ l3af ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 89586589245b..278eb36ed7ab 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31176,6 +31176,8 @@ in python = python3; }; + tsukae = callPackage ../applications/misc/tsukae { }; + tsung = callPackage ../applications/networking/tsung {}; bcompare = libsForQt5.callPackage ../applications/version-management/bcompare {}; From 62d2d1953e6bc4549883b11c1ff22728dfbfbbe4 Mon Sep 17 00:00:00 2001 From: L3af Date: Sat, 8 May 2021 22:15:57 +0000 Subject: [PATCH 04/25] tsukae: remove platform specifics Co-authored-by: Sandro --- pkgs/applications/misc/tsukae/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/applications/misc/tsukae/default.nix b/pkgs/applications/misc/tsukae/default.nix index a1670f4b88d5..f4ebaa41efb0 100644 --- a/pkgs/applications/misc/tsukae/default.nix +++ b/pkgs/applications/misc/tsukae/default.nix @@ -21,6 +21,5 @@ buildGoModule rec { license = licenses.mit; mainProgram = pname; maintainers = with maintainers; [ l3af ]; - platforms = platforms.linux ++ platforms.darwin; }; } From 357cf46c8d753d08b5e9c837640aa43557b3675f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= Date: Fri, 30 Apr 2021 23:00:29 +0200 Subject: [PATCH 05/25] wireguard module: Add `dynamicEndpointRefreshSeconds` option. See for an intro: https://wiki.archlinux.org/index.php/WireGuard#Endpoint_with_changing_IP --- .../modules/services/networking/wireguard.nix | 73 +++++++++++++++++-- 1 file changed, 65 insertions(+), 8 deletions(-) diff --git a/nixos/modules/services/networking/wireguard.nix b/nixos/modules/services/networking/wireguard.nix index 3e097063ae28..6d4d8d617d25 100644 --- a/nixos/modules/services/networking/wireguard.nix +++ b/nixos/modules/services/networking/wireguard.nix @@ -198,7 +198,32 @@ let example = "demo.wireguard.io:12913"; type = with types; nullOr str; description = ''Endpoint IP or hostname of the peer, followed by a colon, - and then a port number of the peer.''; + and then a port number of the peer. + + Warning for endpoints with changing IPs: + The WireGuard kernel side cannot perform DNS resolution. + Thus DNS resolution is done once by the wg userspace + utility, when setting up WireGuard. Consequently, if the IP address + behind the name changes, WireGuard will not notice. + This is especially common for dynamic-DNS setups, but also applies to + any other DNS-based setup. + If you do not use IP endpoints, you likely want to set + + to refresh the IPs periodically. + ''; + }; + + dynamicEndpointRefreshSeconds = mkOption { + default = 0; + example = 5; + type = with types; int; + description = '' + Periodically re-execute the wg utility every + this many seconds in order to let WireGuard notice DNS / hostname + changes. + + Setting this to 0 disables periodic reexecution. + ''; }; persistentKeepalive = mkOption { @@ -256,12 +281,18 @@ let ''; }; - generatePeerUnit = { interfaceName, interfaceCfg, peer }: + peerUnitServiceName = interfaceName: publicKey: dynamicRefreshEnabled: let keyToUnitName = replaceChars [ "/" "-" " " "+" "=" ] [ "-" "\\x2d" "\\x20" "\\x2b" "\\x3d" ]; - unitName = keyToUnitName peer.publicKey; + unitName = keyToUnitName publicKey; + refreshSuffix = optionalString dynamicRefreshEnabled "-refresh"; + in + "wireguard-${interfaceName}-peer-${unitName}${refreshSuffix}"; + + generatePeerUnit = { interfaceName, interfaceCfg, peer }: + let psk = if peer.presharedKey != null then pkgs.writeText "wg-psk" peer.presharedKey @@ -270,7 +301,12 @@ let dst = interfaceCfg.interfaceNamespace; ip = nsWrap "ip" src dst; wg = nsWrap "wg" src dst; - in nameValuePair "wireguard-${interfaceName}-peer-${unitName}" + dynamicRefreshEnabled = peer.dynamicEndpointRefreshSeconds != 0; + # We generate a different name (a `-refresh` suffix) when `dynamicEndpointRefreshSeconds` + # to avoid that the same service switches `Type` (`oneshot` vs `simple`), + # with the intent to make scripting more obvious. + serviceName = peerUnitServiceName interfaceName peer.publicKey dynamicRefreshEnabled; + in nameValuePair serviceName { description = "WireGuard Peer - ${interfaceName} - ${peer.publicKey}"; requires = [ "wireguard-${interfaceName}.service" ]; @@ -280,10 +316,21 @@ let environment.WG_ENDPOINT_RESOLUTION_RETRIES = "infinity"; path = with pkgs; [ iproute2 wireguard-tools ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; + serviceConfig = + if !dynamicRefreshEnabled + then + { + Type = "oneshot"; + RemainAfterExit = true; + } + else + { + Type = "simple"; # re-executes 'wg' indefinitely + # Note that `Type = "oneshot"` services with `RemainAfterExit = true` + # cannot be used with systemd timers (see `man systemd.timer`), + # which is why `simple` with a loop is the best choice here. + # It also makes starting and stopping easiest. + }; script = let wg_setup = concatStringsSep " " ( @@ -302,6 +349,16 @@ let in '' ${wg_setup} ${route_setup} + + ${optionalString (peer.dynamicEndpointRefreshSeconds != 0) '' + # Re-execute 'wg' periodically to notice DNS / hostname changes. + # Note this will not time out on transient DNS failures such as DNS names + # because we have set 'WG_ENDPOINT_RESOLUTION_RETRIES=infinity'. + # Also note that 'wg' limits its maximum retry delay to 20 seconds as of writing. + while ${wg_setup}; do + sleep "${toString peer.dynamicEndpointRefreshSeconds}"; + done + ''} ''; postStop = let From 0da74875c087768badedc694ca1ea44a3a290a8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= Date: Fri, 30 Apr 2021 23:25:18 +0200 Subject: [PATCH 06/25] release notes: Mention WireGuard `dynamicEndpointRefreshSeconds` --- nixos/doc/manual/release-notes/rl-2105.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2105.xml b/nixos/doc/manual/release-notes/rl-2105.xml index 6e4a9e7114b0..99e0110fdcbf 100644 --- a/nixos/doc/manual/release-notes/rl-2105.xml +++ b/nixos/doc/manual/release-notes/rl-2105.xml @@ -348,6 +348,15 @@ which is the new stable release. OpenAFS 1.6 was removed. + + + The WireGuard module gained a new option + + that implements refreshing the IP of DNS-based endpoints periodically + (which WireGuard itself + cannot do). + + MariaDB has been updated to 10.5. From 9ab3e892fe4c07a87fadad6bb3d9e8c7657414cd Mon Sep 17 00:00:00 2001 From: Samuel Ainsworth Date: Wed, 28 Apr 2021 21:15:08 -0700 Subject: [PATCH 07/25] julia_15: run test suite and mark as broken Fixes https://github.com/NixOS/nixpkgs/issues/121101. --- pkgs/development/compilers/julia/1.5.nix | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/pkgs/development/compilers/julia/1.5.nix b/pkgs/development/compilers/julia/1.5.nix index 271ea64a0948..67ac12d54385 100644 --- a/pkgs/development/compilers/julia/1.5.nix +++ b/pkgs/development/compilers/julia/1.5.nix @@ -38,16 +38,6 @@ stdenv.mkDerivation rec { postPatch = '' patchShebangs . contrib - for i in backtrace cmdlineargs; do - mv test/$i.jl{,.off} - touch test/$i.jl - done - rm stdlib/Sockets/test/runtests.jl && touch stdlib/Sockets/test/runtests.jl - rm stdlib/Distributed/test/runtests.jl && touch stdlib/Distributed/test/runtests.jl - # LibGit2 fails with a weird error, so we skip it as well now - rm stdlib/LibGit2/test/runtests.jl && touch stdlib/LibGit2/test/runtests.jl - sed -e 's/Invalid Content-Type:/invalid Content-Type:/g' -i ./stdlib/LibGit2/test/libgit2.jl - sed -e 's/Failed to resolve /failed to resolve /g' -i ./stdlib/LibGit2/test/libgit2.jl ''; dontUseCmakeConfigure = true; @@ -112,11 +102,6 @@ stdenv.mkDerivation rec { openspecfun pcre2 lapack ]; - # Julia's tests require read/write access to $HOME - preCheck = '' - export HOME="$NIX_BUILD_TOP" - ''; - preBuild = '' sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile @@ -125,6 +110,13 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + # Julia's tests require read/write access to $HOME + preCheck = '' + export HOME="$NIX_BUILD_TOP" + ''; + doCheck = true; + checkTarget = "test"; + postInstall = '' # Symlink shared libraries from LD_LIBRARY_PATH into lib/julia, # as using a wrapper with LD_LIBRARY_PATH causes segmentation @@ -148,6 +140,6 @@ stdenv.mkDerivation rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ raskin rob garrison ]; platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ]; - broken = stdenv.isi686; + broken = true; }; } From 1e7f3bf0beae3c6fe916cc0a3e74391d79f98789 Mon Sep 17 00:00:00 2001 From: Samuel Ainsworth Date: Tue, 18 May 2021 01:01:34 -0700 Subject: [PATCH 08/25] julia_15: add comment clarifying broken-ness --- pkgs/development/compilers/julia/1.5.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/compilers/julia/1.5.nix b/pkgs/development/compilers/julia/1.5.nix index 67ac12d54385..06c0e2a30e8c 100644 --- a/pkgs/development/compilers/julia/1.5.nix +++ b/pkgs/development/compilers/julia/1.5.nix @@ -140,6 +140,8 @@ stdenv.mkDerivation rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ raskin rob garrison ]; platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ]; + # Unfortunately, this derivation does not pass Julia's test suite. See + # https://github.com/NixOS/nixpkgs/pull/121114. broken = true; }; } From 50cb5bc35cd6d158672e0bc37cf0157790035168 Mon Sep 17 00:00:00 2001 From: Louis Bettens Date: Tue, 18 May 2021 15:03:45 +0200 Subject: [PATCH 09/25] oraclejdk*: use latest ffmpeg --- pkgs/development/compilers/oraclejdk/jdk-linux-base.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix index 2cb8a459e644..ca8f4106f3db 100644 --- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix +++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix @@ -18,7 +18,7 @@ , config , glib , libxml2 -, ffmpeg_3 +, ffmpeg , libxslt , libGL , freetype @@ -168,7 +168,7 @@ let result = stdenv.mkDerivation rec { * libXt is only needed on amd64 */ libraries = - [stdenv.cc.libc glib libxml2 ffmpeg_3 libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk-pixbuf atk] ++ + [stdenv.cc.libc glib libxml2 ffmpeg libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk-pixbuf atk] ++ lib.optionals swingSupport [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc]; rpath = lib.strings.makeLibraryPath libraries; From 703ef9e892148441d0234a4b289f86c5a3ec3ff7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 23 May 2021 12:23:44 +0200 Subject: [PATCH 10/25] python3Packages.adafruit-platformdetect: 3.13.1 -> 3.13.2 --- .../python-modules/adafruit-platformdetect/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix index c7fc8b0b5742..39d460911335 100644 --- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix +++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "adafruit-platformdetect"; - version = "3.13.1"; + version = "3.13.2"; src = fetchPypi { pname = "Adafruit-PlatformDetect"; inherit version; - sha256 = "sha256-SUK2EpOHCFWm4zV+yRtzz81B0GMcwRsVnTOh2msSsSk="; + sha256 = "sha256-ke2BDpMOTcYq37Eb8DX+gIztqHKstsTmjZL8Uw5C0/Q="; }; nativeBuildInputs = [ setuptools-scm ]; From c1d698e5c27a319b7a985f4e713746c05daddfd8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 23 May 2021 13:12:56 +0200 Subject: [PATCH 11/25] sn0int: 0.20.1 -> 0.21.1 --- pkgs/tools/security/sn0int/default.nix | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/security/sn0int/default.nix b/pkgs/tools/security/sn0int/default.nix index 93b7eb0ecbe4..5d1244e86196 100644 --- a/pkgs/tools/security/sn0int/default.nix +++ b/pkgs/tools/security/sn0int/default.nix @@ -1,22 +1,34 @@ -{ lib, fetchFromGitHub, rustPlatform, libsodium, libseccomp, sqlite, pkg-config +{ lib +, fetchFromGitHub +, rustPlatform +, libsodium +, libseccomp +, sqlite +, pkg-config }: rustPlatform.buildRustPackage rec { pname = "sn0int"; - version = "0.20.1"; + version = "0.21.1"; src = fetchFromGitHub { owner = "kpcyrd"; repo = pname; rev = "v${version}"; - sha256 = "sha256-vnSpItch9RDUyYxERKRwYPmRLwRG9gAI7iIY+7iRs1w="; + sha256 = "sha256-LjNOaqYGlhF0U+YxoLLmmXgxPa8f+t9BSm+qO23waaI="; }; - cargoSha256 = "sha256-qgOZxuzAeDgT93TccfnVTj3OQzalHfude0ETTVMM2Pk="; + cargoSha256 = "sha256-ruK+qDIqrltNcErBnrcHdPfVKmwPwiPfq42A/el206c="; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + pkg-config + ]; - buildInputs = [ libsodium libseccomp sqlite ]; + buildInputs = [ + libsodium + libseccomp + sqlite + ]; # One of the dependencies (chrootable-https) tries to read "/etc/resolv.conf" # in "checkPhase", hence fails in sandbox of "nix". From 81e04717e8f30496ec9ec9edb6b0588deca41ee2 Mon Sep 17 00:00:00 2001 From: Tom Fitzhenry Date: Sat, 10 Apr 2021 19:06:17 +1000 Subject: [PATCH 12/25] nixos/manual: document how to install over a serial port https://github.com/NixOS/nixpkgs/issues/58198 --- nixos/doc/manual/installation/installing.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml index 02f6bd6bed4e..f03b9443d23b 100644 --- a/nixos/doc/manual/installation/installing.xml +++ b/nixos/doc/manual/installation/installing.xml @@ -46,6 +46,12 @@ to increase the font size. + + To install over a serial port connect with 115200n8 + (e.g. picocom -b 115200 /dev/ttyUSB0). When the + bootloader lists boot entries, select the serial console boot entry. + +
Networking in the installer From e56bed6bdb14416b37ed8557c70020a48a21e86f Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Thu, 15 Apr 2021 20:38:05 +0200 Subject: [PATCH 13/25] mesa: 21.0.3 -> 21.1.1 Note: This update likely causes some issues when running an application that has a direct dependency on Mesa (e.g. Sway and XWayland) and was compiled against a different Nixpkgs revision. See 7106fca0fe4 for more details regarding that issue. --- pkgs/development/libraries/mesa/default.nix | 4 ++-- .../libraries/mesa/missing-includes.patch | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 6c44441dd92d..e7ad10076863 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -31,7 +31,7 @@ with lib; let # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule - version = "21.0.3"; + version = "21.1.1"; branch = versions.major version; self = stdenv.mkDerivation { @@ -45,7 +45,7 @@ self = stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz" "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" ]; - sha256 = "0awiyvicvcn3b18x0vx5ik3ly0k3k51ivz2ljj8pnx6ms95nyp2n"; + sha256 = "1lldnf307w6j0d874544f1dinn0gnnp1ds2xph8qjkh5g6imxhpf"; }; prePatch = "patchShebangs ."; diff --git a/pkgs/development/libraries/mesa/missing-includes.patch b/pkgs/development/libraries/mesa/missing-includes.patch index 72488893c6b6..c17d54908553 100644 --- a/pkgs/development/libraries/mesa/missing-includes.patch +++ b/pkgs/development/libraries/mesa/missing-includes.patch @@ -9,14 +9,14 @@ #include "pipe/p_compiler.h" #include "pipe/p_state.h" ---- ./src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h -+++ ./src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h +--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h ++++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h @@ -28,6 +28,8 @@ #ifndef RADV_AMDGPU_WINSYS_H #define RADV_AMDGPU_WINSYS_H - + +#include + - #include "radv_radeon_winsys.h" - #include "ac_gpu_info.h" - #include "addrlib/addrinterface.h" + #include + #include + #include "util/list.h" From cdd56a425c117088088257ecdf853f31aaa2770c Mon Sep 17 00:00:00 2001 From: Sumner Evans Date: Mon, 24 May 2021 11:01:35 -0600 Subject: [PATCH 14/25] element: 1.7.28 -> 1.7.29 --- .../instant-messengers/element/element-desktop-package.json | 2 +- .../networking/instant-messengers/element/element-desktop.nix | 4 ++-- .../networking/instant-messengers/element/element-web.nix | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json index 4c5d21cd9b7c..901e056025be 100644 --- a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json +++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json @@ -2,7 +2,7 @@ "name": "element-desktop", "productName": "Element", "main": "src/electron-main.js", - "version": "1.7.28", + "version": "1.7.29", "description": "A feature-rich client for Matrix.org", "author": "Element", "repository": { diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix index 8c51750ad430..8487b1d180f6 100644 --- a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix +++ b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix @@ -8,12 +8,12 @@ let executableName = "element-desktop"; - version = "1.7.28"; + version = "1.7.29"; src = fetchFromGitHub { owner = "vector-im"; repo = "element-desktop"; rev = "v${version}"; - sha256 = "0p88gw1y37q35qqf94w3qlb84s2shm41n1pw5fgx0c0ymlzpl636"; + sha256 = "sha256-nCtgVVOdjZ/OK8gMInBbNeuJadchDYUO2UQxEmcOm4s="; }; in mkYarnPackage rec { name = "element-desktop-${version}"; diff --git a/pkgs/applications/networking/instant-messengers/element/element-web.nix b/pkgs/applications/networking/instant-messengers/element/element-web.nix index fab1a7f86880..92f9fa0ab19e 100644 --- a/pkgs/applications/networking/instant-messengers/element/element-web.nix +++ b/pkgs/applications/networking/instant-messengers/element/element-web.nix @@ -12,11 +12,11 @@ let in stdenv.mkDerivation rec { pname = "element-web"; - version = "1.7.28"; + version = "1.7.29"; src = fetchurl { url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz"; - sha256 = "1adlpwq37yzmd3fq1pzbi476p4kr5hn5b5kwyd6cr5by0gsgkgyk"; + sha256 = "sha256-wFC0B9v0V3JK9sLKH7GviVO/JEjePOJ06PwRq/MVqDE="; }; installPhase = '' From b6933f88a513de3b7d6179a1b812dd7444a4d592 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Gaspard?= Date: Mon, 24 May 2021 22:24:30 +0200 Subject: [PATCH 15/25] fetchurl: add testpypi mirror (#123146) This should make it easier to run nixpkgs-based tests from versions that are still only on test-pypi, and should not cost anything significant. --- pkgs/build-support/fetchurl/mirrors.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index b61cd9a0d902..292baed20dfe 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -417,6 +417,11 @@ "https://pypi.io/packages/source/" ]; + # Python Test-PyPI mirror + testpypi = [ + "https://test.pypi.io/packages/source/" + ]; + # Mozilla projects. mozilla = [ "http://download.cdn.mozilla.net/pub/mozilla.org/" From d706be982af01d39a22fdea6a6d3cfe067909d77 Mon Sep 17 00:00:00 2001 From: David Date: Mon, 24 May 2021 16:51:25 +0200 Subject: [PATCH 16/25] rebar3: 3.16.0 -> 3.16.1 --- pkgs/development/tools/build-managers/rebar3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix index d6798c2d8e39..d551b98b5b84 100644 --- a/pkgs/development/tools/build-managers/rebar3/default.nix +++ b/pkgs/development/tools/build-managers/rebar3/default.nix @@ -3,7 +3,7 @@ writeScript, common-updater-scripts, coreutils, git, gnused, nix, rebar3-nix }: let - version = "3.16.0"; + version = "3.16.1"; owner = "erlang"; deps = import ./rebar-deps.nix { inherit fetchFromGitHub fetchHex; }; rebar3 = stdenv.mkDerivation rec { @@ -16,7 +16,7 @@ let inherit owner; repo = pname; rev = version; - sha256 = "1yqvm37l5rn5dyg4sc2hv47930s2524qrdpnjwy3zqa27r7k5n36"; + sha256 = "0dhwlx7zykf9y3znk2k8fxrq5j43jy3c3gd76k74q34p1xbajgzr"; }; buildInputs = [ erlang ]; From 5ba789eeca29a85144d1b611e52d09b132bedd91 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 24 May 2021 22:01:59 +0200 Subject: [PATCH 17/25] gnomeExtensions: normalize pnames They should have gnome-shell-extension prefix like most other extension packages. This is what other distros listed on Repology use so Repology will be able to unify them. Exception is chrome-gnome-shell, which is estabilished under that name. --- pkgs/desktops/gnome/extensions/arcmenu/default.nix | 2 +- pkgs/desktops/gnome/extensions/buildGnomeExtension.nix | 2 +- pkgs/desktops/gnome/extensions/dash-to-dock/default.nix | 2 +- pkgs/desktops/gnome/extensions/dash-to-panel/default.nix | 2 +- pkgs/desktops/gnome/extensions/emoji-selector/default.nix | 2 +- pkgs/desktops/gnome/extensions/freon/default.nix | 2 +- pkgs/desktops/gnome/extensions/gsconnect/default.nix | 2 +- pkgs/desktops/gnome/extensions/impatience/default.nix | 2 +- pkgs/desktops/gnome/extensions/noannoyance/default.nix | 2 +- pkgs/desktops/gnome/extensions/system-monitor/default.nix | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/desktops/gnome/extensions/arcmenu/default.nix b/pkgs/desktops/gnome/extensions/arcmenu/default.nix index 8fa29126a30c..c3ed99b788b8 100644 --- a/pkgs/desktops/gnome/extensions/arcmenu/default.nix +++ b/pkgs/desktops/gnome/extensions/arcmenu/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitLab, glib, gettext, substituteAll, gnome-menus }: stdenv.mkDerivation rec { - pname = "gnome-shell-arcmenu"; + pname = "gnome-shell-extension-arcmenu"; version = "10"; src = fetchFromGitLab { diff --git a/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix b/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix index ad405fae34b0..2d12b9983d50 100644 --- a/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix +++ b/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix @@ -19,7 +19,7 @@ let }: stdenv.mkDerivation { - inherit pname; + pname = "gnome-shell-extension-${pname}"; version = builtins.toString version; src = fetchzip { url = "https://extensions.gnome.org/extension-data/${ diff --git a/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix b/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix index 45233e52f893..97815a844d75 100644 --- a/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix +++ b/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix @@ -5,7 +5,7 @@ }: stdenv.mkDerivation rec { - pname = "gnome-shell-dash-to-dock"; + pname = "gnome-shell-extension-dash-to-dock"; version = "69"; src = fetchFromGitHub { diff --git a/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix b/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix index 7a9dc066cc77..440b8d76b171 100644 --- a/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix +++ b/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub, glib, gettext }: stdenv.mkDerivation rec { - pname = "gnome-shell-dash-to-panel"; + pname = "gnome-shell-extension-dash-to-panel"; version = "40"; src = fetchFromGitHub { diff --git a/pkgs/desktops/gnome/extensions/emoji-selector/default.nix b/pkgs/desktops/gnome/extensions/emoji-selector/default.nix index 5470dc996be0..70f09463d121 100644 --- a/pkgs/desktops/gnome/extensions/emoji-selector/default.nix +++ b/pkgs/desktops/gnome/extensions/emoji-selector/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub, glib, gettext }: stdenv.mkDerivation rec { - pname = "gnome-shell-emoji-selector"; + pname = "gnome-shell-extension-emoji-selector"; version = "19"; src = fetchFromGitHub { diff --git a/pkgs/desktops/gnome/extensions/freon/default.nix b/pkgs/desktops/gnome/extensions/freon/default.nix index f30e2f6f8a25..7734558eb20b 100644 --- a/pkgs/desktops/gnome/extensions/freon/default.nix +++ b/pkgs/desktops/gnome/extensions/freon/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub, glib }: stdenv.mkDerivation rec { - pname = "gnome-shell-freon"; + pname = "gnome-shell-extension-freon"; version = "40"; uuid = "freon@UshakovVasilii_Github.yahoo.com"; diff --git a/pkgs/desktops/gnome/extensions/gsconnect/default.nix b/pkgs/desktops/gnome/extensions/gsconnect/default.nix index c924b4e3eca0..8906ebcddeca 100644 --- a/pkgs/desktops/gnome/extensions/gsconnect/default.nix +++ b/pkgs/desktops/gnome/extensions/gsconnect/default.nix @@ -18,7 +18,7 @@ }: stdenv.mkDerivation rec { - pname = "gnome-shell-gsconnect"; + pname = "gnome-shell-extension-gsconnect"; version = "46"; outputs = [ "out" "installedTests" ]; diff --git a/pkgs/desktops/gnome/extensions/impatience/default.nix b/pkgs/desktops/gnome/extensions/impatience/default.nix index 82551efef3c7..95477222163c 100644 --- a/pkgs/desktops/gnome/extensions/impatience/default.nix +++ b/pkgs/desktops/gnome/extensions/impatience/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub, glib }: stdenv.mkDerivation rec { - pname = "gnome-shell-impatience"; + pname = "gnome-shell-extension-impatience"; version = "unstable-2019-09-23"; src = fetchFromGitHub { diff --git a/pkgs/desktops/gnome/extensions/noannoyance/default.nix b/pkgs/desktops/gnome/extensions/noannoyance/default.nix index 4763d9057551..1a53e6abd550 100644 --- a/pkgs/desktops/gnome/extensions/noannoyance/default.nix +++ b/pkgs/desktops/gnome/extensions/noannoyance/default.nix @@ -3,7 +3,7 @@ , fetchFromGitHub }: stdenv.mkDerivation rec { - pname = "noannoyance"; + pname = "gnome-shell-extension-noannoyance"; version = "unstable-2021-01-17"; src = fetchFromGitHub { diff --git a/pkgs/desktops/gnome/extensions/system-monitor/default.nix b/pkgs/desktops/gnome/extensions/system-monitor/default.nix index a6cfad43b663..d141ab9dcaa4 100644 --- a/pkgs/desktops/gnome/extensions/system-monitor/default.nix +++ b/pkgs/desktops/gnome/extensions/system-monitor/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop, gnome }: stdenv.mkDerivation rec { - pname = "gnome-shell-system-monitor"; + pname = "gnome-shell-extension-system-monitor"; version = "unstable-2021-05-04"; src = fetchFromGitHub { From 72a1b62b472025ed3bd716fce8a102cad81cbd04 Mon Sep 17 00:00:00 2001 From: happysalada Date: Wed, 19 May 2021 13:59:52 +0900 Subject: [PATCH 18/25] mixRelease: integrate mix2nix --- pkgs/development/beam-modules/mix-release.nix | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/pkgs/development/beam-modules/mix-release.nix b/pkgs/development/beam-modules/mix-release.nix index 320fcaa9c9b7..774af2e5ec98 100644 --- a/pkgs/development/beam-modules/mix-release.nix +++ b/pkgs/development/beam-modules/mix-release.nix @@ -8,15 +8,23 @@ , enableDebugInfo ? false , mixEnv ? "prod" , compileFlags ? [ ] -, mixDeps ? null + # mix fixed output derivation dependencies +, mixFodDeps ? null + # mix dependencies generated by mix2nix + # this assumes each dependency is built by buildMix or buildRebar3 + # each dependency needs to have a setup hook to add the lib path to $ERL_LIBS + # this is how mix will find dependencies +, mixNixDeps ? { } , ... }@attrs: let - overridable = builtins.removeAttrs attrs [ "compileFlags" ]; - + # remove non standard attributes that cannot be coerced to strings + overridable = builtins.removeAttrs attrs [ "compileFlags" "mixNixDeps" ]; in +assert mixNixDeps != { } -> mixFodDeps == null; stdenv.mkDerivation (overridable // { nativeBuildInputs = nativeBuildInputs ++ [ erlang hex elixir makeWrapper git ]; + buildInputs = builtins.attrValues mixNixDeps; MIX_ENV = mixEnv; MIX_DEBUG = if enableDebugInfo then 1 else 0; @@ -29,17 +37,17 @@ stdenv.mkDerivation (overridable // { postUnpack = '' export HEX_HOME="$TEMPDIR/hex" export MIX_HOME="$TEMPDIR/mix" - # compilation of the dependencies will require - # that the dependency path is writable - # thus a copy to the TEMPDIR is inevitable here - export MIX_DEPS_PATH="$TEMPDIR/deps" # Rebar export REBAR_GLOBAL_CONFIG_DIR="$TEMPDIR/rebar3" export REBAR_CACHE_DIR="$TEMPDIR/rebar3.cache" - ${lib.optionalString (mixDeps != null) '' - cp --no-preserve=mode -R "${mixDeps}" "$MIX_DEPS_PATH" + ${lib.optionalString (mixFodDeps != null) '' + # compilation of the dependencies will require + # that the dependency path is writable + # thus a copy to the TEMPDIR is inevitable here + export MIX_DEPS_PATH="$TEMPDIR/deps" + cp --no-preserve=mode -R "${mixFodDeps}" "$MIX_DEPS_PATH" '' } From fdc024bcffc378567c541e4eb2d52d10b2345425 Mon Sep 17 00:00:00 2001 From: happysalada Date: Wed, 19 May 2021 14:00:12 +0900 Subject: [PATCH 19/25] elixir_ls: update to new mixRelease api --- pkgs/development/beam-modules/elixir_ls.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/beam-modules/elixir_ls.nix b/pkgs/development/beam-modules/elixir_ls.nix index b61db92584d1..5afab0e1babd 100644 --- a/pkgs/development/beam-modules/elixir_ls.nix +++ b/pkgs/development/beam-modules/elixir_ls.nix @@ -14,7 +14,7 @@ mixRelease rec { fetchSubmodules = true; }; - mixDeps = fetchMixDeps { + mixFodDeps = fetchMixDeps { pname = "mix-deps-${pname}"; inherit src version; sha256 = "0r9x223imq4j9pn9niskyaybvk7jmq8dxcyzk7kwfsi128qig1a1"; From 6d1621c324e284283140b3723b6db5aee81e262a Mon Sep 17 00:00:00 2001 From: happysalada Date: Mon, 24 May 2021 10:27:16 +0900 Subject: [PATCH 20/25] beam: fix documentation --- doc/languages-frameworks/beam.section.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/languages-frameworks/beam.section.md b/doc/languages-frameworks/beam.section.md index 7d1d02f05a0e..2d32dec72053 100644 --- a/doc/languages-frameworks/beam.section.md +++ b/doc/languages-frameworks/beam.section.md @@ -86,7 +86,7 @@ let version = "0.0.1"; mixEnv = "prod"; - mixDeps = packages.fetchMixDeps { + mixFodDeps = packages.fetchMixDeps { pname = "mix-deps-${pname}"; inherit src mixEnv version; # nix will complain and tell you the right value to replace this with @@ -130,7 +130,7 @@ let in packages.mixRelease { - inherit src pname version mixEnv mixDeps; + inherit src pname version mixEnv mixFodDeps; # if you have build time environment variables add them here MY_ENV_VAR="my_value"; preInstall = '' From f55c3e2f21073be564fed477847ad5bd649c9fb9 Mon Sep 17 00:00:00 2001 From: Thomas Depierre Date: Mon, 17 May 2021 10:09:51 +0200 Subject: [PATCH 21/25] beam-packages: drop erlang R18 R19 R20 and cuter --- doc/languages-frameworks/beam.section.md | 4 +- nixos/doc/manual/release-notes/rl-2105.xml | 8 ++++ pkgs/development/beam-modules/default.nix | 4 -- pkgs/development/interpreters/erlang/R18.nix | 34 ------------- pkgs/development/interpreters/erlang/R19.nix | 19 -------- pkgs/development/interpreters/erlang/R20.nix | 10 ---- .../tools/erlang/cuter/default.nix | 46 ------------------ pkgs/top-level/all-packages.nix | 6 +-- pkgs/top-level/beam-packages.nix | 48 +------------------ 9 files changed, 14 insertions(+), 165 deletions(-) delete mode 100644 pkgs/development/interpreters/erlang/R18.nix delete mode 100644 pkgs/development/interpreters/erlang/R19.nix delete mode 100644 pkgs/development/interpreters/erlang/R20.nix delete mode 100644 pkgs/development/tools/erlang/cuter/default.nix diff --git a/doc/languages-frameworks/beam.section.md b/doc/languages-frameworks/beam.section.md index 2d32dec72053..68e84d2f9904 100644 --- a/doc/languages-frameworks/beam.section.md +++ b/doc/languages-frameworks/beam.section.md @@ -14,9 +14,9 @@ nixpkgs follows the [official elixir deprecation schedule](https://hexdocs.pm/el All BEAM-related expressions are available via the top-level `beam` attribute, which includes: -- `interpreters`: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (`beam.interpreters.erlangR19`, etc), Elixir (`beam.interpreters.elixir`) and LFE (Lisp Flavoured Erlang) (`beam.interpreters.lfe`). +- `interpreters`: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (`beam.interpreters.erlangR22`, etc), Elixir (`beam.interpreters.elixir`) and LFE (Lisp Flavoured Erlang) (`beam.interpreters.lfe`). -- `packages`: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. `beam.packages.erlangR19`. +- `packages`: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. `beam.packages.erlang22`. The default Erlang compiler, defined by `beam.interpreters.erlang`, is aliased as `erlang`. The default BEAM package set is defined by `beam.packages.erlang` and aliased at the top level as `beamPackages`. diff --git a/nixos/doc/manual/release-notes/rl-2105.xml b/nixos/doc/manual/release-notes/rl-2105.xml index 9ce24700686a..07b28147d696 100644 --- a/nixos/doc/manual/release-notes/rl-2105.xml +++ b/nixos/doc/manual/release-notes/rl-2105.xml @@ -1133,6 +1133,14 @@ environment.systemPackages = [ Nixpkgs now contains automatically packaged GNOME Shell extensions from the GNOME Extensions portal. You can find them, filed by their UUID, under gnome38Extensions attribute for GNOME 3.38 and under gnome40Extensions for GNOME 40. Finally, the gnomeExtensions attribute contains extensions for the latest GNOME Shell version in Nixpkgs, listed under a more human-friendly name. The unqualified attribute scope also contains manually packaged extensions. Note that the automatically packaged extensions are provided for convenience and are not checked or guaranteed to work. + + + Erlang/OTP versions older than R21 got dropped. We also dropped the cuter package, as it was purely an example of how to build a package. + We also dropped lfe_1_2 as it could not build with R21+. + Moving forward, we expect to only support 3 yearly releases of OTP. + + +
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix index 8fe7de96b244..203668c3cb87 100644 --- a/pkgs/development/beam-modules/default.nix +++ b/pkgs/development/beam-modules/default.nix @@ -77,7 +77,6 @@ let elixir_ls = callPackage ./elixir_ls.nix { inherit elixir fetchMixDeps mixRelease; }; lfe = lfe_1_3; - lfe_1_2 = lib'.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; }; lfe_1_3 = lib'.callLFE ../interpreters/lfe/1.3.nix { inherit erlang buildRebar3 buildHex; }; # Non hex packages. Examples how to build Rebar/Mix packages with and @@ -85,9 +84,6 @@ let hex = callPackage ./hex { }; webdriver = callPackage ./webdriver { }; relxExe = callPackage ../tools/erlang/relx-exe { }; - - # An example of Erlang/C++ package. - cuter = callPackage ../tools/erlang/cuter { }; }; in makeExtensible packages diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix deleted file mode 100644 index c99596ea026f..000000000000 --- a/pkgs/development/interpreters/erlang/R18.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ mkDerivation, fetchpatch }: - -let - rmAndPwdPatch = fetchpatch { - url = "https://github.com/erlang/otp/commit/98b8650d22e94a5ff839170833f691294f6276d0.patch"; - sha256 = "0zjs7as83prgq4d5gaw2cmnajnsprdk8cjl5kklknx0pc2b3hfg5"; - }; - - envAndCpPatch = fetchpatch { - url = "https://github.com/erlang/otp/commit/9f9841eb7327c9fe73e84e197fd2965a97b639cf.patch"; - sha256 = "00fx5wc88ki3z71z5q4xzi9h3whhjw1zblpn09w995ygn07m9qhm"; - }; - - makeOrderingPatch = fetchpatch { - url = "https://github.com/erlang/otp/commit/2f1a37f1011ff9d129bc35a6efa0ab937a2aa0e9.patch"; - sha256 = "0xfa6hzxh9d7qllkyidcgh57xrrx11w65y7s1hyg52alm06l6b9n"; - }; - - makeParallelInstallPatch = fetchpatch { - url ="https://github.com/erlang/otp/commit/de8fe86f67591dd992bae33f7451523dab36e5bd.patch"; - sha256 = "1cj9fjhdng6yllajjm3gkk04ag9bwyb3n70hrb5nk6c292v8a45c"; - }; - -in mkDerivation { - version = "18.3.4.11"; - sha256 = "190xbv77v5x2g8xkzdg9bpwa1ylkc18d03ag2a0frcwcv76x53k1"; - - patches = [ - rmAndPwdPatch - envAndCpPatch - makeOrderingPatch - makeParallelInstallPatch - ]; -} diff --git a/pkgs/development/interpreters/erlang/R19.nix b/pkgs/development/interpreters/erlang/R19.nix deleted file mode 100644 index 65ac57413f60..000000000000 --- a/pkgs/development/interpreters/erlang/R19.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ mkDerivation, fetchpatch }: - -mkDerivation { - version = "19.3.6.13"; - sha256 = "1zbg54p7pdr8bjyrxvi7vs41vgamqa8lsynnm6ac6845q0xwpwid"; - - patches = [ - # macOS 10.13 crypto fix from OTP-20.1.2 - (fetchpatch { - name = "darwin-crypto.patch"; - url = "https://github.com/erlang/otp/commit/882c90f72ba4e298aa5a7796661c28053c540a96.patch"; - sha256 = "1gggzpm8ssamz6975z7px0g8qq5i4jqw81j846ikg49c5cxvi0hi"; - }) - ]; - - prePatch = '' - substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}" - ''; -} diff --git a/pkgs/development/interpreters/erlang/R20.nix b/pkgs/development/interpreters/erlang/R20.nix deleted file mode 100644 index dfa363c0f25c..000000000000 --- a/pkgs/development/interpreters/erlang/R20.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ mkDerivation }: - -mkDerivation { - version = "20.3.8.26"; - sha256 = "062405s59hkdkmw2dryq0qc1k03jsncj7yqisgj35x9sqpzm4w7a"; - - prePatch = '' - substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}" - ''; -} diff --git a/pkgs/development/tools/erlang/cuter/default.nix b/pkgs/development/tools/erlang/cuter/default.nix deleted file mode 100644 index 44ed61ac1d5f..000000000000 --- a/pkgs/development/tools/erlang/cuter/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ lib, stdenv, autoreconfHook, which, writeText, makeWrapper, fetchFromGitHub, erlang -, z3, python }: - -stdenv.mkDerivation rec { - pname = "cuter"; - version = "0.1"; - - src = fetchFromGitHub { - owner = "aggelgian"; - repo = "cuter"; - rev = "v${version}"; - sha256 = "1ax1pj6ji4w2mg3p0nh2lzmg3n9mgfxk4cf07pll51yrcfpfrnfv"; - }; - - setupHook = writeText "setupHook.sh" '' - addToSearchPath ERL_LIBS "$1/lib/erlang/lib/" - ''; - - nativeBuildInputs = [ autoreconfHook makeWrapper which ]; - buildInputs = [ python python.pkgs.setuptools z3.python erlang ]; - - buildFlags = [ "PWD=$(out)/lib/erlang/lib/cuter-${version}" "cuter_target" ]; - configurePhase = '' - autoconf - ./configure --prefix $out - ''; - - installPhase = '' - mkdir -p "$out/lib/erlang/lib/cuter-${version}" - mkdir -p "$out/bin" - cp -r * "$out/lib/erlang/lib/cuter-${version}" - cp cuter "$out/bin/cuter" - wrapProgram $out/bin/cuter \ - --prefix PATH : "${python}/bin" \ - --suffix PYTHONPATH : "${z3}/${python.sitePackages}" \ - --suffix ERL_LIBS : "$out/lib/erlang/lib" - ''; - - meta = { - description = "A concolic testing tool for the Erlang functional programming language"; - license = lib.licenses.gpl3; - homepage = "https://github.com/aggelgian/cuter"; - maintainers = with lib.maintainers; [ ericbmerritt ]; - platforms = with lib.platforms; unix; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 04626fa74517..7247a76ec096 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12038,7 +12038,7 @@ in beam_nox = callPackage ./beam-packages.nix { wxSupport = false; }; inherit (beam.interpreters) - erlang erlangR24 erlangR23 erlangR22 erlangR21 erlangR20 erlangR19 erlangR18 + erlang erlangR24 erlangR23 erlangR22 erlangR21 erlang_odbc erlang_javac erlang_odbc_javac erlang_basho_R16B02 elixir elixir_1_12 elixir_1_11 elixir_1_10 elixir_1_9 elixir_1_8 elixir_1_7 elixir_ls; @@ -12051,8 +12051,6 @@ in fetchHex beamPackages relxExe; - inherit (beam.packages.erlangR19) cuter lfe_1_2; - inherit (beam.packages.erlangR21) lfe lfe_1_3; groovy = callPackage ../development/interpreters/groovy { }; @@ -19877,7 +19875,7 @@ in xwayland = callPackage ../servers/x11/xorg/xwayland.nix { }; yaws = callPackage ../servers/http/yaws { - erlang = erlangR18; + erlang = erlangR21; }; youtrack = callPackage ../servers/jetbrains/youtrack.nix { }; diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index b6f4418e1115..e4ce5b6d3c84 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -1,4 +1,4 @@ -{ callPackage, wxGTK30, openssl_1_0_2, buildPackages, wxSupport ? true }: +{ callPackage, wxGTK30, buildPackages, wxSupport ? true }: rec { lib = callPackage ../development/beam-modules/lib.nix { }; @@ -72,47 +72,6 @@ rec { odbcSupport = true; }; - # R20 - erlangR20 = lib.callErlang ../development/interpreters/erlang/R20.nix { - wxGTK = wxGTK30; - autoconf = buildPackages.autoconf269; - inherit wxSupport; - }; - erlangR20_odbc = erlangR20.override { odbcSupport = true; }; - erlangR20_javac = erlangR20.override { javacSupport = true; }; - erlangR20_odbc_javac = erlangR20.override { - javacSupport = true; - odbcSupport = true; - }; - - # R19 - erlangR19 = lib.callErlang ../development/interpreters/erlang/R19.nix { - wxGTK = wxGTK30; - openssl = openssl_1_0_2; - autoconf = buildPackages.autoconf269; - inherit wxSupport; - }; - erlangR19_odbc = erlangR19.override { odbcSupport = true; }; - erlangR19_javac = erlangR19.override { javacSupport = true; }; - erlangR19_odbc_javac = erlangR19.override { - javacSupport = true; - odbcSupport = true; - }; - - # R18 - erlangR18 = lib.callErlang ../development/interpreters/erlang/R18.nix { - wxGTK = wxGTK30; - openssl = openssl_1_0_2; - autoconf = buildPackages.autoconf269; - inherit wxSupport; - }; - erlangR18_odbc = erlangR18.override { odbcSupport = true; }; - erlangR18_javac = erlangR18.override { javacSupport = true; }; - erlangR18_odbc_javac = erlangR18.override { - javacSupport = true; - odbcSupport = true; - }; - # Basho fork, using custom builder. erlang_basho_R16B02 = lib.callErlang ../development/interpreters/erlang/R16B02-basho.nix { @@ -128,7 +87,7 @@ rec { inherit (packages.erlang) elixir elixir_1_12 elixir_1_11 elixir_1_10 elixir_1_9 elixir_1_8 elixir_1_7 elixir_ls; - inherit (packages.erlang) lfe lfe_1_2 lfe_1_3; + inherit (packages.erlang) lfe lfe_1_3; }; # Helper function to generate package set with a specific Erlang version. @@ -145,8 +104,5 @@ rec { erlangR23 = packagesWith interpreters.erlangR23; erlangR22 = packagesWith interpreters.erlangR22; erlangR21 = packagesWith interpreters.erlangR21; - erlangR20 = packagesWith interpreters.erlangR20; - erlangR19 = packagesWith interpreters.erlangR19; - erlangR18 = packagesWith interpreters.erlangR18; }; } From 7cb8324a9124b0ee38c97d690e90d1ac571d8c69 Mon Sep 17 00:00:00 2001 From: Felix Rath Date: Tue, 25 May 2021 00:44:09 +0200 Subject: [PATCH 22/25] arc_unpacker: 2019-01-28 -> 2021-05-17, add darwin build (#123393) Co-authored-by: midchildan Co-authored-by: Sandro --- .../arc_unpacker/add-missing-import.patch | 22 ---------------- pkgs/tools/archivers/arc_unpacker/default.nix | 26 ++++++++----------- 2 files changed, 11 insertions(+), 37 deletions(-) delete mode 100644 pkgs/tools/archivers/arc_unpacker/add-missing-import.patch diff --git a/pkgs/tools/archivers/arc_unpacker/add-missing-import.patch b/pkgs/tools/archivers/arc_unpacker/add-missing-import.patch deleted file mode 100644 index d0ed0bb5b830..000000000000 --- a/pkgs/tools/archivers/arc_unpacker/add-missing-import.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 29c0b393283395c69ecdd747e960301e95c93bcf Mon Sep 17 00:00:00 2001 -From: Felix Rath -Date: Sat, 15 May 2021 13:07:38 +0200 -Subject: [PATCH] add missing import - -`std::logic_error` is used in this file, which resides in ``, but was not imported before. This caused the build to fail, see, e.g., https://hydra.nixos.org/build/141997371/log. ---- - src/algo/crypt/lcg.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/algo/crypt/lcg.cc b/src/algo/crypt/lcg.cc -index 6c2a7945..66630a08 100644 ---- a/src/algo/crypt/lcg.cc -+++ b/src/algo/crypt/lcg.cc -@@ -17,6 +17,7 @@ - - #include "algo/crypt/lcg.h" - #include -+#include - - using namespace au; - using namespace au::algo::crypt; diff --git a/pkgs/tools/archivers/arc_unpacker/default.nix b/pkgs/tools/archivers/arc_unpacker/default.nix index c6259cf11b0f..edf67f2f963b 100644 --- a/pkgs/tools/archivers/arc_unpacker/default.nix +++ b/pkgs/tools/archivers/arc_unpacker/default.nix @@ -1,9 +1,9 @@ -{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, boost, libpng, libjpeg, zlib -, openssl, libwebp, catch }: +{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, boost, libpng, libiconv +, libjpeg, zlib, openssl, libwebp, catch }: stdenv.mkDerivation rec { - pname = "arc_unpacker-unstable"; - version = "2019-01-28"; + pname = "arc_unpacker"; + version = "unstable-2021-05-17"; src = fetchFromGitHub { owner = "vn-tools"; @@ -11,19 +11,13 @@ stdenv.mkDerivation rec { # Since the latest release (0.11) doesn't build, we've opened an upstream # issue in https://github.com/vn-tools/arc_unpacker/issues/187 to ask if a # a new release is upcoming - rev = "b9843a13e2b67a618020fc12918aa8d7697ddfd5"; - sha256 = "0wpl30569cip3im40p3n22s11x0172a3axnzwmax62aqlf8kdy14"; + rev = "9c2781fcf3ead7641e873b65899f6abeeabb2fc8"; + sha256 = "1xxrc9nww0rla3yh10z6glv05ax4rynwwbd0cdvkp7gyqzrv97xp"; }; nativeBuildInputs = [ cmake makeWrapper catch ]; - buildInputs = [ boost libpng libjpeg zlib openssl libwebp ]; - - patches = [ - # Add a missing `` import that caused the build to fail. - # Failure: https://hydra.nixos.org/build/141997371/log - # Also submitted as an upstream PR: https://github.com/vn-tools/arc_unpacker/pull/194 - ./add-missing-import.patch - ]; + buildInputs = [ boost libpng libjpeg zlib openssl libwebp ] + ++ lib.optionals stdenv.isDarwin [ libiconv ]; postPatch = '' cp ${catch}/include/catch/catch.hpp tests/test_support/catch.h @@ -51,12 +45,14 @@ stdenv.mkDerivation rec { runHook postInstall ''; - doCheck = true; + # A few tests fail on aarch64 + doCheck = !stdenv.isAarch64; meta = with lib; { description = "A tool to extract files from visual novel archives"; homepage = "https://github.com/vn-tools/arc_unpacker"; license = licenses.gpl3Plus; maintainers = with maintainers; [ midchildan ]; + platforms = platforms.all; }; } From 6ce887b08348d2212cff01ed66f86087298d2261 Mon Sep 17 00:00:00 2001 From: Josh Holland Date: Tue, 25 May 2021 01:01:03 +0100 Subject: [PATCH 23/25] stgit: enable tests and install documentation (#122370) --- .../git-and-tools/stgit/default.nix | 48 ++++++++++++++++--- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/stgit/default.nix b/pkgs/applications/version-management/git-and-tools/stgit/default.nix index 6f4173f30db1..4393a9dc51ce 100644 --- a/pkgs/applications/version-management/git-and-tools/stgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/stgit/default.nix @@ -1,4 +1,13 @@ -{ lib, python3Packages, fetchFromGitHub, git, installShellFiles }: +{ lib +, fetchFromGitHub +, installShellFiles +, python3Packages +, asciidoc +, docbook_xsl +, git +, perl +, xmlto +}: python3Packages.buildPythonApplication rec { pname = "stgit"; @@ -11,16 +20,41 @@ python3Packages.buildPythonApplication rec { sha256 = "sha256-gfPf1yRmx1Mn1TyCBWmjQJBgXLlZrDcew32C9o6uNYk="; }; - nativeBuildInputs = [ installShellFiles ]; + nativeBuildInputs = [ installShellFiles asciidoc xmlto docbook_xsl ]; - checkInputs = [ git ]; + format = "other"; - postInstall = '' - installShellCompletion $out/share/stgit/completion/stg.fish - installShellCompletion --name stg $out/share/stgit/completion/stgit.bash - installShellCompletion --name _stg $out/share/stgit/completion/stgit.zsh + checkInputs = [ git perl ]; + + postPatch = '' + for f in Documentation/*.xsl; do + substituteInPlace $f \ + --replace http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl \ + ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl \ + --replace http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl \ + ${docbook_xsl}/xml/xsl/docbook/html/docbook.xsl + done ''; + makeFlags = [ + "prefix=${placeholder "out"}" + "MAN_BASE_URL=${placeholder "out"}/share/man" + "XMLTO_EXTRA=--skip-validation" + ]; + + buildFlags = [ "all" "doc" ]; + + checkTarget = "test"; + checkFlags = [ "PERL_PATH=${perl}/bin/perl" ]; + + installTargets = [ "install" "install-doc" ]; + postInstall = '' + installShellCompletion --cmd stg \ + --fish $out/share/stgit/completion/stg.fish \ + --bash $out/share/stgit/completion/stgit.bash \ + --zsh $out/share/stgit/completion/stgit.zsh + ''; + meta = with lib; { description = "A patch manager implemented on top of Git"; homepage = "https://stacked-git.github.io/"; From 571d540abf447f97b9b4db4a1e0665ec0a4dc06f Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Tue, 25 May 2021 02:34:21 +0200 Subject: [PATCH 24/25] gnomeExtensions: Fix the package names I did not realize the attribute names are derived from the Nix package names so I accidentally, renamed them in https://github.com/NixOS/nixpkgs/pull/124295. --- pkgs/desktops/gnome/extensions/buildGnomeExtension.nix | 7 +++++-- pkgs/desktops/gnome/extensions/default.nix | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix b/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix index 2d12b9983d50..3be7f5c8789a 100644 --- a/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix +++ b/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix @@ -47,8 +47,11 @@ let license = lib.licenses.gpl2Plus; # https://wiki.gnome.org/Projects/GnomeShell/Extensions/Review#Licensing maintainers = with lib.maintainers; [ piegames ]; }; - # Store the extension's UUID, because we might need it at some places - passthru.extensionUuid = uuid; + passthru = { + extensionPortalSlug = pname; + # Store the extension's UUID, because we might need it at some places + extensionUuid = uuid; + }; }; in lib.makeOverridable buildGnomeExtension diff --git a/pkgs/desktops/gnome/extensions/default.nix b/pkgs/desktops/gnome/extensions/default.nix index f74398977021..1ca9a57eb990 100644 --- a/pkgs/desktops/gnome/extensions/default.nix +++ b/pkgs/desktops/gnome/extensions/default.nix @@ -48,7 +48,7 @@ let )) # Map all extensions to their pname, with potential overwrites (map (extension: - lib.nameValuePair (extensionRenames.${extension.extensionUuid} or extension.pname) extension + lib.nameValuePair (extensionRenames.${extension.extensionUuid} or extension.extensionPortalSlug) extension )) builtins.listToAttrs ]; From 0e91b031f6558a7e8623ccacedfedfa458531ed6 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 24 May 2021 19:43:18 -0400 Subject: [PATCH 25/25] terraform-providers.hydra: 0.1.0 -> 0.1.1 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 2ff13a9a593f..994b212d9df6 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -440,10 +440,10 @@ "owner": "DeterminateSystems", "provider-source-address": "registry.terraform.io/DeterminateSystems/hydra", "repo": "terraform-provider-hydra", - "rev": "v0.1.0", - "sha256": "18c9j54fy1f2sfz317rlv8z7fb18bpc1a0baw1bgl72x5sgil5kv", + "rev": "v0.1.1", + "sha256": "093al7crxgjimy4nnxvb1xy9p7yc0c7gf2rgvql7y3y3n8bz5q1b", "vendorSha256": null, - "version": "0.1.0" + "version": "0.1.1" }, "ibm": { "owner": "IBM-Cloud",