From ff636d58434e8f2bb4e27f96aa19addc45b049eb Mon Sep 17 00:00:00 2001 From: Atemu Date: Fri, 18 Dec 2020 12:08:52 +0100 Subject: [PATCH 01/19] linux_lqx: init at 5.9.15 Same source as linux_zen but with a release schedule that's not quite as bleeding edge. For example, it's currenly on the newest 5.9 release while linux_zen is already on 5.10 and won't release future 5.9 fixes. Originally meant for debianish Distros. --- pkgs/os-specific/linux/kernel/linux-lqx.nix | 24 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 9 ++++++++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/os-specific/linux/kernel/linux-lqx.nix diff --git a/pkgs/os-specific/linux/kernel/linux-lqx.nix b/pkgs/os-specific/linux/kernel/linux-lqx.nix new file mode 100644 index 00000000000..8d17cf545e7 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-lqx.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, buildLinux, ... } @ args: + +let + version = "5.9.15"; +in + +buildLinux (args // { + modDirVersion = "${version}-lqx1"; + inherit version; + isZen = true; + + src = fetchFromGitHub { + owner = "zen-kernel"; + repo = "zen-kernel"; + rev = "v${version}-lqx1"; + sha256 = "1srkybhgm3rsmhs4m8ipv1zi4y1dxnlicgh0x9v2g4myn58lin57"; + }; + + extraMeta = { + branch = "5.9/master"; + maintainers = with stdenv.lib.maintainers; [ atemu ]; + }; + +} // (args.argsOverride or {})) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 25adca6946e..2e1e80d24d6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18448,6 +18448,14 @@ in ]; }; + linux_lqx = callPackage ../os-specific/linux/kernel/linux-lqx.nix { + kernelPatches = [ + kernelPatches.bridge_stp_helper + kernelPatches.request_key_helper + kernelPatches.export_kernel_fpu_functions."5.3" + ]; + }; + /* Linux kernel modules are inherently tied to a specific kernel. So rather than provide specific instances of those packages for a specific kernel, we have a function that builds those packages @@ -18762,6 +18770,7 @@ in # zen-kernel linuxPackages_zen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_zen); + linuxPackages_lqx = recurseIntoAttrs (linuxPackagesFor pkgs.linux_lqx); # A function to build a manually-configured kernel linuxManualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {}); From 1288f41c6ee3506654d2f88a204f2f7951b8f664 Mon Sep 17 00:00:00 2001 From: Aaron Andersen Date: Wed, 16 Dec 2020 20:26:00 -0500 Subject: [PATCH 02/19] redmine: wrap rdm-mailhandler.rb for inbound e-mail capabilities --- pkgs/applications/version-management/redmine/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix index defbf9c2aec..4279fdd5f99 100644 --- a/pkgs/applications/version-management/redmine/default.nix +++ b/pkgs/applications/version-management/redmine/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, bundlerEnv, ruby }: +{ stdenv, fetchurl, bundlerEnv, ruby, makeWrapper }: let version = "4.1.1"; @@ -19,6 +19,7 @@ in sha256 = "1nndy5hz8zvfglxf1f3bsb1pkrfwinfxzkdan1vjs3rkckkszyh5"; }; + nativeBuildInputs = [ makeWrapper ]; buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ]; # taken from https://www.redmine.org/issues/33784 @@ -31,12 +32,14 @@ in ''; installPhase = '' - mkdir -p $out/share + mkdir -p $out/bin $out/share cp -r . $out/share/redmine for i in config files log plugins public/plugin_assets public/themes tmp; do rm -rf $out/share/redmine/$i ln -fs /run/redmine/$i $out/share/redmine/$i done + + makeWrapper ${rubyEnv.wrappedRuby}/bin/ruby $out/bin/rdm-mailhandler.rb --add-flags $out/share/redmine/extra/mail_handler/rdm-mailhandler.rb ''; meta = with stdenv.lib; { From 51031a8d73007115dd5ba9b71449483704699685 Mon Sep 17 00:00:00 2001 From: 0x4A6F <0x4A6F@users.noreply.github.com> Date: Sun, 20 Dec 2020 19:41:51 +0000 Subject: [PATCH 03/19] dasel: add installCheckPhase test --- pkgs/applications/misc/dasel/default.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix index cd2bd5383f9..f5db01ce31f 100644 --- a/pkgs/applications/misc/dasel/default.nix +++ b/pkgs/applications/misc/dasel/default.nix @@ -20,6 +20,17 @@ buildGoModule rec { -ldflags=-s -w -X github.com/tomwright/dasel/internal.Version=${version} ''; + doInstallCheck = true; + installCheckPhase = '' + if [[ "$("$out/bin/${pname}" --version)" == "${pname} version ${version}" ]]; then + echo "" | $out/bin/dasel put object -p yaml -t string -t int "my.favourites" colour=red number=3 | grep -q red + echo '${pname} smoke check passed' + else + echo '${pname} smoke check failed' + return 1 + fi + ''; + meta = with stdenv.lib; { description = "Query and update data structures from the command line"; longDescription = '' From fd2d1eb90788c97b77f561eba97b205ded6c49a5 Mon Sep 17 00:00:00 2001 From: Atemu Date: Tue, 22 Dec 2020 07:23:50 +0100 Subject: [PATCH 04/19] linux_lqx: 5.9.15 -> 5.9.16 --- pkgs/os-specific/linux/kernel/linux-lqx.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-lqx.nix b/pkgs/os-specific/linux/kernel/linux-lqx.nix index 8d17cf545e7..765bee94721 100644 --- a/pkgs/os-specific/linux/kernel/linux-lqx.nix +++ b/pkgs/os-specific/linux/kernel/linux-lqx.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, buildLinux, ... } @ args: let - version = "5.9.15"; + version = "5.9.16"; in buildLinux (args // { @@ -13,7 +13,7 @@ buildLinux (args // { owner = "zen-kernel"; repo = "zen-kernel"; rev = "v${version}-lqx1"; - sha256 = "1srkybhgm3rsmhs4m8ipv1zi4y1dxnlicgh0x9v2g4myn58lin57"; + sha256 = "0ljvqf91nxpql98z75bicg5y3nzkm41rq5b0rm1kcnsk0ji829ps"; }; extraMeta = { From 02437ff86c879a9a5e39398574a79c1fd20c9d08 Mon Sep 17 00:00:00 2001 From: Atemu Date: Sat, 26 Dec 2020 13:30:53 +0100 Subject: [PATCH 05/19] linux_zen: add a description Taken from https://liquorix.net/ who use the same sauce in their kernel --- pkgs/os-specific/linux/kernel/linux-zen.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/kernel/linux-zen.nix b/pkgs/os-specific/linux/kernel/linux-zen.nix index 5ac81d6ebb9..92de750ee3b 100644 --- a/pkgs/os-specific/linux/kernel/linux-zen.nix +++ b/pkgs/os-specific/linux/kernel/linux-zen.nix @@ -19,6 +19,7 @@ buildLinux (args // { extraMeta = { branch = "5.9/master"; maintainers = with stdenv.lib.maintainers; [ atemu andresilva ]; + description = "Built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads."; }; } // (args.argsOverride or {})) From 0fdf69260a0d09abf329eefedc70ae945d8f039f Mon Sep 17 00:00:00 2001 From: Atemu Date: Sat, 26 Dec 2020 13:31:48 +0100 Subject: [PATCH 06/19] linux_lqx: add a description --- pkgs/os-specific/linux/kernel/linux-lqx.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/linux-lqx.nix b/pkgs/os-specific/linux/kernel/linux-lqx.nix index 765bee94721..f2704378979 100644 --- a/pkgs/os-specific/linux/kernel/linux-lqx.nix +++ b/pkgs/os-specific/linux/kernel/linux-lqx.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, buildLinux, ... } @ args: +{ stdenv, fetchFromGitHub, buildLinux, linux_zen, ... } @ args: let version = "5.9.16"; @@ -19,6 +19,7 @@ buildLinux (args // { extraMeta = { branch = "5.9/master"; maintainers = with stdenv.lib.maintainers; [ atemu ]; + description = linux_zen.meta.description + " (Same as linux_zen but less aggressive release schedule)"; }; } // (args.argsOverride or {})) From 71f210137ee023bec874d8b23d82180fb3cdd902 Mon Sep 17 00:00:00 2001 From: Elias Probst Date: Sun, 27 Dec 2020 22:50:41 +0100 Subject: [PATCH 07/19] skypeforlinux: fix Exec paths in further desktop files The `Exec=` paths in `share/applications/skypeforlinux-share.desktop` and `share/kservices5/ServiceMenus/skypeforlinux.desktop` still pointed to `/usr/bin/skypeforlinux`. Apply `substituteInPlace` on them as well. --- .../networking/instant-messengers/skypeforlinux/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix index 47a79c7309d..d4e43ed3a92 100644 --- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix +++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix @@ -108,6 +108,10 @@ in stdenv.mkDerivation { # Fix the desktop link substituteInPlace $out/share/applications/skypeforlinux.desktop \ --replace /usr/bin/ $out/bin/ + substituteInPlace $out/share/applications/skypeforlinux-share.desktop \ + --replace /usr/bin/ $out/bin/ + substituteInPlace $out/share/kservices5/ServiceMenus/skypeforlinux.desktop \ + --replace /usr/bin/ $out/bin/ ''; meta = with stdenv.lib; { From 0e73c49e028f5f7e397777f514192547bc08c2aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Mon, 28 Dec 2020 00:07:25 -0300 Subject: [PATCH 08/19] luna-icons: 0.9 -> 0.9.1 --- pkgs/data/icons/luna-icons/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/icons/luna-icons/default.nix b/pkgs/data/icons/luna-icons/default.nix index 2a75c6c2030..b0de2ac3b13 100644 --- a/pkgs/data/icons/luna-icons/default.nix +++ b/pkgs/data/icons/luna-icons/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "luna-icons"; - version = "0.9"; + version = "0.9.1"; src = fetchFromGitHub { owner = "darkomarko42"; repo = pname; rev = version; - sha256 = "1pwbmw20kzlxnwln92nxq7f5s1xwbpv6j7il7jxymlw0y31rl281"; + sha256 = "0mz5cayjgsc109nv7kdkn3gn1n79bl3hb773lrzrr0k2zblxg353"; }; nativeBuildInputs = [ From 113c1ce19a7e52fb298231abe818995b5666dc69 Mon Sep 17 00:00:00 2001 From: freezeboy Date: Sun, 27 Dec 2020 22:43:24 +0100 Subject: [PATCH 09/19] chamber: 2.8.2 -> 2.9.0 --- pkgs/tools/admin/chamber/default.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/admin/chamber/default.nix b/pkgs/tools/admin/chamber/default.nix index 7a80ed37188..c2126181f36 100644 --- a/pkgs/tools/admin/chamber/default.nix +++ b/pkgs/tools/admin/chamber/default.nix @@ -1,15 +1,23 @@ -{ buildGoModule, lib, fetchFromGitHub }: +{ buildGoModule, lib, fetchFromGitHub, fetchpatch }: + buildGoModule rec { pname = "chamber"; - version = "2.8.2"; + version = "2.9.0"; src = fetchFromGitHub { owner = "segmentio"; repo = pname; rev = "v${version}"; - sha256 = "sha256-7L9RaE4LvHRR6MUimze5QpbnfasWJdY4arfS/Usy2q0="; + sha256 = "eOMY9P/fCYvnl6KGNb6wohykLA0Sj9Ti0L18gx5dqUk="; }; + patches = [ + (fetchpatch { + url = "https://github.com/segmentio/chamber/commit/3aeb416cdf4c232552b653262e37047fc13b1f02.patch"; + sha256 = "cyxNF9ZP4oG+1sfX9yWZCyntpAvwYUh5BzTirZQGejc="; + }) + ]; + vendorSha256 = null; # set the version. see: chamber's Makefile From 9e88afeb10b104c939972bedc83563eb3757ca26 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 28 Dec 2020 14:39:29 +0000 Subject: [PATCH 10/19] =?UTF-8?q?oh-my-zsh:=202020-12-16=20=E2=86=92=20202?= =?UTF-8?q?0-12-27?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/shells/zsh/oh-my-zsh/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix index 38236c117e8..9dcb1a97053 100644 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -5,15 +5,15 @@ , nix, nixfmt, jq, coreutils, gnused, curl, cacert }: stdenv.mkDerivation rec { - version = "2020-12-16"; + version = "2020-12-27"; pname = "oh-my-zsh"; - rev = "b28665aebb4c1b07a57890eb59551bc51d0acf37"; + rev = "90ffda7ed28dd8273b80bd262c6a28be65e4da71"; src = fetchFromGitHub { inherit rev; owner = "ohmyzsh"; repo = "ohmyzsh"; - sha256 = "00m8d992jhbkd8mhm6zhirk9ga3dfzhh8idn2yp40yk7wdbzrd74"; + sha256 = "lYf+NmSgY0WFBMWxVBrh/f2cSJ0WqnaTktQNA0nYZNE="; }; installPhase = '' From d7a66c7d4db56752351e611e8d8a0abb746c2755 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 28 Dec 2020 14:41:06 +0000 Subject: [PATCH 11/19] =?UTF-8?q?sbt-extras:=202020-12-17=20=E2=86=92=2020?= =?UTF-8?q?20-12-26?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../development/tools/build-managers/sbt-extras/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix index cf85d894a37..24c2bdd2af3 100644 --- a/pkgs/development/tools/build-managers/sbt-extras/default.nix +++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { pname = "sbt-extras"; - rev = "32cf43b58f91bd3b7063baa9f2d75d4af45d9c4b"; - version = "2020-12-17"; + rev = "4db8d5c27413f69297adfffac57485d88d73c60e"; + version = "2020-12-26"; src = fetchFromGitHub { owner = "paulp"; repo = "sbt-extras"; inherit rev; - sha256 = "046xr3x73p63xnfakq981gvl299l5fahxgnn0bacvp7pa8g99dv2"; + sha256 = "B8abzdohkw3aPhbENJ2vxZFLWhIpf0HF/uv+WJbVRYg="; }; dontBuild = true; From 83bcf66747fcd7c8050c1c2faef21687e2d85524 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 28 Dec 2020 15:12:10 +0000 Subject: [PATCH 12/19] =?UTF-8?q?xterm:=20362=20=E2=86=92=20363?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/applications/terminal-emulators/xterm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix index 1ec704f5d43..d06a66edf1a 100644 --- a/pkgs/applications/terminal-emulators/xterm/default.nix +++ b/pkgs/applications/terminal-emulators/xterm/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { pname = "xterm"; - version = "362"; + version = "363"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz" "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz" ]; - sha256 = "HU/+Im+o8CGFm7wwB3iP9jpGoxJC2b2ae9fr4k6BrKI="; + sha256 = "2Bo2OeJlUrZ2W9zyi+Hs24rKv5B5VXCOgwrWOX6hC0g="; }; buildInputs = [ From b24e814e14d16bd76abda0017237dc1e2054d798 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 28 Dec 2020 10:19:22 -0500 Subject: [PATCH 13/19] linux: 5.10.2 -> 5.10.3 --- pkgs/os-specific/linux/kernel/linux-5.10.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix index 411a88d9293..783e7cf2d96 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.10.2"; + version = "5.10.3"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "18l1ywp99inm90434fm74w8rjfl4yl974kfcpizg2sp2p8xf311v"; + sha256 = "09cml495fnf52lhlkjxjznw34q5s8arvq7shkb6wjq6fwlrk65gr"; }; } // (args.argsOverride or {})) From ce709163f2df2de0fa8691add5acdecc440d126c Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Mon, 28 Dec 2020 16:49:46 +0100 Subject: [PATCH 14/19] libraspberrypi: fix output libraspberrypi provided an empty directory. The during https://github.com/NixOS/nixpkgs/pull/107637, this was refactored to use cmakeFlags. cmakeFlags can't use `$out` directly. `$out` is a bash variable, so to use it there, `${placeholder "out"}` is needed, otherwise it'll pick `"$out"` literally. --- pkgs/development/libraries/libraspberrypi/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libraspberrypi/default.nix b/pkgs/development/libraries/libraspberrypi/default.nix index 57a8a0e191a..664b8d1a7e0 100644 --- a/pkgs/development/libraries/libraspberrypi/default.nix +++ b/pkgs/development/libraries/libraspberrypi/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config ]; cmakeFlags = [ (if (stdenv.hostPlatform.isAarch64) then "-DARM64=ON" else "-DARM64=OFF") - "-DVMCS_INSTALL_PREFIX=$out" + "-DVMCS_INSTALL_PREFIX=${placeholder "out"}" ]; meta = with stdenv.lib; { From 6792a171e87e64860568f202045d25958f1a49f4 Mon Sep 17 00:00:00 2001 From: Francesco Gazzetta Date: Mon, 28 Dec 2020 16:03:31 +0000 Subject: [PATCH 15/19] mindustry,mindustry-server: 121.4 -> 122 (#107646) --- pkgs/games/mindustry/default.nix | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix index c547fb052aa..423bf4bf9fe 100644 --- a/pkgs/games/mindustry/default.nix +++ b/pkgs/games/mindustry/default.nix @@ -22,14 +22,14 @@ let # Note: when raising the version, ensure that all SNAPSHOT versions in # build.gradle are replaced by a fixed version # (the current one at the time of release) (see postPatch). - version = "121.4"; + version = "122"; buildVersion = makeBuildVersion version; src = fetchFromGitHub { owner = "Anuken"; repo = "Mindustry"; rev = "v${version}"; - sha256 = "14w0fkn8q5bj84py7vx33wdk9d37ncrq6rdj5ryz4mvlxbix2n4n"; + sha256 = "19dxqscnny0c5w3pyg88hflrkhsqgd7zx19240kh4h69y3wwaz0m"; }; desktopItem = makeDesktopItem { @@ -50,6 +50,13 @@ let sed -i 's/com.github.anuken:packr:-SNAPSHOT/com.github.anuken:packr:034efe51781d2d8faa90370492133241bfb0283c/' build.gradle ''; + preBuild = '' + # Arc is run at build time for sprite packing, and it needs to see + # the runtime libraries + ${stdenv.lib.optionalString stdenv.isLinux "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${alsaLib}/lib"} + export GRADLE_USER_HOME=$(mktemp -d) + ''; + # The default one still uses jdk8 (#89731) gradle_6 = (gradleGen.override (old: { java = jdk14; })).gradle_6_7; @@ -62,7 +69,7 @@ let # one hash for 'deps'. Deps can be garbage collected after the build, # so this is not really an issue. buildPhase = '' - export GRADLE_USER_HOME=$(mktemp -d) + ${preBuild} gradle --no-daemon desktop:dist -Pbuildversion=${buildVersion} gradle --no-daemon server:dist -Pbuildversion=${buildVersion} ''; @@ -74,7 +81,7 @@ let ''; outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "18n671aa013cnsnp9aaw61llqz4s4vn7zgja8cazd0cg632x8jca"; + outputHash = "1kymfrd2vd23y1rmx19q47wc212r6qx03x6g58pxbqyylxmcw5zq"; }; # Separate commands for building and installing the server and the client @@ -109,7 +116,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gradle_6 makeWrapper ]; buildPhase = with stdenv.lib; '' - export GRADLE_USER_HOME=$(mktemp -d) + ${preBuild} # point to offline repo sed -ie "s#mavenLocal()#mavenLocal(); maven { url '${deps}' }#g" build.gradle ${optionalString enableClient buildClient} @@ -125,11 +132,15 @@ stdenv.mkDerivation rec { homepage = "https://mindustrygame.github.io/"; downloadPage = "https://github.com/Anuken/Mindustry/releases"; description = "A sandbox tower defense game"; - license = licenses.gpl3; + license = licenses.gpl3Plus; maintainers = with maintainers; [ fgaz ]; platforms = platforms.all; # Hash mismatch on darwin: # https://github.com/NixOS/nixpkgs/pull/105590#issuecomment-737120293 - broken = stdenv.isDarwin; + # Problems with native libraries in aarch64: + # https://github.com/NixOS/nixpkgs/pull/107646 + # https://logs.nix.ci/?key=nixos/nixpkgs.107646&attempt_id=3032c060-72e9-4a76-8186-4739544397dd + broken = stdenv.isDarwin || + stdenv.isAarch64; }; } From df9425024336202e8ce97d8c7913c1a20ba85254 Mon Sep 17 00:00:00 2001 From: elseym Date: Mon, 28 Dec 2020 13:37:33 +0100 Subject: [PATCH 16/19] unifiStable: 5.14.23 -> 6.0.43 --- pkgs/servers/unifi/default.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix index 3072b44e4a3..bfac2a0d29b 100644 --- a/pkgs/servers/unifi/default.nix +++ b/pkgs/servers/unifi/default.nix @@ -49,12 +49,7 @@ in { }; unifiStable = generic { - version = "5.14.23"; - sha256 = "1aar05yjm3z5a30x505w4kakbyz35i7mk7xyg0wm4ml6h94d84pv"; - }; - - unifiBeta = generic { - version = "6.0.36"; - sha256 = "1sjf4jd8jkf6194ahwqjxd2ip0r70bdk15gci1qrdw88agab143j"; + version = "6.0.43"; + sha256 = "1d9pw4f20pr4jb1xb43p7ycafv13ld1h40r05qg82029ml1s7jky"; }; } From bee49dfd0eb7fc2a616355f08455d212221593cb Mon Sep 17 00:00:00 2001 From: elseym Date: Mon, 28 Dec 2020 16:07:10 +0100 Subject: [PATCH 17/19] unifi: rename packages - renames unifiStable to unifi5 - renames unifiBeta to unifi6 - aliases unifi to unifi6 - aliases unifiStable to unifi6 for backward compatibility --- pkgs/servers/unifi/default.nix | 13 ++++++++----- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 6 +++--- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix index bfac2a0d29b..b354fd994c9 100644 --- a/pkgs/servers/unifi/default.nix +++ b/pkgs/servers/unifi/default.nix @@ -38,17 +38,20 @@ let }; }; -in { - - # https://community.ui.com/releases / https://www.ui.com/download/unifi - # Outdated FAQ: https://help.ubnt.com/hc/en-us/articles/115000441548-UniFi-Current-Controller-Versions +in rec { + # see https://community.ui.com/releases / https://www.ui.com/download/unifi unifiLTS = generic { version = "5.6.42"; sha256 = "0wxkv774pw43c15jk0sg534l5za4j067nr85r5fw58iar3w2l84x"; }; - unifiStable = generic { + unifi5 = generic { + version = "5.14.23"; + sha256 = "1aar05yjm3z5a30x505w4kakbyz35i7mk7xyg0wm4ml6h94d84pv"; + }; + + unifi6 = generic { version = "6.0.43"; sha256 = "1d9pw4f20pr4jb1xb43p7ycafv13ld1h40r05qg82029ml1s7jky"; }; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index ee622e90967..6e5da1bf34e 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -666,6 +666,7 @@ mapAliases ({ ucsFonts = ucs-fonts; # added 2016-07-15 ultrastardx-beta = ultrastardx; # added 2017-08-12 unicorn-emu = unicorn; # added 2020-10-29 + unifiStable = unifi6; # added 2020-12-28 usb_modeswitch = usb-modeswitch; # added 2016-05-10 usbguard-nox = usbguard; # added 2019-09-04 utillinux = util-linux; # added 2020-11-24 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b183ed808f0..289c4dc7f0d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17882,9 +17882,9 @@ in inherit (callPackages ../servers/unifi { }) unifiLTS - unifiStable - unifiBeta; - unifi = unifiStable; + unifi5 + unifi6; + unifi = unifi6; urserver = callPackage ../servers/urserver { }; From 80e3ca6f4afd7f0ce89c12363b4120480eed7891 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 28 Dec 2020 11:22:43 -0500 Subject: [PATCH 18/19] linux: 5.10-rc6 -> 5.11-rc1 --- pkgs/os-specific/linux/kernel/linux-testing.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 5bf74ffd377..ac84e70bae4 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -3,15 +3,15 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.10-rc6"; - extraMeta.branch = "5.10"; + version = "5.11-rc1"; + extraMeta.branch = "5.11"; # modDirVersion needs to be x.y.z, will always add .0 modDirVersion = if (modDirVersionArg == null) then builtins.replaceStrings ["-"] [".0-"] version else modDirVersionArg; src = fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; - sha256 = "14ykzs98r918sqv7lddlps4r7hza1zgw0x67mmj77cmqiv6d8ffi"; + sha256 = "sha256-nPJpz058khWE83QV9ITylTXjimBBw7SQwg7WBjWA7H0="; }; # Should the testing kernels ever be built on Hydra? From b90c5cb703da946f53097bc8c7fb1a5acd09c701 Mon Sep 17 00:00:00 2001 From: Ivan Date: Mon, 28 Dec 2020 11:27:36 -0500 Subject: [PATCH 19/19] XMonad: configured recompile (#107696) * nixos/xmonad: xmonad config w/ghc+xmessage When the "config" option isn't set, we use xmonad-with-packages to provide xmonad with runtime access to an isolated ghc, ensuring it can recompile and exec a user's local config (e.g. $HOME/.xmonad/xmonad.hs) regardless of which ghc (if any) is on PATH. When the "config" option is set, however, we compile a configured xmonad executable upfront (during nixos-rebuild), and prior to this commit, it was not provided with runtime access to an isolated ghc. As a result, with the "config" option set, it was not possible to recompile and exec a user's local config unless there was a compatible version of ghc on PATH with the necessary packages (xmonad, xmonad-contrib, etc.) in its package database. Adding such a ghc to environment.systemPackages, e.g. (haskellPackages.ghcWithPackages (ps: with ps; [xmonad xmonad-contrib])) is problematic because it adds both ghc and an unconfigured xmonad to PATH, e.g. $ ls -l $(which xmonad ghc) lrwxrwxrwx ... /run/current-system/sw/bin/ghc -> /nix/store/...-ghc-8.10.2-with-packages/bin/ghc lrwxrwxrwx ... /run/current-system/sw/bin/xmonad -> /nix/store/...-ghc-8.10.2-with-packages/bin/xmonad Having the unconfigured xmonad on PATH is particularly bad because restarting xmonad will dump the user into the unconfigured version, and if no local config exists (e.g. in $HOME/.xmonad/xmonad.hs), they'll be left in this unconfigured state. In this commmit, we give the configured xmonad runtime access to ghc like xmonad-with-packages does for the unconfigured version. The aim is to allow the user to switch between the nixos module's config and a local config (e.g. $HOME/.xmonad/xmonad.hs) at will, so they can try out config changes without performing a nixos-rebuild. Since the xmonad on PATH is the configured executable, there's no danger a user could unwittingly restart into the unconfigured version, and because xmonad will refuse to recompile when no local config exists, there's no danger a user could unwittingly recompile into an unconfigured version. Given that a local config exists, the recompile/restart behavior depends on two factors: - which entry point is used * 'XMonad.xmonad' (default) * 'XMonad.launch' (recommended in "config" option description) - what operation is triggered (i.e. via mod+q) * `spawn "xmonad --recompile && xmonad --restart"` (default) * `restart "xmonad" True` * custom function If the default 'XMonad.xmonad' entrypoint and default mod+q operation are used, hitting mod+q will compile and exec the local config, which will remain in use until next time the display manager is restarted. If the entrypoint is changed to 'XMonad.launch' but mod+q left with its default operation, hitting mod+q will have no visible effect. The logs (as seen by running `journalctl --identifier xmonad --follow`) will show an error, X Error of failed request: BadAccess (attempt to access private resource denied) which indicates that the shell was unable to start xmonad because another window manager is already running (namely, the nixos-configured xmonad). https://wiki.haskell.org/Xmonad/Frequently_asked_questions#X_Error_of_failed_request:_BadAccess_.28attempt_to_access_private_resource_denied.29 Changing the mod+q operation to `restart "xmonad" True` (as recommended in the "config" option's description) will allow a restart of the nixos-configured xmonad to be triggeredy by hitting mod+q. Finally, if the entrypoint is 'XMonad.launch', mod+q has been bound to `restart "xmonad" True` and another key bound to a custom recompile/restart function (e.g. `compileRestart` as shown in the "config" option example), the user can switch between the nixos module's config and their local config, with the custom key switching to the local config and mod+q switching back. * nixos/xmonad: refactor let binding * nixos/xmonad: refactor (eliminate duplicate code) * nixos/xmonad: install man pages Prior to this commit, man pages were not installed if the "config" option was set. * nixos/xmonad: comment grammar fixups * nixos/xmonad: writeStateToFile in example config Calling writeStateToFile prior to recompiling and restarting allows state (workspaces, etc.) to be preserved across the restart. * nixos/xmonad: add ivanbrennan to maintainers * nixos/xmonad: adjust compileRestart example * nixos/xmonad: add missing import to example config --- .../services/x11/window-managers/xmonad.nix | 58 ++++++++++++------- 1 file changed, 38 insertions(+), 20 deletions(-) diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix index b9013ca1ff9..2bb4827be9d 100644 --- a/nixos/modules/services/x11/window-managers/xmonad.nix +++ b/nixos/modules/services/x11/window-managers/xmonad.nix @@ -5,25 +5,37 @@ let inherit (lib) mkOption mkIf optionals literalExample; cfg = config.services.xserver.windowManager.xmonad; + ghcWithPackages = cfg.haskellPackages.ghcWithPackages; + packages = self: cfg.extraPackages self ++ + optionals cfg.enableContribAndExtras + [ self.xmonad-contrib self.xmonad-extras ]; + xmonad-vanilla = pkgs.xmonad-with-packages.override { - ghcWithPackages = cfg.haskellPackages.ghcWithPackages; - packages = self: cfg.extraPackages self ++ - optionals cfg.enableContribAndExtras - [ self.xmonad-contrib self.xmonad-extras ]; + inherit ghcWithPackages packages; }; - xmonad-config = pkgs.writers.writeHaskellBin "xmonad" { - ghc = cfg.haskellPackages.ghc; - libraries = [ cfg.haskellPackages.xmonad ] ++ - cfg.extraPackages cfg.haskellPackages ++ - optionals cfg.enableContribAndExtras - (with cfg.haskellPackages; [ xmonad-contrib xmonad-extras ]); - inherit (cfg) ghcArgs; - } cfg.config; + xmonad-config = + let + xmonadAndPackages = self: [ self.xmonad ] ++ packages self; + xmonadEnv = ghcWithPackages xmonadAndPackages; + configured = pkgs.writers.writeHaskellBin "xmonad" { + ghc = cfg.haskellPackages.ghc; + libraries = xmonadAndPackages cfg.haskellPackages; + inherit (cfg) ghcArgs; + } cfg.config; + in + pkgs.runCommandLocal "xmonad" { + nativeBuildInputs = [ pkgs.makeWrapper ]; + } '' + install -D ${xmonadEnv}/share/man/man1/xmonad.1.gz $out/share/man/man1/xmonad.1.gz + makeWrapper ${configured}/bin/xmonad $out/bin/xmonad \ + --set NIX_GHC "${xmonadEnv}/bin/ghc" \ + --set XMONAD_XMESSAGE "${pkgs.xorg.xmessage}/bin/xmessage" + ''; xmonad = if (cfg.config != null) then xmonad-config else xmonad-vanilla; in { - meta.maintainers = with maintainers; [ lassulus xaverdh ]; + meta.maintainers = with maintainers; [ lassulus xaverdh ivanbrennan ]; options = { services.xserver.windowManager.xmonad = { @@ -72,13 +84,13 @@ in { This setup is then analogous to other (non-NixOS) linux distributions. If you do set this option, you likely want to use "launch" as your - entry point for xmonad (as in the example), to avoid xmonads + entry point for xmonad (as in the example), to avoid xmonad's recompilation logic on startup. Doing so will render the default "mod+q" restart key binding dysfunctional though, because that attempts to call your binary with the "--restart" command line option, unless you implement that yourself. You way mant to bind "mod+q" to (restart "xmonad" True) instead, which will just restart - xmonad from PATH. This allows e.g. switching to the new xmonad binary, + xmonad from PATH. This allows e.g. switching to the new xmonad binary after rebuilding your system with nixos-rebuild. If you actually want to run xmonad with a config specified here, but @@ -91,6 +103,7 @@ in { example = '' import XMonad import XMonad.Util.EZConfig (additionalKeys) + import Control.Monad (when) import Text.Printf (printf) import System.Posix.Process (executeFile) import System.Info (arch,os) @@ -99,16 +112,21 @@ in { compiledConfig = printf "xmonad-%s-%s" arch os - compileRestart = whenX (recompile True) . catchIO $ do - dir <- getXMonadDataDir - args <- getArgs - executeFile (dir compiledConfig) False args Nothing + compileRestart resume = + whenX (recompile True) $ + when resume writeStateToFile + *> catchIO + ( do + dir <- getXMonadDataDir + args <- getArgs + executeFile (dir compiledConfig) False args Nothing + ) main = launch defaultConfig { modMask = mod4Mask -- Use Super instead of Alt , terminal = "urxvt" } `additionalKeys` - [ ( (mod4Mask,xK_r), compileRestart ) + [ ( (mod4Mask,xK_r), compileRestart True) , ( (mod4Mask,xK_q), restart "xmonad" True ) ] ''; };