diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c5cd933d0bbd..975922f84f3d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2037,6 +2037,12 @@ githubId = 1945; name = "Casey Rodarmor"; }; + catap = { + email = "kirill@korins.ky"; + github = "catap"; + githubId = 37775; + name = "Kirill A. Korinsky"; + }; catern = { email = "sbaugh@catern.com"; github = "catern"; diff --git a/nixos/lib/make-multi-disk-zfs-image.nix b/nixos/lib/make-multi-disk-zfs-image.nix index a84732aa1171..0a894c8b9888 100644 --- a/nixos/lib/make-multi-disk-zfs-image.nix +++ b/nixos/lib/make-multi-disk-zfs-image.nix @@ -128,7 +128,7 @@ let gptfdisk nix parted - utillinux + util-linux zfs ] ); diff --git a/nixos/lib/make-single-disk-zfs-image.nix b/nixos/lib/make-single-disk-zfs-image.nix index 9310febd9179..98150584fb3e 100644 --- a/nixos/lib/make-single-disk-zfs-image.nix +++ b/nixos/lib/make-single-disk-zfs-image.nix @@ -116,7 +116,7 @@ let gptfdisk nix parted - utillinux + util-linux zfs ] ); diff --git a/nixos/modules/services/networking/radvd.nix b/nixos/modules/services/networking/radvd.nix index 6e8db55bbf0d..fb3eb71a8ce1 100644 --- a/nixos/modules/services/networking/radvd.nix +++ b/nixos/modules/services/networking/radvd.nix @@ -16,9 +16,9 @@ in ###### interface - options = { + options.services.radvd = { - services.radvd.enable = mkOption { + enable = mkOption { type = types.bool; default = false; description = @@ -32,7 +32,16 @@ in ''; }; - services.radvd.config = mkOption { + package = mkOption { + type = types.package; + default = pkgs.radvd; + defaultText = literalExpression "pkgs.radvd"; + description = '' + The RADVD package to use for the RADVD service. + ''; + }; + + config = mkOption { type = types.lines; example = '' @@ -67,7 +76,7 @@ in wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; serviceConfig = - { ExecStart = "@${pkgs.radvd}/bin/radvd radvd -n -u radvd -C ${confFile}"; + { ExecStart = "@${cfg.package}/bin/radvd radvd -n -u radvd -C ${confFile}"; Restart = "always"; }; }; diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 2c2f2cae4b74..ffdf7e9a86eb 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -72,7 +72,9 @@ in apply = map (d: d // { manage = "desktop"; start = d.start - + optionalString (needBGCond d) ''\n\n + # literal newline to ensure d.start's last line is not appended to + + optionalString (needBGCond d) '' + if [ -e $HOME/.background-image ]; then ${pkgs.feh}/bin/feh --bg-${cfg.wallpaper.mode} ${optionalString cfg.wallpaper.combineScreens "--no-xinerama"} $HOME/.background-image fi diff --git a/pkgs/applications/backup/timeshift/unwrapped.nix b/pkgs/applications/backup/timeshift/unwrapped.nix index 1f34491dafdc..65db24062620 100644 --- a/pkgs/applications/backup/timeshift/unwrapped.nix +++ b/pkgs/applications/backup/timeshift/unwrapped.nix @@ -8,7 +8,7 @@ , gtk3 , json-glib , libgee -, utillinux +, util-linux , vte , xapps }: @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { postPatch = '' while IFS="" read -r -d $'\0' FILE; do substituteInPlace "$FILE" \ - --replace "/sbin/blkid" "${utillinux}/bin/blkid" + --replace "/sbin/blkid" "${util-linux}/bin/blkid" done < <(find ./src -mindepth 1 -name "*.vala" -type f -print0) substituteInPlace ./src/Utility/IconManager.vala \ --replace "/usr/share" "$out/share" diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix index 3ee00d4121a9..11a06f5775e0 100644 --- a/pkgs/applications/networking/cluster/minikube/default.nix +++ b/pkgs/applications/networking/cluster/minikube/default.nix @@ -12,9 +12,9 @@ buildGoModule rec { pname = "minikube"; - version = "1.25.2"; + version = "1.26.0"; - vendorSha256 = "sha256-8QqRIWry15/xwBxEOexMEq57ol8riy+kW8WrQqr53Q8="; + vendorSha256 = "sha256-3ME8bs4TAQRAECko7+ZXBCFf4IyTn1P/+hParpc5QTU="; doCheck = false; @@ -22,7 +22,7 @@ buildGoModule rec { owner = "kubernetes"; repo = "minikube"; rev = "v${version}"; - sha256 = "sha256-WIk4ibq7jcqao0Qiz3mz9yfHdxTUlvtPuEh4gApSDBg="; + sha256 = "sha256-vGlW65jf3XGFNK9aSvsK7V0OmUOCtgJcWeNFOZVuH00="; }; nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ]; diff --git a/pkgs/applications/networking/instant-messengers/discord/darwin.nix b/pkgs/applications/networking/instant-messengers/discord/darwin.nix index 494a7e6a4428..368b4572aa67 100644 --- a/pkgs/applications/networking/instant-messengers/discord/darwin.nix +++ b/pkgs/applications/networking/instant-messengers/discord/darwin.nix @@ -1,4 +1,4 @@ -{ pname, version, src, openasar, meta, stdenv, binaryName, desktopName, lib, undmg }: +{ pname, version, src, openasar, meta, stdenv, binaryName, desktopName, lib, undmg, withOpenASAR }: stdenv.mkDerivation { inherit pname version src meta; @@ -16,7 +16,7 @@ stdenv.mkDerivation { runHook postInstall ''; - postInstall = lib.strings.optionalString (openasar != null) '' + postInstall = lib.strings.optionalString withOpenASAR '' cp -f ${openasar} $out/Applications/${desktopName}.app/Contents/Resources/app.asar ''; } diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index 71606f2dcadd..f6e291ab7f3e 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -62,10 +62,15 @@ let }; package = if stdenv.isLinux then ./linux.nix else ./darwin.nix; - openasar = if withOpenASAR then callPackage ./openasar.nix { } else null; + openasar = callPackage ./openasar.nix { }; packages = (builtins.mapAttrs - (_: value: callPackage package (value // { inherit src version openasar; meta = meta // { mainProgram = value.binaryName; }; })) + (_: value: callPackage package + (value // { + inherit src version openasar withOpenASAR; + meta = meta // { mainProgram = value.binaryName; }; + }) + ) { stable = rec { pname = "discord"; diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix index 28c1d353ff61..a68414978b02 100644 --- a/pkgs/applications/networking/instant-messengers/discord/linux.nix +++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix @@ -5,7 +5,7 @@ , libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes , libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss , pango, systemd, libappindicator-gtk3, libdbusmenu, writeScript -, common-updater-scripts }: +, common-updater-scripts, withOpenASAR }: stdenv.mkDerivation rec { inherit pname version src meta; @@ -101,7 +101,7 @@ stdenv.mkDerivation rec { runHook postInstall ''; - postInstall = lib.strings.optionalString (openasar != null) '' + postInstall = lib.strings.optionalString withOpenASAR '' cp -f ${openasar} $out/opt/${binaryName}/resources/app.asar ''; diff --git a/pkgs/applications/networking/instant-messengers/discord/openasar.nix b/pkgs/applications/networking/instant-messengers/discord/openasar.nix index e378f490c0f4..ba4b5f0ffd4e 100644 --- a/pkgs/applications/networking/instant-messengers/discord/openasar.nix +++ b/pkgs/applications/networking/instant-messengers/discord/openasar.nix @@ -1,16 +1,34 @@ -{ lib, stdenv, fetchFromGitHub, nodejs, bash, nodePackages }: +{ lib, stdenv, fetchFromGitHub, nodejs, bash, nodePackages, unzip }: +let + # OpenAsar fails with default unzip, throwing "lchmod (file attributes) error: Operation not supported" + unzipFix = + if stdenv.isLinux then + unzip.overrideAttrs (oldAttrs: { + buildFlags = oldAttrs.buildFlags ++ [ "LOCAL_UNZIP=-DNO_LCHMOD" ]; + }) + else + unzip; +in stdenv.mkDerivation rec { - version = "unstable-2022-06-10"; pname = "openasar"; + version = "unstable-2022-06-27"; src = fetchFromGitHub { owner = "GooseMod"; repo = "OpenAsar"; - rev = "c6f2f5eb7827fea14cb4c54345af8ff6858c633a"; - sha256 = "m6e/WKGgkR8vjKcHSNdWE25MmDQM1Z3kgB24OJgbw/w="; + rev = "6f7505fb91a07035d3661a3a7bf68b3018ddfd82"; + sha256 = "2tb6OgYOnpryiyk7UH39sgzwtGJf9hNOpy74YqLI+Uk="; }; + postPatch = '' + # Hardcode unzip path + substituteInPlace ./src/updater/moduleUpdater.js \ + --replace \'unzip\' \'${unzipFix}/bin/unzip\' + # Remove auto-update feature + echo "module.exports = async () => log('AsarUpdate', 'Removed');" > ./src/asarUpdate.js + ''; + buildPhase = '' runHook preBuild diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index e0f77e1b7be4..eced57706d27 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -9,7 +9,7 @@ # is always preferred, see `sage-src.nix` for that. let - inherit (pkgs) symlinkJoin callPackage nodePackages lib; + inherit (pkgs) symlinkJoin callPackage nodePackages; python3 = pkgs.python3.override { packageOverrides = self: super: { @@ -46,7 +46,7 @@ let # just one 16x16 logo is available logo32 = "${sage-src}/src/doc/common/themes/sage/static/sageicon.png"; logo64 = "${sage-src}/src/doc/common/themes/sage/static/sageicon.png"; - } // lib.optionalAttrs withDoc { extraPaths = { "doc" = "${sagedoc}/share/doc/sage/html/en"; }; }; + }; jupyter-kernel-specs = pkgs.jupyter-kernel.create { definitions = pkgs.jupyter-kernel.default // { diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json index 3cfdc2a11c77..c9d03868bfde 100644 --- a/pkgs/applications/version-management/gitlab/data.json +++ b/pkgs/applications/version-management/gitlab/data.json @@ -1,14 +1,14 @@ { - "version": "15.1.0", - "repo_hash": "sha256-vOPI9kxdJlQNmI/DZueFcbvZPy2/0d+2CYM/RBAkIcU=", + "version": "15.1.1", + "repo_hash": "sha256-wCO0Ksi5c8kgerpK/O3IkI6CJARQbQj9nWmnxBVhBIM=", "yarn_hash": "19df16gk0vpvdi1idqaakaglf11cic93i5njw0x4m2cnsznhpvz4", "owner": "gitlab-org", "repo": "gitlab", - "rev": "v15.1.0-ee", + "rev": "v15.1.1-ee", "passthru": { - "GITALY_SERVER_VERSION": "15.1.0", + "GITALY_SERVER_VERSION": "15.1.1", "GITLAB_PAGES_VERSION": "1.59.0", "GITLAB_SHELL_VERSION": "14.7.4", - "GITLAB_WORKHORSE_VERSION": "15.1.0" + "GITLAB_WORKHORSE_VERSION": "15.1.1" } } diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix index b8c1ecf6704e..22cbc267c6bb 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/default.nix +++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix @@ -11,7 +11,7 @@ let gemdir = ./.; }; - version = "15.1.0"; + version = "15.1.1"; package_version = "v${lib.versions.major version}"; gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}"; in @@ -24,7 +24,7 @@ buildGoModule { owner = "gitlab-org"; repo = "gitaly"; rev = "v${version}"; - sha256 = "sha256-rhMQRskum4c5bQL1sE7O4gMxIGX7q3bntuV1HkttA8M="; + sha256 = "sha256-JMKB6lrmQBbBgXSKinL2shlXRXhZrf4QwoJrm+VpKdE="; }; vendorSha256 = "sha256-0JWJ2mpf79gJdnNRdlQLi0oDvnj6VmibkW2XcPnaCww="; diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix index b59909dd041a..99860d3fc36f 100644 --- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix +++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix @@ -5,7 +5,7 @@ in buildGoModule rec { pname = "gitlab-workhorse"; - version = "15.1.0"; + version = "15.1.1"; src = fetchFromGitLab { owner = data.owner; diff --git a/pkgs/data/misc/wireless-regdb/default.nix b/pkgs/data/misc/wireless-regdb/default.nix index 9479f5bdce5e..2c92896b5a1c 100644 --- a/pkgs/data/misc/wireless-regdb/default.nix +++ b/pkgs/data/misc/wireless-regdb/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "wireless-regdb"; - version = "2022.02.18"; + version = "2022.06.06"; src = fetchurl { url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-iCjCWk7iUCAEQAT1c3S7nerIUoCfrXD409AXcL+ayX8="; + sha256 = "sha256-rAD5fv7M5QRu0GnR2T8zZf35lMfHhUqPxQgx6VlTcjA="; }; dontBuild = true; diff --git a/pkgs/desktops/lxqt/lximage-qt/default.nix b/pkgs/desktops/lxqt/lximage-qt/default.nix index 22f253ad9738..b83289056d90 100644 --- a/pkgs/desktops/lxqt/lximage-qt/default.nix +++ b/pkgs/desktops/lxqt/lximage-qt/default.nix @@ -7,6 +7,7 @@ , qttools , qtx11extras , qtsvg +, qtimageformats , xorg , lxqt-build-tools , libfm-qt @@ -36,6 +37,7 @@ mkDerivation rec { qttools qtx11extras qtsvg + qtimageformats # add-on module to support more image file formats libfm-qt xorg.libpthreadstubs xorg.libXdmcp diff --git a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix index ad74d0fca704..e5f3246b06bb 100644 --- a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix +++ b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix @@ -7,6 +7,7 @@ , qtbase , qttools , qtx11extras +, qtimageformats , libfm-qt , menu-cache , lxmenu-data @@ -34,6 +35,7 @@ mkDerivation rec { qtbase qttools qtx11extras + qtimageformats # add-on module to support more image file formats libfm-qt libfm-qt menu-cache diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix index 1b961c3f9e40..a3731a97045e 100644 --- a/pkgs/development/compilers/zulu/default.nix +++ b/pkgs/development/compilers/zulu/default.nix @@ -25,12 +25,14 @@ let version = "11.52.13"; openjdk = "11.0.13"; - sha256_linux = "77a126669b26b3a89e0117b0f28cddfcd24fcd7699b2c1d35f921487148b9a9f"; - sha256_darwin = "a96f9f859350f977319ebb5c2a999c182ab6b99b24c60e19d97c54367868a63e"; + sha256_x64_linux = "77a126669b26b3a89e0117b0f28cddfcd24fcd7699b2c1d35f921487148b9a9f"; + sha256_x64_darwin = "a96f9f859350f977319ebb5c2a999c182ab6b99b24c60e19d97c54367868a63e"; + sha256_aarch64_darwin = "dmzfergSUVz39T30PT/6ZtT8JNqv5lzdX7zUsXsFGJg="; platform = if stdenv.isDarwin then "macosx" else "linux"; - hash = if stdenv.isDarwin then sha256_darwin else sha256_linux; + hash = if stdenv.isAarch64 && stdenv.isDarwin then sha256_aarch64_darwin else if stdenv.isDarwin then sha256_x64_darwin else sha256_x64_linux; extension = if stdenv.isDarwin then "zip" else "tar.gz"; + architecture = if stdenv.isAarch64 then "aarch64" else "x64"; runtimeDependencies = [ cups @@ -45,7 +47,7 @@ in stdenv.mkDerivation { pname = "zulu"; src = fetchurl { - url = "https://cdn.azul.com/zulu/bin/zulu${version}-ca-jdk${openjdk}-${platform}_x64.${extension}"; + url = "https://cdn.azul.com/zulu/bin/zulu${version}-ca-jdk${openjdk}-${platform}_${architecture}.${extension}"; sha256 = hash; }; @@ -116,7 +118,7 @@ in stdenv.mkDerivation { operating systems, containers, hypervisors and Cloud platforms. ''; maintainers = with maintainers; [ fpletz ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; mainProgram = "java"; }; } diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 60f6888d11f1..8b1613c844f6 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -97,6 +97,8 @@ let ] ++ optionals enableIscsi [ libiscsi openiscsi + ] ++ optionals enableZfs [ + zfs ]); in diff --git a/pkgs/development/python-modules/lsassy/default.nix b/pkgs/development/python-modules/lsassy/default.nix index 421c1f481e8a..e19edfd67eaa 100644 --- a/pkgs/development/python-modules/lsassy/default.nix +++ b/pkgs/development/python-modules/lsassy/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "lsassy"; - version = "3.1.1"; + version = "3.1.2"; src = fetchFromGitHub { owner = "Hackndo"; repo = pname; rev = "v${version}"; - sha256 = "0jd0kmp0mc8jn5qmgrspdx05vy6nyq773cj4yid1qyr8dmyx6a7n"; + sha256 = "sha256-FnqWDPcWgRQpX1k/Sf2NQKpuu6srh6xWdNKtHzXZTtk="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix index 466a39fb2924..ec95bd24fc88 100644 --- a/pkgs/development/python-modules/pikepdf/default.nix +++ b/pkgs/development/python-modules/pikepdf/default.nix @@ -6,6 +6,7 @@ , pythonOlder , importlib-metadata , jbig2dec +, deprecation , lxml , mupdf , packaging @@ -23,7 +24,7 @@ buildPythonPackage rec { pname = "pikepdf"; - version = "5.1.5.post1"; + version = "5.2.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -38,7 +39,7 @@ buildPythonPackage rec { postFetch = '' rm "$out/.git_archival.txt" ''; - hash = "sha256-CGhkfQgsKUxiZzs1i2B2SlM++7G6Yrd9ruFh4sSJPbI="; + hash = "sha256-el7gnqnk8Mp5rpn8Q3WKOTAuB11j4ByCq2Gf60LBBEI="; }; patches = [ @@ -78,6 +79,7 @@ buildPythonPackage rec { ]; propagatedBuildInputs = [ + deprecation lxml packaging pillow diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix index 747f60bc21f8..5bfade16e5c5 100644 --- a/pkgs/development/python-modules/wandb/default.nix +++ b/pkgs/development/python-modules/wandb/default.nix @@ -39,7 +39,7 @@ buildPythonPackage rec { pname = "wandb"; - version = "0.12.19"; + version = "0.12.20"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -48,7 +48,7 @@ buildPythonPackage rec { owner = pname; repo = "client"; rev = "refs/tags/v${version}"; - hash = "sha256-eH65vk3Pnm6d4vDiaWbs1tXD0lCRkfOB2hqD9MGxuXY="; + hash = "sha256-zS3DA06uLfUApe0kDAbqPA+2is70bnb9EifgFWqcuRg="; }; patches = [ diff --git a/pkgs/development/tools/go-tools/default.nix b/pkgs/development/tools/go-tools/default.nix index 0812c949e37e..3890133256ed 100644 --- a/pkgs/development/tools/go-tools/default.nix +++ b/pkgs/development/tools/go-tools/default.nix @@ -5,16 +5,18 @@ buildGoModule rec { pname = "go-tools"; - version = "2021.1.2"; + version = "2022.1.2"; src = fetchFromGitHub { owner = "dominikh"; repo = "go-tools"; rev = version; - sha256 = "sha256-C6ekgrc+zvm8ZLvw1uYR3ZiMLCNSUw1ANEuM4bT4C/o="; + sha256 = "sha256-pfZv/GZxb7weD+JFGCOknhRCsx8g5puQfpY9lZ4v6Rs="; }; - vendorSha256 = "sha256-EjCOMdeJ0whp2pHZvm4VV2K78UNKzl98Z/cQvGhWSyY="; + vendorSha256 = "sha256-19uLCtKuuZoVwC4SUKvYGWi2ryqAQbcKXY1iNjIqyn8="; + + excludedPackages = [ "website" ]; doCheck = false; @@ -22,6 +24,6 @@ buildGoModule rec { description = "A collection of tools and libraries for working with Go code, including linters and static analysis"; homepage = "https://staticcheck.io"; license = licenses.mit; - maintainers = with maintainers; [ rvolosatovs kalbasit ]; + maintainers = with maintainers; [ rvolosatovs kalbasit smasher164 ]; }; } diff --git a/pkgs/development/tools/java/jprofiler/default.nix b/pkgs/development/tools/java/jprofiler/default.nix new file mode 100644 index 000000000000..e6f0232fe681 --- /dev/null +++ b/pkgs/development/tools/java/jprofiler/default.nix @@ -0,0 +1,99 @@ +{ stdenv +, lib +, fetchurl +, makeWrapper +, makeDesktopItem +, copyDesktopItems +, undmg +, jdk +}: + +let + inherit (stdenv.hostPlatform) system; + pname = "jprofiler"; + + # 11.1.4 is the last version which can be unpacked by undmg + # See: https://github.com/matthewbauer/undmg/issues/9 + version = if stdenv.isLinux then "13.0.2" else "11.1.4"; + nameApp = "JProfiler"; + + meta = with lib; { + description = "JProfiler's intuitive UI helps you resolve performance bottlenecks"; + longDescription = '' + JProfiler's intuitive UI helps you resolve performance bottlenecks, + pin down memory leaks and understand threading issues. + ''; + homepage = "https://www.ej-technologies.com/products/jprofiler/overview.html"; + license = licenses.unfree; + maintainers = with maintainers; [ catap ]; + }; + + src = if stdenv.isLinux then fetchurl { + url = "https://download-gcdn.ej-technologies.com/jprofiler/jprofiler_linux_${lib.replaceStrings ["."] ["_"] version}.tar.gz"; + sha256 = "sha256-x9I7l2ctquCqUymtlQpFXE6+u0Yg773qE6MvAxvCaEE="; + } else fetchurl { + url = "https://download-gcdn.ej-technologies.com/jprofiler/jprofiler_macos_${lib.replaceStrings ["."] ["_"] version}.dmg"; + sha256 = "sha256-WDMGrDsMdY1//WMHgr+/YKSxHWt6A1dD1Pd/MuDOaz8="; + }; + + srcIcon = fetchurl { + url = "https://www.ej-technologies.com/assets/content/header-product-jprofiler@2x-24bc4d84bd2a4eb641a5c8531758ff7c.png"; + sha256 = "sha256-XUmuqhnNv7mZ3Gb4A0HLSlfiJd5xbCExVsw3hmXHeVE="; + }; + + desktopItems = makeDesktopItem { + name = pname; + exec = pname; + icon = pname; + comment = meta.description; + desktopName = nameApp; + genericName = "Java Profiler Tool"; + categories = [ "Development" ]; + }; + + linux = stdenv.mkDerivation { + inherit pname version src desktopItems; + + nativeBuildInputs = [ makeWrapper copyDesktopItems ]; + + installPhase = '' + runHook preInstall + cp -r . $out + + rm -f $out/bin/updater + rm -rf $out/bin/linux-ppc* + rm -rf $out/bin/linux-armhf + rm -rf $out/bin/linux-musl* + + for f in $(find $out/bin -type f -executable); do + wrapProgram $f --set JAVA_HOME "${jdk.home}" + done + + install -Dm644 "${srcIcon}" \ + "$out/share/icons/hicolor/scalable/apps/jprofiler.png" + runHook postInstall + ''; + + meta = meta // { platforms = lib.platforms.linux; }; + }; + + darwin = stdenv.mkDerivation { + inherit pname version src; + + # Archive extraction via undmg fails for this particular version. + nativeBuildInputs = [ makeWrapper undmg ]; + + sourceRoot = "${nameApp}.app"; + + installPhase = '' + runHook preInstall + mkdir -p $out/{Applications/${nameApp}.app,bin} + cp -R . $out/Applications/${nameApp}.app + makeWrapper $out/Applications/${nameApp}.app/Contents/MacOS/JavaApplicationStub $out/bin/${pname} + runHook postInstall + ''; + + meta = meta // { platforms = lib.platforms.darwin; }; + }; +in +if stdenv.isDarwin then darwin else linux diff --git a/pkgs/development/tools/misc/act/default.nix b/pkgs/development/tools/misc/act/default.nix index 934f417b0745..0bc4d9a9b6d5 100644 --- a/pkgs/development/tools/misc/act/default.nix +++ b/pkgs/development/tools/misc/act/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "act"; - version = "0.2.28"; + version = "0.2.29"; src = fetchFromGitHub { owner = "nektos"; repo = pname; rev = "v${version}"; - sha256 = "sha256-wHBdmNFi//0nAgqRjTJYE3H+06HrW9l+xLVB97/XrnY="; + sha256 = "sha256-n5IUhx5nZ6+bbYc3Z0d3stBSvr2Ht2XUwtDorQTcOhs="; }; - vendorSha256 = "sha256-bWNDBoLGiV/eSUW/AE/yzvJN7NYCnT1GjzP3VmDVAg8="; + vendorSha256 = "sha256-rMM1BcL4FGFXs0DHoLV9kt+BxnreVTL7kwCd9li1i6g="; doCheck = false; diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix index c433e2dfa671..6c01bd969988 100644 --- a/pkgs/development/web/deno/default.nix +++ b/pkgs/development/web/deno/default.nix @@ -16,15 +16,15 @@ rustPlatform.buildRustPackage rec { pname = "deno"; - version = "1.23.1"; + version = "1.23.2"; src = fetchFromGitHub { owner = "denoland"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Z9dZrhH+zlYNuhFs+aicuepnUTSOfIHdLaz9sJp0LCA="; + sha256 = "sha256-rygBiDIZ8W51GIu36+g6zFOnIvmGe+HLGZg7x/pRFJ0="; }; - cargoSha256 = "sha256-VIpy5vRZinFvFhyyKQwi5ThrBNwqGy1TVg5tAoxxJyQ="; + cargoSha256 = "sha256-q7yZZXws58QuEfC0J+fZo8QyYUWx6sOKfphmIurxVkU="; postPatch = '' # upstream uses lld on aarch64-darwin for faster builds diff --git a/pkgs/development/web/deno/librusty_v8.nix b/pkgs/development/web/deno/librusty_v8.nix index 793bc9cb1949..0e7cbf510e7e 100644 --- a/pkgs/development/web/deno/librusty_v8.nix +++ b/pkgs/development/web/deno/librusty_v8.nix @@ -11,11 +11,11 @@ let }; in fetch_librusty_v8 { - version = "0.44.2"; + version = "0.44.3"; shas = { - x86_64-linux = "sha256-I1ad9a9FtJGGGW7Odc8HfysQyCEAb8xoEYmYti0pEkE="; - aarch64-linux = "sha256-KHjVMI9qiJ6q3D6t6iUKxbp1qthHSSl+2AfvL3Hvk6I="; - x86_64-darwin = "sha256-UO1NRpbCA5MtqeRLTGM3FIWdX/ECDW/JG52U756FIv8="; - aarch64-darwin = "sha256-FqakcG050m52/F6nWlS7VeW0r+77CCIzG1qvBP3Naik="; + x86_64-linux = "sha256-0l05QWfWICFTStB0AVGMAzB28MFOe4kH7Y5mT6CxvGc="; + aarch64-linux = "sha256-G2yZPD1lXHZvEX3CwnijoFyWF2dv6fM07+xK0oYKMVU="; + x86_64-darwin = "sha256-f0lBrayYNo7ivCqeJcYF5EMEnmrgH+qHLofMzbUJ+Os="; + aarch64-darwin = "sha256-3DG8IIMeniYLk+GyK0znFpx/f3URxFy5SFMusEPzykU="; }; } diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix index 525beb5f98ce..8865e8f992de 100644 --- a/pkgs/games/xonotic/default.nix +++ b/pkgs/games/xonotic/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fetchpatch, fetchzip, makeWrapper, runCommand, makeDesktopItem +{ lib, stdenv, fetchurl, fetchzip, makeWrapper, runCommand, makeDesktopItem , xonotic-data, copyDesktopItems , # required for both unzip, libjpeg, zlib, libvorbis, curl @@ -16,7 +16,7 @@ let pname = "xonotic"; - version = "0.8.2"; + version = "0.8.5"; name = "${pname}-${version}"; variant = if withSDL && withGLX then @@ -61,18 +61,9 @@ let src = fetchurl { url = "https://dl.xonotic.org/xonotic-${version}-source.zip"; - sha256 = "0axxw04fyz6jlfqd0kp7hdrqa0li31sx1pbipf2j5qp9wvqicsay"; + sha256 = "sha256-oagbpVqxUb8JdY5/WWFLLlFQ6EIkdT53lQvNB6KC6l0="; }; - patches = [ - # Fix to make darkplaces compile under GCC 11 - (fetchpatch { - name = "fix-darkplaces-gcc11"; - url = "https://gitlab.com/xonotic/darkplaces/-/commit/5e9e998c1759bc0085c3273fc39f9ea6f72a7dc8.patch"; - sha256 = "sha256-s0JettSg0AYr8V2mXKJ2QU125bBcX1BAu/yDciTWC5o="; - }) - ]; - nativeBuildInputs = [ unzip ]; buildInputs = [ libjpeg zlib libvorbis curl gmp ] ++ lib.optional withGLX [ libX11.dev libGLU.dev libGL.dev libXpm.dev libXext.dev libXxf86vm.dev alsa-lib.dev ] @@ -146,7 +137,7 @@ in rec { xonotic-data = fetchzip { name = "xonotic-data"; url = "https://dl.xonotic.org/xonotic-${version}.zip"; - sha256 = "15caj11v9hhr7w55w3rs1rspblzr9lg1crqivbn9pyyq0rif8cpl"; + sha256 = "sha256-/malKGbDdUnqG+bJOJ2f3zHb7hAGiNZdprczr2Fgb5E="; postFetch = '' cd $out rm -rf $(ls | grep -v "^data$" | grep -v "^key_0.d0pk$") diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix index 55ea22500c56..c8b8d4ffb060 100644 --- a/pkgs/servers/mattermost/default.nix +++ b/pkgs/servers/mattermost/default.nix @@ -1,101 +1,50 @@ -{ lib, stdenv, fetchurl, fetchFromGitHub, buildGoPackage, buildEnv +{ lib +, buildGo118Module +, fetchFromGitHub +, fetchurl +, nixosTests +}: -# The suffix for the Mattermost version. -, versionSuffix ? "nixpkgs" +buildGo118Module rec { + pname = "mattermost"; + version = "7.0.1"; -# The constant build date. -, buildDate ? "1970-01-01" - -# Set to true to set the build hash to the Nix store path. -, storePathAsBuildHash ? false }: - -let - version = "6.3.6"; - - goPackagePath = "github.com/mattermost/mattermost-server"; - - mattermost-server-build = buildGoPackage rec { - pname = "mattermost-server"; - inherit version goPackagePath; - - src = fetchFromGitHub { - owner = "mattermost"; - repo = "mattermost-server"; - rev = "v${version}"; - sha256 = "905zxMucDTxxrLoh5ZoAExW4eFmi+xa98aI3EpJZ2Og="; - }; - - ldflags = [ - "-s" "-w" - "-X ${goPackagePath}/model.BuildNumber=${version}${lib.optionalString (versionSuffix != null) "-${versionSuffix}"}" - "-X ${goPackagePath}/model.BuildDate=${buildDate}" - "-X ${goPackagePath}/model.BuildEnterpriseReady=false" - ]; + src = fetchFromGitHub { + owner = "mattermost"; + repo = "mattermost-server"; + rev = "v${version}"; + sha256 = "sha256-oxZaOOV5pkK9HAi/AQ+MLZgfwvF6d/ArzYrXzUQGTDA="; }; - mattermost-server = if storePathAsBuildHash then mattermost-server-build.overrideAttrs (orig: { - buildPhase = '' - origGo="$(type -p go)" - - # Override the Go binary to set the build hash in -ldflags to $out. - # Technically this is more accurate than a Git hash! - # nixpkgs does not appear to support environment variables in ldflags - # for go packages, so we have to rewrite -ldflags before calling go. - go() { - local args=() - local ldflags="-X ${goPackagePath}/model.BuildHash=$out" - local found=0 - for arg in "$@"; do - if [[ "$arg" == -ldflags=* ]] && [ $found -eq 0 ]; then - arg="-ldflags=''${ldflags} ''${arg#-ldflags=}" - found=1 - fi - args+=("$arg") - done - "$origGo" "''${args[@]}" - } - - ${orig.buildPhase} - ''; - }) else mattermost-server-build; - - mattermost-webapp = stdenv.mkDerivation { - pname = "mattermost-webapp"; - inherit version; - - src = fetchurl { - url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz"; - sha256 = "JDsCDZEtbeBTYuzOSwrxFNRKXy+9KXirjaCz6ODP5uw="; - }; - - installPhase = '' - mkdir -p $out - tar --strip 1 --directory $out -xf $src \ - mattermost/client \ - mattermost/i18n \ - mattermost/fonts \ - mattermost/templates \ - mattermost/config - - # For some reason a bunch of these files are +x... - find $out -type f -exec chmod -x {} \; - ''; + webapp = fetchurl { + url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz"; + sha256 = "sha256-NWVDPDqdx7mdWCr/qBi8HsUsCJbT63x37UZGecHsZr4="; }; -in - buildEnv { - name = "mattermost-${version}"; - paths = [ mattermost-server mattermost-webapp ]; + vendorSha256 = "sha256-0sKuk0klxeep8J96RntDP9DHsVM4vrOmsKXiaWurVis="; - meta = with lib; { - description = "Open-source, self-hosted Slack-alternative"; - homepage = "https://www.mattermost.org"; - sourceProvenance = with sourceTypes; [ - fromSource - binaryNativeCode # mattermost-webapp - ]; - license = with licenses; [ agpl3 asl20 ]; - maintainers = with maintainers; [ fpletz ryantm numinit ]; - platforms = platforms.unix; - }; - } + subPackages = [ "cmd/mattermost" ]; + + ldflags = [ + "-s" + "-w" + "-X github.com/mattermost/mattermost-server/v6/model.Version=${version}" + ]; + + postInstall = '' + tar --strip 1 --directory $out -xf $webapp \ + mattermost/{client,i18n,fonts,templates,config} + + # For some reason a bunch of these files are executable + find $out/{client,i18n,fonts,templates,config} -type f -exec chmod -x {} \; + ''; + + passthru.tests.mattermost = nixosTests.mattermost; + + meta = with lib; { + description = "Mattermost is an open source platform for secure collaboration across the entire software development lifecycle"; + homepage = "https://www.mattermost.org"; + license = with licenses; [ agpl3 asl20 ]; + maintainers = with maintainers; [ fpletz ryantm numinit kranzes ]; + }; +} diff --git a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix index 1e2f0a472d32..f6cd44ca7b25 100644 --- a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix @@ -2,14 +2,14 @@ buildGoModule rec { pname = "blackbox_exporter"; - version = "0.21.0"; + version = "0.21.1"; rev = "v${version}"; src = fetchFromGitHub { inherit rev; owner = "prometheus"; repo = "blackbox_exporter"; - sha256 = "sha256-u7MCZnzzEoPSk/SVlFRSc47YikQJ0lIxE4wchSN+aec="; + sha256 = "sha256-57+bNoLUfB98WqDUe8ysRdoG87RhKXttmkA//ucSqbQ="; }; vendorSha256 = "sha256-7V5WEEy/Rz1QjscPD2Kz+viGkKQsWjs+8QN/3W7D+Ik="; diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix index 84415e52ed89..34f51f607193 100644 --- a/pkgs/servers/monitoring/prometheus/default.nix +++ b/pkgs/servers/monitoring/prometheus/default.nix @@ -10,6 +10,7 @@ , enableAzure ? true , enableConsul ? true , enableDigitalOcean ? true +, enableDNS ? true , enableEureka ? true , enableGCE ? true , enableHetzner ? true @@ -66,6 +67,8 @@ buildGoModule rec { "echo - github.com/prometheus/prometheus/discovery/consul"} ${lib.optionalString (enableDigitalOcean) "echo - github.com/prometheus/prometheus/discovery/digitalocean"} + ${lib.optionalString (enableDNS) + "echo - github.com/prometheus/prometheus/discovery/dns"} ${lib.optionalString (enableEureka) "echo - github.com/prometheus/prometheus/discovery/eureka"} ${lib.optionalString (enableGCE) diff --git a/pkgs/tools/misc/mmctl/default.nix b/pkgs/tools/misc/mmctl/default.nix index c9de0bf14ca8..2040d18e5f69 100644 --- a/pkgs/tools/misc/mmctl/default.nix +++ b/pkgs/tools/misc/mmctl/default.nix @@ -1,24 +1,33 @@ -{ lib, fetchFromGitHub, buildGoModule }: +{ lib +, fetchFromGitHub +, buildGoModule +}: + buildGoModule rec { pname = "mmctl"; - version = "6.4.2"; + version = "7.0.1"; src = fetchFromGitHub { owner = "mattermost"; repo = "mmctl"; rev = "v${version}"; - sha256 = "sha256-FlqkY4LvAW9Cibs+3UkMDWA+uc62wMh13BllWuxjVZU="; + sha256 = "sha256-xNj8aM3hpcvxwXCdFCfkXDBagIdCjcjWLGNp43KsV10="; }; vendorSha256 = null; checkPhase = "make test"; + ldflags = [ + "-s" + "-w" + "-X github.com/mattermost/mmctl/v6/commands.Version=${version}" + ]; + meta = with lib; { description = "A remote CLI tool for Mattermost"; homepage = "https://github.com/mattermost/mmctl"; license = licenses.asl20; maintainers = with maintainers; [ ppom ]; - platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/tools/networking/ratman/default.nix b/pkgs/tools/networking/ratman/default.nix index e2b2966f78b0..5ddab7850fae 100644 --- a/pkgs/tools/networking/ratman/default.nix +++ b/pkgs/tools/networking/ratman/default.nix @@ -1,22 +1,30 @@ { lib -, fetchurl +, fetchFromGitLab , installShellFiles , libsodium , pkg-config , protobuf , rustPlatform +, fetchYarnDeps +, fixup_yarn_lock +, stdenv +, yarn +, nodejs }: rustPlatform.buildRustPackage rec { pname = "ratman"; - version = "0.3.1"; + version = "0.4.0"; - src = fetchurl { - url = "https://git.irde.st/we/irdest/-/archive/${pname}-${version}/irdest-${pname}-${version}.tar.gz"; - sha256 = "0x1wvhsmf7m55j9hmirkz75qivsg33xab1sil6nbv8fby428fpq6"; + src = fetchFromGitLab { + domain = "git.irde.st"; + owner = "we"; + repo = "irdest"; + rev = "${pname}-${version}"; + sha256 = "sha256-ZZ7idZ67xvQFmQJqIFU/l77YU+yDQOqNthX5NR/l4k8="; }; - cargoSha256 = "1dkfyy1z34qaavyd3f20hrrrb3kjsdfkyzd535xlds9wivgchmd0"; + cargoSha256 = "Nsux0QblBtzlhLEgfKYvkQrOz8+oVd2pqT3CL8TnQEc="; nativeBuildInputs = [ protobuf pkg-config installShellFiles ]; @@ -31,6 +39,50 @@ rustPlatform.buildRustPackage rec { SODIUM_USE_PKG_CONFIG = 1; + dashboard = stdenv.mkDerivation rec { + pname = "ratman-dashboard"; + inherit version src; + sourceRoot = "source/ratman/dashboard"; + + yarnDeps = fetchYarnDeps { + yarnLock = src + "/ratman/dashboard/yarn.lock"; + sha256 = "sha256-pWjKL41r/bTvWv+5qCgCFVL9+o64BiV2/ISdLeKEOqE="; + }; + + nativeBuildInputs = [ yarn nodejs ]; + + outputs = [ "out" "dist" ]; + + buildPhase = '' + # Yarn writes temporary files to $HOME. Copied from mkYarnModules. + export HOME=$NIX_BUILD_TOP/yarn_home + + # Make yarn install packages from our offline cache, not the registry + yarn config --offline set yarn-offline-mirror ${yarnDeps} + + # Fixup "resolved"-entries in yarn.lock to match our offline cache + ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock + + yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive + + patchShebangs node_modules/ + + # Build into `./dist/`, suppress formatting. + yarn --offline build | cat + ''; + + installPhase = '' + cp -R . $out + + mv $out/dist $dist + ln -s $dist $out/dist + ''; + }; + + prePatch = '' + cp -r ${dashboard.dist} ratman/dashboard/dist + ''; + meta = with lib; { description = "A modular decentralised peer-to-peer packet router and associated tools"; homepage = "https://git.irde.st/we/irdest"; diff --git a/pkgs/tools/system/rex/default.nix b/pkgs/tools/system/rex/default.nix new file mode 100644 index 000000000000..2bb67333121e --- /dev/null +++ b/pkgs/tools/system/rex/default.nix @@ -0,0 +1,53 @@ +{ pkgs, lib, fetchurl, perlPackages, rsync, ... }: + +perlPackages.buildPerlPackage rec { + pname = "Rex"; + version = "1.13.4"; + src = fetchurl { + url = "mirror://cpan/authors/id/F/FE/FERKI/Rex-${version}.tar.gz"; + sha256 = "a86e9270159b41c9a8fce96f9ddc97c5caa68167ca4ed33e97908bfce17098cf"; + }; + buildInputs = with perlPackages; [ + FileShareDirInstall + ParallelForkManager + StringEscape + TestDeep + TestOutput + TestUseAllModules + + rsync + ]; + + nativeBuildInputs = with perlPackages; [ ParallelForkManager ]; + + propagatedBuildInputs = with perlPackages; [ + AWSSignature4 + DataValidateIP + DevelCaller + DigestHMAC + FileLibMagic + HashMerge + HTTPMessage + IOPty + IOString + JSONMaybeXS + LWP + NetOpenSSH + NetSFTPForeign + SortNaturally + TermReadKey + TextGlob + URI + XMLSimple + YAML + ]; + + doCheck = false; + + meta = { + homepage = "https://www.rexify.org"; + description = "The friendly automation framework"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ qbit ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f12b11e27cfa..9efc93ad3469 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4368,6 +4368,8 @@ with pkgs; reg = callPackage ../tools/virtualization/reg { }; + rex = callPackage ../tools/system/rex { }; + river = callPackage ../applications/window-managers/river { }; rivercarro = callPackage ../applications/misc/rivercarro { }; @@ -16695,6 +16697,10 @@ with pkgs; java-language-server = callPackage ../development/tools/java/java-language-server { }; + jprofiler = callPackage ../development/tools/java/jprofiler { + jdk = jdk11; + }; + jhiccup = callPackage ../development/tools/java/jhiccup { }; valgrind = callPackage ../development/tools/analysis/valgrind { diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index df9b8bf3315b..244711fa9013 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1359,6 +1359,20 @@ let buildInputs = [ DBI ]; }; + AWSSignature4 = perlPackages.buildPerlModule { + pname = "AWS-Signature4"; + version = "1.02"; + src = fetchurl { + url = "mirror://cpan/authors/id/L/LD/LDS/AWS-Signature4-1.02.tar.gz"; + sha256 = "20bbc16cb3454fe5e8cf34fe61f1a91fe26c3f17e449ff665fcbbb92ab443ebd"; + }; + propagatedBuildInputs = [ LWP TimeDate URI ]; + meta = { + description = "Create a version4 signature for Amazon Web Services"; + license = with lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + autovivification = buildPerlPackage { pname = "autovivification"; version = "0.18";