Commit Graph
471657 Commits
Author SHA1 Message Date
Fabian AffolterandGitHub 4a643e8e3d Merge pull request #223159 from fabaff/dpath-bump
python310Packages.dpath: 2.1.4 -> 2.1.5
2023-03-29 12:03:32 +02:00
Mario RodasandGitHub 123a98fc9d Merge pull request #223556 from xrelkd/update/firectl
firectl: unstable-2022-07-12 -> 0.2.0
2023-03-29 04:59:17 -05:00
R. Ryantm bbc7344037 rocm-smi: 5.4.3 -> 5.4.4 2023-03-29 09:56:49 +00:00
Mario RodasandGitHub f4163f2387 Merge pull request #223330 from marsam/update-esbuild
esbuild: 0.17.13 -> 0.17.14
2023-03-29 04:48:42 -05:00
André Silva 7242246c3f polkadot: 0.9.39-1 -> 0.9.40 2023-03-29 10:42:17 +01:00
Gaetan Lepage 7af7875382 typst-lsp: init at 0.3.0 2023-03-29 11:42:07 +02:00
SandroandGitHub 27e9ecad09 Merge pull request #223668 from r-ryantm/auto-update/golangci-lint-langserver
golangci-lint-langserver: 0.0.7 -> 0.0.8
2023-03-29 11:37:34 +02:00
SandroandGitHub a2d0827146 Merge pull request #223693 from r-ryantm/auto-update/python310Packages.google-cloud-bigquery-storage
python310Packages.google-cloud-bigquery-storage: 2.19.0 -> 2.19.1
2023-03-29 11:29:53 +02:00
Pol Dellaiera 6a8b5e03f3 vscode-extensions.nvarner.typst-lsp: init at 0.3.0 2023-03-29 11:09:16 +02:00
Weijia Wang 6534a3aeaa rust-hypervisor-firmware: check if path exists 2023-03-29 12:06:21 +03:00
R. Ryantm ea7e7a190e nchat: 3.17 -> 3.39 2023-03-29 08:51:18 +00:00
Mark Vainomaa 25d326fd25 perlPackages.CryptOpenSSLX509: unbreak on aarch64-darwin 2023-03-29 11:49:44 +03:00
Mark Vainomaa c3769c7fba perlPackages.CryptOpenSSLRSA: unbreak on aarch64-darwin 2023-03-29 11:47:54 +03:00
R. Ryantm 25fb775699 csvq: 1.17.11 -> 1.18.1 2023-03-29 08:47:05 +00:00
Weijia WangandGitHub fe1eb66af7 Merge pull request #223199 from r-ryantm/auto-update/kubernetes-metrics-server
kubernetes-metrics-server: 0.6.2 -> 0.6.3
2023-03-29 11:42:30 +03:00
Mark Vainomaa 2c83e565c1 perlPackages.CryptOpenSSLRandom: unbreak on aarch64-darwin 2023-03-29 11:42:29 +03:00
Weijia WangandGitHub 92da71ad11 Merge pull request #223707 from orivej/setbfree
setbfree: build GUI
2023-03-29 11:35:20 +03:00
Weijia WangandGitHub 84a8ceb383 Merge pull request #223685 from xinyangli/fix/jetbrains
jetbrains: add libxcrypt-legacy
2023-03-29 11:30:14 +03:00
Weijia WangandGitHub 56b9471db3 Merge pull request #223496 from r-ryantm/auto-update/dontgo403
dontgo403: 0.5 -> 0.8.1
2023-03-29 11:30:01 +03:00
betaboon b13a699921 skaffold: 2.2.0 -> 2.3.0 2023-03-29 10:12:55 +02:00
Sascha Grunertandzowoq 6ca1fd3038 runc: 1.1.4 -> 1.1.5
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-03-29 18:11:29 +10:00
Fabian Affolter 7dc21afa83 dalfox: 2.8.2 -> 2.9.0
Diff: https://github.com/hahwul/dalfox/compare/refs/tags/v2.8.2...v2.9.0

Changelog: https://github.com/hahwul/dalfox/releases/tag/v2.9.0
2023-03-29 10:01:22 +02:00
Fabian AffolterandGitHub 814fd17680 Merge pull request #223160 from fabaff/datadog-bump
python310Packages.datadog: 0.44.0 -> 0.45.0
2023-03-29 10:00:26 +02:00
Fabian AffolterandGitHub d1ba1cafe8 Merge pull request #223425 from fabaff/yara-python-bump
python310Packages.yara-python: 4.2.3 -> 4.3.0
2023-03-29 09:59:57 +02:00
Fabian AffolterandGitHub 0f2c778f22 Merge pull request #223640 from fabaff/python-engineio-bump
python310Packages.python-engineio: 4.3.4 -> 4.4.0, python310Packages.python-socketio: 5.7.2 -> 5.8.0
2023-03-29 09:32:35 +02:00
Fabian Affolter 16a4634338 grype: 0.59.1 -> 0.60.0
Diff: https://github.com/anchore/grype.git/compare/refs/tags/v0.59.1...v0.60.0

Changelog: https://github.com/anchore/grype/releases/tag/v0.60.0
2023-03-29 09:30:40 +02:00
Francesco Gazzetta 776df53b59 warzone2100: 4.3.3 -> 4.3.4 2023-03-29 09:23:51 +02:00
Fabian Affolter dc2fa94ce8 ripe-atlas-tools: 3.0.3 -> 3.1.0
Diff: https://github.com/RIPE-NCC/ripe-atlas-tools/compare/refs/tags/v3.0.3...v3.1.0

Changelog: https://github.com/RIPE-NCC/ripe-atlas-tools/blob/v3.1.0/CHANGES.rst
2023-03-29 09:23:40 +02:00
Francesco Gazzetta 27b7d334e4 warzone2100: add updateScript 2023-03-29 09:23:39 +02:00
Fabian Affolter 2f5922e5bc ripe-atlas-tools: add changelog to meta 2023-03-29 09:21:42 +02:00
Fabian Affolter 28182088aa python310Packages.dpath: update disabled
- add format
2023-03-29 09:15:40 +02:00
Orivej Desh f398b52c5b setbfree: build GUI 2023-03-29 07:13:30 +00:00
Fabian Affolter 1074e51f15 python310Packages.dpath: add changelog to meta 2023-03-29 09:11:47 +02:00
Fabian AffolterandGitHub ac56fc8ac3 python310Packages.pyaussiebb: add changelog to meta 2023-03-29 09:00:26 +02:00
Fabian Affolter ccf0985cf1 python310Packages.energyzero: 0.4.0 -> 0.4.1
Changelog: https://github.com/klaasnicolaas/python-energyzero/releases/tag/v0.4.1
2023-03-29 08:56:45 +02:00
Fabian Affolter 3c1509969e python310Packages.pyaussiebb: 0.0.15 -> 0.0.16 2023-03-29 08:54:14 +02:00
Fabian Affolter 30b98b833e exploitdb: 2023-03-28 -> 2023-03-29
Diff: https://gitlab.com/exploit-database/exploitdb/-/compare/refs/tags/2023-03-28...2023-03-29
2023-03-29 08:52:18 +02:00
Michael Adler 96ab37a9e5 ungoogled-chromium: 111.0.5563.111 -> 111.0.5563.147 2023-03-29 08:49:20 +02:00
Fabian Affolter b8749458f0 python310Packages.yara-python: 4.2.3 -> 4.3.0
Diff: https://github.com/VirusTotal/yara-python/compare/v4.2.3...v4.3.0
2023-03-29 08:42:45 +02:00
Maximilian Bosch 9f2b4357c1 postgresql: save rebuilds of existing packages
...by using `+ lib.optionalString ...` rather than a substitution. That
way the phases don't have additional trailing white-spaces in the
non-JIT case which cause rebuilds.
2023-03-29 08:39:47 +02:00
Maximilian Bosch e2fb651752 nixos/postgresql: fix enableJIT
Make sure that JIT is actually available when using

    services.postgresql = {
      enable = true;
      enableJIT = true;
      package = pkgs.postgresql_15;
    };

The current behavior is counter-intuitive because the docs state that
`enableJIT = true;` is sufficient even though it wasn't in that case
because the declared package doesn't have the LLVM dependency.

Fixed by using `package.withJIT` if `enableJIT = true;` and
`package.jitSupport` is `false`.

Also updated the postgresql-jit test to test for that case.
2023-03-29 08:39:47 +02:00
Maximilian Bosch a5a715bb24 postgresql_jit: fix darwin build
So, patchelf works on ELF files and these don't exist on Darwin. I'm not
aware of any other way to eliminate all references of the executable's
body while preserving library paths in the header. This still works, the
only problem is that darwin has a dependency on llvm.dev, so it's
runtime closure is larger.
2023-03-29 08:39:47 +02:00
Maximilian Bosch 608cb37533 nixos/tests/postgresql: fix deprecation warning 2023-03-29 08:39:46 +02:00
Maximilian Bosch 43dbeae02d postgresql: pass through JIT-enabled variant of non-JIT postgres and vice versa
This is useful if your postgresql version is dependant on
`system.stateVersion` and not pinned down manually. Then it's not
necessary to find out which version exactly is in use and define
`package` manually, but just stay with what NixOS provides as default:

    $ nix-instantiate -A postgresql
    /nix/store/82fzmb77mz2b787dgj7mn4a8i4f6l6sn-postgresql-14.7.drv
    $ nix-instantiate -A postgresql_jit
    /nix/store/qsjkb72fcrrfpsszrwbsi9q9wgp39m50-postgresql-14.7.drv
    $ nix-instantiate -A postgresql.withJIT
    /nix/store/qsjkb72fcrrfpsszrwbsi9q9wgp39m50-postgresql-14.7.drv
    $ nix-instantiate -A postgresql.withJIT.withoutJIT
    /nix/store/82fzmb77mz2b787dgj7mn4a8i4f6l6sn-postgresql-14.7.drv

I.e. you can use postgresql with JIT (for complex queries only[1]) like
this:

    services.postgresql = {
      enable = true;
      enableJIT = true;
    };

Performing a new override instead of re-using the `_jit`-variants for
that has the nice property that overlays for the original package apply
to the JIT-enabled variant, i.e.

    with import ./. {
      overlays = [
        (self: super: {
          postgresql = super.postgresql.overrideAttrs (_: { fnord = "snens"; });
        })
      ];
    };
    postgresql.withJIT.fnord

still gives the string `snens` whereas `postgresql_jit` doesn't have the
attribute `fnord` in its derivation.

[1] https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-JIT-ABOVE-COST
2023-03-29 08:39:46 +02:00
Maximilian Bosch 2282fa73a1 postgresql: implement opt-in JIT support
Closes #150801

Note: I decided against resuming directly on #150801 because the
conflict was too big (and resolving it seemed too error-prone to me).
Also the `this`-refactoring could be done in an easier manner, i.e. by
exposing JIT attributes with the correct configuration. More on that
below.

This patch creates variants of the `postgresql*`-packages with JIT[1]
support. Please note that a lot of the work was derived from previous
patches filed by other contributors, namely dasJ, andir and abbradar,
hence the co-authored-by tags below.

Effectively, the following things have changed:

* For JIT variants an LLVM-backed stdenv with clang is now used as
  suggested by dasJ[2]. We need LLVM and CLang[3] anyways to build the
  JIT-part, so no need to mix this up with GCC's stdenv. Also, using the
  `dev`-output of LLVM and clang's stdenv for building (and adding llvm
  libs as build-inputs) seems more cross friendly to me (which will
  become useful when cross-building for JIT-variants will actually be
  supported).

* Plugins inherit the build flags from the Makefiles in
  `$out/lib/pgxs/src` (e.g. `-Werror=unguarded-availability-new`). Since
  some of the flags are clang-specific (and stem from the use of the
  CLang stdenv) and don't work on gcc, the stdenv of `pkgs.postgresql`
  is passed to the plugins. I.e., plugins for non-JIT variants are built
  with a gcc stdenv on Linux and plugins for JIT variants with a clang
  stdenv.

  Since `plv8` hard-codes `gcc` as `$CC` in its Makefile[4], I marked it
  as broken for JIT-variants of postgresql only.

* Added a test-matrix to confirm that JIT works fine on each
  `pkgs.postgresql_*_jit` (thanks Andi for the original test in
  #124804!).

* For each postgresql version, a new attribute
  `postgresql_<version>_jit` (and a corresponding
  `postgresqlPackages<version>JitPackages`) are now exposed for better
  discoverability and prebuilt artifacts in the binary cache.

* In #150801 the `this`-argument was replaced by an internal recursion.
  I decided against this approach because it'd blow up the diff even
  more which makes the readability way harder and also harder to revert
  this if necessary.

  Instead, it is made sure that `this` always points to the correct
  variant of `postgresql` and re-using that in an additional
  `.override {}`-expression is trivial because the JIT-variant is
  exposed in `all-packages.nix`.

* I think the changes are sufficiently big to actually add myself as
  maintainer here.

* Added `libxcrypt` to `buildInputs` for versions <v13. While
  building things with an LLVM stdenv, these versions complained that
  the extern `crypt()` symbol can't be found. Not sure what this is
  exactly about, but since we want to switch to libxcrypt for `crypt()`
  usage anyways[5] I decided to add it. For >=13 it's not relevant
  anymore anyways[6].

* JIT support doesn't work with cross-compilation. It is attempted to
  build LLVM-bytecode (`%.bc` is the corresponding `make(1)`-rule) for
  each sub-directory in `backend/` for the JIT apparently, but with a
  $(CLANG) that can produce binaries for the build, not the host-platform.

  I managed to get a cross-build with JIT support working with
  `depsBuildBuild = [ llvmPackages.clang ] ++ buildInputs`, but
  considering that the resulting LLVM IR isn't platform-independent this
  doesn't give you much. In fact, I tried to test the result in a VM-test,
  but as soon as JIT was used to optimize a query, postgres would
  coredump with `Illegal instruction`.

A common concern of the original approach - with llvm as build input -
was the massive increase of closure size. With the new approach of using
the LLVM stdenv directly and patching out references to the clang drv in
`$out` the effective closure size changes are:

    $ nix path-info -Sh $(nix-build -A postgresql_14)
    /nix/store/kssxxqycwa3c7kmwmykwxqvspxxa6r1w-postgresql-14.7	306.4M
    $ nix path-info -Sh $(nix-build -A postgresql_14_jit)
    /nix/store/xc7qmgqrn4h5yr4vmdwy56gs4bmja9ym-postgresql-14.7	689.2M

Most of the increase in closure-size stems from the `lib`-output of
LLVM

    $ nix path-info -Sh /nix/store/5r97sbs5j6mw7qnbg8nhnq1gad9973ap-llvm-11.1.0-lib
    /nix/store/5r97sbs5j6mw7qnbg8nhnq1gad9973ap-llvm-11.1.0-lib	349.8M

which is why this shouldn't be enabled by default.

While this is quite much because of LLVM, it's still a massive
improvement over the simple approach of adding llvm/clang as
build-inputs and building with `--with-llvm`:

    $ nix path-info -Sh $(nix-build -E '
	with import ./. {};
	postgresql.overrideAttrs ({ configureFlags ? [], buildInputs ? [], ... }: {
	  configureFlags = configureFlags ++ [ "--with-llvm" ];
	  buildInputs = buildInputs ++ [ llvm clang ];
	})' -j0)
    /nix/store/i3bd2r21c6c3428xb4gavjnplfqxn27p-postgresql-14.7	  1.6G

Co-authored-by: Andreas Rammhold <andreas@rammhold.de>
Co-authored-by: Janne Heß <janne@hess.ooo>
Co-authored-by: Nikolay Amiantov <ab@fmap.me>

[1] https://www.postgresql.org/docs/current/jit-reason.html
[2] https://github.com/NixOS/nixpkgs/pull/124804#issuecomment-864616931
    & https://github.com/NixOS/nixpkgs/pull/150801#issuecomment-1467868321
[3] This fails with the following error otherwise:
    ```
    configure: error: clang not found, but required when compiling --with-llvm, specify with CLANG=
    ```
[4] https://github.com/plv8/plv8/blob/v3.1.5/Makefile#L14
[5] https://github.com/NixOS/nixpkgs/pull/181764
[6] https://github.com/postgres/postgres/commit/c45643d618e35ec2fe91438df15abd4f3c0d85ca
2023-03-29 08:39:46 +02:00
Fabian Affolter fd9ea56630 python310Packages.gradient: update postPatch section 2023-03-29 08:38:36 +02:00
Jörg ThalheimandGitHub 3ac65fce5c Merge pull request #223696 from linj-fork/fix-zshenv-guard-variable
zsh: fix the guard variable for /etc/set-environment
2023-03-29 07:27:20 +01:00
Weijia WangandGitHub dc97ccd73e Merge pull request #223604 from r-ryantm/auto-update/avalanchego
avalanchego: 1.9.11 -> 1.9.16
2023-03-29 09:26:20 +03:00
Weijia WangandGitHub 626401c783 Merge pull request #220832 from wegank/glucose-bump
glucose: 4.1 -> 4.2.1
2023-03-29 09:13:21 +03:00
Fabian Affolter e68e28ef86 python310Packages.angr: 9.2.43 -> 9.2.44 2023-03-29 08:09:19 +02:00