Commit Graph

83213 Commits

Author SHA1 Message Date
Pierre Roux
2fb1078369 Put mathcomp packages in alphabetical order 2023-03-30 13:55:40 +02:00
Pierre Roux
25c631cc0e Add coqPackages.mathcomp-apery 2023-03-30 13:55:40 +02:00
Bernardo Meurer
515452c223
Merge pull request #223495 from StepBroBD/raycast 2023-03-30 04:08:38 -07:00
Théo Zimmermann
f89354c12f coqPackages_8_13.VST: fix by using compatible version of ITree
Co-authored-by: Vincent Laporte <Vincent.Laporte@gmail.com>
2023-03-30 10:37:16 +02:00
davidak
93feafaaec
Merge pull request #216402 from hesiod/cctag
cctag: init at 1.0.3
2023-03-30 09:24:59 +02:00
Nick Cao
680a992090
Merge pull request #223635 from arcnmx/parsec-ffmpeg
parsec-bin: fix ffmpeg link errors
2023-03-30 09:43:37 +08:00
github-actions[bot]
dcd66c7f86
Merge master into haskell-updates 2023-03-30 00:12:58 +00:00
Pavel Sobolev
6fc5b40ed4
identity: init at 0.5.0
* identity: init at 0.5.0 (#223048)

* identity: fix meta.description order

---------

Co-authored-by: superherointj <5861043+superherointj@users.noreply.github.com>
2023-03-29 21:02:59 -03:00
Dennis Gosnell
8f928cc7a0
Merge remote-tracking branch 'origin/master' into haskell-updates 2023-03-30 08:41:14 +09:00
StepBroBD
281d7c21c8
raycast: init at 1.48.9
* raycast: init at 1.48.9, change github release url to internet archive url

* raycast: adding documentation explaining the reason we are using Internet Archive URL

* raycast: add lovesegfault to maintainers

Co-authored-by: Bernardo Meurer <bernardo@meurer.org>
2023-03-29 15:46:48 -06:00
Ilan Joselevich
513de2d28d
Merge pull request #223123 from panicgh/osm2pgsql-unpin-fmt
osm2pgsql: unpin from fmt_8
2023-03-30 00:06:42 +03:00
Ilan Joselevich
76e695b7a2
Merge pull request #222031 from felipeqq2/init/clolcat
clolcat: init at 1.1
2023-03-30 00:03:20 +03:00
Ilan Joselevich
2a6e788594
Merge pull request #223285 from devusb/sleep-on-lan
sleep-on-lan: init at 1.1.1
2023-03-29 23:59:34 +03:00
arcnmx
87698250c4 parsec-bin: pin to ffmpeg_4
fixes runtime missing library errors
2023-03-29 11:15:21 -07:00
ajs124
800426cf64
Merge pull request #222422 from mdarocha/remove-dotnet-3
dotnet-sdk_3: remove
2023-03-29 16:13:25 +02:00
Weijia Wang
abd78dc3ee
Merge pull request #223300 from Mynacol/leanify
leanify: init at unstable-2022-12-04
2023-03-29 16:50:41 +03:00
figsoda
10361ddab2
Merge pull request #223720 from GaetanLepage/typst-lsp
typst-lsp: init at 0.3.0
2023-03-29 09:37:27 -04:00
Sandro
c2ae278eb8
Merge pull request #221851 from Ma27/postgresql-jit-support
postgresql: implement opt-in JIT support
2023-03-29 13:29:30 +02:00
Gaetan Lepage
7af7875382 typst-lsp: init at 0.3.0 2023-03-29 11:42:07 +02: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
Mark Vainomaa
2c83e565c1
perlPackages.CryptOpenSSLRandom: unbreak on aarch64-darwin 2023-03-29 11:42:29 +03: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] c45643d618
2023-03-29 08:39:46 +02:00
Fabian Affolter
e585ae75eb
Merge pull request #223421 from fabaff/zkg
zkg: init at 2.13.0
2023-03-29 08:03:59 +02:00
Dennis Gosnell
f9262fba9c haskellPackages: filter out Darwin jobs from mergeable job in release-haskell.nix 2023-03-29 14:39:14 +09:00
Orivej Desh
4a6f9a7bd6
raysession: init at 0.13.1 (#222628)
Fixes #194022
2023-03-29 01:54:51 +00:00
Orivej Desh
ee0efdd6a0
patchance: init at 1.0.0 (#222623)
Fixes #194023
2023-03-29 01:54:21 +00:00
Orivej Desh
1ff621cf56
tonelib-noisereducer: init at 1.2.0 (#222124) 2023-03-29 01:53:49 +00:00
github-actions[bot]
f41b2e5230
Merge master into haskell-updates 2023-03-29 00:14:47 +00:00
Tobias Markus
3bc6ed6e70 cctag: init at 1.0.3 2023-03-28 23:31:47 +02:00
Ryan Lahfa
7a25cbdf71
Merge pull request #223168 from astro/rust-hypervisor-firmware
rust-hypervisor-firmware: init at 0.4.2
2023-03-28 22:27:21 +02:00
Astro
5cc9cef25d rust-hypervisor-firmware: init at 0.4.2 2023-03-28 20:44:50 +02:00
MGlolenstine
bca9308676 shell_gpt: init at 0.7.3 2023-03-28 11:03:19 -04:00
Weijia Wang
4766c30e4d
audacity: fix build on x86_64-darwin (#223386) 2023-03-28 09:44:47 -04:00
Carlos Alexandro Becker
ad103077d9
svu: init at 1.10.2 (#223393) 2023-03-28 09:30:02 -04:00
Domen Kožar
f4b70e0048
Merge pull request #223373 from toonn/nim-Security-framework
nim-unwrapped: Add missing Security framework buildInput
2023-03-28 13:57:45 +01:00
Nick Cao
27f6fc3a76
Merge pull request #223502 from Ruixi-rebirth/master
chatgpt-cli: init at 0.6.0-beta
2023-03-28 20:41:27 +08:00
Bernardo Meurer
c7a3a7070e
Merge pull request #222578 from goertzenator/linuxconfig_patches 2023-03-28 09:24:50 -03:00
Bernardo Meurer
b2cb194047
Merge pull request #222347 from midchildan/feat/syncthing/darwin-codesign 2023-03-28 09:23:31 -03:00
Ruixi-rebirth
f0a09cc165
chatgpt-cli: init at 0.6.0-beta
chatgpt-cli: init at 0.6.0-beta

chatgpt-cli: init at 0.6.0-beta

chatgpt-cli: init at 0.6.0-beta

chatgpt-cli: init at 0.6.0-beta

chatgpt-cli: init at 0.6.0-beta
2023-03-28 17:33:33 +08:00
Weijia Wang
2371f8a8eb
Merge pull request #222744 from GaetanLepage/keyleds
keyleds: init at unstable-2021-04-08
2023-03-28 12:05:41 +03:00
github-actions[bot]
7bf643e2ce
Merge master into haskell-updates 2023-03-28 00:13:57 +00:00
Ilan Joselevich
ef86d7b2c5
Merge pull request #223012 from nixinator/xgalaga-init
xgalagapp: init at 0.9
2023-03-28 01:28:49 +03:00
figsoda
80bbc6ea21
Merge pull request #223333 from figsoda/rsonpath 2023-03-27 16:10:07 -04:00
Ryan Lahfa
16f67c4afc
Merge pull request #223242 from panicgh/nitrokey-libnitrokey
libnitrokey: init at 3.8
2023-03-27 22:07:24 +02:00
Fabian Affolter
29d380aa2f zkg: init at 2.13.0 2023-03-27 20:33:20 +02:00
Fabian Affolter
c3fe41dd0a python310Packages.btest: init at 1.0 2023-03-27 20:29:26 +02:00
figsoda
321b080923
Merge pull request #223281 from figsoda/nerdfix 2023-03-27 11:31:27 -04:00
figsoda
75138e0814
Merge pull request #222842 from meain/exhaustive 2023-03-27 09:23:59 -04:00
Nicolas Benes
5ad0e53916 cppcodec: init at 0.2 2023-03-27 14:06:35 +02:00