diff options
Diffstat (limited to 'pkgs/tools')
55 files changed, 624 insertions, 515 deletions
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix index d55258485de50..93ba305ae8948 100644 --- a/pkgs/tools/admin/azure-cli/default.nix +++ b/pkgs/tools/admin/azure-cli/default.nix @@ -352,6 +352,18 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage rec { command-line tool to connect to Azure and execute administrative commands on Azure resources. It allows the execution of commands through a terminal using interactive command-line prompts or a script. + + `azure-cli` has extension support. For example, to install the `aks-preview` extension, use + + ```nix + environment.systemPackages = [ + (azure-cli.withExtensions [ azure-cli.extensions.aks-preview ]) + ]; + ``` + + To make the `azure-cli` immutable and prevent clashes in case `azure-cli` is also installed via other package managers, + some configuration files were moved into the derivation. This can be disabled by overriding `withImmutableConfig = false` + when building `azure-cli`. ''; changelog = "https://github.com/MicrosoftDocs/azure-docs-cli/blob/main/docs-ref-conceptual/release-notes-azure-cli.md"; sourceProvenance = [ sourceTypes.fromSource ]; diff --git a/pkgs/tools/admin/balena-cli/default.nix b/pkgs/tools/admin/balena-cli/default.nix index cc4674bcd2c9b..0229c81953780 100644 --- a/pkgs/tools/admin/balena-cli/default.nix +++ b/pkgs/tools/admin/balena-cli/default.nix @@ -18,16 +18,16 @@ let }; in buildNpmPackage' rec { pname = "balena-cli"; - version = "18.1.9"; + version = "18.2.0"; src = fetchFromGitHub { owner = "balena-io"; repo = "balena-cli"; rev = "v${version}"; - hash = "sha256-yf4QkuFt5Fpegyru05S79Q3hFaLc45unxrk+SJzwWg0="; + hash = "sha256-8T+6j2wIsCn27I7V6u5bXIjjbkU2soGI3rBfIzb4IxY="; }; - npmDepsHash = "sha256-lTaKW5Tsw9df0bd/chr8nSL2PROp1sSs+fuMr3Cz+a4="; + npmDepsHash = "sha256-XTCdrb5qwyaSnxjJOGOvpn22YsoS4WNXRwFTjPXzf5U="; postPatch = '' ln -s npm-shrinkwrap.json package-lock.json diff --git a/pkgs/tools/admin/pulumi-packages/base.nix b/pkgs/tools/admin/pulumi-packages/base.nix index 8327e41dcd5f2..5f5857f1a1fd2 100644 --- a/pkgs/tools/admin/pulumi-packages/base.nix +++ b/pkgs/tools/admin/pulumi-packages/base.nix @@ -10,9 +10,10 @@ let , vendorHash , cmd , extraLdflags + , env , ... }@args: buildGoModule (rec { - inherit pname src vendorHash version; + inherit pname src vendorHash version env; sourceRoot = "${src.name}/provider"; @@ -88,6 +89,7 @@ in , cmdGen , cmdRes , extraLdflags +, env ? { } , meta , fetchSubmodules ? false , ... @@ -99,14 +101,14 @@ let }; pulumi-gen = mkBasePackage rec { - inherit src version vendorHash extraLdflags; + inherit src version vendorHash extraLdflags env; cmd = cmdGen; pname = cmdGen; }; in mkBasePackage ({ - inherit meta src version vendorHash extraLdflags; + inherit meta src version vendorHash extraLdflags env; pname = repo; diff --git a/pkgs/tools/admin/pulumi-packages/default.nix b/pkgs/tools/admin/pulumi-packages/default.nix index 5aed6b1717833..9e232a1f45bf4 100644 --- a/pkgs/tools/admin/pulumi-packages/default.nix +++ b/pkgs/tools/admin/pulumi-packages/default.nix @@ -11,4 +11,5 @@ in pulumi-language-nodejs = callPackage ./pulumi-language-nodejs.nix { }; pulumi-language-python = callPackage ./pulumi-language-python.nix { }; pulumi-random = callPackage' ./pulumi-random.nix { }; + pulumi-yandex-unofficial = callPackage' ./pulumi-yandex-unofficial.nix { }; } diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-yandex-unofficial.nix b/pkgs/tools/admin/pulumi-packages/pulumi-yandex-unofficial.nix new file mode 100644 index 0000000000000..52079fbda066e --- /dev/null +++ b/pkgs/tools/admin/pulumi-packages/pulumi-yandex-unofficial.nix @@ -0,0 +1,27 @@ +{ lib +, mkPulumiPackage +}: +# Note that we are not using https://github.com/pulumi/pulumi-yandex because +# it has been archived in 2022. +mkPulumiPackage rec { + owner = "Regrau"; + repo = "pulumi-yandex"; + version = "0.98.0"; + rev = "v${version}"; + hash = "sha256-Olwl4JNrJUiJaGha7ZT0Qb0+6hRKxOOy06eKMJfYf0I="; + vendorHash = "sha256-8mu0msSq59f5GZNo7YIGuNTYealGyEL9kwk0jCcSO68="; + cmdGen = "pulumi-tfgen-yandex"; + cmdRes = "pulumi-resource-yandex"; + extraLdflags = [ + "-X github.com/regrau/${repo}/provider/pkg/version.Version=v${version}" + ]; + __darwinAllowLocalNetworking = true; + env.GOWORK = "off"; + meta = with lib; { + description = "Unofficial Yandex Cloud Resource Provider"; + homepage = "https://github.com/Regrau/pulumi-yandex"; + license = licenses.asl20; + maintainers = with maintainers; [ tie veehaitch trundle ]; + mainProgram = cmdRes; + }; +} diff --git a/pkgs/tools/admin/qovery-cli/default.nix b/pkgs/tools/admin/qovery-cli/default.nix index ae0690e56c7a0..95ce88d06946a 100644 --- a/pkgs/tools/admin/qovery-cli/default.nix +++ b/pkgs/tools/admin/qovery-cli/default.nix @@ -9,16 +9,16 @@ buildGoModule rec { pname = "qovery-cli"; - version = "0.87.0"; + version = "0.89.0"; src = fetchFromGitHub { owner = "Qovery"; repo = "qovery-cli"; rev = "refs/tags/v${version}"; - hash = "sha256-JUyhVq3xMPV9s4OCfkKgCnSMjztYDPJgS4A+jJOZofE="; + hash = "sha256-3guMKAxDxv/R60pKP0y+XTTaxHZSTfnXtNO2RC74/xE="; }; - vendorHash = "sha256-Lwg3PFmSipaaYtu88c1qI/Ws50TQOqEu4mSuxcpx3zI="; + vendorHash = "sha256-/wm/KCO/oYJkjh0AuUi9rUyrqen/otC4KVVXhROz9Ro="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix index ade905ec189e3..f29cf3b0046fc 100644 --- a/pkgs/tools/admin/trivy/default.nix +++ b/pkgs/tools/admin/trivy/default.nix @@ -1,28 +1,29 @@ -{ lib -, stdenv -, buildPackages -, buildGoModule -, fetchFromGitHub -, installShellFiles -, testers -, trivy +{ + lib, + stdenv, + buildPackages, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + trivy, }: buildGoModule rec { pname = "trivy"; - version = "0.50.1"; + version = "0.50.2"; src = fetchFromGitHub { owner = "aquasecurity"; - repo = pname; + repo = "trivy"; rev = "refs/tags/v${version}"; - hash = "sha256-TcSWgEdk0hjckY5ZGm2/jg9C4yiTTtgQjZEihXBi+fA="; + hash = "sha256-0FV67+m09PCkPZfnkepkvBA4mFYIkJSMT5v0tDwalW8="; }; # Hash mismatch on across Linux and Darwin proxyVendor = true; - vendorHash = "sha256-FkyGqZSEKWCI7tRmTBI+dmiqZPPPMUlqbCxs59N1syY="; + vendorHash = "sha256-aki+kwjZxPPD/K3k8wJMc2HNB6DzFf92mcOOQFwsbXU="; subPackages = [ "cmd/trivy" ]; @@ -39,7 +40,11 @@ buildGoModule rec { postInstall = let - trivy = if stdenv.buildPlatform.canExecute stdenv.hostPlatform then placeholder "out" else buildPackages.trivy; + trivy = + if stdenv.buildPlatform.canExecute stdenv.hostPlatform then + placeholder "out" + else + buildPackages.trivy; in '' installShellCompletion --cmd trivy \ @@ -69,6 +74,9 @@ buildGoModule rec { ''; mainProgram = "trivy"; license = licenses.asl20; - maintainers = with maintainers; [ fab jk ]; + maintainers = with maintainers; [ + fab + jk + ]; }; } diff --git a/pkgs/tools/backup/borgbackup/default.nix b/pkgs/tools/backup/borgbackup/default.nix index d7853d0506f64..778f5a5aad9f5 100644 --- a/pkgs/tools/backup/borgbackup/default.nix +++ b/pkgs/tools/backup/borgbackup/default.nix @@ -2,54 +2,46 @@ , stdenv , acl , e2fsprogs +, fetchFromGitHub , libb2 , lz4 , openssh , openssl -, python3Packages +, python3 , xxHash , zstd , installShellFiles , nixosTests -, fetchPypi }: let - python = python3Packages.python.override { - packageOverrides = self: super: { - msgpack = super.msgpack.overrideAttrs (oldAttrs: rec { - version ="1.0.4"; - - src = fetchPypi { - pname = "msgpack"; - inherit version; - hash = "sha256-9dhpwY8DAgLrQS8Iso0q/upVPWYTruieIA16yn7wH18="; - }; - }); - }; - }; + python = python3; in python.pkgs.buildPythonApplication rec { pname = "borgbackup"; - version = "1.2.7"; - format = "pyproject"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-9j8oozg8BBlxzsh7BhyjmoFbX9RF2ySqgXLKxBfZQRo="; + version = "1.2.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "borgbackup"; + repo = "borg"; + rev = "refs/tags/${version}"; + hash = "sha256-+FHqOVuHlY9QUjCrYVnrMBZPMFH9Z2U7eZ6eUSINSrw="; }; postPatch = '' # sandbox does not support setuid/setgid/sticky bits substituteInPlace src/borg/testsuite/archiver.py \ - --replace "0o4755" "0o0755" + --replace-fail "0o4755" "0o0755" ''; - nativeBuildInputs = with python.pkgs; [ + build-system = with python.pkgs; [ cython setuptools-scm pkgconfig + ]; + nativeBuildInputs = with python.pkgs; [ # docs sphinxHook guzzle-sphinx-theme @@ -70,7 +62,7 @@ python.pkgs.buildPythonApplication rec { acl ]; - propagatedBuildInputs = with python.pkgs; [ + dependencies = with python.pkgs; [ msgpack packaging (if stdenv.isLinux then pyfuse3 else llfuse) @@ -130,7 +122,7 @@ python.pkgs.buildPythonApplication rec { outputs = [ "out" "doc" "man" ]; meta = with lib; { - changelog = "https://github.com/borgbackup/borg/blob/${version}/docs/changes.rst"; + changelog = "https://github.com/borgbackup/borg/blob/${src.rev}/docs/changes.rst"; description = "Deduplicating archiver with compression and encryption"; homepage = "https://www.borgbackup.org"; license = licenses.bsd3; diff --git a/pkgs/tools/backup/borgmatic/default.nix b/pkgs/tools/backup/borgmatic/default.nix index 0268fae6a185a..1845ea99def96 100644 --- a/pkgs/tools/backup/borgmatic/default.nix +++ b/pkgs/tools/backup/borgmatic/default.nix @@ -13,11 +13,11 @@ python3Packages.buildPythonApplication rec { pname = "borgmatic"; - version = "1.8.9"; + version = "1.8.10"; src = fetchPypi { inherit pname version; - sha256 = "sha256-YfDV2BJzi2DVi/eoWg3KeqmJjUv5+TrLpYdF8R7YuPY="; + sha256 = "sha256-hR2q49gCD9BZsk+jQ90EfKkkq7mX9qAO+gRsvdnuDec="; }; nativeCheckInputs = with python3Packages; [ flexmock pytestCheckHook pytest-cov ] ++ passthru.optional-dependencies.apprise; diff --git a/pkgs/tools/backup/zfs-replicate/default.nix b/pkgs/tools/backup/zfs-replicate/default.nix index c5a4d2f0317f2..1ae5c0de79fa3 100644 --- a/pkgs/tools/backup/zfs-replicate/default.nix +++ b/pkgs/tools/backup/zfs-replicate/default.nix @@ -11,12 +11,12 @@ buildPythonApplication rec { pname = "zfs_replicate"; - version = "3.2.12"; + version = "3.2.13"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-Pyn/ehXVb5knHS1A/MFTYE0t+IVgtBe1dAnYdaHutyk="; + hash = "sha256-Xmg33bqs3gQJWqkCNiWYUem3o6XsxpfbHIVvLs/2D94="; }; postPatch = '' diff --git a/pkgs/tools/backup/zfsbackup/default.nix b/pkgs/tools/backup/zfsbackup/default.nix index d0f8972434a82..12bc55a543977 100644 --- a/pkgs/tools/backup/zfsbackup/default.nix +++ b/pkgs/tools/backup/zfsbackup/default.nix @@ -26,7 +26,7 @@ buildGoModule rec { description = "Backup ZFS snapshots to cloud storage such as Google, Amazon, Azure, etc"; homepage = "https://github.com/someone1/zfsbackup-go"; license = licenses.mit; - maintainers = with maintainers; [ xfix ]; + maintainers = with maintainers; [ ]; platforms = platforms.linux; mainProgram = "zfsbackup-go"; }; diff --git a/pkgs/tools/compression/flips/default.nix b/pkgs/tools/compression/flips/default.nix index 6ee1c03cabce5..e061459ece269 100644 --- a/pkgs/tools/compression/flips/default.nix +++ b/pkgs/tools/compression/flips/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation { description = "A patcher for IPS and BPS files"; homepage = "https://github.com/Alcaro/Flips"; license = licenses.gpl3Plus; - maintainers = [ maintainers.xfix ]; + maintainers = [ ]; platforms = platforms.linux; mainProgram = "flips"; }; diff --git a/pkgs/tools/filesystems/mount-zip/default.nix b/pkgs/tools/filesystems/mount-zip/default.nix index 362ca4e2743e3..8bff2e4fb47e1 100644 --- a/pkgs/tools/filesystems/mount-zip/default.nix +++ b/pkgs/tools/filesystems/mount-zip/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "mount-zip"; - version = "1.0.13"; + version = "1.0.14"; src = fetchFromGitHub { owner = "google"; repo = "mount-zip"; rev = "v${finalAttrs.version}"; - hash = "sha256-/iPq/v7ap5livYR5tA90JiaGxQfR9VG+FONECeCFdOQ="; + hash = "sha256-S2snseC9JAjYRberL2/CyRQTcZQ8GtGQNU3WuTqSRl4="; }; nativeBuildInputs = [ boost gcc icu pandoc pkg-config ]; diff --git a/pkgs/tools/filesystems/stratis-cli/default.nix b/pkgs/tools/filesystems/stratis-cli/default.nix index 4c27b888bbaab..4de51f0ff8d3d 100644 --- a/pkgs/tools/filesystems/stratis-cli/default.nix +++ b/pkgs/tools/filesystems/stratis-cli/default.nix @@ -6,14 +6,14 @@ python3Packages.buildPythonApplication rec { pname = "stratis-cli"; - version = "3.6.0"; + version = "3.6.2"; pyproject = true; src = fetchFromGitHub { owner = "stratis-storage"; repo = pname; - rev = "v${version}"; - hash = "sha256-mLmjMofdr0U+Bfnkde7lJqPXkd1ICPYdlcsOm2nOcQA="; + rev = "refs/tags/v${version}"; + hash = "sha256-f2Bjv7Z7+FZejS5plUGKTlGUixgF2pGN1SeszTDh4Ko="; }; nativeBuildInputs = with python3Packages; [ diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix index aeb51d66bf6f0..4af2e3be53719 100644 --- a/pkgs/tools/graphics/asymptote/default.nix +++ b/pkgs/tools/graphics/asymptote/default.nix @@ -4,29 +4,26 @@ , boehmgc, libGLU, libGL, mesa, ncurses, readline, gsl, libsigsegv , python3, qtbase, qtsvg, boost , zlib, perl, curl -, texliveSmall, texinfo +, texinfo +, texlive +, texliveSmall , darwin }: -stdenv.mkDerivation rec { - version = "2.88"; +stdenv.mkDerivation (finalAttrs: { + version = "2.89"; pname = "asymptote"; outputs = [ "out" "man" "info" "doc" "tex" ]; src = fetchurl { - url = "mirror://sourceforge/asymptote/${version}/asymptote-${version}.src.tgz"; - hash = "sha256-DecadD+m7pORuH3Sdcs/5M3vUbN6rhSkFoNN0Soq9bs="; + url = "mirror://sourceforge/asymptote/${finalAttrs.version}/asymptote-${finalAttrs.version}.src.tgz"; + hash = "sha256-9k5itO5PhfGnhkDE8eim+Y6R9U7ayrGXJ8fKvpSlf1s="; }; - patches = [ - (fetchpatch { - # partial fix for macOS XDR/V3D support (LDFLAGS change seems like an unrelated bugfix) - name = "restore-LDFLAGS-dont-look-for-tirpc-under-MacOS.patch"; - url = "https://github.com/vectorgraphics/asymptote/commit/7e17096b22d18d133d1bc5916b6e32c0cb24ad10.patch"; - hash = "sha256-olCFzqfZwWOAjqlB5lDPXYRHU9i3VQNgoR0cO5TmW98="; - }) - ]; + # override with TeX Live containers to avoid building sty, docs from source + texContainer = null; + texdocContainer = null; nativeBuildInputs = [ autoreconfHook @@ -37,13 +34,13 @@ stdenv.mkDerivation rec { wrapQtAppsHook cmake pkg-config - ]; + ] ++ lib.optional (finalAttrs.texContainer == null || finalAttrs.texdocContainer == null) + (texliveSmall.withPackages (ps: with ps; [ epsf cm-super ps.texinfo media9 ocgx2 collection-latexextra ])); buildInputs = [ ghostscriptX imagemagick fftw eigen boehmgc ncurses readline gsl libsigsegv zlib perl curl qtbase qtsvg boost - (texliveSmall.withPackages (ps: with ps; [ epsf cm-super ps.texinfo media9 ocgx2 collection-latexextra ])) (python3.withPackages (ps: with ps; [ cson numpy pyqt5 ])) ] ++ lib.optionals stdenv.isLinux [ libtirpc ]; @@ -57,12 +54,25 @@ stdenv.mkDerivation rec { dontWrapQtApps = true; - # Do not build $tex/ls-R which will be generated by texlive.combine + # do not build $tex/ls-R which will be generated by texlive.withPackages + # do not build and install sty and docs, if provided by tex/texdoc texlive containers + # (this is an optimisation to make texliveMedium and texliveFull independent of texliveSmall) preConfigure = '' HOME=$TMP substituteInPlace Makefile.in \ - --replace-fail 'install: install-notexhash install-texhash' 'install: install-notexhash install-asy' - prependToVar configureFlags "--with-latex=$tex/tex/latex" "--with-context=$tex/tex/context/third" + --replace-fail ' install-texhash' ''' + if [[ -n $texContainer ]] ; then + sed -i Makefile.in -e '/(\(latex\|context\)dir)/d' + substituteInPlace Makefile.in \ + --replace-fail 'asy sty' 'asy' + else + prependToVar configureFlags "--with-latex=$tex/tex/latex" "--with-context=$tex/tex/context/third" + fi + if [[ -n $texdocContainer ]] ; then + substituteInPlace Makefile.in \ + --replace-fail ' install-man' ''' \ + --replace-fail 'docdir = $(DESTDIR)@docdir@' 'docdir = $(TMP)/doc' + fi ''; # do not use bundled libgc.so @@ -76,12 +86,36 @@ stdenv.mkDerivation rec { rm "$out"/bin/xasy makeQtWrapper "$out"/share/asymptote/GUI/xasy.py "$out"/bin/xasy --prefix PATH : "$out"/bin - mv "$info"/share/info/asymptote/*.info "$info"/share/info/ - sed -i -e 's|(asymptote/asymptote)|(asymptote)|' "$info"/share/info/asymptote.info - rmdir "$info"/share/info/asymptote - rm -f "$info"/share/info/dir + if [[ -z $texdocContainer ]] ; then + mv "$info"/share/info/asymptote/*.info "$info"/share/info/ + sed -i -e 's|(asymptote/asymptote)|(asymptote)|' "$info"/share/info/asymptote.info + rmdir "$info"/share/info/asymptote + rm -f "$info"/share/info/dir + fi + install -Dt $out/share/emacs/site-lisp/${finalAttrs.pname} $out/share/asymptote/*.el + ''; + + # fixupPhase crashes if the outputs are not directories + preFixup = '' + if [[ -n $texContainer ]] ; then + mkdir -p "$tex" + fi + if [[ -n $texdocContainer ]] ; then + mkdir -p "$doc" "$man" "$info" + fi + ''; - install -Dt $out/share/emacs/site-lisp/${pname} $out/share/asymptote/*.el + postFixup = '' + if [[ -n $texContainer ]] ; then + rmdir "$tex" + ln -s "$texContainer" "$tex" + fi + if [[ -n $texdocContainer ]] ; then + mkdir -p "$man/share" "$info/share" + ln -s "$texdocContainer" "$doc/share" + ln -s "$texdocContainer/doc/man" "$man/share" + ln -s "$texdocContainer/doc/info" "$info/share" + fi ''; dontUseCmakeConfigure = true; @@ -98,4 +132,4 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.raskin ]; platforms = platforms.linux ++ platforms.darwin; }; -} +}) diff --git a/pkgs/tools/misc/broadlink-cli/default.nix b/pkgs/tools/misc/broadlink-cli/default.nix index 087b56c9d1a3a..c9438ff3583f3 100644 --- a/pkgs/tools/misc/broadlink-cli/default.nix +++ b/pkgs/tools/misc/broadlink-cli/default.nix @@ -2,7 +2,7 @@ python3Packages.buildPythonApplication rec { pname = "broadlink-cli"; - version = "0.18.3"; + version = "0.19.0"; # the tools are available as part of the source distribution from GH but # not pypi, so we have to fetch them here. @@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec { owner = "mjg59"; repo = "python-broadlink"; rev = "refs/tags/${version}"; - sha256 = "sha256-8bSlMA5Nb3hqpVMeHlgb8AkKt5JrfEiyKjobxRBdmNM="; + sha256 = "sha256-fqhi4K8Ceh8Rs0ExteCfAuVfEamFjMCjCFm6DRAJDmI="; }; format = "other"; diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix index 69f25a35c7397..580d01376eb87 100644 --- a/pkgs/tools/misc/diffoscope/default.nix +++ b/pkgs/tools/misc/diffoscope/default.nix @@ -79,11 +79,11 @@ # Note: when upgrading this package, please run the list-missing-tools.sh script as described below! python3.pkgs.buildPythonApplication rec { pname = "diffoscope"; - version = "263"; + version = "265"; src = fetchurl { url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2"; - hash = "sha256-tKGPit8rPn/fMdEWP3cC93qakU5d7mBeRiKNQT3DBJ4="; + hash = "sha256-YE81R8lTOM3wmv/GIaIBqUq2O6UvnUaHjuXZ00yDU8U="; }; outputs = [ diff --git a/pkgs/tools/misc/ntfy-sh/default.nix b/pkgs/tools/misc/ntfy-sh/default.nix index 44a82b4253cc1..cf429da9cad0a 100644 --- a/pkgs/tools/misc/ntfy-sh/default.nix +++ b/pkgs/tools/misc/ntfy-sh/default.nix @@ -43,7 +43,6 @@ buildGoModule rec { python3 python3Packages.mkdocs-material python3Packages.mkdocs-minify-plugin - python3Packages.mkdocs-simple-hooks ]; postPatch = '' diff --git a/pkgs/tools/misc/phrase-cli/default.nix b/pkgs/tools/misc/phrase-cli/default.nix index e780f451040b4..c06b1d386768d 100644 --- a/pkgs/tools/misc/phrase-cli/default.nix +++ b/pkgs/tools/misc/phrase-cli/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "phrase-cli"; - version = "2.23.2"; + version = "2.24.0"; src = fetchFromGitHub { owner = "phrase"; repo = "phrase-cli"; rev = version; - sha256 = "sha256-CzDkIFlStfCJpF82pqD8hTxbjH9Nu+0/uygTR0xxxV4="; + sha256 = "sha256-i1gf/xTdZaseUiu70i0Yh+DZlRoJjKYG1Q+D7uUyMl8="; }; - vendorHash = "sha256-r07nHJqFWHAMTkmQmy0/jK7N/lDzpnHqmuGTG1FTUiI="; + vendorHash = "sha256-+UjUk2Uf4ESHkUSM9X+a3fBF05cVsQ4JwPn93hbELLs="; ldflags = [ "-X=github.com/phrase/phrase-cli/cmd.PHRASE_CLIENT_VERSION=${version}" ]; diff --git a/pkgs/tools/misc/shelldap/default.nix b/pkgs/tools/misc/shelldap/default.nix index 045c5732c3e09..09901368c8701 100644 --- a/pkgs/tools/misc/shelldap/default.nix +++ b/pkgs/tools/misc/shelldap/default.nix @@ -1,6 +1,8 @@ { lib +, stdenv , fetchFromGitHub , perlPackages +, shortenPerlShebang }: perlPackages.buildPerlPackage rec { @@ -26,6 +28,8 @@ perlPackages.buildPerlPackage rec { YAMLSyck ]; + nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang; + prePatch = '' touch Makefile.PL ''; @@ -33,7 +37,11 @@ perlPackages.buildPerlPackage rec { installPhase = '' runHook preInstall install -Dm555 -t $out/bin shelldap - runHook preInstall + runHook postInstall + ''; + + postInstall = lib.optionalString stdenv.isDarwin '' + shortenPerlShebang $out/bin/shelldap ''; # no make target 'test', not tests provided by source diff --git a/pkgs/tools/misc/tbls/default.nix b/pkgs/tools/misc/tbls/default.nix index 4672adfc97c9d..067c40aab8db8 100644 --- a/pkgs/tools/misc/tbls/default.nix +++ b/pkgs/tools/misc/tbls/default.nix @@ -9,16 +9,16 @@ buildGoModule rec { pname = "tbls"; - version = "1.73.3"; + version = "1.74.0"; src = fetchFromGitHub { owner = "k1LoW"; repo = "tbls"; rev = "v${version}"; - hash = "sha256-mAGEJ+FISPRrIz3dWwuf9EYbTNdaMj7tbHgthSYBiIU="; + hash = "sha256-diMg47aZvMpVtvSbg1nA2Sva7JnEBfh8ZU9AHcz+xno="; }; - vendorHash = "sha256-oMGAsVRSyndCJ3QXfrI02XrsOXkzljTNro6ygal6mDk="; + vendorHash = "sha256-UbMR3yTabGSUqT30T81R/fGnWI4Mz7/utCjZ5Fq0MWU="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/tools/misc/upterm/default.nix b/pkgs/tools/misc/upterm/default.nix index 135fa5dcec692..1cd4d1d606bf4 100644 --- a/pkgs/tools/misc/upterm/default.nix +++ b/pkgs/tools/misc/upterm/default.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "upterm"; - version = "0.13.2"; + version = "0.13.3"; src = fetchFromGitHub { owner = "owenthereal"; repo = "upterm"; rev = "v${version}"; - hash = "sha256-GpD8OUZWN2myADHjpIBUzu2adkE9eFLENxpybX+k9Zg="; + hash = "sha256-VGLQ0NtXHIBKyTjW+7rPbmRdhcY9CMUYAnUu3qbqv9A="; }; - vendorHash = "sha256-Rh3xgxaCPj9CbiNy8AycuCPvD/HCiLohcdiCQwPduDM="; + vendorHash = "sha256-rbdYXRxnkl0v+bICSusGiyxb5TIGREiKuylycV3dcx4="; subPackages = [ "cmd/upterm" "cmd/uptermd" ]; diff --git a/pkgs/tools/misc/vtm/default.nix b/pkgs/tools/misc/vtm/default.nix index 2e0434a2a6e41..e1bc945772616 100644 --- a/pkgs/tools/misc/vtm/default.nix +++ b/pkgs/tools/misc/vtm/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "vtm"; - version = "0.9.77"; + version = "0.9.78"; src = fetchFromGitHub { owner = "netxs-group"; repo = "vtm"; rev = "v${finalAttrs.version}"; - hash = "sha256-usY8JvoTtGfA8nnl6w7r1sft8F/19fHeSl9kMWM60i4="; + hash = "sha256-sYRBx60G/3ErBDeUJWPEaWD51B23nBseB2wDE4Tn2NA="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/networking/calendar-cli/default.nix b/pkgs/tools/networking/calendar-cli/default.nix index 45b3afbf895e2..7cac9f4ae0f32 100644 --- a/pkgs/tools/networking/calendar-cli/default.nix +++ b/pkgs/tools/networking/calendar-cli/default.nix @@ -7,6 +7,7 @@ python3.pkgs.buildPythonApplication rec { pname = "calendar-cli"; version = "1.0.1"; + pyproject = true; src = fetchFromGitHub { owner = "tobixen"; @@ -15,7 +16,11 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-w35ySLnfxXZR/a7BrPLYqXs2kqkuYhh5PcgNxJqjDtE="; }; - propagatedBuildInputs = with python3.pkgs; [ + build-system = with python3.pkgs; [ + setuptools + ]; + + dependencies = with python3.pkgs; [ icalendar caldav pytz @@ -36,6 +41,7 @@ python3.pkgs.buildPythonApplication rec { description = "Simple command-line CalDav client"; homepage = "https://github.com/tobixen/calendar-cli"; license = licenses.gpl3Plus; + mainProgram = "calendar-cli"; maintainers = with maintainers; [ dotlambda ]; }; } diff --git a/pkgs/tools/networking/ddns-go/default.nix b/pkgs/tools/networking/ddns-go/default.nix index 725468e1e6b30..2207fa5baae42 100644 --- a/pkgs/tools/networking/ddns-go/default.nix +++ b/pkgs/tools/networking/ddns-go/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "ddns-go"; - version = "6.3.2"; + version = "6.3.3"; src = fetchFromGitHub { owner = "jeessy2"; repo = pname; rev = "v${version}"; - hash = "sha256-efuz27N/culO5vxgWKXawD+yqxjDsAr0Hpv2I9YQePs="; + hash = "sha256-LsJAuEVJy4jTvFEOgbH6ZiiqbMoGXuMNDhHx4phwd5k="; }; vendorHash = "sha256-ckgX+gftWJROe/RpxjuBmXSDxW/PlCOIkrx+erxCP40="; diff --git a/pkgs/tools/networking/getmail6/default.nix b/pkgs/tools/networking/getmail6/default.nix index cf3d5402898e7..7f758527d1c92 100644 --- a/pkgs/tools/networking/getmail6/default.nix +++ b/pkgs/tools/networking/getmail6/default.nix @@ -5,17 +5,20 @@ python3.pkgs.buildPythonApplication rec { pname = "getmail6"; - version = "6.18.13"; - - format = "setuptools"; + version = "6.18.14"; + pyproject = true; src = fetchFromGitHub { - owner = pname; - repo = pname; + owner = "getmail6"; + repo = "getmail6"; rev = "refs/tags/v${version}"; - hash = "sha256-cyX+3LsXqBpAvaOPVpT4EuPzqJm9kki1uNTG+7k3Q28="; + hash = "sha256-NcUGIddbIjwMyE/6fR8lqs90/chzqROQDftF/cNkxOs="; }; + nativeBuildInputs = with python3.pkgs; [ + setuptools + ]; + # needs a Docker setup doCheck = false; diff --git a/pkgs/tools/networking/knock/package.nix b/pkgs/tools/networking/knock/package.nix index b9879859722a6..1197bec808cff 100644 --- a/pkgs/tools/networking/knock/package.nix +++ b/pkgs/tools/networking/knock/package.nix @@ -1,6 +1,6 @@ { lib , buildGoModule -, fetchFromGitHub +, fetchFromGitea , installShellFiles }: @@ -8,11 +8,12 @@ buildGoModule rec { pname = "knock"; version = "0.0.2"; - src = fetchFromGitHub { + src = fetchFromGitea { + domain = "codeberg.org"; owner = "nat-418"; repo ="knock"; - rev = "refs/tags/v${version}"; - hash = "sha256-VXrWphfBDGDNsz4iuUdwwd46oqnmhJ9i3TtzMqHoSJk="; + rev = "v${version}"; + hash = "sha256-K+L4F4bTERQSqISAmfyps/U5GJ2N0FdJ3RmpiUmt4uA="; }; vendorHash = "sha256-wkSXdIgfkHbVJYsgm/hLAeKA9geof92U3mzSzt7eJE8="; @@ -27,9 +28,9 @@ buildGoModule rec { meta = with lib; { description = "A simple CLI network reachability tester"; - homepage = "https://github.com/nat-418/knock"; + homepage = "https://codeberg.org/nat-418/knock"; license = licenses.bsd0; - changelog = "https://github.com/nat-418/knock/blob/${version}/CHANGELOG.md"; + changelog = "https://codeberg.org/nat-418/knock/raw/branch/trunk/CHANGELOG.md"; maintainers = with maintainers; [ nat-418 ]; }; } diff --git a/pkgs/tools/networking/maubot/default.nix b/pkgs/tools/networking/maubot/default.nix index acee6f1dedb3b..7794395180db1 100644 --- a/pkgs/tools/networking/maubot/default.nix +++ b/pkgs/tools/networking/maubot/default.nix @@ -59,6 +59,7 @@ let ]; propagatedBuildInputs = with python.pkgs; [ + setuptools # requirements.txt mautrix aiohttp diff --git a/pkgs/tools/networking/maubot/plugins/generated.json b/pkgs/tools/networking/maubot/plugins/generated.json index 555de6c05821c..7051bf3e5b508 100644 --- a/pkgs/tools/networking/maubot/plugins/generated.json +++ b/pkgs/tools/networking/maubot/plugins/generated.json @@ -1,37 +1,4 @@ { - "URLDownload": { - "attrs": { - "meta": { - "changelog": "https://codeberg.org/LukeLR/matrix-url-download/releases", - "description": "A plugin for the maubot bot framework implementing URL downloads in matrix rooms.", - "downloadPage": "https://codeberg.org/LukeLR/matrix-url-download/releases", - "homepage": "https://codeberg.org/LukeLR/matrix-url-download" - } - }, - "gitea": { - "domain": "codeberg.org", - "hash": "sha256-JLYhoQKxsYO46mqRJZEcWTHck6bli6itYGu8ZPbxyjg=", - "owner": "LukeLR", - "repo": "matrix-url-download", - "rev": "3a006d98faa6950edab1a45b7a8c6a6d7d908bff" - }, - "manifest": { - "config": true, - "database": true, - "database_type": "asyncpg", - "extra_files": [ - "base-config.yaml" - ], - "id": "de.lukelr.urldownload", - "license": "LGPL-3.0-only", - "main_class": "URLDownloadBot", - "maubot": "0.1.0", - "modules": [ - "urldownload" - ], - "version": "0.0.3" - } - }, "activity-tracker": { "attrs": { "meta": { @@ -312,10 +279,10 @@ } }, "github": { - "hash": "sha256-iRo4oFOOXgISALFskPZUonV4cBn7HmBACdi5uhgQq8o=", + "hash": "sha256-XOhjSrgbVUwMO6/v/Znoc5l/k2n6Zi42Ydhv9/vyX7E=", "owner": "williamkray", "repo": "maubot-chatgpt", - "rev": "f3974dc3818da170a3f1e091359d31f3140245e0" + "rev": "d313920165f8fca7a04314a73bb1dca30c67d9f5" }, "manifest": { "config": true, @@ -329,7 +296,7 @@ "modules": [ "gpt" ], - "version": "0.0.9" + "version": "0.0.10" } }, "choose": { @@ -955,7 +922,7 @@ "ldap-ad-inviterbot": { "attrs": { "meta": { - "changelog": "https://github.com/SAPUCC/inviterbot/blob/v0.1.5/CHANGELOG.md", + "changelog": "https://github.com/SAPUCC/inviterbot/blob/v0.1.6/CHANGELOG.md", "description": "A plugin to sync users from Microsoft Azure AD and LDAP into matrix rooms. (Membership, Power-Levels)", "downloadPage": "https://github.com/SAPUCC/inviterbot/releases", "homepage": "https://github.com/SAPUCC/inviterbot", @@ -963,10 +930,10 @@ } }, "github": { - "hash": "sha256-Ve420Mfa+Ikxp0P/8b6rZIu54VOfKhH3sWDNNMClj9E=", + "hash": "sha256-vnSOYdIbUnR9O6pCYO+TdA2qBbgrrc9RaomdWuVKW8o=", "owner": "SAPUCC", "repo": "inviterbot", - "rev": "v0.1.5" + "rev": "v0.1.6" }, "manifest": { "config": true, @@ -984,7 +951,7 @@ "modules": [ "inviter" ], - "version": "0.1.5" + "version": "0.1.6" } }, "local-stt": { @@ -1139,6 +1106,36 @@ "version": "0.1.0" } }, + "openai-translate": { + "attrs": { + "meta": { + "changelog": "https://github.com/tcpipuk/maubot-openai-translate/releases", + "description": "Translate messages using OpenAI's GPT API", + "downloadPage": "https://github.com/tcpipuk/maubot-openai-translate/releases", + "homepage": "https://github.com/tcpipuk/maubot-openai-translate" + } + }, + "github": { + "hash": "sha256-+aDQF/hW66M25zsvIsjNt7K2l32rV1g3fPrb45XdHVU=", + "owner": "tcpipuk", + "repo": "maubot-openai-translate", + "rev": "v0.3.0" + }, + "manifest": { + "config": true, + "extra_files": [ + "base-config.yaml" + ], + "id": "xyz.maubot.openaitranslate", + "license": "AGPL-3.0-or-later", + "main_class": "OpenAITranslate", + "maubot": "0.1.0", + "modules": [ + "openaitranslate" + ], + "version": "0.3.0" + } + }, "ovgumensabot": { "attrs": { "meta": { @@ -1324,6 +1321,35 @@ "version": "0.3.6" } }, + "reacjibot": { + "attrs": { + "meta": { + "changelog": "https://github.com/ajkessel/reacjibot/releases", + "description": "Allows users to define emoji-reactions that cause messages to be cross-posted to arbitrary rooms", + "downloadPage": "https://github.com/ajkessel/reacjibot/releases", + "homepage": "https://github.com/ajkessel/reacjibot" + } + }, + "github": { + "hash": "sha256-GfroQ7iaBfN8WClORrkYccPHq8FsKupZtYKJvHGZg1o=", + "owner": "ajkessel", + "repo": "reacjibot", + "rev": "v0.7.4" + }, + "manifest": { + "extra_files": [ + "base-config.yaml" + ], + "id": "org.rosi-kessel.reacjibot", + "license": "MIT", + "main_class": "ReacjiBot", + "maubot": "0.1.0", + "modules": [ + "reacjibot" + ], + "version": "0.7.4" + } + }, "reactbot": { "attrs": { "meta": { @@ -1801,6 +1827,32 @@ "version": "0.1.0.6" } }, + "timer": { + "attrs": { + "meta": { + "changelog": "https://github.com/pedantic-git/maubot-timer/releases", + "description": "Start a countdown timer for the specified number of seconds", + "downloadPage": "https://github.com/pedantic-git/maubot-timer/releases", + "homepage": "https://github.com/pedantic-git/maubot-timer" + } + }, + "github": { + "hash": "sha256-cAS/4092O6d4ok8T2dbpvvgzpejQUPYM6mBtSvUaUpw=", + "owner": "pedantic-git", + "repo": "maubot-timer", + "rev": "ff656142feb018f33290113ca09facf0a45eab6e" + }, + "manifest": { + "id": "mx.quinn.timer", + "license": "MIT", + "main_class": "Timer", + "maubot": "0.1.0", + "modules": [ + "timer" + ], + "version": "1.0.0" + } + }, "tmdb": { "attrs": { "meta": { @@ -2032,6 +2084,39 @@ "version": "1.0.2" } }, + "urldownload": { + "attrs": { + "meta": { + "changelog": "https://codeberg.org/LukeLR/matrix-url-download/releases", + "description": "A plugin for the maubot bot framework implementing URL downloads in matrix rooms.", + "downloadPage": "https://codeberg.org/LukeLR/matrix-url-download/releases", + "homepage": "https://codeberg.org/LukeLR/matrix-url-download" + } + }, + "gitea": { + "domain": "codeberg.org", + "hash": "sha256-JLYhoQKxsYO46mqRJZEcWTHck6bli6itYGu8ZPbxyjg=", + "owner": "LukeLR", + "repo": "matrix-url-download", + "rev": "3a006d98faa6950edab1a45b7a8c6a6d7d908bff" + }, + "manifest": { + "config": true, + "database": true, + "database_type": "asyncpg", + "extra_files": [ + "base-config.yaml" + ], + "id": "de.lukelr.urldownload", + "license": "LGPL-3.0-only", + "main_class": "URLDownloadBot", + "maubot": "0.1.0", + "modules": [ + "urldownload" + ], + "version": "0.0.3" + } + }, "urlpreview": { "attrs": { "meta": { diff --git a/pkgs/tools/networking/maubot/plugins/update.py b/pkgs/tools/networking/maubot/plugins/update.py index a430753870fb9..d787f1f250952 100755 --- a/pkgs/tools/networking/maubot/plugins/update.py +++ b/pkgs/tools/networking/maubot/plugins/update.py @@ -31,7 +31,7 @@ def process_repo(path: str, official: bool): origurl = repourl if '/' in name or ' ' in name: name = os.path.split(path)[-1].removesuffix('.yaml') - name = name.replace('_', '-') + name = name.replace('_', '-').lower() if name in PLUGINS.keys(): raise ValueError(f'Duplicate plugin {name}, refusing to continue') repodir = os.path.join(TMP, 'maubot-plugins', name) diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix index 9e27fd8e3f93b..3b09ddf5694d6 100644 --- a/pkgs/tools/networking/minio-client/default.nix +++ b/pkgs/tools/networking/minio-client/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "minio-client"; - version = "2024-03-30T15-29-52Z"; + version = "2024-04-18T16-45-29Z"; src = fetchFromGitHub { owner = "minio"; repo = "mc"; rev = "RELEASE.${version}"; - sha256 = "sha256-xt/WDQFE4uw/eno8RSIjxgjpahjbJVMMOapleuv5avE="; + sha256 = "sha256-aEhkk1nB8CGzuZfD8a62RwzcvF2HZTm1LPfb13c6x9Q="; }; - vendorHash = "sha256-RwhkR3uQreSO1tq8R7ip7CY7E88MRa151HV8rT68YdQ="; + vendorHash = "sha256-qb4gR//8UzJAJ5WthfyxYwhR3YCwUGxfy8aRMW2MXks="; subPackages = [ "." ]; diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix index 25829872b8aea..4f1885c2d7f2a 100644 --- a/pkgs/tools/networking/shadowsocks-rust/default.nix +++ b/pkgs/tools/networking/shadowsocks-rust/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "shadowsocks-rust"; - version = "1.18.2"; + version = "1.18.3"; src = fetchFromGitHub { rev = "v${version}"; owner = "shadowsocks"; repo = pname; - hash = "sha256-wbbh4IpAla3I/xgmiuzy9E9npS/PUtRFCZS4dl7JYRQ="; + hash = "sha256-eqN6Qwq+ofQ9Ed7Viz+DoJQkVTvUTo1U5rVqO1YDp2w="; }; - cargoHash = "sha256-TPW+dic9KdtGXGlcEi7YAmt442ZJRifumnrmcX8+unM="; + cargoHash = "sha256-yJ2Ql6Fo2KaZRmvRB0C14fEcVwbBbsUlcqT3vFKHn58="; nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ]; diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix index 38aa1c2e261df..752af3a432253 100644 --- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix +++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix @@ -1,13 +1,13 @@ -{lib, stdenv, fetchFromGitHub, fetchpatch, apacheAnt, jdk, axis2, dbus_java }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, ant, jdk, xmlstarlet, axis2, dbus_java }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "DisnixWebService"; version = "0.10.1"; src = fetchFromGitHub { owner = "svanderburg"; repo = "DisnixWebService"; - rev = "refs/tags/DisnixWebService-${version}"; + rev = "DisnixWebService-${finalAttrs.version}"; hash = "sha256-zcYr2Ytx4pevSthTQLpnQ330wDxN9dWsZA20jbO6PxQ="; }; @@ -20,26 +20,47 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ apacheAnt jdk ]; - PREFIX = "\${env.out}"; - AXIS2_LIB = "${axis2}/lib"; - AXIS2_WEBAPP = "${axis2}/webapps/axis2"; - DBUS_JAVA_LIB = "${dbus_java}/share/java"; + nativeBuildInputs = [ + ant + jdk + xmlstarlet + ]; + + env = { + PREFIX = "\${env.out}"; + AXIS2_LIB = "${axis2}/lib"; + AXIS2_WEBAPP = "${axis2}/webapps/axis2"; + DBUS_JAVA_LIB = "${dbus_java}/share/java"; + }; + prePatch = '' + # add modificationtime="0" to the <jar> and <war> tasks to achieve reproducibility + xmlstarlet ed -L -a "//jar|//war" -t attr -n "modificationtime" -v "0" build.xml + sed -i -e "s|#JAVA_HOME=|JAVA_HOME=${jdk}|" \ -e "s|#AXIS2_LIB=|AXIS2_LIB=${axis2}/lib|" \ scripts/disnix-soap-client ''; - buildPhase = "ant"; - installPhase = "ant install"; + + buildPhase = '' + runHook preBuild + ant + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + ant install + runHook postIntall + ''; meta = { description = "A SOAP interface and client for Disnix"; mainProgram = "disnix-soap-client"; homepage = "https://github.com/svanderburg/DisnixWebService"; - changelog = "https://github.com/svanderburg/DisnixWebService/blob/DisnixWebService-${version}/NEWS.txt"; + changelog = "https://github.com/svanderburg/DisnixWebService/blob/${finalAttrs.src.rev}/NEWS.txt"; license = lib.licenses.mit; maintainers = [ lib.maintainers.sander ]; platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/tools/security/afl/README.md b/pkgs/tools/security/afl/README.md deleted file mode 100644 index 180cad6bc4ca6..0000000000000 --- a/pkgs/tools/security/afl/README.md +++ /dev/null @@ -1,19 +0,0 @@ -Updating the QEMU patches -========================= - -When updating to the latest American Fuzzy Lop, make sure to check for -any new patches to qemu for binary fuzzing support: - -https://github.com/google/AFL/tree/master/qemu_mode - -Be sure to check the build script and make sure it's also using the -right QEMU version and options in `qemu.nix`: - -https://github.com/google/AFL/blob/master/qemu_mode/build_qemu_support.sh - -`afl-config.h`, `afl-types.h`, and `afl-qemu-cpu-inl.h` are part of -the afl source code, and copied from `config.h`, `types.h` and -`afl-qemu-cpu-inl.h` appropriately. These files and the QEMU patches -need to be slightly adjusted to fix their `#include`s (the patches -try to otherwise include files like `../../config.h` which causes the -build to fail). diff --git a/pkgs/tools/security/afl/default.nix b/pkgs/tools/security/afl/default.nix deleted file mode 100644 index ccdbd78716d96..0000000000000 --- a/pkgs/tools/security/afl/default.nix +++ /dev/null @@ -1,82 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, callPackage, makeWrapper -, clang, llvm, which, libcgroup -}: - -let - afl-qemu = callPackage ./qemu.nix { inherit afl; }; - qemu-exe-name = if stdenv.hostPlatform.system == "x86_64-linux" then "qemu-x86_64" - else if stdenv.hostPlatform.system == "i686-linux" then "qemu-i386" - else throw "afl: no support for ${stdenv.hostPlatform.system}!"; - afl = stdenv.mkDerivation rec { - pname = "afl"; - version = "2.57b"; - - src = fetchFromGitHub { - owner = "google"; - repo = pname; - rev = "v${version}"; - sha256 = "0fqj3g6ds1f21kxz7m9mc1fspi9r4jg9jcmi60inwxijrc5ncvr6"; - }; - enableParallelBuilding = true; - - # Note: libcgroup isn't needed for building, just for the afl-cgroup - # script. - nativeBuildInputs = [ makeWrapper which llvm.dev ]; - buildInputs = [ llvm ]; - - makeFlags = [ "PREFIX=$(out)" ]; - postBuild = '' - make -C llvm_mode $makeFlags -j$NIX_BUILD_CORES - ''; - postInstall = '' - # Install the custom QEMU emulator for binary blob fuzzing. - cp ${afl-qemu}/bin/${qemu-exe-name} $out/bin/afl-qemu-trace - - # Install the cgroups wrapper for asan-based fuzzing. - cp experimental/asan_cgroups/limit_memory.sh $out/bin/afl-cgroup - chmod +x $out/bin/afl-cgroup - substituteInPlace $out/bin/afl-cgroup \ - --replace "cgcreate" "${libcgroup}/bin/cgcreate" \ - --replace "cgexec" "${libcgroup}/bin/cgexec" \ - --replace "cgdelete" "${libcgroup}/bin/cgdelete" - - # Patch shebangs before wrapping - patchShebangs $out/bin - - # Wrap afl-clang-fast(++) with a *different* AFL_PATH, because it - # has totally different semantics in that case(?) - and also set a - # proper AFL_CC and AFL_CXX so we don't pick up the wrong one out - # of $PATH. - # first though we need to replace the afl-clang-fast++ symlink with - # a real copy to prevent wrapProgram skipping the symlink and confusing - # nix's cc wrapper - rm $out/bin/afl-clang-fast++ - cp $out/bin/afl-clang-fast $out/bin/afl-clang-fast++ - for x in $out/bin/afl-clang-fast $out/bin/afl-clang-fast++; do - wrapProgram $x \ - --prefix AFL_PATH : "$out/lib/afl" \ - --run 'export AFL_CC=''${AFL_CC:-${clang}/bin/clang} AFL_CXX=''${AFL_CXX:-${clang}/bin/clang++}' - done - ''; - - passthru.qemu = afl-qemu; - - meta = { - description = "Powerful fuzzer via genetic algorithms and instrumentation"; - longDescription = '' - American fuzzy lop is a fuzzer that employs a novel type of - compile-time instrumentation and genetic algorithms to - automatically discover clean, interesting test cases that - trigger new internal states in the targeted binary. This - substantially improves the functional coverage for the fuzzed - code. The compact synthesized corpora produced by the tool are - also useful for seeding other, more labor or resource-intensive - testing regimes down the road. - ''; - homepage = "https://lcamtuf.coredump.cx/afl/"; - license = lib.licenses.asl20; - platforms = ["x86_64-linux" "i686-linux"]; - maintainers = with lib.maintainers; [ thoughtpolice ris ]; - }; - }; -in afl diff --git a/pkgs/tools/security/afl/libdislocator.nix b/pkgs/tools/security/afl/libdislocator.nix deleted file mode 100644 index 1030ffaf9eb85..0000000000000 --- a/pkgs/tools/security/afl/libdislocator.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, stdenv, afl}: - -stdenv.mkDerivation { - version = lib.getVersion afl; - pname = "libdislocator"; - - src = afl.src; - sourceRoot = "${afl.src.name}/libdislocator"; - - makeFlags = [ "PREFIX=$(out)" ]; - - preInstall = '' - mkdir -p $out/lib/afl - ''; - postInstall = '' - mkdir $out/bin - cat > $out/bin/get-libdislocator-so <<END - #!${stdenv.shell} - echo $out/lib/afl/libdislocator.so - END - chmod +x $out/bin/get-libdislocator-so - ''; - - meta = with lib; { - homepage = "https://lcamtuf.coredump.cx/afl/"; - description = '' - Drop-in replacement for the libc allocator which improves - the odds of bumping into heap-related security bugs in - several ways. - ''; - mainProgram = "get-libdislocator-so"; - license = lib.licenses.asl20; - maintainers = with maintainers; [ ris ]; - }; -} diff --git a/pkgs/tools/security/afl/qemu-patches/no-etc-install.patch b/pkgs/tools/security/afl/qemu-patches/no-etc-install.patch deleted file mode 100644 index 5dfbfd780f1ca..0000000000000 --- a/pkgs/tools/security/afl/qemu-patches/no-etc-install.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Makefile b/Makefile -index d6b9dc1..ce7c493 100644 ---- a/Makefile -+++ b/Makefile -@@ -601,7 +601,7 @@ install-localstatedir: - endif - - --install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir -+install: all $(if $(BUILD_DOCS),install-doc) install-datadir - ifneq ($(TOOLS),) - $(call install-prog,$(subst qemu-ga,qemu-ga$(EXESUF),$(TOOLS)),$(DESTDIR)$(bindir)) - endif diff --git a/pkgs/tools/security/afl/qemu-patches/syscall-glibc2_30.diff b/pkgs/tools/security/afl/qemu-patches/syscall-glibc2_30.diff deleted file mode 100644 index aa2950bf157c7..0000000000000 --- a/pkgs/tools/security/afl/qemu-patches/syscall-glibc2_30.diff +++ /dev/null @@ -1,51 +0,0 @@ ---- qemu-2.10.0-clean/linux-user/syscall.c 2020-03-12 18:47:47.898592169 +0100 -+++ qemu-2.10.0/linux-user/syscall.c 2020-03-13 09:13:42.461809699 +0100 -@@ -34,6 +34,7 @@ - #include <sys/resource.h> - #include <sys/swap.h> - #include <linux/capability.h> -+#include <linux/sockios.h> // https://lkml.org/lkml/2019/6/3/988 - #include <sched.h> - #include <sys/timex.h> - #ifdef __ia64__ -@@ -256,7 +257,9 @@ static type name (type1 arg1,type2 arg2, - #endif - - #ifdef __NR_gettid --_syscall0(int, gettid) -+// taken from https://patchwork.kernel.org/patch/10862231/ -+#define __NR_sys_gettid __NR_gettid -+_syscall0(int, sys_gettid) - #else - /* This is a replacement for the host gettid() and must return a host - errno. */ -@@ -6219,7 +6222,7 @@ static void *clone_func(void *arg) - cpu = ENV_GET_CPU(env); - thread_cpu = cpu; - ts = (TaskState *)cpu->opaque; -- info->tid = gettid(); -+ info->tid = sys_gettid(); - task_settid(ts); - if (info->child_tidptr) - put_user_u32(info->tid, info->child_tidptr); -@@ -6363,9 +6366,9 @@ static int do_fork(CPUArchState *env, un - mapping. We can't repeat the spinlock hack used above because - the child process gets its own copy of the lock. */ - if (flags & CLONE_CHILD_SETTID) -- put_user_u32(gettid(), child_tidptr); -+ put_user_u32(sys_gettid(), child_tidptr); - if (flags & CLONE_PARENT_SETTID) -- put_user_u32(gettid(), parent_tidptr); -+ put_user_u32(sys_gettid(), parent_tidptr); - ts = (TaskState *)cpu->opaque; - if (flags & CLONE_SETTLS) - cpu_set_tls (env, newtls); -@@ -11402,7 +11405,7 @@ abi_long do_syscall(void *cpu_env, int n - break; - #endif - case TARGET_NR_gettid: -- ret = get_errno(gettid()); -+ ret = get_errno(sys_gettid()); - break; - #ifdef TARGET_NR_readahead - case TARGET_NR_readahead: diff --git a/pkgs/tools/security/afl/qemu.nix b/pkgs/tools/security/afl/qemu.nix deleted file mode 100644 index 845d9fa3e6f15..0000000000000 --- a/pkgs/tools/security/afl/qemu.nix +++ /dev/null @@ -1,77 +0,0 @@ -{ lib, stdenv, fetchurl, afl, python2, zlib, pkg-config, glib, perl -, texinfo, libuuid, flex, bison, pixman, autoconf -}: - -let - cpuTarget = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64-linux-user" - else if stdenv.hostPlatform.system == "i686-linux" then "i386-linux-user" - else throw "afl: no support for ${stdenv.hostPlatform.system}!"; -in -stdenv.mkDerivation rec { - pname = "afl-qemu"; - version = "2.10.0"; - - srcs = [ - (fetchurl { - url = "https://download.qemu.org/qemu-${version}.tar.bz2"; - sha256 = "0j3dfxzrzdp1w21k21fjvmakzc6lcha1rsclaicwqvbf63hkk7vy"; - }) - afl.src - ]; - - sourceRoot = "qemu-${version}"; - - postUnpack = '' - cp ${afl.src.name}/types.h $sourceRoot/afl-types.h - substitute ${afl.src.name}/config.h $sourceRoot/afl-config.h \ - --replace "types.h" "afl-types.h" - substitute ${afl.src.name}/qemu_mode/patches/afl-qemu-cpu-inl.h $sourceRoot/afl-qemu-cpu-inl.h \ - --replace "../../config.h" "afl-config.h" - substituteInPlace ${afl.src.name}/qemu_mode/patches/cpu-exec.diff \ - --replace "../patches/afl-qemu-cpu-inl.h" "afl-qemu-cpu-inl.h" - ''; - - nativeBuildInputs = [ - python2 perl pkg-config flex bison autoconf texinfo - ]; - - buildInputs = [ - zlib glib pixman libuuid - ]; - - enableParallelBuilding = true; - - patches = [ - # patches extracted from afl source - "../${afl.src.name}/qemu_mode/patches/cpu-exec.diff" - "../${afl.src.name}/qemu_mode/patches/elfload.diff" - "../${afl.src.name}/qemu_mode/patches/syscall.diff" - "../${afl.src.name}/qemu_mode/patches/configure.diff" - "../${afl.src.name}/qemu_mode/patches/memfd.diff" - # nix-specific patches to make installation more well-behaved - ./qemu-patches/no-etc-install.patch - # patch for fixing qemu build on glibc >= 2.30 - ./qemu-patches/syscall-glibc2_30.diff - ]; - - configureFlags = - [ "--disable-system" - "--enable-linux-user" - "--disable-gtk" - "--disable-sdl" - "--disable-vnc" - "--disable-kvm" - "--target-list=${cpuTarget}" - "--enable-pie" - "--sysconfdir=/etc" - "--localstatedir=/var" - ]; - - meta = with lib; { - homepage = "https://www.qemu.org/"; - description = "Fork of QEMU with AFL instrumentation support"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ thoughtpolice ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/tools/security/cnquery/default.nix b/pkgs/tools/security/cnquery/default.nix index f8f1467074bea..a5dafec184fd5 100644 --- a/pkgs/tools/security/cnquery/default.nix +++ b/pkgs/tools/security/cnquery/default.nix @@ -6,18 +6,18 @@ buildGoModule rec { pname = "cnquery"; - version = "10.12.2"; + version = "11.0.2"; src = fetchFromGitHub { owner = "mondoohq"; repo = "cnquery"; rev = "refs/tags/v${version}"; - hash = "sha256-TqbE94JmewkYxulF8ePKxQLb2NvQ6FNpfqqedtYM4aY="; + hash = "sha256-hWZXt9hUK0IXnmqKvKdowR42NVu+guMPW3krzgI1KqU="; }; subPackages = [ "apps/cnquery" ]; - vendorHash = "sha256-dS62XJFdL3Js2i6JwksvU8hEme6+6NojfjdzUZnY1wI="; + vendorHash = "sha256-Q1Wz3zHow4UeqgZVP9s9xHuLwrG2LE/tsDUdgs6xMNo="; ldflags = [ "-w" diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix index 5c3019eb7979f..20bc244781a4d 100644 --- a/pkgs/tools/security/exploitdb/default.nix +++ b/pkgs/tools/security/exploitdb/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "exploitdb"; - version = "2024-04-20"; + version = "2024-04-22"; src = fetchFromGitLab { owner = "exploit-database"; repo = "exploitdb"; rev = "refs/tags/${version}"; - hash = "sha256-mz82w3maizWnaWcBqMFYgCNN9uwhSgo9D4j+XCvZDW0="; + hash = "sha256-lWWAZwoUFA54uy0qo4H5+MgSv7tYJOerU9X3Or+AhSg="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix index 927059a248fcf..7d9a7b4bc02b9 100644 --- a/pkgs/tools/security/grype/default.nix +++ b/pkgs/tools/security/grype/default.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "grype"; - version = "0.76.0"; + version = "0.77.0"; src = fetchFromGitHub { owner = "anchore"; repo = "grype"; rev = "refs/tags/v${version}"; - hash = "sha256-FdxtJVLeH7UQBYjoOuimCoswvIkz/2sBJ4Kn5NGBDWY="; + hash = "sha256-EnAMAmoP8rbkOkdPPxkN14lOPVYPqVpmaekfXBboeyI="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; diff --git a/pkgs/tools/security/osv-scanner/default.nix b/pkgs/tools/security/osv-scanner/default.nix index e51ce66ad0240..70393cb9aad8c 100644 --- a/pkgs/tools/security/osv-scanner/default.nix +++ b/pkgs/tools/security/osv-scanner/default.nix @@ -4,18 +4,19 @@ , testers , osv-scanner }: + buildGoModule rec { pname = "osv-scanner"; - version = "1.7.1"; + version = "1.7.2"; src = fetchFromGitHub { owner = "google"; - repo = pname; - rev = "v${version}"; - hash = "sha256-JlTD8el4hXVYI76+cxGNemkUu0n2QxCqisr6R9aPqdI="; + repo = "osv-scanner"; + rev = "refs/tags/v${version}"; + hash = "sha256-UE6iCvv/ByODZX+FoLvIw+EeyISWFkHb4xK5L33w1hU="; }; - vendorHash = "sha256-J5qLs4EirBOfjnLv8eQBSd9w9nzpxBW5GS28CgQMsN8="; + vendorHash = "sha256-c/Wjhpa7upSRMaU+rheGF9dbvK0MQe3ZmPLpR5bRiUI="; subPackages = [ "cmd/osv-scanner" @@ -24,9 +25,9 @@ buildGoModule rec { ldflags = [ "-s" "-w" - "-X github.com/google/osv-scanner/internal/version.OSVVersion=${version}" - "-X main.commit=n/a" - "-X main.date=1970-01-01T00:00:00Z" + "-X=github.com/google/osv-scanner/internal/version.OSVVersion=${version}" + "-X=main.commit=n/a" + "-X=main.date=1970-01-01T00:00:00Z" ]; # Tests require network connectivity to query https://api.osv.dev. diff --git a/pkgs/tools/security/rbw/default.nix b/pkgs/tools/security/rbw/default.nix index 22efd33c6abe1..929282d51276f 100644 --- a/pkgs/tools/security/rbw/default.nix +++ b/pkgs/tools/security/rbw/default.nix @@ -25,14 +25,14 @@ rustPlatform.buildRustPackage rec { pname = "rbw"; - version = "1.9.0"; + version = "1.10.0"; src = fetchzip { url = "https://git.tozt.net/rbw/snapshot/rbw-${version}.tar.gz"; - sha256 = "sha256-NjMH99rmJYbCxDdc7e0iOFoslSrIuwIBxuHxADp0Ks4="; + hash = "sha256-uJ1QLEaab/Vb5GiAmbwjve3Y/3SM2XbNTRTvl2vPDYc="; }; - cargoHash = "sha256-AH35v61FgUQe9BwDgVnXwoVTSQduxeMbXWy4ga3WU3k="; + cargoHash = "sha256-tDgkANbUmNLe3us+05gD9IS0f+RTQBXTGvuz2cr2zYY="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/tools/security/snow/default.nix b/pkgs/tools/security/snow/default.nix index dbea144cb1ba6..5e7cb013a4edc 100644 --- a/pkgs/tools/security/snow/default.nix +++ b/pkgs/tools/security/snow/default.nix @@ -9,7 +9,9 @@ stdenv.mkDerivation rec { sha256 = "0r9q45y55z4i0askkxmxrx0jr1620ypd870vz0hx2a6n9skimdy0"; }; - makeFlags = [ "CFLAGS=-O2" ]; + preBuild = '' + makeFlagsArray+=(CFLAGS="-O2 -std=c89") + ''; installPhase = '' install -Dm755 snow -t $out/bin diff --git a/pkgs/tools/security/step-cli/default.nix b/pkgs/tools/security/step-cli/default.nix index 2afbec7f9069d..0b7271b5b67a2 100644 --- a/pkgs/tools/security/step-cli/default.nix +++ b/pkgs/tools/security/step-cli/default.nix @@ -32,7 +32,7 @@ buildGoModule rec { homepage = "https://smallstep.com/cli/"; changelog = "https://github.com/smallstep/cli/blob/v${version}/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ xfix ]; + maintainers = with maintainers; [ ]; platforms = platforms.linux ++ platforms.darwin; mainProgram = "step"; }; diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix index 9e84f2d8edfe4..19389acd4e143 100644 --- a/pkgs/tools/system/gdu/default.nix +++ b/pkgs/tools/system/gdu/default.nix @@ -1,28 +1,27 @@ -{ lib -, stdenv -, buildGoModule -, fetchFromGitHub -, installShellFiles -, testers -, gdu +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + testers, + gdu, }: buildGoModule rec { pname = "gdu"; - version = "5.27.0"; + version = "5.28.0"; src = fetchFromGitHub { owner = "dundee"; repo = "gdu"; rev = "refs/tags/v${version}"; - hash = "sha256-hQyvYLegGimYTRz0J/2tmaC6N4LfjB1ivWgN29DwNhA="; + hash = "sha256-HfWJVO62UeKE513fq1PaXyaldmrnQ/Fh5bXWSa0xGls="; }; - vendorHash = "sha256-weNcJjofI7Aoy0Eya0KprXHAn7aTA0rQJYrJ4+t65hI="; + vendorHash = "sha256-SlVJDb24txy7DPsL0cG7LeGUjngXaUQ1SusgBfgf4PE="; - nativeBuildInputs = [ - installShellFiles - ]; + nativeBuildInputs = [ installShellFiles ]; ldflags = [ "-s" @@ -41,9 +40,7 @@ buildGoModule rec { doCheck = !stdenv.isDarwin; - passthru.tests.version = testers.testVersion { - package = gdu; - }; + passthru.tests.version = testers.testVersion { package = gdu; }; meta = with lib; { description = "Disk usage analyzer with console interface"; @@ -55,7 +52,10 @@ buildGoModule rec { homepage = "https://github.com/dundee/gdu"; changelog = "https://github.com/dundee/gdu/releases/tag/v${version}"; license = with licenses; [ mit ]; - maintainers = with maintainers; [ fab zowoq ]; + maintainers = with maintainers; [ + fab + zowoq + ]; mainProgram = "gdu"; }; } diff --git a/pkgs/tools/text/ov/default.nix b/pkgs/tools/text/ov/default.nix index d74d4bc061826..e0ccf023a5ae7 100644 --- a/pkgs/tools/text/ov/default.nix +++ b/pkgs/tools/text/ov/default.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "ov"; - version = "0.33.3"; + version = "0.34.0"; src = fetchFromGitHub { owner = "noborus"; repo = "ov"; rev = "refs/tags/v${version}"; - hash = "sha256-dKAZ8rcm1J3jRfOyLz74YuVv0hZ3iWXR1slBTu5CtYU="; + hash = "sha256-2Qk94xaDD+O8jO7Pq1MUWieEjUlVLxYxMMcsrEUwP4M="; }; - vendorHash = "sha256-6Ik//r6JJ2n9lXr6JZ6BGIIL7yXXray+flEwQ0IKyA4="; + vendorHash = "sha256-USMDIgB4LhI4kzSg2kkCXfbN9t49WEg0fUtAcZkngac="; ldflags = [ "-s" diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix index 9fa3c12ccc88a..5bb73a50f9e64 100644 --- a/pkgs/tools/text/vale/default.nix +++ b/pkgs/tools/text/vale/default.nix @@ -1,11 +1,18 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib +, buildGoModule +, fetchFromGitHub +, makeBinaryWrapper +, runCommand +, symlinkJoin +, vale +, valeStyles +}: buildGoModule rec { pname = "vale"; version = "3.4.1"; subPackages = [ "cmd/vale" ]; - outputs = [ "out" "data" ]; src = fetchFromGitHub { owner = "errata-ai"; @@ -16,18 +23,29 @@ buildGoModule rec { vendorHash = "sha256-HMzFLSmO6sBDNU89UoIvHcPPd3ubpti2ii4sFMKUDmI="; - postInstall = '' - mkdir -p $data/share/vale - cp -r testdata/styles $data/share/vale - ''; - ldflags = [ "-s" "-w" "-X main.version=${version}" ]; # Tests require network access doCheck = false; + passthru.withStyles = selector: symlinkJoin { + name = "vale-with-styles-${vale.version}"; + paths = [ vale ] ++ selector valeStyles; + nativeBuildInputs = [ makeBinaryWrapper ]; + postBuild = '' + wrapProgram "$out/bin/vale" \ + --set VALE_STYLES_PATH "$out/share/vale/styles/" + ''; + }; + meta = with lib; { description = "A syntax-aware linter for prose built with speed and extensibility in mind"; + longDescription = '' + Vale in Nixpkgs offers the helper `.withStyles` allow you to install it + predefined styles: + + vale.withStyles (s: [ s.alex s.google ]) + ''; homepage = "https://vale.sh/"; changelog = "https://github.com/errata-ai/vale/releases/tag/v${version}"; mainProgram = "vale"; diff --git a/pkgs/tools/text/vale/styles.nix b/pkgs/tools/text/vale/styles.nix new file mode 100644 index 0000000000000..f2513289a5488 --- /dev/null +++ b/pkgs/tools/text/vale/styles.nix @@ -0,0 +1,144 @@ +{ lib, stdenvNoCC, fetchFromGitHub, fetchzip, nix-update-script }: + +let + buildStyle = + { name + , stylePath ? name + , ... + }@args: + stdenvNoCC.mkDerivation ({ + pname = "vale-style-${lib.toLower name}"; + + dontConfigure = true; + dontBuild = true; + doCheck = false; + dontFixup = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/vale/styles + cp -R ${stylePath} "$out/share/vale/styles/${name}" + runHook postInstall + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ katexochen ]; + } // (args.meta or { }); + } // removeAttrs args [ "meta" "name" ]); +in +{ + alex = buildStyle rec { + name = "alex"; + version = "0.2.1"; + src = fetchFromGitHub { + owner = "errata-ai"; + repo = "alex"; + rev = "v${version}"; + hash = "sha256-xNF7se2FwKgNe5KYx/zvGWpIwBsBADYGH4JV1lUww+Q="; + }; + meta = { + description = "A Vale-compatible implementation of the guidelines enforced by the alex linter"; + homepage = "https://github.com/errata-ai/alex"; + license = lib.licenses.mit; + }; + }; + + google = buildStyle rec { + name = "Google"; + version = "0.6.0"; + src = fetchFromGitHub { + owner = "errata-ai"; + repo = "Google"; + rev = "v${version}"; + hash = "sha256-TQS/hgS6tEWPSuZpEbX65MdYSE/+HJVcnzIuQbhIG2M="; + }; + meta = { + description = "A Vale-compatible implementation of the Google Developer Documentation Style Guide"; + homepage = "https://github.com/errata-ai/Google"; + license = lib.licenses.mit; + }; + }; + + joblint = buildStyle rec { + name = "Joblint"; + version = "0.4.1"; + src = fetchFromGitHub { + owner = "errata-ai"; + repo = "Joblint"; + rev = "v${version}"; + hash = "sha256-zRz5ThOg5RLTZj3dYPe0PDvOF5DjO31lduSpi2Us87U="; + }; + meta = { + description = "A Vale-compatible implementation of the Joblint linter"; + homepage = "https://github.com/errata-ai/Joblint"; + license = lib.licenses.mit; + }; + }; + + microsoft = buildStyle rec { + name = "Microsoft"; + version = "0.14.0"; + src = fetchFromGitHub { + owner = "errata-ai"; + repo = "Microsoft"; + rev = "v${version}"; + hash = "sha256-22rGNLZOsWYQ+H3CcM2b1zOXV3kNPcgYqDpaCg1iv9o="; + }; + meta = { + description = "A Vale-compatible implementation of the Microsoft Writing Style Guide"; + homepage = "https://github.com/errata-ai/Microsoft"; + license = lib.licenses.mit; + }; + }; + + proselint = buildStyle rec { + name = "proselint"; + version = "0.3.3"; + src = fetchFromGitHub { + owner = "errata-ai"; + repo = "proselint"; + rev = "v${version}"; + hash = "sha256-faeWr1bRhnKsycJY89WqnRv8qIowUmz3EQvDyjtl63w="; + }; + meta = { + description = "A Vale-compatible implementation of Python's proselint linter"; + homepage = "https://github.com/errata-ai/proselint"; + license = lib.licenses.bsd3; + }; + }; + + readability = buildStyle rec { + name = "Readability"; + version = "0.1.1"; + src = fetchFromGitHub { + owner = "errata-ai"; + repo = "readability"; + rev = "v${version}"; + hash = "sha256-5Y9v8QsZjC2w3/pGIcL5nBdhpogyJznO5IFa0s8VOOI="; + }; + meta = { + description = "Vale-compatible implementations of many popular \"readability\" metrics"; + homepage = "https://github.com/errata-ai/readability"; + license = lib.licenses.mit; + }; + }; + + write-good = buildStyle rec { + name = "write-good"; + version = "0.4.0"; + src = fetchFromGitHub { + owner = "errata-ai"; + repo = "write-good"; + rev = "v${version}"; + hash = "sha256-KQzY6MeHV/owPVmUAfzGUO0HmFPkD7wdQqOvBkipwP8="; + }; + meta = { + description = "A Vale-compatible implementation of the write-good linter"; + homepage = "https://github.com/errata-ai/write-good"; + license = lib.licenses.mit; + }; + }; +} diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index 06449d8ff1c53..af810aa51d316 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -8,7 +8,7 @@ , makeWrapper, shortenPerlShebang, useFixedHashes, asymptote , biber-ms , tlpdb -}: +}@args: # Useful resource covering build options: # http://tug.org/texlive/doc/tlbuild.html @@ -420,7 +420,28 @@ pygmentex = python3Packages.buildPythonApplication rec { }; }; -inherit asymptote; +asymptote = args.asymptote.overrideAttrs (finalAttrs: prevAttrs: { + version = texlive.pkgs.asymptote.version; + + # keep local src and patches even if duplicated in the top level asymptote + # so that top level updates do not break texlive + src = fetchurl { + url = "mirror://sourceforge/asymptote/${finalAttrs.version}/asymptote-${finalAttrs.version}.src.tgz"; + hash = "sha256-DecadD+m7pORuH3Sdcs/5M3vUbN6rhSkFoNN0Soq9bs="; + }; + + texContainer = texlive.pkgs.asymptote.tex; + texdocContainer = texlive.pkgs.asymptote.texdoc; + + patches = [ + (fetchpatch { + # partial fix for macOS XDR/V3D support (LDFLAGS change seems like an unrelated bugfix) + name = "restore-LDFLAGS-dont-look-for-tirpc-under-MacOS.patch"; + url = "https://github.com/vectorgraphics/asymptote/commit/7e17096b22d18d133d1bc5916b6e32c0cb24ad10.patch"; + hash = "sha256-olCFzqfZwWOAjqlB5lDPXYRHU9i3VQNgoR0cO5TmW98="; + }) + ]; +}); inherit biber; inherit biber-ms; @@ -499,23 +520,23 @@ xindy = stdenv.mkDerivation { postPatch = '' substituteInPlace xindy-*/user-commands/xindy.in \ --replace-fail "our \$clisp = ( \$is_windows ? 'clisp.exe' : 'clisp' ) ;" \ - "our \$clisp = '$(type -P clisp)';" + "our \$clisp = '$(type -P clisp)';" \ + --replace-fail 'die "$cmd: Cannot locate xindy modules directory";' \ + '$modules_dir = "${texlive.pkgs.xindy.tex}/xindy/modules"; die "$cmd: Cannot locate xindy modules directory" unless -d $modules_dir;' ''; nativeBuildInputs = [ pkg-config perl - (texlive.combine { inherit (texlive) scheme-basic cyrillic ec; }) ]; buildInputs = [ clisp libiconv perl ]; - configureFlags = [ "--with-clisp-runtime=system" "--disable-xindy-docs" ]; + configureFlags = [ "--with-clisp-runtime=system" "--disable-xindy-docs" "--disable-xindy-rules" ]; preInstall = ''mkdir -p "$out/bin" ''; # fixup various file-location errors of: lib/xindy/{xindy.mem,modules/} postInstall = '' mkdir -p "$out/lib/xindy" mv "$out"/{bin/xindy.mem,lib/xindy/} - ln -s ../../share/texmf-dist/xindy/modules "$out/lib/xindy/" ''; }; diff --git a/pkgs/tools/typesetting/tex/texpresso/default.nix b/pkgs/tools/typesetting/tex/texpresso/default.nix index ccbc43a1c6151..e2e244ceda69d 100644 --- a/pkgs/tools/typesetting/tex/texpresso/default.nix +++ b/pkgs/tools/typesetting/tex/texpresso/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pname = "texpresso"; - version = "0-unstable-2024-04-08"; + version = "0-unstable-2024-04-18"; nativeBuildInputs = [ makeWrapper @@ -35,8 +35,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "let-def"; repo = "texpresso"; - rev = "9db77502f238c75ef03ce94f34cc5170d0b2a833"; - hash = "sha256-YK4+GqjBjKui4J7YkNyeF1GyquMQMLMhp9o5u4Z8Bmc="; + rev = "62b2b5913420d92bb2863d9c92ac2072f7aaa5f9"; + hash = "sha256-kVGRuFVkJvQfl1bEjBU0pyx+SB+k5yI9C6XFiKZRpLQ="; }; buildFlags = [ "texpresso" ]; diff --git a/pkgs/tools/video/lux/default.nix b/pkgs/tools/video/lux/default.nix index ecd0ae17c558b..7d1c969959a6f 100644 --- a/pkgs/tools/video/lux/default.nix +++ b/pkgs/tools/video/lux/default.nix @@ -7,18 +7,18 @@ buildGoModule rec { pname = "lux"; - version = "0.23.0"; + version = "0.24.0"; src = fetchFromGitHub { owner = "iawia002"; repo = "lux"; rev = "v${version}"; - hash = "sha256-lZrsrBO3sAn4wAMMgxrVwky7HmKxnQQcLe1POYTAmoE="; + hash = "sha256-FwHoxTcEr0u7GPSdl1A8gsx9GCb9QuD/5ospaPOxZrI="; }; nativeBuildInputs = [ makeWrapper ]; - vendorHash = "sha256-1VZFKDoSuSUmYw7g6SwB/dXnFaw7+cGHKfgT96HaI/o="; + vendorHash = "sha256-RCZzcycUKqJgwBZZQBD1UEZCZCitpiqNpD51oKm6IvI="; ldflags = [ "-s" diff --git a/pkgs/tools/virtualization/cri-tools/default.nix b/pkgs/tools/virtualization/cri-tools/default.nix index 70991742e789d..f59e0d2730eb5 100644 --- a/pkgs/tools/virtualization/cri-tools/default.nix +++ b/pkgs/tools/virtualization/cri-tools/default.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "cri-tools"; - version = "1.29.0"; + version = "1.30.0"; src = fetchFromGitHub { owner = "kubernetes-sigs"; repo = pname; rev = "v${version}"; - sha256 = "sha256-64vjN0tm6P+nXjrNPeTviXOQdibuH7YbQm/LjYLxatM="; + hash = "sha256-MuyXcdV29sLn9Vt0WE31nXtY9ofjEC0b5zSrmGXR0mw="; }; vendorHash = null; diff --git a/pkgs/tools/wayland/clipman/default.nix b/pkgs/tools/wayland/clipman/default.nix index b1641d16051a7..a00c9cc58dec6 100644 --- a/pkgs/tools/wayland/clipman/default.nix +++ b/pkgs/tools/wayland/clipman/default.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "clipman"; - version = "1.6.3"; + version = "1.6.4"; src = fetchFromGitHub { owner = "chmouel"; repo = pname; rev = "v${version}"; - sha256 = "sha256-htMApyGuDCjQR+2pgi6KPk+K+GbO63fJWFxl9GW8yfg="; + sha256 = "sha256-kuW74iUVLfIUWf3gaKM7IuMU1nfpU9SbSsfeZDbYGhY="; }; - vendorHash = "sha256-Z/sVCJz/igPDdeczC6pemLub6X6z4ZGlBwBmRsEnXKI="; + vendorHash = "sha256-I1RWyjyOfppGi+Z5nvAei5zEvl0eQctcH8NP0MYSTbg="; outputs = [ "out" "man" ]; |