summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/backup/tsm-client/default.nix21
-rw-r--r--pkgs/tools/inputmethods/fcitx5/with-addons.nix6
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix12
-rw-r--r--pkgs/tools/misc/linux-logo/default.nix13
-rw-r--r--pkgs/tools/misc/mpdscribble/default.nix13
-rw-r--r--pkgs/tools/misc/plantuml-server/default.nix4
-rw-r--r--pkgs/tools/networking/amass/default.nix6
-rw-r--r--pkgs/tools/networking/ddclient/default.nix32
-rw-r--r--pkgs/tools/networking/hysteria/default.nix6
-rw-r--r--pkgs/tools/networking/imapsync/default.nix2
-rw-r--r--pkgs/tools/networking/miniupnpc/default.nix12
-rw-r--r--pkgs/tools/networking/swaks/default.nix2
-rw-r--r--pkgs/tools/security/cyclonedx-gomod/default.nix29
-rw-r--r--pkgs/tools/security/tlsx/default.nix6
-rw-r--r--pkgs/tools/system/jobber/default.nix40
-rw-r--r--pkgs/tools/text/shfmt/default.nix6
16 files changed, 140 insertions, 70 deletions
diff --git a/pkgs/tools/backup/tsm-client/default.nix b/pkgs/tools/backup/tsm-client/default.nix
index 0bb61b695a7..ef94eee2429 100644
--- a/pkgs/tools/backup/tsm-client/default.nix
+++ b/pkgs/tools/backup/tsm-client/default.nix
@@ -53,17 +53,14 @@
 # going to the `downloadPage` (see `meta` below).
 # Find the "Backup-archive client" table on that page.
 # Look for "Download Documents" of the latest release.
-# Here, two links must be checked if existing:
-# * "IBM Spectrum Protect Client ... Downloads and READMEs":
-#   In the table at the page's bottom,
-#   check the date of the "Linux x86_64 client"
-# * "IBM Spectrum Protect BA client ... interim fix downloads"
-# Look for the "Linux x86_64 client ..." rows
-# in the table at the bottom of each page.
-# Follow the "HTTPS" link of the row with the latest date stamp.
-# In the directory listing to show up, pick the big `.tar` file.
+# Follow the "Download Information" link.
+# Look for the "Linux x86_64 client ..." rows in the table at
+# the bottom of the page and follow their "HTTPS" links (one
+# link per row -- each link might point to the latest release).
+# In the directory listings to show up,
+# check the big `.tar` file.
 #
-# (as of 2022-09-29)
+# (as of 2022-12-10)
 
 
 let
@@ -108,10 +105,10 @@ let
 
   unwrapped = stdenv.mkDerivation rec {
     name = "tsm-client-${version}-unwrapped";
-    version = "8.1.15.2";
+    version = "8.1.17.0";
     src = fetchurl {
       url = mkSrcUrl version;
-      hash = "sha512-ljygVoW7zR+LVHf4LSoBn3qEHISobsxheLxs9NyKWQiwPWpfhSgJO+bX4QRzAmrpSTNrETxHkuXqzGSHaaBlzg==";
+      hash = "sha512-MP8BjnESFoEzl6jdhtuwX9PolDF7o4QL7i1NeDV0ltIJMUOqSeAULpTJ1bbErJokJSbrj41kDwMVI+ZuAUb1eA==";
     };
     inherit meta passthru;
 
diff --git a/pkgs/tools/inputmethods/fcitx5/with-addons.nix b/pkgs/tools/inputmethods/fcitx5/with-addons.nix
index 68d2f0612ca..d2d1e2f992a 100644
--- a/pkgs/tools/inputmethods/fcitx5/with-addons.nix
+++ b/pkgs/tools/inputmethods/fcitx5/with-addons.nix
@@ -1,7 +1,5 @@
 { lib, symlinkJoin, makeWrapper, fcitx5, fcitx5-configtool, fcitx5-qt, fcitx5-gtk, addons ? [ ] }:
 
-with lib;
-
 symlinkJoin {
   name = "fcitx5-with-addons-${fcitx5.version}";
 
@@ -14,7 +12,7 @@ symlinkJoin {
       --prefix FCITX_ADDON_DIRS : "$out/lib/fcitx5" \
       --suffix XDG_DATA_DIRS : "$out/share" \
       --suffix PATH : "$out/bin" \
-      --suffix LD_LIBRARY_PATH : ${makeLibraryPath (flatten (map (x: x.extraLdLibraries or []) addons))}
+      --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath (lib.flatten (map (x: x.extraLdLibraries or []) addons))}
 
     desktop=share/applications/org.fcitx.Fcitx5.desktop
     autostart=etc/xdg/autostart/org.fcitx.Fcitx5.desktop
@@ -25,5 +23,5 @@ symlinkJoin {
     ln -s $out/$desktop $out/$autostart
   '';
 
-  meta = fcitx5.meta;
+  inherit (fcitx5) meta;
 }
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 2045f3ededc..2fbdb14e701 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, python3Packages, docutils, help2man, installShellFiles
-, abootimg, acl, apksigner, apktool, binutils-unwrapped-all-targets, bzip2, cbfstool, cdrkit, colord, colordiff, coreutils, cpio, db, diffutils, dtc
+, abootimg, acl, apksigcopier, apksigner, apktool, binutils-unwrapped-all-targets, bzip2, cbfstool, cdrkit, colord, colordiff, coreutils, cpio, db, diffutils, dtc
 , e2fsprogs, enjarify, file, findutils, fontforge-fonttools, ffmpeg, fpc, gettext, ghc, ghostscriptX, giflib, gnumeric, gnupg, gnutar
-, gzip, hdf5, imagemagick, jdk, libarchive, libcaca, llvm, lz4, mono, ocaml, oggvideotools, openssh, openssl, pdftk, pgpdump, poppler_utils, procyon, qemu, R
+, gzip, html2text, hdf5, imagemagick, jdk, libarchive, libcaca, llvm, lz4, mono, ocaml, oggvideotools, openssh, openssl, pdftk, pgpdump, poppler_utils, procyon, qemu, R
 , radare2, sng, sqlite, squashfsTools, tcpdump, ubootTools, odt2txt, unzip, wabt, xmlbeans, xxd, xz, zip, zstd
 , enableBloat ? false
 # updater only
@@ -11,11 +11,11 @@
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "225";
+  version = "228";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "sha256-nuQmvYpCSzw2kUj/UdcBpn6jabaVMYT47MDblzpb/o0=";
+    sha256 = "sha256-fzIjuQEYOQPscQeVCV5gj6PmaVZcrjiOai/UA4279p4=";
   };
 
   outputs = [ "out" "man" ];
@@ -41,7 +41,7 @@ python3Packages.buildPythonApplication rec {
   pythonPath = [
       binutils-unwrapped-all-targets bzip2 colordiff coreutils cpio db diffutils
       e2fsprogs file findutils fontforge-fonttools gettext gnutar gzip
-      libarchive lz4 openssl pgpdump sng sqlite squashfsTools unzip xxd
+      html2text libarchive lz4 openssl pgpdump sng sqlite squashfsTools unzip xxd
       xz zip zstd
     ]
     ++ (with python3Packages; [
@@ -50,7 +50,7 @@ python3Packages.buildPythonApplication rec {
     ])
     ++ lib.optionals stdenv.isLinux [ python3Packages.pyxattr python3Packages.rpm acl cdrkit dtc ]
     ++ lib.optionals enableBloat ([
-      abootimg apksigner apktool cbfstool colord enjarify ffmpeg fpc ghc ghostscriptX giflib gnupg gnumeric
+      abootimg apksigcopier apksigner apktool cbfstool colord enjarify ffmpeg fpc ghc ghostscriptX giflib gnupg gnumeric
       hdf5 imagemagick libcaca llvm jdk mono ocaml odt2txt oggvideotools openssh pdftk poppler_utils procyon qemu R tcpdump ubootTools wabt radare2 xmlbeans
     ] ++ (with python3Packages; [ androguard binwalk guestfs h5py pdfminer-six ]));
 
diff --git a/pkgs/tools/misc/linux-logo/default.nix b/pkgs/tools/misc/linux-logo/default.nix
index a37f25c17d0..ad7dd7227a9 100644
--- a/pkgs/tools/misc/linux-logo/default.nix
+++ b/pkgs/tools/misc/linux-logo/default.nix
@@ -3,30 +3,25 @@
 , fetchFromGitHub
 , gettext
 , which
-, nix-update-script
 }:
 
 stdenv.mkDerivation rec {
   pname = "linux_logo";
-  version = "6.0";
+  version = "6.01";
 
   src = fetchFromGitHub {
     owner = "deater";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-q8QznEgnALJS//l7XXHZlq07pI2jCCm2USEU96rO8N0=";
+    rev = "v${version}";
+    hash = "sha256-yBAxPwgKyFFIX0wuG7oG+FbEDpA5cPwyyJgWrFErJ7I=";
   };
 
   nativeBuildInputs = [ gettext which ];
 
-  passthru.updateScript = nix-update-script {
-    attrPath = pname;
-  };
-
   meta = with lib; {
     description = "Prints an ASCII logo and some system info";
     homepage = "http://www.deater.net/weave/vmwprod/linux_logo";
-    changelog = "https://github.com/deater/linux_logo/blob/${version}/CHANGES_IN_${version}";
+    changelog = "https://github.com/deater/linux_logo/blob/${src.rev}/CHANGES";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ azahi ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/mpdscribble/default.nix b/pkgs/tools/misc/mpdscribble/default.nix
index deb610950e2..dc446d3f0a1 100644
--- a/pkgs/tools/misc/mpdscribble/default.nix
+++ b/pkgs/tools/misc/mpdscribble/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -20,20 +21,26 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-9rTLp0izuH5wUnC0kjyOI+lMLgD+3VC+sUaNvi+yqOc=";
   };
 
+  # Fix build issue on darwin; to be removed after the next release
+  patches = [(fetchpatch {
+    name = "remove-empty-static-lib.patch";
+    url = "https://github.com/MusicPlayerDaemon/mpdscribble/commit/0dbcea25c81f3fdc608f71ef71a9784679fee17f.patch";
+    sha256 = "sha256-3wLfQvbwx+OFrCl5vMV7Zps4e4iEYFhqPiVCo5hDqgw=";
+  })];
+
   nativeBuildInputs = [ pkg-config meson ninja ];
   buildInputs = [
     libmpdclient
     curl
     boost
     libgcrypt
-    systemd
-  ];
+  ] ++ lib.optional stdenv.isLinux systemd;
 
   meta = with lib; {
     description = "A MPD client which submits info about tracks being played to a scrobbler";
     homepage = "https://www.musicpd.org/clients/mpdscribble/";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.sohalt ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/plantuml-server/default.nix b/pkgs/tools/misc/plantuml-server/default.nix
index 3a3fb85c688..67ef1498f8f 100644
--- a/pkgs/tools/misc/plantuml-server/default.nix
+++ b/pkgs/tools/misc/plantuml-server/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchurl }:
 
 let
-  version = "1.2022.13";
+  version = "1.2022.14";
 in
 stdenv.mkDerivation rec {
   pname = "plantuml-server";
   inherit version;
   src = fetchurl {
     url = "https://github.com/plantuml/plantuml-server/releases/download/v${version}/plantuml-v${version}.war";
-    sha256 = "sha256-XQXG4/wrpFZ3Z7b7K5hWuZQXcvaYvV3igjtNPtOQ7FE=";
+    sha256 = "sha256-Gy7KIdsL38USYqpPJ1Rjg0RyEdgsnD9lk/m7hSCBYLo=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/tools/networking/amass/default.nix b/pkgs/tools/networking/amass/default.nix
index 6c2e6acafe3..6106ae16c4a 100644
--- a/pkgs/tools/networking/amass/default.nix
+++ b/pkgs/tools/networking/amass/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "amass";
-  version = "3.21.1";
+  version = "3.21.2";
 
   src = fetchFromGitHub {
     owner = "OWASP";
     repo = "Amass";
     rev = "v${version}";
-    hash = "sha256-QHFMHAKAwPdVhCTLUFtRcX252kyHfLQNPOTJ1WwSLgU=";
+    hash = "sha256-s5+l5LBDUPhKkP1+m0R2UXywBX0y+4FWtyYP5F7ccaQ=";
   };
 
-  vendorHash = "sha256-ytTHJoWjCiIoUJtUYUguphWVXr6gp43pY/L2ik2Bb+A=";
+  vendorHash = "sha256-Syi+znSXxjxfD9gqAyqhksWmxuNkwialWaem1NE5MKQ=";
 
   outputs = [
     "out"
diff --git a/pkgs/tools/networking/ddclient/default.nix b/pkgs/tools/networking/ddclient/default.nix
index e4bb685b518..b39af193010 100644
--- a/pkgs/tools/networking/ddclient/default.nix
+++ b/pkgs/tools/networking/ddclient/default.nix
@@ -1,48 +1,44 @@
-{ lib, fetchFromGitHub, perlPackages, iproute2, perl }:
+{ lib, fetchFromGitHub, perlPackages, autoreconfHook, iproute2, perl }:
 
 perlPackages.buildPerlPackage rec {
   pname = "ddclient";
-  version = "3.9.1";
+  version = "3.10.0";
+
+  outputs = [ "out" ];
 
   src = fetchFromGitHub {
     owner = "ddclient";
     repo = "ddclient";
     rev = "v${version}";
-    sha256 = "0hf377g4j9r9sac75xp17nk2h58mazswz4vkg4g2gl2yyhvzq91w";
+    sha256 = "sha256-wWUkjXwVNZRJR1rXPn3IkDRi9is9vsRuNC/zq8RpB1E=";
   };
 
-  # perl packages by default get devdoc which isn't present
-  outputs = [ "out" ];
-
-  buildInputs = with perlPackages; [ IOSocketSSL DigestSHA1 DataValidateIP JSONPP IOSocketInet6 ];
-
-  # Use iproute2 instead of ifconfig
-  preConfigure = ''
+  postPatch = ''
     touch Makefile.PL
-    substituteInPlace ddclient \
-      --replace 'in the output of ifconfig' 'in the output of ip addr show' \
-      --replace 'ifconfig -a' '${iproute2}/sbin/ip addr show' \
-      --replace 'ifconfig $arg' '${iproute2}/sbin/ip addr show $arg' \
-      --replace '/usr/bin/perl' '${perl}/bin/perl' # Until we get the patchShebangs fixed (issue #55786) we need to patch this manually
   '';
 
+  nativeBuildInputs = [ autoreconfHook ];
+
+  buildInputs = with perlPackages; [ IOSocketINET6 IOSocketSSL JSONPP ];
+
   installPhase = ''
     runHook preInstall
 
+    # patch sheebang ddclient script which only exists after buildPhase
+    preConfigure
     install -Dm755 ddclient $out/bin/ddclient
-    install -Dm644 -t $out/share/doc/ddclient COP* ChangeLog README.* RELEASENOTE
+    install -Dm644 -t $out/share/doc/ddclient COP* README.* ChangeLog.md
 
     runHook postInstall
   '';
 
-  # there are no tests distributed with ddclient
+  # TODO: run upstream tests
   doCheck = false;
 
   meta = with lib; {
     description = "Client for updating dynamic DNS service entries";
     homepage = "https://ddclient.net/";
     license = licenses.gpl2Plus;
-    # Mostly since `iproute` is Linux only.
     platforms = platforms.linux;
     maintainers = with maintainers; [ SuperSandro2000 ];
   };
diff --git a/pkgs/tools/networking/hysteria/default.nix b/pkgs/tools/networking/hysteria/default.nix
index 0b17203ad97..bd8e6e6d31c 100644
--- a/pkgs/tools/networking/hysteria/default.nix
+++ b/pkgs/tools/networking/hysteria/default.nix
@@ -4,16 +4,16 @@
 }:
 buildGoModule rec {
   pname = "hysteria";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "HyNetwork";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-va/2eCi7wu8YMKf/I0ZiDFAY/shaHA/boF1PCYFolwM=";
+    sha256 = "sha256-9ib/29yCfI4oS2yZQUePzZ+5FVTevvJCPjpTXmKnKeA=";
   };
 
-  vendorSha256 = "sha256-a24NyJDatyM+j29vyY5zbPRhRTOGfa2c1FkZdKpDvxk=";
+  vendorSha256 = "sha256-sRPnPKVuvcUHEldKVpgmGFGpwOSK5qh4EfeUQMFdMw8=";
   proxyVendor = true;
 
   ldflags = [
diff --git a/pkgs/tools/networking/imapsync/default.nix b/pkgs/tools/networking/imapsync/default.nix
index 5dd9ef12220..5604145a182 100644
--- a/pkgs/tools/networking/imapsync/default.nix
+++ b/pkgs/tools/networking/imapsync/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     EncodeIMAPUTF7
     FileCopyRecursive
     FileTail
-    IOSocketInet6
+    IOSocketINET6
     IOTee
     JSONWebToken
     LWP
diff --git a/pkgs/tools/networking/miniupnpc/default.nix b/pkgs/tools/networking/miniupnpc/default.nix
index 74406f2947d..6f22d6fb633 100644
--- a/pkgs/tools/networking/miniupnpc/default.nix
+++ b/pkgs/tools/networking/miniupnpc/default.nix
@@ -19,10 +19,18 @@ stdenv.mkDerivation rec {
 
   doCheck = !stdenv.isFreeBSD;
 
-  makeFlags = [ "PREFIX=$(out)" "INSTALLPREFIX=$(out)" ];
+  makeFlags = [ "PREFIX=$(out)" ];
 
   postInstall = ''
-    chmod +x "$out"/lib/libminiupnpc${stdenv.hostPlatform.extensions.sharedLibrary}
+    chmod +x $out/lib/libminiupnpc${stdenv.hostPlatform.extensions.sharedLibrary}
+
+    # for some reason cmake does not install binaries and manpages
+    # https://github.com/miniupnp/miniupnp/issues/637
+    mkdir -p $out/bin
+    cp -a upnpc-static $out/bin/upnpc
+    cp -a ../external-ip.sh $out/bin/external-ip
+    mkdir -p $out/share/man
+    cp -a ../man3 $out/share/man
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/swaks/default.nix b/pkgs/tools/networking/swaks/default.nix
index 49ef0afc060..da53407e3cc 100644
--- a/pkgs/tools/networking/swaks/default.nix
+++ b/pkgs/tools/networking/swaks/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
     wrapProgram $out/bin/swaks --set PERL5LIB \
       "${with perlPackages; makePerlPath [
-        NetSSLeay AuthenSASL NetDNS IOSocketInet6
+        NetSSLeay AuthenSASL NetDNS IOSocketINET6
       ]}"
   '';
 
diff --git a/pkgs/tools/security/cyclonedx-gomod/default.nix b/pkgs/tools/security/cyclonedx-gomod/default.nix
new file mode 100644
index 00000000000..95bb35259aa
--- /dev/null
+++ b/pkgs/tools/security/cyclonedx-gomod/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "cyclonedx-gomod";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "CycloneDX";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-jUTSPsnGStP4aPfYS4kWiFiIEDnGkfg1Zm4EX+eD4Wo=";
+  };
+
+  vendorHash = "sha256-ZiIift8On6vpu8IKI/GD3WFaFb2Xd54t8FJJqwR4tsM=";
+
+  # Tests require network access and cyclonedx executable
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Tool to create CycloneDX Software Bill of Materials (SBOM) from Go modules";
+    homepage = "https://github.com/CycloneDX/cyclonedx-gomod";
+    changelog = "https://github.com/CycloneDX/cyclonedx-gomod/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/tlsx/default.nix b/pkgs/tools/security/tlsx/default.nix
index 56986d8fc09..ca99840d524 100644
--- a/pkgs/tools/security/tlsx/default.nix
+++ b/pkgs/tools/security/tlsx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "tlsx";
-  version = "0.0.9";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-DcC08KmSXYOk4jlU0KIdu5zziWZLYlWetN+/ZGaY4RQ=";
+    hash = "sha256-IkN7AhfQ998eH50DcvTsSg9x2QwC7Ccpx+sZNa8nlSA=";
   };
 
-  vendorHash = "sha256-MC7mS+GMfQUZPW6i/lDPW8qAHzT1Cr7gYYG9V4CTCM0=";
+  vendorHash = "sha256-cDKifPNXXMSRKtl0yWTJj5FwBt545eYAlbgJbgEj6L8=";
 
   # Tests require network access
   doCheck = false;
diff --git a/pkgs/tools/system/jobber/default.nix b/pkgs/tools/system/jobber/default.nix
new file mode 100644
index 00000000000..d226d82d8cd
--- /dev/null
+++ b/pkgs/tools/system/jobber/default.nix
@@ -0,0 +1,40 @@
+{ lib, buildGoModule, fetchFromGitHub, gotools }:
+
+buildGoModule rec {
+  pname = "jobber";
+  version = "1.4.4";
+
+  src = fetchFromGitHub {
+    owner = "dshearer";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-mLYyrscvT/VK9ehwkPUq4RbwHb+6Wjvt7ZXk/fI0HT4=";
+  };
+
+  vendorHash = null;
+
+  nativeBuildInputs = [ gotools ];
+
+  postConfigure = "go generate ./...";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/dshearer/jobber/common.jobberVersion=${version}"
+    "-X github.com/dshearer/jobber/common.etcDirPath=${placeholder "out"}/etc"
+  ];
+
+  postInstall = ''
+    mkdir -p $out/etc $out/libexec
+    $out/bin/jobbermaster defprefs --libexec $out/libexec > $out/etc/jobber.conf
+    mv $out/bin/jobber{master,runner} $out/libexec/
+  '';
+
+  meta = with lib; {
+    homepage = "https://dshearer.github.io/jobber";
+    changelog = "https://github.com/dshearer/jobber/releases/tag/v${version}";
+    description = "An alternative to cron, with sophisticated status-reporting and error-handling";
+    license = licenses.mit;
+    maintainers = with maintainers; [ urandom ];
+  };
+}
diff --git a/pkgs/tools/text/shfmt/default.nix b/pkgs/tools/text/shfmt/default.nix
index 054e345be8d..a4cdcaa6121 100644
--- a/pkgs/tools/text/shfmt/default.nix
+++ b/pkgs/tools/text/shfmt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "shfmt";
-  version = "3.5.1";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = "sh";
     rev = "v${version}";
-    sha256 = "sha256-/fNKgUh0AnyW1MOuTwk/deT5MnQMy8zMUA1KEdaM8SY=";
+    sha256 = "sha256-hu08TouICK9tg8+QrAUWpzEAkJ1hHJEIz/UXL+jexrQ=";
   };
 
-  vendorSha256 = "sha256-3eao9bORPTsyCFpafp89mcL2Y7HNBlDfUsTull7qnYs=";
+  vendorSha256 = "sha256-De/8PLio63xn2byfVzGVCdzRwFxzFMy0ftjB+VEBLrQ=";
 
   subPackages = [ "cmd/shfmt" ];