Commit Graph

158 Commits

Author SHA1 Message Date
Peder Bergebakken Sundt
3f3903a927
pkgsStatic.krb5: fix build (#348188) 2024-10-19 07:12:57 +02:00
Ihar Hrachyshka
cc0f98cca7 heimdal: fix build on darwin
1. when db.h provides ndbm compat layer, include db.h not ndbm.h.

Otherwise, compilation fails due to incompatible type declarations
between libSystem and db includes.

2. tell the build system that db_185.h is present.

Otherwise, the code includes db.h as if it's v1 header. (It's not.)

3. link some tests with -lresolv where needed.

All three patches are posted upstream.

Closes: #347616
2024-10-15 18:09:07 -04:00
Sandro Jäckel
b0231c9981
heimdal: remove absolute path to pwd, replace patchPhase with postPatch to not break patches 2024-10-14 13:36:18 +02:00
Tobias Mayer
7305602875
pkgsStatic.krb5: fix build 2024-10-13 05:07:24 +02:00
h7x4
3aa40fa395
heimdal: 7.8.0-unstable-2023-11-29 -> 7.8.0-unstable-2024-09-10 2024-09-27 11:09:30 +02:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
Elliot Cameron
311277204d krb5: merge krb5 and libkrb5 with krb5.lib output
krb5 and libkrb5 are two separate derivations that can easily end up
in the same closure. They both provide the same shared libraries and
some packages end up getting both copies. Since both copies come from
the same source, packages often get lucky in this situation and just
use whichever library is found first. Sometimes packages are less
fortunate and end up trying to load both. This has gone largely
unnoticed in Nixpkgs, likely because Kerberos is not widely used
outside of enterprise deployments.

This situation seems to have arisen out of a need to break a cycle
in `fetchurl -> curl -> krb5 -> fetchurl`. The libkrb5 build was able to
avoid depending on bison and libedit, making it easier to break the
cycle.

However, we can break the cycle without resorting to two variants of
krb5. Libedit can be removed with configure flags and byacc can be used
instead of bison, allowing a much smaller build closure that can easily
be resolved when breaking the cycle.

This change also adds a "lib" output to krb5 so that packages depending
on krb5 can still benefit from a smaller runtime closure if they only
need the shared libraries.

A future change will include a tree-wide refactor to switch uses of
libkrb5 to krb5.
2024-08-16 13:58:01 -04:00
Sigmanificient
63d05d989e pkgs/development: remove unused arguments 2024-08-03 17:18:20 +02:00
Vladimír Čunát
cd346565bb
Merge branch 'master' into staging-next 2024-07-24 07:19:19 +02:00
Joachim Ernst
f9e9e91587
kerberos/heimdal: use jdk_headless in nativeCheckInputs (#329158) 2024-07-23 14:27:42 +02:00
Sergei Trofimovich
ef9be5ddeb krb5: 1.21.2 -> 1.21.3
Changes: https://github.com/krb5/krb5/compare/krb5-1.21.2-final...krb5-1.21.3-final
2024-06-27 22:13:47 +01:00
h7x4
d8ddf6fb6d
Merge pull request #287611 from h7x4/nixos-module-fixup-kerberos-server
nixos/kerberos_server: use krb format generator, plus misc cleanup
2024-06-14 17:04:55 +02:00
Alyssa Ross
3df6bb2c85
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
	pkgs/applications/blockchains/polkadot/default.nix
2024-06-09 22:47:12 +01:00
Alexis Hildebrandt
755b915a15 treewide: Remove indefinite article from meta.description
nix run nixpkgs#silver-searcher -- -G '\.nix$' -0l 'description.*"[Aa]n?' pkgs \
  | xargs -0 nix run nixpkgs#gnused -- -i '' -Ee 's/(description.*")[Aa]n? (.)/\1\U\2/'
2024-06-09 23:07:45 +02:00
h7x4
195d155a1c
nixos/kerberos_server: use krb format generator, plus misc cleanup
- Introduce more possible options by using the krb format generator.
- Enforce package choice is using a correct package.
- Use meta attribute to decide implementation, allows for overriding the
  package.
- Make necessary changes to the format, to allow for multiple ACL files in
  heimdal.
- Add systemd target and slice for both implementations.
- Move state to `/var/lib`
- Add documentation
2024-06-08 23:29:53 +02:00
Audrey Dutcher
846de80d1c various: Enable updateAutotoolsGnuConfigScriptsHook
Prior to August 2023, any config.guess generated by autoconf will
include a hardcoded /usr/bin/uname invocation for FreeBSD on any
architecture other than arm. This clearly doesn't work under nix.
We must then update or otherwise patch each old config.guess.
2024-05-27 11:09:28 -04:00
Audrey Dutcher
f1375098a5
krb5: fix build on native FreeBSD 2024-05-15 11:10:48 +02:00
Tomas Antonio Lopez
7cfa2e6f77 krb5: add support for building with LDAP database 2024-02-05 09:21:46 +01:00
h7x4
fe2a639aa7
heimdal: add h7x4 as maintainer 2024-01-14 01:13:19 +01:00
h7x4
c71fa4be0c
heimdal: clean up package
- Make inputs more diff friendly
- Add flags for enabling certain libraries
- Disable LDAP support as HDB module by default
- Add support for CJSON
- Flatten contents of `$out/libexec`, which earlier had an
  `heimdal/heimdal` directory
- Use SRI hash
- Enable package tests
- Add `passthru.tests.nixos`
- Add `meta.homepage` and `meta.changelog`

Co-authored-by: Felix Albrigtsen <felix@albrigtsen.it>
2024-01-14 01:13:19 +01:00
h7x4
068372ee6f
heimdal: 7.8.0 -> 7.8.0-unstable-2023-11-29 2023-12-16 11:03:16 +01:00
Sergei Trofimovich
ec80591e94 libkrb5: fix build on darwin: add kerberos and xpc to propagated build inputs 2023-12-03 11:23:24 +00:00
Sergei Trofimovich
d738269f28 libkrb5: 1.20.2 -> 1.21.2
Changes: https://web.mit.edu/kerberos/krb5-1.21/krb5-1.21.2.html
2023-12-01 02:22:49 +00:00
Robert Scott
8759c620f6
krb5: 1.20.1 -> 1.20.2
(cherry picked from commit 912b9d03ee)
2023-10-13 09:39:40 +02:00
Vladimír Čunát
db3429f8c7
Revert "Merge #255483: krb5: 1.20.1 -> 1.21.2"
This reverts commit d829719226, reversing
changes made to 93c0a7c196.

Some packages started missing kerberos framework on darwin.
https://github.com/NixOS/nixpkgs/pull/255483#issuecomment-1747218729
https://hydra.nixos.org/build/237078859/nixlog/5/tail

So for now we'll do a patch-level bump instead to fix security issues.
2023-10-13 09:37:12 +02:00
Robert Scott
63ed3ecdaf krb5: 1.20.1 -> 1.21.2 2023-09-16 17:15:46 +01:00
s1341
6d33f53fa6 krb5: add libverto as dependency 2023-03-16 08:38:35 +02:00
github-actions[bot]
e11b11e738
Merge staging-next into staging 2023-01-27 12:01:56 +00:00
Alyssa Ross
dcb1b49be6 libkrb5: fix BSD cross-compilation
For Linux and Darwin, it uses $(CC), but for BSD it hardcodes ld for
some reason.
2023-01-27 09:37:19 +00:00
Shawn8901
a59dda942c treewide: remove global with lib; statements in pkgs/development 2023-01-26 18:31:02 +01:00
github-actions[bot]
79cb2f7e61
Merge master into staging-next 2023-01-14 11:12:34 +00:00
Robert Scott
5e2d7188e7 krb5: add some key reverse-dependencies to passthru.tests 2022-12-26 17:10:11 +00:00
R. Ryantm
967b87ea6e krb5: 1.20 -> 1.20.1 2022-12-19 01:06:51 +00:00
R. Ryantm
574faaf47d heimdal: 7.7.0 -> 7.8.0 2022-11-16 03:25:18 +00:00
Artturin
7e49471316 treewide: optional -> optionals where the argument is a list
the argument to optional should not be list
2022-10-10 15:40:21 +03:00
Graham Christensen
c2b898da76 treewide: drop -l$NIX_BUILD_CORES
Passing `-l$NIX_BUILD_CORES` improperly limits the overall system load.

For a build machine which is configured to run `$B` builds where each
build gets `total cores / B` cores (`$C`), passing `-l $C` to make will
improperly limit the load to `$C` instead of `$B * $C`.

This effect becomes quite pronounced on machines with 80 cores, with
40 simultaneous builds and a cores limit of 2. On a machine with this
configuration, Nix will run 40 builds and make will limit the overall
system load to approximately 2. A build machine with this many cores
can happily run with a load approaching 80.

A non-solution is to oversubscribe the machine, by picking a larger
`$C`. However, there is no way to divide the number of cores in a way
which fairly subdivides the available cores when `$B` is greater than
1.

There has been exploration of passing a jobserver in to the sandbox,
or sharing a jobserver between all the builds. This is one option, but
relatively complicated and only supports make. Lots of other software
uses its own implementation of `-j` and doesn't support either `-l` or
the Make jobserver.

For the case of an interactive user machine, the user should limit
overall system load using `$B`, `$C`, and optionally systemd's
cpu/network/io limiting features.

Making this change should significantly improve the utilization of our
build farm, and improve the throughput of Hydra.
2022-09-22 16:01:23 -04:00
ajs124
5719e20547 krb5: add pasthru.tests 2022-07-09 21:13:09 +02:00
ajs124
8108584109 krb5: remove file-wide with lib; 2022-07-07 19:51:20 +02:00
ajs124
2736dc9016 krb5: run hooks and replace subshells with make -C 2022-07-07 19:15:08 +02:00
ajs124
2b7224c8e0 krb5: preConfigure -> sourceRoot 2022-07-07 19:15:08 +02:00
ajs124
cfebc8fc64 krb5: 1.19.3 -> 1.20
see https://github.com/krb5/krb5/blob/krb5-1.20-final/README#L88 for changes
2022-07-07 16:01:55 +02:00
ajs124
bb438b6f2c krb5: 1.19.2 -> 1.19.3 2022-05-09 22:45:25 +01:00
Felix Buehler
041dcd46a5 krb5: rename name to pname&version 2022-02-24 19:09:55 +01:00
Jan Tojnar
2f8ef6f380
Merge pull request #111945 from r-ryantm/auto-update/krb5
krb5: 1.18 -> 1.19.2
2022-01-28 20:28:26 +01:00
Niklas Hambüchen
36c59877d3 krb5: 1.18 -> 1.19.2 2021-08-11 13:58:56 +02:00
Ben Wolsieffer
e8b2b2c8e9 heimdal: install compile_et for cross-compilation 2021-06-27 23:30:31 -04:00
Sandro Jäckel
33a395f195
yacc: deprecate alias
and add a new line after the alphabetically sorting to please my inner monk
2021-04-04 03:18:58 +02:00
ajs124
08d0cc0566 heimdal: python2 -> python3 2021-03-16 18:29:51 +01:00
Ben Siraphob
66e44425c6 pkgs/development/libraries: stdenv.lib -> lib 2021-01-21 19:11:02 -08:00
Jonathan Ringer
9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
continuation of #109595

pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.

python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
2021-01-19 01:16:25 -08:00