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/24] 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 34c86934535..3e097063ae2 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/24] 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 e9d5e811149..39a4eec211f 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/24] 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 00000000000..a1670f4b88d --- /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 89586589245..278eb36ed7a 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/24] 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 a1670f4b88d..f4ebaa41efb 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/24] 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 3e097063ae2..6d4d8d617d2 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/24] 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 6e4a9e7114b..99e0110fdcb 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/24] 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 271ea64a094..67ac12d5438 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/24] 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 67ac12d5438..06c0e2a30e8 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/24] 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 2cb8a459e64..ca8f4106f3d 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/24] 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 c7fc8b0b574..39d46091133 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/24] 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 93b7eb0ecbe..5d1244e8619 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/24] 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 02f6bd6bed4..f03b9443d23 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 cdd56a425c117088088257ecdf853f31aaa2770c Mon Sep 17 00:00:00 2001 From: Sumner Evans Date: Mon, 24 May 2021 11:01:35 -0600 Subject: [PATCH 13/24] 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 4c5d21cd9b7..901e056025b 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 8c51750ad43..8487b1d180f 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 fab1a7f8688..92f9fa0ab19 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 14/24] 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 b61cd9a0d90..292baed20df 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 15/24] 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 d6798c2d8e3..d551b98b5b8 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 16/24] 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 8fa29126a30..c3ed99b788b 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 ad405fae34b..2d12b9983d5 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 45233e52f89..97815a844d7 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 7a9dc066cc7..440b8d76b17 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 5470dc996be..70f09463d12 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 f30e2f6f8a2..7734558eb20 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 c924b4e3eca..8906ebcddec 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 82551efef3c..95477222163 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 4763d905755..1a53e6abd55 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 a6cfad43b66..d141ab9dcaa 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 17/24] 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 320fcaa9c9b..774af2e5ec9 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 18/24] 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 b61db92584d..5afab0e1bab 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 19/24] 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 7d1d02f05a0..2d32dec7205 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 20/24] 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 2d32dec7205..68e84d2f990 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 9ce24700686..07b28147d69 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 8fe7de96b24..203668c3cb8 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 c99596ea026..00000000000 --- 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 65ac57413f6..00000000000 --- 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 dfa363c0f25..00000000000 --- 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 44ed61ac1d5..00000000000 --- 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 04626fa7451..7247a76ec09 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 b6f4418e111..e4ce5b6d3c8 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 21/24] 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 d0ed0bb5b83..00000000000 --- 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 c6259cf11b0..edf67f2f963 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 22/24] 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 6f4173f30db..4393a9dc51c 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 23/24] 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 2d12b9983d5..3be7f5c8789 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 f7439897702..1ca9a57eb99 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 24/24] 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 2ff13a9a593..994b212d9df 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",