diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md index d9246994676d..f81c1b77d84e 100644 --- a/doc/languages-frameworks/haskell.section.md +++ b/doc/languages-frameworks/haskell.section.md @@ -260,6 +260,14 @@ the same package with the `previousIntermediates` argument to support incremental builds. See [“Incremental builds”](#haskell-incremental-builds) for more information. Defaults to `false`. +`dontConvertCabalFileToUnix` +: By default, `haskellPackages.mkDerivation` converts the `.cabal` file of a +given package to Unix line endings. +This is intended to work around +[Hackage converting revised `.cabal` files to DOS line endings](https://github.com/haskell/hackage-server/issues/316) +which frequently causes patches to stop applying. +You can pass `true` to disable this behavior. + `enableLibraryProfiling` : Whether to enable [profiling][profiling] for libraries contained in the package. Enabled by default if supported. @@ -1249,8 +1257,8 @@ it does for the unstable branches. ### Why is topic X not covered in this section? Why is section Y missing? {#haskell-why-not-covered} We have been working on [moving the nixpkgs Haskell documentation back into the -nixpkgs manual](https://github.com/NixOS/nixpkgs/issues/121403). Since this -process has not been completed yet, you may find some topics missing here +nixpkgs manual](https://github.com/NixOS/nixpkgs/issues/121403). +Since this process has not been completed yet, you may find some topics missing here covered in the old [haskell4nix docs](https://haskell4nix.readthedocs.io/). If you feel any important topic is not documented at all, feel free to comment diff --git a/doc/redirects.json b/doc/redirects.json index 4ba879f51d2b..b472d4fd1e13 100644 --- a/doc/redirects.json +++ b/doc/redirects.json @@ -119,6 +119,12 @@ "inkscape-plugins": [ "index.html#inkscape-plugins" ], + "libcxxhardeningextensive": [ + "index.html#libcxxhardeningextensive" + ], + "libcxxhardeningfast": [ + "index.html#libcxxhardeningfast" + ], "julec-hook": [ "index.html#julec-hook" ], @@ -247,6 +253,9 @@ "sec-building-packages-with-llvm-using-clang-stdenv": [ "index.html#sec-building-packages-with-llvm-using-clang-stdenv" ], + "sec-darwin-availability-checks": [ + "index.html#sec-darwin-availability-checks" + ], "sec-darwin-libcxx-deployment-targets": [ "index.html#sec-darwin-libcxx-deployment-targets" ], @@ -1224,7 +1233,8 @@ "index.html#sec-purity-in-nixpkgs" ], "sec-hardening-in-nixpkgs": [ - "index.html#sec-hardening-in-nixpkgs" + "index.html#sec-hardening-in-nixpkgs", + "index.html#pie" ], "sec-hardening-flags-enabled-by-default": [ "index.html#sec-hardening-flags-enabled-by-default" @@ -1259,9 +1269,6 @@ "sec-hardening-flags-disabled-by-default": [ "index.html#sec-hardening-flags-disabled-by-default" ], - "pie": [ - "index.html#pie" - ], "shadowstack": [ "index.html#shadowstack" ], diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index ddb0f3a36b34..86a73b8f2d6e 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -12,6 +12,18 @@ - The default GHC version has been updated from 9.8 to 9.10. `haskellPackages` correspondingly uses Stackage LTS 24 (instead of LTS 23) as a baseline. +- **This release of Nixpkgs requires macOS Sonoma 14.0 or newer, as announced in the 25.05 release notes.** + The default SDK is now 14.4, but the minimum version is 14.0. + cc-wrapper will enforce that availability annotations are used or an appropriate deployment target is set. + See the Darwin platform notes for details. + +- **We expect to drop support for `x86_64-darwin` by Nixpkgs 26.11,** in light of Apple’s announcement that macOS 26 will be the final version to support Intel Macs. + When support is fully removed, we will no longer build packages for the platform or guarantee that it can build at all. + This may happen in stages, depending on our available build and maintenance resources and decisions made by projects we rely on. + + By the time of 26.11’s release, Homebrew will offer only limited [Tier 3](https://docs.brew.sh/Support-Tiers#tier-3) support for the platform, but MacPorts will likely continue to support it for a long time. + We also recommend users consider installing NixOS, which should continue to run on essentially all Intel Macs, especially after Apple stops security support for macOS 26 in 2028. + - Darwin has switched to using the system libc++. This was done for improved compatibility and to avoid ODR violations. If a newer C++ library feature is not available on the default deployment target, you will need to increase the deployment target. See the Darwin platform documentation for more details. @@ -49,6 +61,8 @@ - GHC 8.6, 8.10, 9.0, 9.2, and their package sets have been removed. +- The `haskellPackages.mkDerivation` builder now converts packages' cabal files to Unix line endings before `patchPhase`. This behavior can be disabled using `dontConvertCabalFileToUnix`. + - `webkitgtk_4_0` has been removed because it depends on an unmaintained version of security-critical libsoup library (`libsoup_2`) and the support will be [dropped upstream soon](https://webkitgtk.org/2025/10/07/webkitgtk-soup2-deprecation.html). - Support for bootstrapping native GHC compilers on 32‐bit ARM and little‐endian 64‐bit PowerPC has been dropped. @@ -102,6 +116,8 @@ - `forgejo` main program has been renamed to `bin/forgejo` from the previous `bin/gitea`. +- the "pie" hardening flag has been removed. compilers are expected to enable PIE by default, as has been common practice since 2016 outside of nixpkgs. If a package needs "pie" disabled pass `-no-pie` in `CFLAGS`. It is unlikely this will be necessary in many cases; due to the prevalance of default PIE toolchains most packages incompatible with PIE already pass no-pie. + - `wayclip` now uses the `ext-data-control-v1` Wayland protocol instead of `wlr-data-control-unstable-v1`. - `cudaPackages.cudatoolkit-legacy-runfile` has been removed. @@ -215,9 +231,10 @@ - `podofo` has been updated from `0.9.8` to `1.0.0`. These releases are by nature very incompatible due to major API changes. The legacy versions can be found under `podofo_0_10` and `podofo_0_9`. Changelog: https://github.com/podofo/podofo/blob/1.0.0/CHANGELOG.md, API-Migration-Guide: https://github.com/podofo/podofo/blob/1.0.0/API-MIGRATION.md. -- NetBox was updated to `>= 4.3.0`. Have a look at the breaking changes - of the [4.3 release](https://github.com/netbox-community/netbox/releases/tag/v4.2.0), - make the required changes to your database, if needed, then upgrade by setting `services.netbox.package = pkgs.netbox_4_3;` in your configuration. +- NetBox was updated to `>= 4.4.0`. Have a look at the breaking changes + of the [4.3 release](https://github.com/netbox-community/netbox/releases/tag/v4.3.0) + and the [4.4 release](https://github.com/netbox-community/netbox/releases/tag/v4.4.0), + make the required changes to your database, if needed, then upgrade by setting `services.netbox.package = pkgs.netbox_4_4;` in your configuration. - `privatebin` has been updated to `2.0.0`. This release changes configuration defaults including switching the template and removing legacy features. See the [v2.0.0 changelog entry](https://github.com/PrivateBin/PrivateBin/releases/tag/2.0.0) for details on how to upgrade. @@ -269,6 +286,8 @@ - Added `gitConfig` and `gitConfigFile` option to the nixpkgs `config`, to allow for setting a default `gitConfigFile` for all `fetchgit` invocations. +- Added `npmRegistryOverrides` and `npmRegistryOverridesString` option to the nixpkgs `config`, to allow for setting a default `npmRegistryOverridesString` for all `fetchNpmDeps` invocations. + - The `dockerTools.streamLayeredImage` builder now uses a better algorithm for generating layered docker images, such that much more sharing is possible when the number of store paths exceeds the layer limit. It gives each of the largest store paths its own layer and adds dependencies to those layers when they aren't used elsewhere. - The systemd initrd will now respect `x-systemd.wants` and `x-systemd.requires` for reliably unlocking multi-disk bcachefs volumes. @@ -288,7 +307,7 @@ - `idris2` supports being instantiated with a package environment with `idris.withPackages (p: [ ])` -- New hardening flags, `strictflexarrays1` and `strictflexarrays3` were made available, corresponding to the gcc/clang options `-fstrict-flex-arrays=1` and `-fstrict-flex-arrays=3` respectively. +- New hardening flags `strictflexarrays1`, `strictflexarrays3`, `glibcxxassertions`, `libcxxhardeningfast` and `libcxxhardeningextensive` were made available. - `gramps` has been updated to 6.0.0 Upstream recommends [backing up your Family Trees](https://gramps-project.org/wiki/index.php/Gramps_6.0_Wiki_Manual_-_Manage_Family_Trees#Backing_up_a_Family_Tree) before upgrading. @@ -313,8 +332,6 @@ and beware that the migration may take several hours depending on your library size and state. The process must not be interrupted. -- A new hardening flag, `glibcxxassertions` was made available, corresponding to the glibc `_GLIBCXX_ASSERTIONS` option. - - `versionCheckHook`: Packages that previously relied solely on `pname` to locate the program used to version check, but have a differing `meta.mainProgram` entry, might now fail. @@ -331,6 +348,8 @@ - `nix-prefetch-git`: Added a `--no-add-path` argument to disable adding the path to the store; this is useful when working with a [read-only store](https://nix.dev/manual/nix/2.28/command-ref/new-cli/nix3-help-stores#store-experimental-local-overlay-store-read-only). +- `fetchNpmDeps`: Add `npmRegistryOverridesString` argument to pass NPM registry overrides to the fetcher. + - `sftpman` has been updated to version 2, a rewrite in Rust which is mostly backward compatible but does include some changes to the CLI. For more information, [check the project's README](https://github.com/spantaleev/sftpman-rs#is-sftpman-v2-compatible-with-sftpman-v1). diff --git a/doc/stdenv/platform-notes.chapter.md b/doc/stdenv/platform-notes.chapter.md index 06662bbc76fa..99d7cf33fa48 100644 --- a/doc/stdenv/platform-notes.chapter.md +++ b/doc/stdenv/platform-notes.chapter.md @@ -47,6 +47,17 @@ See below for how to use a newer deployment target. For example, `std::print` depends on features that are only available on macOS 13.3 or newer. To make them available, set the deployment target to 13.3 using `darwinMinVersionHook`. +#### Package fails to build due to missing API availability checks {#sec-darwin-availability-checks} + +This is normally a bug in the package or a misconfigured deployment target. +* If it is using an API from a newer release (e.g., from macOS 26.0 while targeting macOS 14.0), it needs to use an availability check. + The code should be patched to use [`__builtin_available`](https://clang.llvm.org/docs/LanguageExtensions.html#objective-c-available). + Note that while the linked documentation is for Objective-C, it is applicable to C and C++ except that you use `__builtin_available` in place of `@available`. +* If the package intends to require the newer platform (i.e., it does not support running on older versions with reduced functionality), use `darwinMinVersionHook` to set the deployment target to the required version. + See below for how to use a newer deployment target. +* If the package actually handles this through some other mechanism (e.g., MoltenVK relies on the running platform’s MSL version), the error can be suppressed. + To suppress the error, add `-Wno-error=unguarded-availability` to `env.NIX_CFLAGS_COMPILE`. + #### Package requires a non-default SDK or fails to build due to missing frameworks or symbols {#sec-darwin-troubleshooting-using-sdks} In some cases, you may have to use a non-default SDK. @@ -106,13 +117,10 @@ The following is a list of Xcode versions, the SDK version in Nixpkgs, and the a Check your package’s documentation (platform support or installation instructions) to find which Xcode or SDK version to use. Generally, only the last SDK release for a major version is packaged. -| Xcode version | SDK version | Nixpkgs attribute | -|--------------------|--------------------|------------------------------| -| 12.0–12.5.1 | 11.3 | `apple-sdk_11` / `apple-sdk` | -| 13.0–13.4.1 | 12.3 | `apple-sdk_12` | -| 14.0–14.3.1 | 13.3 | `apple-sdk_13` | -| 15.0–15.4 | 14.4 | `apple-sdk_14` | -| 16.0 | 15.0 | `apple-sdk_15` | +| Xcode version | SDK version | Nixpkgs attribute | +|--------------------|--------------------|-------------------------------| +| 15.0–15.4 | 14.4 | `apple-sdk_14` / `apple-sdk` | +| 16.0 | 15.0 | `apple-sdk_15` | #### Darwin Default SDK versions {#sec-darwin-troubleshooting-darwin-defaults} diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md index 24536c35b2c3..2a0b239740c0 100644 --- a/doc/stdenv/stdenv.chapter.md +++ b/doc/stdenv/stdenv.chapter.md @@ -1631,19 +1631,6 @@ The following flags are disabled by default and should be enabled with `hardenin This flag adds the `-fno-strict-aliasing` compiler option, which prevents the compiler from assuming code has been written strictly following the standard in regards to pointer aliasing and therefore performing optimizations that may be unsafe for code that has not followed these rules. -#### `pie` {#pie} - -This flag is disabled by default for normal `glibc` based NixOS package builds, but enabled by default for - - - `musl`-based package builds, except on Aarch64 and Aarch32, where there are issues. - - - Statically-linked for OpenBSD builds, where it appears to be required to get a working binary. - -Adds the `-fPIE` compiler and `-pie` linker options. Position Independent Executables are needed to take advantage of Address Space Layout Randomization, supported by modern kernel versions. While ASLR can already be enforced for data areas in the stack and heap (brk and mmap), the code areas must be compiled as position-independent. Shared libraries already do this with the `pic` flag, so they gain ASLR automatically, but binary .text regions need to be build with `pie` to gain ASLR. When this happens, ROP attacks are much harder since there are no static locations to bounce off of during a memory corruption attack. - -Static libraries need to be compiled with `-fPIE` so that executables can link them in with the `-pie` linker option. -If the libraries lack `-fPIE`, you will get the error `recompile with -fPIE`. - #### `strictflexarrays1` {#strictflexarrays1} This flag adds the `-fstrict-flex-arrays=1` compiler option, which reduces the cases the compiler treats as "flexible arrays" to those declared with length `[1]`, `[0]` or (the correct) `[]`. This increases the coverage of fortify checks, because such arrays declared as the trailing element of a structure can normally not have their intended length determined by the compiler. @@ -1688,6 +1675,18 @@ Adds the `-D_GLIBCXX_ASSERTIONS` compiler flag. This flag only has an effect on These checks may have an impact on performance in some cases. +#### `libcxxhardeningfast` {#libcxxhardeningfast} + +Adds the `-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST` compiler flag. This flag only has an effect on libc++ targets, and when defined, enables a set of assertions that prevent undefined behavior caused by violating preconditions of the standard library. libc++ provides several hardening modes, and this "fast" mode contains a set of security-critical checks that can be done with relatively little overhead in constant time. + +Disabling `libcxxhardeningfast` implies disablement of checks from `libcxxhardeningextensive`. + +#### `libcxxhardeningextensive` {#libcxxhardeningextensive} + +Adds the `-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE` compiler flag. This flag only has an effect on libc++ targets, and when defined, enables a set of assertions that prevent undefined behavior caused by violating preconditions of the standard library. libc++ provides several hardening modes, and this "extensive" mode adds checks for undefined behavior that incur relatively little overhead but aren’t security-critical. The additional rigour impacts performance more than fast mode: benchmarking is recommended to determine if it is acceptable for a particular application. + +Enabling this flag implies enablement of checks from `libcxxhardeningfast`. Disabling this flag does not imply disablement of checks from `libcxxhardeningfast`. + #### `pacret` {#pacret} This flag adds the `-mbranch-protection=pac-ret` compiler option on aarch64-linux targets. This uses ARM v8.3's Pointer Authentication feature to sign function return pointers before adding them to the stack. The pointer's authenticity is then validated before returning to its destination. This dramatically increases the difficulty of ROP exploitation techniques. diff --git a/lib/systems/default.nix b/lib/systems/default.nix index 96bde04151ae..cd1448d811fa 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -360,8 +360,8 @@ let null; # The canonical name for this attribute is darwinSdkVersion, but some # platforms define the old name "sdkVer". - darwinSdkVersion = final.sdkVer or "11.3"; - darwinMinVersion = final.darwinSdkVersion; + darwinSdkVersion = final.sdkVer or "14.4"; + darwinMinVersion = "14.0"; darwinMinVersionVariable = if final.isMacOS then "MACOSX_DEPLOYMENT_TARGET" diff --git a/nixos/modules/services/web-apps/netbox.nix b/nixos/modules/services/web-apps/netbox.nix index c61f217b4b68..440c0e89a389 100644 --- a/nixos/modules/services/web-apps/netbox.nix +++ b/nixos/modules/services/web-apps/netbox.nix @@ -109,10 +109,10 @@ in package = lib.mkOption { type = lib.types.package; default = - if lib.versionAtLeast config.system.stateVersion "25.11" then pkgs.netbox_4_3 else pkgs.netbox_4_2; + if lib.versionAtLeast config.system.stateVersion "25.11" then pkgs.netbox_4_4 else pkgs.netbox_4_2; defaultText = lib.literalExpression '' if lib.versionAtLeast config.system.stateVersion "25.11" - then pkgs.netbox_4_3 + then pkgs.netbox_4_4 else pkgs.netbox_4_2; ''; description = '' diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index bcb00f3b067f..3bb260977e7a 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1006,6 +1006,7 @@ in netbox-upgrade = runTest ./web-apps/netbox-upgrade.nix; netbox_4_2 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_2; }; netbox_4_3 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_3; }; + netbox_4_4 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_4; }; netdata = runTest ./netdata.nix; networking.networkd = handleTest ./networking/networkd-and-scripted.nix { networkd = true; }; networking.networkmanager = handleTest ./networking/networkmanager.nix { }; diff --git a/nixos/tests/login.nix b/nixos/tests/login.nix index ab80b8aaabf0..bd0d3b7bc005 100644 --- a/nixos/tests/login.nix +++ b/nixos/tests/login.nix @@ -48,13 +48,12 @@ machine.wait_for_file("/home/alice/done") with subtest("Systemd gives and removes device ownership as needed"): - # Change back to /dev/snd/timer after systemd-258.1 - machine.succeed("getfacl /dev/dri/card0 | grep -q alice") + machine.succeed("getfacl /dev/snd/timer | grep -q alice") machine.send_key("alt-f1") machine.wait_until_succeeds("[ $(fgconsole) = 1 ]") - machine.fail("getfacl /dev/dri/card0 | grep -q alice") + machine.fail("getfacl /dev/snd/timer | grep -q alice") machine.succeed("chvt 2") - machine.wait_until_succeeds("getfacl /dev/dri/card0 | grep -q alice") + machine.wait_until_succeeds("getfacl /dev/snd/timer | grep -q alice") with subtest("Virtual console logout"): machine.send_chars("exit\n") diff --git a/nixos/tests/web-apps/netbox-upgrade.nix b/nixos/tests/web-apps/netbox-upgrade.nix index 29b553829dcb..5b60e8939ccb 100644 --- a/nixos/tests/web-apps/netbox-upgrade.nix +++ b/nixos/tests/web-apps/netbox-upgrade.nix @@ -1,7 +1,7 @@ { lib, pkgs, ... }: let - oldNetbox = "netbox_4_2"; - newNetbox = "netbox_4_3"; + oldNetbox = "netbox_4_3"; + newNetbox = "netbox_4_4"; apiVersion = version: diff --git a/nixos/tests/web-apps/netbox/testScript.py b/nixos/tests/web-apps/netbox/testScript.py index 7d0f9bff10c7..f6c2c9821e12 100644 --- a/nixos/tests/web-apps/netbox/testScript.py +++ b/nixos/tests/web-apps/netbox/testScript.py @@ -61,7 +61,7 @@ def compare(a: str, b: str): return 0 with subtest("Home screen loads"): - machine.succeed( + machine.wait_until_succeeds( "curl -sSfL http://[::1]:8001 | grep 'Home | NetBox'" ) diff --git a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix index 8a2974b8517b..220d3fe68d53 100644 --- a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix @@ -32,10 +32,6 @@ stdenv.mkDerivation rec { faust2lv2 ]; - # ld: crtbegin.o: relocation R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a PIE object - # ld: failed to set dynamic section sizes: bad value - hardeningDisable = [ "pie" ]; - enableParallelBuilding = true; dontWrapQtApps = true; diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix index de4362946baa..eb20cd063c8e 100644 --- a/pkgs/applications/editors/vim/common.nix +++ b/pkgs/applications/editors/vim/common.nix @@ -1,6 +1,6 @@ { lib, fetchFromGitHub }: rec { - version = "9.1.1833"; + version = "9.1.1869"; outputs = [ "out" @@ -11,7 +11,7 @@ rec { owner = "vim"; repo = "vim"; rev = "v${version}"; - hash = "sha256-bcHTwrJt7ERsIYydCj+Um4AY7sREtkdkqlEA0OdgnuM="; + hash = "sha256-AHx4AHsJAsEE5LRzKgBeV3LoCaoHUB+0/gq7kOHObMk="; }; enableParallelBuilding = true; diff --git a/pkgs/applications/emulators/wine/base.nix b/pkgs/applications/emulators/wine/base.nix index 9ac68c4ffcea..4665547f501d 100644 --- a/pkgs/applications/emulators/wine/base.nix +++ b/pkgs/applications/emulators/wine/base.nix @@ -40,12 +40,6 @@ let }; } ./setup-hook-darwin.sh; - # Using the 14.4 SDK allows Wine to use `os_sync_wait_on_address` for its futex implementation on Darwin. - # It does an availability check, so older systems will still work. - darwinFrameworks = lib.optionals stdenv.hostPlatform.isDarwin ( - toBuildInputs pkgArches (pkgs: [ pkgs.apple-sdk_14 ]) - ); - # Building Wine with these flags isn’t supported on Darwin. Using any of them will result in an evaluation failures # because they will put Darwin in `meta.badPlatforms`. darwinUnsupportedFlags = [ @@ -168,7 +162,6 @@ stdenv.mkDerivation ( pkgs.libGL pkgs.libdrm ] - ++ lib.optionals stdenv.hostPlatform.isDarwin darwinFrameworks ++ lib.optionals x11Support ( with pkgs.xorg; [ @@ -213,11 +206,7 @@ stdenv.mkDerivation ( # LD_LIBRARY_PATH. NIX_LDFLAGS = toString ( map (path: "-rpath " + path) ( - map (x: "${lib.getLib x}/lib") ( - [ stdenv.cc.cc ] - # Avoid adding rpath references to non-existent framework `lib` paths. - ++ lib.subtractLists darwinFrameworks finalAttrs.buildInputs - ) + map (x: "${lib.getLib x}/lib") [ stdenv.cc.cc ] # libpulsecommon.so is linked but not found otherwise ++ lib.optionals supportFlags.pulseaudioSupport ( map (x: "${lib.getLib x}/lib/pulseaudio") (toBuildInputs pkgArches (pkgs: [ pkgs.libpulseaudio ])) diff --git a/pkgs/applications/networking/cluster/linkerd/generic.nix b/pkgs/applications/networking/cluster/linkerd/generic.nix index ef5835bcd6db..20f07da27e2b 100644 --- a/pkgs/applications/networking/cluster/linkerd/generic.nix +++ b/pkgs/applications/networking/cluster/linkerd/generic.nix @@ -31,11 +31,6 @@ buildGoModule rec { env GOFLAGS="" go generate ./jaeger/static env GOFLAGS="" go generate ./multicluster/static env GOFLAGS="" go generate ./viz/static - - # Necessary for building Musl - if [[ $NIX_HARDENING_ENABLE =~ "pie" ]]; then - export GOFLAGS="-buildmode=pie $GOFLAGS" - fi ''; tags = [ diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix index 3cea1541e636..f7c4235b16a8 100644 --- a/pkgs/applications/networking/irc/weechat/default.nix +++ b/pkgs/applications/networking/irc/weechat/default.nix @@ -158,8 +158,6 @@ stdenv.mkDerivation rec { ++ lib.concatMap (p: p.buildInputs) enabledPlugins ++ extraBuildInputs; - hardeningEnable = [ "pie" ]; - env.NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}" # Fix '_res_9_init: undefined symbol' error diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix index c38d5913d2ea..4dccabbf7fbf 100644 --- a/pkgs/applications/networking/sync/rsync/default.nix +++ b/pkgs/applications/networking/sync/rsync/default.nix @@ -19,7 +19,6 @@ enableZstd ? true, zstd, nixosTests, - fakeroot, }: stdenv.mkDerivation rec { @@ -58,9 +57,6 @@ stdenv.mkDerivation rec { ++ lib.optional enableOpenSSL openssl ++ lib.optional enableXXHash xxHash; - # fakeroot doesn't work well on darwin anymore, apparently - checkInputs = lib.optionals (!stdenv.isDarwin) [ fakeroot ]; - configureFlags = [ (lib.enableFeature enableLZ4 "lz4") (lib.enableFeature enableOpenSSL "openssl") diff --git a/pkgs/applications/office/pdfmixtool/default.nix b/pkgs/applications/office/pdfmixtool/default.nix deleted file mode 100644 index f19bd4dadf93..000000000000 --- a/pkgs/applications/office/pdfmixtool/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ - lib, - mkDerivation, - fetchFromGitLab, - fetchpatch, - fetchpatch2, - cmake, - pkg-config, - qtbase, - qttools, - qpdf, - podofo, - imagemagick, -}: - -mkDerivation rec { - pname = "pdfmixtool"; - version = "1.1.1"; - - src = fetchFromGitLab { - owner = "scarpetta"; - repo = "pdfmixtool"; - rev = "v${version}"; - hash = "sha256-fgtRKUG6J/CM6cXUTHWAPemqL8loWZT3wZmGdRHldq8="; - }; - - nativeBuildInputs = [ - cmake - pkg-config - ]; - - buildInputs = [ - imagemagick - qtbase - qttools - qpdf - podofo - ]; - - patches = [ - # fix incompatibility with qpdf11.3.0 usage of c++17 - delete this patch when we reach pdfmixtool version > v1.1.1 - (fetchpatch { - url = "https://gitlab.com/scarpetta/pdfmixtool/-/commit/bd5f78c3a4d977d9b0c74302ce2521c737189b43.diff"; - hash = "sha256-h2g5toFqgEEnObd2TYQms1a1WFTgN7VsIHyy0Uyq4/I="; - }) - # https://gitlab.com/scarpetta/pdfmixtool/-/merge_requests/14 - (fetchpatch2 { - url = "https://gitlab.com/scarpetta/pdfmixtool/-/commit/268291317ccd1805dc1c801ff88641ba06c6a7f0.patch"; - hash = "sha256-56bDoFtE+IOQHcV9xPfyrgYYFvTfB0QiLIfRl91irb0="; - }) - ]; - - meta = with lib; { - description = "Application to split, merge, rotate and mix PDF files"; - mainProgram = "pdfmixtool"; - homepage = "https://gitlab.com/scarpetta/pdfmixtool"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ onny ]; - }; -} diff --git a/pkgs/applications/version-management/git/default.nix b/pkgs/applications/version-management/git/default.nix index 0e3fd51885d6..5ca46db3dcf9 100644 --- a/pkgs/applications/version-management/git/default.nix +++ b/pkgs/applications/version-management/git/default.nix @@ -60,7 +60,7 @@ assert sendEmailSupport -> perlSupport; assert svnSupport -> perlSupport; let - version = "2.51.0"; + version = "2.51.2"; svn = subversionClient.override { perlBindings = perlSupport; }; gitwebPerlLibs = with perlPackages; [ CGI @@ -89,7 +89,7 @@ stdenv.mkDerivation (finalAttrs: { }.tar.xz" else "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - hash = "sha256-YKfCJRzC5YjVzYe65WcmBhfG3gwi3KnNv8TH0riZC2I="; + hash = "sha256-Iz1xQ6LVjmB1Xu6bdvVZ7HPqKzwpf1tQMWKs6VlmtOM="; }; outputs = [ "out" ] ++ lib.optional withManual "doc"; @@ -489,6 +489,12 @@ stdenv.mkDerivation (finalAttrs: { disable_test t5319-multi-pack-index disable_test t6421-merge-partial-clone disable_test t7504-commit-msg-hook + disable_test t5515-fetch-merge-logic + disable_test t4104-apply-boundary + disable_test t7002-mv-sparse-checkout + disable_test t4122-apply-symlink-inside + disable_test t7513-interpret-trailers + disable_test t2200-add-update # Fails reproducibly on ZFS on Linux with formD normalization disable_test t0021-conversion diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index fb46fb38a925..41eb546cff0d 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -32,8 +32,6 @@ socat, libslirp, libcbor, - apple-sdk_13, - darwinMinVersionHook, guestAgentSupport ? (with stdenv.hostPlatform; isLinux || isNetBSD || isOpenBSD || isSunOS || isWindows) && !minimal, numaSupport ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32 && !minimal, @@ -128,14 +126,6 @@ assert lib.assertMsg ( let hexagonSupport = hostCpuTargets == null || lib.elem "hexagon" hostCpuTargets; - - # needed in buildInputs and depsBuildBuild - # check log for warnings eg: `warning: 'hv_vm_config_get_max_ipa_size' is only available on macOS 13.0` - # to indicate if min version needs to get bumped. - darwinSDK = [ - apple-sdk_13 - (darwinMinVersionHook "13") - ]; in stdenv.mkDerivation (finalAttrs: { @@ -156,7 +146,6 @@ stdenv.mkDerivation (finalAttrs: { depsBuildBuild = [ buildPackages.stdenv.cc ] - ++ lib.optionals stdenv.buildPlatform.isDarwin darwinSDK ++ lib.optionals hexagonSupport [ pkg-config ]; nativeBuildInputs = [ @@ -205,7 +194,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals (!userOnly) [ curl ] ++ lib.optionals ncursesSupport [ ncurses ] - ++ lib.optionals stdenv.hostPlatform.isDarwin darwinSDK ++ lib.optionals seccompSupport [ libseccomp ] ++ lib.optionals numaSupport [ numactl ] ++ lib.optionals alsaSupport [ alsa-lib ] diff --git a/pkgs/build-support/bintools-wrapper/add-hardening.sh b/pkgs/build-support/bintools-wrapper/add-hardening.sh index db9553c3fc76..6ce4faf1720b 100644 --- a/pkgs/build-support/bintools-wrapper/add-hardening.sh +++ b/pkgs/build-support/bintools-wrapper/add-hardening.sh @@ -15,7 +15,7 @@ for flag in @hardening_unsupported_flags@; do done if (( "${NIX_DEBUG:-0}" >= 1 )); then - declare -a allHardeningFlags=(pie relro bindnow) + declare -a allHardeningFlags=(relro bindnow) declare -A hardeningDisableMap=() # Determine which flags were effectively disabled so we can report below. @@ -36,16 +36,6 @@ fi for flag in "${!hardeningEnableMap[@]}"; do case $flag in - pie) - if [[ ! (" ${params[*]} " =~ " -shared " \ - || " ${params[*]} " =~ " -static " \ - || " ${params[*]} " =~ " -r " \ - || " ${params[*]} " =~ " -Ur " \ - || " ${params[*]} " =~ " -i ") ]]; then - if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi - hardeningLDFlags+=('-pie') - fi - ;; relro) if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling relro >&2; fi hardeningLDFlags+=('-z' 'relro') diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 4ceddfa59db5..8f5613e9e7bb 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -49,30 +49,15 @@ "format" "fortify" "fortify3" + "libcxxhardeningextensive" + "libcxxhardeningfast" "pic" "relro" "stackclashprotection" "stackprotector" "strictoverflow" "zerocallusedregs" - ] - ++ lib.optional ( - with stdenvNoCC; - lib.any (x: x) [ - # OpenBSD static linking requires PIE - (with targetPlatform; isOpenBSD && isStatic) - (lib.all (x: x) [ - # Musl-based platforms will keep "pie", other platforms will not. - # If you change this, make sure to update section `{#sec-hardening-in-nixpkgs}` - # in the nixpkgs manual to inform users about the defaults. - (targetPlatform.libc == "musl") - # Except when: - # - static aarch64, where compilation works, but produces segfaulting dynamically linked binaries. - # - static armv7l, where compilation fails. - (!(targetPlatform.isAarch && targetPlatform.isStatic)) - ]) - ] - ) "pie", + ], }: assert propagateDoc -> bintools ? man; diff --git a/pkgs/build-support/build-mozilla-mach/142-relax-apple-sdk.patch b/pkgs/build-support/build-mozilla-mach/142-relax-apple-sdk.patch deleted file mode 100644 index c6e28f11be2f..000000000000 --- a/pkgs/build-support/build-mozilla-mach/142-relax-apple-sdk.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure -index 37c00230c853..dd89bea24392 100644 ---- a/build/moz.configure/toolchain.configure -+++ b/build/moz.configure/toolchain.configure -@@ -233,7 +233,7 @@ with only_when(host_is_osx | target_is_osx): - ) - - def mac_sdk_min_version(): -- return "15.5" -+ return "15.2" - - @depends( - "--with-macos-sdk", diff --git a/pkgs/build-support/build-mozilla-mach/default.nix b/pkgs/build-support/build-mozilla-mach/default.nix index 610bd353568a..3437e90f89d3 100644 --- a/pkgs/build-support/build-mozilla-mach/default.nix +++ b/pkgs/build-support/build-mozilla-mach/default.nix @@ -327,15 +327,6 @@ buildStdenv.mkDerivation { # https://hg-edge.mozilla.org/mozilla-central/rev/aa8a29bd1fb9 ./139-wayland-drag-animation.patch ] - ++ - lib.optionals - ( - lib.versionAtLeast version "141.0.2" - || (lib.versionAtLeast version "140.2.0" && lib.versionOlder version "141.0") - ) - [ - ./142-relax-apple-sdk.patch - ] ++ extraPatches; postPatch = '' diff --git a/pkgs/build-support/buildenv/builder.pl b/pkgs/build-support/buildenv/builder.pl index f2fdf36f79e5..f66acf3d5e75 100755 --- a/pkgs/build-support/buildenv/builder.pl +++ b/pkgs/build-support/buildenv/builder.pl @@ -15,7 +15,7 @@ $SIG{__DIE__} = sub { die "pkgs.buildEnv error: ", @_ }; my $out = $ENV{"out"}; my $extraPrefix = $ENV{"extraPrefix"}; -my @pathsToLink = split ' ', $ENV{"pathsToLink"}; +my @pathsToLink = @{decode_json $ENV{"pathsToLinkJSON"}}; sub isInPathsToLink($path) { $path = "/" if $path eq ""; diff --git a/pkgs/build-support/buildenv/default.nix b/pkgs/build-support/buildenv/default.nix index dbeb2a629f20..5996239a16b4 100644 --- a/pkgs/build-support/buildenv/default.nix +++ b/pkgs/build-support/buildenv/default.nix @@ -105,6 +105,7 @@ lib.makeOverridable ( nativeBuildInputs buildInputs ; + pathsToLinkJSON = builtins.toJSON pathsToLink; pkgs = builtins.toJSON chosenOutputs; extraPathsFrom = lib.optional includeClosures (writeClosure pathsForClosure); preferLocalBuild = true; diff --git a/pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh b/pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh index 2b7cd00783a5..865e0d054820 100644 --- a/pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh +++ b/pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh @@ -35,3 +35,7 @@ elif [[ $0 != *cpp ]]; then extraBefore+=(-mabi=@explicitAbiValue@) fi fi + +if [[ "@darwinMinVersion@" ]]; then + extraBefore+=(-Werror=unguarded-availability) +fi diff --git a/pkgs/build-support/cc-wrapper/add-hardening.sh b/pkgs/build-support/cc-wrapper/add-hardening.sh index 4fd6d4b32463..98369ff82076 100644 --- a/pkgs/build-support/cc-wrapper/add-hardening.sh +++ b/pkgs/build-support/cc-wrapper/add-hardening.sh @@ -25,6 +25,13 @@ if [[ -n "${hardeningEnableMap[strictflexarrays3]-}" ]]; then hardeningEnableMap["strictflexarrays1"]=1 fi +# libcxxhardeningextensive implies libcxxhardeningfast enablement - make explicit before +# we filter unsupported flags because unsupporting libcxxhardeningextensive +# doesn't mean we should unsupport libcxxhardeningfast too +if [[ -n "${hardeningEnableMap[libcxxhardeningextensive]-}" ]]; then + hardeningEnableMap["libcxxhardeningfast"]=1 +fi + # Remove unsupported flags. for flag in @hardening_unsupported_flags@; do @@ -37,6 +44,10 @@ for flag in @hardening_unsupported_flags@; do if [[ "$flag" = 'strictflexarrays1' ]] ; then unset -v "hardeningEnableMap['strictflexarrays3']" fi + # libcxxhardeningfast being unsupported implies libcxxhardeningextensive is unsupported + if [[ "$flag" = 'libcxxhardeningfast' ]] ; then + unset -v "hardeningEnableMap['libcxxhardeningextensive']" + fi done @@ -50,9 +61,14 @@ if [[ -n "${hardeningEnableMap[strictflexarrays3]-}" ]]; then unset -v "hardeningEnableMap['strictflexarrays1']" fi +# now make libcxxhardeningfast and libcxxhardeningextensive mutually exclusive +if [[ -n "${hardeningEnableMap[libcxxhardeningextensive]-}" ]]; then + unset -v "hardeningEnableMap['libcxxhardeningfast']" +fi + if (( "${NIX_DEBUG:-0}" >= 1 )); then - declare -a allHardeningFlags=(fortify fortify3 shadowstack stackprotector stackclashprotection nostrictaliasing pacret strictflexarrays1 strictflexarrays3 pie pic strictoverflow glibcxxassertions format trivialautovarinit zerocallusedregs) + declare -a allHardeningFlags=(fortify fortify3 shadowstack stackprotector stackclashprotection nostrictaliasing pacret strictflexarrays1 strictflexarrays3 pic strictoverflow libcxxhardeningfast libcxxhardeningextensive glibcxxassertions format trivialautovarinit zerocallusedregs) declare -A hardeningDisableMap=() # Determine which flags were effectively disabled so we can report below. @@ -115,27 +131,26 @@ for flag in "${!hardeningEnableMap[@]}"; do if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling glibcxxassertions >&2; fi hardeningCFlagsBefore+=('-D_GLIBCXX_ASSERTIONS') ;; + libcxxhardeningfast) + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling libcxxhardeningfast >&2; fi + hardeningCFlagsBefore+=('-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST') + ;; + libcxxhardeningextensive) + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling libcxxhardeningextensive >&2; fi + hardeningCFlagsBefore+=('-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE') + ;; stackprotector) if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling stackprotector >&2; fi hardeningCFlagsBefore+=('-fstack-protector-strong' '--param' 'ssp-buffer-size=4') ;; stackclashprotection) - if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling stack-clash-protection >&2; fi + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling stackclashprotection >&2; fi hardeningCFlagsBefore+=('-fstack-clash-protection') ;; nostrictaliasing) if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling nostrictaliasing >&2; fi hardeningCFlagsBefore+=('-fno-strict-aliasing') ;; - pie) - # NB: we do not use `+=` here, because PIE flags must occur before any PIC flags - if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling CFlags -fPIE >&2; fi - hardeningCFlagsBefore=('-fPIE' "${hardeningCFlagsBefore[@]}") - if [[ ! (" ${params[*]} " =~ " -shared " || " ${params[*]} " =~ " -static ") ]]; then - if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi - hardeningCFlagsBefore=('-pie' "${hardeningCFlagsBefore[@]}") - fi - ;; pic) if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling pic >&2; fi hardeningCFlagsBefore+=('-fPIC') diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh index eb5b99643dba..246c1b1f65f6 100644 --- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh @@ -140,6 +140,15 @@ if [ "$NIX_ENFORCE_NO_NATIVE_@suffixSalt@" = 1 ]; then params=(${kept+"${kept[@]}"}) fi +# Some build systems such as Bazel and SwiftPM use `clang` instead of `clang++`, +# which will find the libc++ headers in the sysroot for C++ files. +if [[ "$isCxx" = 0 && "@isClang@" ]]; then +# This duplicates the behavior of a native toolchain, which can find the +# libc++ headers but requires `-lc++` to be specified explicitly when linking. + isCxx=1 + cxxLibrary=0 +fi + if [[ "$isCxx" = 1 ]]; then if [[ "$cxxInclude" = 1 ]]; then # diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 3c6126786fcc..f5f6d7a98be5 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -753,14 +753,14 @@ stdenvNoCC.mkDerivation { # https://github.com/NixOS/nixpkgs/pull/209870#issuecomment-1500550903) + optionalString (libcxx == null && isClang && (useGccForLibs && gccForLibs.langCC or false)) '' for dir in ${gccForLibs}/include/c++/*; do - include -isystem "$dir" >> $out/nix-support/libcxx-cxxflags + include -cxx-isystem "$dir" >> $out/nix-support/libcxx-cxxflags done for dir in ${gccForLibs}/include/c++/*/${targetPlatform.config}; do - include -isystem "$dir" >> $out/nix-support/libcxx-cxxflags + include -cxx-isystem "$dir" >> $out/nix-support/libcxx-cxxflags done '' + optionalString (libcxx.isLLVM or false) '' - include -isystem "${getDev libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags + include -cxx-isystem "${getDev libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags echo "-stdlib=libc++" >> $out/nix-support/libcxx-ldflags '' # GCC NG friendly libc++ diff --git a/pkgs/build-support/go/module.nix b/pkgs/build-support/go/module.nix index eaeb6e075ae4..30542b1d16c6 100644 --- a/pkgs/build-support/go/module.nix +++ b/pkgs/build-support/go/module.nix @@ -250,6 +250,9 @@ lib.extendMkDerivation { export GOPATH="$TMPDIR/go" export GOPROXY=off export GOSUMDB=off + if [ -f "$NIX_CC_FOR_TARGET/nix-support/dynamic-linker" ]; then + export GO_LDSO=$(cat $NIX_CC_FOR_TARGET/nix-support/dynamic-linker) + fi cd "$modRoot" '' + lib.optionalString (finalAttrs.vendorHash != null) '' @@ -266,13 +269,6 @@ lib.extendMkDerivation { } '' + '' - - # currently pie is only enabled by default in pkgsMusl - # this will respect the `hardening{Disable,Enable}` flags if set - if [[ $NIX_HARDENING_ENABLE =~ "pie" ]]; then - export GOFLAGS="-buildmode=pie $GOFLAGS" - fi - runHook postConfigure '' ); diff --git a/pkgs/build-support/node/fetch-npm-deps/default.nix b/pkgs/build-support/node/fetch-npm-deps/default.nix index cac50cb7401a..1f5ea5a5f17b 100644 --- a/pkgs/build-support/node/fetch-npm-deps/default.nix +++ b/pkgs/build-support/node/fetch-npm-deps/default.nix @@ -12,6 +12,7 @@ cacert, prefetch-npm-deps, fetchNpmDeps, + config, }: { @@ -68,6 +69,7 @@ hash, forceGitDeps ? false, forceEmptyCache ? false, + npmRegistryOverridesString ? "{}", }: testers.invalidateFetcherByDrvHash fetchNpmDeps { inherit @@ -75,6 +77,7 @@ hash forceGitDeps forceEmptyCache + npmRegistryOverridesString ; src = makeTestSrc { inherit name src; }; @@ -175,6 +178,23 @@ hash = "sha256-FhxlJ0HdJMPiWe7+n1HaGLWOr/2HJEPwiS65uqXZM8Y="; }; + + # Test that npmRegistryOverrides work + npmRegistryOverrides = makeTest { + name = "npm-registry-overrides"; + + src = fetchurl { + url = "https://cyberchaos.dev/yuka/trainsearch/-/raw/e3cba6427e8ecfd843d0f697251ddaf5e53c2327/package-lock.json"; + postFetch = "sed -i 's/registry.npmjs.org/broken.link/' $out"; + hash = "sha256-Qo24ei1d9Ql4zCLjQJ04zVgS4qhBUpew9NZrhrsBds4="; + }; + + npmRegistryOverridesString = builtins.toJSON { + "broken.link" = "https://registry.npmjs.org"; + }; + + hash = "sha256-QGObVDd9qVtf/U78+ayP6RHVWsU+HXhg70BFblQ1PZs="; + }; }; meta = with lib; { @@ -192,6 +212,9 @@ forceGitDeps ? false, forceEmptyCache ? false, nativeBuildInputs ? [ ], + # A string with a JSON attrset specifying registry mirrors, for example + # {"registry.example.org": "my-mirror.local/registry.example.org"} + npmRegistryOverridesString ? config.npmRegistryOverridesString, ... }@args: let @@ -243,6 +266,8 @@ # `{ "registry.example.com": "example-registry-bearer-token", ... }` impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [ "NIX_NPM_TOKENS" ]; + NIX_NPM_REGISTRY_OVERRIDES = npmRegistryOverridesString; + SSL_CERT_FILE = if ( diff --git a/pkgs/build-support/node/fetch-npm-deps/src/util.rs b/pkgs/build-support/node/fetch-npm-deps/src/util.rs index 36e2333a3e1a..835f77a2f52c 100644 --- a/pkgs/build-support/node/fetch-npm-deps/src/util.rs +++ b/pkgs/build-support/node/fetch-npm-deps/src/util.rs @@ -18,6 +18,22 @@ use std::{ use url::Url; pub fn get_url(url: &Url) -> Result { + let url_ = url.clone(); + let mut url = url.clone(); + // Respect NIX_NPM_REGISTRY_OVERRIDES environment variable, which should be a JSON mapping in the shape of: + // `{ "registry.example.com": "my-registry.local", ... }` + if let Some(host) = url.host_str() { + if let Ok(npm_mirrors) = env::var("NIX_NPM_REGISTRY_OVERRIDES") { + if let Ok(mirrors) = serde_json::from_str::>(&npm_mirrors) { + if let Some(mirror) = mirrors.get(host).and_then(serde_json::Value::as_str) { + let mirror_url = Url::parse(mirror)?; + url.set_path(&(mirror_url.path().to_owned() + url.path())); + url.set_host(Some(mirror_url.host_str().expect(format!("Mirror URL without host part: {mirror_url}").as_str())))?; + eprintln!("Replaced URL {url_} with {url}"); + } + } + } + } let mut request = Request::get(url.as_str()).redirect_policy(RedirectPolicy::Limit(10)); // Respect SSL_CERT_FILE if environment variable exists diff --git a/pkgs/build-support/ocaml/oasis.nix b/pkgs/build-support/ocaml/oasis.nix index 269a433caad4..de8b7039e84e 100644 --- a/pkgs/build-support/ocaml/oasis.nix +++ b/pkgs/build-support/ocaml/oasis.nix @@ -20,48 +20,47 @@ ... }@args: -if args ? minimumOCamlVersion && lib.versionOlder ocaml.version args.minimumOCamlVersion then - throw "${pname}-${version} is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation ( + args + // { + name = "ocaml${ocaml.version}-${pname}-${version}"; - stdenv.mkDerivation ( - args - // { - name = "ocaml${ocaml.version}-${pname}-${version}"; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ocaml_oasis + ] + ++ nativeBuildInputs; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - ocaml_oasis - ] - ++ nativeBuildInputs; + inherit createFindlibDestdir; + inherit dontStrip; - inherit createFindlibDestdir; - inherit dontStrip; + strictDeps = true; - strictDeps = true; + buildPhase = '' + runHook preBuild + oasis setup + ocaml setup.ml -configure --prefix $OCAMLFIND_DESTDIR --exec-prefix $out + ocaml setup.ml -build + runHook postBuild + ''; - buildPhase = '' - runHook preBuild - oasis setup - ocaml setup.ml -configure --prefix $OCAMLFIND_DESTDIR --exec-prefix $out - ocaml setup.ml -build - runHook postBuild - ''; + checkPhase = '' + runHook preCheck + ocaml setup.ml -test + runHook postCheck + ''; - checkPhase = '' - runHook preCheck - ocaml setup.ml -test - runHook postCheck - ''; + installPhase = '' + runHook preInstall + mkdir -p $out + ocaml setup.ml -install + runHook postInstall + ''; - installPhase = '' - runHook preInstall - mkdir -p $out - ocaml setup.ml -install - runHook postInstall - ''; - - } - ) + meta = args.meta // { + broken = args ? minimumOCamlVersion && lib.versionOlder ocaml.version args.minimumOCamlVersion; + }; + } +) diff --git a/pkgs/build-support/setup-hooks/copy-desktop-items.sh b/pkgs/build-support/setup-hooks/copy-desktop-items.sh index 313ebc980344..6d9e8966ec81 100644 --- a/pkgs/build-support/setup-hooks/copy-desktop-items.sh +++ b/pkgs/build-support/setup-hooks/copy-desktop-items.sh @@ -28,8 +28,10 @@ copyDesktopItems() { return fi + concatTo desktopItemsArray desktopItems + applications="${!outputBin}/share/applications" - for desktopItem in $desktopItems; do + for desktopItem in "${desktopItemsArray[@]}"; do if [[ -f "$desktopItem" ]]; then echo "Copying '$desktopItem' into '${applications}'" install -D -m 444 -t "${applications}" "$desktopItem" diff --git a/pkgs/by-name/_1/_1fps/package.nix b/pkgs/by-name/_1/_1fps/package.nix index 305b2f3ae821..90fef1a29cbb 100644 --- a/pkgs/by-name/_1/_1fps/package.nix +++ b/pkgs/by-name/_1/_1fps/package.nix @@ -4,7 +4,6 @@ buildGoModule, xorg, stdenv, - apple-sdk_14, }: buildGoModule rec { pname = "1fps"; @@ -25,8 +24,7 @@ buildGoModule rec { xorg.libX11 xorg.libXtst xorg.libXi - ] - ++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_14; + ]; meta = { description = "Encrypted Screen Sharing"; diff --git a/pkgs/by-name/_2/_2ship2harkinian/package.nix b/pkgs/by-name/_2/_2ship2harkinian/package.nix index 628c25666d95..ae11ddc63bb3 100644 --- a/pkgs/by-name/_2/_2ship2harkinian/package.nix +++ b/pkgs/by-name/_2/_2ship2harkinian/package.nix @@ -150,9 +150,6 @@ stdenv.mkDerivation (finalAttrs: { # Linking fails without this hardeningDisable = [ "format" ]; - # Pie needs to be enabled or else it segfaults - hardeningEnable = [ "pie" ]; - preConfigure = '' # mirror 2ship's stb mkdir stb diff --git a/pkgs/by-name/ap/apple-sdk/metadata/apple-oss-lockfile.json b/pkgs/by-name/ap/apple-sdk/metadata/apple-oss-lockfile.json index 63890c9d9369..c67485419908 100644 --- a/pkgs/by-name/ap/apple-sdk/metadata/apple-oss-lockfile.json +++ b/pkgs/by-name/ap/apple-sdk/metadata/apple-oss-lockfile.json @@ -1,538 +1,4 @@ { - "11.3": { - "CarbonHeaders": { - "hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=", - "version": "18.1" - }, - "CommonCrypto": { - "hash": "sha256-92v9tuNLqvalwYV4AqQllA8yN9fqGjSpc4MNAmFPrbk=", - "version": "60178.100.1" - }, - "IOAudioFamily": { - "hash": "sha256-dSSbt9ZoL/Tq2xXwvvXsDmD3Xru7igzdK1MxGL1K+Aw=", - "version": "300.6.1" - }, - "IOBDStorageFamily": { - "hash": "sha256-UgLMsQBe1QLzlbScmPmASBN7VH4YBmNOUX2CEDezjmE=", - "version": "20.100.1" - }, - "IOCDStorageFamily": { - "hash": "sha256-w0YhZ38RBfnxSc74Q8r5UdK+WiWOSAX46r5hahHLnSg=", - "version": "59" - }, - "IODVDStorageFamily": { - "hash": "sha256-1Sa8aZBGNtqJBNHva+YXxET6Wcdm2PgVrTzYT/8qrN4=", - "version": "43" - }, - "IOFWDVComponents": { - "hash": "sha256-WkfkWnzRupEh20U7vjsTta89clhus6GTkOpXQWXw/bM=", - "version": "208" - }, - "IOFireWireAVC": { - "hash": "sha256-7H3WcZC/HuS9xsTNDWRqt+1JzUNK4ndvd4u2ru0GGRE=", - "version": "428" - }, - "IOFireWireFamily": { - "hash": "sha256-2xppN8RJ9cxrHWjPQ4bUIjtupPbzfmrm3rXnT/9QVfc=", - "version": "483" - }, - "IOFireWireSBP2": { - "hash": "sha256-kfhmZy8veqI3/XHDtOTKmKj6P7s+j0B+BiAbcjhGq0M=", - "version": "442" - }, - "IOFireWireSerialBusProtocolTransport": { - "hash": "sha256-WDq2Ak72Jw6gYNIKgZkiexA6LzccrPn1kpSbW5U50ek=", - "version": "257.40.1" - }, - "IOGraphics": { - "hash": "sha256-kEP4RWIZwu3ZPIq9IAPUKM0gIXHr8xD50SnGNFCQRcI=", - "version": "585.1" - }, - "IOHIDFamily": { - "hash": "sha256-QASfvttke+AUx55In4DD4vsQGzC3nbe+MugQQ4ddXGU=", - "version": "1633.100.36" - }, - "IOKitUser": { - "hash": "sha256-NQCRrufElx00B7CqqslBi5BTxf5Zs4lcMcJig4Eab0k=", - "version": "1845.100.19" - }, - "IONetworkingFamily": { - "hash": "sha256-HqTKzrX75mMFYYbxNKwPdXmI7h7t/QWuO3W1Qo//zIo=", - "version": "151.40.1" - }, - "IOSerialFamily": { - "hash": "sha256-wVS4QTx6MBOS0VrwyCZ3s5Usezwaf8rWzmNnfdDTXTU=", - "version": "93" - }, - "IOStorageFamily": { - "hash": "sha256-dy6CYz/z6SwPw0YfC6GLZO2u62Xy8otMDUNrZ5JhTDY=", - "version": "260.100.1" - }, - "IOUSBFamily": { - "hash": "sha256-Z0E3TfKP49toYo1Fo9kElRap8CZ+mVDHy5RIexgJTpA=", - "version": "630.4.5" - }, - "Libc": { - "hash": "sha256-v01g/EtMW/STZQ1neKDMyUGL7sgaCzlwXN0VDaj/Mf0=", - "version": "1439.100.3" - }, - "Libinfo": { - "hash": "sha256-T7KO6zfswjyTIKSdZJCbvfsdqQfPMLj5nheX9iSIl9o=", - "version": "542.40.3" - }, - "Libm": { - "hash": "sha256-p4BndAag9d0XSMYWQ+c4myGv5qXbKx5E1VghudSbpTk=", - "version": "2026" - }, - "Libnotify": { - "hash": "sha256-vcDjdwB5OiTEUdl8ISezzpoHeFttkdvkulY/YbUOZjk=", - "version": "279.40.4" - }, - "Librpcsvc": { - "hash": "sha256-8e8E9TkRTAep3/miyqhF/mSkNdlym12W+AVhXF94+Bg=", - "version": "26" - }, - "Libsystem": { - "hash": "sha256-24T9aD4W71prcpr3MnnaU3pfxIzIwkOz39OyhCwPO/E=", - "version": "1292.100.5" - }, - "OpenDirectory": { - "hash": "sha256-6fSl8PasCZSBfe0ftaePcBuSEO3syb6kK+mfDI6iR7A=", - "version": "146" - }, - "Security": { - "hash": "sha256-o5MyyqDpERvNPvbEfXNgqMIq0YpQV0+ju72C9g/9OdI=", - "version": "59754.100.106" - }, - "architecture": { - "hash": "sha256-pIX9pEXE1Xjll9qwiWrMRwqw6G4g0isto/ALHsmkUSc=", - "version": "279" - }, - "configd": { - "hash": "sha256-WEorIW5Vl8E9/aB0RBTY2bhkfVOF3tckjNztGDOOueA=", - "version": "1109.101.1" - }, - "copyfile": { - "hash": "sha256-3BHFM67dvwUpinzF0pSX3QiUbIsqtLo77WzB3tMbTW4=", - "version": "173.40.2" - }, - "dtrace": { - "hash": "sha256-FfyaYjEMDeL9wGdUyZ4eJdkbkp/WpdTGyBvaorwKSi8=", - "version": "370.40.1" - }, - "dyld": { - "hash": "sha256-dtDTh6YqubBI4Z+QeytwGgUmU6tutvonIWHqzw6zuxo=", - "version": "851.27" - }, - "eap8021x": { - "hash": "sha256-Ap7qumn/oKYe424n2NW6QkuivgDyLoJgDfl30Q5O7Jo=", - "version": "304.100.1" - }, - "hfs": { - "hash": "sha256-MSnc1pB8DcB+mn308snTD1uRQ7Ro4aWyFuLdWjHtAG4=", - "version": "556.100.11" - }, - "launchd": { - "hash": "sha256-8mW9bnuHmRXCx9py8Wy28C5b2QPICW0rlAps5njYa00=", - "version": "842.1.4" - }, - "libclosure": { - "hash": "sha256-UgmMnDUosaC2yI7IyQ7mkNwZ6/oft77ay+SmGSoycIw=", - "version": "79" - }, - "libdispatch": { - "hash": "sha256-K8QL9NfjGsj8c0jbocKegmKBqydimpKu8yRXnQQqdH8=", - "version": "1271.100.5" - }, - "libmalloc": { - "hash": "sha256-k3dJk7S0Lom3B28vRI9QxIuo0AOkd9OHzWO7MandfUw=", - "version": "317.100.9" - }, - "libplatform": { - "hash": "sha256-BSIGgKj5B6Dr0KQiIl2LSA3+ZEhzk/snQeCauErcq6k=", - "version": "254.80.2" - }, - "libpthread": { - "hash": "sha256-cGaDXLTztUYppbMvv41qj5RqONXfhfdHpt9dqY6+5Lc=", - "version": "454.100.8" - }, - "mDNSResponder": { - "hash": "sha256-eqcv174vIwWYXrIhzph+KO1zG8TdK5jRFVgsaAlV9es=", - "version": "1310.100.10" - }, - "objc4": { - "hash": "sha256-rqOPyN9S4KbMhCCVvtyEmGxTWzy+tsh0kfu3k47szXo=", - "version": "818.2" - }, - "ppp": { - "hash": "sha256-pSOlu/yXQhopCHDLnmhUnQeU89MkXhkQB0ZrN9r3qyk=", - "version": "877.40.2" - }, - "removefile": { - "hash": "sha256-B79A9AQ1/cB+zlmVKWcEXVOJHW6rOrX40S/hrMuWqXU=", - "version": "49.101.1" - }, - "xnu": { - "hash": "sha256-M1XWippH55VUJu4aosRFX8j9aOm/PONYVjPZOPufD80=", - "version": "7195.101.1" - } - }, - "12.3": { - "CarbonHeaders": { - "hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=", - "version": "18.1" - }, - "CommonCrypto": { - "hash": "sha256-HTGBUE6vHjS80CFTiIQ8F17m8Yd2ZRHccvFu2CA2P9U=", - "version": "60191.100.1" - }, - "IOAudioFamily": { - "hash": "sha256-CuBFZeX2JTKIab2xpp+Yvn66bCl4+aKOv9TvzJef20c=", - "version": "340.2" - }, - "IOBDStorageFamily": { - "hash": "sha256-UgLMsQBe1QLzlbScmPmASBN7VH4YBmNOUX2CEDezjmE=", - "version": "22" - }, - "IOCDStorageFamily": { - "hash": "sha256-p/2qM5zjXFDRb/DISpEHxQEdvmuLlRGt/Ygc71Yu2rI=", - "version": "61" - }, - "IODVDStorageFamily": { - "hash": "sha256-1Sa8aZBGNtqJBNHva+YXxET6Wcdm2PgVrTzYT/8qrN4=", - "version": "43" - }, - "IOFWDVComponents": { - "hash": "sha256-WkfkWnzRupEh20U7vjsTta89clhus6GTkOpXQWXw/bM=", - "version": "208" - }, - "IOFireWireAVC": { - "hash": "sha256-ruAomp5Lv7zuPu9vHsNKoPtDvD1AIrRARsPMpcx/fh0=", - "version": "430" - }, - "IOFireWireFamily": { - "hash": "sha256-W0KOF4hkA7kFOnL1ThAeFU/YlhFVqoqk9uzGjcBppX8=", - "version": "487" - }, - "IOFireWireSBP2": { - "hash": "sha256-bItnRQIaGUxMyiU0q+4N8e5+jYiDEOUPmsrKhBFXvok=", - "version": "445" - }, - "IOFireWireSerialBusProtocolTransport": { - "hash": "sha256-P7egeaD9SSa+YyrIRzM44gILKbIL7vezXK3M6q3MBOI=", - "version": "260" - }, - "IOGraphics": { - "hash": "sha256-lzxBrPLlF01+2jFKRJtSnwpf0r05C0H3tM7Q0N1RUPA=", - "version": "594" - }, - "IOHIDFamily": { - "hash": "sha256-EQQHAS8WKUoTxZscixylc2ZMoD4UYBlHRUj2O7Ikgac=", - "version": "1787.100.13" - }, - "IOKitUser": { - "hash": "sha256-Cdfa/YXM0W4O15femcU0G1Xcpbm+iADWIBWIdzoeuTE=", - "version": "1955.100.5" - }, - "IONetworkingFamily": { - "hash": "sha256-odUZJQq8lb3UYk7F8dBi1Hds00M+kwdlyGwZkVkSwTg=", - "version": "160.100.2" - }, - "IOSerialFamily": { - "hash": "sha256-wVS4QTx6MBOS0VrwyCZ3s5Usezwaf8rWzmNnfdDTXTU=", - "version": "93" - }, - "IOStorageFamily": { - "hash": "sha256-2b32qe1z7Z+Od1dVlAGdM142DdF8cBaRC+ElysSuAQ4=", - "version": "290.100.6" - }, - "IOUSBFamily": { - "hash": "sha256-Z0E3TfKP49toYo1Fo9kElRap8CZ+mVDHy5RIexgJTpA=", - "version": "630.4.5" - }, - "Libc": { - "hash": "sha256-obalDxsbE+7gm7YwznUbfxL7MCriamQFP3DrXleNwU4=", - "version": "1507.100.9" - }, - "Libinfo": { - "hash": "sha256-OjnnSHEcifcWarVyXiHvYg/9jbCQy5/lzaq6fJRriy0=", - "version": "554" - }, - "Libm": { - "hash": "sha256-p4BndAag9d0XSMYWQ+c4myGv5qXbKx5E1VghudSbpTk=", - "version": "2026" - }, - "Libnotify": { - "hash": "sha256-JXG0kHEdoIs6krVZ4+KsRVES4AuNjnQi8qF+XKSp5jE=", - "version": "301" - }, - "Librpcsvc": { - "hash": "sha256-8e8E9TkRTAep3/miyqhF/mSkNdlym12W+AVhXF94+Bg=", - "version": "26" - }, - "Libsystem": { - "hash": "sha256-mPPAxo67wWLtemO+PuKg1Ui0zKEfjnYVj/qX1/0kNBs=", - "version": "1311.100.3" - }, - "OpenDirectory": { - "hash": "sha256-6fSl8PasCZSBfe0ftaePcBuSEO3syb6kK+mfDI6iR7A=", - "version": "146" - }, - "Security": { - "hash": "sha256-cIqfXcfQOZonxaKndH80xC5YmmveHw+TxHOxqvc9u8I=", - "version": "60158.100.133" - }, - "architecture": { - "hash": "sha256-PRNUrhzSOrwmxSPkKmV0LV7yEIik65sdkfKdBqcwFhU=", - "version": "280.100.2" - }, - "configd": { - "hash": "sha256-X34mjXdil4HeBLyqY4tyBWdmpjsOFTJDdDE81UQf708=", - "version": "1163.100.19.0.2" - }, - "copyfile": { - "hash": "sha256-3/zI3j/m9b13hebjCsOLry3Mf8ADdWJgrtQOdD0huG0=", - "version": "180.100.3" - }, - "dtrace": { - "hash": "sha256-q8H6slCN4RwJ5TxC5s3og6cIbjALySP5ODfVw6a/a+M=", - "version": "375" - }, - "dyld": { - "hash": "sha256-v1kk/Z3eI2sufNm2rx3FRbA/f9BeKJ3t9i9W7tTksXg=", - "version": "955" - }, - "eap8021x": { - "hash": "sha256-SayP1d2KWoRShykBA/NrQCuRnPoxlTiaLwifoqm0Gkg=", - "version": "315.100.2" - }, - "hfs": { - "hash": "sha256-q1yOIei98oudGAoBMNPRTV5EOYpXFL7iYmlCYsKsG0o=", - "version": "583.100.10" - }, - "launchd": { - "hash": "sha256-8mW9bnuHmRXCx9py8Wy28C5b2QPICW0rlAps5njYa00=", - "version": "842.1.4" - }, - "libclosure": { - "hash": "sha256-Ez75a0m+fJas7mGqFeDjjpc7sFDnyirRbtLMTYQDVxw=", - "version": "79.1" - }, - "libdispatch": { - "hash": "sha256-/VbSUtnWyToWOUyAAg/3wImbJ2w5k1tbJkt827x2lIE=", - "version": "1325.100.36" - }, - "libmalloc": { - "hash": "sha256-tyYce5nk0N923MbzoGzkGqunoKwArbTiZl8PCppYpso=", - "version": "374.100.5" - }, - "libplatform": { - "hash": "sha256-JUD2NdS310OhZ0F8gnOvoD8AgEtWRtPahKDw5iE2QJU=", - "version": "273.100.5" - }, - "libpthread": { - "hash": "sha256-al8QumtH7/D04oJ4LUSYW+6OdX0Ko3S3rwYU53n9/54=", - "version": "486.100.11" - }, - "mDNSResponder": { - "hash": "sha256-hsV0VYTPoO5YpaxrUXpXFy97LxlERzrQT0FRfCMOwic=", - "version": "1557.101.2" - }, - "objc4": { - "hash": "sha256-MKXnfZL46VtmAQMolqd7ATF9fYjCNstapGQfcH4uVwo=", - "version": "841.13" - }, - "ppp": { - "hash": "sha256-YyCE19T3rcM1G5jdXuYXuBXblJgR/nelvjpq+9maMhw=", - "version": "884" - }, - "removefile": { - "hash": "sha256-xF1VtTUhoiGsFQsvuFnFYemwiCdsKeriFJv51vRLqmw=", - "version": "60" - }, - "xnu": { - "hash": "sha256-bfFmDfRBSvoWMdQYVstsJRbcq+15lDjVFqk+0XYWpy8=", - "version": "8020.101.4" - } - }, - "13.3": { - "CarbonHeaders": { - "hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=", - "version": "18.1" - }, - "CommonCrypto": { - "hash": "sha256-tftAQbs5xIOc5VZLVAKXAUvle9WO/i33/pQ3D64l/yI=", - "version": "600016.100.4" - }, - "IOAudioFamily": { - "hash": "sha256-CuBFZeX2JTKIab2xpp+Yvn66bCl4+aKOv9TvzJef20c=", - "version": "440.2" - }, - "IOBDStorageFamily": { - "hash": "sha256-UgLMsQBe1QLzlbScmPmASBN7VH4YBmNOUX2CEDezjmE=", - "version": "22" - }, - "IOCDStorageFamily": { - "hash": "sha256-p/2qM5zjXFDRb/DISpEHxQEdvmuLlRGt/Ygc71Yu2rI=", - "version": "61" - }, - "IODVDStorageFamily": { - "hash": "sha256-1Sa8aZBGNtqJBNHva+YXxET6Wcdm2PgVrTzYT/8qrN4=", - "version": "43" - }, - "IOFWDVComponents": { - "hash": "sha256-WkfkWnzRupEh20U7vjsTta89clhus6GTkOpXQWXw/bM=", - "version": "208" - }, - "IOFireWireAVC": { - "hash": "sha256-IUytBKhhCgg0vtI+7q8d5kxpOUgO3tQD7TMy++jrorc=", - "version": "431" - }, - "IOFireWireFamily": { - "hash": "sha256-W0KOF4hkA7kFOnL1ThAeFU/YlhFVqoqk9uzGjcBppX8=", - "version": "487" - }, - "IOFireWireSBP2": { - "hash": "sha256-bItnRQIaGUxMyiU0q+4N8e5+jYiDEOUPmsrKhBFXvok=", - "version": "445" - }, - "IOFireWireSerialBusProtocolTransport": { - "hash": "sha256-P7egeaD9SSa+YyrIRzM44gILKbIL7vezXK3M6q3MBOI=", - "version": "260" - }, - "IOGraphics": { - "hash": "sha256-KubCz8DNwf1WuF7LrtARM2VJugFDP0wfHoUhnIz/faQ=", - "version": "596.1" - }, - "IOHIDFamily": { - "hash": "sha256-7UFMBdF5k9aVFVuoL2riozzKmn8uOt87Aitt8j6XkN8=", - "version": "1915.100.21" - }, - "IOKitUser": { - "hash": "sha256-hgFRHPAuoqSf6aRUBUyfU2y2+dBUA34DKwLHLwhPNms=", - "version": "2022.100.19" - }, - "IONetworkingFamily": { - "hash": "sha256-SwZvXLSB9cMHssZU4dCogGVoV64qYdGN1CGYV3FZ6tk=", - "version": "170" - }, - "IOSerialFamily": { - "hash": "sha256-wVS4QTx6MBOS0VrwyCZ3s5Usezwaf8rWzmNnfdDTXTU=", - "version": "93" - }, - "IOStorageFamily": { - "hash": "sha256-g4oCrxM5VtHm8h1M+zM81Ar1LsaaiJZLej5fT8EHPG4=", - "version": "302.100.1" - }, - "IOUSBFamily": { - "hash": "sha256-Z0E3TfKP49toYo1Fo9kElRap8CZ+mVDHy5RIexgJTpA=", - "version": "630.4.5" - }, - "Libc": { - "hash": "sha256-dqbdWtBuaRq3IHnSUPH2aj8h/X4zCwUNSOeSdwfKvN8=", - "version": "1534.100.14" - }, - "Libinfo": { - "hash": "sha256-iUyndeUXx7FFZ/jgJ6jRwda3IChOaMs4dZW/ISuAJ1E=", - "version": "564.101.1" - }, - "Libm": { - "hash": "sha256-p4BndAag9d0XSMYWQ+c4myGv5qXbKx5E1VghudSbpTk=", - "version": "2026" - }, - "Libnotify": { - "hash": "sha256-7AwTfogvCUMdoabxf413ENWXtFTOM6AUldccoPQ89sU=", - "version": "312" - }, - "Librpcsvc": { - "hash": "sha256-UWYdCQ9QsBqwM01bWr+igINAHSdSluB/FrOclC5AjTI=", - "version": "31" - }, - "Libsystem": { - "hash": "sha256-IIksf0yCg3GdME3HofYzD1MRC+ofsPhHcxddmNd7V2M=", - "version": "1319.100.3" - }, - "OpenDirectory": { - "hash": "sha256-6fSl8PasCZSBfe0ftaePcBuSEO3syb6kK+mfDI6iR7A=", - "version": "146" - }, - "Security": { - "hash": "sha256-lPq58QIx+H9DouTXAUJSMf1X7dj9V6xu3c8VWr2R1IY=", - "version": "60420.101.4" - }, - "architecture": { - "hash": "sha256-PRNUrhzSOrwmxSPkKmV0LV7yEIik65sdkfKdBqcwFhU=", - "version": "282" - }, - "configd": { - "hash": "sha256-M/fRAnUw2wObhCQp9a6zQbCGhACCQHpju4/1+KGlkjg=", - "version": "1241.100.11" - }, - "copyfile": { - "hash": "sha256-te3WcQudrXPqnTM1s/AtsTdu7VIXf5dIASy+IGnIxv0=", - "version": "191.100.3" - }, - "dtrace": { - "hash": "sha256-7jAG66hG9qmqpRbECazMD1Pyi53CWTOGNnZca1NpcxE=", - "version": "397" - }, - "dyld": { - "hash": "sha256-OkDOTV86EB44LxsqwTD4ZncMcr7iqSHXxw+6U+AP7oU=", - "version": "1066.8" - }, - "eap8021x": { - "hash": "sha256-FMG+IGVPpcwrRe2/OKpFycrY/EFPZkge2vX61NgorGg=", - "version": "336.100.6" - }, - "hfs": { - "hash": "sha256-Au5VDrYRBerI1I6rjC0lVDwB5IBwGARrAdcTI4M+Fx0=", - "version": "627.100.6" - }, - "launchd": { - "hash": "sha256-8mW9bnuHmRXCx9py8Wy28C5b2QPICW0rlAps5njYa00=", - "version": "842.1.4" - }, - "libclosure": { - "hash": "sha256-V1tpp/XG6baETunJt029rI6wp6moYSnFprt+bNGaQ40=", - "version": "87" - }, - "libdispatch": { - "hash": "sha256-d1VObN11bNdtNJlZQqp2y8yP4lit5Wbj+4/aN3StsPc=", - "version": "1415.100.11" - }, - "libmalloc": { - "hash": "sha256-jcR1AO/chcZzfAvELkC+U3q9tzxqPdwgLcHrnkQmN4M=", - "version": "425.100.7" - }, - "libplatform": { - "hash": "sha256-+BB23YGGT0hA326Dh+3k2UvAqBdEJ84A6yGA/ccrihg=", - "version": "292.100.1" - }, - "libpthread": { - "hash": "sha256-/l17vMWhfAs0YhIHi+l84vGVxpGFOzocvxxii7B+WUk=", - "version": "514.100.2" - }, - "mDNSResponder": { - "hash": "sha256-M4yfQsdlKwes5M2QOEEfjv7ldSVZw7oGXLISaDcObjs=", - "version": "1807.101.2" - }, - "objc4": { - "hash": "sha256-qOV9YfP59WP8Izp+IvM/aiYTW8fCoq21uxU64OcIHk8=", - "version": "876" - }, - "ppp": { - "hash": "sha256-Sg5c5qOSk5TaS4pgXZ+eAy/iuGBa1oFML0dkj463DcE=", - "version": "1010" - }, - "removefile": { - "hash": "sha256-oQorWHlJ0ctekCTUsLXHko8k1aCKBJ00A2FHkRd4B3E=", - "version": "68" - }, - "xnu": { - "hash": "sha256-w9/lDZ/E54YzYQkOWptNpX5GomgI/fvZLAy7NY3O+IQ=", - "version": "8796.101.5" - } - }, "14.4": { "CarbonHeaders": { "hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=", diff --git a/pkgs/by-name/ap/apple-sdk/metadata/versions.json b/pkgs/by-name/ap/apple-sdk/metadata/versions.json index 303f456f9614..b58641c2602a 100644 --- a/pkgs/by-name/ap/apple-sdk/metadata/versions.json +++ b/pkgs/by-name/ap/apple-sdk/metadata/versions.json @@ -1,28 +1,4 @@ { - "11": { - "urls": [ - "https://swcdn.apple.com/content/downloads/02/62/071-54303-A_EU2CL1YVT7/943i95dpeyi2ghlnj2mgyq3t202t5gf18b/CLTools_macOSNMOS_SDK.pkg", - "https://web.archive.org/web/20250210235110/https://swcdn.apple.com/content/downloads/02/62/071-54303-A_EU2CL1YVT7/943i95dpeyi2ghlnj2mgyq3t202t5gf18b/CLTools_macOSNMOS_SDK.pkg" - ], - "version": "11.3", - "hash": "sha256-/go8utcx3jprf6c8V/DUbXwsmNYSFchOAai1OaJs3Bg=" - }, - "12": { - "urls": [ - "https://swcdn.apple.com/content/downloads/24/42/002-83793-A_74JRE8GVAT/rlnkct919wgc5c0pjq986z5bb9h62uvni2/CLTools_macOSNMOS_SDK.pkg", - "https://web.archive.org/web/20250210235341/https://swcdn.apple.com/content/downloads/24/42/002-83793-A_74JRE8GVAT/rlnkct919wgc5c0pjq986z5bb9h62uvni2/CLTools_macOSNMOS_SDK.pkg" - ], - "version": "12.3", - "hash": "sha256-qG21ssNUmkqxPLTXALGP2N/RBHu8NMlI1dWvGlV+Wm8=" - }, - "13": { - "urls": [ - "https://swcdn.apple.com/content/downloads/15/62/032-84673-A_7A1TG1RF8Z/xpc8q44ggn2pkn82iwr0fi1zeb9cxi8ath/CLTools_macOSNMOS_SDK.pkg", - "https://web.archive.org/web/20250210235949/https://swcdn.apple.com/content/downloads/15/62/032-84673-A_7A1TG1RF8Z/xpc8q44ggn2pkn82iwr0fi1zeb9cxi8ath/CLTools_macOSNMOS_SDK.pkg" - ], - "version": "13.3", - "hash": "sha256-zZ4pbgoXunLGwdYDemxOfyH4CE5WGfMy2s5jN+0q4B4=" - }, "14": { "urls": [ "https://swcdn.apple.com/content/downloads/14/48/052-59890-A_I0F5YGAY0Y/p9n40hio7892gou31o1v031ng6fnm9sb3c/CLTools_macOSNMOS_SDK.pkg", diff --git a/pkgs/by-name/ar/ares/package.nix b/pkgs/by-name/ar/ares/package.nix index 39d4bb316fba..de25382b4cbc 100644 --- a/pkgs/by-name/ar/ares/package.nix +++ b/pkgs/by-name/ar/ares/package.nix @@ -1,7 +1,7 @@ { lib, alsa-lib, - apple-sdk_14, + apple-sdk, cmake, fetchFromGitHub, gtk3, @@ -55,7 +55,6 @@ stdenv.mkDerivation (finalAttrs: { zlib ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_14 moltenvk ] ++ lib.optionals stdenv.hostPlatform.isLinux [ @@ -73,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: { patches = [ (replaceVars ./darwin-build-fixes.patch { - sdkVersion = apple-sdk_14.version; + sdkVersion = apple-sdk.version; }) ]; diff --git a/pkgs/by-name/at/atuin/package.nix b/pkgs/by-name/at/atuin/package.nix index b4638170f815..be7053870fca 100644 --- a/pkgs/by-name/at/atuin/package.nix +++ b/pkgs/by-name/at/atuin/package.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "atuin"; - version = "18.8.0"; + version = "18.10.0"; src = fetchFromGitHub { owner = "atuinsh"; repo = "atuin"; tag = "v${finalAttrs.version}"; - hash = "sha256-FJEXIxdeg6ExXvrQ3dtugMK5xw+NwWyB+ld9rj7okoU="; + hash = "sha256-bfSa3RtVXxHt3usDqqpE/oXKKDUZOrf+tD9uL59fr6M="; }; - cargoHash = "sha256-xJPSMu22Bq9Panrafsd5vUSnEQYuJB19OEZaAq8z0mw="; + cargoHash = "sha256-67ffivZVCly1GWA3fJ9mT8nGv2EGd6eCthbaIu/IW3M="; # atuin's default features include 'check-updates', which do not make sense # for distribution builds. List all other default features. @@ -41,13 +41,6 @@ rustPlatform.buildRustPackage (finalAttrs: { --zsh <($out/bin/atuin gen-completions -s zsh) ''; - passthru = { - tests = { - inherit (nixosTests) atuin; - }; - updateScript = nix-update-script { }; - }; - checkFlags = [ # tries to make a network access "--skip=registration" @@ -56,11 +49,19 @@ rustPlatform.buildRustPackage (finalAttrs: { # PermissionDenied (Operation not permitted) "--skip=change_password" "--skip=multi_user_test" - "--skip=store::var::tests::build_vars" - # Tries to touch files - "--skip=build_aliases" ]; + preCheck = '' + export HOME=$(mktemp -d) + ''; + + passthru = { + tests = { + inherit (nixosTests) atuin; + }; + updateScript = nix-update-script { }; + }; + meta = { description = "Replacement for a shell history which records additional commands context with optional encrypted synchronization between machines"; homepage = "https://github.com/atuinsh/atuin"; diff --git a/pkgs/by-name/au/audit/package.nix b/pkgs/by-name/au/audit/package.nix index 7395ada94e13..d16ea8e58677 100644 --- a/pkgs/by-name/au/audit/package.nix +++ b/pkgs/by-name/au/audit/package.nix @@ -117,8 +117,7 @@ stdenv.mkDerivation (finalAttrs: { pythonImportsCheck = [ "audit" ]; - enableParallelChecking = false; - doCheck = true; + doCheck = false; postInstall = '' installShellCompletion --bash init.d/audit.bash_completion @@ -156,6 +155,11 @@ stdenv.mkDerivation (finalAttrs: { static = pkgsStatic.audit or null; pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; audit = nixosTests.audit; + # Broken on a hardened kernel + package = finalAttrs.finalPackage.overrideAttrs (previousAttrs: { + pname = previousAttrs.pname + "-test"; + doCheck = true; + }); }; }; diff --git a/pkgs/by-name/az/azahar/package.nix b/pkgs/by-name/az/azahar/package.nix index 5bf7c063134b..9f696c48b8a6 100644 --- a/pkgs/by-name/az/azahar/package.nix +++ b/pkgs/by-name/az/azahar/package.nix @@ -42,8 +42,6 @@ gamemode, enableGamemode ? lib.meta.availableOn stdenv.hostPlatform gamemode, nix-update-script, - darwinMinVersionHook, - apple-sdk_12, fetchpatch2, }: let @@ -129,10 +127,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ optionals stdenv.hostPlatform.isDarwin [ moltenvk - - # error: 'lowPowerModeEnabled' is unavailable: not available on macOS - apple-sdk_12 - (darwinMinVersionHook "12.0") ]; postPatch = '' diff --git a/pkgs/by-name/ba/bakelite/package.nix b/pkgs/by-name/ba/bakelite/package.nix index 252f4b36a2da..2505599b78e1 100644 --- a/pkgs/by-name/ba/bakelite/package.nix +++ b/pkgs/by-name/ba/bakelite/package.nix @@ -16,7 +16,6 @@ stdenv.mkDerivation { hash = "sha256-rRJrtCcgfbqC/4qQiTVeUUcPqoJlNfitYRqIO58AmpA="; }; - hardeningEnable = [ "pie" ]; preBuild = '' # pipe2() is only exposed with _GNU_SOURCE # Upstream makefile explicitly uses -O3 to improve SHA-3 performance diff --git a/pkgs/by-name/ba/balena-cli/package.nix b/pkgs/by-name/ba/balena-cli/package.nix index 247666bb13fb..66c633728fad 100644 --- a/pkgs/by-name/ba/balena-cli/package.nix +++ b/pkgs/by-name/ba/balena-cli/package.nix @@ -9,7 +9,6 @@ python3, udev, cctools, - apple-sdk_12, }: let @@ -44,13 +43,9 @@ buildNpmPackage' rec { cctools ]; - buildInputs = - lib.optionals stdenv.hostPlatform.isLinux [ - udev - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_12 - ]; + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + udev + ]; doInstallCheck = true; versionCheckProgram = "${placeholder "out"}/bin/balena"; diff --git a/pkgs/by-name/ba/bash-completion/package.nix b/pkgs/by-name/ba/bash-completion/package.nix index fdec25367b2d..1d7ef107008a 100644 --- a/pkgs/by-name/ba/bash-completion/package.nix +++ b/pkgs/by-name/ba/bash-completion/package.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { pname = "bash-completion"; - version = "2.16.0"; + version = "2.17.0"; # Using fetchurl because fetchGithub or fetchzip will have trouble on # e.g. APFS filesystems (macOS) because of non UTF-8 characters in some of the @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { # See discussion in https://github.com/NixOS/nixpkgs/issues/107768 src = fetchurl { url = "https://github.com/scop/bash-completion/releases/download/${version}/bash-completion-${version}.tar.xz"; - hash = "sha256-M2m9XkGKdfuZCGOSWu1bQgOYrOuzIOxMAwaz6uI/EHo="; + hash = "sha256-3Z2CXklkNfs766Oue+qfd+gh6JRmfQdDHR1MjFcLnlg="; }; postPatch = '' diff --git a/pkgs/by-name/be/bespokesynth/package.nix b/pkgs/by-name/be/bespokesynth/package.nix index 38c057312fb1..ee2b22f4817f 100644 --- a/pkgs/by-name/be/bespokesynth/package.nix +++ b/pkgs/by-name/be/bespokesynth/package.nix @@ -3,7 +3,6 @@ stdenv, fetchFromGitHub, gitUpdater, - apple-sdk_11, cmake, pkg-config, ninja, @@ -120,9 +119,6 @@ stdenv.mkDerivation (finalAttrs: { xcb-util-cursor pcre mount - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_11 ]; postInstall = diff --git a/pkgs/by-name/bi/bitwarden-desktop/package.nix b/pkgs/by-name/bi/bitwarden-desktop/package.nix index cd47ee912a7a..57aed4785bbd 100644 --- a/pkgs/by-name/bi/bitwarden-desktop/package.nix +++ b/pkgs/by-name/bi/bitwarden-desktop/package.nix @@ -1,6 +1,5 @@ { lib, - apple-sdk_14, buildNpmPackage, cargo, copyDesktopItems, @@ -124,10 +123,6 @@ buildNpmPackage' rec { darwin.autoSignDarwinBinariesHook ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_14 - ]; - preBuild = '' if [[ $(jq --raw-output '.devDependencies.electron' < package.json | grep -E --only-matching '^[0-9]+') != ${lib.escapeShellArg (lib.versions.major electron.version)} ]]; then echo 'ERROR: electron version mismatch' diff --git a/pkgs/by-name/bm/bmake/package.nix b/pkgs/by-name/bm/bmake/package.nix index ad3ed152731b..a762ea5eadda 100644 --- a/pkgs/by-name/bm/bmake/package.nix +++ b/pkgs/by-name/bm/bmake/package.nix @@ -3,7 +3,6 @@ bc, fetchurl, getopt, - ksh, pkgsMusl ? { }, stdenv, tzdata, @@ -39,9 +38,6 @@ stdenv.mkDerivation (finalAttrs: { nativeCheckInputs = [ bc tzdata - ] - ++ lib.optionals (stdenv.hostPlatform.libc != "musl") [ - ksh ]; # The generated makefile is a small wrapper for calling ./boot-strap with a diff --git a/pkgs/by-name/ca/catch2_3/package.nix b/pkgs/by-name/ca/catch2_3/package.nix index 269a445c48a4..5afa01a642f5 100644 --- a/pkgs/by-name/ca/catch2_3/package.nix +++ b/pkgs/by-name/ca/catch2_3/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "catch2"; - version = "3.10.0"; + version = "3.11.0"; src = fetchFromGitHub { owner = "catchorg"; repo = "Catch2"; tag = "v${version}"; - hash = "sha256-eeqqzHMeXLRiXzbY+ay8gJ/YDuxDj3f6+d6eXA1uZHE="; + hash = "sha256-7Dx7PhtRwkbo8vHF57sAns2fQZ442D3cMyCt25RvzJc="; }; patches = lib.optionals stdenv.cc.isClang [ diff --git a/pkgs/by-name/cc/cctools/meson.build b/pkgs/by-name/cc/cctools/meson.build index bfb4f06285d7..6c0a18016203 100644 --- a/pkgs/by-name/cc/cctools/meson.build +++ b/pkgs/by-name/cc/cctools/meson.build @@ -12,7 +12,7 @@ project( '-DCCTB_PROJECT=cctools', '-DCCTB_PROJVERS=cctools-@version@', '-DCCTB_VERSION=@version@', - '-DCURRENT_PROJECT_VERSION="@version@"', + '-DCURRENT_PROJECT_VERSION="cctools-@version@"', '-DCODEDIRECTORY_SUPPORT', '-DLTO_SUPPORT', ], diff --git a/pkgs/by-name/ch/choose-gui/package.nix b/pkgs/by-name/ch/choose-gui/package.nix index 04a74c40d901..7a36bdfd60f8 100644 --- a/pkgs/by-name/ch/choose-gui/package.nix +++ b/pkgs/by-name/ch/choose-gui/package.nix @@ -3,7 +3,6 @@ stdenv, fetchFromGitHub, xcbuild, - apple-sdk_11, }: stdenv.mkDerivation rec { @@ -19,8 +18,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ xcbuild ]; - buildInputs = [ apple-sdk_11 ]; - buildPhase = '' runHook preBuild xcodebuild -configuration Release SYMROOT="./output" HOME="$(mktemp -d)" build diff --git a/pkgs/by-name/ch/chromaprint/package.nix b/pkgs/by-name/ch/chromaprint/package.nix index 89674dc9f6a0..70e5fd0e8b8a 100644 --- a/pkgs/by-name/ch/chromaprint/package.nix +++ b/pkgs/by-name/ch/chromaprint/package.nix @@ -75,12 +75,12 @@ stdenv.mkDerivation (finalAttrs: { }; # sha256 because actual output of fpcalc is quite long - expectedHash = "c47ae40e02caf798ff5ab4d91ff00cfdca8f6786c581662436941d3e000c9aac"; + expectedHash = "e2895130bcbe7190184379021daa60c5f5d476da4a2fecb06df7160819662e20"; in '' runHook preCheck tests/all_tests - ${lib.optionalString withTools "diff -u <(src/cmd/fpcalc ${exampleAudio} | sha256sum | cut -c-64) <(echo '${expectedHash}')"} + ${lib.optionalString withTools "diff -u <(src/cmd/fpcalc -plain ${exampleAudio} | sha256sum | cut -c-64) <(echo '${expectedHash}')"} runHook postCheck ''; diff --git a/pkgs/by-name/ch/chrony/package.nix b/pkgs/by-name/ch/chrony/package.nix index 602da83f6b2f..024e59cce880 100644 --- a/pkgs/by-name/ch/chrony/package.nix +++ b/pkgs/by-name/ch/chrony/package.nix @@ -62,8 +62,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; doCheck = true; - hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ]; - passthru.tests = { inherit (nixosTests) chrony chrony-ptp; }; diff --git a/pkgs/by-name/cm/cmake/setup-hook.sh b/pkgs/by-name/cm/cmake/setup-hook.sh index 5e84594934f4..01302284eb4f 100755 --- a/pkgs/by-name/cm/cmake/setup-hook.sh +++ b/pkgs/by-name/cm/cmake/setup-hook.sh @@ -39,13 +39,6 @@ cmakeConfigurePhase() { prependToVar cmakeFlags "-DCMAKE_RANLIB=$(command -v $RANLIB)" prependToVar cmakeFlags "-DCMAKE_STRIP=$(command -v $STRIP)" - # on macOS we want to prefer Unix-style headers to Frameworks - # because we usually do not package the framework - prependToVar cmakeFlags "-DCMAKE_FIND_FRAMEWORK=LAST" - - # correctly detect our clang compiler - prependToVar cmakeFlags "-DCMAKE_POLICY_DEFAULT_CMP0025=NEW" - # This installs shared libraries with a fully-specified install # name. By default, cmake installs shared libraries with just the # basename as the install name, which means that, on Darwin, they diff --git a/pkgs/by-name/da/dash/package.nix b/pkgs/by-name/da/dash/package.nix index 6c21d4edeff1..c922ed45d97f 100644 --- a/pkgs/by-name/da/dash/package.nix +++ b/pkgs/by-name/da/dash/package.nix @@ -7,15 +7,19 @@ libedit, runCommand, dash, + + # Reverse dependency smoke tests + tests, + patchRcPathPosix, }: stdenv.mkDerivation (finalAttrs: { pname = "dash"; - version = "0.5.12"; + version = "0.5.13.1"; src = fetchurl { url = "http://gondor.apana.org.au/~herbert/dash/files/dash-${finalAttrs.version}.tar.gz"; - hash = "sha256-akdKxG6LCzKRbExg32lMggWNMpfYs4W3RQgDDKSo8oo="; + hash = "sha256-2ScbzgnBJ9mGbiXAEVgt3HWrmIlYoEvE2FU6O48w43A="; }; strictDeps = true; @@ -43,6 +47,19 @@ stdenv.mkDerivation (finalAttrs: { [ -s $out/success ] grep -q "Hello World" $out/success ''; + + /** + Reverse dependency smoke tests. Build success of `dash.tests` informs + whether an update makes it into staging. + */ + reverseDependencies = lib.recurseIntoAttrs { + writers = lib.recurseIntoAttrs { + simple = tests.writers.simple.dash; + bin = tests.writers.bin.dash; + }; + # Not sure if effective smoke test, but cheap + patch-rc-path-posix = patchRcPathPosix.tests.test-posix; + }; }; }; diff --git a/pkgs/by-name/dn/dnsmasq/package.nix b/pkgs/by-name/dn/dnsmasq/package.nix index 90dca5e23caf..3b7699cf87c0 100644 --- a/pkgs/by-name/dn/dnsmasq/package.nix +++ b/pkgs/by-name/dn/dnsmasq/package.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { "PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config" ]; - hardeningEnable = [ "pie" ]; + enableParallelBuilding = true; postBuild = lib.optionalString stdenv.hostPlatform.isLinux '' make -C contrib/lease-tools diff --git a/pkgs/by-name/do/double-conversion/package.nix b/pkgs/by-name/do/double-conversion/package.nix index a377165483f0..30e445519ee1 100644 --- a/pkgs/by-name/do/double-conversion/package.nix +++ b/pkgs/by-name/do/double-conversion/package.nix @@ -4,17 +4,19 @@ fetchFromGitHub, fetchpatch, cmake, - enableStatic ? stdenv.hostPlatform.isStatic, + ninja, + ctestCheckHook, + testers, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "double-conversion"; version = "3.3.1"; src = fetchFromGitHub { owner = "google"; repo = "double-conversion"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-M80H+azCzQYa4/gBLWv5GNNhEuHsH7LbJ/ajwmACnrM="; }; @@ -30,22 +32,46 @@ stdenv.mkDerivation rec { url = "https://github.com/google/double-conversion/commit/0604b4c18815aadcf7f4b78dfa6bfcb91a634ed7.patch"; hash = "sha256-cJBp1ou1O/bMQ/7kvcX52dWbUdhmPfQ9aWmEhQdyhis="; }) + (fetchpatch { + name = "double-conversion-add-pkg-config.patch"; + url = "https://github.com/google/double-conversion/commit/ddfd18c58ecc32fc74afc1083bb8774240b54efb.patch"; + hash = "sha256-/pKCL19vS8fNwCm27yTNP+32ApHTH5dEGpnsMI11Lf4="; + }) ]; - nativeBuildInputs = [ cmake ]; + outputs = [ + "out" + "dev" + ]; - cmakeFlags = lib.optional (!enableStatic) "-DBUILD_SHARED_LIBS=ON"; + nativeBuildInputs = [ + cmake + ninja + ctestCheckHook + ]; + + doCheck = true; + + cmakeFlags = [ + (lib.cmakeBool "BUILD_TESTING" true) + (lib.cmakeBool "BUILD_SHARED_LIBS" stdenv.hostPlatform.hasSharedLibraries) + ]; # Case sensitivity issue preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin '' rm BUILD ''; + passthru = { + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + }; + meta = with lib; { + pkgConfigModules = [ "double-conversion" ]; description = "Binary-decimal and decimal-binary routines for IEEE doubles"; homepage = "https://github.com/google/double-conversion"; license = licenses.bsd3; platforms = platforms.unix ++ platforms.windows; - maintainers = [ ]; + maintainers = with lib.maintainers; [ fzakaria ]; }; -} +}) diff --git a/pkgs/by-name/dr/drawterm/package.nix b/pkgs/by-name/dr/drawterm/package.nix index 5086ad03fdec..0e58264092d7 100644 --- a/pkgs/by-name/dr/drawterm/package.nix +++ b/pkgs/by-name/dr/drawterm/package.nix @@ -5,7 +5,6 @@ unstableGitUpdater, installShellFiles, makeWrapper, - apple-sdk_13, xorg, pkg-config, wayland-scanner, @@ -54,8 +53,7 @@ stdenv.mkDerivation { ++ lib.optionals withXorg [ xorg.libX11 xorg.libXt - ] - ++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_13; + ]; makeFlags = lib.optional withWayland "CONF=linux" diff --git a/pkgs/by-name/ec/echidna/package.nix b/pkgs/by-name/ec/echidna/package.nix index 1a6376cba4a5..ca4ca1d3c090 100644 --- a/pkgs/by-name/ec/echidna/package.nix +++ b/pkgs/by-name/ec/echidna/package.nix @@ -96,7 +96,7 @@ haskellPackages.mkDerivation rec { makeWrapper ]; - preConfigure = '' + prePatch = '' hpack ''; diff --git a/pkgs/by-name/ed/edencommon/package.nix b/pkgs/by-name/ed/edencommon/package.nix index 2dbf5e9fbb2c..87ca034575fd 100644 --- a/pkgs/by-name/ed/edencommon/package.nix +++ b/pkgs/by-name/ed/edencommon/package.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "edencommon"; - version = "2025.09.15.00"; + version = "2025.10.13.00"; outputs = [ "out" @@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebookexperimental"; repo = "edencommon"; tag = "v${finalAttrs.version}"; - hash = "sha256-KyJAosCLGnpEG968GV9BOyOrsoHS7BbRatTfBqzTelU="; + hash = "sha256-yR0J1tfzdAFopApKsiv9yUXlU0W0Q6n6ZlmKlcVbi0E="; }; patches = [ diff --git a/pkgs/by-name/ei/eigen/include-dir.patch b/pkgs/by-name/ei/eigen/include-dir.patch deleted file mode 100644 index 9928bbdbed1b..000000000000 --- a/pkgs/by-name/ei/eigen/include-dir.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,5 +1,5 @@ - # cmake_minimum_require must be the first command of the file --cmake_minimum_required(VERSION 3.5.0) -+cmake_minimum_required(VERSION 3.7.0) - - project(Eigen3) - -@@ -443,7 +443,7 @@ set(PKGCONFIG_INSTALL_DIR - CACHE PATH "The directory relative to CMAKE_INSTALL_PREFIX where eigen3.pc is installed" - ) - --foreach(var INCLUDE_INSTALL_DIR CMAKEPACKAGE_INSTALL_DIR PKGCONFIG_INSTALL_DIR) -+foreach(var CMAKEPACKAGE_INSTALL_DIR PKGCONFIG_INSTALL_DIR) - # If an absolute path is specified, make it relative to "{CMAKE_INSTALL_PREFIX}". - if(IS_ABSOLUTE "${${var}}") - file(RELATIVE_PATH "${var}" "${CMAKE_INSTALL_PREFIX}" "${${var}}") -@@ -466,13 +466,6 @@ install(FILES - DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel - ) - --if(EIGEN_BUILD_PKGCONFIG) -- configure_file(eigen3.pc.in eigen3.pc @ONLY) -- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/eigen3.pc -- DESTINATION ${PKGCONFIG_INSTALL_DIR} -- ) --endif() -- - install(DIRECTORY Eigen DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel) - - -@@ -593,8 +586,15 @@ set ( EIGEN_VERSION_MAJOR ${EIGEN_WORLD_VERSION} ) - set ( EIGEN_VERSION_MINOR ${EIGEN_MAJOR_VERSION} ) - set ( EIGEN_VERSION_PATCH ${EIGEN_MINOR_VERSION} ) - set ( EIGEN_DEFINITIONS "") --set ( EIGEN_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}" ) - set ( EIGEN_ROOT_DIR ${CMAKE_INSTALL_PREFIX} ) -+GNUInstallDirs_get_absolute_install_dir(EIGEN_INCLUDE_DIR INCLUDE_INSTALL_DIR) -+ -+if(EIGEN_BUILD_PKGCONFIG) -+ configure_file(eigen3.pc.in eigen3.pc @ONLY) -+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/eigen3.pc -+ DESTINATION ${PKGCONFIG_INSTALL_DIR} -+ ) -+endif() - - include (CMakePackageConfigHelpers) - ---- a/eigen3.pc.in -+++ b/eigen3.pc.in -@@ -6,4 +6,4 @@ Description: A C++ template library for linear algebra: vectors, matrices, and r - Requires: - Version: @EIGEN_VERSION_NUMBER@ - Libs: --Cflags: -I${prefix}/@INCLUDE_INSTALL_DIR@ -+Cflags: -I@EIGEN_INCLUDE_DIR@ diff --git a/pkgs/by-name/ei/eigen/package.nix b/pkgs/by-name/ei/eigen/package.nix index 898f83d2d136..430b27f5be96 100644 --- a/pkgs/by-name/ei/eigen/package.nix +++ b/pkgs/by-name/ei/eigen/package.nix @@ -1,43 +1,60 @@ { lib, + stdenv, fetchFromGitLab, + fetchpatch, + + # nativeBuildInputs cmake, + + # nativeCheckInputs + ctestCheckHook, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "eigen"; - version = "3.4.0-unstable-2022-05-19"; + version = "3.4.1"; src = fetchFromGitLab { owner = "libeigen"; repo = "eigen"; - rev = "e7248b26a1ed53fa030c5c459f7ea095dfd276ac"; - hash = "sha256-uQ1YYV3ojbMVfHdqjXRyUymRPjJZV3WHT36PTxPRius="; + tag = finalAttrs.version; + hash = "sha256-NSq1tUfy2thz5gtsyASsKeYE4vMf71aSG4uXfrX86rk="; }; patches = [ - ./include-dir.patch + # fix bug1213 test + # ref https://gitlab.com/libeigen/eigen/-/merge_requests/2005 merged upstream + (fetchpatch { + url = "https://gitlab.com/libeigen/eigen/-/commit/3e1367a3b5efcdc8ce716db77a322cedeb5e01b4.patch"; + hash = "sha256-oykUbzaZeVW1A8nBoiMtJvh68Zpu7PDFtAfAjtTQoC0="; + }) ]; - # ref. https://gitlab.com/libeigen/eigen/-/merge_requests/977 - # This was merged upstream and can be removed on next release - postPatch = '' - substituteInPlace Eigen/src/SVD/BDCSVD.h --replace-fail \ - "if (l == 0) {" \ - "if (i >= k && l == 0) {" - ''; + nativeBuildInputs = [ + cmake + ]; - nativeBuildInputs = [ cmake ]; + nativeCheckInputs = [ + ctestCheckHook + ]; - meta = with lib; { + cmakeFlags = [ + (lib.cmakeBool "EIGEN_LEAVE_TEST_IN_ALL_TARGET" true) # Build tests in parallel + ]; + + # too many flaky tests + doCheck = false; + + meta = { homepage = "https://eigen.tuxfamily.org"; description = "C++ template library for linear algebra: vectors, matrices, and related algorithms"; - license = licenses.lgpl3Plus; - maintainers = with maintainers; [ + license = lib.licenses.lgpl3Plus; + maintainers = with lib.maintainers; [ sander raskin ]; - platforms = platforms.unix; + platforms = lib.platforms.unix; }; -} +}) diff --git a/pkgs/by-name/ei/eigenrand/package.nix b/pkgs/by-name/ei/eigenrand/package.nix index 954c1fa296c2..2b35100d103f 100644 --- a/pkgs/by-name/ei/eigenrand/package.nix +++ b/pkgs/by-name/ei/eigenrand/package.nix @@ -2,6 +2,7 @@ cmake, eigen, fetchFromGitHub, + fetchpatch, gtest, lib, stdenv, @@ -18,6 +19,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-mrpkWIb6kfLvppmIfzhjF1/3m1zSd8XG1D07V6Zjlu0="; }; + patches = [ + # ref. https://github.com/bab2min/EigenRand/pull/61 merged upstream + (fetchpatch { + name = "support-eigen-341.patch"; + url = "https://github.com/bab2min/EigenRand/commit/8114df93b4c8a84a4f853380f0875a2c9d683cd0.patch"; + hash = "sha256-2KivLlyYGSRZurtxLghNfWwUNEUNWZdC6q+H65EPLnQ="; + }) + ]; + # Avoid downloading googletest: we already have it. postPatch = '' substituteInPlace CMakeLists.txt --replace-fail \ diff --git a/pkgs/by-name/el/elfutils/package.nix b/pkgs/by-name/el/elfutils/package.nix index 9b69efdc42de..db1c0b053bd0 100644 --- a/pkgs/by-name/el/elfutils/package.nix +++ b/pkgs/by-name/el/elfutils/package.nix @@ -28,11 +28,11 @@ # TODO: Look at the hardcoded paths to kernel, modules etc. stdenv.mkDerivation rec { pname = "elfutils"; - version = "0.193"; + version = "0.194"; src = fetchurl { url = "https://sourceware.org/elfutils/ftp/${version}/${pname}-${version}.tar.bz2"; - hash = "sha256-eFf0S2JPTY1CHfhRqq57FALP5rzdLYBJ8V/AfT3edjU="; + hash = "sha256-CeL/Az05uqiziKLX+8U5C/3pmuO3xnx9qvdDP7zw8B4="; }; patches = [ @@ -110,18 +110,6 @@ stdenv.mkDerivation rec { hardeningDisable = [ "strictflexarrays3" ]; - # build elfutils out-of-source-tree to avoid ./stack inclusion - # as a c++ header on libc++: https://sourceware.org/PR33103 - preConfigure = - if (stdenv.targetPlatform.useLLVM or false) then - '' - mkdir build-tree - cd build-tree - '' - else - null; - configureScript = if (stdenv.targetPlatform.useLLVM or false) then "../configure" else null; - configureFlags = [ "--program-prefix=eu-" # prevent collisions with binutils "--enable-deterministic-archives" @@ -146,14 +134,6 @@ stdenv.mkDerivation rec { && (stdenv.hostPlatform == stdenv.buildPlatform); doInstallCheck = !stdenv.hostPlatform.isMusl && (stdenv.hostPlatform == stdenv.buildPlatform); - preCheck = '' - # Workaround lack of rpath linking: - # ./dwarf_srclang_check: error while loading shared libraries: - # libelf.so.1: cannot open shared object file: No such file or directory - # Remove once https://sourceware.org/PR32929 is fixed. - export LD_LIBRARY_PATH="$PWD/libelf:$LD_LIBRARY_PATH" - ''; - passthru.updateScript = gitUpdater { url = "https://sourceware.org/git/elfutils.git"; rev-prefix = "elfutils-"; diff --git a/pkgs/by-name/fa/faustPhysicalModeling/package.nix b/pkgs/by-name/fa/faustPhysicalModeling/package.nix index a2e928592842..cd88e6668e45 100644 --- a/pkgs/by-name/fa/faustPhysicalModeling/package.nix +++ b/pkgs/by-name/fa/faustPhysicalModeling/package.nix @@ -26,10 +26,6 @@ stdenv.mkDerivation rec { bash ]; - # ld: /nix/store/*-gcc-14-20241116/lib/gcc/x86_64-unknown-linux-gnu/14.2.1/crtbegin.o: - # relocation R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a PIE object - hardeningDisable = [ "pie" ]; - dontWrapQtApps = true; buildPhase = '' diff --git a/pkgs/by-name/fb/fb303/package.nix b/pkgs/by-name/fb/fb303/package.nix index 6c5017bde61b..8e607283bd85 100644 --- a/pkgs/by-name/fb/fb303/package.nix +++ b/pkgs/by-name/fb/fb303/package.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "fb303"; - version = "2025.09.15.00"; + version = "2025.10.13.00"; outputs = [ "out" @@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "fb303"; tag = "v${finalAttrs.version}"; - hash = "sha256-6suO1SE8+WASQiHLtiieu3nrjEYqSPnKxw7nHkQ4br0="; + hash = "sha256-IF3fQY8QfDBo8DoLFIFuZD8OgrrJfXLXDgFcsD1CmaY="; }; patches = [ @@ -75,6 +75,7 @@ stdenv.mkDerivation (finalAttrs: { kylesferrazza emily techknowlogick + lf- ]; }; }) diff --git a/pkgs/by-name/fb/fbthrift/package.nix b/pkgs/by-name/fb/fbthrift/package.nix index 71e759c7def1..7eeb083253f4 100644 --- a/pkgs/by-name/fb/fbthrift/package.nix +++ b/pkgs/by-name/fb/fbthrift/package.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "fbthrift"; - version = "2025.09.15.00"; + version = "2025.10.13.00"; outputs = [ # Trying to split this up further into `bin`, `out`, and `dev` @@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "fbthrift"; tag = "v${finalAttrs.version}"; - hash = "sha256-4u3SbbmSgtvnW3/VH3CfQrEddAlkQuUl9dmnGGKL4mE="; + hash = "sha256-6Vlmb7PfPl9hyJkpH0vsF4mjNTOxd4lu8CWPE0rRvVo="; }; patches = [ @@ -135,6 +135,7 @@ stdenv.mkDerivation (finalAttrs: { kylesferrazza emily techknowlogick + lf- ]; }; }) diff --git a/pkgs/by-name/fi/fizz/package.nix b/pkgs/by-name/fi/fizz/package.nix index b56562148195..47871e1eb4bf 100644 --- a/pkgs/by-name/fi/fizz/package.nix +++ b/pkgs/by-name/fi/fizz/package.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "fizz"; - version = "2025.09.15.00"; + version = "2025.10.13.00"; outputs = [ "bin" @@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebookincubator"; repo = "fizz"; tag = "v${finalAttrs.version}"; - hash = "sha256-8j8Nt8XCbMGui7bELhvP+o8E2bqYobkXLhvZVkzCMzU="; + hash = "sha256-MNkPf289QGZ1x6Yr2E8vnlCFan94Opjiw6RItodWGaw="; }; patches = [ @@ -116,6 +116,7 @@ stdenv.mkDerivation (finalAttrs: { kylesferrazza emily techknowlogick + lf- ]; }; }) diff --git a/pkgs/by-name/fl/fluidsynth/package.nix b/pkgs/by-name/fl/fluidsynth/package.nix index 28c8b9ef066f..88e013502421 100644 --- a/pkgs/by-name/fl/fluidsynth/package.nix +++ b/pkgs/by-name/fl/fluidsynth/package.nix @@ -6,7 +6,6 @@ pkg-config, cmake, alsa-lib, - glib, libjack2, libsndfile, libpulseaudio, @@ -14,13 +13,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "fluidsynth"; - version = "2.4.8"; + version = "2.5.0"; src = fetchFromGitHub { owner = "FluidSynth"; repo = "fluidsynth"; tag = "v${finalAttrs.version}"; - hash = "sha256-rOPoRV0NWrlFZohqQ76gnXvt4/ryEI4nSlX+mNW+qf8="; + hash = "sha256-ouPCbXg9vgxSAHsReC7dmF1cstQZ1HaUoWcLChE35Hk="; + fetchSubmodules = true; }; outputs = [ @@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - glib + stdenv.cc.cc.lib libsndfile libjack2 ] @@ -47,6 +47,8 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-Denable-framework=off" + "-Dosal=cpp11" + "-Denable-libinstpatch=0" ]; meta = { diff --git a/pkgs/by-name/fo/folly/fix-stdexcept-include.patch b/pkgs/by-name/fo/folly/fix-stdexcept-include.patch deleted file mode 100644 index c13632abf599..000000000000 --- a/pkgs/by-name/fo/folly/fix-stdexcept-include.patch +++ /dev/null @@ -1,22 +0,0 @@ -From dc06cc3162afb148c19cd0931d8fe489d639217a Mon Sep 17 00:00:00 2001 -From: Uilian Ries -Date: Tue, 9 Sep 2025 16:48:26 +0200 -Subject: [PATCH] Add missing header for std::runtime_error - -Signed-off-by: Uilian Ries ---- - folly/hash/Checksum.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/folly/hash/Checksum.cpp b/folly/hash/Checksum.cpp -index 1d42d6a6e5f..aeafdb20b1b 100644 ---- a/folly/hash/Checksum.cpp -+++ b/folly/hash/Checksum.cpp -@@ -17,6 +17,7 @@ - #include - - #include -+#include - - #include - diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index cce2c4aee1c9..2e6584d32482 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "folly"; - version = "2025.09.15.00"; + version = "2025.10.13.00"; # split outputs to reduce downstream closure sizes outputs = [ @@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "folly"; tag = "v${finalAttrs.version}"; - hash = "sha256-//gx081nMFXAcUgkHQToiFHhECfLW22Fl0eXEsObxUs="; + hash = "sha256-k7PGxYF3HlNc5nPBV+MkELya/4yllkaMA37vcfES4NE="; }; nativeBuildInputs = [ @@ -145,16 +145,6 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-QGNpS5UNEm+0PW9+agwUVILzpK9t020KXDGyP03OAwE="; }) - # Fix an upstream regression with libstdc++. - # - # See: - # - # * - # * - # * - # * - ./fix-stdexcept-include.patch - # Fix a GCC‐incompatible use of a private trait. # # Per Folly’s own documentation: @@ -237,6 +227,7 @@ stdenv.mkDerivation (finalAttrs: { pierreis emily techknowlogick + lf- ]; }; }) diff --git a/pkgs/by-name/fo/fontforge/package.nix b/pkgs/by-name/fo/fontforge/package.nix index c6c3199bb318..610d0cc8771b 100644 --- a/pkgs/by-name/fo/fontforge/package.nix +++ b/pkgs/by-name/fo/fontforge/package.nix @@ -2,7 +2,6 @@ stdenv, fetchFromGitHub, lib, - fetchpatch, replaceVars, cmake, pkg-config, @@ -34,46 +33,18 @@ assert withGTK -> withGUI; let py = python3.withPackages (ps: with ps; [ setuptools ]); in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "fontforge"; - version = "20230101"; + version = "20251009"; src = fetchFromGitHub { owner = "fontforge"; repo = "fontforge"; - rev = version; - sha256 = "sha256-/RYhvL+Z4n4hJ8dmm+jbA1Ful23ni2DbCRZC5A3+pP0="; + tag = finalAttrs.version; + hash = "sha256-tlpdd+x1mA+HeLXpy5LotNC6sabxI6U7S+m/qOn1jwc="; }; patches = [ - (fetchpatch { - name = "CVE-2024-25081.CVE-2024-25082.patch"; - url = "https://github.com/fontforge/fontforge/commit/216eb14b558df344b206bf82e2bdaf03a1f2f429.patch"; - hash = "sha256-aRnir09FSQMT50keoB7z6AyhWAVBxjSQsTRvBzeBuHU="; - }) - - # Replace distutils use in the build script - (fetchpatch { - name = "replace-distutils.patch"; - url = "https://github.com/fontforge/fontforge/commit/8c75293e924602ed09a9481b0eeb67ba6c623a81.patch"; - includes = [ "pyhook/CMakeLists.txt" ]; - hash = "sha256-3CEwC8vygmCztKRmeD45aZIqyoj8yk5CLwxX2SGP7z4="; - }) - - # Fixes translation compatibility with gettext 0.22 - (fetchpatch { - name = "update-translation-compatibility.patch"; - url = "https://github.com/fontforge/fontforge/commit/642d8a3db6d4bc0e70b429622fdf01ecb09c4c10.patch"; - hash = "sha256-uO9uEhB64hkVa6O2tJKE8BLFR96m27d8NEN9UikNcvg="; - }) - - # Updates to new Python initialization API - (fetchpatch { - name = "modern-python-initialization-api.patch"; - url = "https://github.com/fontforge/fontforge/commit/2f2ba54c15c5565acbde04eb6608868cbc871e01.patch"; - hash = "sha256-qF4DqFpiZDbULi9+POPM73HF6pEot8BAFSVaVCNQrMU="; - }) - # Provide a Nix-controlled location for the initial `sys.path` entry. (replaceVars ./set-python-sys-path.patch { python = "${py}/${py.sitePackages}"; }) ]; @@ -128,7 +99,7 @@ stdenv.mkDerivation rec { preConfigure = '' # The way $version propagates to $version of .pe-scripts (https://github.com/dejavu-fonts/dejavu-fonts/blob/358190f/scripts/generate.pe#L19) - export SOURCE_DATE_EPOCH=$(date -d ${version} +%s) + export SOURCE_DATE_EPOCH=$(date -d ${finalAttrs.version} +%s) ''; meta = { @@ -141,4 +112,4 @@ stdenv.mkDerivation rec { ulysseszhan ]; }; -} +}) diff --git a/pkgs/by-name/ge/geos/package.nix b/pkgs/by-name/ge/geos/package.nix index 422269bea247..597fad1ec724 100644 --- a/pkgs/by-name/ge/geos/package.nix +++ b/pkgs/by-name/ge/geos/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "geos"; - version = "3.14.0"; + version = "3.14.1"; src = fetchFromGitHub { owner = "libgeos"; repo = "geos"; tag = finalAttrs.version; - hash = "sha256-tPuAYNi2Gfc/2hj8SFqnvuDztXkSAEoGPcvXVULrLKg="; + hash = "sha256-lOf14Qva/bbbiywbSE7GbkDQftjY0RudTOaqjllnsj4="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/gh/ghostunnel/package.nix b/pkgs/by-name/gh/ghostunnel/package.nix index ed4cc9f9c7a5..6b90c1acb688 100644 --- a/pkgs/by-name/gh/ghostunnel/package.nix +++ b/pkgs/by-name/gh/ghostunnel/package.nix @@ -5,8 +5,6 @@ lib, nixosTests, ghostunnel, - apple-sdk_12, - darwinMinVersionHook, writeScript, runtimeShell, }: @@ -26,11 +24,6 @@ buildGoModule rec { deleteVendor = true; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_12 - (darwinMinVersionHook "12.0") - ]; - # These tests don't exist for Linux, and on Darwin they attempt to use the macOS Keychain # which doesn't work from a nix build. Presumably other platform implementations of the # certstore would have similar issues, so it probably makes sense to skip them in diff --git a/pkgs/by-name/gn/gn/package.nix b/pkgs/by-name/gn/gn/package.nix index 17f0b7daea27..286cb5d53af6 100644 --- a/pkgs/by-name/gn/gn/package.nix +++ b/pkgs/by-name/gn/gn/package.nix @@ -11,11 +11,11 @@ version ? # This is a workaround for update-source-version to be able to update this let - _version = "0-unstable-2025-07-29"; + _version = "0-unstable-2025-08-29"; in _version, - rev ? "3a4f5cea73eca32e9586e8145f97b04cbd4a1aee", - hash ? "sha256-Z7bTto8BHnJzjvmKmcVAZ0/BrXimcAETV6YGKNTorQw=", + rev ? "5d0a4153b0bcc86c5a23310d5b648a587be3c56d", + hash ? "sha256-WERLGrReUATmn3RhxtmyZcJBxdIY/WZqBDranCLDYEg=", }: stdenv.mkDerivation { diff --git a/pkgs/by-name/go/gopass-jsonapi/package.nix b/pkgs/by-name/go/gopass-jsonapi/package.nix index 91a8baccd8a1..b3f594155695 100644 --- a/pkgs/by-name/go/gopass-jsonapi/package.nix +++ b/pkgs/by-name/go/gopass-jsonapi/package.nix @@ -8,7 +8,6 @@ jq, gnupg, gopass, - apple-sdk_14, }: let @@ -45,11 +44,6 @@ buildGoModule rec { makeWrapper ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - # For ScreenCaptureKit.h, see https://github.com/NixOS/nixpkgs/pull/358760#discussion_r1858327365 - apple-sdk_14 - ]; - ldflags = [ "-s" "-w" diff --git a/pkgs/by-name/gr/grpc/package.nix b/pkgs/by-name/gr/grpc/package.nix index 0e71063ec0b0..2763b6a619f6 100644 --- a/pkgs/by-name/gr/grpc/package.nix +++ b/pkgs/by-name/gr/grpc/package.nix @@ -25,7 +25,7 @@ # nixpkgs-update: no auto update stdenv.mkDerivation rec { pname = "grpc"; - version = "1.75.1"; # N.B: if you change this, please update: + version = "1.76.0"; # N.B: if you change this, please update: # pythonPackages.grpcio # pythonPackages.grpcio-channelz # pythonPackages.grpcio-health-checking @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { owner = "grpc"; repo = "grpc"; tag = "v${version}"; - hash = "sha256-SnKK52VLO4MM/ftfmzRV/LeLfOucdIyHMyWk6EKRfvM="; + hash = "sha256-f25ccZC0pJw00ETgxBtXU6+0OnlJsV7zXjK/ayiCIJY="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/ha/harfbuzz/package.nix b/pkgs/by-name/ha/harfbuzz/package.nix index 3742ae131312..82fb59100c38 100644 --- a/pkgs/by-name/ha/harfbuzz/package.nix +++ b/pkgs/by-name/ha/harfbuzz/package.nix @@ -130,7 +130,7 @@ stdenv.mkDerivation (finalAttrs: { description = "OpenType text shaping engine"; homepage = "https://harfbuzz.github.io/"; changelog = "https://github.com/harfbuzz/harfbuzz/raw/${finalAttrs.version}/NEWS"; - maintainers = [ ]; + maintainers = [ maintainers.cobalt ]; license = licenses.mit; platforms = platforms.unix ++ platforms.windows; pkgConfigModules = [ diff --git a/pkgs/by-name/ic/icecast/package.nix b/pkgs/by-name/ic/icecast/package.nix index 5affabed1b52..7200b2e25c90 100644 --- a/pkgs/by-name/ic/icecast/package.nix +++ b/pkgs/by-name/ic/icecast/package.nix @@ -32,8 +32,6 @@ stdenv.mkDerivation rec { libopus ]; - hardeningEnable = [ "pie" ]; - meta = { description = "Server software for streaming multimedia"; mainProgram = "icecast"; diff --git a/pkgs/by-name/in/inih/package.nix b/pkgs/by-name/in/inih/package.nix index 14336b289ac7..4bfe3df86292 100644 --- a/pkgs/by-name/in/inih/package.nix +++ b/pkgs/by-name/in/inih/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "inih"; - version = "61"; + version = "62"; src = fetchFromGitHub { owner = "benhoyt"; repo = "inih"; rev = "r${version}"; - hash = "sha256-tSmdd9uAXaRQtnqj0hKuT0wofcZcYjqgPbhtaR+cr84="; + hash = "sha256-jnMGOncnH+ffgtyNzA8tZPtxPCR/yq9jmPsJZE4BhXo="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ip/iproute2/package.nix b/pkgs/by-name/ip/iproute2/package.nix index ea44bacf92f2..fd2e5d893031 100644 --- a/pkgs/by-name/ip/iproute2/package.nix +++ b/pkgs/by-name/ip/iproute2/package.nix @@ -26,20 +26,6 @@ stdenv.mkDerivation rec { }; patches = [ - (fetchurl { - name = "musl-endian.patch"; - url = "https://lore.kernel.org/netdev/20240712191209.31324-1-contact@hacktivis.me/raw"; - hash = "sha256-MX+P+PSEh6XlhoWgzZEBlOV9aXhJNd20Gi0fJCcSZ5E="; - }) - (fetchurl { - name = "musl-basename.patch"; - url = "https://lore.kernel.org/netdev/20240804161054.942439-1-dilfridge@gentoo.org/raw"; - hash = "sha256-47obv6mIn/HO47lt47slpTAFDxiQ3U/voHKzIiIGCTM="; - }) - ] - # Temporarily gated to keep rebuild counts under control. - # The proper fix (targeted to staging) is done in https://github.com/NixOS/nixpkgs/pull/451397 - ++ lib.optionals stdenv.hostPlatform.isMusl [ (fetchurl { name = "musl-redefinition.patch"; url = "https://lore.kernel.org/netdev/20251012124002.296018-1-yureka@cyberchaos.dev/raw"; diff --git a/pkgs/by-name/is/isc-cron/package.nix b/pkgs/by-name/is/isc-cron/package.nix index 137273c9f393..fb9b58c586f7 100644 --- a/pkgs/by-name/is/isc-cron/package.nix +++ b/pkgs/by-name/is/isc-cron/package.nix @@ -35,8 +35,6 @@ stdenv.mkDerivation (finalAttrs: { "DESTROOT=$(out)" ]; - hardeningEnable = [ "pie" ]; - unpackCmd = '' mkdir cron pushd cron diff --git a/pkgs/by-name/jj/jj-pre-push/package.nix b/pkgs/by-name/jj/jj-pre-push/package.nix index e38527c20d8f..1bf1c409b62d 100644 --- a/pkgs/by-name/jj/jj-pre-push/package.nix +++ b/pkgs/by-name/jj/jj-pre-push/package.nix @@ -2,6 +2,7 @@ lib, python3Packages, fetchFromGitHub, + fetchpatch2, }: python3Packages.buildPythonApplication rec { diff --git a/pkgs/by-name/ka/kanata/package.nix b/pkgs/by-name/ka/kanata/package.nix index 6b5fd10ceb63..6ffb65922076 100644 --- a/pkgs/by-name/ka/kanata/package.nix +++ b/pkgs/by-name/ka/kanata/package.nix @@ -2,8 +2,6 @@ stdenv, lib, gnused, - apple-sdk_13, - darwinMinVersionHook, rustPlatform, karabiner-dk, fetchFromGitHub, @@ -29,14 +27,9 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-LfjuQHR3vVUr2e0efVymnfCnyYkFRx7ZiNdSIjBZc5s="; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_13 - (darwinMinVersionHook "13.0") - ]; - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ (writeShellScriptBin "sw_vers" '' - echo 'ProductVersion: 13.0' + echo 'ProductVersion: ${stdenv.hostPlatform.darwinMinVersion}' '') ]; diff --git a/pkgs/by-name/ke/kexec-tools/package.nix b/pkgs/by-name/ke/kexec-tools/package.nix index d4afe126caa4..c11eff6bc3fa 100644 --- a/pkgs/by-name/ke/kexec-tools/package.nix +++ b/pkgs/by-name/ke/kexec-tools/package.nix @@ -12,22 +12,17 @@ stdenv.mkDerivation rec { pname = "kexec-tools"; - version = "2.0.31"; + version = "2.0.32"; src = fetchurl { urls = [ "mirror://kernel/linux/utils/kernel/kexec/${pname}-${version}.tar.xz" "http://horms.net/projects/kexec/kexec-tools/${pname}-${version}.tar.xz" ]; - sha256 = "sha256-io81Ddxm4ckFo6tSWn6bqWyB4E5w72k5ewFVtnuSLDE="; + sha256 = "sha256-j4FCKl/SNiz2ywAbUR5TVWXtDzLC9EUfteto/tZxCl0="; }; patches = [ - # Fix for static builds, will likely be removable on the next release - (fetchpatch { - url = "https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/patch/?id=daa29443819d3045338792b5ba950ed90e79d7a5"; - hash = "sha256-Nq5HIcLY6KSvvrs2sbfE/vovMbleJYElHW9AVRU5rSA="; - }) ] ++ lib.optionals (stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isAbiElfv2) [ # Use ELFv2 ABI on ppc64be @@ -42,7 +37,6 @@ stdenv.mkDerivation rec { "format" "pic" "relro" - "pie" ]; # Prevent kexec-tools from using uname to detect target, which is wrong in diff --git a/pkgs/by-name/ke/keydb/package.nix b/pkgs/by-name/ke/keydb/package.nix index c0fc9248be38..6d7bae68fc48 100644 --- a/pkgs/by-name/ke/keydb/package.nix +++ b/pkgs/by-name/ke/keydb/package.nix @@ -57,8 +57,6 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; - hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ]; - # darwin currently lacks a pure `pgrep` which is extensively used here doCheck = !stdenv.hostPlatform.isDarwin; nativeCheckInputs = [ diff --git a/pkgs/by-name/ko/koboldcpp/package.nix b/pkgs/by-name/ko/koboldcpp/package.nix index 02d441eca883..f50dc46d78ac 100644 --- a/pkgs/by-name/ko/koboldcpp/package.nix +++ b/pkgs/by-name/ko/koboldcpp/package.nix @@ -7,8 +7,6 @@ tk, addDriverRunpath, - apple-sdk_13, - koboldLiteSupport ? true, config, @@ -71,7 +69,6 @@ effectiveStdenv.mkDerivation (finalAttrs: { tk ] ++ finalAttrs.pythonInputs - ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_13 ] ++ lib.optionals cublasSupport [ cudaPackages.libcublas cudaPackages.cuda_nvcc diff --git a/pkgs/by-name/ks/ksh/package.nix b/pkgs/by-name/ks/ksh/package.nix index 86f06ae20266..b0780eebc8c1 100644 --- a/pkgs/by-name/ks/ksh/package.nix +++ b/pkgs/by-name/ks/ksh/package.nix @@ -50,6 +50,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/att/ast"; license = lib.licenses.cpl10; maintainers = with lib.maintainers; [ sigmanificient ]; + mainProgram = "ksh"; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/la/ladybird/package.nix b/pkgs/by-name/la/ladybird/package.nix index ba91f71d49a0..fcc04fcb579f 100644 --- a/pkgs/by-name/la/ladybird/package.nix +++ b/pkgs/by-name/la/ladybird/package.nix @@ -27,7 +27,6 @@ skia, nixosTests, unstableGitUpdater, - apple-sdk_14, libtommath, sdl3, }: @@ -107,9 +106,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optional stdenv.hostPlatform.isLinux [ libpulseaudio.dev qt6Packages.qtwayland - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_14 ]; cmakeFlags = [ diff --git a/pkgs/by-name/ld/ld64/package.nix b/pkgs/by-name/ld/ld64/package.nix index c6e5c7cff969..f6a1dfc2cdf8 100644 --- a/pkgs/by-name/ld/ld64/package.nix +++ b/pkgs/by-name/ld/ld64/package.nix @@ -119,6 +119,9 @@ stdenv.mkDerivation (finalAttrs: { xar ]; + # ld built with this fails to link glib's gio on x86_64 darwin + hardeningDisable = [ "libcxxhardeningfast" ]; + dontUseCmakeConfigure = true; # CMake is only needed because it’s used by Meson to find LLVM. # Note for overrides: ld64 cannot be built as a debug build because of UB in its iteration implementations, diff --git a/pkgs/by-name/li/libadwaita/package.nix b/pkgs/by-name/li/libadwaita/package.nix index 91c1f3cb8b1d..629f0fa4a4a7 100644 --- a/pkgs/by-name/li/libadwaita/package.nix +++ b/pkgs/by-name/li/libadwaita/package.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "libadwaita"; - version = "1.7.6"; + version = "1.7.8"; outputs = [ "out" @@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "GNOME"; repo = "libadwaita"; tag = finalAttrs.version; - hash = "sha256-HpjP6VSkEAFeXIFXLbndQzEWJwVvHe6B3aSwCz6KiIM="; + hash = "sha256-KeBKrr5+PXSvdqVk74/JJL5F6U+GcDUod2rPwLQz0OY="; }; depsBuildBuild = [ diff --git a/pkgs/by-name/li/libarchive/fix-darwin-tmpdir-handling.patch b/pkgs/by-name/li/libarchive/fix-darwin-tmpdir-handling.patch deleted file mode 100644 index 3e88c15dbdf2..000000000000 --- a/pkgs/by-name/li/libarchive/fix-darwin-tmpdir-handling.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 87bbe8ec8d343c70ae42ccb9606ec80ad73ceffb Mon Sep 17 00:00:00 2001 -From: Emily -Date: Tue, 29 Jul 2025 16:53:15 +0100 -Subject: [PATCH] Fix setup_mac_metadata when TMPDIR does not end with a slash - ---- - libarchive/archive_read_disk_entry_from_file.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libarchive/archive_read_disk_entry_from_file.c b/libarchive/archive_read_disk_entry_from_file.c -index 19d049770b..87389642db 100644 ---- a/libarchive/archive_read_disk_entry_from_file.c -+++ b/libarchive/archive_read_disk_entry_from_file.c -@@ -364,7 +364,7 @@ setup_mac_metadata(struct archive_read_disk *a, - tempdir = _PATH_TMP; - archive_string_init(&tempfile); - archive_strcpy(&tempfile, tempdir); -- archive_strcat(&tempfile, "tar.md.XXXXXX"); -+ archive_strcat(&tempfile, "/tar.md.XXXXXX"); - tempfd = mkstemp(tempfile.s); - if (tempfd < 0) { - archive_set_error(&a->archive, errno, diff --git a/pkgs/by-name/li/libarchive/package.nix b/pkgs/by-name/li/libarchive/package.nix index a6034a421eaa..f0bfd5355b44 100644 --- a/pkgs/by-name/li/libarchive/package.nix +++ b/pkgs/by-name/li/libarchive/package.nix @@ -6,7 +6,6 @@ attr, autoreconfHook, bzip2, - fetchpatch, glibcLocalesUtf8, lzo, openssl, @@ -32,29 +31,15 @@ assert xarSupport -> libxml2 != null; stdenv.mkDerivation (finalAttrs: { pname = "libarchive"; - version = "3.8.1"; + version = "3.8.2"; src = fetchFromGitHub { owner = "libarchive"; repo = "libarchive"; rev = "v${finalAttrs.version}"; - hash = "sha256-KN5SvQ+/g/OOa+hntMX3D8p5IEWO0smke5WK+DwrOH0="; + hash = "sha256-s7duwuNFyYq8obTS3qc6JewJ9f8LJhItlEx8wxnMgwk="; }; - patches = [ - # https://github.com/libarchive/libarchive/pull/2689 - # Remove after next release. - (fetchpatch { - url = "https://github.com/libarchive/libarchive/commit/489d0b8e2f1fafd3b7ebf98f389ca67462c34651.patch?full_index=1"; - hash = "sha256-r+tSJ+WA0VKCjg+8MfS5/RqcB+aAMZ2dK0YUh+U1q78="; - }) - # Fix the tests on Darwin when `$TMPDIR` does not end with a slash - # and its parent directory is not writable by the build user, as on - # Nix ≥ 2.30.0 and Lix ≥ 2.91.2, ≥ 2.92.2, ≥ 2.93.1. - # - ./fix-darwin-tmpdir-handling.patch - ]; - outputs = [ "out" "lib" diff --git a/pkgs/by-name/li/libdecor/package.nix b/pkgs/by-name/li/libdecor/package.nix index 1c1d8931ea8d..4e1c2e3e8819 100644 --- a/pkgs/by-name/li/libdecor/package.nix +++ b/pkgs/by-name/li/libdecor/package.nix @@ -16,14 +16,14 @@ stdenv.mkDerivation rec { pname = "libdecor"; - version = "0.2.3"; + version = "0.2.4"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "libdecor"; repo = "libdecor"; rev = version; - hash = "sha256-7h/Xfw8chzRmmWKcOyIB7KSL+ZzNGDpElfE22ReoJqY="; + hash = "sha256-l0MmNpC+449BaluynbzG5d0/v57F5rltOIBzBagkYbc="; }; outputs = [ diff --git a/pkgs/by-name/li/libdrm/package.nix b/pkgs/by-name/li/libdrm/package.nix index e9bb0c3d449b..9c38c381502e 100644 --- a/pkgs/by-name/li/libdrm/package.nix +++ b/pkgs/by-name/li/libdrm/package.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { pname = "libdrm"; - version = "2.4.126"; + version = "2.4.127"; src = fetchurl { url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-bKsW1NJZtqvJ9IUjOGNFQRSjwwfsqAZnmq0+2+lnv0I="; + hash = "sha256-BRrrPlQqV2IQGP/EQ/sIjdabeO7wzkgItgTOD+rJ9H8="; }; outputs = [ diff --git a/pkgs/by-name/li/libedit/package.nix b/pkgs/by-name/li/libedit/package.nix index 14bb1f1c532c..6f3caa1f45da 100644 --- a/pkgs/by-name/li/libedit/package.nix +++ b/pkgs/by-name/li/libedit/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "libedit"; - version = "20250104-3.1"; + version = "20251016-3.1"; src = fetchurl { url = "https://thrysoee.dk/editline/libedit-${finalAttrs.version}.tar.gz"; - hash = "sha256-I3knAWlFUKU3IGMM0c1hZxAbV3Ot3ctBBPc0W3OlaKw="; + hash = "sha256-ITYrAGU7v8HHH3GnV42ma1tSA1WdQxNNLddxnjE84EE="; }; outputs = [ diff --git a/pkgs/by-name/li/libfabric/package.nix b/pkgs/by-name/li/libfabric/package.nix index 11b83ef7a87c..47ce9db99b9b 100644 --- a/pkgs/by-name/li/libfabric/package.nix +++ b/pkgs/by-name/li/libfabric/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { pname = "libfabric"; - version = "2.3.0"; + version = "2.3.1"; enableParallelBuilding = true; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { owner = "ofiwg"; repo = "libfabric"; rev = "v${version}"; - sha256 = "sha256-pxSv6mg51It4+P1nAgXdWizTGpI31rn5+n3f4vD6ooY="; + sha256 = "sha256-Zaf7iGr2/HWiMcH7zERz5Y9YzJ0QpHCCs+bU+qmoQTI="; }; outputs = [ diff --git a/pkgs/by-name/li/libjxl/package.nix b/pkgs/by-name/li/libjxl/package.nix index af5041e2ca5b..d5615b27d1a0 100644 --- a/pkgs/by-name/li/libjxl/package.nix +++ b/pkgs/by-name/li/libjxl/package.nix @@ -5,6 +5,7 @@ fetchpatch, brotli, cmake, + ctestCheckHook, giflib, gperftools, gtest, @@ -97,6 +98,10 @@ stdenv.mkDerivation rec { libhwy ]; + nativeCheckInputs = [ + ctestCheckHook + ]; + cmakeFlags = [ # For C dependencies like brotli, which are dynamically linked, # we want to use the system libraries, so that we don't have to care about @@ -176,6 +181,30 @@ stdenv.mkDerivation rec { # https://github.com/NixOS/nixpkgs/pull/204030#issuecomment-1352768690 doCheck = with stdenv; !(hostPlatform.isi686 || isDarwin && isx86_64); + disabledTests = lib.optionals stdenv.hostPlatform.isBigEndian [ + # https://github.com/libjxl/libjxl/issues/3629 + "DecodeTest.ProgressionTestLosslessAlpha" + "DecodeTest.FlushTestLosslessProgressiveAlpha" + "EncodeTest.FrameSettingsTest" + "JxlTest.RoundtripAlphaResampling" + "JxlTest.RoundtripAlphaResamplingOnlyAlpha" + "JxlTest.RoundtripAlpha16" + "JxlTest.RoundtripProgressive" + "JxlTest.RoundtripProgressiveLevel2Slow" + "ModularTest.RoundtripLossyDeltaPalette" + "ModularTest.RoundtripLossy" + "ModularTest.RoundtripLossy16" + "PassesTest.ProgressiveDownsample2DegradesCorrectlyGrayscale" + "PassesTest.ProgressiveDownsample2DegradesCorrectly" + ]; + + ctestFlags = lib.optionals stdenv.hostPlatform.isBigEndian [ + # https://github.com/libjxl/libjxl/issues/3629 + # These didn't seem to be accepted via disabledTests + "--exclude-regex" + ".*bitSqueeze.*" + ]; + meta = with lib; { homepage = "https://github.com/libjxl/libjxl"; description = "JPEG XL image format reference implementation"; diff --git a/pkgs/by-name/li/libnbd/package.nix b/pkgs/by-name/li/libnbd/package.nix index 55fca95e0493..b0a9b3fd78d1 100644 --- a/pkgs/by-name/li/libnbd/package.nix +++ b/pkgs/by-name/li/libnbd/package.nix @@ -16,83 +16,80 @@ autoreconfHook, }: -lib.throwIf (buildOcamlBindings && !lib.versionAtLeast ocamlPackages.ocaml.version "4.05") - "OCaml binding are not available for OCaml < 4.05" +stdenv.mkDerivation rec { + pname = "libnbd"; + version = "1.22.1"; - stdenv.mkDerivation - rec { - pname = "libnbd"; - version = "1.22.1"; + src = fetchurl { + url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz"; + hash = "sha256-9oVJrU2YcXGnKaDf8SoHKGtG7vpH5355/DKIiYrchHI="; + }; - src = fetchurl { - url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz"; - hash = "sha256-9oVJrU2YcXGnKaDf8SoHKGtG7vpH5355/DKIiYrchHI="; - }; - - nativeBuildInputs = [ - bash-completion - pkg-config - perl - autoreconfHook + nativeBuildInputs = [ + bash-completion + pkg-config + perl + autoreconfHook + ] + ++ lib.optionals buildPythonBindings [ python3 ] + ++ lib.optionals buildOcamlBindings ( + with ocamlPackages; + [ + findlib + ocaml ] - ++ lib.optionals buildPythonBindings [ python3 ] - ++ lib.optionals buildOcamlBindings ( - with ocamlPackages; - [ - findlib - ocaml - ] - ); + ); - buildInputs = [ - fuse - fuse3 - gnutls - libxml2 - ]; + buildInputs = [ + fuse + fuse3 + gnutls + libxml2 + ]; - postPatch = lib.optionalString buildOcamlBindings '' - substituteInPlace ocaml/Makefile.am \ - --replace-fail '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib' + postPatch = lib.optionalString buildOcamlBindings '' + substituteInPlace ocaml/Makefile.am \ + --replace-fail '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib' + ''; + + configureFlags = lib.optionals buildPythonBindings [ + "--with-python-installdir=${placeholder "out"}/${python3.sitePackages}" + ]; + + installFlags = [ "bashcompdir=$(out)/share/bash-completion/completions" ]; + + postInstall = lib.optionalString buildPythonBindings '' + LIBNBD_PYTHON_METADATA='${placeholder "out"}/${python3.sitePackages}/nbd-${version}.dist-info/METADATA' + install -Dm644 -T ${./libnbd-metadata} $LIBNBD_PYTHON_METADATA + substituteAllInPlace $LIBNBD_PYTHON_METADATA + ''; + + meta = with lib; { + homepage = "https://gitlab.com/nbdkit/libnbd"; + description = "Network Block Device client library in userspace"; + longDescription = '' + NBD — Network Block Device — is a protocol for accessing Block Devices + (hard disks and disk-like things) over a Network. This is the NBD client + library in userspace, a simple library for writing NBD clients. + + The key features are: + - Synchronous API for ease of use. + - Asynchronous API for writing non-blocking, multithreaded clients. You + can mix both APIs freely. + - High performance. + - Minimal dependencies for the basic library. + - Well-documented, stable API. + - Bindings in several programming languages. + - Shell (nbdsh) for command line and scripting. ''; - - configureFlags = lib.optionals buildPythonBindings [ - "--with-python-installdir=${placeholder "out"}/${python3.sitePackages}" + license = with licenses; lgpl21Plus; + maintainers = with maintainers; [ + humancalico ]; - - installFlags = [ "bashcompdir=$(out)/share/bash-completion/completions" ]; - - postInstall = lib.optionalString buildPythonBindings '' - LIBNBD_PYTHON_METADATA='${placeholder "out"}/${python3.sitePackages}/nbd-${version}.dist-info/METADATA' - install -Dm644 -T ${./libnbd-metadata} $LIBNBD_PYTHON_METADATA - substituteAllInPlace $LIBNBD_PYTHON_METADATA - ''; - - meta = with lib; { - homepage = "https://gitlab.com/nbdkit/libnbd"; - description = "Network Block Device client library in userspace"; - longDescription = '' - NBD — Network Block Device — is a protocol for accessing Block Devices - (hard disks and disk-like things) over a Network. This is the NBD client - library in userspace, a simple library for writing NBD clients. - - The key features are: - - Synchronous API for ease of use. - - Asynchronous API for writing non-blocking, multithreaded clients. You - can mix both APIs freely. - - High performance. - - Minimal dependencies for the basic library. - - Well-documented, stable API. - - Bindings in several programming languages. - - Shell (nbdsh) for command line and scripting. - ''; - license = with licenses; lgpl21Plus; - maintainers = with maintainers; [ - humancalico - ]; - platforms = with platforms; linux; - }; - } + platforms = with platforms; linux; + broken = buildOcamlBindings && !lib.versionAtLeast ocamlPackages.ocaml.version "4.05"; + }; +} # TODO: package the 1.6-stable version too # TODO: git version needs ocaml # TODO: bindings for go diff --git a/pkgs/by-name/li/librsvg/expect-any-error-too-many-elements.patch b/pkgs/by-name/li/librsvg/expect-any-error-too-many-elements.patch deleted file mode 100644 index 94f145bb744c..000000000000 --- a/pkgs/by-name/li/librsvg/expect-any-error-too-many-elements.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/rsvg/tests/errors.rs b/rsvg/tests/errors.rs -index 02b134bee..46391fa5d 100644 ---- a/rsvg/tests/errors.rs -+++ b/rsvg/tests/errors.rs -@@ -14,15 +14,12 @@ use rsvg::{CairoRenderer, ImplementationLimit, Loader, LoadingError, RenderingEr - - #[ignore] - #[test] -+#[should_panic] - fn too_many_elements() { - let name = "tests/fixtures/errors/bug515-too-many-elements.svgz"; - -- assert!(matches!( -- Loader::new().read_path(name), -- Err(LoadingError::LimitExceeded( -- ImplementationLimit::TooManyLoadedElements -- )) -- )); -+ // libxml2 might return an error without updating the element count, so just expect any error, not specifically too many elements -+ Loader::new().read_path(name).unwrap(); - } - - fn rendering_instancing_limit(name: &str) { diff --git a/pkgs/by-name/li/librsvg/package.nix b/pkgs/by-name/li/librsvg/package.nix index 4317c8cbb319..978cc3cad3b7 100644 --- a/pkgs/by-name/li/librsvg/package.nix +++ b/pkgs/by-name/li/librsvg/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + fetchpatch, pkg-config, meson, ninja, @@ -49,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "librsvg"; - version = "2.61.1"; + version = "2.61.2"; outputs = [ "out" @@ -61,24 +62,23 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "mirror://gnome/sources/librsvg/${lib.versions.majorMinor finalAttrs.version}/librsvg-${finalAttrs.version}.tar.xz"; - hash = "sha256-vBu81BkSCwmNsovqVTNdneJHDU5qn27pcge0EPwVhn0="; + hash = "sha256-RkTYNiPdYcxEecKzw3Lh2isoFVLryQA1yNGsUC6x3AA="; }; patches = [ - # too_many_elements test fails with libxml 2.15.0, - # because libxml2 no longer updates the element count - # before erroring out, which breaks the librsvg limit check. - # - # This is okay, because the error is still detected. - # The error is simply not reported accurately. - # https://gitlab.gnome.org/GNOME/librsvg/-/issues/1201 - ./expect-any-error-too-many-elements.patch + (fetchpatch { + # https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/1149 + # libxml 2.15+ requires adjustments to error handling + # remove next librsvg release + url = "https://gitlab.gnome.org/GNOME/librsvg/-/commit/6663df8e9aec323f0c124e97a7c7447a90c67c4a.patch"; + hash = "sha256-+iyRvxVMxSCW0IIizXXheBFytwhBtU4cyJNTBebCOSg="; + }) ]; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) src; name = "librsvg-deps-${finalAttrs.version}"; - hash = "sha256-3DAFyY7uNB5cP8ry28v12QsFdxHtpr1nyLtzhojBq7c="; + hash = "sha256-OZspQg9ryDNILUZMiB77vIF0uGCMyVe7blX5BJk102k="; dontConfigure = true; }; diff --git a/pkgs/by-name/li/livekit-libwebrtc/package.nix b/pkgs/by-name/li/livekit-libwebrtc/package.nix index fe5235d5b492..89fbc8ec6f11 100644 --- a/pkgs/by-name/li/livekit-libwebrtc/package.nix +++ b/pkgs/by-name/li/livekit-libwebrtc/package.nix @@ -9,7 +9,6 @@ xcbuild, python3, ninja, - apple-sdk_14, darwinMinVersionHook, git, cpio, @@ -191,11 +190,7 @@ stdenv.mkDerivation { glib alsa-lib pulseaudio - ]) - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_14 - (darwinMinVersionHook "12.3") - ]; + ]); preConfigure = '' echo "generate_location_tags = true" >> build/config/gclient_args.gni @@ -234,7 +229,7 @@ stdenv.mkDerivation { "is_clang=false" ]) ++ (lib.optionals stdenv.hostPlatform.isDarwin [ - ''mac_deployment_target="12.3"'' + ''mac_deployment_target="${stdenv.hostPlatform.darwinMinVersion}"'' "rtc_enable_symbol_export=true" "rtc_enable_objc_symbol_export=true" "rtc_include_dav1d_in_internal_decoder_factory=true" diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix index 5aa3e6002e84..25c280427307 100644 --- a/pkgs/by-name/ll/llama-cpp/package.nix +++ b/pkgs/by-name/ll/llama-cpp/package.nix @@ -30,7 +30,6 @@ metalSupport ? stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 && !openclSupport, vulkanSupport ? false, rpcSupport ? false, - apple-sdk_14, curl, llama-cpp, shaderc, @@ -106,7 +105,6 @@ effectiveStdenv.mkDerivation (finalAttrs: { ++ optionals rocmSupport rocmBuildInputs ++ optionals blasSupport [ blas ] ++ optionals vulkanSupport vulkanBuildInputs - ++ optionals metalSupport [ apple-sdk_14 ] ++ [ curl ]; preConfigure = '' diff --git a/pkgs/by-name/lu/luit/package.nix b/pkgs/by-name/lu/luit/package.nix index 8be9df590ad7..86cc09527242 100644 --- a/pkgs/by-name/lu/luit/package.nix +++ b/pkgs/by-name/lu/luit/package.nix @@ -8,11 +8,11 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "luit"; - version = "20240910"; + version = "20250912"; src = fetchurl { url = "https://invisible-mirror.net/archives/luit/luit-${finalAttrs.version}.tgz"; - hash = "sha256-oV1/y/wlrhRT1hrsI/9roEFF1ue3s7AHHrXP2jo6SdU="; + hash = "sha256-RpWAYOZvNby4pRuiLaHBPXJtKKhsHPUgURvPeRS+854="; }; hardeningDisable = [ "bindnow" diff --git a/pkgs/by-name/lw/lwan/package.nix b/pkgs/by-name/lw/lwan/package.nix index fc93de1a31b2..7f6a9e0b54a0 100644 --- a/pkgs/by-name/lw/lwan/package.nix +++ b/pkgs/by-name/lw/lwan/package.nix @@ -31,8 +31,6 @@ stdenv.mkDerivation rec { # Note: tcmalloc and mimalloc are also supported (and normal malloc) cmakeFlags = lib.optional enableJemalloc "-DUSE_ALTERNATIVE_MALLOC=jemalloc"; - hardeningDisable = lib.optional stdenv.hostPlatform.isMusl "pie"; - meta = with lib; { description = "Lightweight high-performance multi-threaded web server"; mainProgram = "lwan"; diff --git a/pkgs/by-name/ly/lynx/package.nix b/pkgs/by-name/ly/lynx/package.nix index c5e48d45e42f..9aedcccb6e81 100644 --- a/pkgs/by-name/ly/lynx/package.nix +++ b/pkgs/by-name/ly/lynx/package.nix @@ -25,8 +25,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - hardeningEnable = [ "pie" ]; - configureFlags = [ "--enable-default-colors" "--enable-widec" diff --git a/pkgs/by-name/ma/maturin/package.nix b/pkgs/by-name/ma/maturin/package.nix index abb2695d21a1..51d013195197 100644 --- a/pkgs/by-name/ma/maturin/package.nix +++ b/pkgs/by-name/ma/maturin/package.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage rec { pname = "maturin"; - version = "1.9.5"; + version = "1.9.6"; src = fetchFromGitHub { owner = "PyO3"; repo = "maturin"; rev = "v${version}"; - hash = "sha256-2WiQtNuhuCJfKIoRKNFaX50Jah4nn2aqlAGrRq/+kww="; + hash = "sha256-hMMX59nq9Wusb0XZb8i5/EmQiPL4WopuZX7maycj0J4="; }; - cargoHash = "sha256-lLWQy9f7vQ+8K0gOCcantAf5644v6Y6MDRvaBvJZJKA="; + cargoHash = "sha256-hNFbRtt/sVlEffu7RgXxC1NHzakP8miMyHIV/cf4sfM="; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv diff --git a/pkgs/by-name/me/memcached/package.nix b/pkgs/by-name/me/memcached/package.nix index dcce7f82a05e..ce401cc550f3 100644 --- a/pkgs/by-name/me/memcached/package.nix +++ b/pkgs/by-name/me/memcached/package.nix @@ -25,8 +25,6 @@ stdenv.mkDerivation rec { libevent ]; - hardeningEnable = [ "pie" ]; - env.NIX_CFLAGS_COMPILE = toString ( [ "-Wno-error=deprecated-declarations" ] ++ lib.optional stdenv.hostPlatform.isDarwin "-Wno-error" ); diff --git a/pkgs/by-name/me/mercurial/package.nix b/pkgs/by-name/me/mercurial/package.nix index 7df8e2b3955e..c6137a31a783 100644 --- a/pkgs/by-name/me/mercurial/package.nix +++ b/pkgs/by-name/me/mercurial/package.nix @@ -30,7 +30,7 @@ let inherit (python3Packages) docutils python - fb-re2 + google-re2 pygit2 pygments setuptools @@ -64,7 +64,7 @@ let cargoRoot = if rustSupport then "rust" else null; propagatedBuildInputs = - lib.optional re2Support fb-re2 + lib.optional re2Support google-re2 ++ lib.optional gitSupport pygit2 ++ lib.optional highlightSupport pygments; nativeBuildInputs = [ diff --git a/pkgs/by-name/ml/mlt/package.nix b/pkgs/by-name/ml/mlt/package.nix index 41e7af71554e..ae965a28077c 100644 --- a/pkgs/by-name/ml/mlt/package.nix +++ b/pkgs/by-name/ml/mlt/package.nix @@ -6,7 +6,7 @@ cmake, pkg-config, which, - ffmpeg, + ffmpeg_7, fftw, frei0r, libdv, @@ -71,8 +71,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - (opencv4.override { inherit ffmpeg; }) - ffmpeg + (opencv4.override { inherit ffmpeg_7; }) + ffmpeg_7 fftw frei0r libdv @@ -137,7 +137,7 @@ stdenv.mkDerivation rec { ''; passthru = { - inherit ffmpeg; + ffmpeg = ffmpeg_7; }; passthru.updateScript = gitUpdater { diff --git a/pkgs/by-name/mo/moltenvk/package.nix b/pkgs/by-name/mo/moltenvk/package.nix index 576cab57fa59..635d6ceab848 100644 --- a/pkgs/by-name/mo/moltenvk/package.nix +++ b/pkgs/by-name/mo/moltenvk/package.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "MoltenVK"; - version = "1.3.0"; + version = "1.4.0"; strictDeps = true; @@ -47,10 +47,17 @@ stdenv.mkDerivation (finalAttrs: { owner = "KhronosGroup"; repo = "MoltenVK"; rev = "v${finalAttrs.version}"; - hash = "sha256-V69P1t48XP/pAPgpVsnFeCBidhHk60XGHRkHF6AEke0="; + hash = "sha256-ydXyah6/J6/1Lzuv+7JnMurkqnvQPs+6Vec0uUrxGq0="; }; postPatch = '' + # Update the deployment target for the minimum target used by nixpkgs. + while IFS= read -d "" proj; do + echo "Updating deployment target to ${stdenv.hostPlatform.darwinMinVersion}: $proj" + substituteInPlace "$proj" \ + --replace-fail 'MACOSX_DEPLOYMENT_TARGET = 10.15' "MACOSX_DEPLOYMENT_TARGET = $MACOSX_DEPLOYMENT_TARGET" + done < <(grep -Z -rl --include=project.pbxproj MACOSX_DEPLOYMENT_TARGET) + # Move `mvkGitRevDerived.h` to a stable location substituteInPlace Scripts/gen_moltenvk_rev_hdr.sh \ --replace-fail '$'''{BUILT_PRODUCTS_DIR}' "$NIX_BUILD_TOP/$sourceRoot/build/include" \ @@ -91,7 +98,11 @@ stdenv.mkDerivation (finalAttrs: { ''; env.NIX_CFLAGS_COMPILE = toString ( - lib.optional (stdenv.cc.libcxx != null) "-isystem ${lib.getInclude stdenv.cc.libcxx}/include/c++/v1" + # MoltenVK does its own checks for availability by probing the version at runtime and checking the MSL version. + [ "-Wno-error=unguarded-availability" ] + ++ lib.optional ( + stdenv.cc.libcxx != null + ) "-isystem ${lib.getInclude stdenv.cc.libcxx}/include/c++/v1" ++ [ "-I${lib.getDev spirv-cross}/include/spirv_cross" "-I${lib.getDev spirv-headers}/include/spirv/unified1" diff --git a/pkgs/by-name/mu/mupdf/package.nix b/pkgs/by-name/mu/mupdf/package.nix index 82447b34a4c5..cd1bea612afa 100644 --- a/pkgs/by-name/mu/mupdf/package.nix +++ b/pkgs/by-name/mu/mupdf/package.nix @@ -38,17 +38,13 @@ xcbuild, gitUpdater, enableBarcode ? false, - # for passthru.tests cups-filters, zathura, mupdf, }: - assert enablePython -> enableCxx; - let - freeglut-mupdf = freeglut.overrideAttrs (old: rec { pname = "freeglut-mupdf"; version = "3.0.0-r${src.rev}"; @@ -67,16 +63,14 @@ let --replace-fail "CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR)" "CMAKE_MINIMUM_REQUIRED(VERSION 3.10 FATAL_ERROR)" ''; }); - in - stdenv.mkDerivation rec { - version = "1.26.8"; + version = "1.26.10"; pname = "mupdf"; src = fetchurl { url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz"; - hash = "sha256-6NJIpmbSOG9KIBTWgLbojeXOn9jIR7DidMvswSTzPMc="; + hash = "sha256-FlPzW9j72XDwVSPv3H+G5B6XKOJWSjKVKW4Dz1mlFDc="; }; patches = [ diff --git a/pkgs/by-name/mv/mvfst/package.nix b/pkgs/by-name/mv/mvfst/package.nix index 01a9af81b1c8..65952f295588 100644 --- a/pkgs/by-name/mv/mvfst/package.nix +++ b/pkgs/by-name/mv/mvfst/package.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "mvfst"; - version = "2025.09.15.00"; + version = "2025.10.13.00"; outputs = [ "bin" @@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "mvfst"; tag = "v${finalAttrs.version}"; - hash = "sha256-ZgzqkR72xtO5VVd2cyMM3vSsUWdW6HEvu9T1sM+cPi8="; + hash = "sha256-bsg+Zqv+aEDH6r6lZazCG25Wj2zG/VSgpmEOKrb44/k="; }; patches = [ @@ -126,6 +126,7 @@ stdenv.mkDerivation (finalAttrs: { ris emily techknowlogick + lf- ]; }; }) diff --git a/pkgs/by-name/nc/nchat/package.nix b/pkgs/by-name/nc/nchat/package.nix index 8ee45785f8cd..8f544f0d79a5 100644 --- a/pkgs/by-name/nc/nchat/package.nix +++ b/pkgs/by-name/nc/nchat/package.nix @@ -13,7 +13,6 @@ gperf, nix-update-script, withWhatsApp ? true, - apple-sdk_12, }: let @@ -88,10 +87,6 @@ stdenv.mkDerivation rec { readline sqlite zlib - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # For SecTrustCopyCertificateChain, see https://github.com/NixOS/nixpkgs/pull/445063#pullrequestreview-3261846621 - apple-sdk_12 ]; cmakeFlags = [ diff --git a/pkgs/by-name/ne/netbox_4_3/package.nix b/pkgs/by-name/ne/netbox_4_3/package.nix index 81af0510f3ae..dc5807639598 100644 --- a/pkgs/by-name/ne/netbox_4_3/package.nix +++ b/pkgs/by-name/ne/netbox_4_3/package.nix @@ -121,6 +121,9 @@ py.pkgs.buildPythonApplication rec { description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool"; mainProgram = "netbox"; license = lib.licenses.asl20; + knownVulnerabilities = [ + "Netbox Version ${version} is EOL; please upgrade by following the current release notes instructions" + ]; maintainers = with lib.maintainers; [ minijackson raitobezarius diff --git a/pkgs/by-name/ne/netbox_4_4/custom-static-root.patch b/pkgs/by-name/ne/netbox_4_4/custom-static-root.patch new file mode 100644 index 000000000000..c9219fa2b871 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_4/custom-static-root.patch @@ -0,0 +1,13 @@ +diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py +index 2de06dd10..00406af48 100644 +--- a/netbox/netbox/settings.py ++++ b/netbox/netbox/settings.py +@@ -410,7 +412,7 @@ USE_X_FORWARDED_HOST = True + X_FRAME_OPTIONS = 'SAMEORIGIN' + + # Static files (CSS, JavaScript, Images) +-STATIC_ROOT = BASE_DIR + '/static' ++STATIC_ROOT = getattr(configuration, 'STATIC_ROOT', os.path.join(BASE_DIR, 'static')).rstrip('/') + STATIC_URL = f'/{BASE_PATH}static/' + STATICFILES_DIRS = ( + os.path.join(BASE_DIR, 'project-static', 'dist'), diff --git a/pkgs/by-name/ne/netbox_4_4/package.nix b/pkgs/by-name/ne/netbox_4_4/package.nix new file mode 100644 index 000000000000..cd59bfeae268 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_4/package.nix @@ -0,0 +1,132 @@ +{ + lib, + fetchFromGitHub, + python3, + plugins ? _ps: [ ], + nixosTests, + nix-update-script, +}: +let + py = python3.override { + self = py; + packageOverrides = _final: prev: { django = prev.django_5_2; }; + }; + + extraBuildInputs = plugins py.pkgs; +in +py.pkgs.buildPythonApplication rec { + pname = "netbox"; + version = "4.4.2"; + pyproject = false; + + src = fetchFromGitHub { + owner = "netbox-community"; + repo = "netbox"; + tag = "v${version}"; + hash = "sha256-1POwxp7BTCZo7JlGrLVGNzBGCplmhZ0Y6wujunIVGsA="; + }; + + patches = [ + ./custom-static-root.patch + ]; + + dependencies = + ( + with py.pkgs; + [ + colorama + django + django-cors-headers + django-debug-toolbar + django-filter + django-graphiql-debug-toolbar + django-htmx + django-mptt + django-pglocks + django-prometheus + django-redis + django-rq + django-storages + django-tables2 + django-taggit + django-timezone-field + djangorestframework + drf-spectacular + drf-spectacular-sidecar + feedparser + jinja2 + markdown + netaddr + nh3 + pillow + psycopg + pyyaml + requests + social-auth-core + social-auth-app-django + sorl-thumbnail + strawberry-graphql + strawberry-django + svgwrite + tablib + + # Optional dependencies, kept here for backward compatibility + + # for the S3 data source backend + boto3 + # for Git data source backend + dulwich + # for error reporting + sentry-sdk + ] + ++ psycopg.optional-dependencies.c + ++ psycopg.optional-dependencies.pool + ++ social-auth-core.optional-dependencies.openidconnect + ) + ++ extraBuildInputs; + + nativeBuildInputs = with py.pkgs; [ + mkdocs-material + mkdocs-material-extensions + mkdocstrings + mkdocstrings-python + ]; + + postBuild = '' + PYTHONPATH=$PYTHONPATH:netbox/ + ${py.interpreter} -m mkdocs build + ''; + + installPhase = '' + mkdir -p $out/opt/netbox + cp -r . $out/opt/netbox + chmod +x $out/opt/netbox/netbox/manage.py + makeWrapper $out/opt/netbox/netbox/manage.py $out/bin/netbox \ + --prefix PYTHONPATH : "$PYTHONPATH" + ''; + + passthru = { + python = py; + # PYTHONPATH of all dependencies used by the package + pythonPath = py.pkgs.makePythonPath dependencies; + inherit (py.pkgs) gunicorn; + tests = { + netbox = nixosTests.netbox_4_3; + inherit (nixosTests) netbox-upgrade; + }; + updateScript = nix-update-script { }; + }; + + meta = { + homepage = "https://github.com/netbox-community/netbox"; + changelog = "https://github.com/netbox-community/netbox/blob/${src.tag}/docs/release-notes/version-${lib.versions.majorMinor version}.md"; + description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool"; + mainProgram = "netbox"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + minijackson + raitobezarius + transcaffeine + ]; + }; +} diff --git a/pkgs/by-name/ne/netclient/package.nix b/pkgs/by-name/ne/netclient/package.nix index aa368abda7c2..645aba44e5d1 100644 --- a/pkgs/by-name/ne/netclient/package.nix +++ b/pkgs/by-name/ne/netclient/package.nix @@ -21,8 +21,6 @@ buildGoModule rec { buildInputs = lib.optional stdenv.hostPlatform.isLinux libX11; - hardeningEnabled = [ "pie" ]; - meta = { description = "Automated WireGuard® Management Client"; mainProgram = "netclient"; diff --git a/pkgs/by-name/nl/nlohmann_json/package.nix b/pkgs/by-name/nl/nlohmann_json/package.nix index 23b36c48cffd..d32c7366011b 100644 --- a/pkgs/by-name/nl/nlohmann_json/package.nix +++ b/pkgs/by-name/nl/nlohmann_json/package.nix @@ -25,6 +25,13 @@ stdenv.mkDerivation (finalAttrs: { }; patches = [ + # Fix missing char8_t support + # https://github.com/nlohmann/json/pull/4736 + (fetchpatch { + name = "fix-char8_t.patch"; + url = "https://github.com/nlohmann/json/commit/756ca22ec5b0d89b5d107b4c30891d1293650c87.patch?full_index=1"; + hash = "sha256-OK8FIXClj5paZNiEvPwJWr5PxyVYtJ3zkRlcZoe8d20="; + }) # Musl does not support LC_NUMERIC, causing a test failure. # Turn the error into a warning to make the test succeed. # https://github.com/nlohmann/json/pull/4770 diff --git a/pkgs/by-name/nt/ntp/package.nix b/pkgs/by-name/nt/ntp/package.nix index 3f1fb3134c68..fcf00bce2845 100644 --- a/pkgs/by-name/nt/ntp/package.nix +++ b/pkgs/by-name/nt/ntp/package.nix @@ -45,8 +45,6 @@ stdenv.mkDerivation rec { libcap ]; - hardeningEnable = [ "pie" ]; - postInstall = '' rm -rf $out/share/doc ''; diff --git a/pkgs/by-name/op/openjpeg/package.nix b/pkgs/by-name/op/openjpeg/package.nix index 4e6920fa3d40..8d4ca00ca6df 100644 --- a/pkgs/by-name/op/openjpeg/package.nix +++ b/pkgs/by-name/op/openjpeg/package.nix @@ -34,36 +34,21 @@ let test-data = fetchFromGitHub { owner = "uclouvain"; repo = "openjpeg-data"; - rev = "a428429db695fccfc6d698bd13b6937dffd9d005"; - hash = "sha256-udUi7sPNQJ5uCIAM8SqMGee6vRj1QbF9pLjdpNTQE5k="; + rev = "39524bd3a601d90ed8e0177559400d23945f96a9"; + hash = "sha256-ckZHCZV5UJicVUoi/mZDwvCJneXC3X+NA8Byp6GLE0w="; }; in stdenv.mkDerivation rec { pname = "openjpeg"; - version = "2.5.2"; + version = "2.5.4"; src = fetchFromGitHub { owner = "uclouvain"; repo = "openjpeg"; rev = "v${version}"; - hash = "sha256-mQ9B3MJY2/bg0yY/7jUJrAXM6ozAHT5fmwES5Q1SGxw="; + hash = "sha256-HSXGdpHUbwlYy5a+zKpcLo2d+b507Qf5nsaMghVBlZ8="; }; - patches = [ - (fetchpatch { - # https://github.com/uclouvain/openjpeg/issues/1564 - name = "CVE-2024-56826_ISSUE1564.patch"; - url = "https://github.com/uclouvain/openjpeg/commit/e492644fbded4c820ca55b5e50e598d346e850e8.patch"; - hash = "sha256-v+odu4/MXRA+RKOlPO+m/Xk66BMH6mOcEN4ScHn3VAo="; - }) - (fetchpatch { - # https://github.com/uclouvain/openjpeg/issues/1563 - name = "CVE-2024-56826_ISSUE1563.patch"; - url = "https://github.com/uclouvain/openjpeg/commit/98592ee6d6904f1b48e8207238779b89a63befa2.patch"; - hash = "sha256-1ScnEZAPuvclyRME5kbeo7dBMG31Njs5CaYC4sGyx08="; - }) - ]; - outputs = [ "out" "dev" diff --git a/pkgs/by-name/p1/p11-kit/package.nix b/pkgs/by-name/p1/p11-kit/package.nix index d770115b423d..bbdf20b66a93 100644 --- a/pkgs/by-name/p1/p11-kit/package.nix +++ b/pkgs/by-name/p1/p11-kit/package.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "p11-kit"; - version = "0.25.9"; + version = "0.25.10"; src = fetchFromGitHub { owner = "p11-glue"; repo = "p11-kit"; tag = version; - hash = "sha256-lvm//lsG5xSz1dBuvp4bJvNS+zCYTuAqXC22Po95JJg="; + hash = "sha256-srZyY14PqPoPMcEj/3WWEPrBuCcAGibvziKgZV1vxO8="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/pd/pdfmixtool/package.nix b/pkgs/by-name/pd/pdfmixtool/package.nix new file mode 100644 index 000000000000..59c43ddb578f --- /dev/null +++ b/pkgs/by-name/pd/pdfmixtool/package.nix @@ -0,0 +1,46 @@ +{ + lib, + stdenv, + fetchFromGitLab, + cmake, + pkg-config, + qt6Packages, + qpdf, + podofo, + imagemagick, +}: + +stdenv.mkDerivation rec { + pname = "pdfmixtool"; + version = "1.2.1"; + + src = fetchFromGitLab { + owner = "scarpetta"; + repo = "pdfmixtool"; + rev = "v${version}"; + hash = "sha256-UuRTMLlUIyo2RF+XjI229kkE67ybmllIy98p97PjWCE="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + qt6Packages.wrapQtAppsHook + ]; + + buildInputs = [ + imagemagick + qt6Packages.poppler + qt6Packages.qtbase + qt6Packages.qttools + qpdf + podofo + ]; + + meta = with lib; { + description = "Application to split, merge, rotate and mix PDF files"; + mainProgram = "pdfmixtool"; + homepage = "https://gitlab.com/scarpetta/pdfmixtool"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ onny ]; + }; +} diff --git a/pkgs/by-name/po/ponyc/package.nix b/pkgs/by-name/po/ponyc/package.nix index 2068b56ed7da..7aa807050d9c 100644 --- a/pkgs/by-name/po/ponyc/package.nix +++ b/pkgs/by-name/po/ponyc/package.nix @@ -3,10 +3,9 @@ nix-update-script, stdenv, fetchFromGitHub, - apple-sdk_13, + apple-sdk, cmake, coreutils, - darwinMinVersionHook, libxml2, lto ? true, makeWrapper, @@ -59,9 +58,6 @@ stdenv.mkDerivation rec { git ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Keep in sync with `PONY_OSX_PLATFORM`. - apple-sdk_13 - (darwinMinVersionHook "13.0") cctools.libtool ]; @@ -77,7 +73,7 @@ stdenv.mkDerivation rec { ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ (replaceVars ./fix-darwin-build.patch { - apple-sdk = apple-sdk_13; + inherit apple-sdk; }) ]; diff --git a/pkgs/by-name/po/postfix/package.nix b/pkgs/by-name/po/postfix/package.nix index e801abfa0c04..ffabc89ef7a5 100644 --- a/pkgs/by-name/po/postfix/package.nix +++ b/pkgs/by-name/po/postfix/package.nix @@ -100,7 +100,6 @@ stdenv.mkDerivation rec { ++ lib.optional withTLSRPT libtlsrpt; hardeningDisable = [ "format" ]; - hardeningEnable = [ "pie" ]; patches = [ ./postfix-script-shell.patch diff --git a/pkgs/by-name/pr/prismlauncher-unwrapped/package.nix b/pkgs/by-name/pr/prismlauncher-unwrapped/package.nix index c08ca124feae..c7c579ad6f35 100644 --- a/pkgs/by-name/pr/prismlauncher-unwrapped/package.nix +++ b/pkgs/by-name/pr/prismlauncher-unwrapped/package.nix @@ -74,8 +74,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optional gamemodeSupport gamemode; - hardeningEnable = lib.optionals stdenv.hostPlatform.isLinux [ "pie" ]; - cmakeFlags = [ # downstream branding (lib.cmakeFeature "Launcher_BUILD_PLATFORM" "nixpkgs") diff --git a/pkgs/by-name/pu/publicsuffix-list/package.nix b/pkgs/by-name/pu/publicsuffix-list/package.nix index 491b7adaa8ed..1edfa926dd47 100644 --- a/pkgs/by-name/pu/publicsuffix-list/package.nix +++ b/pkgs/by-name/pu/publicsuffix-list/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation { pname = "publicsuffix-list"; - version = "0-unstable-2025-08-28"; + version = "0-unstable-2025-10-08"; src = fetchFromGitHub { owner = "publicsuffix"; repo = "list"; - rev = "4103956c4300902436b03d7da482536e757b3601"; - hash = "sha256-QIjDAbPfbdV+V4RV6v8/85YTxiRbXLBlulObXpkPmxQ="; + rev = "ee7dec4a99602baaf51879dd8469b6642881a494"; + hash = "sha256-IlR3dICad9EZeizI3V0A1YCQZiV/xg2GxtmTLG4EASU="; }; dontBuild = true; diff --git a/pkgs/by-name/py/pyright/package.nix b/pkgs/by-name/py/pyright/package.nix index dea2ba75cea0..99f9dbab6530 100644 --- a/pkgs/by-name/py/pyright/package.nix +++ b/pkgs/by-name/py/pyright/package.nix @@ -7,13 +7,13 @@ }: let - version = "1.1.406"; + version = "1.1.407"; src = fetchFromGitHub { owner = "Microsoft"; repo = "pyright"; tag = version; - hash = "sha256-hSPnUjIZf9od1u7PwgEFDXGWmizjdqSiXjb45wZIM9Q="; + hash = "sha256-TQrmA65CzXar++79DLRWINaMsjoqNFdvNlwDzAcqOjM="; }; patchedPackageJSON = runCommand "package.json" { } '' @@ -44,7 +44,7 @@ let pname = "pyright-internal"; inherit version src; sourceRoot = "${src.name}/packages/pyright-internal"; - npmDepsHash = "sha256-BzyZEJUOEqPBpPrVNhf/kDOBS3Q4Hgkpfz+JDccHr4g="; + npmDepsHash = "sha256-0czcnWOgIp/KtqBts908r4vGgMuwFLvIom89v+uCzpk="; dontNpmBuild = true; installPhase = '' runHook preInstall @@ -58,7 +58,7 @@ buildNpmPackage rec { inherit version src; sourceRoot = "${src.name}/packages/pyright"; - npmDepsHash = "sha256-Ye8r7m4755GfU74G8Neetu+BlrHQWoQe7y2TyOjvBOo="; + npmDepsHash = "sha256-NyZAvboojw9gTj52WrdNIL2Oyy2wtpVnb5JyxKLJqWM="; postPatch = '' chmod +w ../../ diff --git a/pkgs/by-name/qp/qpdf/package.nix b/pkgs/by-name/qp/qpdf/package.nix index 82c7ded43f25..e5f5ccc8df14 100644 --- a/pkgs/by-name/qp/qpdf/package.nix +++ b/pkgs/by-name/qp/qpdf/package.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "qpdf"; - version = "11.10.1"; + version = "12.2.0"; src = fetchFromGitHub { owner = "qpdf"; repo = "qpdf"; - rev = "v${finalAttrs.version}"; - hash = "sha256-MkJpbAIoPZmsYupOjQKOwZomh/rUF+r/kKTdHfT5Dc8="; + tag = "v${finalAttrs.version}"; + hash = "sha256-tzOZVQ/XO2mWNtz3mFTdrpdD2PvvCwje5nbEyiIkcZw="; }; outputs = [ @@ -88,10 +88,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://qpdf.sourceforge.io/"; description = "C++ library and set of programs that inspect and manipulate the structure of PDF files"; license = lib.licenses.asl20; # as of 7.0.0, people may stay at artistic2 - maintainers = [ ]; + maintainers = [ lib.maintainers.dotlambda ]; mainProgram = "qpdf"; platforms = lib.platforms.all; - changelog = "https://github.com/qpdf/qpdf/blob/v${finalAttrs.version}/ChangeLog"; + changelog = "https://qpdf.readthedocs.io/en/${lib.versions.majorMinor finalAttrs.version}/release-notes.html"; pkgConfigModules = [ "libqpdf" ]; }; }) diff --git a/pkgs/by-name/rd/rdma-core/package.nix b/pkgs/by-name/rd/rdma-core/package.nix index c3fe8d64bdaa..6eeab6eed2ac 100644 --- a/pkgs/by-name/rd/rdma-core/package.nix +++ b/pkgs/by-name/rd/rdma-core/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "rdma-core"; - version = "59.0"; + version = "60.0"; src = fetchFromGitHub { owner = "linux-rdma"; repo = "rdma-core"; rev = "v${finalAttrs.version}"; - hash = "sha256-GSARu2HNej4tI62RjLWkjS+5FKVbeNmX7jh0atlEpX0="; + hash = "sha256-2V8I/kcOr+/5JxyIAln/r7NnL6bET3vUPgg7PGNe1vc="; }; strictDeps = true; diff --git a/pkgs/by-name/re/re2/package.nix b/pkgs/by-name/re/re2/package.nix index 28e9bb9432b0..faa843290e1c 100644 --- a/pkgs/by-name/re/re2/package.nix +++ b/pkgs/by-name/re/re2/package.nix @@ -56,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: { passthru.tests = { inherit chromium grpc mercurial; - inherit (python3Packages) fb-re2 google-re2; + inherit (python3Packages) google-re2; haskell-re2 = haskellPackages.re2; }; diff --git a/pkgs/by-name/re/redis/package.nix b/pkgs/by-name/re/redis/package.nix index 48eccfc821eb..bf25ebe52b1d 100644 --- a/pkgs/by-name/re/redis/package.nix +++ b/pkgs/by-name/re/redis/package.nix @@ -66,8 +66,6 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; - hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ]; - env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isFreeBSD "-lexecinfo"; # darwin currently lacks a pure `pgrep` which is extensively used here diff --git a/pkgs/by-name/rs/rspamd/package.nix b/pkgs/by-name/rs/rspamd/package.nix index 3159e749318e..86ebff4bccfd 100644 --- a/pkgs/by-name/rs/rspamd/package.nix +++ b/pkgs/by-name/rs/rspamd/package.nix @@ -56,8 +56,6 @@ stdenv.mkDerivation rec { }) ]; - hardeningEnable = [ "pie" ]; - nativeBuildInputs = [ cmake pkg-config diff --git a/pkgs/by-name/rs/rstudio/package.nix b/pkgs/by-name/rs/rstudio/package.nix index 94ee478ea25f..510a1a39eebb 100644 --- a/pkgs/by-name/rs/rstudio/package.nix +++ b/pkgs/by-name/rs/rstudio/package.nix @@ -24,7 +24,6 @@ yarnConfigHook, zip, - apple-sdk_11, boost187, electron_37, fontconfig, @@ -160,9 +159,6 @@ stdenv.mkDerivation rec { soci sqlite.dev ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_11 - ] ++ lib.optionals (!server) [ fontconfig ] diff --git a/pkgs/by-name/ru/rust-cbindgen/package.nix b/pkgs/by-name/ru/rust-cbindgen/package.nix index 57b3004ecc25..0190edf76fea 100644 --- a/pkgs/by-name/ru/rust-cbindgen/package.nix +++ b/pkgs/by-name/ru/rust-cbindgen/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage rec { pname = "rust-cbindgen"; - version = "0.29.0"; + version = "0.29.2"; src = fetchFromGitHub { owner = "mozilla"; repo = "cbindgen"; rev = "v${version}"; - hash = "sha256-wCl2GpHqF7wKIE8UFyZRY0M1hxonZek2FN6+5x/jGWI="; + hash = "sha256-P2A+XSLrcuYsI48gnZSNNs5qX+EatiuEJSEJbMvMSxg="; }; - cargoHash = "sha256-BErgOnmatxpfF5Ip44WOqnEWOzOJaVP6vfhXPsF9wuc="; + cargoHash = "sha256-DbmlpjiOraLWPh5RgJqCIGIYzE1h82MH2S6gpLH+CIQ="; nativeCheckInputs = [ cmake diff --git a/pkgs/by-name/s2/s2n-tls/package.nix b/pkgs/by-name/s2/s2n-tls/package.nix index f4d0276b9f25..3671fa7e321e 100644 --- a/pkgs/by-name/s2/s2n-tls/package.nix +++ b/pkgs/by-name/s2/s2n-tls/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "s2n-tls"; - version = "1.5.26"; + version = "1.5.27"; src = fetchFromGitHub { owner = "aws"; repo = "s2n-tls"; rev = "v${version}"; - hash = "sha256-6Py1ygHinx3n7k/hQN+85C57YXh7ag0OGYR+NOnx1rE="; + hash = "sha256-aJRw1a/XJivNZS3NkZ4U6nC12+wY/aoNv33mbAzNl0k="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/sc/screen-pipe/package.nix b/pkgs/by-name/sc/screen-pipe/package.nix index a54576c598a1..c26a380f77f5 100644 --- a/pkgs/by-name/sc/screen-pipe/package.nix +++ b/pkgs/by-name/sc/screen-pipe/package.nix @@ -11,7 +11,6 @@ stdenv, alsa-lib, xorg, - apple-sdk_12, }: rustPlatform.buildRustPackage rec { pname = "screen-pipe"; @@ -48,9 +47,6 @@ rustPlatform.buildRustPackage rec { openssl sqlite ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_12 - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib xorg.libxcb diff --git a/pkgs/by-name/sd/sdcc/package.nix b/pkgs/by-name/sd/sdcc/package.nix index 47921b2f3283..d96e7a988215 100644 --- a/pkgs/by-name/sd/sdcc/package.nix +++ b/pkgs/by-name/sd/sdcc/package.nix @@ -104,10 +104,6 @@ stdenv.mkDerivation (finalAttrs: { fi ''; - # ${src}/support/cpp/gcc/Makefile.in states: - # We don't want to compile the compilers with -fPIE, it make PCH fail. - hardeningDisable = [ "pie" ]; - meta = { homepage = "https://sdcc.sourceforge.net/"; description = "Small Device C Compiler"; diff --git a/pkgs/by-name/sd/sdl2-compat/package.nix b/pkgs/by-name/sd/sdl2-compat/package.nix index e8890a344cfa..0aec5ddf963f 100644 --- a/pkgs/by-name/sd/sdl2-compat/package.nix +++ b/pkgs/by-name/sd/sdl2-compat/package.nix @@ -30,13 +30,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "sdl2-compat"; - version = "2.32.56"; + version = "2.32.58"; src = fetchFromGitHub { owner = "libsdl-org"; repo = "sdl2-compat"; tag = "release-${finalAttrs.version}"; - hash = "sha256-Xg886KX54vwGANIhTAFslzPw/sZs2SvpXzXUXcOKgMs="; + hash = "sha256-Ngmr/KG5dQ1IDVafn2Jw/29hFCzPGKc9GOenT/4fsIM="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/sd/sdl3/package.nix b/pkgs/by-name/sd/sdl3/package.nix index 8488b5345258..2199be9d6f96 100644 --- a/pkgs/by-name/sd/sdl3/package.nix +++ b/pkgs/by-name/sd/sdl3/package.nix @@ -3,7 +3,6 @@ stdenv, config, alsa-lib, - apple-sdk_11, cmake, darwinMinVersionHook, dbus, @@ -62,7 +61,7 @@ assert lib.assertMsg (ibusSupport -> dbusSupport) "SDL3 requires dbus support to stdenv.mkDerivation (finalAttrs: { pname = "sdl3"; - version = "3.2.24"; + version = "3.2.26"; outputs = [ "lib" @@ -75,7 +74,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "libsdl-org"; repo = "SDL"; tag = "release-${finalAttrs.version}"; - hash = "sha256-LUkj9Rrf+zOW0IdV7aGccb/5bKh3TWf1IGtQkCDHd4k="; + hash = "sha256-edcub/zeho4mB3tItp+PSD5l+H6jUPm3seiBP6ppT0k="; }; postPatch = @@ -144,12 +143,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optional (openglSupport && !stdenv.hostPlatform.isDarwin) libGL ++ lib.optional x11Support xorg.libX11 - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # error: 'MTLPixelFormatASTC_4x4_LDR' is unavailable: not available on macOS - (darwinMinVersionHook "11.0") - - apple-sdk_11 - ] ++ lib.optionals ibusSupport [ # sdl3 only uses some constants of the ibus headers # it never actually loads the library diff --git a/pkgs/by-name/sd/sdrangel/package.nix b/pkgs/by-name/sd/sdrangel/package.nix index 8f91a991b024..562220f0386a 100644 --- a/pkgs/by-name/sd/sdrangel/package.nix +++ b/pkgs/by-name/sd/sdrangel/package.nix @@ -3,7 +3,6 @@ stdenv, airspy, airspyhf, - apple-sdk_12, aptdec, boost, cm256cc, @@ -102,7 +101,6 @@ stdenv.mkDerivation (finalAttrs: { zlib ] ++ lib.optionals stdenv.hostPlatform.isLinux [ qt6Packages.qtwayland ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_12 ] ++ lib.optionals withSDRplay [ sdrplay ]; cmakeFlags = [ diff --git a/pkgs/by-name/se/seabios/package.nix b/pkgs/by-name/se/seabios/package.nix index a03cb8b0730c..b92735de1e73 100644 --- a/pkgs/by-name/se/seabios/package.nix +++ b/pkgs/by-name/se/seabios/package.nix @@ -65,7 +65,6 @@ stdenv.mkDerivation (finalAttrs: { hardeningDisable = [ "fortify" "pic" - "pie" # ld: warning: creating DT_TEXTREL in a PIE (and more) "stackprotector" ]; diff --git a/pkgs/by-name/se/servo/package.nix b/pkgs/by-name/se/servo/package.nix index 1a17596d64f5..85785a8bea46 100644 --- a/pkgs/by-name/se/servo/package.nix +++ b/pkgs/by-name/se/servo/package.nix @@ -24,7 +24,6 @@ yasm, # runtime deps - apple-sdk_14, fontconfig, freetype, gst_all_1, @@ -143,9 +142,6 @@ rustPlatform.buildRustPackage { xorg.libxcb udev vulkan-loader - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_14 ]; # Builds with additional features for aarch64, see https://github.com/servo/servo/issues/36819 diff --git a/pkgs/by-name/sh/shipwright/package.nix b/pkgs/by-name/sh/shipwright/package.nix index 8f97165fbc91..c5696b418b6c 100644 --- a/pkgs/by-name/sh/shipwright/package.nix +++ b/pkgs/by-name/sh/shipwright/package.nix @@ -1,5 +1,4 @@ { - apple-sdk_13, stdenv, cmake, lsb-release, @@ -178,10 +177,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals stdenv.hostPlatform.isLinux [ libpulseaudio zenity - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # Metal.hpp requires macOS 13.x min. - apple-sdk_13 ]; cmakeFlags = [ diff --git a/pkgs/by-name/sh/shncpd/package.nix b/pkgs/by-name/sh/shncpd/package.nix index 787371f12112..248421cc4454 100644 --- a/pkgs/by-name/sh/shncpd/package.nix +++ b/pkgs/by-name/sh/shncpd/package.nix @@ -15,8 +15,6 @@ stdenv.mkDerivation { sha256 = "1sj7a77isc2jmh7gw2naw9l9366kjx6jb909h7spj7daxdwvji8f"; }; - hardeningEnable = [ "pie" ]; - preConfigure = '' makeFlags=( "PREFIX=$out" ) ''; diff --git a/pkgs/by-name/so/socat/package.nix b/pkgs/by-name/so/socat/package.nix index e208234f2332..f3e1774f6c48 100644 --- a/pkgs/by-name/so/socat/package.nix +++ b/pkgs/by-name/so/socat/package.nix @@ -38,8 +38,6 @@ stdenv.mkDerivation rec { readline ]; - hardeningEnable = [ "pie" ]; - enableParallelBuilding = true; nativeCheckInputs = [ diff --git a/pkgs/by-name/so/solo5/package.nix b/pkgs/by-name/so/solo5/package.nix index 7f92d9d08b15..dc8f60578612 100644 --- a/pkgs/by-name/so/solo5/package.nix +++ b/pkgs/by-name/so/solo5/package.nix @@ -40,8 +40,6 @@ stdenv.mkDerivation { hash = "sha256-KbeY667Y/ZPUuRIGYOZMMAuVEVJ7Kn9UDUSThX5zfII="; }; - hardeningEnable = [ "pie" ]; - configurePhase = '' runHook preConfigure sh configure.sh --prefix=/ diff --git a/pkgs/by-name/sp/spacebar/package.nix b/pkgs/by-name/sp/spacebar/package.nix index dec0ec5dc6ac..2fcb62b97851 100644 --- a/pkgs/by-name/sp/spacebar/package.nix +++ b/pkgs/by-name/sp/spacebar/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - apple-sdk_12, }: stdenv.mkDerivation rec { @@ -16,10 +15,6 @@ stdenv.mkDerivation rec { sha256 = "sha256-4LiG43kPZtsm7SQ/28RaGMpYsDshCaGvc1mouPG3jFM="; }; - buildInputs = [ - apple-sdk_12 - ]; - installPhase = '' mkdir -p $out/bin mkdir -p $out/share/man/man1/ diff --git a/pkgs/by-name/sp/spotifyd/package.nix b/pkgs/by-name/sp/spotifyd/package.nix index e76e0950d852..639c448b9a78 100644 --- a/pkgs/by-name/sp/spotifyd/package.nix +++ b/pkgs/by-name/sp/spotifyd/package.nix @@ -3,7 +3,6 @@ stdenv, config, alsa-lib, - apple-sdk_11, cmake, dbus, fetchFromGitHub, @@ -42,8 +41,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ]; buildInputs = - lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ openssl ] + lib.optionals stdenv.hostPlatform.isLinux [ openssl ] # The `dbus_mpris` feature works on other platforms, but only requires `dbus` on Linux ++ lib.optional (withMpris && stdenv.hostPlatform.isLinux) dbus ++ lib.optional (withALSA || withJack) alsa-lib diff --git a/pkgs/by-name/ss/sshesame/package.nix b/pkgs/by-name/ss/sshesame/package.nix index 1b0b5daf257d..6814abb0ef8a 100644 --- a/pkgs/by-name/ss/sshesame/package.nix +++ b/pkgs/by-name/ss/sshesame/package.nix @@ -24,8 +24,6 @@ buildGoModule rec { "-w" ]; - hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ]; - passthru.updateScript = nix-update-script { }; meta = { diff --git a/pkgs/by-name/ss/sshwifty/package.nix b/pkgs/by-name/ss/sshwifty/package.nix index 934fc1a2186e..f7a9298884bf 100644 --- a/pkgs/by-name/ss/sshwifty/package.nix +++ b/pkgs/by-name/ss/sshwifty/package.nix @@ -10,20 +10,20 @@ }: buildGo125Module (finalAttrs: { pname = "sshwifty"; - version = "0.4.0-beta-release"; + version = "0.4.1-beta-release"; src = fetchFromGitHub { owner = "nirui"; repo = "sshwifty"; tag = finalAttrs.version; - hash = "sha256-7ZfS46+aflKIQ8S9T18JjCb7bY8mB6cJl/lgJi5Hukg="; + hash = "sha256-Kg5aE4lkzSedo+VJgdsfO5XTKupsPU2DhZNdNhEQ/Q4="; }; sshwifty-ui = buildNpmPackage { pname = "sshwifty-ui"; inherit (finalAttrs) version src; - npmDepsHash = "sha256-I96VixL21cF2kp9AK6q0ipjphjdWuSETKakbsprGek0="; + npmDepsHash = "sha256-vX3CtjwjzcxxIPYG6QXsPybyBRow1YdS9pHr961P1HA="; npmBuildScript = "generate"; @@ -39,7 +39,7 @@ buildGo125Module (finalAttrs: { cp -r ${finalAttrs.sshwifty-ui}/lib/node_modules/sshwifty-ui/* . ''; - vendorHash = "sha256-kLKydjvZtFEY7vjqxK1cCwZSTbdqYWPRmxYSN0LYqsg="; + vendorHash = "sha256-/SLUC0xM195QfKgX9te8UP1bbzRbKF+Npyugi19JijY="; ldflags = [ "-s" @@ -55,7 +55,14 @@ buildGo125Module (finalAttrs: { passthru = { tests = { inherit (nixosTests) sshwifty; }; - updateScript = nix-update-script { }; + updateScript = nix-update-script { + extraArgs = [ + "--version=unstable" + "--version-regex=^([0-9.]+(?!.+-prebuild).+$)" + "--subpackage" + "sshwifty-ui" + ]; + }; }; meta = { diff --git a/pkgs/by-name/sy/syslinux/package.nix b/pkgs/by-name/sy/syslinux/package.nix index a77d8f66a2c0..abc948ed3321 100644 --- a/pkgs/by-name/sy/syslinux/package.nix +++ b/pkgs/by-name/sy/syslinux/package.nix @@ -83,7 +83,6 @@ stdenv.mkDerivation { hardeningDisable = [ "pic" - "pie" # MBR gets too big with PIE "stackprotector" "fortify" ]; diff --git a/pkgs/by-name/ta/tailscale/package.nix b/pkgs/by-name/ta/tailscale/package.nix index d74d12f85971..814ab17f72cc 100644 --- a/pkgs/by-name/ta/tailscale/package.nix +++ b/pkgs/by-name/ta/tailscale/package.nix @@ -24,7 +24,7 @@ buildGoModule (finalAttrs: { pname = "tailscale"; - version = "1.88.4"; + version = "1.90.4"; outputs = [ "out" @@ -35,10 +35,10 @@ buildGoModule (finalAttrs: { owner = "tailscale"; repo = "tailscale"; tag = "v${finalAttrs.version}"; - hash = "sha256-fzJwRTB2U2GuLmv1XUSMLnhyLlp+4kGorLGAvRVjDqw="; + hash = "sha256-0d6NwGH79TFqOpbu8EUw/lhk+1gF7TupVxFW18pqRmc="; }; - vendorHash = "sha256-8aE6dWMkTLdWRD9WnLVSzpOQQh61voEnjZAJHtbGCSs="; + vendorHash = "sha256-rV3C2Vi48FCifGt58OdEO4+Av0HRIs8sUJVvp/gEBLw="; nativeBuildInputs = [ makeWrapper diff --git a/pkgs/by-name/ti/tinysparql/package.nix b/pkgs/by-name/ti/tinysparql/package.nix index 627fca114f06..fbe6f91e9348 100644 --- a/pkgs/by-name/ti/tinysparql/package.nix +++ b/pkgs/by-name/ti/tinysparql/package.nix @@ -2,7 +2,6 @@ stdenv, lib, fetchurl, - fetchpatch2, gettext, meson, mesonEmulatorHook, @@ -35,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "tinysparql"; - version = "3.9.2"; + version = "3.10.1"; outputs = [ "out" @@ -47,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: { url = with finalAttrs; "mirror://gnome/sources/tinysparql/${lib.versions.majorMinor version}/tinysparql-${version}.tar.xz"; - hash = "sha256-FM4DkCQTXhgQIrzOSxqtLgA3fdnH2BK5g5HM/HVtrY4="; + hash = "sha256-Wn8+eJ22ZxpVDtYoDtT2CmC+p3No2pK+aNx9jX4jAmU="; }; strictDeps = true; @@ -112,14 +111,6 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; - patches = [ - (fetchpatch2 { - name = "make-dbus-dep-optional.patch"; - url = "https://gitlab.gnome.org/GNOME/tinysparql/-/commit/31b5a793cd40cdce032e0f7d7c3ef7841c6e3691.patch?full_index=1"; - hash = "sha256-YoWJEa2bFIjZdPW9pJ3iHTxi0dvveYDjKaDokcIvnj8="; - }) - ]; - postPatch = '' patchShebangs \ utils/data-generators/cc/generate diff --git a/pkgs/by-name/un/unbound/package.nix b/pkgs/by-name/un/unbound/package.nix index 99fcaf1497c4..62657e2f4c36 100644 --- a/pkgs/by-name/un/unbound/package.nix +++ b/pkgs/by-name/un/unbound/package.nix @@ -56,13 +56,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "unbound"; - version = "1.24.0"; + version = "1.24.1"; src = fetchFromGitHub { owner = "NLnetLabs"; repo = "unbound"; tag = "release-${finalAttrs.version}"; - hash = "sha256-M5gn18HTgcpqsOZGtxPoQbQd5tPW3T4r0YeMK5Mwgls="; + hash = "sha256-meWgu1UGhR9d8wVb8guqbnGE3UHs6uJHR20iDFnIThQ="; }; outputs = [ diff --git a/pkgs/by-name/un/unifdef/package.nix b/pkgs/by-name/un/unifdef/package.nix index d3a8bf96ae74..ac4c84e882fe 100644 --- a/pkgs/by-name/un/unifdef/package.nix +++ b/pkgs/by-name/un/unifdef/package.nix @@ -4,25 +4,31 @@ fetchurl, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "unifdef"; version = "2.12"; src = fetchurl { - url = "https://dotat.at/prog/unifdef/unifdef-${version}.tar.xz"; - sha256 = "00647bp3m9n01ck6ilw6r24fk4mivmimamvm4hxp5p6wxh10zkj3"; + url = "https://dotat.at/prog/unifdef/unifdef-${finalAttrs.version}.tar.xz"; + hash = "sha256-Q84PAuzc3HI7JHVXVWPdsZLpiMiG02gmC8CmOu46xAA="; }; + patches = [ + # Fix build with gcc15 + # https://github.com/fanf2/unifdef/pull/19 + ./unifdef-fix-build-with-gcc15.patch + ]; + makeFlags = [ "prefix=$(out)" "DESTDIR=" ]; - meta = with lib; { + meta = { homepage = "https://dotat.at/prog/unifdef/"; description = "Selectively remove C preprocessor conditionals"; - license = licenses.bsd2; - platforms = platforms.unix; - maintainers = with maintainers; [ orivej ]; + license = lib.licenses.bsd2; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ orivej ]; }; -} +}) diff --git a/pkgs/by-name/un/unifdef/unifdef-fix-build-with-gcc15.patch b/pkgs/by-name/un/unifdef/unifdef-fix-build-with-gcc15.patch new file mode 100644 index 000000000000..0b6fbb0b3a7e --- /dev/null +++ b/pkgs/by-name/un/unifdef/unifdef-fix-build-with-gcc15.patch @@ -0,0 +1,54 @@ +From d616741e6b0d5b57b66447e85ad32b283b28adde Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sun, 17 Nov 2024 01:26:27 +0000 +Subject: [PATCH] Don't use C23 constexpr keyword + +This fixes building with upcoming GCC 15 which defaults to -std=gnu23. +--- + unifdef.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/unifdef.c b/unifdef.c +index dc145a2..4bd3bda 100644 +--- a/unifdef.c ++++ b/unifdef.c +@@ -202,7 +202,7 @@ static int depth; /* current #if nesting */ + static int delcount; /* count of deleted lines */ + static unsigned blankcount; /* count of blank lines */ + static unsigned blankmax; /* maximum recent blankcount */ +-static bool constexpr; /* constant #if expression */ ++static bool is_constexpr; /* constant #if expression */ + static bool zerosyms; /* to format symdepth output */ + static bool firstsym; /* ditto */ + +@@ -1086,7 +1086,7 @@ eval_unary(const struct ops *ops, long *valp, const char **cpp) + *valp = (value[sym] != NULL); + lt = *valp ? LT_TRUE : LT_FALSE; + } +- constexpr = false; ++ is_constexpr = false; + } else if (!endsym(*cp)) { + debug("eval%d symbol", prec(ops)); + sym = findsym(&cp); +@@ -1103,7 +1103,7 @@ eval_unary(const struct ops *ops, long *valp, const char **cpp) + lt = *valp ? LT_TRUE : LT_FALSE; + cp = skipargs(cp); + } +- constexpr = false; ++ is_constexpr = false; + } else { + debug("eval%d bad expr", prec(ops)); + return (LT_ERROR); +@@ -1170,10 +1170,10 @@ ifeval(const char **cpp) + long val = 0; + + debug("eval %s", *cpp); +- constexpr = killconsts ? false : true; ++ is_constexpr = killconsts ? false : true; + ret = eval_table(eval_ops, &val, cpp); + debug("eval = %d", val); +- return (constexpr ? LT_IF : ret == LT_ERROR ? LT_IF : ret); ++ return (is_constexpr ? LT_IF : ret == LT_ERROR ? LT_IF : ret); + } + + /* diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix index 8122b1afea86..11a3d85cf615 100644 --- a/pkgs/by-name/uv/uv/package.nix +++ b/pkgs/by-name/uv/uv/package.nix @@ -18,16 +18,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uv"; - version = "0.8.23"; + version = "0.9.7"; src = fetchFromGitHub { owner = "astral-sh"; repo = "uv"; tag = finalAttrs.version; - hash = "sha256-5L/FipR5MPsscpWfpDURbC5qwn6XB5KoOrjedk1HzDo="; + hash = "sha256-I0Oe6vaH7iQh+Ubp5RIk8Ol6Ni7OPu8HKX0fqLdewyk="; }; - cargoHash = "sha256-JHfqsT/W7RvoHx9WbA4fdQZw2/+BOSRuGV3mcMx1FN4="; + cargoHash = "sha256-K/RP7EA0VAAI8TGx+VwfKPmyT6+x4p3kekuoMZ0/egc="; buildInputs = [ rust-jemalloc-sys diff --git a/pkgs/by-name/v4/v4l-utils/package.nix b/pkgs/by-name/v4/v4l-utils/package.nix index beaaeaffdd0f..b8adda9766ac 100644 --- a/pkgs/by-name/v4/v4l-utils/package.nix +++ b/pkgs/by-name/v4/v4l-utils/package.nix @@ -34,11 +34,11 @@ in # we need to use stdenv.mkDerivation in order not to pollute the libv4l’s closure with Qt stdenv.mkDerivation (finalAttrs: { pname = "v4l-utils"; - version = "1.30.1"; + version = "1.32.0"; src = fetchurl { url = "https://linuxtv.org/downloads/v4l-utils/v4l-utils-${finalAttrs.version}.tar.xz"; - hash = "sha256-wc9UnC7DzznrXse/FXMTSeYbJqIbXpY5IttCIzO64Zc="; + hash = "sha256-aCiCihd3VSbrk/slipKU0dEHPWM8NE3XHs1Oeh/7ffw="; }; patches = [ @@ -106,17 +106,8 @@ stdenv.mkDerivation (finalAttrs: { propagatedBuildInputs = [ libjpeg ]; - # these two `substituteInPlace` have been sent upstream as patches - # https://lore.kernel.org/linux-media/867c4d2e-7871-4280-8c89-d4b654597f32@public-files.de/T/ - # they might fail and have to be removed once the patches get accepted postPatch = '' patchShebangs utils/ - substituteInPlace \ - lib/libdvbv5/meson.build \ - --replace-fail "install_dir: 'include/libdvbv5'" "install_dir: get_option('includedir') / 'libdvbv5'" - substituteInPlace \ - meson.build \ - --replace-fail "get_option('datadir') / 'locale'" "get_option('localedir')" ''; # Meson unable to find moc/uic/rcc in case of cross-compilation diff --git a/pkgs/by-name/va/valgrind/package.nix b/pkgs/by-name/va/valgrind/package.nix index f15572b5acbf..967245b01ac8 100644 --- a/pkgs/by-name/va/valgrind/package.nix +++ b/pkgs/by-name/va/valgrind/package.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { pname = "valgrind"; - version = "3.25.1"; + version = "3.26.0"; src = fetchurl { url = "https://sourceware.org/pub/${pname}/${pname}-${version}.tar.bz2"; - hash = "sha256-Yd640HJ7RcJo79wbO2yeZ5zZfL9e5LKNHerXyLeica8="; + hash = "sha256-jVTHFwKRBvFkSq2vgCq5aS5T2T3QFcvRnnQZDrpha9c="; }; patches = [ @@ -41,7 +41,6 @@ stdenv.mkDerivation rec { ]; hardeningDisable = [ - "pie" "stackprotector" ]; @@ -105,7 +104,7 @@ stdenv.mkDerivation rec { Valgrind to build new tools. ''; - license = lib.licenses.gpl2Plus; + license = lib.licenses.gpl3Plus; maintainers = [ lib.maintainers.eelco ]; platforms = diff --git a/pkgs/by-name/va/valkey/package.nix b/pkgs/by-name/va/valkey/package.nix index beb4b27c8f3e..9f8d6098eaa0 100644 --- a/pkgs/by-name/va/valkey/package.nix +++ b/pkgs/by-name/va/valkey/package.nix @@ -64,8 +64,6 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; - hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ]; - env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ "-std=c11" ]); # darwin currently lacks a pure `pgrep` which is extensively used here diff --git a/pkgs/by-name/wa/wangle/package.nix b/pkgs/by-name/wa/wangle/package.nix index 56928c88ffbd..baba9795b63a 100644 --- a/pkgs/by-name/wa/wangle/package.nix +++ b/pkgs/by-name/wa/wangle/package.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "wangle"; - version = "2025.09.15.00"; + version = "2025.10.13.00"; outputs = [ "out" @@ -35,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "facebook"; repo = "wangle"; tag = "v${finalAttrs.version}"; - hash = "sha256-S2L3ifQTwyidz3x5pPrVEGEJXvM1czqTRXYsYUqIeRY="; + hash = "sha256-lptILtCaVeO8yXlIYHaATfJw6VyPxUJCx7nxfOZVIIc="; }; patches = [ @@ -109,6 +109,7 @@ stdenv.mkDerivation (finalAttrs: { kylesferrazza emily techknowlogick + lf- ]; }; }) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index 960f02a70355..0dcd7685782d 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -26,21 +26,17 @@ cpptoml, gtest, - - nix-update-script, - - stateDir ? "", }: stdenv.mkDerivation (finalAttrs: { pname = "watchman"; - version = "2025.09.15.00"; + version = "2025.10.13.00"; src = fetchFromGitHub { owner = "facebook"; repo = "watchman"; tag = "v${finalAttrs.version}"; - hash = "sha256-ZIFGCOoIuy4Ns51oek3HnBLtCSnI742FTA2YmorBpyk="; + hash = "sha256-yD8OaA6n2aqwgyQ58VEiBw6+IbwUgXrWEUPinJDip+U="; }; patches = [ @@ -78,8 +74,11 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "CMAKE_INSTALL_RPATH_USE_LINK_PATH" true) + # If we want to have one watchman per system, we need to have the state in + # $HOME for reliability in face of differing TMPDIR values. + # https://github.com/facebook/watchman/issues/1092 + (lib.cmakeBool "WATCHMAN_USE_XDG_STATE_HOME" true) - (lib.cmakeFeature "WATCHMAN_STATE_DIR" stateDir) (lib.cmakeFeature "WATCHMAN_VERSION_OVERRIDE" finalAttrs.version) ]; @@ -118,6 +117,7 @@ stdenv.mkDerivation (finalAttrs: { kylesferrazza emily techknowlogick + lf- ]; mainProgram = "watchman"; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/wh/whisper-cpp/package.nix b/pkgs/by-name/wh/whisper-cpp/package.nix index 1d10f2ee5c9d..e54b0c4f5bd8 100644 --- a/pkgs/by-name/wh/whisper-cpp/package.nix +++ b/pkgs/by-name/wh/whisper-cpp/package.nix @@ -3,7 +3,6 @@ stdenv, cmake, git, - apple-sdk_13, ninja, fetchFromGitHub, SDL2, @@ -47,8 +46,6 @@ let optionals ; - darwinBuildInputs = [ apple-sdk_13 ]; - cudaBuildInputs = with cudaPackages; [ cuda_cccl # @@ -111,7 +108,6 @@ effectiveStdenv.mkDerivation (finalAttrs: { buildInputs = optional withSDL SDL2 - ++ optionals effectiveStdenv.hostPlatform.isDarwin darwinBuildInputs ++ optionals cudaSupport cudaBuildInputs ++ optionals rocmSupport rocmBuildInputs ++ optionals vulkanSupport vulkanBuildInputs; diff --git a/pkgs/by-name/xe/xemu/package.nix b/pkgs/by-name/xe/xemu/package.nix index 714b539f42cb..16c4fbc875af 100644 --- a/pkgs/by-name/xe/xemu/package.nix +++ b/pkgs/by-name/xe/xemu/package.nix @@ -29,7 +29,6 @@ wrapGAppsHook3, cacert, darwin, - apple-sdk_12, desktopToDarwinBundle, }: @@ -98,9 +97,6 @@ stdenv.mkDerivation (finalAttrs: { libdrm libgbm vte - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_12 ]; configureFlags = [ diff --git a/pkgs/by-name/xt/xterm/package.nix b/pkgs/by-name/xt/xterm/package.nix index 2c06f83173ee..a53997d95010 100644 --- a/pkgs/by-name/xt/xterm/package.nix +++ b/pkgs/by-name/xt/xterm/package.nix @@ -16,14 +16,14 @@ stdenv.mkDerivation rec { pname = "xterm"; - version = "402"; + version = "403"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz" "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz" ]; - hash = "sha256-UmDFeTzVZMaeU+9vUowArwZq5ntC0CE3+374+v5wu3o="; + hash = "sha256-EzGw31kZyyQ//jJtxv8QopHmg6Ji9wzflkpmS+czrYM="; }; patches = [ ./sixel-256.support.patch ]; diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json index 3f9a293f08ae..629101d7b415 100644 --- a/pkgs/data/misc/hackage/pin.json +++ b/pkgs/data/misc/hackage/pin.json @@ -1,6 +1,6 @@ { - "commit": "c074fec58a2c83bfb17c273302005fe2625207f1", - "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/c074fec58a2c83bfb17c273302005fe2625207f1.tar.gz", - "sha256": "1my6xrg3m694fr3k5386yx5wqd2j0wdxfx6g3scnh5af0sx2hx0w", - "msg": "Update from Hackage at 2025-09-14T21:34:10Z" + "commit": "bea83e4ce667f3d0652a67d1f8e13f5c644d6551", + "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/bea83e4ce667f3d0652a67d1f8e13f5c644d6551.tar.gz", + "sha256": "10lfqcjrckxjb74xwcm73hphw1y53n080pwmjf7xzyga9hf594cn", + "msg": "Update from Hackage at 2025-09-25T14:09:07Z" } diff --git a/pkgs/development/compilers/dotnet/vmr.nix b/pkgs/development/compilers/dotnet/vmr.nix index de5f3e80864a..dfa746b215f0 100644 --- a/pkgs/development/compilers/dotnet/vmr.nix +++ b/pkgs/development/compilers/dotnet/vmr.nix @@ -18,7 +18,6 @@ darwin, xcbuild, swiftPackages, - apple-sdk_13, openssl, getconf, python3, @@ -112,15 +111,12 @@ stdenv.mkDerivation rec { krb5 lttng-ust_2_12 ] - ++ lib.optionals isDarwin ( - [ - xcbuild - swift - krb5 - sigtool - ] - ++ lib.optional (lib.versionAtLeast version "10") apple-sdk_13 - ); + ++ lib.optionals isDarwin [ + xcbuild + swift + krb5 + sigtool + ]; # This is required to fix the error: # > CSSM_ModuleLoad(): One or more parameters passed to a function were not valid. diff --git a/pkgs/development/compilers/fpc/default.nix b/pkgs/development/compilers/fpc/default.nix index 7ac3fc752443..7cef2840a902 100644 --- a/pkgs/development/compilers/fpc/default.nix +++ b/pkgs/development/compilers/fpc/default.nix @@ -80,9 +80,6 @@ stdenv.mkDerivation rec { "FPC=${startFPC}/bin/fpc" ]; - # disabled by default in fpcsrc/compiler/llvm/agllvm.pas - hardeningDisable = [ "pie" ]; - installFlags = [ "INSTALL_PREFIX=\${out}" ]; postInstall = '' diff --git a/pkgs/development/compilers/gcc/default.nix b/pkgs/development/compilers/gcc/default.nix index 74d482bea205..7f5ba5aa8bf1 100644 --- a/pkgs/development/compilers/gcc/default.nix +++ b/pkgs/development/compilers/gcc/default.nix @@ -234,7 +234,6 @@ pipe hardeningDisable = [ "format" - "pie" "stackclashprotection" ]; diff --git a/pkgs/development/compilers/ghc/9.0.2-binary.nix b/pkgs/development/compilers/ghc/9.0.2-binary.nix index acf7effd7083..3ff091165b39 100644 --- a/pkgs/development/compilers/ghc/9.0.2-binary.nix +++ b/pkgs/development/compilers/ghc/9.0.2-binary.nix @@ -474,13 +474,6 @@ stdenv.mkDerivation { "$out/bin/ghc-pkg" --package-db="$package_db" recache ''; - # GHC cannot currently produce outputs that are ready for `-pie` linking. - # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear. - # See: - # * https://github.com/NixOS/nixpkgs/issues/129247 - # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580 - hardeningDisable = [ "pie" ]; - doInstallCheck = true; installCheckPhase = '' # Sanity check, can ghc create executables? diff --git a/pkgs/development/compilers/ghc/9.10.1.nix b/pkgs/development/compilers/ghc/9.10.1.nix deleted file mode 100644 index d1824ce680fd..000000000000 --- a/pkgs/development/compilers/ghc/9.10.1.nix +++ /dev/null @@ -1,4 +0,0 @@ -import ./common-hadrian.nix { - version = "9.10.1"; - sha256 = "bf386a302d4ee054791ffd51748900f15d71760fd199157922d120cc1f89e2f7"; -} diff --git a/pkgs/development/compilers/ghc/9.2.4-binary.nix b/pkgs/development/compilers/ghc/9.2.4-binary.nix deleted file mode 100644 index 44544744244a..000000000000 --- a/pkgs/development/compilers/ghc/9.2.4-binary.nix +++ /dev/null @@ -1,500 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - perl, - gcc, - ncurses5, - ncurses6, - gmp, - libiconv, - numactl, - libffi, - coreutils, - targetPackages, - - # minimal = true; will remove files that aren't strictly necessary for - # regular builds and GHC bootstrapping. - # This is "useful" for staying within hydra's output limits for at least the - # aarch64-linux architecture. - minimal ? false, -}: - -# Prebuilt only does native -assert stdenv.targetPlatform == stdenv.hostPlatform; - -let - downloadsUrl = "https://downloads.haskell.org/ghc"; - - # Copy sha256 from https://downloads.haskell.org/~ghc/9.2.4/SHA256SUMS - version = "9.2.4"; - - # Information about available bindists that we use in the build. - # - # # Bindist library checking - # - # The field `archSpecificLibraries` also provides a way for us get notified - # early when the upstream bindist changes its dependencies (e.g. because a - # newer Debian version is used that uses a new `ncurses` version). - # - # Usage: - # - # * You can find the `fileToCheckFor` of libraries by running `readelf -d` - # on the compiler binary (`exePathForLibraryCheck`). - # * To skip library checking for an architecture, - # set `exePathForLibraryCheck = null`. - # * To skip file checking for a specific arch specific library, - # set `fileToCheckFor = null`. - ghcBinDists = { - # Binary distributions for the default libc (e.g. glibc, or libSystem on Darwin) - # nixpkgs uses for the respective system. - defaultLibc = { - i686-linux = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-i386-deb9-linux.tar.xz"; - sha256 = "5dc1eb9c65f01b1e5c5693af72af07a4e9e75c6920e620fd598daeefa804487a"; - }; - exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; - archSpecificLibraries = [ - { - nixPackage = gmp; - fileToCheckFor = null; - } - # The i686-linux bindist provided by GHC HQ is currently built on Debian 9, - # which link it against `libtinfo.so.5` (ncurses 5). - # Other bindists are linked `libtinfo.so.6` (ncurses 6). - { - nixPackage = ncurses5; - fileToCheckFor = "libtinfo.so.5"; - } - ]; - }; - x86_64-linux = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-deb10-linux.tar.xz"; - sha256 = "a77a91a39d9b0167124b7e97648b2b52973ae0978cb259e0d44f0752a75037cb"; - }; - exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; - archSpecificLibraries = [ - { - nixPackage = gmp; - fileToCheckFor = null; - } - { - nixPackage = ncurses6; - fileToCheckFor = "libtinfo.so.6"; - } - ]; - }; - aarch64-linux = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-aarch64-deb10-linux.tar.xz"; - sha256 = "fc7dbc6bae36ea5ac30b7e9a263b7e5be3b45b0eb3e893ad0bc2c950a61f14ec"; - }; - exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; - archSpecificLibraries = [ - { - nixPackage = gmp; - fileToCheckFor = null; - } - { - nixPackage = ncurses6; - fileToCheckFor = "libtinfo.so.6"; - } - { - nixPackage = numactl; - fileToCheckFor = null; - } - ]; - }; - x86_64-darwin = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz"; - sha256 = "f2e8366fd3754dd9388510792aba2d2abecb1c2f7f1e5555f6065c3c5e2ffec4"; - }; - exePathForLibraryCheck = null; # we don't have a library check for darwin yet - archSpecificLibraries = [ - { - nixPackage = gmp; - fileToCheckFor = null; - } - { - nixPackage = ncurses6; - fileToCheckFor = null; - } - { - nixPackage = libiconv; - fileToCheckFor = null; - } - ]; - isHadrian = true; - }; - aarch64-darwin = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-aarch64-apple-darwin.tar.xz"; - sha256 = "8cf8408544a1a43adf1bbbb0dd6b074efadffc68bfa1a792947c52e825171224"; - }; - exePathForLibraryCheck = null; # we don't have a library check for darwin yet - archSpecificLibraries = [ - { - nixPackage = gmp; - fileToCheckFor = null; - } - { - nixPackage = ncurses6; - fileToCheckFor = null; - } - { - nixPackage = libiconv; - fileToCheckFor = null; - } - ]; - isHadrian = true; - }; - }; - # Binary distributions for the musl libc for the respective system. - musl = { - x86_64-linux = { - variantSuffix = "-musl"; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-alpine3.12-linux-gmp.tar.xz"; - sha256 = "026348947d30a156b84de5d6afeaa48fdcb2795b47954cd8341db00d3263a481"; - }; - isStatic = true; - isHadrian = true; - # We can't check the RPATH for statically linked executable - exePathForLibraryCheck = null; - archSpecificLibraries = [ - { - nixPackage = gmp.override { withStatic = true; }; - fileToCheckFor = null; - } - ]; - }; - }; - }; - - distSetName = if stdenv.hostPlatform.isMusl then "musl" else "defaultLibc"; - - binDistUsed = - ghcBinDists.${distSetName}.${stdenv.hostPlatform.system} - or (throw "cannot bootstrap GHC on this platform ('${stdenv.hostPlatform.system}' with libc '${distSetName}')"); - - gmpUsed = - (builtins.head ( - builtins.filter ( - drv: lib.hasPrefix "gmp" (drv.nixPackage.name or "") - ) binDistUsed.archSpecificLibraries - )).nixPackage; - - libPath = lib.makeLibraryPath ( - # Add arch-specific libraries. - map ({ nixPackage, ... }: nixPackage) binDistUsed.archSpecificLibraries - ); - - libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY" + "LD_LIBRARY_PATH"; - - runtimeDeps = [ - targetPackages.stdenv.cc - targetPackages.stdenv.cc.bintools - coreutils # for cat - ] - # On darwin, we need unwrapped bintools as well (for otool) - ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [ - targetPackages.stdenv.cc.bintools.bintools - ]; - -in - -stdenv.mkDerivation { - inherit version; - pname = "ghc-binary${binDistUsed.variantSuffix}"; - - src = fetchurl binDistUsed.src; - - nativeBuildInputs = [ perl ]; - - # Set LD_LIBRARY_PATH or equivalent so that the programs running as part - # of the bindist installer can find the libraries they expect. - # Cannot patchelf beforehand due to relative RPATHs that anticipate - # the final install location. - ${libEnvVar} = libPath; - - postUnpack = - # Verify our assumptions of which `libtinfo.so` (ncurses) version is used, - # so that we know when ghc bindists upgrade that and we need to update the - # version used in `libPath`. - lib.optionalString (binDistUsed.exePathForLibraryCheck != null) - # Note the `*` glob because some GHCs have a suffix when unpacked, e.g. - # the musl bindist has dir `ghc-VERSION-x86_64-unknown-linux/`. - # As a result, don't shell-quote this glob when splicing the string. - ( - let - buildExeGlob = ''ghc-${version}*/"${binDistUsed.exePathForLibraryCheck}"''; - in - lib.concatStringsSep "\n" [ - '' - shopt -u nullglob - echo "Checking that ghc binary exists in bindist at ${buildExeGlob}" - if ! test -e ${buildExeGlob}; then - echo >&2 "GHC binary ${binDistUsed.exePathForLibraryCheck} could not be found in the bindist build directory (at ${buildExeGlob}) for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - '' - (lib.concatMapStringsSep "\n" ( - { fileToCheckFor, nixPackage }: - lib.optionalString (fileToCheckFor != null) '' - echo "Checking bindist for ${fileToCheckFor} to ensure that is still used" - if ! readelf -d ${buildExeGlob} | grep "${fileToCheckFor}"; then - echo >&2 "File ${fileToCheckFor} could not be found in ${binDistUsed.exePathForLibraryCheck} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - - echo "Checking that the nix package ${nixPackage} contains ${fileToCheckFor}" - if ! test -e "${lib.getLib nixPackage}/lib/${fileToCheckFor}"; then - echo >&2 "Nix package ${nixPackage} did not contain ${fileToCheckFor} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - '' - ) binDistUsed.archSpecificLibraries) - ] - ) - # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib - # during linking - + lib.optionalString stdenv.hostPlatform.isDarwin '' - export NIX_LDFLAGS+=" -no_dtrace_dof" - # not enough room in the object files for the full path to libiconv :( - for exe in $(find . -type f -executable); do - isScript $exe && continue - ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib - install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $exe - done - '' - + - - # Some scripts used during the build need to have their shebangs patched - '' - patchShebangs ghc-${version}/utils/ - patchShebangs ghc-${version}/configure - test -d ghc-${version}/inplace/bin && \ - patchShebangs ghc-${version}/inplace/bin - '' - + - # We have to patch the GMP paths for the integer-gmp package. - '' - find . -name ghc-bignum.buildinfo \ - -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${lib.getLib gmpUsed}/lib@" {} \; - - # we need to modify the package db directly for hadrian bindists - find . -name 'ghc-bignum*.conf' \ - -exec sed -e '/^[a-z-]*library-dirs/a \ ${lib.getLib gmpUsed}/lib' -i {} \; - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - # we need to modify the package db directly for hadrian bindists - # (all darwin bindists are hadrian-based for 9.2.2) - find . -name 'base*.conf' \ - -exec sed -e '/^[a-z-]*library-dirs/a \ ${lib.getLib libiconv}/lib' -i {} \; - - # To link RTS in the end we also need libffi now - find . -name 'rts*.conf' \ - -exec sed -e '/^[a-z-]*library-dirs/a \ ${lib.getLib libffi}/lib' \ - -e 's@/Library/Developer/.*/usr/include/ffi@${lib.getDev libffi}/include@' \ - -i {} \; - '' - + - # Some platforms do HAVE_NUMA so -lnuma requires it in library-dirs in rts/package.conf.in - # FFI_LIB_DIR is a good indication of places it must be needed. - lib.optionalString - ( - lib.meta.availableOn stdenv.hostPlatform numactl - && builtins.any ({ nixPackage, ... }: nixPackage == numactl) binDistUsed.archSpecificLibraries - ) - '' - find . -name package.conf.in \ - -exec sed -i "s@FFI_LIB_DIR@FFI_LIB_DIR ${numactl.out}/lib@g" {} \; - '' - + - # Rename needed libraries and binaries, fix interpreter - lib.optionalString stdenv.hostPlatform.isLinux '' - find . -type f -executable -exec patchelf \ - --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \; - ''; - - # fix for `configure: error: Your linker is affected by binutils #16177` - preConfigure = lib.optionalString stdenv.targetPlatform.isAarch32 "LD=ld.gold"; - - configurePlatforms = [ ]; - configureFlags = [ - "--with-gmp-includes=${lib.getDev gmpUsed}/include" - # Note `--with-gmp-libraries` does nothing for GHC bindists: - # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6124 - ] - ++ lib.optional stdenv.hostPlatform.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}" - # From: https://github.com/NixOS/nixpkgs/pull/43369/commits - ++ lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override"; - - # No building is necessary, but calling make without flags ironically - # calls install-strip ... - dontBuild = true; - - # GHC tries to remove xattrs when installing to work around Gatekeeper - # (see https://gitlab.haskell.org/ghc/ghc/-/issues/17418). This step normally - # succeeds in nixpkgs because xattrs are not allowed in the store, but it - # can fail when a file has the `com.apple.provenance` xattr, and it can’t be - # modified (such as target of the symlink to `libiconv.dylib`). - # The `com.apple.provenance` xattr is a new feature of macOS as of macOS 13. - # See: https://eclecticlight.co/2023/03/13/ventura-has-changed-app-quarantine-with-a-new-xattr/ - makeFlags = lib.optionals stdenv.buildPlatform.isDarwin [ "XATTR=/does-not-exist" ]; - - # Patch scripts to include runtime dependencies in $PATH. - postInstall = '' - for i in "$out/bin/"*; do - test ! -h "$i" || continue - isScript "$i" || continue - sed -i -e '2i export PATH="${lib.makeBinPath runtimeDeps}:$PATH"' "$i" - done - ''; - - # Apparently necessary for the ghc Alpine (musl) bindist: - # When we strip, and then run the - # patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p - # below, running ghc (e.g. during `installCheckPhase)` gives some apparently - # corrupted rpath or whatever makes the loader work on nonsensical strings: - # running install tests - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: : symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: ir6zf6c9f86pfx8sr30n2vjy-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/../lib/x86_64-linux-ghc-8.10.5/libHSexceptions-0.10.4-ghc8.10.5.so: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: y/lib/ghc-8.10.5/bin/../lib/x86_64-linux-ghc-8.10.5/libHStemplate-haskell-2.16.0.0-ghc8.10.5.so: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: 8.10.5/libHStemplate-haskell-2.16.0.0-ghc8.10.5.so: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: �: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: �?: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: 64-linux-ghc-8.10.5/libHSexceptions-0.10.4-ghc8.10.5.so: symbol not found - # This is extremely bogus and should be investigated. - dontStrip = if stdenv.hostPlatform.isMusl then true else false; # `if` for explicitness - - # On Linux, use patchelf to modify the executables so that they can - # find editline/gmp. - postFixup = - lib.optionalString (stdenv.hostPlatform.isLinux && !(binDistUsed.isStatic or false)) ( - if stdenv.hostPlatform.isAarch64 then - # Keep rpath as small as possible on aarch64 for patchelf#244. All Elfs - # are 2 directories deep from $out/lib, so pooling symlinks there makes - # a short rpath. - '' - (cd $out/lib; ln -s ${ncurses6.out}/lib/libtinfo.so.6) - (cd $out/lib; ln -s ${lib.getLib gmpUsed}/lib/libgmp.so.10) - (cd $out/lib; ln -s ${numactl.out}/lib/libnuma.so.1) - for p in $(find "$out/lib" -type f -name "*\.so*"); do - (cd $out/lib; ln -s $p) - done - - for p in $(find "$out/lib" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../.." $p - fi - done - '' - else - '' - for p in $(find "$out" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p - fi - done - '' - ) - + lib.optionalString stdenv.hostPlatform.isDarwin '' - # not enough room in the object files for the full path to libiconv :( - for exe in $(find "$out" -type f -executable); do - isScript $exe && continue - ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib - install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $exe - done - - for file in $(find "$out" -name setup-config); do - substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)" - done - '' - + lib.optionalString minimal '' - # Remove profiling files - find $out -type f -name '*.p_o' -delete - find $out -type f -name '*.p_hi' -delete - find $out -type f -name '*_p.a' -delete - # `-f` because e.g. musl bindist does not have this file. - rm -f $out/lib/ghc-*/bin/ghc-iserv-prof - # Hydra will redistribute this derivation, so we have to keep the docs for - # legal reasons (retaining the legal notices etc) - # As a last resort we could unpack the docs separately and symlink them in. - # They're in $out/share/{doc,man}. - '' - # Recache package db which needs to happen for Hadrian bindists - # where we modify the package db before installing - + '' - shopt -s nullglob - package_db=("$out"/lib/ghc-*/lib/package.conf.d "$out"/lib/ghc-*/package.conf.d) - "$out/bin/ghc-pkg" --package-db="$package_db" recache - ''; - - # GHC cannot currently produce outputs that are ready for `-pie` linking. - # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear. - # See: - # * https://github.com/NixOS/nixpkgs/issues/129247 - # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580 - hardeningDisable = [ "pie" ]; - - doInstallCheck = true; - installCheckPhase = '' - # Sanity check, can ghc create executables? - cd $TMP - mkdir test-ghc; cd test-ghc - cat > main.hs << EOF - {-# LANGUAGE TemplateHaskell #-} - module Main where - main = putStrLn \$([|"yes"|]) - EOF - env -i $out/bin/ghc --make main.hs || exit 1 - echo compilation ok - [ $(./main) == "yes" ] - ''; - - passthru = { - targetPrefix = ""; - enableShared = true; - - llvmPackages = null; - - # Our Cabal compiler name - haskellCompilerName = "ghc-${version}"; - } - # We duplicate binDistUsed here since we have a sensible default even if no bindist is available, - # this makes sure that getting the `meta` attribute doesn't throw even on unsupported platforms. - // lib.optionalAttrs (ghcBinDists.${distSetName}.${stdenv.hostPlatform.system}.isHadrian or false) { - # Normal GHC derivations expose the hadrian derivation used to build them - # here. In the case of bindists we just make sure that the attribute exists, - # as it is used for checking if a GHC derivation has been built with hadrian. - # The isHadrian mechanism will become obsolete with GHCs that use hadrian - # exclusively, i.e. 9.6 (and 9.4?). - hadrian = null; - }; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "Glasgow Haskell Compiler"; - license = lib.licenses.bsd3; - # HACK: since we can't encode the libc / abi in platforms, we need - # to make the platform list dependent on the evaluation platform - # in order to avoid eval errors with musl which supports less - # platforms than the default libcs (i. e. glibc / libSystem). - # This is done for the benefit of Hydra, so `packagePlatforms` - # won't return any platforms that would cause an evaluation - # failure for `pkgsMusl.haskell.compiler.ghc922Binary`, as - # long as the evaluator runs on a platform that supports - # `pkgsMusl`. - platforms = builtins.attrNames ghcBinDists.${distSetName}; - teams = [ lib.teams.haskell ]; - broken = !(import ./common-have-ncg.nix { inherit lib stdenv version; }); - }; -} diff --git a/pkgs/development/compilers/ghc/9.6.3-binary.nix b/pkgs/development/compilers/ghc/9.6.3-binary.nix deleted file mode 100644 index 2ca353f8ee21..000000000000 --- a/pkgs/development/compilers/ghc/9.6.3-binary.nix +++ /dev/null @@ -1,474 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - perl, - gcc, - ncurses5, - ncurses6, - gmp, - libiconv, - numactl, - libffi, - coreutils, - targetPackages, - - # minimal = true; will remove files that aren't strictly necessary for - # regular builds and GHC bootstrapping. - # This is "useful" for staying within hydra's output limits for at least the - # aarch64-linux architecture. - minimal ? false, -}: - -# Prebuilt only does native -assert stdenv.targetPlatform == stdenv.hostPlatform; - -let - downloadsUrl = "https://downloads.haskell.org/ghc"; - - # Copy sha256 from https://downloads.haskell.org/~ghc/9.6.3/SHA256SUMS - version = "9.6.3"; - - # Information about available bindists that we use in the build. - # - # # Bindist library checking - # - # The field `archSpecificLibraries` also provides a way for us get notified - # early when the upstream bindist changes its dependencies (e.g. because a - # newer Debian version is used that uses a new `ncurses` version). - # - # Usage: - # - # * You can find the `fileToCheckFor` of libraries by running `readelf -d` - # on the compiler binary (`exePathForLibraryCheck`). - # * To skip library checking for an architecture, - # set `exePathForLibraryCheck = null`. - # * To skip file checking for a specific arch specific library, - # set `fileToCheckFor = null`. - ghcBinDists = { - # Binary distributions for the default libc (e.g. glibc, or libSystem on Darwin) - # nixpkgs uses for the respective system. - defaultLibc = { - i686-linux = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-i386-deb9-linux.tar.xz"; - sha256 = "58be26f8b8f6b5bd8baf5c32abb03e2c4621646b2142fab10e5c7de5af5c50f8"; - }; - exePathForLibraryCheck = "bin/ghc"; - archSpecificLibraries = [ - { - nixPackage = gmp; - fileToCheckFor = null; - } - # The i686-linux bindist provided by GHC HQ is currently built on Debian 9, - # which link it against `libtinfo.so.5` (ncurses 5). - # Other bindists are linked `libtinfo.so.6` (ncurses 6). - { - nixPackage = ncurses5; - fileToCheckFor = "libtinfo.so.5"; - } - ]; - }; - x86_64-linux = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-deb11-linux.tar.xz"; - sha256 = "c4c0124857265926f1cf22a09d950d7ba989ff94053a4ddf3dcdab5359f4cab7"; - }; - exePathForLibraryCheck = "bin/ghc"; - archSpecificLibraries = [ - { - nixPackage = gmp; - fileToCheckFor = null; - } - { - nixPackage = ncurses6; - fileToCheckFor = "libtinfo.so.6"; - } - ]; - }; - aarch64-linux = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-aarch64-deb10-linux.tar.xz"; - sha256 = "03c389859319f09452081310fc13af7525063ea8930830ef76be2a14b312271e"; - }; - exePathForLibraryCheck = "bin/ghc"; - archSpecificLibraries = [ - { - nixPackage = gmp; - fileToCheckFor = null; - } - { - nixPackage = ncurses6; - fileToCheckFor = "libtinfo.so.6"; - } - { - nixPackage = numactl; - fileToCheckFor = null; - } - ]; - }; - x86_64-darwin = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz"; - sha256 = "dde46118ab8388fb1066312c097123e93b1dcf6ae366e3370f88ea456382c9db"; - }; - exePathForLibraryCheck = null; # we don't have a library check for darwin yet - archSpecificLibraries = [ - { - nixPackage = gmp; - fileToCheckFor = null; - } - { - nixPackage = ncurses6; - fileToCheckFor = null; - } - { - nixPackage = libiconv; - fileToCheckFor = null; - } - ]; - }; - aarch64-darwin = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-aarch64-apple-darwin.tar.xz"; - sha256 = "e1cdf458926b2eaf52d2a8287d99a965040ff9051171f5c3b7467049cf0eb213"; - }; - exePathForLibraryCheck = null; # we don't have a library check for darwin yet - archSpecificLibraries = [ - { - nixPackage = gmp; - fileToCheckFor = null; - } - { - nixPackage = ncurses6; - fileToCheckFor = null; - } - { - nixPackage = libiconv; - fileToCheckFor = null; - } - ]; - }; - }; - # Binary distributions for the musl libc for the respective system. - musl = { - x86_64-linux = { - variantSuffix = "-musl"; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-alpine3_12-linux.tar.xz"; - sha256 = "8f457af0aa40127049c11134c8793f64351a446e87da1f8ec256e1279b5ab61f"; - }; - exePathForLibraryCheck = "bin/ghc"; - archSpecificLibraries = [ - { - nixPackage = gmp; - fileToCheckFor = null; - } - { - nixPackage = ncurses6; - fileToCheckFor = "libncursesw.so.6"; - } - ]; - }; - }; - }; - - distSetName = if stdenv.hostPlatform.isMusl then "musl" else "defaultLibc"; - - binDistUsed = - ghcBinDists.${distSetName}.${stdenv.hostPlatform.system} - or (throw "cannot bootstrap GHC on this platform ('${stdenv.hostPlatform.system}' with libc '${distSetName}')"); - - gmpUsed = - (builtins.head ( - builtins.filter ( - drv: lib.hasPrefix "gmp" (drv.nixPackage.name or "") - ) binDistUsed.archSpecificLibraries - )).nixPackage; - - libPath = lib.makeLibraryPath ( - # Add arch-specific libraries. - map ({ nixPackage, ... }: nixPackage) binDistUsed.archSpecificLibraries - ); - - libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY" + "LD_LIBRARY_PATH"; - - runtimeDeps = [ - targetPackages.stdenv.cc - targetPackages.stdenv.cc.bintools - coreutils # for cat - ] - # On darwin, we need unwrapped bintools as well (for otool) - ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [ - targetPackages.stdenv.cc.bintools.bintools - ]; - -in - -stdenv.mkDerivation { - inherit version; - pname = "ghc-binary${binDistUsed.variantSuffix}"; - - src = fetchurl binDistUsed.src; - - nativeBuildInputs = [ perl ]; - - # Set LD_LIBRARY_PATH or equivalent so that the programs running as part - # of the bindist installer can find the libraries they expect. - # Cannot patchelf beforehand due to relative RPATHs that anticipate - # the final install location. - ${libEnvVar} = libPath; - - postUnpack = - # Verify our assumptions of which `libtinfo.so` (ncurses) version is used, - # so that we know when ghc bindists upgrade that and we need to update the - # version used in `libPath`. - lib.optionalString (binDistUsed.exePathForLibraryCheck != null) - # Note the `*` glob because some GHCs have a suffix when unpacked, e.g. - # the musl bindist has dir `ghc-VERSION-x86_64-unknown-linux/`. - # As a result, don't shell-quote this glob when splicing the string. - ( - let - buildExeGlob = ''ghc-${version}*/"${binDistUsed.exePathForLibraryCheck}"''; - in - lib.concatStringsSep "\n" [ - '' - shopt -u nullglob - echo "Checking that ghc binary exists in bindist at ${buildExeGlob}" - if ! test -e ${buildExeGlob}; then - echo >&2 "GHC binary ${binDistUsed.exePathForLibraryCheck} could not be found in the bindist build directory (at ${buildExeGlob}) for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - '' - (lib.concatMapStringsSep "\n" ( - { fileToCheckFor, nixPackage }: - lib.optionalString (fileToCheckFor != null) '' - echo "Checking bindist for ${fileToCheckFor} to ensure that is still used" - if ! readelf -d ${buildExeGlob} | grep "${fileToCheckFor}"; then - echo >&2 "File ${fileToCheckFor} could not be found in ${binDistUsed.exePathForLibraryCheck} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - - echo "Checking that the nix package ${nixPackage} contains ${fileToCheckFor}" - if ! test -e "${lib.getLib nixPackage}/lib/${fileToCheckFor}"; then - echo >&2 "Nix package ${nixPackage} did not contain ${fileToCheckFor} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - '' - ) binDistUsed.archSpecificLibraries) - ] - ) - # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib - # during linking - + lib.optionalString stdenv.hostPlatform.isDarwin '' - export NIX_LDFLAGS+=" -no_dtrace_dof" - # not enough room in the object files for the full path to libiconv :( - for exe in $(find . -type f -executable); do - isMachO $exe || continue - ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib - install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $exe - done - '' - - # We have to patch the GMP paths for the ghc-bignum package, for hadrian by - # modifying the package-db directly - + '' - find . -name 'ghc-bignum*.conf' \ - -exec sed -e '/^[a-z-]*library-dirs/a \ ${lib.getLib gmpUsed}/lib' -i {} \; - '' - # Similar for iconv and libffi on darwin - + lib.optionalString stdenv.hostPlatform.isDarwin '' - find . -name 'base*.conf' \ - -exec sed -e '/^[a-z-]*library-dirs/a \ ${lib.getLib libiconv}/lib' -i {} \; - - # To link RTS in the end we also need libffi now - find . -name 'rts*.conf' \ - -exec sed -e '/^[a-z-]*library-dirs/a \ ${lib.getLib libffi}/lib' \ - -e 's@/Library/Developer/.*/usr/include/ffi@${lib.getDev libffi}/include@' \ - -i {} \; - '' - + - # Some platforms do HAVE_NUMA so -lnuma requires it in library-dirs in rts/package.conf.in - # FFI_LIB_DIR is a good indication of places it must be needed. - lib.optionalString - ( - lib.meta.availableOn stdenv.hostPlatform numactl - && builtins.any ({ nixPackage, ... }: nixPackage == numactl) binDistUsed.archSpecificLibraries - ) - '' - find . -name package.conf.in \ - -exec sed -i "s@FFI_LIB_DIR@FFI_LIB_DIR ${numactl.out}/lib@g" {} \; - '' - + - # Rename needed libraries and binaries, fix interpreter - lib.optionalString stdenv.hostPlatform.isLinux '' - find . -type f -executable -exec patchelf \ - --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \; - ''; - - # fix for `configure: error: Your linker is affected by binutils #16177` - preConfigure = lib.optionalString stdenv.targetPlatform.isAarch32 "LD=ld.gold"; - - # GHC has a patched config.sub and bindists' platforms should always work - dontUpdateAutotoolsGnuConfigScripts = true; - - configurePlatforms = [ ]; - configureFlags = - lib.optional stdenv.hostPlatform.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}" - # From: https://github.com/NixOS/nixpkgs/pull/43369/commits - ++ lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override"; - - # No building is necessary, but calling make without flags ironically - # calls install-strip ... - dontBuild = true; - - # GHC tries to remove xattrs when installing to work around Gatekeeper - # (see https://gitlab.haskell.org/ghc/ghc/-/issues/17418). This step normally - # succeeds in nixpkgs because xattrs are not allowed in the store, but it - # can fail when a file has the `com.apple.provenance` xattr, and it can’t be - # modified (such as target of the symlink to `libiconv.dylib`). - # The `com.apple.provenance` xattr is a new feature of macOS as of macOS 13. - # See: https://eclecticlight.co/2023/03/13/ventura-has-changed-app-quarantine-with-a-new-xattr/ - makeFlags = lib.optionals stdenv.buildPlatform.isDarwin [ "XATTR=/does-not-exist" ]; - - # Patch scripts to include runtime dependencies in $PATH. - postInstall = '' - for i in "$out/bin/"*; do - test ! -h "$i" || continue - isScript "$i" || continue - sed -i -e '2i export PATH="${lib.makeBinPath runtimeDeps}:$PATH"' "$i" - done - '' - + lib.optionalString stdenv.targetPlatform.isDarwin '' - # Work around building with binary GHC on Darwin due to GHC’s use of `ar -L` when it - # detects `llvm-ar` even though the resulting archives are not supported by ld64. - # https://gitlab.haskell.org/ghc/ghc/-/issues/23188 - # https://github.com/haskell/cabal/issues/8882 - sed -i -e 's/,("ar supports -L", "YES")/,("ar supports -L", "NO")/' "$out/lib/ghc-${version}/lib/settings" - ''; - - # Apparently necessary for the ghc Alpine (musl) bindist: - # When we strip, and then run the - # patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p - # below, running ghc (e.g. during `installCheckPhase)` gives some apparently - # corrupted rpath or whatever makes the loader work on nonsensical strings: - # running install tests - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: : symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: ir6zf6c9f86pfx8sr30n2vjy-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/../lib/x86_64-linux-ghc-8.10.5/libHSexceptions-0.10.4-ghc8.10.5.so: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: y/lib/ghc-8.10.5/bin/../lib/x86_64-linux-ghc-8.10.5/libHStemplate-haskell-2.16.0.0-ghc8.10.5.so: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: 8.10.5/libHStemplate-haskell-2.16.0.0-ghc8.10.5.so: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: �: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: �?: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: 64-linux-ghc-8.10.5/libHSexceptions-0.10.4-ghc8.10.5.so: symbol not found - # This is extremely bogus and should be investigated. - dontStrip = if stdenv.hostPlatform.isMusl then true else false; # `if` for explicitness - - # On Linux, use patchelf to modify the executables so that they can - # find editline/gmp. - postFixup = - lib.optionalString (stdenv.hostPlatform.isLinux && !(binDistUsed.isStatic or false)) ( - if stdenv.hostPlatform.isAarch64 then - # Keep rpath as small as possible on aarch64 for patchelf#244. All Elfs - # are 2 directories deep from $out/lib, so pooling symlinks there makes - # a short rpath. - '' - (cd $out/lib; ln -s ${ncurses6.out}/lib/libtinfo.so.6) - (cd $out/lib; ln -s ${lib.getLib gmpUsed}/lib/libgmp.so.10) - (cd $out/lib; ln -s ${numactl.out}/lib/libnuma.so.1) - for p in $(find "$out/lib" -type f -name "*\.so*"); do - (cd $out/lib; ln -s $p) - done - - for p in $(find "$out/lib" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../.." $p - fi - done - '' - else - '' - for p in $(find "$out" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p - fi - done - '' - ) - + lib.optionalString stdenv.hostPlatform.isDarwin '' - # not enough room in the object files for the full path to libiconv :( - for exe in $(find "$out" -type f -executable); do - isMachO $exe || continue - ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib - install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $exe - done - - for file in $(find "$out" -name setup-config); do - substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)" - done - '' - # Recache package db which needs to happen for Hadrian bindists - # where we modify the package db before installing - + '' - package_db=("$out"/lib/ghc-*/lib/package.conf.d) - "$out/bin/ghc-pkg" --package-db="$package_db" recache - ''; - - # GHC cannot currently produce outputs that are ready for `-pie` linking. - # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear. - # See: - # * https://github.com/NixOS/nixpkgs/issues/129247 - # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580 - hardeningDisable = [ "pie" ]; - - doInstallCheck = true; - installCheckPhase = '' - # Sanity check, can ghc create executables? - cd $TMP - mkdir test-ghc; cd test-ghc - cat > main.hs << EOF - {-# LANGUAGE TemplateHaskell #-} - module Main where - main = putStrLn \$([|"yes"|]) - EOF - env -i $out/bin/ghc --make main.hs || exit 1 - echo compilation ok - [ $(./main) == "yes" ] - ''; - - passthru = { - targetPrefix = ""; - enableShared = true; - - llvmPackages = null; - - # Our Cabal compiler name - haskellCompilerName = "ghc-${version}"; - - # Normal GHC derivations expose the hadrian derivation used to build them - # here. In the case of bindists we just make sure that the attribute exists, - # as it is used for checking if a GHC derivation has been built with hadrian. - hadrian = null; - }; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "Glasgow Haskell Compiler"; - license = lib.licenses.bsd3; - # HACK: since we can't encode the libc / abi in platforms, we need - # to make the platform list dependent on the evaluation platform - # in order to avoid eval errors with musl which supports less - # platforms than the default libcs (i. e. glibc / libSystem). - # This is done for the benefit of Hydra, so `packagePlatforms` - # won't return any platforms that would cause an evaluation - # failure for `pkgsMusl.haskell.compiler.ghc922Binary`, as - # long as the evaluator runs on a platform that supports - # `pkgsMusl`. - platforms = builtins.attrNames ghcBinDists.${distSetName}; - teams = [ lib.teams.haskell ]; - broken = !(import ./common-have-ncg.nix { inherit lib stdenv version; }); - }; -} diff --git a/pkgs/development/compilers/ghc/9.8.4-binary.nix b/pkgs/development/compilers/ghc/9.8.4-binary.nix index df3f507f33d8..0ef74e55f430 100644 --- a/pkgs/development/compilers/ghc/9.8.4-binary.nix +++ b/pkgs/development/compilers/ghc/9.8.4-binary.nix @@ -100,10 +100,6 @@ let nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; } - { - nixPackage = numactl; - fileToCheckFor = null; - } ]; }; x86_64-darwin = { @@ -432,13 +428,6 @@ stdenv.mkDerivation { "$out/bin/ghc-pkg" --package-db="$package_db" recache ''; - # GHC cannot currently produce outputs that are ready for `-pie` linking. - # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear. - # See: - # * https://github.com/NixOS/nixpkgs/issues/129247 - # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580 - hardeningDisable = [ "pie" ]; - doInstallCheck = true; installCheckPhase = '' # Sanity check, can ghc create executables? diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index 62691f861584..9e1517762608 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -185,32 +185,9 @@ || (lib.versionAtLeast version "9.8" && lib.versionOlder version "9.11"); in - lib.optionals - ( - # 2025-01-16: unix >= 2.8.6.0 is unaffected which is shipped by GHC 9.12.1 and 9.8.4 - lib.versionOlder version "9.11" - && !(lib.versionAtLeast version "9.6.7" && lib.versionOlder version "9.8") - && !(lib.versionAtLeast version "9.8.4" && lib.versionOlder version "9.9") - && !(lib.versionAtLeast version "9.10.2" && lib.versionOlder version "9.11") - ) - [ - # Determine size of time related types using hsc2hs instead of assuming CLong. - # Prevents failures when e.g. stat(2)ing on 32bit systems with 64bit time_t etc. - # https://github.com/haskell/ghcup-hs/issues/1107 - # https://gitlab.haskell.org/ghc/ghc/-/issues/25095 - # Note that in normal situations this shouldn't be the case since nixpkgs - # doesn't set -D_FILE_OFFSET_BITS=64 and friends (yet). - (fetchpatch { - name = "unix-fix-ctimeval-size-32-bit.patch"; - url = "https://github.com/haskell/unix/commit/8183e05b97ce870dd6582a3677cc82459ae566ec.patch"; - sha256 = "17q5yyigqr5kxlwwzb95sx567ysfxlw6bp3j4ji20lz0947aw6gv"; - stripLen = 1; - extraPrefix = "libraries/unix/"; - }) - ] - ++ lib.optionals (lib.versionAtLeast version "9.6" && lib.versionOlder version "9.8") [ + lib.optionals (lib.versionOlder version "9.8") [ # Fix unlit being installed under a different name than is used in the - # settings file: https://gitlab.haskell.org/ghc/ghc/-/issues/23317 + # settings file: https://gitlab.haskell.org/ghc/ghc/-/issues/23317 krank:ignore-line (fetchpatch { name = "ghc-9.6-fix-unlit-path.patch"; url = "https://gitlab.haskell.org/ghc/ghc/-/commit/8fde4ac84ec7b1ead238cb158bbef48555d12af9.patch"; @@ -223,7 +200,7 @@ # # These cause problems as they're not eliminated by GHC's dead code # elimination on aarch64-darwin. (see - # https://github.com/NixOS/nixpkgs/issues/140774 for details). + # https://github.com/NixOS/nixpkgs/issues/140774 for details). krank:ignore-line ( if lib.versionOlder version "9.10" then ./Cabal-at-least-3.6-paths-fix-cycle-aarch64-darwin.patch @@ -239,12 +216,17 @@ hash = "sha256-sb+AHdkGkCu8MW0xoQIpD5kEc0zYX8udAMDoC+TWc0Q="; }) ] + ++ lib.optionals stdenv.targetPlatform.isGhcjs [ + # https://gitlab.haskell.org/ghc/ghc/-/issues/26290 + ./export-heap-methods.patch + ] # Prevents passing --hyperlinked-source to haddock. Note that this can # be configured via a user defined flavour now. Unfortunately, it is # impossible to import an existing flavour in UserSettings, so patching # the defaults is actually simpler and less maintenance intensive # compared to keeping an entire flavour definition in sync with upstream - # manually. See also https://gitlab.haskell.org/ghc/ghc/-/issues/23625 + # manually. + # See also https://gitlab.haskell.org/ghc/ghc/-/issues/23625 krank:ignore-line ++ lib.optionals (!enableHyperlinkedSource) [ ( if lib.versionOlder version "9.8" then @@ -279,7 +261,7 @@ ] # Fixes stack overrun in rts which crashes an process whenever # freeHaskellFunPtr is called with nixpkgs' hardening flags. - # https://gitlab.haskell.org/ghc/ghc/-/issues/25485 + # https://gitlab.haskell.org/ghc/ghc/-/issues/25485 krank:ignore-line # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13599 ++ lib.optionals (lib.versionOlder version "9.13") [ (fetchpatch { @@ -292,7 +274,9 @@ # Missing ELF symbols ++ lib.optionals stdenv.targetPlatform.isAndroid [ ./ghc-define-undefined-elf-st-visibility.patch - ]; + ] + + ++ (import ./common-llvm-patches.nix { inherit lib version fetchpatch; }); stdenv = stdenvNoCC; }, @@ -780,14 +764,8 @@ stdenv.mkDerivation ( checkTarget = "test"; - # GHC cannot currently produce outputs that are ready for `-pie` linking. - # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear. - # See: - # * https://github.com/NixOS/nixpkgs/issues/129247 - # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580 hardeningDisable = [ "format" - "pie" ]; # big-parallel allows us to build with more than 2 cores on @@ -808,7 +786,8 @@ stdenv.mkDerivation ( '' # the bindist configure script uses different env variables than the GHC configure script - # see https://github.com/NixOS/nixpkgs/issues/267250 and https://gitlab.haskell.org/ghc/ghc/-/issues/24211 + # see https://github.com/NixOS/nixpkgs/issues/267250 krank:ignore-line + # https://gitlab.haskell.org/ghc/ghc/-/issues/24211 krank:ignore-line + lib.optionalString (stdenv.targetPlatform.linker == "cctools") '' export InstallNameToolCmd=$INSTALL_NAME_TOOL export OtoolCmd=$OTOOL @@ -894,8 +873,6 @@ stdenv.mkDerivation ( timeout = 24 * 3600; platforms = lib.platforms.all; inherit (bootPkgs.ghc.meta) license; - # To be fixed by . - broken = useLLVM; }; dontStrip = targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm; diff --git a/pkgs/development/compilers/ghc/common-llvm-patches.nix b/pkgs/development/compilers/ghc/common-llvm-patches.nix new file mode 100644 index 000000000000..999e77f44ad4 --- /dev/null +++ b/pkgs/development/compilers/ghc/common-llvm-patches.nix @@ -0,0 +1,126 @@ +{ + lib, + version, + fetchpatch, +}: + +# Backports for LLVM support. +# +# These primarily focus on backporting patches that are relevant to +# supporting newer LLVM versions, rather than aiming to backport every +# LLVM backend bug fix or improvement from newer GHC releases. +# +# Potentially of interest for cross‐compiling GHC 9.4.8 to LoongArch64: +# +# * +# * + +[ ] + +++ lib.optionals (lib.versionOlder version "9.6") [ + # + (fetchpatch { + name = "ghc-9.4-llvm-support-15.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/0cc16aaf89d7dc3963764b7193ceac73e4e3329b.patch"; + hash = "sha256-G0gqrj5iPuQ5JuC2+d151yka72XZMbrqMWPZd4EuT04="; + }) + + # + ./ghc-9.4-llvm-fix-version-detection.patch +] + +++ lib.optionals (lib.versionOlder version "9.8") [ + ( + # The upstream backport of !13763 in 9.6.7 removed an unused import + # that is required by the next series. + if lib.versionOlder version "9.6" then null else ./ghc-9.6-llvm-restore-import.patch + ) +] + +++ lib.optionals (lib.versionOlder version "9.10") [ + # + ( + if lib.versionOlder version "9.8" then + ./ghc-9.4-llvm-add-metadata-exports.patch + else + fetchpatch { + name = "ghc-9.8-llvm-add-metadata-exports.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/fcfc1777c22ad47613256c3c5e7304cfd29bc761.patch"; + hash = "sha256-9rpyeH8TUVeKoW4PA6qn7DG2+P9MhBCywmbi1O/NsTQ="; + } + ) + ( + if lib.versionOlder version "9.8" then + ./ghc-9.4-llvm-allow-llvmlits-in-metaexprs.patch + else + fetchpatch { + name = "ghc-9.8-llvm-allow-llvmlits-in-metaexprs.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/5880fff6d353a14785c457999fded5a7100c9514.patch"; + hash = "sha256-NDMGNc0PYpWJUW+nI2YvMsBOWRIfNix4oWHQZAIxrVY="; + } + ) + ( + # `GHC.Driver.DynFlags` was not split out until 9.8, so this can be + # omitted with no functional effect on the rest of the series on + # earlier versions. + if lib.versionOlder version "9.8" then + null + else + fetchpatch { + name = "ghc-9.8-move-feature-predicates-to-dynflags.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/86ce92a2f81a04aa980da2891d0e300cb3cb7efd.patch"; + hash = "sha256-SzJgzq4b5wAMPz+/QSa67iSOxB2enqejvV0lsF0+9L8="; + } + ) + (fetchpatch { + name = "ghc-9.4-llvm-add-module-flag-metadata-infra.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/a6a3874276ced1b037365c059dcd0a758e813a5b.patch"; + hash = "sha256-tAYDRNXmpp5cZtyONpO8vlsDmnNEBbh4J3oSCy/uWWc="; + }) + ( + if lib.versionOlder version "9.8" then + ./ghc-9.4-llvm-fix-stack-alignment.patch + else + fetchpatch { + name = "ghc-9.8-llvm-fix-stack-alignment.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/e9af2cf3f16ab60b5c79ed91df95359b11784df6.patch"; + hash = "sha256-RmYwFN3c3AgJxF9KXWQLdwOgugzepCW1wcTdJX1h0C4="; + } + ) + + # + ( + if lib.versionOlder version "9.6" then + ./ghc-9.4-llvm-use-new-pass-manager.patch + else if lib.versionOlder version "9.8" then + ./ghc-9.6-llvm-use-new-pass-manager.patch + else + ./ghc-9.8-llvm-use-new-pass-manager.patch + ) +] + +++ lib.optionals (lib.versionOlder version "9.12") [ + # + (fetchpatch { + name = "ghc-9.4-llvm-support-16-17-18.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/ae170155e82f1e5f78882f7a682d02a8e46a5823.patch"; + hash = "sha256-U1znWqXZTORmAg480p5TjTL53T2Zn+1+9Fnk2V1Drfs="; + }) + + # + (fetchpatch { + name = "ghc-9.4-llvm-support-19.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/36bbb167f354a2fbc6c4842755f2b1e374e3580e.patch"; + excludes = [ ".gitlab-ci.yml" ]; + hash = "sha256-v8T/FtriDPbibcIDZmU2yotBoDVo+wU2+gw+CCdQlm0="; + }) +] + +++ lib.optionals (lib.versionOlder version "9.14") [ + # + (fetchpatch { + name = "ghc-9.4-llvm-support-20.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/ca03226db2db2696460bfcb8035dd3268d546706.patch"; + hash = "sha256-7cO049DQtJHUAhwPujoFO+zQtXsMg6VFTHtMDwenrKs="; + }) +] diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index 401a65a11ded..2300e0470ca7 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -14,14 +14,12 @@ # build-tools bootPkgs, - autoconf, - automake, + autoreconfHook, coreutils, fetchpatch, fetchurl, perl, python3, - m4, sphinx, xattr, autoSignDarwinBinariesHook, @@ -134,7 +132,7 @@ let # program is built (which we generally always want to have a complete GHC install) # and whether it is run on the GHC sources to generate hyperlinked source code # (which is impossible for cross-compilation); see: - # https://gitlab.haskell.org/ghc/ghc/-/issues/20077 + # https://gitlab.haskell.org/ghc/ghc/-/issues/20077 krank:ignore-line # This implies that currently a cross-compiled GHC will never have a `haddock` # program, so it can never generate haddocks for any packages. # If this is solved in the future, we'd like to unconditionally @@ -292,8 +290,8 @@ stdenv.mkDerivation ( patches = [ # Determine size of time related types using hsc2hs instead of assuming CLong. # Prevents failures when e.g. stat(2)ing on 32bit systems with 64bit time_t etc. - # https://github.com/haskell/ghcup-hs/issues/1107 - # https://gitlab.haskell.org/ghc/ghc/-/issues/25095 + # https://github.com/haskell/ghcup-hs/issues/1107 krank:ignore-line + # https://gitlab.haskell.org/ghc/ghc/-/issues/25095 krank:ignore-line # Note that in normal situations this shouldn't be the case since nixpkgs # doesn't set -D_FILE_OFFSET_BITS=64 and friends (yet). (fetchpatch { @@ -304,7 +302,7 @@ stdenv.mkDerivation ( extraPrefix = "libraries/unix/"; }) - # Fix docs build with Sphinx >= 7 https://gitlab.haskell.org/ghc/ghc/-/issues/24129 + # Fix docs build with Sphinx >= 7 https://gitlab.haskell.org/ghc/ghc/-/issues/24129 krank:ignore-line ./docs-sphinx-7.patch # Correctly record libnuma's library and include directories in the @@ -328,7 +326,7 @@ stdenv.mkDerivation ( # the solution is to backport those changes from GHC 9.6 that skip the intermediate # assembly step. # - # https://gitlab.haskell.org/ghc/ghc/-/issues/25608#note_622589 + # https://gitlab.haskell.org/ghc/ghc/-/issues/25608#note_622589 krank:ignore-line # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6877 ++ [ # Need to use this patch so the next one applies, passes file location info to the cc phase @@ -369,7 +367,7 @@ stdenv.mkDerivation ( # Fixes stack overrun in rts which crashes an process whenever # freeHaskellFunPtr is called with nixpkgs' hardening flags. - # https://gitlab.haskell.org/ghc/ghc/-/issues/25485 + # https://gitlab.haskell.org/ghc/ghc/-/issues/25485 krank:ignore-line # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13599 # TODO: patch doesn't apply for < 9.4, but may still be necessary? ++ [ @@ -386,9 +384,11 @@ stdenv.mkDerivation ( # # These cause problems as they're not eliminated by GHC's dead code # elimination on aarch64-darwin. (see - # https://github.com/NixOS/nixpkgs/issues/140774 for details). + # https://github.com/NixOS/nixpkgs/issues/140774 for details). krank:ignore-line ./Cabal-at-least-3.6-paths-fix-cycle-aarch64-darwin.patch - ]; + ] + + ++ (import ./common-llvm-patches.nix { inherit lib version fetchpatch; }); postPatch = "patchShebangs ."; @@ -444,7 +444,6 @@ stdenv.mkDerivation ( export AR_STAGE0="$AR_FOR_BUILD" echo -n "${buildMK}" > mk/build.mk - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure '' # Haddock and sphinx need a working locale + lib.optionalString (enableDocs || enableHaddockProgram) ( @@ -479,8 +478,7 @@ stdenv.mkDerivation ( grep linux-musl llvm-targets | sed 's/^/ /' echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" - # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) - for x in configure aclocal.m4; do + for x in aclocal.m4; do substituteInPlace $x \ --replace '*-android*|*-gnueabi*)' \ '*-android*|*-gnueabi*|*-musleabi*)' @@ -547,10 +545,8 @@ stdenv.mkDerivation ( dontAddExtraLibs = true; nativeBuildInputs = [ + autoreconfHook perl - autoconf - automake - m4 python3 bootPkgs.alex bootPkgs.happy @@ -600,14 +596,8 @@ stdenv.mkDerivation ( checkTarget = "test"; - # GHC cannot currently produce outputs that are ready for `-pie` linking. - # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear. - # See: - # * https://github.com/NixOS/nixpkgs/issues/129247 - # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580 hardeningDisable = [ "format" - "pie" ]; # big-parallel allows us to build with more than 2 cores on @@ -683,8 +673,6 @@ stdenv.mkDerivation ( timeout = 24 * 3600; platforms = lib.platforms.all; inherit (bootPkgs.ghc.meta) license; - # To be fixed by . - broken = useLLVM; }; } diff --git a/pkgs/development/compilers/ghc/docs-sphinx-7.patch b/pkgs/development/compilers/ghc/docs-sphinx-7.patch index 49fa45d1b9a2..d1321c421492 100644 --- a/pkgs/development/compilers/ghc/docs-sphinx-7.patch +++ b/pkgs/development/compilers/ghc/docs-sphinx-7.patch @@ -1,6 +1,6 @@ Fix build of docs after sphinx update. https://github.com/sphinx-doc/sphinx/pull/11381 -https://gitlab.haskell.org/ghc/ghc/-/issues/24129 +https://gitlab.haskell.org/ghc/ghc/-/issues/24129 krank:ignore-line --- a/docs/users_guide/rtd-theme/layout.html +++ b/docs/users_guide/rtd-theme/layout.html @@ -67 +67 @@ diff --git a/pkgs/development/compilers/ghc/export-heap-methods.patch b/pkgs/development/compilers/ghc/export-heap-methods.patch new file mode 100644 index 000000000000..ff4ce1263aee --- /dev/null +++ b/pkgs/development/compilers/ghc/export-heap-methods.patch @@ -0,0 +1,11 @@ +diff --git a/rts/js/mem.js b/rts/js/mem.js +index 44c5c37ac4..1f150c5d55 100644 +--- a/rts/js/mem.js ++++ b/rts/js/mem.js +@@ -1,5 +1,5 @@ + //#OPTIONS:CPP +-//#OPTIONS:EMCC:EXPORTED_RUNTIME_METHODS=addFunction,removeFunction,getEmptyTableSlot ++//#OPTIONS:EMCC:EXPORTED_RUNTIME_METHODS=addFunction,removeFunction,getEmptyTableSlot,HEAP8,HEAPU8 + + // #define GHCJS_TRACE_META 1 + diff --git a/pkgs/development/compilers/ghc/ghc-9.4-llvm-add-metadata-exports.patch b/pkgs/development/compilers/ghc/ghc-9.4-llvm-add-metadata-exports.patch new file mode 100644 index 000000000000..ec2fa19d452c --- /dev/null +++ b/pkgs/development/compilers/ghc/ghc-9.4-llvm-add-metadata-exports.patch @@ -0,0 +1,31 @@ +From 701154fdbceff2edb121768eb660713a98580af8 Mon Sep 17 00:00:00 2001 +From: Ben Gamari +Date: Tue, 22 Aug 2023 12:23:26 -0400 +Subject: [PATCH] llvmGen: Add export list to GHC.Llvm.MetaData + +(cherry picked from commit fcfc1777c22ad47613256c3c5e7304cfd29bc761) +--- + compiler/GHC/Llvm/MetaData.hs | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/compiler/GHC/Llvm/MetaData.hs b/compiler/GHC/Llvm/MetaData.hs +index f46ae0a101..3526c11bc3 100644 +--- a/compiler/GHC/Llvm/MetaData.hs ++++ b/compiler/GHC/Llvm/MetaData.hs +@@ -1,6 +1,12 @@ + {-# LANGUAGE GeneralizedNewtypeDeriving #-} + +-module GHC.Llvm.MetaData where ++module GHC.Llvm.MetaData ++ ( MetaId(..) ++ , ppr ++ , MetaExpr(..) ++ , MetaAnnot(..) ++ , MetaDecl(..) ++ ) where + + import GHC.Prelude + +-- +2.50.1 + diff --git a/pkgs/development/compilers/ghc/ghc-9.4-llvm-allow-llvmlits-in-metaexprs.patch b/pkgs/development/compilers/ghc/ghc-9.4-llvm-allow-llvmlits-in-metaexprs.patch new file mode 100644 index 000000000000..6c34f9800472 --- /dev/null +++ b/pkgs/development/compilers/ghc/ghc-9.4-llvm-allow-llvmlits-in-metaexprs.patch @@ -0,0 +1,40 @@ +From 51765e343e9829f1d3e95d1d7303fa3594ae91cc Mon Sep 17 00:00:00 2001 +From: Ben Gamari +Date: Tue, 22 Aug 2023 12:24:53 -0400 +Subject: [PATCH] llvmGen: Allow LlvmLits in MetaExprs + +This omission appears to be an oversight. + +(cherry picked from commit 5880fff6d353a14785c457999fded5a7100c9514) +--- + compiler/GHC/Llvm/MetaData.hs | 1 + + compiler/GHC/Llvm/Ppr.hs | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/compiler/GHC/Llvm/MetaData.hs b/compiler/GHC/Llvm/MetaData.hs +index f46ae0a101..121cdd5788 100644 +--- a/compiler/GHC/Llvm/MetaData.hs ++++ b/compiler/GHC/Llvm/MetaData.hs +@@ -68,6 +68,7 @@ instance Outputable MetaId where + + -- | LLVM metadata expressions + data MetaExpr = MetaStr !LMString ++ | MetaLit !LlvmLit + | MetaNode !MetaId + | MetaVar !LlvmVar + | MetaStruct [MetaExpr] +diff --git a/compiler/GHC/Llvm/Ppr.hs b/compiler/GHC/Llvm/Ppr.hs +index f48e7aa034..bc88a13439 100644 +--- a/compiler/GHC/Llvm/Ppr.hs ++++ b/compiler/GHC/Llvm/Ppr.hs +@@ -256,6 +256,7 @@ ppMetaExpr :: LlvmCgConfig -> MetaExpr -> SDoc + ppMetaExpr opts = \case + MetaVar (LMLitVar (LMNullLit _)) -> text "null" + MetaStr s -> char '!' <> doubleQuotes (ftext s) ++ MetaLit l -> ppTypeLit opts l + MetaNode n -> ppr n + MetaVar v -> ppVar opts v + MetaStruct es -> char '!' <> braces (ppCommaJoin (map (ppMetaExpr opts) es)) +-- +2.50.1 + diff --git a/pkgs/development/compilers/ghc/ghc-9.4-llvm-fix-stack-alignment.patch b/pkgs/development/compilers/ghc/ghc-9.4-llvm-fix-stack-alignment.patch new file mode 100644 index 000000000000..23c4e0717c5e --- /dev/null +++ b/pkgs/development/compilers/ghc/ghc-9.4-llvm-fix-stack-alignment.patch @@ -0,0 +1,137 @@ +From 646d62e74c16be785ef08735ae5b24f4af6bcf78 Mon Sep 17 00:00:00 2001 +From: Ben Gamari +Date: Tue, 22 Aug 2023 13:26:58 -0400 +Subject: [PATCH] llvmGen: Don't pass stack alignment via command line + +As of https://reviews.llvm.org/D103048 LLVM no longer supports the +`-stack-alignment=...` flag. Instead this information is passed via a +module flag metadata node. + +This requires dropping support for LLVM 11 and 12. + +Fixes #23870 + +(cherry picked from commit e9af2cf3f16ab60b5c79ed91df95359b11784df6) +--- + compiler/GHC/CmmToLlvm.hs | 29 ++++++++++++++++++++++++- + compiler/GHC/CmmToLlvm/Config.hs | 1 + + compiler/GHC/Driver/Config/CmmToLlvm.hs | 1 + + compiler/GHC/Driver/Pipeline/Execute.hs | 7 ------ + configure.ac | 2 +- + 5 files changed, 31 insertions(+), 9 deletions(-) + +diff --git a/compiler/GHC/CmmToLlvm.hs b/compiler/GHC/CmmToLlvm.hs +index 7d48693765..b9036daef1 100644 +--- a/compiler/GHC/CmmToLlvm.hs ++++ b/compiler/GHC/CmmToLlvm.hs +@@ -190,7 +190,7 @@ cmmLlvmGen _ = return () + + cmmMetaLlvmPrelude :: LlvmM () + cmmMetaLlvmPrelude = do +- metas <- flip mapM stgTBAA $ \(uniq, name, parent) -> do ++ tbaa_metas <- flip mapM stgTBAA $ \(uniq, name, parent) -> do + -- Generate / lookup meta data IDs + tbaaId <- getMetaUniqueId + setUniqMeta uniq tbaaId +@@ -203,9 +203,36 @@ cmmMetaLlvmPrelude = do + -- just a name on its own. Previously `null` was accepted as the + -- name. + Nothing -> [ MetaStr name ] ++ ++ platform <- getPlatform ++ cfg <- getConfig ++ let stack_alignment_metas = ++ case platformArch platform of ++ ArchX86_64 | llvmCgAvxEnabled cfg -> [mkStackAlignmentMeta 32] ++ _ -> [] ++ module_flags_metas <- mkModuleFlagsMeta stack_alignment_metas ++ let metas = tbaa_metas ++ module_flags_metas + cfg <- getConfig + renderLlvm $ ppLlvmMetas cfg metas + ++mkNamedMeta :: LMString -> [MetaExpr] -> LlvmM [MetaDecl] ++mkNamedMeta name exprs = do ++ (ids, decls) <- unzip <$> mapM f exprs ++ return $ decls ++ [MetaNamed name ids] ++ where ++ f expr = do ++ i <- getMetaUniqueId ++ return (i, MetaUnnamed i expr) ++ ++mkModuleFlagsMeta :: [ModuleFlag] -> LlvmM [MetaDecl] ++mkModuleFlagsMeta = ++ mkNamedMeta "llvm.module.flags" . map moduleFlagToMetaExpr ++ ++mkStackAlignmentMeta :: Integer -> ModuleFlag ++mkStackAlignmentMeta alignment = ++ ModuleFlag MFBError "override-stack-alignment" (MetaLit $ LMIntLit alignment i32) ++ ++ + -- ----------------------------------------------------------------------------- + -- | Marks variables as used where necessary + -- +diff --git a/compiler/GHC/CmmToLlvm/Config.hs b/compiler/GHC/CmmToLlvm/Config.hs +index 649a33c2f6..ecab7fdcc1 100644 +--- a/compiler/GHC/CmmToLlvm/Config.hs ++++ b/compiler/GHC/CmmToLlvm/Config.hs +@@ -36,6 +36,7 @@ data LlvmCgConfig = LlvmCgConfig + , llvmCgContext :: !SDocContext -- ^ Context for LLVM code generation + , llvmCgFillUndefWithGarbage :: !Bool -- ^ Fill undefined literals with garbage values + , llvmCgSplitSection :: !Bool -- ^ Split sections ++ , llvmCgAvxEnabled :: !Bool + , llvmCgBmiVersion :: Maybe BmiVersion -- ^ (x86) BMI instructions + , llvmCgLlvmVersion :: Maybe LlvmVersion -- ^ version of Llvm we're using + , llvmCgDoWarn :: !Bool -- ^ True ==> warn unsupported Llvm version +diff --git a/compiler/GHC/Driver/Config/CmmToLlvm.hs b/compiler/GHC/Driver/Config/CmmToLlvm.hs +index 8097bbec7e..752ba987ca 100644 +--- a/compiler/GHC/Driver/Config/CmmToLlvm.hs ++++ b/compiler/GHC/Driver/Config/CmmToLlvm.hs +@@ -23,6 +23,7 @@ initLlvmCgConfig logger config_cache dflags = do + , llvmCgContext = initSDocContext dflags PprCode + , llvmCgFillUndefWithGarbage = gopt Opt_LlvmFillUndefWithGarbage dflags + , llvmCgSplitSection = gopt Opt_SplitSections dflags ++ , llvmCgAvxEnabled = isAvxEnabled dflags + , llvmCgBmiVersion = case platformArch (targetPlatform dflags) of + ArchX86_64 -> bmiVersion dflags + ArchX86 -> bmiVersion dflags +diff --git a/compiler/GHC/Driver/Pipeline/Execute.hs b/compiler/GHC/Driver/Pipeline/Execute.hs +index fac2a595f2..4fa72be475 100644 +--- a/compiler/GHC/Driver/Pipeline/Execute.hs ++++ b/compiler/GHC/Driver/Pipeline/Execute.hs +@@ -992,8 +992,6 @@ llvmOptions llvm_config dflags = + [("-enable-tbaa -tbaa", "-enable-tbaa") | gopt Opt_LlvmTBAA dflags ] + ++ [("-relocation-model=" ++ rmodel + ,"-relocation-model=" ++ rmodel) | not (null rmodel)] +- ++ [("-stack-alignment=" ++ (show align) +- ,"-stack-alignment=" ++ (show align)) | align > 0 ] + + -- Additional llc flags + ++ [("", "-mcpu=" ++ mcpu) | not (null mcpu) +@@ -1012,11 +1010,6 @@ llvmOptions llvm_config dflags = + + platform = targetPlatform dflags + +- align :: Int +- align = case platformArch platform of +- ArchX86_64 | isAvxEnabled dflags -> 32 +- _ -> 0 +- + attrs :: String + attrs = intercalate "," $ mattr + ++ ["+sse42" | isSse4_2Enabled dflags ] +diff --git a/configure.ac b/configure.ac +index 16f2e8b339..0440d5051b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -555,7 +555,7 @@ AC_SUBST(InstallNameToolCmd) + # tools we are looking for. In the past, GHC supported a number of + # versions of LLVM simultaneously, but that stopped working around + # 3.5/3.6 release of LLVM. +-LlvmMinVersion=11 # inclusive ++LlvmMinVersion=13 # inclusive + LlvmMaxVersion=16 # not inclusive + AC_SUBST([LlvmMinVersion]) + AC_SUBST([LlvmMaxVersion]) +-- +2.50.1 + diff --git a/pkgs/development/compilers/ghc/ghc-9.4-llvm-fix-version-detection.patch b/pkgs/development/compilers/ghc/ghc-9.4-llvm-fix-version-detection.patch new file mode 100644 index 000000000000..721909363d6b --- /dev/null +++ b/pkgs/development/compilers/ghc/ghc-9.4-llvm-fix-version-detection.patch @@ -0,0 +1,103 @@ +From c1229507e29e5c44b6f23d6f2afb5d55e7fb9606 Mon Sep 17 00:00:00 2001 +From: ARATA Mizuki +Date: Wed, 25 Dec 2024 22:50:46 +0900 +Subject: [PATCH] Fix LLVM version detection + +With a recent LLVM, `llc -version` emits the version on the first line +if the vendor is set. It emits the version on the second line +otherwise. + +Therefore, we need to check the both lines to detect the version. + +GHC now emits a warning if it fails to detect the LLVM version, +so we can notice if the output of `llc -version` changes in the future. + +Also, the warning for using LLVM < 10 on s390x is removed, because +we assume LLVM >= 13 now. + +This fixes the definition of __GLASGOW_HASKELL_LLVM__ macro. + +Fixes #25606 + +(cherry picked from commit a928c326011f1a6bef3289a4c36d4e19b5951229) +--- + compiler/GHC/CmmToLlvm.hs | 14 ++++++++------ + compiler/GHC/SysTools/Tasks.hs | 13 ++++++++----- + docs/users_guide/phases.rst | 2 +- + 3 files changed, 17 insertions(+), 12 deletions(-) + +diff --git a/compiler/GHC/CmmToLlvm.hs b/compiler/GHC/CmmToLlvm.hs +index ecf111c636..76541c477c 100644 +--- a/compiler/GHC/CmmToLlvm.hs ++++ b/compiler/GHC/CmmToLlvm.hs +@@ -38,7 +38,7 @@ import GHC.Utils.Logger + import qualified GHC.Data.Stream as Stream + + import Control.Monad ( when, forM_ ) +-import Data.Maybe ( fromMaybe, catMaybes ) ++import Data.Maybe ( fromMaybe, catMaybes, isNothing ) + import System.IO + + -- ----------------------------------------------------------------------------- +@@ -68,11 +68,13 @@ llvmCodeGen logger cfg h cmm_stream + "up to" <+> text (llvmVersionStr supportedLlvmVersionUpperBound) <+> "(non inclusive) is supported." <+> + "System LLVM version: " <> text (llvmVersionStr ver) $$ + "We will try though..." +- let isS390X = platformArch (llvmCgPlatform cfg) == ArchS390X +- let major_ver = head . llvmVersionList $ ver +- when (isS390X && major_ver < 10 && doWarn) $ putMsg logger $ +- "Warning: For s390x the GHC calling convention is only supported since LLVM version 10." <+> +- "You are using LLVM version: " <> text (llvmVersionStr ver) ++ ++ when (isNothing mb_ver) $ do ++ let doWarn = llvmCgDoWarn cfg ++ when doWarn $ putMsg logger $ ++ "Failed to detect LLVM version!" $$ ++ "Make sure LLVM is installed correctly." $$ ++ "We will try though..." + + -- HACK: the Nothing case here is potentially wrong here but we + -- currently don't use the LLVM version to guide code generation +diff --git a/compiler/GHC/SysTools/Tasks.hs b/compiler/GHC/SysTools/Tasks.hs +index 7cd5188d5f..165e1602cf 100644 +--- a/compiler/GHC/SysTools/Tasks.hs ++++ b/compiler/GHC/SysTools/Tasks.hs +@@ -236,14 +236,17 @@ figureLlvmVersion logger dflags = traceToolCommand logger "llc" $ do + (pin, pout, perr, p) <- runInteractiveProcess pgm args' + Nothing Nothing + {- > llc -version +- LLVM (http://llvm.org/): +- LLVM version 3.5.2 ++ LLVM version 15.0.7 + ... ++ OR ++ LLVM (http://llvm.org/): ++ LLVM version 14.0.6 + -} + hSetBinaryMode pout False +- _ <- hGetLine pout +- vline <- hGetLine pout +- let mb_ver = parseLlvmVersion vline ++ line1 <- hGetLine pout ++ mb_ver <- case parseLlvmVersion line1 of ++ mb_ver@(Just _) -> return mb_ver ++ Nothing -> parseLlvmVersion <$> hGetLine pout -- Try the second line + hClose pin + hClose pout + hClose perr +diff --git a/docs/users_guide/phases.rst b/docs/users_guide/phases.rst +index 6a2d4b3c20..9ccd2aa034 100644 +--- a/docs/users_guide/phases.rst ++++ b/docs/users_guide/phases.rst +@@ -474,7 +474,7 @@ defined by your local GHC installation, the following trick is useful: + .. index:: + single: __GLASGOW_HASKELL_LLVM__ + +- Only defined when `:ghc-flag:`-fllvm` is specified. When GHC is using version ++ Only defined when :ghc-flag:`-fllvm` is specified. When GHC is using version + ``x.y.z`` of LLVM, the value of ``__GLASGOW_HASKELL_LLVM__`` is the + integer ⟨xyy⟩ (if ⟨y⟩ is a single digit, then a leading zero + is added, so for example when using version 3.7 of LLVM, +-- +2.50.1 + diff --git a/pkgs/development/compilers/ghc/ghc-9.4-llvm-use-new-pass-manager.patch b/pkgs/development/compilers/ghc/ghc-9.4-llvm-use-new-pass-manager.patch new file mode 100644 index 000000000000..6fbaa6b6c36a --- /dev/null +++ b/pkgs/development/compilers/ghc/ghc-9.4-llvm-use-new-pass-manager.patch @@ -0,0 +1,87 @@ +From 857d84f43f288019d6b926ac562f0d3eff30bc1e Mon Sep 17 00:00:00 2001 +From: Ben Gamari +Date: Wed, 31 Jan 2024 08:58:58 -0500 +Subject: [PATCH] llvmGen: Adapt to allow use of new pass manager. + +We now must use `-passes` in place of `-O` due to #21936. + +Closes #21936. + +(cherry picked from commit 77db84aba1ba00f6d146e9107b24c6203798e796) +--- + compiler/GHC/Driver/Flags.hs | 2 -- + compiler/GHC/Driver/Pipeline/Execute.hs | 3 +-- + compiler/GHC/Driver/Session.hs | 2 -- + llvm-passes | 6 +++--- + 4 files changed, 4 insertions(+), 9 deletions(-) + +diff --git a/compiler/GHC/Driver/Flags.hs b/compiler/GHC/Driver/Flags.hs +index 8f6c37d5a7..2e5189f42f 100644 +--- a/compiler/GHC/Driver/Flags.hs ++++ b/compiler/GHC/Driver/Flags.hs +@@ -213,7 +213,6 @@ data GeneralFlag + | Opt_RegsGraph -- do graph coloring register allocation + | Opt_RegsIterative -- do iterative coalescing graph coloring register allocation + | Opt_PedanticBottoms -- Be picky about how we treat bottom +- | Opt_LlvmTBAA -- Use LLVM TBAA infrastructure for improving AA (hidden flag) + | Opt_LlvmFillUndefWithGarbage -- Testing for undef bugs (hidden flag) + | Opt_IrrefutableTuples + | Opt_CmmSink +@@ -446,7 +445,6 @@ optimisationFlags = EnumSet.fromList + , Opt_RegsGraph + , Opt_RegsIterative + , Opt_PedanticBottoms +- , Opt_LlvmTBAA + , Opt_LlvmFillUndefWithGarbage + , Opt_IrrefutableTuples + , Opt_CmmSink +diff --git a/compiler/GHC/Driver/Pipeline/Execute.hs b/compiler/GHC/Driver/Pipeline/Execute.hs +index b78ed19160..8c752f5546 100644 +--- a/compiler/GHC/Driver/Pipeline/Execute.hs ++++ b/compiler/GHC/Driver/Pipeline/Execute.hs +@@ -882,8 +882,7 @@ getOutputFilename logger tmpfs stop_phase output basename dflags next_phase mayb + llvmOptions :: DynFlags + -> [(String, String)] -- ^ pairs of (opt, llc) arguments + llvmOptions dflags = +- [("-enable-tbaa -tbaa", "-enable-tbaa") | gopt Opt_LlvmTBAA dflags ] +- ++ [("-relocation-model=" ++ rmodel ++ [("-relocation-model=" ++ rmodel + ,"-relocation-model=" ++ rmodel) | not (null rmodel)] + + -- Additional llc flags +diff --git a/compiler/GHC/Driver/Session.hs b/compiler/GHC/Driver/Session.hs +index 51d27cd0f8..ae8566ffb2 100644 +--- a/compiler/GHC/Driver/Session.hs ++++ b/compiler/GHC/Driver/Session.hs +@@ -3457,7 +3457,6 @@ fFlagsDeps = [ + flagSpec "late-dmd-anal" Opt_LateDmdAnal, + flagSpec "late-specialise" Opt_LateSpecialise, + flagSpec "liberate-case" Opt_LiberateCase, +- flagHiddenSpec "llvm-tbaa" Opt_LlvmTBAA, + flagHiddenSpec "llvm-fill-undef-with-garbage" Opt_LlvmFillUndefWithGarbage, + flagSpec "loopification" Opt_Loopification, + flagSpec "block-layout-cfg" Opt_CfgBlocklayout, +@@ -3992,7 +3991,6 @@ optLevelFlags :: [([Int], GeneralFlag)] + optLevelFlags -- see Note [Documenting optimisation flags] + = [ ([0,1,2], Opt_DoLambdaEtaExpansion) + , ([0,1,2], Opt_DoEtaReduction) -- See Note [Eta-reduction in -O0] +- , ([0,1,2], Opt_LlvmTBAA) + , ([0,1,2], Opt_ProfManualCcs ) + , ([2], Opt_DictsStrict) + +diff --git a/llvm-passes b/llvm-passes +index 52d203e745..0ee2889d32 100644 +--- a/llvm-passes ++++ b/llvm-passes +@@ -1,5 +1,5 @@ + [ +-(0, "-enable-new-pm=0 -mem2reg -globalopt -lower-expect"), +-(1, "-enable-new-pm=0 -O1 -globalopt"), +-(2, "-enable-new-pm=0 -O2") ++(0, "-passes=function(require),function(mem2reg),globalopt,function(lower-expect)"), ++(1, "-passes=default"), ++(2, "-passes=default") + ] +-- +2.50.1 + diff --git a/pkgs/development/compilers/ghc/ghc-9.6-llvm-restore-import.patch b/pkgs/development/compilers/ghc/ghc-9.6-llvm-restore-import.patch new file mode 100644 index 000000000000..01f933bebc7d --- /dev/null +++ b/pkgs/development/compilers/ghc/ghc-9.6-llvm-restore-import.patch @@ -0,0 +1,12 @@ +diff --git a/compiler/GHC/CmmToLlvm.hs b/compiler/GHC/CmmToLlvm.hs +index 7d48693765..6290779a44 100644 +--- a/compiler/GHC/CmmToLlvm.hs ++++ b/compiler/GHC/CmmToLlvm.hs +@@ -28,6 +28,7 @@ + + import GHC.Utils.BufHandle + import GHC.Driver.Session ++import GHC.Platform ( platformArch, Arch(..) ) + import GHC.Utils.Error + import GHC.Data.FastString + import GHC.Utils.Outputable diff --git a/pkgs/development/compilers/ghc/ghc-9.6-llvm-use-new-pass-manager.patch b/pkgs/development/compilers/ghc/ghc-9.6-llvm-use-new-pass-manager.patch new file mode 100644 index 000000000000..e42ae9151a1a --- /dev/null +++ b/pkgs/development/compilers/ghc/ghc-9.6-llvm-use-new-pass-manager.patch @@ -0,0 +1,87 @@ +From 291a336ac81d009b66a2d09c3bb5271e40646e15 Mon Sep 17 00:00:00 2001 +From: Ben Gamari +Date: Wed, 31 Jan 2024 08:58:58 -0500 +Subject: [PATCH] llvmGen: Adapt to allow use of new pass manager. + +We now must use `-passes` in place of `-O` due to #21936. + +Closes #21936. + +(cherry picked from commit 77db84aba1ba00f6d146e9107b24c6203798e796) +--- + compiler/GHC/Driver/Flags.hs | 2 -- + compiler/GHC/Driver/Pipeline/Execute.hs | 3 +-- + compiler/GHC/Driver/Session.hs | 2 -- + llvm-passes | 6 +++--- + 4 files changed, 4 insertions(+), 9 deletions(-) + +diff --git a/compiler/GHC/Driver/Flags.hs b/compiler/GHC/Driver/Flags.hs +index bd9e3355f0..970dba81d0 100644 +--- a/compiler/GHC/Driver/Flags.hs ++++ b/compiler/GHC/Driver/Flags.hs +@@ -273,7 +273,6 @@ data GeneralFlag + | Opt_RegsGraph -- do graph coloring register allocation + | Opt_RegsIterative -- do iterative coalescing graph coloring register allocation + | Opt_PedanticBottoms -- Be picky about how we treat bottom +- | Opt_LlvmTBAA -- Use LLVM TBAA infrastructure for improving AA (hidden flag) + | Opt_LlvmFillUndefWithGarbage -- Testing for undef bugs (hidden flag) + | Opt_IrrefutableTuples + | Opt_CmmSink +@@ -511,7 +510,6 @@ optimisationFlags = EnumSet.fromList + , Opt_EnableRewriteRules + , Opt_RegsGraph + , Opt_RegsIterative +- , Opt_LlvmTBAA + , Opt_IrrefutableTuples + , Opt_CmmSink + , Opt_CmmElimCommonBlocks +diff --git a/compiler/GHC/Driver/Pipeline/Execute.hs b/compiler/GHC/Driver/Pipeline/Execute.hs +index 4fa72be475..d63b409fc1 100644 +--- a/compiler/GHC/Driver/Pipeline/Execute.hs ++++ b/compiler/GHC/Driver/Pipeline/Execute.hs +@@ -989,8 +989,7 @@ llvmOptions :: LlvmConfig + -> DynFlags + -> [(String, String)] -- ^ pairs of (opt, llc) arguments + llvmOptions llvm_config dflags = +- [("-enable-tbaa -tbaa", "-enable-tbaa") | gopt Opt_LlvmTBAA dflags ] +- ++ [("-relocation-model=" ++ rmodel ++ [("-relocation-model=" ++ rmodel + ,"-relocation-model=" ++ rmodel) | not (null rmodel)] + + -- Additional llc flags +diff --git a/compiler/GHC/Driver/Session.hs b/compiler/GHC/Driver/Session.hs +index 21d27c406e..9656f1d247 100644 +--- a/compiler/GHC/Driver/Session.hs ++++ b/compiler/GHC/Driver/Session.hs +@@ -3431,7 +3431,6 @@ fFlagsDeps = [ + flagSpec "late-dmd-anal" Opt_LateDmdAnal, + flagSpec "late-specialise" Opt_LateSpecialise, + flagSpec "liberate-case" Opt_LiberateCase, +- flagHiddenSpec "llvm-tbaa" Opt_LlvmTBAA, + flagHiddenSpec "llvm-fill-undef-with-garbage" Opt_LlvmFillUndefWithGarbage, + flagSpec "loopification" Opt_Loopification, + flagSpec "block-layout-cfg" Opt_CfgBlocklayout, +@@ -3992,7 +3991,6 @@ optLevelFlags :: [([Int], GeneralFlag)] + optLevelFlags -- see Note [Documenting optimisation flags] + = [ ([0,1,2], Opt_DoLambdaEtaExpansion) + , ([0,1,2], Opt_DoEtaReduction) -- See Note [Eta-reduction in -O0] +- , ([0,1,2], Opt_LlvmTBAA) + , ([0,1,2], Opt_ProfManualCcs ) + , ([2], Opt_DictsStrict) + +diff --git a/llvm-passes b/llvm-passes +index 52d203e745..0ee2889d32 100644 +--- a/llvm-passes ++++ b/llvm-passes +@@ -1,5 +1,5 @@ + [ +-(0, "-enable-new-pm=0 -mem2reg -globalopt -lower-expect"), +-(1, "-enable-new-pm=0 -O1 -globalopt"), +-(2, "-enable-new-pm=0 -O2") ++(0, "-passes=function(require),function(mem2reg),globalopt,function(lower-expect)"), ++(1, "-passes=default"), ++(2, "-passes=default") + ] +-- +2.50.1 + diff --git a/pkgs/development/compilers/ghc/ghc-9.8-llvm-use-new-pass-manager.patch b/pkgs/development/compilers/ghc/ghc-9.8-llvm-use-new-pass-manager.patch new file mode 100644 index 000000000000..1ed19d9d5d46 --- /dev/null +++ b/pkgs/development/compilers/ghc/ghc-9.8-llvm-use-new-pass-manager.patch @@ -0,0 +1,92 @@ +From c7667212c958ef00926986782b8e1ac173bce0f9 Mon Sep 17 00:00:00 2001 +From: Ben Gamari +Date: Wed, 31 Jan 2024 08:58:58 -0500 +Subject: [PATCH] llvmGen: Adapt to allow use of new pass manager. + +We now must use `-passes` in place of `-O` due to #21936. + +Closes #21936. + +(cherry picked from commit 77db84aba1ba00f6d146e9107b24c6203798e796) +--- + compiler/GHC/Driver/DynFlags.hs | 1 - + compiler/GHC/Driver/Flags.hs | 2 -- + compiler/GHC/Driver/Pipeline/Execute.hs | 3 +-- + compiler/GHC/Driver/Session.hs | 1 - + llvm-passes | 6 +++--- + 5 files changed, 4 insertions(+), 9 deletions(-) + +diff --git a/compiler/GHC/Driver/DynFlags.hs b/compiler/GHC/Driver/DynFlags.hs +index ac9e6581cf..edc92e35ad 100644 +--- a/compiler/GHC/Driver/DynFlags.hs ++++ b/compiler/GHC/Driver/DynFlags.hs +@@ -1261,7 +1261,6 @@ optLevelFlags :: [([Int], GeneralFlag)] + optLevelFlags -- see Note [Documenting optimisation flags] + = [ ([0,1,2], Opt_DoLambdaEtaExpansion) + , ([0,1,2], Opt_DoEtaReduction) -- See Note [Eta-reduction in -O0] +- , ([0,1,2], Opt_LlvmTBAA) + , ([0,1,2], Opt_ProfManualCcs ) + , ([2], Opt_DictsStrict) + +diff --git a/compiler/GHC/Driver/Flags.hs b/compiler/GHC/Driver/Flags.hs +index 0f6715f3cb..32e52b4b9a 100644 +--- a/compiler/GHC/Driver/Flags.hs ++++ b/compiler/GHC/Driver/Flags.hs +@@ -285,7 +285,6 @@ data GeneralFlag + | Opt_RegsGraph -- do graph coloring register allocation + | Opt_RegsIterative -- do iterative coalescing graph coloring register allocation + | Opt_PedanticBottoms -- Be picky about how we treat bottom +- | Opt_LlvmTBAA -- Use LLVM TBAA infrastructure for improving AA (hidden flag) + | Opt_LlvmFillUndefWithGarbage -- Testing for undef bugs (hidden flag) + | Opt_IrrefutableTuples + | Opt_CmmSink +@@ -525,7 +524,6 @@ optimisationFlags = EnumSet.fromList + , Opt_EnableRewriteRules + , Opt_RegsGraph + , Opt_RegsIterative +- , Opt_LlvmTBAA + , Opt_IrrefutableTuples + , Opt_CmmSink + , Opt_CmmElimCommonBlocks +diff --git a/compiler/GHC/Driver/Pipeline/Execute.hs b/compiler/GHC/Driver/Pipeline/Execute.hs +index 40d0aec44a..ca5c13442a 100644 +--- a/compiler/GHC/Driver/Pipeline/Execute.hs ++++ b/compiler/GHC/Driver/Pipeline/Execute.hs +@@ -968,8 +968,7 @@ llvmOptions :: LlvmConfig + -> DynFlags + -> [(String, String)] -- ^ pairs of (opt, llc) arguments + llvmOptions llvm_config dflags = +- [("-enable-tbaa -tbaa", "-enable-tbaa") | gopt Opt_LlvmTBAA dflags ] +- ++ [("-relocation-model=" ++ rmodel ++ [("-relocation-model=" ++ rmodel + ,"-relocation-model=" ++ rmodel) | not (null rmodel)] + + -- Additional llc flags +diff --git a/compiler/GHC/Driver/Session.hs b/compiler/GHC/Driver/Session.hs +index 582fa5bd8d..1c19f8368b 100644 +--- a/compiler/GHC/Driver/Session.hs ++++ b/compiler/GHC/Driver/Session.hs +@@ -2401,7 +2401,6 @@ fFlagsDeps = [ + flagSpec "late-dmd-anal" Opt_LateDmdAnal, + flagSpec "late-specialise" Opt_LateSpecialise, + flagSpec "liberate-case" Opt_LiberateCase, +- flagHiddenSpec "llvm-tbaa" Opt_LlvmTBAA, + flagHiddenSpec "llvm-fill-undef-with-garbage" Opt_LlvmFillUndefWithGarbage, + flagSpec "loopification" Opt_Loopification, + flagSpec "block-layout-cfg" Opt_CfgBlocklayout, +diff --git a/llvm-passes b/llvm-passes +index 52d203e745..0ee2889d32 100644 +--- a/llvm-passes ++++ b/llvm-passes +@@ -1,5 +1,5 @@ + [ +-(0, "-enable-new-pm=0 -mem2reg -globalopt -lower-expect"), +-(1, "-enable-new-pm=0 -O1 -globalopt"), +-(2, "-enable-new-pm=0 -O2") ++(0, "-passes=function(require),function(mem2reg),globalopt,function(lower-expect)"), ++(1, "-passes=default"), ++(2, "-passes=default") + ] +-- +2.50.1 + diff --git a/pkgs/development/compilers/ghc/subopt.bash b/pkgs/development/compilers/ghc/subopt.bash index 1f3d3a3ebdcc..0f3817fdeab1 100644 --- a/pkgs/development/compilers/ghc/subopt.bash +++ b/pkgs/development/compilers/ghc/subopt.bash @@ -14,8 +14,9 @@ # # No attempt is made to support custom LLVM optimization flags, or the # undocumented flag to disable TBAA, or avoid -# , as these are not -# required to bootstrap GHC and at worst will produce an error message. +# (krank:ignore-line), +# as these are not required to bootstrap GHC and at worst will produce an +# error message. # # It is called `subopt` to reflect the fact that it uses `opt(1)` as a # subprocess, and the fact that the GHC build system situation diff --git a/pkgs/development/compilers/go/1.24.nix b/pkgs/development/compilers/go/1.24.nix index 39d61674a21b..b7c23511bc5e 100644 --- a/pkgs/development/compilers/go/1.24.nix +++ b/pkgs/development/compilers/go/1.24.nix @@ -24,6 +24,30 @@ let targetCC = pkgsBuildTarget.targetPackages.stdenv.cc; isCross = stdenv.buildPlatform != stdenv.targetPlatform; + + # In order for buildmode=pie to work either Go's internal linker must know how + # to produce position-independent executables or Go must be using an external linker. + # + # go-default-pie.patch tries to enable position-independent codegen (PIE) only when the platform + # reports support (via BuildModeSupported(..., "pie", ...)). + # + # That probe is not fully reliable: for example, `pkgsi686Linux.go` can fail during bootstrap + # with message 'default PIE binary requires external (cgo) linking, but cgo is not enabled' + # despite CGO being enabled. (we set `CGO_ENABLED=1`). + # + # To avoid such breakage, limit this patch to a small set of explicitly tested platforms + # rather than relying on the general BuildModeSupported("pie") check. + supportsDefaultPie = + let + hasPie = { + "amd64" = true; + "arm64" = true; + "ppc64le" = true; + "riscv64" = true; + }; + in + hasPie.${stdenv.hostPlatform.go.GOARCH} or false + && hasPie.${stdenv.targetPlatform.go.GOARCH} or false; in stdenv.mkDerivation (finalAttrs: { pname = "go"; @@ -64,6 +88,12 @@ stdenv.mkDerivation (finalAttrs: { }) ./remove-tools-1.11.patch ./go_no_vendor_checks-1.23.patch + ./go-env-go_ldso.patch + ] + ++ lib.optionals supportsDefaultPie [ + (replaceVars ./go-default-pie.patch { + inherit (stdenv.targetPlatform.go) GOARCH; + }) ]; inherit (stdenv.targetPlatform.go) GOOS GOARCH GOARM; @@ -99,6 +129,9 @@ stdenv.mkDerivation (finalAttrs: { buildPhase = '' runHook preBuild export GOCACHE=$TMPDIR/go-cache + if [ -f "$NIX_CC/nix-support/dynamic-linker" ]; then + export GO_LDSO=$(cat $NIX_CC/nix-support/dynamic-linker) + fi export PATH=$(pwd)/bin:$PATH @@ -106,6 +139,12 @@ stdenv.mkDerivation (finalAttrs: { # Independent from host/target, CC should produce code for the building system. # We only set it when cross-compiling. export CC=${buildPackages.stdenv.cc}/bin/cc + # Prefer external linker for cross when CGO is supported, since + # we haven't taught go's internal linker to pick the correct ELF + # interpreter for cross + # When CGO is not supported we rely on static binaries being built + # since they don't need an ELF interpreter + export GO_EXTLINK_ENABLED=${toString finalAttrs.CGO_ENABLED} ''} ulimit -a diff --git a/pkgs/development/compilers/go/1.25.nix b/pkgs/development/compilers/go/1.25.nix index 0908ef39dec9..20f8bc52a533 100644 --- a/pkgs/development/compilers/go/1.25.nix +++ b/pkgs/development/compilers/go/1.25.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchurl, - apple-sdk_12, tzdata, replaceVars, iana-etc, @@ -10,8 +9,12 @@ buildPackages, pkgsBuildTarget, targetPackages, + # for testing testers, + runCommand, + bintools, skopeo, + clickhouse-backup, buildGo125Module, }: @@ -19,20 +22,45 @@ let goBootstrap = buildPackages.callPackage ./bootstrap122.nix { }; skopeoTest = skopeo.override { buildGoModule = buildGo125Module; }; + clickhouse-backupTest = clickhouse-backup.override { buildGoModule = buildGo125Module; }; # We need a target compiler which is still runnable at build time, # to handle the cross-building case where build != host == target targetCC = pkgsBuildTarget.targetPackages.stdenv.cc; isCross = stdenv.buildPlatform != stdenv.targetPlatform; + + # go-default-pie.patch tries to enable position-independent codegen (PIE) only when the platform + # reports support (via BuildModeSupported(..., "pie", ...)). + # + # In order for buildmode=pie to work either Go's internal linker must know how + # to produce position-independent executables or Go must be using an external linker. + # + # That probe is not fully reliable: for example, `pkgsi686Linux.go` can fail during bootstrap + # with message 'default PIE binary requires external (cgo) linking, but cgo is not enabled' + # despite CGO being enabled. (we set `CGO_ENABLED=1`). + # + # To avoid such breakage, limit this patch to a small set of explicitly tested platforms + # rather than relying on the general BuildModeSupported("pie") check. + supportsDefaultPie = + let + hasPie = { + "amd64" = true; + "arm64" = true; + "ppc64le" = true; + "riscv64" = true; + }; + in + hasPie.${stdenv.hostPlatform.go.GOARCH} or false + && hasPie.${stdenv.targetPlatform.go.GOARCH} or false; in stdenv.mkDerivation (finalAttrs: { pname = "go"; - version = "1.25.2"; + version = "1.25.3"; src = fetchurl { url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz"; - hash = "sha256-NxEUDPuH/Oj3oT982GDfBB5sEvdhD0DKxuxvorZeluQ="; + hash = "sha256-qBpLpZPQAV4QxR4mfeP/B8eskU38oDfZUX0ClRcJd5U="; }; strictDeps = true; @@ -41,10 +69,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals stdenv.hostPlatform.isLinux [ stdenv.cc.libc.out ] ++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; - depsTargetTargetPropagated = lib.optionals stdenv.targetPlatform.isDarwin [ - apple-sdk_12 - ]; - depsBuildTarget = lib.optional isCross targetCC; depsTargetTarget = lib.optional stdenv.targetPlatform.isMinGW targetPackages.threads.package; @@ -69,6 +93,12 @@ stdenv.mkDerivation (finalAttrs: { }) ./remove-tools-1.11.patch ./go_no_vendor_checks-1.23.patch + ./go-env-go_ldso.patch + ] + ++ lib.optionals supportsDefaultPie [ + (replaceVars ./go-default-pie.patch { + inherit (stdenv.targetPlatform.go) GOARCH; + }) ]; inherit (stdenv.targetPlatform.go) GOOS GOARCH GOARM; @@ -104,6 +134,9 @@ stdenv.mkDerivation (finalAttrs: { buildPhase = '' runHook preBuild export GOCACHE=$TMPDIR/go-cache + if [ -f "$NIX_CC/nix-support/dynamic-linker" ]; then + export GO_LDSO=$(cat $NIX_CC/nix-support/dynamic-linker) + fi export PATH=$(pwd)/bin:$PATH @@ -111,6 +144,12 @@ stdenv.mkDerivation (finalAttrs: { # Independent from host/target, CC should produce code for the building system. # We only set it when cross-compiling. export CC=${buildPackages.stdenv.cc}/bin/cc + # Prefer external linker for cross when CGO is supported, since + # we haven't taught go's internal linker to pick the correct ELF + # interpreter for cross + # When CGO is not supported we rely on static binaries being built + # since they don't need an ELF interpreter + export GO_EXTLINK_ENABLED=${toString finalAttrs.CGO_ENABLED} ''} ulimit -a @@ -169,6 +208,23 @@ stdenv.mkDerivation (finalAttrs: { command = "go version"; version = "go${finalAttrs.version}"; }; + # Picked clickhouse-backup as a package that sets CGO_ENABLED=0 + # Running and outputting the right version proves a working ELF interpreter was picked + clickhouse-backup = testers.testVersion { package = clickhouse-backupTest; }; + clickhouse-backup-is-pie = runCommand "has-pie" { meta.broken = stdenv.hostPlatform.isStatic; } '' + ${lib.optionalString (!isCross) '' + if ${lib.getExe' bintools "readelf"} -p .comment ${lib.getExe clickhouse-backup} | grep -Fq "GCC: (GNU)"; then + echo "${lib.getExe clickhouse-backup} has a GCC .comment, but it should have used the internal go linker" + exit 1 + fi + ''} + if ${lib.getExe' bintools "readelf"} -h ${lib.getExe clickhouse-backup} | grep -q "Type:.*DYN"; then + touch $out + else + echo "ERROR: clickhouse-backup is NOT PIE" + exit 1 + fi + ''; }; }; diff --git a/pkgs/development/compilers/go/go-default-pie.patch b/pkgs/development/compilers/go/go-default-pie.patch new file mode 100644 index 000000000000..bce8d8dafd3d --- /dev/null +++ b/pkgs/development/compilers/go/go-default-pie.patch @@ -0,0 +1,13 @@ +diff --git a/src/internal/platform/supported.go b/src/internal/platform/supported.go +index f9706a6988..abac42d550 100644 +--- a/src/internal/platform/supported.go ++++ b/src/internal/platform/supported.go +@@ -249,7 +253,7 @@ func DefaultPIE(goos, goarch string, isRace bool) bool { + case "darwin": + return true + } +- return false ++ return goarch == "@GOARCH@" && BuildModeSupported("gc", "pie", goos, goarch) + } + + // ExecutableHasDWARF reports whether the linked executable includes DWARF diff --git a/pkgs/development/compilers/go/go-env-go_ldso.patch b/pkgs/development/compilers/go/go-env-go_ldso.patch new file mode 100644 index 000000000000..395b1dab3bf4 --- /dev/null +++ b/pkgs/development/compilers/go/go-env-go_ldso.patch @@ -0,0 +1,44 @@ +diff --git a/src/cmd/dist/buildruntime.go b/src/cmd/dist/buildruntime.go +index 87e8867176..dbb635011f 100644 +--- a/src/cmd/dist/buildruntime.go ++++ b/src/cmd/dist/buildruntime.go +@@ -62,7 +62,7 @@ func mkbuildcfg(file string) { + fmt.Fprintf(&buf, "const DefaultGORISCV64 = `%s`\n", goriscv64) + fmt.Fprintf(&buf, "const defaultGOEXPERIMENT = `%s`\n", goexperiment) + fmt.Fprintf(&buf, "const defaultGO_EXTLINK_ENABLED = `%s`\n", goextlinkenabled) +- fmt.Fprintf(&buf, "const defaultGO_LDSO = `%s`\n", defaultldso) ++ fmt.Fprintf(&buf, "const DefaultGO_LDSO = `%s`\n", defaultldso) + fmt.Fprintf(&buf, "const version = `%s`\n", findgoversion()) + fmt.Fprintf(&buf, "const defaultGOOS = runtime.GOOS\n") + fmt.Fprintf(&buf, "const defaultGOARCH = runtime.GOARCH\n") +diff --git a/src/cmd/link/internal/ld/elf.go b/src/cmd/link/internal/ld/elf.go +index 6ff1d94383..147a7d91c9 100644 +--- a/src/cmd/link/internal/ld/elf.go ++++ b/src/cmd/link/internal/ld/elf.go +@@ -1927,8 +1927,12 @@ func asmbElf(ctxt *Link) { + sh.Flags = uint64(elf.SHF_ALLOC) + sh.Addralign = 1 + +- if interpreter == "" && buildcfg.GOOS == runtime.GOOS && buildcfg.GOARCH == runtime.GOARCH && buildcfg.GO_LDSO != "" { +- interpreter = buildcfg.GO_LDSO ++ if interpreter == "" { ++ if goLdso := os.Getenv("GO_LDSO"); goLdso != "" { ++ interpreter = goLdso ++ } else if buildcfg.GOOS == runtime.GOOS && buildcfg.GOARCH == runtime.GOARCH { ++ interpreter = buildcfg.DefaultGO_LDSO ++ } + } + + if interpreter == "" { +diff --git a/src/internal/buildcfg/cfg.go b/src/internal/buildcfg/cfg.go +index 7e4ee365df..8aaa70fb36 100644 +--- a/src/internal/buildcfg/cfg.go ++++ b/src/internal/buildcfg/cfg.go +@@ -33,7 +33,6 @@ var ( + GORISCV64 = goriscv64() + GOWASM = gowasm() + ToolTags = toolTags() +- GO_LDSO = defaultGO_LDSO + GOFIPS140 = gofips140() + Version = version + ) diff --git a/pkgs/development/compilers/mezzo/default.nix b/pkgs/development/compilers/mezzo/default.nix index 51df8e7062d4..033266efa564 100644 --- a/pkgs/development/compilers/mezzo/default.nix +++ b/pkgs/development/compilers/mezzo/default.nix @@ -15,69 +15,66 @@ functory, }: -if lib.versionAtLeast ocaml.version "4.06" then - throw "mezzo is not available for OCaml ${ocaml.version}" -else +let + check-ocaml-version = lib.versionAtLeast (lib.getVersion ocaml); +in - let - check-ocaml-version = lib.versionAtLeast (lib.getVersion ocaml); - in +assert check-ocaml-version "4"; - assert check-ocaml-version "4"; +stdenv.mkDerivation { - stdenv.mkDerivation { + pname = "mezzo"; + version = "0.0.m8"; - pname = "mezzo"; - version = "0.0.m8"; + src = fetchFromGitHub { + owner = "protz"; + repo = "mezzo"; + rev = "m8"; + sha256 = "0yck5r6di0935s3iy2mm9538jkf77ssr789qb06ms7sivd7g3ip6"; + }; - src = fetchFromGitHub { - owner = "protz"; - repo = "mezzo"; - rev = "m8"; - sha256 = "0yck5r6di0935s3iy2mm9538jkf77ssr789qb06ms7sivd7g3ip6"; - }; + strictDeps = true; - strictDeps = true; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + camlp4 + menhir + ]; + buildInputs = [ + yojson + menhirLib + ulex + pprint + fix + functory + ocamlbuild + ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - camlp4 - menhir - ]; - buildInputs = [ - yojson - menhirLib - ulex - pprint - fix - functory - ocamlbuild - ]; - - # Sets warning 3 as non-fatal - prePatch = - lib.optionalString (check-ocaml-version "4.02") '' - substituteInPlace myocamlbuild.pre.ml \ - --replace '@1..3' '@1..2+3' - '' - # Compatibility with PPrint ≥ 20220103 - + '' - substituteInPlace typing/Fact.ml --replace PPrintOCaml PPrint.OCaml - ''; - - createFindlibDestdir = true; - - postInstall = '' - mkdir $out/bin - cp mezzo $out/bin/ + # Sets warning 3 as non-fatal + prePatch = + lib.optionalString (check-ocaml-version "4.02") '' + substituteInPlace myocamlbuild.pre.ml \ + --replace '@1..3' '@1..2+3' + '' + # Compatibility with PPrint ≥ 20220103 + + '' + substituteInPlace typing/Fact.ml --replace PPrintOCaml PPrint.OCaml ''; - meta = with lib; { - homepage = "http://protz.github.io/mezzo/"; - description = "Programming language in the ML tradition, which places strong emphasis on the control of aliasing and access to mutable memory"; - license = licenses.gpl2; - platforms = ocaml.meta.platforms or [ ]; - }; - } + createFindlibDestdir = true; + + postInstall = '' + mkdir $out/bin + cp mezzo $out/bin/ + ''; + + meta = with lib; { + homepage = "http://protz.github.io/mezzo/"; + description = "Programming language in the ML tradition, which places strong emphasis on the control of aliasing and access to mutable memory"; + license = licenses.gpl2; + broken = lib.versionAtLeast ocaml.version "4.06"; + platforms = ocaml.meta.platforms or [ ]; + }; +} diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix index 4d834f272740..f7cba3bda116 100644 --- a/pkgs/development/compilers/ocaml/generic.nix +++ b/pkgs/development/compilers/ocaml/generic.nix @@ -134,8 +134,7 @@ stdenv.mkDerivation ( ]; # x86_64-unknown-linux-musl-ld: -r and -pie may not be used together hardeningDisable = - lib.optional (lib.versionAtLeast version "4.09" && stdenv.hostPlatform.isMusl) "pie" - ++ lib.optional (lib.versionAtLeast version "5.0" && stdenv.cc.isClang) "strictoverflow" + lib.optional (lib.versionAtLeast version "5.0" && stdenv.cc.isClang) "strictoverflow" ++ lib.optionals (args ? hardeningDisable) args.hardeningDisable; # Older versions have some race: diff --git a/pkgs/development/compilers/openjdk/21/source.json b/pkgs/development/compilers/openjdk/21/source.json index 438a484ff2b6..a43dec0d9066 100644 --- a/pkgs/development/compilers/openjdk/21/source.json +++ b/pkgs/development/compilers/openjdk/21/source.json @@ -1,6 +1,6 @@ { - "hash": "sha256-NgunrSUchIlHkaXM9h75U4xcf44ukCuhhPPHHGVOKXo=", + "hash": "sha256-VYTitbgKgd9co9LXVnneaaKjMwAXFmscYp9McJV01Jg=", "owner": "openjdk", "repo": "jdk21u", - "rev": "refs/tags/jdk-21.0.9+8" + "rev": "refs/tags/jdk-21.0.9+10" } diff --git a/pkgs/development/compilers/rust/1_89.nix b/pkgs/development/compilers/rust/1_90.nix similarity index 51% rename from pkgs/development/compilers/rust/1_89.nix rename to pkgs/development/compilers/rust/1_90.nix index c84289c03c85..22124d21362b 100644 --- a/pkgs/development/compilers/rust/1_89.nix +++ b/pkgs/development/compilers/rust/1_90.nix @@ -44,8 +44,8 @@ let in import ./default.nix { - rustcVersion = "1.89.0"; - rustcSha256 = "sha256-JXb59EDdmbAVG9KPWaoKxhAtXE8+1O+KgQyN0FBXJQ0="; + rustcVersion = "1.90.0"; + rustcSha256 = "sha256-eZqfnLpO1TUeBxBIvPa1VgdV2QCWSN7zOkB91JYfm34="; llvmSharedForBuild = llvmSharedFor pkgsBuildBuild; llvmSharedForHost = llvmSharedFor pkgsBuildHost; @@ -59,30 +59,30 @@ import ./default.nix # Note: the version MUST be the same version that we are building. Upstream # ensures that each released compiler can compile itself: # https://github.com/NixOS/nixpkgs/pull/351028#issuecomment-2438244363 - bootstrapVersion = "1.89.0"; + bootstrapVersion = "1.90.0"; # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` bootstrapHashes = { - i686-unknown-linux-gnu = "676ef74ce8ce3137ca66e3941b0221516e1713862053d8aa219e91b491417dd9"; - x86_64-unknown-linux-gnu = "542f517d0624cbee516627221482b166bf0ffe5fd560ec32beb778c01f5c99b6"; - x86_64-unknown-linux-musl = "35695721d53d7eb83ce0153be4c399babf5afd8597bed84f3386d9aac2b4b391"; - arm-unknown-linux-gnueabihf = "e618d08b1547c143cfbfc040023914f4a33a4fcf7addff6778d7cfccbd444c5e"; - armv7-unknown-linux-gnueabihf = "09a295d2d6821a404ca3bf5d1163b9642139105618d0583241b05b7dbf6e22dc"; - aarch64-unknown-linux-gnu = "26d6de84ac59da702aa8c2f903e3c344e3259da02e02ce92ad1c735916b29a4a"; - aarch64-unknown-linux-musl = "b5fdcad8289adf94c45727c33773a05acca994b01b333cf7a508f95fa6adc454"; - x86_64-apple-darwin = "8590528cade978ecb5249184112887489c9d77ae846539e3ef4d04214a6d8663"; - aarch64-apple-darwin = "87baeb57fb29339744ac5f99857f0077b12fa463217fc165dfd8f77412f38118"; - powerpc64-unknown-linux-gnu = "30d97f8d757c6ff171815c8af36eed85e44401a58c5e04f25b721c7776ed8337"; - powerpc64le-unknown-linux-gnu = "80db8e203357a050780fb8a2cdc027b81d5ae1634fa999c3be69cf8a2e10bbf6"; - powerpc64le-unknown-linux-musl = "88d370dec3c382db9f1227822c725bab88621904c60f8f950745fa2e903264a4"; - riscv64gc-unknown-linux-gnu = "3885629641fd670e50c9e6553bdc6505457ef2163757a27dbf33fbc6351b2161"; - s390x-unknown-linux-gnu = "696dad74886467a5092ee8bd2265aaab85039fc563803166966c7cae389e2ef7"; - loongarch64-unknown-linux-gnu = "171696c45e4a91ccf17a239f00d5a3a8bbd40125d7a274506e1630423d714bec"; - loongarch64-unknown-linux-musl = "86e5d8b0f0c868559de3ec2a0902d0e516a710adb845c8904595c54807e821c2"; - x86_64-unknown-freebsd = "4baf0d5a44e64eecc91dc7ab89d8b0a8f8607e1d39b6989767861b34459a0396"; + i686-unknown-linux-gnu = "8f389b9eb1513785f5589816b60b5a7ca3b24c29bedce7ec0d1c2f8c3ccfb0cc"; + x86_64-unknown-linux-gnu = "e453bae1c68d02fe2eae065c5452d5731308164cd154154c6ee442d2fa590685"; + x86_64-unknown-linux-musl = "251c9fe4e3374f2f9f629a7a83238c618e016b1bda1b9de5e8385cb3a6f057fa"; + arm-unknown-linux-gnueabihf = "61f3987f61bf73562f04dcacfee1a2bad8d16d41f7a3f81ad82dd9b9cbc559ce"; + armv7-unknown-linux-gnueabihf = "06cfb7f1bd3ce50480eed73ad9ae4f8f665d154fa4c713bc08541197eecd4ae0"; + aarch64-unknown-linux-gnu = "293f412e3412c3aa3398c78ebbdf898fa08eacad80c85a7332ce1a455504c5fc"; + aarch64-unknown-linux-musl = "b3ac31ca2e1a720709bf4fb678b2a2f98464c55662c516dfffcbdadd95a420c9"; + x86_64-apple-darwin = "3d1d24e1d4bedb421ca1a16060c21f4d803eaefba585c0b5b5d0b1e56692ef4b"; + aarch64-apple-darwin = "a11b52e34f5e80cb25d49f7943ae60e0b069b431727a4c09b2c890ceebee3687"; + powerpc64-unknown-linux-gnu = "39720c905b8a730cfa725b7e201cd238d15c33112bd4c31b168ca6d1cb898cac"; + powerpc64le-unknown-linux-gnu = "4061405099dc0aba379fe7b7a616d320272ef9325114dfa8f106c303f9b5695c"; + powerpc64le-unknown-linux-musl = "0d97ef122126a0de87a8581f48ef85ff0887b733b429ffcec4651699b5444511"; + riscv64gc-unknown-linux-gnu = "42cc3b3bb008e24a39bd98887c43ef32c2d997f801c86ca47f2119e5e3589fcb"; + s390x-unknown-linux-gnu = "345c9b902ebee656533d2cfba39c1a020e6a41a4a9609f87430ff8a5d680d649"; + loongarch64-unknown-linux-gnu = "1c116041a2bc7ab2697218f99ad8cccbe3d6b63fcbf516cb9d985cb00efcdb09"; + loongarch64-unknown-linux-musl = "0ae18468c7cd3872d1b685cf960426aeb7467629f69eabb497bee6f0fff9cb04"; + x86_64-unknown-freebsd = "6c7ebf6acbe00873680a190152d47aeebe76e237195b974c593a67227123b2ef"; }; - selectRustPackage = pkgs: pkgs.rust_1_89; + selectRustPackage = pkgs: pkgs.rust_1_90; } ( diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix index 475d61d06d0a..b1302a8f0a36 100644 --- a/pkgs/development/compilers/rust/cargo.nix +++ b/pkgs/development/compilers/rust/cargo.nix @@ -62,6 +62,13 @@ rustPlatform.buildRustPackage.override # fixes: the cargo feature `edition` requires a nightly version of Cargo, but this is the `stable` channel RUSTC_BOOTSTRAP = 1; + RUSTFLAGS = + if stdenv.hostPlatform.rust.rustcTargetSpec == "x86_64-unknown-linux-gnu" then + # Upstream defaults to lld on x86_64-unknown-linux-gnu, we want to use our linker + "-Clinker-features=-lld -Clink-self-contained=-linker" + else + null; + postInstall = '' wrapProgram "$out/bin/cargo" --suffix PATH : "${rustc}/bin" diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index d8f25d52d850..463c0133015f 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -97,8 +97,17 @@ stdenv.mkDerivation (finalAttrs: { ++ optional stdenv.hostPlatform.isDarwin "-rpath ${llvmSharedForHost.lib}/lib" ); - # Increase codegen units to introduce parallelism within the compiler. - RUSTFLAGS = "-Ccodegen-units=10"; + RUSTFLAGS = lib.concatStringsSep " " ( + [ + # Increase codegen units to introduce parallelism within the compiler. + "-Ccodegen-units=10" + ] + ++ lib.optionals (stdenv.hostPlatform.rust.rustcTargetSpec == "x86_64-unknown-linux-gnu") [ + # Upstream defaults to lld on x86_64-unknown-linux-gnu, we want to use our linker + "-Clinker-features=-lld" + "-Clink-self-contained=-linker" + ] + ); RUSTDOCFLAGS = "-A rustdoc::broken-intra-doc-links"; # We need rust to build rust. If we don't provide it, configure will try to download it. diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index 389b50c4bca3..69235fe11ca8 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -30,8 +30,8 @@ let "2.4.10".sha256 = "sha256-zus5a2nSkT7uBIQcKva+ylw0LOFGTD/j5FPy3hDF4vg="; # By unofficial and very loose convention we keep the latest version of # SBCL, and the previous one in case someone quickly needs to roll back. - "2.5.5".sha256 = "sha256-ZQJnCvs2G6m+RKL6/pr5tZ57JK5QmnkaZrVIHylVlQs="; "2.5.7".sha256 = "sha256-xPr+t5VpnVvP+QhQkazHYtz15V+FI1Yl89eu8SyJ0dM="; + "2.5.9".sha256 = "sha256-0bGQItQ9xJPtyXK25ZyTrmaEyWP90rQTsJZeGM1r0eI="; }; # Collection of pre-built SBCL binaries for platforms that need them for # bootstrapping. Ideally these are to be avoided. If ECL (or any other @@ -156,6 +156,22 @@ stdenv.mkDerivation (self: { "threads.pure.lisp" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # This test has a gotcha on Darwin which originally showed up in + # 57b36ea5c83a1841b174ec6cd5e423439fe9d7a0, and later again around Oct + # 2025 in staging. The test wants a clean environment (using + # run-program, akin to fork & execve), but darwin keeps injecting this + # envvar: + # + # __CF_USER_TEXT_ENCODING=0x15F:0:0 + # + # It’s not clear to maintainers where the problem lies exactly, but + # removing the test at least fixes the build and unblocks others. + # + # see: + # - https://github.com/NixOS/nixpkgs/pull/359214 + # - https://github.com/NixOS/nixpkgs/pull/453099 + "run-program.test.sh" + # Fails in sandbox "sb-posix.impure.lisp" ]; diff --git a/pkgs/development/compilers/yosys/plugins/symbiflow.nix b/pkgs/development/compilers/yosys/plugins/symbiflow.nix index 4b6a8c3ecbd6..6e36efad1331 100644 --- a/pkgs/development/compilers/yosys/plugins/symbiflow.nix +++ b/pkgs/development/compilers/yosys/plugins/symbiflow.nix @@ -39,7 +39,6 @@ let static_gtest = gtest.overrideAttrs (old: { dontDisableStatic = true; - disableHardening = [ "pie" ]; cmakeFlags = old.cmakeFlags ++ [ "-DBUILD_SHARED_LIBS=OFF" ]; }); diff --git a/pkgs/development/haskell-modules/HACKING.md b/pkgs/development/haskell-modules/HACKING.md index 0cadbefea0c9..56f72e92abb1 100644 --- a/pkgs/development/haskell-modules/HACKING.md +++ b/pkgs/development/haskell-modules/HACKING.md @@ -199,10 +199,6 @@ opening the next one. When you want to merge the currently open $ gh auth status ``` -1. Make sure you have setup your `~/.cabal/config` file for authentication - for uploading the NixOS package versions to Hackage. See the following - section for details on how to do this. - 1. Make sure you have correctly marked packages broken. One of the previous sections explains how to do this. @@ -237,8 +233,6 @@ opening the next one. When you want to merge the currently open 1. Merges the currently open `haskell-updates` PR. - 1. Updates the version of Haskell packages in NixOS on Hackage. - 1. Updates Stackage and Hackage snapshots. Regenerates the Haskell package set. 1. Pushes the commits updating Stackage and Hackage and opens a new diff --git a/pkgs/development/haskell-modules/configuration-arm.nix b/pkgs/development/haskell-modules/configuration-arm.nix index 5a4df23a384c..c124a4e5fc1f 100644 --- a/pkgs/development/haskell-modules/configuration-arm.nix +++ b/pkgs/development/haskell-modules/configuration-arm.nix @@ -117,7 +117,7 @@ self: super: # AARCH32-SPECIFIC OVERRIDES # KAT/ECB/D2 test segfaults on armv7l - # https://github.com/haskell-crypto/cryptonite/issues/367 + # https://github.com/haskell-crypto/cryptonite/issues/367 krank:ignore-line cryptonite = dontCheck super.cryptonite; } // lib.optionalAttrs (with pkgs.stdenv.hostPlatform; isAarch && isAndroid) { diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index b42dbb5a4b33..e20680578568 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -52,9 +52,6 @@ with haskellLib; })) ]; - # https://github.com/ivanperez-keera/dunai/issues/427 - dunai = addBuildDepend self.list-transformer (enableCabalFlag "list-transformer" super.dunai); - # Make sure that Cabal_* can be built as-is Cabal_3_10_3_0 = doDistribute ( super.Cabal_3_10_3_0.override { @@ -131,10 +128,6 @@ with haskellLib; overrideCabal ( old: { - # Prevent DOS line endings from Hackage from breaking a patch - prePatch = old.prePatch or "" + '' - ${pkgs.buildPackages.dos2unix}/bin/dos2unix *.cabal - ''; # Ignore unix bound intended to prevent an unix bug on 32bit systems. # We apply a patch for this issue to the GHC core packages directly. # See unix-fix-ctimeval-size-32-bit.patch in ../compilers/ghc/common-*.nix @@ -383,11 +376,6 @@ with haskellLib; HsOpenSSL = appendConfigureFlags [ "--ghc-option=-optc=-Wno-error=incompatible-pointer-types" ] super.HsOpenSSL; - # Work around compilation failures with gcc >= 14 - # https://github.com/audreyt/hssyck/issues/5 - HsSyck = appendConfigureFlags [ - "--ghc-option=-optc=-Wno-error=implicit-function-declaration" - ] super.HsSyck; # https://github.com/rethab/bindings-dsl/issues/46 bindings-libcddb = appendConfigureFlags [ "--ghc-option=-optc=-Wno-error=incompatible-pointer-types" @@ -465,28 +453,15 @@ with haskellLib; # store. Testing is done upstream. arion-compose = dontCheck super.arion-compose; - # 2023-07-17: Outdated base bound https://github.com/srid/lvar/issues/5 - lvar = doJailbreak super.lvar; - # Don't call setEnv in parallel in the test suite (which leads to flaky failures) - env-extra = - appendPatches - [ - (pkgs.fetchpatch { - name = "env-extra-no-parallel-setenv.patch"; - url = "https://github.com/d12frosted/env-extra/commit/4fcbc031b210e71e4243fcfe7c48d381e2f51d78.patch"; - sha256 = "sha256-EbXk+VOmxMJAMCMTXpTiW8fkbNI9za7f1alzCeaJaV4="; - excludes = [ "package.yaml" ]; - }) - ] - ( - overrideCabal (drv: { - prePatch = '' - ${drv.prePatch or ""} - ${lib.getExe' pkgs.buildPackages.dos2unix "dos2unix"} *.cabal - ''; - }) super.env-extra - ); + env-extra = appendPatches [ + (pkgs.fetchpatch { + name = "env-extra-no-parallel-setenv.patch"; + url = "https://github.com/d12frosted/env-extra/commit/4fcbc031b210e71e4243fcfe7c48d381e2f51d78.patch"; + sha256 = "sha256-EbXk+VOmxMJAMCMTXpTiW8fkbNI9za7f1alzCeaJaV4="; + excludes = [ "package.yaml" ]; + }) + ] super.env-extra; # This used to be a core package provided by GHC, but then the compiler # dropped it. We define the name here to make sure that old packages which @@ -661,10 +636,6 @@ with haskellLib; # check requires mysql server mysql-simple = dontCheck super.mysql-simple; - # Test data missing - # https://github.com/FPtje/GLuaFixer/issues/165 - glualint = dontCheck super.glualint; - # Hackage tarball only includes what is supported by `cabal install git-annex`, # but we want e.g. completions as well. See # https://web.archive.org/web/20160724083703/https://git-annex.branchable.com/bugs/bash_completion_file_is_missing_in_the_6.20160527_tarball_on_hackage/ @@ -715,7 +686,8 @@ with haskellLib; postPatch = "sed -i s/home/tmp/ test/Spec.hs"; }) super.shell-conduit; - # https://github.com/serokell/nixfmt/issues/130 + # No maintenance planned until eventual removal + # https://github.com/NixOS/nixfmt/issues/340#issuecomment-3315920564 nixfmt = doJailbreak super.nixfmt; # Too strict upper bounds on turtle and text @@ -726,25 +698,25 @@ with haskellLib; # https://github.com/awakesecurity/nix-graph/issues/5 nix-graph = doJailbreak super.nix-graph; - # Allow inspection-testing >= 0.6 in test suite - algebraic-graphs = - appendPatch - (pkgs.fetchpatch2 { - name = "algebraic-graphs-0.7-allow-inspection-testing-0.6.patch"; - url = "https://github.com/snowleopard/alga/commit/d4e43fb42db05413459fb2df493361d5a666588a.patch"; - hash = "sha256-feGEuALVJ0Zl8zJPIfgEFry9eH/MxA0Aw7zlDq0PC/s="; - }) - ( - overrideCabal (drv: { - prePatch = '' - ${drv.prePatch or ""} - ${lib.getExe' pkgs.buildPackages.dos2unix "dos2unix"} *.cabal - ''; - }) super.algebraic-graphs - ); + # Fix `mv` not working on directories + turtle = appendPatches [ + (pkgs.fetchpatch { + name = "turtle-fix-mv.patch"; + url = "https://github.com/Gabriella439/turtle/commit/b3975531f8d6345da54b005f226adab095085865.patch"; + sha256 = "sha256-EqvMQpRz/7hbY6wJ0xG8Ou6oKhwWdpjzBv+NPW6tnSY="; + includes = [ "src/Turtle/Prelude.hs" ]; + }) + ] super.turtle; - # Too strict bounds on hspec - # https://github.com/illia-shkroba/pfile/issues/2 + # Allow inspection-testing >= 0.6 in test suite + algebraic-graphs = appendPatch (pkgs.fetchpatch2 { + name = "algebraic-graphs-0.7-allow-inspection-testing-0.6.patch"; + url = "https://github.com/snowleopard/alga/commit/d4e43fb42db05413459fb2df493361d5a666588a.patch"; + hash = "sha256-feGEuALVJ0Zl8zJPIfgEFry9eH/MxA0Aw7zlDq0PC/s="; + }) super.algebraic-graphs; + + # Too strict bounds on filepath, hpsec, tasty, tasty-quickcheck, transformers + # https://github.com/illia-shkroba/pfile/issues/3 pfile = doJailbreak super.pfile; # Overly strict bounds on postgresql-simple (< 0.7), tasty (< 1.5) and tasty-quickcheck (< 0.11) @@ -752,18 +724,7 @@ with haskellLib; migrant-core = doJailbreak super.migrant-core; migrant-sqlite-simple = doJailbreak super.migrant-sqlite-simple; migrant-hdbc = doJailbreak super.migrant-hdbc; - migrant-postgresql-simple = lib.pipe super.migrant-postgresql-simple [ - (overrideCabal { - preCheck = '' - postgresqlTestUserOptions="LOGIN SUPERUSER" - ''; - }) - (addTestToolDepends [ - pkgs.postgresql - pkgs.postgresqlTestHook - ]) - doJailbreak - ]; + migrant-postgresql-simple = doJailbreak super.migrant-postgresql-simple; # https://github.com/froozen/kademlia/issues/2 kademlia = dontCheck super.kademlia; @@ -788,8 +749,8 @@ with haskellLib; else dontDistribute (markBroken super.fclabels); - # Bounds on base are too strict. - # https://github.com/phadej/regex-applicative-text/issues/13 + # Bounds on base are too strict. Upstream is no longer maintained: + # https://github.com/phadej/regex-applicative-text/issues/13 krank:ignore-line regex-applicative-text = doJailbreak super.regex-applicative-text; # Tests require a Kafka broker running locally @@ -834,9 +795,6 @@ with haskellLib; # Upstream notified by e-mail. permutation = dontCheck super.permutation; - # https://github.com/jputcu/serialport/issues/25 - serialport = dontCheck super.serialport; - # Test suite depends on source code being available simple-affine-space = dontCheck super.simple-affine-space; @@ -908,7 +866,7 @@ with haskellLib; matterhorn = doJailbreak super.matterhorn; # Too strict bounds on transformers and resourcet - # https://github.com/alphaHeavy/lzma-conduit/issues/23 + # https://github.com/alphaHeavy/lzma-conduit/issues/23 krank:ignore-line lzma-conduit = doJailbreak super.lzma-conduit; # 2020-06-05: HACK: does not pass own build suite - `dontCheck` @@ -940,10 +898,21 @@ with haskellLib; # https://github.com/ekmett/structures/issues/3 structures = dontCheck super.structures; + # ships broken Setup.hs https://github.com/facebook/Haxl/issues/165 + # https://github.com/facebook/Haxl/pull/164 + haxl = overrideCabal (drv: { + postPatch = '' + ${drv.postPatch or ""} + rm Setup.hs + ''; + # non-deterministic failure https://github.com/facebook/Haxl/issues/85 + # doesn't compile with text-2.1.2 in <2.5.1.2 + doCheck = false; + }) super.haxl; + # Disable test suites to fix the build. acme-year = dontCheck super.acme-year; # http://hydra.cryp.to/build/497858/log/raw aeson-lens = dontCheck super.aeson-lens; # http://hydra.cryp.to/build/496769/log/raw - aeson-schema = dontCheck super.aeson-schema; # https://github.com/timjb/aeson-schema/issues/9 angel = dontCheck super.angel; apache-md5 = dontCheck super.apache-md5; # http://hydra.cryp.to/build/498709/nixlog/1/raw app-settings = dontCheck super.app-settings; # http://hydra.cryp.to/build/497327/log/raw @@ -979,12 +948,10 @@ with haskellLib; git-vogue = dontCheck super.git-vogue; github-rest = dontCheck super.github-rest; # test suite needs the network gitlib-cmdline = dontCheck super.gitlib-cmdline; - GLFW-b = dontCheck super.GLFW-b; # https://github.com/bsl/GLFW-b/issues/50 hackport = dontCheck super.hackport; hadoop-formats = dontCheck super.hadoop-formats; hashed-storage = dontCheck super.hashed-storage; hashring = dontCheck super.hashring; - haxl = dontCheck super.haxl; # non-deterministic failure https://github.com/facebook/Haxl/issues/85 haxl-facebook = dontCheck super.haxl-facebook; # needs facebook credentials for testing hdbi-postgresql = dontCheck super.hdbi-postgresql; hedis = dontCheck super.hedis; @@ -1533,14 +1500,6 @@ with haskellLib; # dontCheck: use of non-standard strptime "%s" which musl doesn't support; only used in test unix-time = if pkgs.stdenv.hostPlatform.isMusl then dontCheck super.unix-time else super.unix-time; - # Workaround for https://github.com/sol/hpack/issues/528 - # The hpack test suite can't deal with the CRLF line endings hackage revisions insert - hpack = overrideCabal (drv: { - postPatch = drv.postPatch or "" + '' - "${lib.getBin pkgs.buildPackages.dos2unix}/bin/dos2unix" *.cabal - ''; - }) super.hpack; - # hslua has tests that break when using musl. # https://github.com/hslua/hslua/issues/106 hslua-core = @@ -1582,33 +1541,6 @@ with haskellLib; # https://github.com/mgajda/json-autotype/issues/25 json-autotype = dontCheck super.json-autotype; - postgresql-simple-migration = overrideCabal (drv: { - preCheck = '' - PGUSER=test - PGDATABASE=test - ''; - testToolDepends = drv.testToolDepends or [ ] ++ [ - pkgs.postgresql - pkgs.postgresqlTestHook - ]; - }) (doJailbreak super.postgresql-simple-migration); - - postgresql-simple = addTestToolDepends [ - pkgs.postgresql - pkgs.postgresqlTestHook - ] super.postgresql-simple; - - beam-postgres = lib.pipe super.beam-postgres [ - # Requires pg_ctl command during tests - (addTestToolDepends [ pkgs.postgresql ]) - (dontCheckIf (!pkgs.postgresql.doInstallCheck || !self.testcontainers.doCheck)) - ]; - - users-postgresql-simple = addTestToolDepends [ - pkgs.postgresql - pkgs.postgresqlTestHook - ] super.users-postgresql-simple; - gargoyle-postgresql-nix = addBuildTool [ pkgs.postgresql ] super.gargoyle-postgresql-nix; # PortMidi needs an environment variable to have ALSA find its plugins: @@ -1639,31 +1571,6 @@ with haskellLib; # Fix build with attr-2.4.48 (see #53716) xattr = appendPatch ./patches/xattr-fix-build.patch super.xattr; - esqueleto = - overrideCabal - (drv: { - postPatch = drv.postPatch or "" + '' - # patch out TCP usage: https://nixos.org/manual/nixpkgs/stable/#sec-postgresqlTestHook-tcp - sed -i test/PostgreSQL/Test.hs \ - -e s^host=localhost^^ - ''; - # Match the test suite defaults (or hardcoded values?) - preCheck = drv.preCheck or "" + '' - PGUSER=esqutest - PGDATABASE=esqutest - ''; - testFlags = drv.testFlags or [ ] ++ [ - # We don't have a MySQL test hook yet - "--skip=/Esqueleto/MySQL" - ]; - testToolDepends = drv.testToolDepends or [ ] ++ [ - pkgs.postgresql - pkgs.postgresqlTestHook - ]; - }) - # https://github.com/NixOS/nixpkgs/issues/198495 - (dontCheckIf (pkgs.postgresqlTestHook.meta.broken) super.esqueleto); - # Requires API keys to run tests algolia = dontCheck super.algolia; openai-hs = dontCheck super.openai-hs; @@ -1694,8 +1601,8 @@ with haskellLib; # https://github.com/haskell-servant/servant-ekg/issues/15 servant-ekg = doJailbreak super.servant-ekg; - hledger_1_50 = super.hledger_1_50.override { - hledger-lib = self.hledger-lib_1_50; + hledger_1_50_1 = super.hledger_1_50_1.override { + hledger-lib = self.hledger-lib_1_50_1; }; # it wants to build a statically linked binary by default @@ -1726,54 +1633,23 @@ with haskellLib; # Test suite requires database persistent-mysql = dontCheck super.persistent-mysql; - persistent-postgresql = - # TODO: move this override to configuration-nix.nix - overrideCabal - (drv: { - postPatch = drv.postPath or "" + '' - # patch out TCP usage: https://nixos.org/manual/nixpkgs/stable/#sec-postgresqlTestHook-tcp - # NOTE: upstream host variable takes only two values... - sed -i test/PgInit.hs \ - -e s^'host=" <> host <> "'^^ - ''; - preCheck = drv.preCheck or "" + '' - PGDATABASE=test - PGUSER=test - ''; - testToolDepends = drv.testToolDepends or [ ] ++ [ - pkgs.postgresql - pkgs.postgresqlTestHook - ]; - }) - # https://github.com/NixOS/nixpkgs/issues/198495 - (dontCheckIf (pkgs.postgresqlTestHook.meta.broken) super.persistent-postgresql); - dhall-lsp-server = - appendPatches - [ - # Add support for lsp >= 2.7 - (pkgs.fetchpatch { - name = "dhall-lsp-server-lsp-2.7.patch"; - url = "https://github.com/dhall-lang/dhall-haskell/commit/a621e1438df5865d966597e2e1b0bb37e8311447.patch"; - sha256 = "sha256-7edxNIeIM/trl2SUXybvSzkscvr1kj5+tZF50IeTOgY="; - relative = "dhall-lsp-server"; - }) - # Fix build with text >= 2.1.2 - (pkgs.fetchpatch { - name = "dhall-lsp-server-text-2.1.2.patch"; - url = "https://github.com/dhall-lang/dhall-haskell/commit/9f2d4d44be643229784bfc502ab49184ec82bc05.patch"; - hash = "sha256-cwNH5+7YY8UbA9zHhTRfVaqtIMowZGfFT5Kj+wSlapA="; - relative = "dhall-lsp-server"; - }) - ] - ( - overrideCabal (drv: { - prePatch = '' - ${drv.prePatch or ""} - ${lib.getExe' pkgs.buildPackages.dos2unix "dos2unix"} *.cabal - ''; - }) super.dhall-lsp-server - ); + dhall-lsp-server = appendPatches [ + # Add support for lsp >= 2.7 + (pkgs.fetchpatch { + name = "dhall-lsp-server-lsp-2.7.patch"; + url = "https://github.com/dhall-lang/dhall-haskell/commit/a621e1438df5865d966597e2e1b0bb37e8311447.patch"; + sha256 = "sha256-7edxNIeIM/trl2SUXybvSzkscvr1kj5+tZF50IeTOgY="; + relative = "dhall-lsp-server"; + }) + # Fix build with text >= 2.1.2 + (pkgs.fetchpatch { + name = "dhall-lsp-server-text-2.1.2.patch"; + url = "https://github.com/dhall-lang/dhall-haskell/commit/9f2d4d44be643229784bfc502ab49184ec82bc05.patch"; + hash = "sha256-cwNH5+7YY8UbA9zHhTRfVaqtIMowZGfFT5Kj+wSlapA="; + relative = "dhall-lsp-server"; + }) + ] super.dhall-lsp-server; # Tests disabled and broken override needed because of missing lib chrome-test-utils: https://github.com/reflex-frp/reflex-dom/issues/392 reflex-dom-core = lib.pipe super.reflex-dom-core [ @@ -1782,6 +1658,12 @@ with haskellLib; unmarkBroken ]; + # Requires jsaddle-webkit2gtk to build outside of pkgsCross.ghcjs + # which requires a version of libsoup that's marked as insecure + reflex-dom = dontDistribute super.reflex-dom; + reflex-localize-dom = dontDistribute super.reflex-localize-dom; + trasa-reflex = dontDistribute super.trasa-reflex; + # https://github.com/ghcjs/jsaddle/pull/160/ jsaddle = appendPatch (fetchpatch { name = "fix-on-firefox.patch"; @@ -1812,6 +1694,14 @@ with haskellLib; } ); + # https://github.com/danfran/cabal-macosx/pull/19 + cabal-macosx = appendPatch (fetchpatch { + name = "support-cabal-3.14.patch"; + url = "https://github.com/danfran/cabal-macosx/commit/24ef850a4c743e525433a6f9eaa3f8924408db10.patch"; + excludes = [ ".gitignore" ]; + sha256 = "sha256-ORonk31yStWH0I83B4hCpnap7KK4o49UVrwdrZjCRaU="; + }) super.cabal-macosx; + # 2020-06-24: Jailbreaking because of restrictive test dep bounds # Upstream issue: https://github.com/kowainik/trial/issues/62 trial = doJailbreak super.trial; @@ -1910,23 +1800,13 @@ with haskellLib; prettyprinter-ansi-terminal = dontCheck super.prettyprinter-ansi-terminal; # Released version prohibits QuickCheck >= 2.15 at the moment - optparse-applicative = - appendPatches - [ - (pkgs.fetchpatch2 { - name = "optparse-applicative-0.18.1-allow-QuickCheck-2.15.patch"; - url = "https://github.com/pcapriotti/optparse-applicative/commit/2c2a39ed53e6339d8dc717efeb7d44f4c2b69cab.patch"; - hash = "sha256-198TfBUR3ygPpvKPvtH69UmbMmoRagmzr9UURPr6Kj4="; - }) - ] - ( - overrideCabal (drv: { - prePatch = '' - ${drv.prePatch or ""} - ${lib.getExe' pkgs.buildPackages.dos2unix "dos2unix"} *.cabal - ''; - }) super.optparse-applicative - ); + optparse-applicative = appendPatches [ + (pkgs.fetchpatch2 { + name = "optparse-applicative-0.18.1-allow-QuickCheck-2.15.patch"; + url = "https://github.com/pcapriotti/optparse-applicative/commit/2c2a39ed53e6339d8dc717efeb7d44f4c2b69cab.patch"; + hash = "sha256-198TfBUR3ygPpvKPvtH69UmbMmoRagmzr9UURPr6Kj4="; + }) + ] super.optparse-applicative; # chell-quickcheck doesn't work with QuickCheck >= 2.15 with no known fix yet # https://github.com/typeclasses/chell/issues/5 @@ -2564,9 +2444,6 @@ with haskellLib; )) ]; - # 2025-02-11: Too strict bounds on base < 4.17 - ema = doJailbreak super.ema; - # Too strict bounds on text and tls # https://github.com/barrucadu/irc-conduit/issues/54 # Use crypton-connection instead of connection @@ -2699,9 +2576,10 @@ with haskellLib; # hexstring is not compatible with newer versions of base16-bytestring # See https://github.com/solatis/haskell-hexstring/issues/3 hexstring = overrideCabal (old: { - # Prevent DOS line endings from Hackage from breaking a patch + # GitHub doesn't generate a patch with DOS line endings, so we + # need to convert the patched file to Unix line endings prePatch = old.prePatch or "" + '' - ${pkgs.buildPackages.dos2unix}/bin/dos2unix src/Data/HexString.hs + sed -i -e 's/\r$//' src/Data/HexString.hs ''; patches = old.patches or [ ] ++ [ (pkgs.fetchpatch { @@ -2800,36 +2678,27 @@ with haskellLib; # Overly strict bounds on tasty-quickcheck (test suite) (< 0.11) hashable = doJailbreak super.hashable; - cborg = lib.pipe super.cborg [ - (appendPatches [ - # This patch changes CPP macros form gating on the version of ghc-prim to base - # since that's where the definitions are imported from. The source commit - # also changes the cabal file metadata which we filter out since we are - # only interested in this change as a dependency of cborg-i686-support-upstream.patch. - (pkgs.fetchpatch { - name = "cborg-no-gate-on-ghc-prim-version.patch"; - url = "https://github.com/well-typed/cborg/commit/a33f94f616f5047e45608a34ca16bfb1304ceaa1.patch"; - hash = "sha256-30j4Dksh2nnLKAcUF5XJw3Z/UjfV3F+JFnHeXSUs9Rk="; - includes = [ "**/Codec/CBOR/**" ]; - stripLen = 1; - }) - # Fixes compilation on 32-bit platforms. Unreleased patch committed to the - # upstream master branch: https://github.com/well-typed/cborg/pull/351 - (pkgs.fetchpatch { - name = "cborg-i686-support-upstream.patch"; - url = "https://github.com/well-typed/cborg/commit/ecc1360dcf9e9ee27d08de5206b844e075c88ca4.patch"; - hash = "sha256-9m2FlG6ziRxA1Dy22mErBaIjiZHa1dqtkbmFnMMFrTI="; - stripLen = 1; - }) - ]) - # Make sure patches to cborg.cabal apply - (overrideCabal (drv: { - prePatch = '' - ${drv.prePatch or ""} - ${lib.getExe' pkgs.buildPackages.dos2unix "dos2unix"} *.cabal - ''; - })) - ]; + cborg = appendPatches [ + # This patch changes CPP macros form gating on the version of ghc-prim to base + # since that's where the definitions are imported from. The source commit + # also changes the cabal file metadata which we filter out since we are + # only interested in this change as a dependency of cborg-i686-support-upstream.patch. + (pkgs.fetchpatch { + name = "cborg-no-gate-on-ghc-prim-version.patch"; + url = "https://github.com/well-typed/cborg/commit/a33f94f616f5047e45608a34ca16bfb1304ceaa1.patch"; + hash = "sha256-30j4Dksh2nnLKAcUF5XJw3Z/UjfV3F+JFnHeXSUs9Rk="; + includes = [ "**/Codec/CBOR/**" ]; + stripLen = 1; + }) + # Fixes compilation on 32-bit platforms. Unreleased patch committed to the + # upstream master branch: https://github.com/well-typed/cborg/pull/351 + (pkgs.fetchpatch { + name = "cborg-i686-support-upstream.patch"; + url = "https://github.com/well-typed/cborg/commit/ecc1360dcf9e9ee27d08de5206b844e075c88ca4.patch"; + hash = "sha256-9m2FlG6ziRxA1Dy22mErBaIjiZHa1dqtkbmFnMMFrTI="; + stripLen = 1; + }) + ] super.cborg; # Doesn't compile with tasty-quickcheck == 0.11 (see issue above) serialise = dontCheck super.serialise; @@ -2912,20 +2781,6 @@ with haskellLib; # https://github.com/brandonchinn178/tasty-autocollect/issues/54 tasty-autocollect = dontCheck super.tasty-autocollect; - postgres-websockets = lib.pipe super.postgres-websockets [ - (addTestToolDepends [ - pkgs.postgresql - pkgs.postgresqlTestHook - ]) - (dontCheckIf pkgs.postgresqlTestHook.meta.broken) - (overrideCabal { - preCheck = '' - export postgresqlEnableTCP=1 - export PGDATABASE=postgres_ws_test - ''; - }) - ]; - postgrest = lib.pipe (super.postgrest.overrideScope ( @@ -3080,8 +2935,8 @@ with haskellLib; hash = "sha256-JxraFWzErJT4EhELa3PWBGHaLT9OLgEPNSnxwpdpHd0="; }) (doJailbreak super.argon2); # Unmaintained - # 2024-07-09: zinza has bumped their QuickCheck and tasty dependencies beyond stackage lts. - # Can possibly be removed once QuickCheck >= 2.15 and tasty >= 1.5 + # 2025-10-02: Too strict upper bound on tasty-quickcheck (<0.11) + # https://github.com/phadej/zinza/pull/28 zinza = dontCheck super.zinza; pdftotext = overrideCabal (drv: { @@ -3102,6 +2957,14 @@ with haskellLib; # https://github.com/google/proto-lens/issues/403 proto-lens-arbitrary = doJailbreak super.proto-lens-arbitrary; + # Forbids QuickCheck >= 2.15 + # https://github.com/mchav/granite/issues/12#issuecomment-3360209408 + granite = doJailbreak super.granite; + + # Erroneously forbids vector >= 0.13.2.0 + # https://github.com/mchav/snappy-hs/commit/400490df38e0db7f353c0427f034a231bdf73098#r167007963 + snappy-hs = doJailbreak super.snappy-hs; + proto3-wire = appendPatches [ (fetchpatch { # https://github.com/awakesecurity/proto3-wire/pull/109 @@ -3479,10 +3342,6 @@ with haskellLib; # including the current one in nixpkgs. liquid-fixpoint = dontCheck super.liquid-fixpoint; - # 2025-09-20: Too strict upper bound on text (<2.1.3) - # https://github.com/mchav/dataframe/issues/61 - dataframe = doJailbreak (warnAfterVersion "0.3.0.4" super.dataframe); - # 2025-8-26: Too strict bounds on containers and text, see: https://github.com/stackbuilders/inflections-hs/pull/83 inflections = doJailbreak super.inflections; @@ -3491,13 +3350,24 @@ with haskellLib; stripe-signature = doJailbreak super.stripe-signature; stripe-wreq = doJailbreak super.stripe-wreq; - # 2025-08-01: Fixes few build errors related to pointers. - # https://github.com/haskell-cryptography/botan/pull/17 - botan-bindings = appendPatch (pkgs.fetchpatch2 { - url = "https://github.com/haskell-cryptography/botan/commit/99de68c3938187b7ab740c6534ec032a4a236747.patch"; - sha256 = "sha256-v255WFO9HsRuTAWFZG27TYbpoK7rJ1AuiCFNFIV18mI="; - stripLen = 1; - }) super.botan-bindings; + # 2025-10-12: gi-gtk was renamed to gi-gtk3 + # https://github.com/haskell-gi/haskell-gi/issues/478 + gi-gtk-hs = + appendPatches + [ + (pkgs.fetchpatch { + name = "gi-gtk-hs-use-gtk3.patch"; + url = "https://github.com/haskell-gi/haskell-gi/commit/e2ed85835499f70e119f050a2f37f22481f93886.patch"; + sha256 = "sha256-MzxXtBNBbJJaNwTOrq/CYqK4yGfS4Yk5fQ38ihFcclA="; + relative = "gi-gtk-hs"; + }) + ] + ( + super.gi-gtk-hs.override { + gi-gdk = self.gi-gdk3; + gi-gtk = self.gi-gtk3; + } + ); # 2025-08-04: Disable failing testcases. It would feel bad to disable all the # checks in a cryptography related package. diff --git a/pkgs/development/haskell-modules/configuration-darwin.nix b/pkgs/development/haskell-modules/configuration-darwin.nix index f3387cd2ce7f..9569f4b36597 100644 --- a/pkgs/development/haskell-modules/configuration-darwin.nix +++ b/pkgs/development/haskell-modules/configuration-darwin.nix @@ -36,10 +36,6 @@ self: super: double-conversion = addExtraLibrary pkgs.libcxx super.double-conversion; - # "erf table" test fails on Darwin - # https://github.com/bos/math-functions/issues/63 - math-functions = dontCheck super.math-functions; - # darwin doesn't have sub-second resolution # https://github.com/hspec/mockery/issues/11 mockery = overrideCabal (drv: { @@ -94,7 +90,7 @@ self: super: drv: lib.optionalAttrs (!pkgs.stdenv.cc.nativeLibc) { postPatch = '' - substituteInPlace System/X509/MacOS.hs --replace security /usr/bin/security + substituteInPlace System/X509/MacOS.hs --replace-fail security /usr/bin/security '' + (drv.postPatch or ""); } @@ -103,11 +99,20 @@ self: super: drv: lib.optionalAttrs (!pkgs.stdenv.cc.nativeLibc) { postPatch = '' - substituteInPlace System/X509/MacOS.hs --replace security /usr/bin/security + substituteInPlace System/X509/MacOS.hs --replace-fail security /usr/bin/security '' + (drv.postPatch or ""); } ) super.crypton-x509-system; + HsOpenSSL-x509-system = overrideCabal ( + drv: + lib.optionalAttrs (!pkgs.stdenv.cc.nativeLibc) { + postPatch = '' + substituteInPlace OpenSSL/X509/SystemStore/MacOSX.hs --replace-fail security /usr/bin/security + '' + + (drv.postPatch or ""); + } + ) super.HsOpenSSL-x509-system; # https://github.com/haskell-foundation/foundation/pull/412 foundation = dontCheck super.foundation; @@ -124,7 +129,7 @@ self: super: # when called from GHC, probably because clang is version 7, but we are # using LLVM8. preCompileBuildDriver = '' - substituteInPlace Setup.hs --replace "addToLdLibraryPath libDir" "pure ()" + substituteInPlace Setup.hs --replace-fail "addToLdLibraryPath libDir" "pure ()" '' + (oldAttrs.preCompileBuildDriver or ""); }) super.llvm-hs; @@ -165,7 +170,7 @@ self: super: HTF = overrideCabal (drv: { # GNU find is not prefixed in stdenv postPatch = '' - substituteInPlace scripts/local-htfpp --replace "find=gfind" "find=find" + substituteInPlace scripts/local-htfpp --replace-fail "find=gfind" "find=find" '' + (drv.postPatch or ""); }) super.HTF; @@ -185,7 +190,7 @@ self: super: # however linking against it is also not necessary there GLHUI = overrideCabal (drv: { postPatch = '' - substituteInPlace GLHUI.cabal --replace " rt" "" + substituteInPlace GLHUI.cabal --replace-fail " rt" "" '' + (drv.postPatch or ""); }) super.GLHUI; @@ -194,7 +199,7 @@ self: super: # Prevent darwin-specific configuration code path being taken # which doesn't work with nixpkgs' SDL libraries postPatch = '' - substituteInPlace configure --replace xDarwin noDarwinSpecialCasing + substituteInPlace configure --replace-fail xDarwin noDarwinSpecialCasing '' + (drv.postPatch or ""); patches = [ @@ -207,7 +212,7 @@ self: super: # doesn't work with nixpkgs' SDL libraries SDL-mixer = overrideCabal (drv: { postPatch = '' - substituteInPlace configure --replace xDarwin noDarwinSpecialCasing + substituteInPlace configure --replace-fail xDarwin noDarwinSpecialCasing '' + (drv.postPatch or ""); }) super.SDL-mixer; @@ -313,7 +318,7 @@ self: super: # Remove a problematic assert, the length is sometimes 1 instead of 2 on darwin di-core = overrideCabal (drv: { preConfigure = '' - substituteInPlace test/Main.hs --replace \ + substituteInPlace test/Main.hs --replace-fail \ "2 @=? List.length (List.nub (List.sort (map Di.log_time logs)))" "" ''; }) super.di-core; diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix index a204f4d41fb3..338f661232eb 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix @@ -135,14 +135,11 @@ self: super: { ghc-lib = doDistribute self.ghc-lib_9_2_8_20230729; # Test suite sometimes segfaults with GHC 9.0.1 and 9.0.2 - # https://github.com/ekmett/reflection/issues/51 - # https://gitlab.haskell.org/ghc/ghc/-/issues/21141 + # due to a GHC bug that has been fixed for GHC >= 9.2.2 + # https://github.com/ekmett/reflection/issues/51 krank:ignore-line + # https://gitlab.haskell.org/ghc/ghc/-/issues/21141 krank:ignore-line reflection = dontCheck super.reflection; - # Disable tests pending resolution of - # https://github.com/Soostone/retry/issues/71 - retry = dontCheck super.retry; - ghc-api-compat = unmarkBroken super.ghc-api-compat; # 2021-09-18: cabal2nix does not detect the need for ghc-api-compat. @@ -156,12 +153,6 @@ self: super: { # Tests require nothunks < 0.3 (conflicting with Stackage) for GHC < 9.8 aeson = dontCheck super.aeson; - # We use a GHC patch to support the fix for https://github.com/fpco/inline-c/issues/127 - # which means that the upstream cabal file isn't allowed to add the flag. - inline-c-cpp = - (if isDarwin then appendConfigureFlags [ "--ghc-option=-fcompact-unwind" ] else x: x) - super.inline-c-cpp; - # 2022-05-31: weeder 2.4.* requires GHC 9.2 weeder = doDistribute self.weeder_2_3_1; # Unnecessarily strict upper bound on lens diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.10.x.nix index 9bf63d98ac6b..ea22d88a9e40 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.10.x.nix @@ -88,7 +88,5 @@ in # Test suite issues # call-stack = dontCheck super.call-stack; # https://github.com/sol/call-stack/issues/19 - fsnotify = dontCheck super.fsnotify; # https://github.com/haskell-fswatch/hfsnotify/issues/115 - hinotify = pkgs.haskell.lib.dontCheck super.hinotify; # https://github.com/kolmodin/hinotify/issues/38 monad-dijkstra = dontCheck super.monad-dijkstra; # needs hlint 3.10 } diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix deleted file mode 100644 index 8bc8c6b6d2a9..000000000000 --- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix +++ /dev/null @@ -1,167 +0,0 @@ -{ - config, - pkgs, - haskellLib, -}: - -with haskellLib; - -let - inherit (pkgs.stdenv.hostPlatform) isDarwin; - inherit (pkgs) lib; -in - -self: super: { - - # Disable GHC 9.2.x core libraries. - array = null; - base = null; - binary = null; - bytestring = null; - Cabal = null; - containers = null; - deepseq = null; - directory = null; - exceptions = null; - filepath = null; - ghc-bignum = null; - ghc-boot = null; - ghc-boot-th = null; - ghc-compact = null; - ghc-heap = null; - ghc-prim = null; - ghci = null; - haskeline = null; - hpc = null; - integer-gmp = null; - libiserv = null; - mtl = null; - parsec = null; - pretty = null; - process = null; - rts = null; - stm = null; - template-haskell = null; - # GHC only builds terminfo if it is a native compiler - terminfo = - if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then - null - else - doDistribute self.terminfo_0_4_1_7; - text = null; - time = null; - transformers = null; - unix = null; - # GHC only bundles the xhtml library if haddock is enabled, check if this is - # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463 - xhtml = if self.ghc.hasHaddock or true then null else doDistribute self.xhtml_3000_4_0_0; - - # Need the Cabal-syntax-3.6.0.0 fake package for Cabal < 3.8 to allow callPackage and the constraint solver to work - Cabal-syntax = self.Cabal-syntax_3_6_0_0; - # These core package only exist for GHC >= 9.4. The best we can do is feign - # their existence to callPackages, but their is no shim for lower GHC versions. - system-cxx-std-lib = null; - - # Becomes a core package in GHC >= 9.10, no release compatible with GHC < 9.10 is available - ghc-internal = null; - # Become core packages in GHC >= 9.10, but aren't uploaded to Hackage - ghc-toolchain = null; - ghc-platform = null; - - # Becomes a core package in GHC >= 9.8 - semaphore-compat = doDistribute self.semaphore-compat_1_0_0; - - # Becomes a core package in GHC >= 9.10 - os-string = doDistribute self.os-string_2_0_8; - - # weeder >= 2.5 requires GHC 9.4 - weeder = doDistribute self.weeder_2_4_1; - # Allow dhall 1.42.* - weeder_2_4_1 = doJailbreak ( - super.weeder_2_4_1.override { - # weeder < 2.6 only supports algebraic-graphs < 0.7 - # We no longer have matching test deps for algebraic-graphs 0.6.1 in the set - algebraic-graphs = dontCheck self.algebraic-graphs_0_6_1; - } - ); - - haskell-language-server = - lib.throwIf config.allowAliases - "haskell-language-server has dropped support for ghc 9.2 in version 2.10.0.0, please use a newer ghc version or an older nixpkgs version" - (markBroken super.haskell-language-server); - - # hashable >= 1.5 doesn't support base < 4.18 - hashable = self.hashable_1_4_7_0; - # For GHC < 9.4, some packages need data-array-byte as an extra dependency - hashable_1_4_7_0 = addBuildDepends [ self.data-array-byte ] super.hashable_1_4_7_0; - primitive = addBuildDepends [ self.data-array-byte ] super.primitive; - primitive-unlifted = super.primitive-unlifted_0_1_3_1; - # Too strict lower bound on base - primitive-addr = doJailbreak super.primitive-addr; - - # Needs base-orphans for GHC < 9.8 / base < 4.19 - some = addBuildDepend self.base-orphans super.some; - - # Jailbreaks & Version Updates - hashable-time = doJailbreak super.hashable-time; - - # Depends on utf8-light which isn't maintained / doesn't support base >= 4.16 - # https://github.com/haskell-infra/hackage-trustees/issues/347 - # https://mail.haskell.org/pipermail/haskell-cafe/2022-October/135613.html - language-javascript_0_7_0_0 = dontCheck super.language-javascript_0_7_0_0; - - # Needs to match ghc-lib version - ghc-tags = doDistribute (doJailbreak self.ghc-tags_1_7); - - # Needs to match ghc-lib - hlint = doDistribute self.hlint_3_6_1; - - # ghc-lib >= 9.8 and friends no longer build with GHC 9.2 since they require semaphore-compat - ghc-lib-parser = doDistribute ( - self.ghc-lib-parser_9_6_7_20250325.override { - happy = self.happy_1_20_1_1; # wants happy < 1.21 - } - ); - ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_2; - ghc-lib = doDistribute ( - self.ghc-lib_9_6_7_20250325.override { - happy = self.happy_1_20_1_1; # wants happy < 1.21 - } - ); - - # 0.2.2.3 requires Cabal >= 3.8 - shake-cabal = doDistribute self.shake-cabal_0_2_2_2; - - # Tests require nothunks < 0.3 (conflicting with Stackage) for GHC < 9.8 - aeson = dontCheck super.aeson; - - # https://github.com/NixOS/cabal2nix/issues/554 - # https://github.com/clash-lang/clash-compiler/blob/f0f6275e19b8c672f042026c478484c5fd45191d/README.md#ghc-compatibility - clash-prelude = dontDistribute (markBroken super.clash-prelude); - - # Too strict upper bound on bytestring, relevant for GHC 9.2.6 specifically - # https://github.com/protolude/protolude/issues/127#issuecomment-1428807874 - protolude = doJailbreak super.protolude; - - # https://github.com/fpco/inline-c/pull/131 - inline-c-cpp = - (if isDarwin then appendConfigureFlags [ "--ghc-option=-fcompact-unwind" ] else x: x) - super.inline-c-cpp; - - # A given major version of ghc-exactprint only supports one version of GHC. - ghc-exactprint = super.ghc-exactprint_1_5_0; - - # only broken for >= 9.6 - calligraphy = doDistribute (unmarkBroken super.calligraphy); - - # Packages which need compat library for GHC < 9.6 - inherit (lib.mapAttrs (_: addBuildDepends [ self.foldable1-classes-compat ]) super) - indexed-traversable - OneTuple - these - ; - base-compat-batteries = addBuildDepends [ - self.foldable1-classes-compat - self.OneTuple - ] super.base-compat-batteries; -} diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix index 7673e54c2e74..347cf2dee573 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix @@ -98,6 +98,9 @@ self: super: { # 2022-08-01: Tests are broken on ghc 9.2.4: https://github.com/wz1000/HieDb/issues/46 hiedb = dontCheck super.hiedb; + # Tests require skeletest which doesn't support GHC 9.4 + toml-reader = dontCheck super.toml-reader; + # 2022-10-06: https://gitlab.haskell.org/ghc/ghc/-/issues/22260 ghc-check = dontHaddock super.ghc-check; @@ -131,7 +134,6 @@ self: super: { relude = dontCheck super.relude; haddock-library = doJailbreak super.haddock-library; - apply-refact = addBuildDepend self.data-default-class super.apply-refact; path = self.path_0_9_5; inherit ( @@ -143,23 +145,26 @@ self: super: { }; in lib.mapAttrs (_: pkg: doDistribute (pkg.overrideScope hls_overlay)) { - haskell-language-server = allowInconsistentDependencies ( - addBuildDepends [ self.retrie self.floskell ] super.haskell-language-server - ); - fourmolu = doJailbreak (dontCheck self.fourmolu_0_14_0_0); # ansi-terminal, Diff - ormolu = doJailbreak self.ormolu_0_7_2_0; # ansi-terminal - hlint = self.hlint_3_6_1; - stylish-haskell = self.stylish-haskell_0_14_5_0; - retrie = doJailbreak (unmarkBroken super.retrie); + apply-refact = addBuildDepend self.data-default-class super.apply-refact; floskell = doJailbreak super.floskell; + fourmolu = doJailbreak (dontCheck self.fourmolu_0_14_0_0); # ansi-terminal, Diff + haskell-language-server = addBuildDepends [ + self.retrie + self.floskell + ] super.haskell-language-server; + hlint = self.hlint_3_6_1; + ormolu = doJailbreak self.ormolu_0_7_2_0; # ansi-terminal + retrie = doJailbreak (unmarkBroken super.retrie); + stylish-haskell = self.stylish-haskell_0_14_5_0; } ) - retrie + apply-refact floskell - haskell-language-server fourmolu - ormolu + haskell-language-server hlint + ormolu + retrie stylish-haskell ; diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix index ba8c067651f4..4e479de6d087 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix @@ -148,6 +148,9 @@ in # Tests require nothunks < 0.3 (conflicting with Stackage) for GHC < 9.8 aeson = dontCheck super.aeson; + # Tests require skeletest which no longer supports GHC 9.6 + toml-reader = dontCheck super.toml-reader; + # Apply patch from PR with mtl-2.3 fix. ConfigFile = overrideCabal (drv: { editedCabalFile = null; @@ -200,7 +203,6 @@ in ghc-lib-parser = doDistribute self.ghc-lib-parser_9_8_5_20250214; ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_2; haddock-library = doJailbreak super.haddock-library; - apply-refact = addBuildDepend self.data-default-class super.apply-refact; inherit ( let @@ -211,23 +213,26 @@ in }; in lib.mapAttrs (_: pkg: doDistribute (pkg.overrideScope hls_overlay)) { - haskell-language-server = allowInconsistentDependencies ( - addBuildDepends [ self.retrie self.floskell ] super.haskell-language-server - ); - ormolu = doDistribute self.ormolu_0_7_4_0; - fourmolu = doDistribute (dontCheck (doJailbreak self.fourmolu_0_15_0_0)); - hlint = doDistribute self.hlint_3_8; - stylish-haskell = self.stylish-haskell_0_14_6_0; - retrie = doJailbreak (unmarkBroken super.retrie); + apply-refact = addBuildDepend self.data-default-class super.apply-refact; floskell = doJailbreak super.floskell; + fourmolu = dontCheck (doJailbreak self.fourmolu_0_15_0_0); + haskell-language-server = addBuildDepends [ + self.retrie + self.floskell + ] super.haskell-language-server; + hlint = self.hlint_3_8; + ormolu = self.ormolu_0_7_4_0; + retrie = doJailbreak (unmarkBroken super.retrie); + stylish-haskell = self.stylish-haskell_0_14_6_0; } ) - retrie + apply-refact floskell - haskell-language-server fourmolu - ormolu + haskell-language-server hlint + ormolu + retrie stylish-haskell ; } diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix index f739c9ddea64..82e1aa15642e 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix @@ -105,7 +105,6 @@ in ghc-exactprint = doDistribute super.ghc-exactprint_1_8_0_0; haddock-library = doJailbreak super.haddock-library; - apply-refact = addBuildDepend self.data-default-class super.apply-refact; ghc-lib-parser = doDistribute self.ghc-lib-parser_9_8_5_20250214; ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_2; inherit @@ -114,27 +113,30 @@ in hls_overlay = lself: lsuper: { Cabal-syntax = lself.Cabal-syntax_3_10_3_0; Cabal = lself.Cabal_3_10_3_0; - extensions = dontCheck (doJailbreak super.extensions_0_1_0_1); + extensions = dontCheck (doJailbreak lself.extensions_0_1_0_1); }; in lib.mapAttrs (_: pkg: doDistribute (pkg.overrideScope hls_overlay)) { - haskell-language-server = allowInconsistentDependencies ( - addBuildDepends [ self.retrie self.floskell ] super.haskell-language-server - ); - ormolu = doDistribute self.ormolu_0_7_4_0; - fourmolu = doDistribute (dontCheck (doJailbreak self.fourmolu_0_15_0_0)); - hlint = doDistribute self.hlint_3_8; - stylish-haskell = self.stylish-haskell_0_14_6_0; - retrie = doJailbreak (unmarkBroken super.retrie); + apply-refact = addBuildDepend self.data-default-class super.apply-refact; floskell = doJailbreak super.floskell; + fourmolu = dontCheck (doJailbreak self.fourmolu_0_15_0_0); + haskell-language-server = addBuildDepends [ + self.retrie + self.floskell + ] super.haskell-language-server; + hlint = self.hlint_3_8; + ormolu = self.ormolu_0_7_4_0; + retrie = doJailbreak (unmarkBroken super.retrie); + stylish-haskell = self.stylish-haskell_0_14_6_0; } ) - retrie + apply-refact floskell - haskell-language-server fourmolu - ormolu + haskell-language-server hlint + ormolu + retrie stylish-haskell ; } diff --git a/pkgs/development/haskell-modules/configuration-ghcjs-9.x.nix b/pkgs/development/haskell-modules/configuration-ghcjs-9.x.nix index 10a399e73063..3d2268de643f 100644 --- a/pkgs/development/haskell-modules/configuration-ghcjs-9.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghcjs-9.x.nix @@ -35,9 +35,16 @@ with haskellLib; patch = haskellLib.disableParallelBuilding super.patch; reflex-dom-core = haskellLib.disableParallelBuilding super.reflex-dom-core; - reflex-dom = super.reflex-dom.override (drv: { - jsaddle-webkit2gtk = null; - }); + # Marked as dontDistribute in -common because of jsaddle-webkit2gtk + # which requires an unmaintained version of libsoup. Since this dep + # is unnecessary for the JS backend, we can re-enable these jobs here. + reflex-dom = doDistribute ( + super.reflex-dom.override (drv: { + jsaddle-webkit2gtk = null; + }) + ); + reflex-localize-dom = doDistribute super.reflex-localize-dom; + trasa-reflex = doDistribute super.trasa-reflex; miso-examples = pkgs.lib.pipe super.miso-examples [ (addBuildDepends ( diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index eda038782976..7345e8a79aa4 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -66,7 +66,6 @@ broken-packages: - adaptive-containers # failure in job https://hydra.nixos.org/build/233243181 at 2023-09-02 - adaptive-tuple # failure in job https://hydra.nixos.org/build/233244881 at 2023-09-02 - adb # failure in job https://hydra.nixos.org/build/233193888 at 2023-09-02 - - adblock2privoxy # failure in job https://hydra.nixos.org/build/307609942 at 2025-09-19 - addy # failure in job https://hydra.nixos.org/build/233240594 at 2023-09-02 - adhoc-fixtures-hspec # failure in job https://hydra.nixos.org/build/252725981 at 2024-03-16 - adjunction # failure in job https://hydra.nixos.org/build/233237774 at 2023-09-02 @@ -74,9 +73,9 @@ broken-packages: - adp-multi # failure in job https://hydra.nixos.org/build/233256331 at 2023-09-02 - adtrees # failure in job https://hydra.nixos.org/build/233192320 at 2023-09-02 - AERN-Basics # failure in job https://hydra.nixos.org/build/233246999 at 2023-09-02 + - aes-gcm # failure in job https://hydra.nixos.org/build/309811668 at 2025-10-15 - aeson-applicative # failure in job https://hydra.nixos.org/build/233213824 at 2023-09-02 - aeson-bson # failure in job https://hydra.nixos.org/build/233201964 at 2023-09-02 - - aeson-combinators # failure in job https://hydra.nixos.org/build/307516309 at 2025-09-19 - aeson-commit # failure in job https://hydra.nixos.org/build/233198515 at 2023-09-02 - aeson-compat # failure in job https://hydra.nixos.org/build/233208257 at 2023-09-02 - aeson-decode # failure in job https://hydra.nixos.org/build/233251197 at 2023-09-02 @@ -94,7 +93,6 @@ broken-packages: - aeson-iproute # failure in job https://hydra.nixos.org/build/295091261 at 2025-04-22 - aeson-json-ast # failure in job https://hydra.nixos.org/build/233249406 at 2023-09-02 - aeson-lens # failure in job https://hydra.nixos.org/build/233235357 at 2023-09-02 - - aeson-match-qq # failure in job https://hydra.nixos.org/build/295091245 at 2025-04-22 - aeson-modern-tojson # failure in job https://hydra.nixos.org/build/233202149 at 2023-09-02 - aeson-options # failure in job https://hydra.nixos.org/build/233245051 at 2023-09-02 - aeson-parsec-picky # failure in job https://hydra.nixos.org/build/233222117 at 2023-09-02 @@ -147,6 +145,7 @@ broken-packages: - alloy # failure in job https://hydra.nixos.org/build/252726555 at 2024-03-16 - ally-invest # failure in job https://hydra.nixos.org/build/233236224 at 2023-09-02 - alpaca-netcode # failure in job https://hydra.nixos.org/build/233239392 at 2023-09-02 + - alpha # failure in job https://hydra.nixos.org/build/309811728 at 2025-10-15 - alphachar # failure in job https://hydra.nixos.org/build/252722667 at 2024-03-16 - alpino-tools # failure in job https://hydra.nixos.org/build/233236168 at 2023-09-02 - alsa # failure in job https://hydra.nixos.org/build/233250059 at 2023-09-02 @@ -158,6 +157,7 @@ broken-packages: - alure # failure in job https://hydra.nixos.org/build/233230238 at 2023-09-02 - amazon-emailer # failure in job https://hydra.nixos.org/build/233220018 at 2023-09-02 - amazon-products # failure in job https://hydra.nixos.org/build/233193877 at 2023-09-02 + - amazonka-appconfigdata # failure in job https://hydra.nixos.org/build/309811755 at 2025-10-15 - amazonka-contrib-rds-utils # failure building library in job https://hydra.nixos.org/build/237240275 at 2023-10-21 - amazonka-dynamodb # failure in job https://hydra.nixos.org/build/295091412 at 2025-04-22 - amazonka-dynamodb-streams # failure in job https://hydra.nixos.org/build/295091422 at 2025-04-22 @@ -330,7 +330,6 @@ broken-packages: - autoproc # failure in job https://hydra.nixos.org/build/252730569 at 2024-03-16 - avatar-generator # failure in job https://hydra.nixos.org/build/233214253 at 2023-09-02 - aviation-units # failure in job https://hydra.nixos.org/build/233245762 at 2023-09-02 - - avl-static # failure in job https://hydra.nixos.org/build/233199062 at 2023-09-02 - avr-shake # failure in job https://hydra.nixos.org/build/233223187 at 2023-09-02 - avro # failure in job https://hydra.nixos.org/build/307610307 at 2025-09-19 - avro-piper # failure in job https://hydra.nixos.org/build/233197510 at 2023-09-02 @@ -459,7 +458,6 @@ broken-packages: - bindings-cctools # failure in job https://hydra.nixos.org/build/233216939 at 2023-09-02 - bindings-common # failure in job https://hydra.nixos.org/build/233217363 at 2023-09-02 - bindings-dc1394 # failure in job https://hydra.nixos.org/build/233200022 at 2023-09-02 - - bindings-directfb # failure in job https://hydra.nixos.org/build/295091945 at 2025-04-22 - bindings-eskit # failure in job https://hydra.nixos.org/build/233223517 at 2023-09-02 - bindings-EsounD # failure in job https://hydra.nixos.org/build/233245565 at 2023-09-02 - bindings-fann # failure in job https://hydra.nixos.org/build/233232900 at 2023-09-02 @@ -479,6 +477,7 @@ broken-packages: - bindings-libv4l2 # failure in job https://hydra.nixos.org/build/233236316 at 2023-09-02 - bindings-monetdb-mapi # failure in job https://hydra.nixos.org/build/233219584 at 2023-09-02 - bindings-mpdecimal # failure in job https://hydra.nixos.org/build/233235379 at 2023-09-02 + - bindings-nettle # failure in job https://hydra.nixos.org/build/309812334 at 2025-10-15 - bindings-sc3 # failure in job https://hydra.nixos.org/build/233198459 at 2023-09-02 - bindings-sipc # failure in job https://hydra.nixos.org/build/233219411 at 2023-09-02 - bindings-wlc # failure in job https://hydra.nixos.org/build/233332720 at 2023-09-02 @@ -528,8 +527,8 @@ broken-packages: - bliplib # failure in job https://hydra.nixos.org/build/233195751 at 2023-09-02 - blockchain # failure in job https://hydra.nixos.org/build/233245492 at 2023-09-02 - blockhash # failure in job https://hydra.nixos.org/build/233227049 at 2023-09-02 - - blockio-uring # failure in job https://hydra.nixos.org/build/302801498, https://github.com/well-typed/blockio-uring/issues/44 at 2025-07-27 - - blockio-uring # https://github.com/well-typed/blockio-uring/issues/44, added 2025-07-27 + - blockio-uring # failure in job https://hydra.nixos.org/build/302801498, https://github.com/well-typed/blockio-uring/issues/47 at 2025-07-27 + - blockio-uring # https://github.com/well-typed/blockio-uring/issues/47, added 2025-07-27 - Blogdown # failure in job https://hydra.nixos.org/build/233239841 at 2023-09-02 - BlogLiterately # failure in job https://hydra.nixos.org/build/233202164 at 2023-09-02 - bloodhound-amazonka-auth # failure building library in job https://hydra.nixos.org/build/237245625 at 2023-10-21 @@ -538,7 +537,6 @@ broken-packages: - blosum # failure in job https://hydra.nixos.org/build/233198029 at 2023-09-02 - blubber-server # failure in job https://hydra.nixos.org/build/233199530 at 2023-09-02 - bludigon # failure in job https://hydra.nixos.org/build/233248190 at 2023-09-02 - - bluefin-algae # failure in job https://hydra.nixos.org/build/307517064 at 2025-09-19 - bluefin-random # failure in job https://hydra.nixos.org/build/307517069 at 2025-09-19 - Blueprint # failure in job https://hydra.nixos.org/build/233252987 at 2023-09-02 - bluetileutils # failure in job https://hydra.nixos.org/build/233197334 at 2023-09-02 @@ -672,7 +670,6 @@ broken-packages: - cabal-install-bundle # failure in job https://hydra.nixos.org/build/233194629 at 2023-09-02 - cabal-install-ghc72 # failure in job https://hydra.nixos.org/build/233246160 at 2023-09-02 - cabal-install-ghc74 # failure in job https://hydra.nixos.org/build/233226625 at 2023-09-02 - - cabal-macosx # failure in job https://hydra.nixos.org/build/307517203 at 2025-09-19 - cabal-meta # failure in job https://hydra.nixos.org/build/233194466 at 2023-09-02 - cabal-mon # failure in job https://hydra.nixos.org/build/233217320 at 2023-09-02 - cabal-nirvana # failure in job https://hydra.nixos.org/build/233222083 at 2023-09-02 @@ -706,6 +703,7 @@ broken-packages: - cake3 # failure in job https://hydra.nixos.org/build/233231662 at 2023-09-02 - cal-layout # failure in job https://hydra.nixos.org/build/233191194 at 2023-09-02 - cal3d # failure in job https://hydra.nixos.org/build/233200357 at 2023-09-02 + - calamity # failure in job https://hydra.nixos.org/build/309812724 at 2025-10-15 - caledon # failure in job https://hydra.nixos.org/build/233209888 at 2023-09-02 - calenderweek # failure in job https://hydra.nixos.org/build/233209930 at 2023-09-02 - call-alloy # failure in job https://hydra.nixos.org/build/233249056 at 2023-09-02 @@ -828,6 +826,7 @@ broken-packages: - cipher-des # failure in job https://hydra.nixos.org/build/233232112 at 2023-09-02 - circle # failure in job https://hydra.nixos.org/build/252722965 at 2024-03-16 - circlehs # failure in job https://hydra.nixos.org/build/233246591 at 2023-09-02 + - circuit-notation # failure in job https://hydra.nixos.org/build/309812708 at 2025-10-15 - citeproc-hs # failure in job https://hydra.nixos.org/build/233254388 at 2023-09-02 - cj-token # failure in job https://hydra.nixos.org/build/233253928 at 2023-09-02 - cjk # failure in job https://hydra.nixos.org/build/233258734 at 2023-09-02 @@ -839,6 +838,7 @@ broken-packages: - clarifai # failure in job https://hydra.nixos.org/build/233229480 at 2023-09-02 - CLASE # failure in job https://hydra.nixos.org/build/233234459 at 2023-09-02 - clash-finite # failure in job https://hydra.nixos.org/build/295092297 at 2025-04-22 + - clash-lib # failure in job https://hydra.nixos.org/build/309812683 at 2025-10-15 - clash-lib-hedgehog # failure in job https://hydra.nixos.org/build/295122808 at 2025-04-22 - clash-multisignal # failure in job https://hydra.nixos.org/build/273463331 at 2024-10-01 - clash-prelude-quickcheck # failure in job https://hydra.nixos.org/build/273453747 at 2024-10-01 @@ -873,6 +873,7 @@ broken-packages: - cloben # failure in job https://hydra.nixos.org/build/233194390 at 2023-09-02 - clock-extras # failure in job https://hydra.nixos.org/build/233190748 at 2023-09-02 - clocked # failure in job https://hydra.nixos.org/build/233241524 at 2023-09-02 + - clod # failure in job https://hydra.nixos.org/build/309812703 at 2025-10-15 - clogparse # failure in job https://hydra.nixos.org/build/233220294 at 2023-09-02 - clone-all # failure in job https://hydra.nixos.org/build/233234063 at 2023-09-02 - closed-classes # failure in job https://hydra.nixos.org/build/233250965 at 2023-09-02 @@ -1058,6 +1059,7 @@ broken-packages: - contstuff-monads-tf # failure in job https://hydra.nixos.org/build/233224064 at 2023-09-02 - contstuff-transformers # failure in job https://hydra.nixos.org/build/233244153 at 2023-09-02 - conversion-bytestring # failure in job https://hydra.nixos.org/build/295092506 at 2025-04-22 + - convert-annotation # failure in job https://hydra.nixos.org/build/310117221 at 2025-10-15 - convex-schema-parser # failure in job https://hydra.nixos.org/build/302801971 at 2025-07-27 - convexHullNd # failure in job https://hydra.nixos.org/build/307517560 at 2025-09-19 - cookie-tray # failure in job https://hydra.nixos.org/build/295092527 at 2025-04-22 @@ -1179,6 +1181,7 @@ broken-packages: - daemonize-doublefork # failure in job https://hydra.nixos.org/build/252714429 at 2024-03-16 - dag # failure in job https://hydra.nixos.org/build/233220719 at 2023-09-02 - DAG-Tournament # failure in job https://hydra.nixos.org/build/233218747 at 2023-09-02 + - dahdit # failure in job https://hydra.nixos.org/build/309813014 at 2025-10-15 - damnpacket # failure in job https://hydra.nixos.org/build/233235248 at 2023-09-02 - danibot # failure in job https://hydra.nixos.org/build/233197740 at 2023-09-02 - Dao # failure in job https://hydra.nixos.org/build/233207745 at 2023-09-02 @@ -1221,6 +1224,7 @@ broken-packages: - data-fin # failure in job https://hydra.nixos.org/build/233216426 at 2023-09-02 - data-fin-simple # failure in job https://hydra.nixos.org/build/233191648 at 2023-09-02 - data-flagset # failure in job https://hydra.nixos.org/build/233211231 at 2023-09-02 + - data-foldapp # failure in job https://hydra.nixos.org/build/309813054 at 2025-10-15 - data-forced # failure in job https://hydra.nixos.org/build/307517739 at 2025-09-19 - data-forest # failure in job https://hydra.nixos.org/build/307517728 at 2025-09-19 - data-index # failure in job https://hydra.nixos.org/build/233197067 at 2023-09-02 @@ -1228,6 +1232,7 @@ broken-packages: - data-kiln # failure in job https://hydra.nixos.org/build/233220764 at 2023-09-02 - data-lens-fd # failure in job https://hydra.nixos.org/build/233252537 at 2023-09-02 - data-lens-template # failure in job https://hydra.nixos.org/build/233194446 at 2023-09-02 + - data-list-zigzag # failure in job https://hydra.nixos.org/build/309813043 at 2025-10-15 - data-map-multikey # failure in job https://hydra.nixos.org/build/233223141 at 2023-09-02 - data-named # failure in job https://hydra.nixos.org/build/233196088 at 2023-09-02 - data-nat # failure in job https://hydra.nixos.org/build/233226801 at 2023-09-02 @@ -1331,6 +1336,7 @@ broken-packages: - derive-monoid # failure in job https://hydra.nixos.org/build/233205670 at 2023-09-02 - derive-prim # failure in job https://hydra.nixos.org/build/307517819 at 2025-09-19 - derive-storable-plugin # failure in job https://hydra.nixos.org/build/295092800 at 2025-04-22 + - derive-topdown # failure in job https://hydra.nixos.org/build/309813202 at 2025-10-15 - derive-trie # failure in job https://hydra.nixos.org/build/233207961 at 2023-09-02 - deriveJsonNoPrefix # failure in job https://hydra.nixos.org/build/233242453 at 2023-09-02 - deriving-openapi3 # failure in job https://hydra.nixos.org/build/252718489 at 2024-03-16 @@ -1629,6 +1635,7 @@ broken-packages: - encryptable # failure in job https://hydra.nixos.org/build/233215911 at 2023-09-02 - endo # failure in job https://hydra.nixos.org/build/233222561 at 2023-09-02 - engine-io # failure in job https://hydra.nixos.org/build/233234034 at 2023-09-02 + - engineering-units # failure in job https://hydra.nixos.org/build/309813391 at 2025-10-15 - entwine # failure in job https://hydra.nixos.org/build/233239261 at 2023-09-02 - enum-text # failure in job https://hydra.nixos.org/build/233194373 at 2023-09-02 - enum-utf8 # failure in job https://hydra.nixos.org/build/233234628 at 2023-09-02 @@ -1780,6 +1787,7 @@ broken-packages: - faster-megaparsec # failure in job https://hydra.nixos.org/build/252713238 at 2024-03-16 - fastly # failure in job https://hydra.nixos.org/build/233213136 at 2023-09-02 - fastmemo # failure in job https://hydra.nixos.org/build/252739389 at 2024-03-16 + - fastparser # failure in job https://hydra.nixos.org/build/309813509 at 2025-10-15 - fastpbkdf2 # failure in job https://hydra.nixos.org/build/233218574 at 2023-09-02 - FastPush # failure in job https://hydra.nixos.org/build/233224507 at 2023-09-02 - fastsum # failure in job https://hydra.nixos.org/build/252716407 at 2024-03-16 @@ -1851,7 +1859,6 @@ broken-packages: - fingertree-psqueue # failure in job https://hydra.nixos.org/build/233224766 at 2023-09-02 - fingertree-tf # failure in job https://hydra.nixos.org/build/233259910 at 2023-09-02 - finitary-optics # constraint issues https://hydra.nixos.org/build/295428386 - - finite # failure in job https://hydra.nixos.org/build/233226313 at 2023-09-02 - finite-field # failure in job https://hydra.nixos.org/build/295093309 at 2025-04-22 - finite-fields # failure in job https://hydra.nixos.org/build/233191530 at 2023-09-02 - FiniteCategoriesGraphViz # failure in job https://hydra.nixos.org/build/295090973 at 2025-04-22 @@ -1859,7 +1866,6 @@ broken-packages: - firefly-example # failure in job https://hydra.nixos.org/build/233259350 at 2023-09-02 - firestore # failure in job https://hydra.nixos.org/build/295093356 at 2025-04-22 - first-and-last # failure in job https://hydra.nixos.org/build/233256888 at 2023-09-02 - - first-class-instances # failure in job https://hydra.nixos.org/build/233207181 at 2023-09-02 - first-class-patterns # failure in job https://hydra.nixos.org/build/252739352 at 2024-03-16 - FirstPrelude # failure in job https://hydra.nixos.org/build/233256065 at 2023-09-02 - fit # failure in job https://hydra.nixos.org/build/233239893 at 2023-09-02 @@ -2038,6 +2044,7 @@ broken-packages: - fwgl # failure in job https://hydra.nixos.org/build/233246210 at 2023-09-02 - fwgl-javascript # broken by fwgl, manually entered here, because it does not appear in transitive-broken.yaml at 2024-07-09 - fx # failure in job https://hydra.nixos.org/build/295093438 at 2025-04-22 + - fxpak # failure in job https://hydra.nixos.org/build/309813706 at 2025-10-15 - g-npm # failure in job https://hydra.nixos.org/build/233215965 at 2023-09-02 - g4ip # failure in job https://hydra.nixos.org/build/233248315 at 2023-09-02 - gambler # failure in job https://hydra.nixos.org/build/252732701 at 2024-03-16 @@ -2169,7 +2176,6 @@ broken-packages: - gi-gstapp # failure in job https://hydra.nixos.org/build/253686159 at 2024-03-31 - gi-gsttag # failure in job https://hydra.nixos.org/build/233197576 at 2023-09-02 - gi-gtk-declarative # failure in job https://hydra.nixos.org/build/307610571 at 2025-09-19 - - gi-gtk-hs # failure in job https://hydra.nixos.org/build/307610574 at 2025-09-19 - gi-gtk4-layer-shell # failure in job https://hydra.nixos.org/build/302803068 at 2025-07-27 - gi-gtksheet # failure in job https://hydra.nixos.org/build/233211386 at 2023-09-02 - gi-ibus # failure in job https://hydra.nixos.org/build/233220272 at 2023-09-02 @@ -2238,6 +2244,7 @@ broken-packages: - glualint # failure in job https://hydra.nixos.org/build/295093757 at 2025-04-22 - glue # failure in job https://hydra.nixos.org/build/233233587 at 2023-09-02 - glue-ekg # failure in job https://hydra.nixos.org/build/307518731 at 2025-09-19 + - gmap # failure in job https://hydra.nixos.org/build/309814029 at 2025-10-15 - gnutls # failure in job https://hydra.nixos.org/build/252734570 at 2024-03-16 - goa # failure in job https://hydra.nixos.org/build/233193916 at 2023-09-02 - goal-core # failure in job https://hydra.nixos.org/build/233242261 at 2023-09-02 @@ -2290,7 +2297,6 @@ broken-packages: - Grafos # failure in job https://hydra.nixos.org/build/233201494 at 2023-09-02 - grakn # failure in job https://hydra.nixos.org/build/233218052 at 2023-09-02 - grammatical-parsers # failure in job https://hydra.nixos.org/build/233252219 at 2023-09-02 - - granite # failure in job https://hydra.nixos.org/build/307518928 at 2025-09-19 - graph-matchings # failure in job https://hydra.nixos.org/build/233245821 at 2023-09-02 - graph-rewriting # failure in job https://hydra.nixos.org/build/233191278 at 2023-09-02 - graph-serialize # failure in job https://hydra.nixos.org/build/233192162 at 2023-09-02 @@ -2393,7 +2399,6 @@ broken-packages: - hadoop-rpc # failure in job https://hydra.nixos.org/build/233247222 at 2023-09-02 - hadoop-streaming # failure in job https://hydra.nixos.org/build/233229895 at 2023-09-02 - hafar # failure in job https://hydra.nixos.org/build/233231237 at 2023-09-02 - - haggle # failure in job https://hydra.nixos.org/build/233198660 at 2023-09-02 - Haggressive # failure in job https://hydra.nixos.org/build/233235332 at 2023-09-02 - HaGL # failure in job https://hydra.nixos.org/build/234457220 at 2023-09-13 - hahp # failure in job https://hydra.nixos.org/build/233250101 at 2023-09-02 @@ -2528,7 +2533,6 @@ broken-packages: - haskell-go-checkers # failure in job https://hydra.nixos.org/build/234459896 at 2023-09-13 - haskell-halogen-core # failure in job https://hydra.nixos.org/build/299138362 at 2025-06-23 - haskell-holes-th # failure in job https://hydra.nixos.org/build/233238457 at 2023-09-02 - - haskell-igraph # failure in job https://hydra.nixos.org/build/233201209 at 2023-09-02 - haskell-import-graph # failure in job https://hydra.nixos.org/build/233225328 at 2023-09-02 - haskell-in-space # failure in job https://hydra.nixos.org/build/233207121 at 2023-09-02 - haskell-kubernetes # failure in job https://hydra.nixos.org/build/233214499 at 2023-09-02 @@ -2624,11 +2628,13 @@ broken-packages: - haven # failure in job https://hydra.nixos.org/build/233216806 at 2023-09-02 - haverer # failure in job https://hydra.nixos.org/build/233210491 at 2023-09-02 - hax # failure in job https://hydra.nixos.org/build/233212147 at 2023-09-02 - - haxl # failure in job https://hydra.nixos.org/build/233243740 at 2023-09-02 + - haxl-amazonka # failure in job https://hydra.nixos.org/build/310117233 at 2025-10-15 + - haxl-facebook # failure in job https://hydra.nixos.org/build/310117231 at 2025-10-15 - haxparse # failure in job https://hydra.nixos.org/build/233205900 at 2023-09-02 - haxr-th # failure in job https://hydra.nixos.org/build/233250109 at 2023-09-02 - hayland # failure in job https://hydra.nixos.org/build/233201482 at 2023-09-02 - hayoo-cli # failure in job https://hydra.nixos.org/build/233245478 at 2023-09-02 + - hbcd # failure in job https://hydra.nixos.org/build/309814355 at 2025-10-15 - hBDD # failure in job https://hydra.nixos.org/build/307518994 at 2025-09-19 - hBDD-CMUBDD # failure in job https://hydra.nixos.org/build/233210132 at 2023-09-02 - hBDD-CUDD # failure in job https://hydra.nixos.org/build/233243982 at 2023-09-02 @@ -2742,6 +2748,7 @@ broken-packages: - hgearman # failure in job https://hydra.nixos.org/build/233231063 at 2023-09-02 - hGelf # failure in job https://hydra.nixos.org/build/233203909 at 2023-09-02 - hgeometric # failure in job https://hydra.nixos.org/build/233197856 at 2023-09-02 + - hgettext # failure in job https://hydra.nixos.org/build/309814473 at 2025-10-15 - hgis # failure in job https://hydra.nixos.org/build/233200418 at 2023-09-02 - hgmp # failure in job https://hydra.nixos.org/build/307519217 at 2025-09-19 - hgom # failure in job https://hydra.nixos.org/build/233255569 at 2023-09-02 @@ -2786,6 +2793,7 @@ broken-packages: - hinotify-conduit # failure in job https://hydra.nixos.org/build/252710760 at 2024-03-16 - hinquire # failure in job https://hydra.nixos.org/build/233235549 at 2023-09-02 - hinstaller # failure in job https://hydra.nixos.org/build/233244650 at 2023-09-02 + - hint-nix # failure in job https://hydra.nixos.org/build/309814463 at 2025-10-15 - hint-server # failure in job https://hydra.nixos.org/build/233240346 at 2023-09-02 - hinter # failure in job https://hydra.nixos.org/build/233245954 at 2023-09-02 - hinterface # failure in job https://hydra.nixos.org/build/233250383 at 2023-09-02 @@ -2822,7 +2830,6 @@ broken-packages: - hledger-api # failure in job https://hydra.nixos.org/build/295094278 at 2025-04-22 - hledger-chart # failure in job https://hydra.nixos.org/build/233205387 at 2023-09-02 - hledger-diff # failure in job https://hydra.nixos.org/build/233199639 at 2023-09-02 - - hledger-flow # failure in job https://hydra.nixos.org/build/233252169 at 2023-09-02 - hledger-irr # failure in job https://hydra.nixos.org/build/233230276 at 2023-09-02 - hledger-makeitso # failure in job https://hydra.nixos.org/build/233213046 at 2023-09-02 - hledger-vty # failure in job https://hydra.nixos.org/build/233191782 at 2023-09-02 @@ -2874,7 +2881,6 @@ broken-packages: - Hmpf # failure in job https://hydra.nixos.org/build/233212948 at 2023-09-02 - hmumps # failure in job https://hydra.nixos.org/build/233209336 at 2023-09-02 - hnetcdf # failure in job https://hydra.nixos.org/build/252727915 at 2024-03-16 - - hnix-store-db # failure in job https://hydra.nixos.org/build/307610909 at 2025-09-19 - hnn # failure in job https://hydra.nixos.org/build/233253882 at 2023-09-02 - hnock # failure in job https://hydra.nixos.org/build/233247419 at 2023-09-02 - hnop # failure in job https://hydra.nixos.org/build/233214340 at 2023-09-02 @@ -3233,6 +3239,7 @@ broken-packages: - ib-api # failure in job https://hydra.nixos.org/build/233223054 at 2023-09-02 - iban # failure in job https://hydra.nixos.org/build/233236424 at 2023-09-02 - ical # failure in job https://hydra.nixos.org/build/233200229 at 2023-09-02 + - ice40-prim # failure in job https://hydra.nixos.org/build/309814812 at 2025-10-15 - icepeak # failure in job https://hydra.nixos.org/build/233242326 at 2023-09-02 - icfpc2020-galaxy # failure in job https://hydra.nixos.org/build/233208746 at 2023-09-02 - IcoGrid # failure in job https://hydra.nixos.org/build/233202038 at 2023-09-02 @@ -3260,7 +3267,6 @@ broken-packages: - ihaskell-parsec # failure in job https://hydra.nixos.org/build/233244271 at 2023-09-02 - ihaskell-plot # failure in job https://hydra.nixos.org/build/233255936 at 2023-09-02 - ihaskell-widgets # failure in job https://hydra.nixos.org/build/265955663 at 2024-07-14 - - ihp-openai # failure in job https://hydra.nixos.org/build/307610988 at 2025-09-19 - illuminate # failure in job https://hydra.nixos.org/build/233219478 at 2023-09-02 - image-type # failure in job https://hydra.nixos.org/build/233251466 at 2023-09-02 - imagemagick # failure in job https://hydra.nixos.org/build/233598237 at 2023-09-02 @@ -3445,6 +3451,7 @@ broken-packages: - json-pointy # failure in job https://hydra.nixos.org/build/233255533 at 2023-09-02 - json-python # failure in job https://hydra.nixos.org/build/233200964 at 2023-09-02 - json-qq # failure in job https://hydra.nixos.org/build/233196259 at 2023-09-02 + - json-rpc # failure in job https://hydra.nixos.org/build/309815009 at 2025-10-15 - json-rpc-generic # failure in job https://hydra.nixos.org/build/233201371 at 2023-09-02 - json-rpc-server # failure in job https://hydra.nixos.org/build/233201284 at 2023-09-02 - json-schema # failure in job https://hydra.nixos.org/build/303231342 at 2025-07-27 @@ -3581,6 +3588,7 @@ broken-packages: - Lambdaya # failure in job https://hydra.nixos.org/build/233227702 at 2023-09-02 - lame # failure in job https://hydra.nixos.org/build/233250932 at 2023-09-02 - laminar # failure in job https://hydra.nixos.org/build/241426331 at 2023-11-19 + - langchain-hs # failure in job https://hydra.nixos.org/build/309815178 at 2025-10-15 - language-asn # failure in job https://hydra.nixos.org/build/233227929 at 2023-09-02 - language-c-comments # failure in job https://hydra.nixos.org/build/233234112 at 2023-09-02 - language-c-inline # failure in job https://hydra.nixos.org/build/233245990 at 2023-09-02 @@ -3616,7 +3624,6 @@ broken-packages: - language-webidl # failure in job https://hydra.nixos.org/build/233194656 at 2023-09-02 - laop # failure in job https://hydra.nixos.org/build/233204106 at 2023-09-02 - large-anon # base >=4.14 && <4.19, ghc >=8.10 && <9.7 https://hydra.nixos.org/build/295428414 - - large-records # failure in job https://hydra.nixos.org/build/295094961 at 2025-04-22 - LargeCardinalHierarchy # failure in job https://hydra.nixos.org/build/233250339 at 2023-09-02 - Lastik # failure in job https://hydra.nixos.org/build/233194460 at 2023-09-02 - latest-npm-version # failure in job https://hydra.nixos.org/build/233239108 at 2023-09-02 @@ -3804,6 +3811,7 @@ broken-packages: - local-address # failure in job https://hydra.nixos.org/build/233247765 at 2023-09-02 - located # failure in job https://hydra.nixos.org/build/233234945 at 2023-09-02 - located-monad-logger # failure in job https://hydra.nixos.org/build/233194551 at 2023-09-02 + - locators # failure in job https://hydra.nixos.org/build/309815296 at 2025-10-15 - loch # failure in job https://hydra.nixos.org/build/233248876 at 2023-09-02 - log-effect # failure in job https://hydra.nixos.org/build/233211329 at 2023-09-02 - log-warper # failure in job https://hydra.nixos.org/build/233220417 at 2023-09-02 @@ -3847,6 +3855,7 @@ broken-packages: - lsfrom # failure in job https://hydra.nixos.org/build/233211705 at 2023-09-02 - lsh # failure in job https://hydra.nixos.org/build/233256686 at 2023-09-02 - lsql-csv # failure in job https://hydra.nixos.org/build/307520164 at 2025-09-19 + - ltext # failure in job https://hydra.nixos.org/build/309815332 at 2025-10-15 - lti13 # failure in job https://hydra.nixos.org/build/252715722 at 2024-03-16 - ltiv1p1 # failure in job https://hydra.nixos.org/build/233200883 at 2023-09-02 - ltk # failure in job https://hydra.nixos.org/build/233244152 at 2023-09-02 @@ -4063,6 +4072,7 @@ broken-packages: - moffy-samples-gtk4-run # failure in job https://hydra.nixos.org/build/295095458 at 2025-04-22 - mohws # failure in job https://hydra.nixos.org/build/233246088 at 2023-09-02 - mollie-api-haskell # failure in job https://hydra.nixos.org/build/233200867 at 2023-09-02 + - monad-abort-fd # failure in job https://hydra.nixos.org/build/309815545 at 2025-10-15 - monad-atom # failure in job https://hydra.nixos.org/build/233243367 at 2023-09-02 - monad-atom-simple # failure in job https://hydra.nixos.org/build/233259038 at 2023-09-02 - monad-branch # failure in job https://hydra.nixos.org/build/233251253 at 2023-09-02 @@ -4203,6 +4213,7 @@ broken-packages: - multiwalk # failure in job https://hydra.nixos.org/build/295095540 at 2025-04-22 - Munkres # failure in job https://hydra.nixos.org/build/233237379 at 2023-09-02 - muon # failure in job https://hydra.nixos.org/build/233238364 at 2023-09-02 + - murder # failure in job https://hydra.nixos.org/build/309815678 at 2025-10-15 - murmur # failure in job https://hydra.nixos.org/build/233244309 at 2023-09-02 - music-util # failure in job https://hydra.nixos.org/build/233234440 at 2023-09-02 - musicScroll # failure in job https://hydra.nixos.org/build/233197933 at 2023-09-02 @@ -4257,6 +4268,7 @@ broken-packages: - NaturalLanguageAlphabets # failure in job https://hydra.nixos.org/build/245539294 at 2024-01-02 - NaturalSort # failure in job https://hydra.nixos.org/build/233213239 at 2023-09-02 - naver-translate # failure in job https://hydra.nixos.org/build/233225934 at 2023-09-02 + - nbparts # failure in job https://hydra.nixos.org/build/309815729 at 2025-10-15 - nbt # failure in job https://hydra.nixos.org/build/233253509 at 2023-09-02 - ncurses # failure in job https://hydra.nixos.org/build/233238895 at 2023-09-02 - ndjson-conduit # failure in job https://hydra.nixos.org/build/295095605 at 2025-04-22 @@ -4418,6 +4430,7 @@ broken-packages: - oi # failure in job https://hydra.nixos.org/build/233190838 at 2023-09-02 - okapi # failure in job https://hydra.nixos.org/build/233193822 at 2023-09-02 - old-version # failure in job https://hydra.nixos.org/build/233198538 at 2023-09-02 + - ollama-holes-plugin # failure in job https://hydra.nixos.org/build/309815905 at 2025-10-15 - om-actor # failure in job https://hydra.nixos.org/build/233231027 at 2023-09-02 - om-http # failure in job https://hydra.nixos.org/build/233245328 at 2023-09-02 - om-http-logging # failure in job https://hydra.nixos.org/build/233218069 at 2023-09-02 @@ -5270,6 +5283,7 @@ broken-packages: - reflex-sdl2 # failure in job https://hydra.nixos.org/build/307521569 at 2025-09-19 - reflex-transformers # failure in job https://hydra.nixos.org/build/233243647 at 2023-09-02 - reflex-vty # failure in job https://hydra.nixos.org/build/295096544 at 2025-04-22 + - reform-blaze # failure in job https://hydra.nixos.org/build/309816655 at 2025-10-15 - reform-hamlet # failure in job https://hydra.nixos.org/build/233230013 at 2023-09-02 - reform-hsp # failure in job https://hydra.nixos.org/build/233228737 at 2023-09-02 - reform-lucid # failure in job https://hydra.nixos.org/build/233257636 at 2023-09-02 @@ -5281,7 +5295,6 @@ broken-packages: - regex-do # failure in job https://hydra.nixos.org/build/307521538 at 2025-09-19 - regex-generator # failure in job https://hydra.nixos.org/build/233239502 at 2023-09-02 - regex-parsec # failure in job https://hydra.nixos.org/build/233223781 at 2023-09-02 - - regex-pcre2 # failure in job https://hydra.nixos.org/build/295096563 at 2025-04-22 - regex-posix-unittest # failure in job https://hydra.nixos.org/build/233249685 at 2023-09-02 - regex-tdfa-pipes # failure in job https://hydra.nixos.org/build/233247416 at 2023-09-02 - regex-tdfa-quasiquoter # failure in job https://hydra.nixos.org/build/233234166 at 2023-09-02 @@ -5311,7 +5324,6 @@ broken-packages: - relational-query-postgresql-pure # failure in job https://hydra.nixos.org/build/296063076 at 2025-05-02 - relevant-time # failure in job https://hydra.nixos.org/build/233190794 at 2023-09-02 - reload # failure in job https://hydra.nixos.org/build/233212925 at 2023-09-02 - - relocant # failure in job https://hydra.nixos.org/build/295096588 at 2025-04-22 - remark # failure in job https://hydra.nixos.org/build/233240981 at 2023-09-02 - remarks # failure in job https://hydra.nixos.org/build/233256889 at 2023-09-02 - rematch-text # failure in job https://hydra.nixos.org/build/307521518 at 2025-09-19 @@ -5394,6 +5406,8 @@ broken-packages: - RLP # failure in job https://hydra.nixos.org/build/233222770 at 2023-09-02 - rme-what4 # failure in job https://hydra.nixos.org/build/307611281 at 2025-09-19 - robin # failure in job https://hydra.nixos.org/build/233205010 at 2023-09-02 + - robin-hood-profit # failure in job https://hydra.nixos.org/build/309816727 at 2025-10-15 + - roboservant # failure in job https://hydra.nixos.org/build/309816799 at 2025-10-15 - robots-txt # failure in job https://hydra.nixos.org/build/233243090 at 2023-09-02 - roc-cluster # failure in job https://hydra.nixos.org/build/233202517 at 2023-09-02 - roguestar # failure in job https://hydra.nixos.org/build/233233677 at 2023-09-02 @@ -5471,6 +5485,7 @@ broken-packages: - sandwatch # failure in job https://hydra.nixos.org/build/295096742 at 2025-04-22 - sandwich-contexts # failure in job https://hydra.nixos.org/build/282178661 at 2024-12-23 - sarasvati # failure in job https://hydra.nixos.org/build/233208235 at 2023-09-02 + - sasha # failure in job https://hydra.nixos.org/build/309816856 at 2025-10-15 - sat # failure in job https://hydra.nixos.org/build/233225713 at 2023-09-02 - sat-simple # failure in job https://hydra.nixos.org/build/307521671 at 2025-09-19 - satchmo-backends # failure in job https://hydra.nixos.org/build/233228506 at 2023-09-02 @@ -5849,8 +5864,8 @@ broken-packages: - snaplet-ses-html # failure in job https://hydra.nixos.org/build/252718019 at 2024-03-16 - snaplet-sqlite-simple # failure in job https://hydra.nixos.org/build/252738602 at 2024-03-16 - snaplet-typed-sessions # failure in job https://hydra.nixos.org/build/252724459 at 2024-03-16 + - snappy # failure in job https://hydra.nixos.org/build/309817105 at 2025-10-15 - snappy-conduit # failure in job https://hydra.nixos.org/build/233196865 at 2023-09-02 - - snappy-hs # failure in job https://hydra.nixos.org/build/307522028 at 2025-09-19 - snelstart-import # failure in job https://hydra.nixos.org/build/295097114 at 2025-04-22 - SNet # failure in job https://hydra.nixos.org/build/233225638 at 2023-09-02 - snipcheck # failure in job https://hydra.nixos.org/build/233214417 at 2023-09-02 @@ -5926,6 +5941,7 @@ broken-packages: - sqlcipher # failure in job https://hydra.nixos.org/build/233259217 at 2023-09-02 - sqlcli # failure in job https://hydra.nixos.org/build/252719841 at 2024-03-16 - sqlite # failure in job https://hydra.nixos.org/build/233215839 at 2023-09-02 + - sqlite-easy # failure in job https://hydra.nixos.org/build/309817187 at 2025-10-15 - sqlite-simple-errors # failure in job https://hydra.nixos.org/build/233232977 at 2023-09-02 - sqlvalue-list # failure in job https://hydra.nixos.org/build/233197313 at 2023-09-02 - sqsd-local # failure in updateAutotoolsGnuConfigScriptsPhase in job https://hydra.nixos.org/build/237237046 at 2023-10-21 @@ -6038,6 +6054,7 @@ broken-packages: - streamly-binary # failure in job https://hydra.nixos.org/build/233240602 at 2023-09-02 - streamly-cassava # failure in job https://hydra.nixos.org/build/233237843 at 2023-09-02 - streamly-examples # failure in job https://hydra.nixos.org/build/252721153 at 2024-03-16 + - streamly-filepath # failure in job https://hydra.nixos.org/build/309817285 at 2025-10-15 - streamly-fsevents # failure in job https://hydra.nixos.org/build/307611411 at 2025-09-19 - streamly-lmdb # failure in job https://hydra.nixos.org/build/252731414 at 2024-03-16 - streamly-lz4 # failure in job https://hydra.nixos.org/build/233219321 at 2023-09-02 @@ -6153,6 +6170,7 @@ broken-packages: - syntactic # failure in job https://hydra.nixos.org/build/233210123 at 2023-09-02 - syntax-trees # failure in job https://hydra.nixos.org/build/233209576 at 2023-09-02 - syntax-trees-fork-bairyn # failure in job https://hydra.nixos.org/build/233216989 at 2023-09-02 + - SyntaxMacros # failure in job https://hydra.nixos.org/build/309811610 at 2025-10-15 - synthesizer # failure in job https://hydra.nixos.org/build/233259139 at 2023-09-02 - synthesizer-filter # failure in job https://hydra.nixos.org/build/252718079 at 2024-03-16 - synthesizer-llvm # failure in job https://hydra.nixos.org/build/266355681 at 2024-07-14 @@ -6234,6 +6252,7 @@ broken-packages: - telega # failure in job https://hydra.nixos.org/build/233239016 at 2023-09-02 - telegram # failure in job https://hydra.nixos.org/build/233203974 at 2023-09-02 - telegram-api # failure in job https://hydra.nixos.org/build/233255927 at 2023-09-02 + - telegram-bot-simple # failure in job https://hydra.nixos.org/build/309817498 at 2025-10-15 - telegram-types # failure in job https://hydra.nixos.org/build/233598183 at 2023-09-02 - telegraph # failure in job https://hydra.nixos.org/build/233213772 at 2023-09-02 - teleport # failure in job https://hydra.nixos.org/build/233194305 at 2023-09-02 @@ -6387,6 +6406,7 @@ broken-packages: - timecalc # failure in job https://hydra.nixos.org/build/233207970 at 2023-09-02 - timemap # failure in job https://hydra.nixos.org/build/233250038 at 2023-09-02 - timeout # failure in job https://hydra.nixos.org/build/233193307 at 2023-09-02 + - timeout-snooze # failure in job https://hydra.nixos.org/build/309817674 at 2025-10-15 - timeout-with-results # failure in job https://hydra.nixos.org/build/233212129 at 2023-09-02 - timeparsers # failure in job https://hydra.nixos.org/build/233250789 at 2023-09-02 - TimePiece # failure in job https://hydra.nixos.org/build/233213400 at 2023-09-02 @@ -6569,6 +6589,7 @@ broken-packages: - typed-admin # failure in job https://hydra.nixos.org/build/296063081 at 2025-05-02 - typed-digits # failure in job https://hydra.nixos.org/build/233198266 at 2023-09-02 - typed-encoding # failure in job https://hydra.nixos.org/build/233208093 at 2023-09-02 + - typed-gui # failure in job https://hydra.nixos.org/build/309817848 at 2025-10-15 - typed-process-effectful # failure in job https://hydra.nixos.org/build/236684332 at 2023-10-04 - typed-protocols # failure in job https://hydra.nixos.org/build/307522744 at 2025-09-19 - typed-session # failure in job https://hydra.nixos.org/build/270089993 at 2024-08-31 @@ -6846,6 +6867,7 @@ broken-packages: - warc # failure in job https://hydra.nixos.org/build/233215734 at 2023-09-02 - warp-dynamic # failure in job https://hydra.nixos.org/build/233220479 at 2023-09-02 - warp-static # failure in job https://hydra.nixos.org/build/233239581 at 2023-09-02 + - warp-tls-simple # failure in job https://hydra.nixos.org/build/309818122 at 2025-10-15 - warp-tls-uid # failure in job https://hydra.nixos.org/build/252725883 at 2024-03-16 - wasm # failure in job https://hydra.nixos.org/build/233249877 at 2023-09-02 - watcher # failure in job https://hydra.nixos.org/build/233245056 at 2023-09-02 @@ -6907,6 +6929,7 @@ broken-packages: - wild-bind-indicator # failure in job https://hydra.nixos.org/build/307611565 at 2025-09-19 - willow # failure in job https://hydra.nixos.org/build/233215807 at 2023-09-02 - windns # failure in job https://hydra.nixos.org/build/233242724 at 2023-09-02 + - winio # failure in job https://hydra.nixos.org/build/309818237 at 2025-10-15 - wire-streams # failure in job https://hydra.nixos.org/build/299186735 at 2025-06-23 - wireguard-hs # failure in job https://hydra.nixos.org/build/233218722 at 2023-09-02 - wires # failure in job https://hydra.nixos.org/build/233192321 at 2023-09-02 @@ -7021,7 +7044,6 @@ broken-packages: - xmonad-vanessa # failure in job https://hydra.nixos.org/build/233214303 at 2023-09-02 - xmonad-wallpaper # failure in job https://hydra.nixos.org/build/233217165 at 2023-09-02 - xmonad-windownames # failure in job https://hydra.nixos.org/build/233258043 at 2023-09-02 - - xnobar # failure in job https://hydra.nixos.org/build/302807518 at 2025-07-27 - xorshift-plus # failure in job https://hydra.nixos.org/build/233255176 at 2023-09-02 - Xorshift128Plus # failure in job https://hydra.nixos.org/build/233225679 at 2023-09-02 - xsact # failure in job https://hydra.nixos.org/build/233221821 at 2023-09-02 @@ -7032,6 +7054,7 @@ broken-packages: - xxhash # failure in job https://hydra.nixos.org/build/233240335 at 2023-09-02 - xz # failure in job https://hydra.nixos.org/build/307523211 at 2025-09-19 - y0l0bot # failure in job https://hydra.nixos.org/build/233212722 at 2023-09-02 + - yabi # failure in job https://hydra.nixos.org/build/309818284 at 2025-10-15 - yabi-muno # failure in job https://hydra.nixos.org/build/233246871 at 2023-09-02 - yackage # failure in job https://hydra.nixos.org/build/233213393 at 2023-09-02 - YACPong # failure in job https://hydra.nixos.org/build/233203317 at 2023-09-02 diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 07a8abeb2963..32b60030d27b 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -40,6 +40,8 @@ default-package-overrides: # liquidhaskell(-boot) support one GHC at a time, so we choose the one matching the current GHC (9.10) - liquidhaskell == 0.9.10.* - liquidhaskell-boot == 0.9.10.* + # Needs to match microlens == 0.4.* in Stackage LTS 24 + - microlens-pro < 0.2.0.4 # keep-sorted end # keep-sorted start skip_lines=1 case=no numeric=yes @@ -68,13 +70,13 @@ extra-packages: - ghc-exactprint == 1.7.* # 2025-03-09: needed for GHC == 9.6 - ghc-exactprint == 1.8.* # 2024-05-20: needed for GHC == 9.8 - ghc-exactprint == 1.9.* # 2024-08-27: needed for GHC == 9.10 - - ghc-lib == 9.2.* # 2022-02-17: preserve for GHC 8.10, 9.0 + - ghc-lib == 9.2.* # 2022-02-17: preserve for GHC 9.0 - ghc-lib == 9.6.* # 2022-02-17: preserve for GHC 9.2, 9.4 - ghc-lib == 9.10.* # 2024-12-30: preserve for GHC 9.10/ghc-tags 1.9 - - ghc-lib-parser == 9.2.* # 2022-02-17: preserve for GHC 8.10, 9.0 + - ghc-lib-parser == 9.2.* # 2022-02-17: preserve for GHC 9.0 - ghc-lib-parser == 9.6.* # 2024-05-19: preserve for GHC 9.2, 9.4 - ghc-lib-parser == 9.8.* # 2024-12-26: preserve for GHC 9.6, 9.8 - - ghc-lib-parser-ex == 9.2.* # 2022-07-13: preserve for GHC 8.10, 9.0 + - ghc-lib-parser-ex == 9.2.* # 2022-07-13: preserve for GHC 9.0 - ghc-lib-parser-ex == 9.6.* # 2024-05-19: preserve for GHC 9.2, 9.4 - ghc-lib-parser-ex == 9.8.* # 2024-12-26: preserve for GHC 9.6, 9.8 - ghc-tags == 1.5.* # 2023-02-18: preserve for ghc-lib == 9.2.* @@ -143,14 +145,12 @@ package-maintainers: - generics-sop - ghcjs-base - ghcjs-dom - - ghcjs-dom-hello - ghcjs-dom-javascript - ghcjs-dom-jsaddle - haveibeenpwned - jsaddle - jsaddle-clib - jsaddle-dom - - jsaddle-hello - jsaddle-warp - jsaddle-wkwebview - json-sop @@ -380,6 +380,11 @@ package-maintainers: - amazonka - libssh2 - sitemap + - ihp-openai + - ihp + - ihp-ide + - ihp-migrate + - ihp-postgresql-simple-extra ncfavier: - Agda - agda2hs @@ -697,7 +702,6 @@ unsupported-platforms: Codec-Image-DevIL: [ platforms.darwin ] # depends on mesa coinor-clp: [ aarch64-linux ] # aarch64-linux is not supported by required system dependency clp cut-the-crap: [ platforms.darwin ] - emanote: [ x86_64-darwin ] # Depends on stork which is broken on macOS sdk < 10.14 essence-of-live-coding-PortMidi: [ platforms.darwin ] Euterpea: [ platforms.darwin ] follow-file: [ platforms.darwin ] @@ -934,7 +938,9 @@ dont-distribute-packages: - yices-painless # These packages don’t build because they use deprecated libsoup 2.4 versions. + - jsaddle-hello - jsaddle-webkit2gtk + - ghcjs-dom-hello - gi-javascriptcore4 - gi-soup2 - gi-webkit2 diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml index 8732dc0f3ce8..eaa5f7aed520 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml @@ -1,4 +1,4 @@ -# Stackage LTS 24.10 +# Stackage LTS 24.12 # This file is auto-generated by # maintainers/scripts/haskell/update-stackage.sh default-package-overrides: @@ -22,7 +22,7 @@ default-package-overrides: - aeson-attoparsec ==0.0.0 - aeson-better-errors ==0.9.1.3 - aeson-casing ==0.2.0.0 - - aeson-combinators ==0.1.2.1 + - aeson-combinators ==0.1.2.2 - aeson-diff ==1.1.0.13 - aeson-gadt-th ==0.2.5.4 - aeson-generic-compat ==0.0.2.0 @@ -224,8 +224,8 @@ default-package-overrides: - blaze-textual ==0.2.3.1 - bloodhound ==0.23.0.1 - bloomfilter ==2.0.1.2 - - bluefin ==0.0.16.0 - - bluefin-internal ==0.1.0.0 + - bluefin ==0.0.17.0 + - bluefin-internal ==0.1.1.0 - bm ==0.2.0.0 - bmp ==1.2.6.4 - bnb-staking-csvs ==0.2.2.0 @@ -489,7 +489,7 @@ default-package-overrides: - countdown-numbers-game ==0.0.0.1 - country ==0.2.5.0 - covariance ==0.2.0.1 - - cpphs ==1.20.9.1 + - cpphs ==1.20.10 - cpu ==0.1.2 - cpuinfo ==0.1.0.3 - cql ==4.0.4 @@ -582,7 +582,6 @@ default-package-overrides: - data-sketches ==0.3.1.0 - data-sketches-core ==0.1.0.0 - data-textual ==0.3.0.3 - - dataframe ==0.2.0.2 - dataurl ==0.1.0.0 - DAV ==1.3.4 - dbcleaner ==0.1.3 @@ -609,7 +608,7 @@ default-package-overrides: - depq ==0.4.2 - deque ==0.4.4.2 - derive-storable ==0.3.1.0 - - derive-topdown ==0.1.0.0 + - derive-topdown ==0.1.1.0 - deriveJsonNoPrefix ==0.1.0.1 - deriving-aeson ==0.2.10 - deriving-compat ==0.6.7 @@ -1174,7 +1173,7 @@ default-package-overrides: - greskell ==2.0.3.3 - greskell-core ==1.0.0.6 - greskell-websocket ==1.0.0.4 - - gridtables ==0.1.0.0 + - gridtables ==0.1.1.0 - grisette ==0.13.0.1 - groom ==0.1.2.1 - group-by-date ==0.1.0.5 @@ -1367,13 +1366,13 @@ default-package-overrides: - hsndfile-vector ==0.5.2 - HsOpenSSL ==0.11.7.9 - HsOpenSSL-x509-system ==0.1.0.4 - - hspec ==2.11.12 - - hspec-api ==2.11.12 + - hspec ==2.11.13 + - hspec-api ==2.11.13 - hspec-attoparsec ==0.1.0.2 - hspec-checkers ==0.1.0.2 - hspec-contrib ==0.5.2 - - hspec-core ==2.11.12 - - hspec-discover ==2.11.12 + - hspec-core ==2.11.13 + - hspec-discover ==2.11.13 - hspec-expectations ==0.8.4 - hspec-expectations-json ==1.0.2.1 - hspec-expectations-lifted ==0.10.0 @@ -1384,7 +1383,7 @@ default-package-overrides: - hspec-junit-formatter ==1.1.2.1 - hspec-leancheck ==0.0.6 - hspec-megaparsec ==2.2.1 - - hspec-meta ==2.11.12 + - hspec-meta ==2.11.13 - hspec-need-env ==0.1.0.12 - hspec-parsec ==0 - hspec-smallcheck ==0.5.3 @@ -2195,7 +2194,7 @@ default-package-overrides: - poly ==0.5.1.0 - poly-arity ==0.1.0 - polynomials-bernstein ==1.1.2 - - polyparse ==1.13 + - polyparse ==1.13.1 - polysemy ==1.9.2.0 - polysemy-fs ==0.1.0.0 - polysemy-plugin ==0.4.5.3 @@ -2441,7 +2440,7 @@ default-package-overrides: - rhythmic-sequences ==0.8.0.0 - riak-protobuf ==0.25.0.0 - richenv ==0.1.0.3 - - rio ==0.1.22.0 + - rio ==0.1.23.0 - rio-orphans ==0.1.2.0 - rio-prettyprint ==0.1.8.0 - rng-utils ==0.3.1 @@ -2597,7 +2596,7 @@ default-package-overrides: - shellify ==0.14.0.2 - shellmet ==0.0.5.0 - shelltestrunner ==1.10 - - shellwords ==0.1.4.4 + - shellwords ==0.1.4.6 - shelly ==1.12.1.1 - should-not-typecheck ==2.1.0 - show-combinators ==0.2.0.0 @@ -2783,7 +2782,7 @@ default-package-overrides: - swizzle-modify ==0.1.0.0 - swizzle-set ==0.2.0.0 - syb ==0.7.2.4 - - sydtest ==0.20.0.0 + - sydtest ==0.20.0.1 - sydtest-aeson ==0.2.0.1 - sydtest-amqp ==0.1.0.0 - sydtest-autodocodec ==0.0.0.0 diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml index eee71d4e9164..e2b564c05b02 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml @@ -50,6 +50,7 @@ dont-distribute-packages: - afv - agda-server - agda-snippets-hakyll + - age - agentx - aip - airgql @@ -224,7 +225,6 @@ dont-distribute-packages: - bbi - bdcs - bdcs-api - - beam-large-records - beam-th - beautifHOL - bech32-th @@ -294,6 +294,7 @@ dont-distribute-packages: - bits-extra - bittorrent - bla + - blacktip - blakesum-demo - Blammo - Blammo-wai @@ -458,6 +459,8 @@ dont-distribute-packages: - claferIG - claferwiki - clash + - clash-ghc + - clash-shake - classify-frog - classy-effects - classy-effects-th @@ -478,7 +481,6 @@ dont-distribute-packages: - cless - cleveland - click-clack - - clickhouse-haskell - clifford - clippings - cloud-haskell @@ -649,6 +651,7 @@ dont-distribute-packages: - cypher - dahdit-audio - dahdit-midi + - dahdit-network - dahdit-test - daino - Dangerous @@ -676,7 +679,6 @@ dont-distribute-packages: - datadog-tracing - datafix - dataflow - - dataframe_0_3_0_4 - datasets - date-conversions - dbjava @@ -894,6 +896,7 @@ dont-distribute-packages: - eventful-sql-common - eventful-sqlite - eventful-test-helpers + - eventlog-live-otelcol - EventSocket - eventsource-geteventstore-store - eventsource-store-specs @@ -907,6 +910,7 @@ dont-distribute-packages: - exference - exist - exist-instances + - expand - expat-enumerator - expiring-containers - explicit-iomodes-bytestring @@ -1437,8 +1441,6 @@ dont-distribute-packages: - HaVSA - hawitter - Hawk - - haxl-amazonka - - haxl-facebook - haxy - Hayoo - hback @@ -1933,6 +1935,7 @@ dont-distribute-packages: - karakuri - katip-rollbar - keelung + - keera-hails-i18n - keera-hails-mvc-environment-gtk - keera-hails-mvc-model-lightmodel - keera-hails-mvc-model-protectedmodel @@ -2065,6 +2068,7 @@ dont-distribute-packages: - librato - libxml-enumerator - lifted-base-tf + - lifted-stm - lightning-haskell - lightstep-haskell - lighttpd-conf @@ -2080,6 +2084,7 @@ dont-distribute-packages: - linnet-conduit - linux-ptrace - lio-eci11 + - lion - liquid-base - liquid-bytestring - liquid-containers @@ -2276,6 +2281,7 @@ dont-distribute-packages: - mole - monad-connect - monad-exception + - monad-finally - monad-http - monad-state - monad-stlike-stm @@ -2365,6 +2371,7 @@ dont-distribute-packages: - music-suite - musicbrainz-email - musicxml2 + - musig2 - mutable-iter - MutationOrder - mute-unmute @@ -2480,6 +2487,7 @@ dont-distribute-packages: - oath - oauth2-jwt-bearer - obdd + - oberon0 - obj - objectid - objective @@ -2753,7 +2761,6 @@ dont-distribute-packages: - proplang - prosidyc - proto-lens-descriptors - - proto3-suite - protobuf-native - protocol-buffers-descriptor - protocol-buffers-descriptor-fork @@ -2878,7 +2885,6 @@ dont-distribute-packages: - reddit - redHandlers - redis-io - - rediscaching-haxl - refh - reflex-animation - reflex-backend-wai @@ -3036,7 +3042,7 @@ dont-distribute-packages: - sandwich-contexts-kubernetes - sandwich-contexts-minio - sandwich-webdriver - - sandwich-webdriver_0_4_0_1 + - sandwich-webdriver_0_4_0_2 - sarsi - sasl - sat-micro-hs @@ -3070,7 +3076,6 @@ dont-distribute-packages: - scotty-fay - scotty-form - scotty-hastache - - scotty-haxl - scotty-params-parser - scp-streams - scrabble-bot @@ -3129,7 +3134,6 @@ dont-distribute-packages: - servant-db-postgresql - servant-ede - servant-examples - - servant-haxl-client - servant-js - servant-matrix-param - servant-oauth2 @@ -3265,7 +3269,9 @@ dont-distribute-packages: - snaplet-stripe - snaplet-tasks - snaplet-wordpress + - snappy-framing - snappy-iteratee + - snappy-lazy - sndfile-enumerators - sneakyterm - sneathlane-haste @@ -3465,6 +3471,8 @@ dont-distribute-packages: - telegram-raw-api - ten-lens - ten-unordered-containers + - tensorflow-records + - tensorflow-records-conduit - terminal-text - terrahs - test-sandbox-compose @@ -3753,7 +3761,7 @@ dont-distribute-packages: - WebCont - webcrank-wai - webdriver-w3c - - webdriver_0_13_0_0 + - webdriver_0_14_0_0 - webify - webserver - websnap diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 74c5f2a2b3c9..526a96d59fc3 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -286,6 +286,10 @@ builtins.intersectAttrs super { })) ]; + # Test suite requires access to an actual serial port + # https://github.com/jputcu/serialport/issues/25 krank:ignore-line + serialport = dontCheck super.serialport; + # Provides a library and an executable (pretty-derivation) nix-derivation = enableSeparateBinOutput super.nix-derivation; @@ -526,9 +530,21 @@ builtins.intersectAttrs super { ]; # Avoid compiling twice by providing executable as a separate output (with small closure size), + # add postgresqlTestHook to allow test executiion postgres-websockets = lib.pipe super.postgres-websockets [ enableSeparateBinOutput - (overrideCabal { passthru.tests = pkgs.nixosTests.postgres-websockets; }) + (overrideCabal { + passthru.tests = pkgs.nixosTests.postgres-websockets; + preCheck = '' + export postgresqlEnableTCP=1 + export PGDATABASE=postgres_ws_test + ''; + }) + (addTestToolDepends [ + pkgs.postgresql + pkgs.postgresqlTestHook + ]) + (dontCheckIf pkgs.postgresqlTestHook.meta.broken) ]; # Test suite requires a running postgresql server, @@ -583,6 +599,8 @@ builtins.intersectAttrs super { addExtraLibraries [ pkgs.libGLU pkgs.libGL ] (super.hsqml.override { qt5 = pkgs.qt5.qtbase; }) ); monomer = dontCheck super.monomer; + # GLFW init fails in sandbox https://github.com/bsl/GLFW-b/issues/50 krank:ignore-line + GLFW-b = dontCheck super.GLFW-b; # Wants to check against a real DB, Needs freetds odbc = dontCheck (addExtraLibraries [ pkgs.freetds ] super.odbc); @@ -781,9 +799,6 @@ builtins.intersectAttrs super { patches = drv.patches or [ ] ++ [ ./patches/GLUT.patch ]; - prePatch = drv.prePatch or "" + '' - ${lib.getBin pkgs.buildPackages.dos2unix}/bin/dos2unix *.cabal - ''; }) super.GLUT; libsystemd-journal = addExtraLibrary pkgs.systemd super.libsystemd-journal; @@ -1273,6 +1288,7 @@ builtins.intersectAttrs super { pkgs.postgresql pkgs.postgresqlTestHook ]; + doCheck = drv.doCheck or true && !(pkgs.postgresqlTestHook.meta.broken); }) super.relocant; # https://gitlab.iscpif.fr/gargantext/haskell-pgmq/blob/9a869df2842eccc86a0f31a69fb8dc5e5ca218a8/README.md#running-test-cases @@ -1285,8 +1301,104 @@ builtins.intersectAttrs super { (lib.getBin (pkgs.postgresql.withPackages (ps: [ ps.pgmq ]))) pkgs.postgresqlTestHook ]; + doCheck = drv.doCheck or true && !(pkgs.postgresqlTestHook.meta.broken); }) super.haskell-pgmq; + migrant-postgresql-simple = lib.pipe super.migrant-postgresql-simple [ + (overrideCabal { + preCheck = '' + postgresqlTestUserOptions="LOGIN SUPERUSER" + ''; + }) + (addTestToolDepends [ + pkgs.postgresql + pkgs.postgresqlTestHook + ]) + (dontCheckIf pkgs.postgresqlTestHook.meta.broken) + ]; + + postgresql-simple-migration = overrideCabal (drv: { + preCheck = '' + PGUSER=test + PGDATABASE=test + ''; + testToolDepends = drv.testToolDepends or [ ] ++ [ + pkgs.postgresql + pkgs.postgresqlTestHook + ]; + jailbreak = true; + doCheck = drv.doCheck or true && !(pkgs.postgresqlTestHook.meta.broken); + }) super.postgresql-simple-migration; + + postgresql-simple = lib.pipe super.postgresql-simple [ + (addTestToolDepends [ + pkgs.postgresql + pkgs.postgresqlTestHook + ]) + (dontCheckIf pkgs.postgresqlTestHook.meta.broken) + ]; + + beam-postgres = lib.pipe super.beam-postgres [ + # Requires pg_ctl command during tests + (addTestToolDepends [ pkgs.postgresql ]) + (dontCheckIf (!pkgs.postgresql.doInstallCheck || !self.testcontainers.doCheck)) + ]; + + users-postgresql-simple = lib.pipe super.users-postgresql-simple [ + (addTestToolDepends [ + pkgs.postgresql + pkgs.postgresqlTestHook + ]) + (dontCheckIf pkgs.postgresqlTestHook.meta.broken) + ]; + + esqueleto = + overrideCabal + (drv: { + postPatch = drv.postPatch or "" + '' + # patch out TCP usage: https://nixos.org/manual/nixpkgs/stable/#sec-postgresqlTestHook-tcp + sed -i test/PostgreSQL/Test.hs \ + -e s^host=localhost^^ + ''; + # Match the test suite defaults (or hardcoded values?) + preCheck = drv.preCheck or "" + '' + PGUSER=esqutest + PGDATABASE=esqutest + ''; + testFlags = drv.testFlags or [ ] ++ [ + # We don't have a MySQL test hook yet + "--skip=/Esqueleto/MySQL" + ]; + testToolDepends = drv.testToolDepends or [ ] ++ [ + pkgs.postgresql + pkgs.postgresqlTestHook + ]; + }) + # https://github.com/NixOS/nixpkgs/issues/198495 + (dontCheckIf (pkgs.postgresqlTestHook.meta.broken) super.esqueleto); + + persistent-postgresql = + # TODO: move this override to configuration-nix.nix + overrideCabal + (drv: { + postPatch = drv.postPath or "" + '' + # patch out TCP usage: https://nixos.org/manual/nixpkgs/stable/#sec-postgresqlTestHook-tcp + # NOTE: upstream host variable takes only two values... + sed -i test/PgInit.hs \ + -e s^'host=" <> host <> "'^^ + ''; + preCheck = drv.preCheck or "" + '' + PGDATABASE=test + PGUSER=test + ''; + testToolDepends = drv.testToolDepends or [ ] ++ [ + pkgs.postgresql + pkgs.postgresqlTestHook + ]; + }) + # https://github.com/NixOS/nixpkgs/issues/198495 + (dontCheckIf (pkgs.postgresqlTestHook.meta.broken) super.persistent-postgresql); + # https://gitlab.iscpif.fr/gargantext/haskell-bee/blob/19c8775f0d960c669235bf91131053cb6f69a1c1/README.md#redis haskell-bee-redis = overrideCabal (drv: { testToolDepends = drv.testToolDepends or [ ] ++ [ @@ -1691,12 +1803,6 @@ builtins.intersectAttrs super { # Additionally install documentation jacinda = overrideCabal (drv: { enableSeparateDocOutput = true; - # Test suite is broken by DOS line endings inserted by Hackage revisions - # https://github.com/vmchale/jacinda/issues/5 - postPatch = '' - ${drv.postPatch or ""} - ${pkgs.buildPackages.dos2unix}/bin/dos2unix *.cabal - ''; postInstall = '' ${drv.postInstall or ""} @@ -1788,8 +1894,6 @@ builtins.intersectAttrs super { })) super.tailwind; - emanote = addBuildDepend pkgs.stork super.emanote; - keid-render-basic = addBuildTool pkgs.glslang super.keid-render-basic; # Disable checks to break dependency loop with SCalendar diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 9e8953079690..b0a7f261da91 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -184,6 +184,11 @@ in # See https://nixos.org/manual/nixpkgs/unstable/#haskell-packaging-helpers # or its source doc/languages-frameworks/haskell.section.md disallowGhcReference ? false, + # By default we convert the `.cabal` file to Unix line endings to work around + # Hackage converting them to DOS line endings when revised, see + # . + # Pass `true` to disable this behavior. + dontConvertCabalFileToUnix ? false, # Cabal 3.8 which is shipped by default for GHC >= 9.3 always calls # `pkg-config --libs --static` as part of the configure step. This requires # Requires.private dependencies of pkg-config dependencies to be present in @@ -603,12 +608,18 @@ lib.fix ( echo "Replace Cabal file with edited version from ${newCabalFileUrl}." cp ${newCabalFile} ${pname}.cabal '' - + prePatch; + + prePatch + + "\n" + # cabal2nix-generated expressions run hpack not until prePatch to create + # the .cabal file (if necessary) + + lib.optionalString (!dontConvertCabalFileToUnix) '' + sed -i -e 's/\r$//' *.cabal + ''; postPatch = optionalString jailbreak '' echo "Run jailbreak-cabal to lift version restrictions on build inputs." - ${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal + ${jailbreak-cabal}/bin/jailbreak-cabal *.cabal '' + postPatch; @@ -730,13 +741,7 @@ lib.fix ( # package specifies `hardeningDisable`. hardeningDisable = lib.optionals (args ? hardeningDisable) hardeningDisable - ++ lib.optional (ghc.isHaLVM or false) "all" - # Static libraries (ie. all of pkgsStatic.haskellPackages) fail to build - # because by default Nix adds `-pie` to the linker flags: this - # conflicts with the `-r` and `-no-pie` flags added by GHC (see - # https://gitlab.haskell.org/ghc/ghc/-/issues/19580). hardeningDisable - # changes the default Nix behavior regarding adding "hardening" flags. - ++ lib.optional enableStaticLibraries "pie"; + ++ lib.optional (ghc.isHaLVM or false) "all"; configurePhase = '' runHook preConfigure diff --git a/pkgs/development/haskell-modules/generic-stack-builder.nix b/pkgs/development/haskell-modules/generic-stack-builder.nix index d2f6beb5260c..47e0a4086674 100644 --- a/pkgs/development/haskell-modules/generic-stack-builder.nix +++ b/pkgs/development/haskell-modules/generic-stack-builder.nix @@ -58,7 +58,7 @@ stdenv.mkDerivation ( # Non-NixOS git needs cert GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; - # Fixes https://github.com/commercialhaskell/stack/issues/2358 + # Fixes https://github.com/commercialhaskell/stack/issues/2358 krank:ignore-line LANG = "en_US.UTF-8"; preferLocalBuild = true; diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index be9f813fe453..200821e83afc 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -2422,12 +2422,16 @@ self: { }: mkDerivation { pname = "AvlTree"; - version = "4.2"; - sha256 = "0bw6856h75wks0mfvvqqm5i31sici1hacyl5zfj225jf9gn5q7dx"; + version = "4.3"; + sha256 = "1l4dg904lc4b659dc0flipbj73h6g8kh8g1yjgx077w992z4j8rr"; libraryHaskellDepends = [ base COrdering ]; + testHaskellDepends = [ + base + COrdering + ]; description = "Balanced binary trees using the AVL algorithm"; license = lib.licenses.bsd3; } @@ -35098,10 +35102,8 @@ self: { }: mkDerivation { pname = "PenroseKiteDart"; - version = "1.5"; - sha256 = "0p0nf91vy5akgpnv8bb0i7bv92y0z774yh5xxynkf5f4rn7bcqjg"; - revision = "2"; - editedCabalFile = "1xdnbssmm0h9dvqpxivs2i037r5sj7cn5pnqzsm1h9cainj2w9g9"; + version = "1.5.1"; + sha256 = "0812x3ddlqflkypzjid3b5n3pdb2wwmp0b24yfmi9z15v5dbf2hm"; libraryHaskellDepends = [ base containers @@ -43231,6 +43233,8 @@ self: { ]; description = "Syntax Macros in the form of an EDSL"; license = "LGPL"; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -45204,6 +45208,8 @@ self: { pname = "Unique"; version = "0.4.8.0"; sha256 = "1wv9dskvs2im5a97h3xm161sbqcbw81d7knk81y876ghqqf3hr56"; + revision = "1"; + editedCabalFile = "0cxifpgiq110618hzas1yz3g7ngcliw1skb9nahw3arsz3c3zifj"; libraryHaskellDepends = [ base containers @@ -47434,8 +47440,8 @@ self: { pname = "X"; version = "0.3.1.0"; sha256 = "10paczbaiwag50v8ay9pl0f6whqds6y0yy14z0h8s6j04p9zd50f"; - revision = "1"; - editedCabalFile = "1c24q6bh9zq1a9rm9wqi8kasfzcn3cvbzdcgya8clwh3k7xbsvmg"; + revision = "2"; + editedCabalFile = "00q4sl0c1yb1gi3ycz46c5h5yl8f8pg6q2wdxxlvpxsxpnxsjdqv"; libraryHaskellDepends = [ base bytestring @@ -48863,6 +48869,37 @@ self: { } ) { }; + Ztrategic = callPackage ( + { + mkDerivation, + base, + monadplus, + mtl, + random, + syb, + syz, + transformers, + ZipperAG, + }: + mkDerivation { + pname = "Ztrategic"; + version = "0.1.0"; + sha256 = "0720gmpijd89sma3699cqc2mwj60bz6gidrgfsnm0zw67saqcq1f"; + libraryHaskellDepends = [ + base + monadplus + mtl + random + syb + syz + transformers + ZipperAG + ]; + description = "Zipper-based library for strategic programming and attribute grammars"; + license = lib.licenses.mit; + } + ) { }; + Zwaluw = callPackage ( { mkDerivation, base }: mkDerivation { @@ -52729,8 +52766,8 @@ self: { }: mkDerivation { pname = "adblock2privoxy"; - version = "2.3.0"; - sha256 = "0aaz9kxvsyiwn0infzf9qlvq7wlrsamg4brr11332aljg8phnsmx"; + version = "2.3.1"; + sha256 = "1gnh8w56qkp1bsrdiydsyig6s4vzhg5zgw68hnl4s9fq99016qca"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -52754,9 +52791,7 @@ self: { ]; description = "Convert adblock config files to privoxy format"; license = lib.licenses.gpl3Only; - hydraPlatforms = lib.platforms.none; mainProgram = "adblock2privoxy"; - broken = true; } ) { }; @@ -53555,6 +53590,39 @@ self: { } ) { }; + aes-gcm = callPackage ( + { + mkDerivation, + base, + base16-bytestring, + bytestring, + libcrypto, + tasty, + tasty-hunit, + }: + mkDerivation { + pname = "aes-gcm"; + version = "0.0.0.0"; + sha256 = "1shzy466bqy4s15azn8b4ijqdy0drz0zi9f3rxxwdyc730mnikap"; + libraryHaskellDepends = [ + base + bytestring + ]; + libraryPkgconfigDepends = [ libcrypto ]; + testHaskellDepends = [ + base + base16-bytestring + bytestring + tasty + tasty-hunit + ]; + description = "AES Galois/Counter Mode (GCM) AEAD Cipher"; + license = lib.licenses.gpl2Plus; + hydraPlatforms = lib.platforms.none; + broken = true; + } + ) { libcrypto = null; }; + aeson = callPackage ( { mkDerivation, @@ -53897,8 +53965,8 @@ self: { }: mkDerivation { pname = "aeson-combinators"; - version = "0.1.2.1"; - sha256 = "10r3k8hi0rcvpi2868m4282zrnn57q7gj25ldhkja7mvz199wddz"; + version = "0.1.2.2"; + sha256 = "1lpkkjq411xkccrnkfnvg297s46myfpzncm1i89lb213a1agn3br"; libraryHaskellDepends = [ aeson attoparsec-aeson @@ -53933,8 +54001,6 @@ self: { ]; description = "Aeson combinators for dead simple JSON decoding"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { }; @@ -54944,6 +55010,7 @@ self: { aeson, aeson-qq, attoparsec, + attoparsec-aeson, base, bytestring, case-insensitive, @@ -54951,6 +55018,7 @@ self: { either, haskell-src-meta, hspec, + hspec-discover, pretty, scientific, template-haskell, @@ -54960,11 +55028,12 @@ self: { }: mkDerivation { pname = "aeson-match-qq"; - version = "1.7.0"; - sha256 = "11cmqk6igrapi9ms211gbmfwkyczjrzpg900fxqypn18lj1k4y60"; + version = "1.8.0"; + sha256 = "1jzkxpy7qgln68sz5r9j5n963pnwxnclqav8qfc583yv9zszl0dp"; libraryHaskellDepends = [ aeson attoparsec + attoparsec-aeson base bytestring case-insensitive @@ -54985,10 +55054,9 @@ self: { hspec unordered-containers ]; + testToolDepends = [ hspec-discover ]; description = "Declarative JSON matchers"; license = lib.licenses.bsd2; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { }; @@ -56880,6 +56948,69 @@ self: { } ) { }; + age = callPackage ( + { + mkDerivation, + attoparsec, + base, + base16, + base64, + bech32, + binary, + bytestring, + conduit, + conduit-extra, + crypton, + directory, + hedgehog, + memory, + mmorph, + mono-traversable, + mtl, + text, + transformers, + }: + mkDerivation { + pname = "age"; + version = "0.0.1.0"; + sha256 = "0zlx7q72yzk9zjks7720w0qvkdgib810c70v13pyldkgq7qjgim2"; + libraryHaskellDepends = [ + attoparsec + base + base64 + bech32 + binary + bytestring + conduit + conduit-extra + crypton + memory + mono-traversable + mtl + text + transformers + ]; + testHaskellDepends = [ + attoparsec + base + base16 + bytestring + conduit + conduit-extra + crypton + directory + hedgehog + memory + mmorph + mtl + text + ]; + description = "Actually Good Encryption"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + } + ) { }; + agentx = callPackage ( { mkDerivation, @@ -59826,7 +59957,9 @@ self: { ]; description = "A compiler for the Alpha language"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; mainProgram = "alpha"; + broken = true; } ) { }; @@ -61141,6 +61274,8 @@ self: { ]; description = "Amazon AppConfig Data SDK"; license = lib.licenses.mpl20; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -81624,6 +81759,8 @@ self: { pname = "arbtt"; version = "0.12.0.3"; sha256 = "1wgc17fwnsqff8amwvv6jymhwjqrw653simv6gyxx89s1cla954d"; + revision = "1"; + editedCabalFile = "1kbma0ssjg8pd1rk9vi2bi7gy0fkfqpd6syh9271z350avgiwhf9"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -88767,8 +88904,8 @@ self: { }: mkDerivation { pname = "attoparsec-isotropic"; - version = "0.14.5"; - sha256 = "1bvxy2gydz3kv0fbhp77bwk75l73kz7qc4aa7wlldga90f8y3vhj"; + version = "0.14.6"; + sha256 = "0jaw0qqaqkgysaqppg0a89ydrv6cvci7c0synckpbjwbr222zvvm"; libraryHaskellDepends = [ array base @@ -91177,6 +91314,8 @@ self: { pname = "avl-static"; version = "0.1.0.0"; sha256 = "13rl5wrpmbb4c0zsaymivi4d9qg2wl4lfw4nvkd81naqm3vskc10"; + revision = "1"; + editedCabalFile = "1rwf1m5v9hy3vrfy3ibgvahcl5zpip65d6pidmwg954lclrbm1gh"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base @@ -91186,8 +91325,6 @@ self: { ]; description = "A compile-time balanced AVL tree"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { }; @@ -96751,6 +96888,8 @@ self: { pname = "base-encoding"; version = "0.3.0.0"; sha256 = "1lcqg4wpbry3x165j8rsjbpj1mzd7bl0917hjv0jhvmh5z3wnas8"; + revision = "1"; + editedCabalFile = "0m935gpy93dqf2vks0jx7g444p8a6abrkxnhsh3dv7ywkf2b9ns5"; libraryHaskellDepends = [ base base16-bytestring @@ -99738,8 +99877,8 @@ self: { pname = "beam-core"; version = "0.10.4.0"; sha256 = "1zxqyxxyid186s86lfw0sq030jckh83j3rwj6ibx4wg3flslk515"; - revision = "1"; - editedCabalFile = "1zwvxqfrmwnvsdj959ir6pwy3bbssyzgngh23kz40965pazxg8g6"; + revision = "2"; + editedCabalFile = "0fmbypv1rpgfvfdpn1my8xvx3hwg67s1sijfm1xilra5f8b0xwrx"; libraryHaskellDepends = [ aeson base @@ -99783,6 +99922,7 @@ self: { large-generics, large-records, microlens, + optics-core, record-hasfield, sqlite-simple, tasty, @@ -99792,8 +99932,8 @@ self: { }: mkDerivation { pname = "beam-large-records"; - version = "0.1.2"; - sha256 = "193r7r9rnbqn3k8kq6s80dq8spvgbbnm9kn80xa7irp0qb2q25p6"; + version = "0.1.3"; + sha256 = "1bzxdzqh12m3l4q3whcpc3ig22z6jvqphfw28mscyam4vj9zwm21"; libraryHaskellDepends = [ base beam-core @@ -99807,7 +99947,7 @@ self: { ghc-prim large-generics large-records - microlens + optics-core record-hasfield sqlite-simple tasty @@ -99817,7 +99957,6 @@ self: { ]; description = "Integration of large-records with beam-core"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -99851,8 +99990,8 @@ self: { pname = "beam-migrate"; version = "0.5.3.2"; sha256 = "05cz2gh9r00dr6knigq9v7zcdmpk2b19z0pg79wimkcxa2fblb5z"; - revision = "1"; - editedCabalFile = "0v1hx1pxwb7xxqdcdqyj8fv9liiz44ak2wmi7my267amxdx2n6h2"; + revision = "2"; + editedCabalFile = "0pd2fymz2rvdi5wn8drn9argizg79r9jf8rlszl81z682779vaw7"; libraryHaskellDepends = [ aeson base @@ -100066,8 +100205,8 @@ self: { pname = "beam-sqlite"; version = "0.5.4.1"; sha256 = "1f5yjsx7zfbfbxs3xd64rwn2m3vjffrbdn5xadhm1axhghi6srki"; - revision = "1"; - editedCabalFile = "0igd6nzypnnpswpybn87j7vzgy2cbgb4l19phimjdacgdjsvb4nf"; + revision = "2"; + editedCabalFile = "03j11sgmsaz80qvpb1r4j6zqdwya9gyi4rmlbhjl13wn3dzsf420"; libraryHaskellDepends = [ aeson attoparsec @@ -104440,8 +104579,6 @@ self: { description = "Low level bindings to DirectFB"; license = lib.licenses.bsd3; badPlatforms = lib.platforms.darwin; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { inherit (pkgs) directfb; }; @@ -105097,6 +105234,8 @@ self: { ]; description = "bindings to nettle crypto library"; license = lib.licenses.gpl3Only; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { inherit (pkgs) nettle; }; @@ -108027,6 +108166,28 @@ self: { } ) { }; + bitmasks = callPackage ( + { + mkDerivation, + base, + hspec, + QuickCheck, + }: + mkDerivation { + pname = "bitmasks"; + version = "0"; + sha256 = "0wanpwhi4d5lpsa6rrgw45i7hcy0xgrjlqbf3ij0vic601a19gny"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ + base + hspec + QuickCheck + ]; + description = "Bitmasks for efficient storing of boolean flags"; + license = lib.licenses.bsd3; + } + ) { }; + bits = callPackage ( { mkDerivation, @@ -109149,6 +109310,7 @@ self: { ]; description = "Decentralized, k-ordered unique ID generator"; license = lib.licenses.asl20; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -110933,8 +111095,8 @@ self: { }: mkDerivation { pname = "blockio-uring"; - version = "0.1.0.1"; - sha256 = "1vhzi5ad162vdnn13444rf729302zqb2ikfmlb4i6k27pp0z1w58"; + version = "0.1.0.2"; + sha256 = "1kal4vrygj12a53m9bavdbffsyqmh7m73vr62z2rz3y0yq3wxj3z"; libraryHaskellDepends = [ base primitive @@ -111772,19 +111934,6 @@ self: { }; bluefin = callPackage ( - { mkDerivation, bluefin-internal }: - mkDerivation { - pname = "bluefin"; - version = "0.0.16.0"; - sha256 = "12mvcawmm1b2n429lml86jqmnsha74nd6v45gd8sk288h9p4g3ks"; - libraryHaskellDepends = [ bluefin-internal ]; - description = "The Bluefin effect system"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.maralorn ]; - } - ) { }; - - bluefin_0_0_17_0 = callPackage ( { mkDerivation, bluefin-internal }: mkDerivation { pname = "bluefin"; @@ -111795,7 +111944,6 @@ self: { libraryHaskellDepends = [ bluefin-internal ]; description = "The Bluefin effect system"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; maintainers = [ lib.maintainers.maralorn ]; } ) { }; @@ -111812,8 +111960,8 @@ self: { }: mkDerivation { pname = "bluefin-algae"; - version = "0.1.0.1"; - sha256 = "1mf7sfa6fj18sdbi78imxr7p90m4aqsi22c4pk1g7spb1wgp9aw5"; + version = "0.1.0.2"; + sha256 = "02g513vqn052qd41zm9brw8lf1ic4135mi8kr3s4w0721vm4nkhh"; libraryHaskellDepends = [ base bluefin @@ -111823,13 +111971,15 @@ self: { base bluefin tasty - tasty-bench tasty-hunit ]; + benchmarkHaskellDepends = [ + base + bluefin + tasty-bench + ]; description = "Algebraic effects and named handlers in Bluefin"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { }; @@ -111853,34 +112003,6 @@ self: { ) { }; bluefin-internal = callPackage ( - { - mkDerivation, - async, - base, - monad-control, - transformers, - transformers-base, - unliftio-core, - }: - mkDerivation { - pname = "bluefin-internal"; - version = "0.1.0.0"; - sha256 = "1106fij37sq7xnmb1zrvls94frqs9ard2nggiphmc2lpkcg71whz"; - libraryHaskellDepends = [ - async - base - monad-control - transformers - transformers-base - unliftio-core - ]; - testHaskellDepends = [ base ]; - description = "The Bluefin effect system, internals"; - license = lib.licenses.mit; - } - ) { }; - - bluefin-internal_0_1_1_0 = callPackage ( { mkDerivation, async, @@ -111905,7 +112027,6 @@ self: { testHaskellDepends = [ base ]; description = "The Bluefin effect system, internals"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -114173,8 +114294,8 @@ self: { }: mkDerivation { pname = "botan-bindings"; - version = "0.0.1.0"; - sha256 = "0svb55s3y93lj1nk1574dpvinzw1fcy306gl6dcxxszxfm9ndng9"; + version = "0.1.0.0"; + sha256 = "1lajqsnf6v03qh3xnksbxh2h2sz4hkrvqw2jy94swyy8abd8qbqs"; libraryHaskellDepends = [ base bytestring @@ -114201,8 +114322,8 @@ self: { }: mkDerivation { pname = "botan-low"; - version = "0.0.1.0"; - sha256 = "0bm4dilvy1hdpf9flx7686djp0bjs2v7zi9iq937a6f20vqqwzvd"; + version = "0.0.2.0"; + sha256 = "16sha2cd03n7g3lykvcsfmxadyv3iyq9898sv9xjvcndfii3wg25"; libraryHaskellDepends = [ base botan-bindings @@ -122807,8 +122928,8 @@ self: { }: mkDerivation { pname = "cabal-bounds"; - version = "2.6.0"; - sha256 = "0y4xj4irhppwsg3ljy6yzscfjdj7gh2prsiia51y8ma6gm87sjsy"; + version = "2.7.0"; + sha256 = "09xlw66h5k034gr9id4lj8i48r188k55cy8kml6f3q1a7cqcfsfd"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -123070,8 +123191,8 @@ self: { }: mkDerivation { pname = "cabal-cargs"; - version = "1.7.0"; - sha256 = "17q51lg7vhdzvy9s8f3zplxa4mij2bjclzxry5f9d2pgiq4290p9"; + version = "1.8.0"; + sha256 = "0nm20jw8hy9gfv4813jfy7m13i9sa3dcs0633hminsk5xl5a1ff2"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -124776,9 +124897,7 @@ self: { ]; description = "Cabal support for creating Mac OSX application bundles"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; mainProgram = "macosx-app"; - broken = true; } ) { }; @@ -125114,6 +125233,8 @@ self: { pname = "cabal-rpm"; version = "2.3.0"; sha256 = "1scgf9npfjynj5b730zjk0yzyq74v2dghs0pwp2zg4kl0hxp6sw0"; + revision = "1"; + editedCabalFile = "1ji882k0kkpxzlw7c3f6b48k2wzzyy8yv5baadmy4j7npqxfsxqy"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -127669,6 +127790,8 @@ self: { ]; description = "A library for writing discord bots in haskell"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -139739,6 +139862,8 @@ self: { ]; description = "A source plugin for manipulating circuits in clash with a arrow notation"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -141112,6 +141237,7 @@ self: { executableHaskellDepends = [ base ]; description = "Clash: a functional hardware description language - GHC frontend"; license = lib.licenses.bsd2; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -141279,7 +141405,9 @@ self: { ]; description = "Clash: a functional hardware description language - As a library"; license = lib.licenses.bsd2; + hydraPlatforms = lib.platforms.none; mainProgram = "v16-upgrade-primitives"; + broken = true; } ) { }; @@ -141576,6 +141704,7 @@ self: { ]; description = "Shake rules for building Clash programs"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -143888,7 +144017,6 @@ self: { ]; description = "A Haskell library as database client for Clickhouse"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -144591,6 +144719,8 @@ self: { ]; description = "Project file manager for Claude AI integrations"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -161401,7 +161531,9 @@ self: { ]; description = "Convert the annotation of a gene to another in a delimited file using a variety of different databases"; license = lib.licenses.gpl3Only; + hydraPlatforms = lib.platforms.none; mainProgram = "convert-annotation"; + broken = true; } ) { }; @@ -164675,40 +164807,6 @@ self: { ) { }; cpphs = callPackage ( - { - mkDerivation, - base, - directory, - polyparse, - time, - }: - mkDerivation { - pname = "cpphs"; - version = "1.20.9.1"; - sha256 = "17wi7fma2qaqdm1hwgaam3fd140v9bpa8ky0wg708h1pqc5v2nbz"; - revision = "2"; - editedCabalFile = "0vxav36p0kplp4dpd17i4cfzrsl3r437d840xwv83lf1bqp7mrxc"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - base - directory - polyparse - time - ]; - executableHaskellDepends = [ - base - directory - polyparse - time - ]; - description = "A liberalised re-implementation of cpp, the C pre-processor"; - license = "LGPL"; - mainProgram = "cpphs"; - } - ) { }; - - cpphs_1_20_10 = callPackage ( { mkDerivation, base, @@ -164736,7 +164834,6 @@ self: { ]; description = "A liberalised re-implementation of cpp, the C pre-processor"; license = "LGPL"; - hydraPlatforms = lib.platforms.none; mainProgram = "cpphs"; } ) { }; @@ -164835,19 +164932,21 @@ self: { mkDerivation, base, containers, + deepseq, directory, parallel, }: mkDerivation { pname = "cpsa"; - version = "4.4.6"; - sha256 = "02x57fxwxcs16kn8dgr4pxjx0nrvvlwg3sm05hlipbycyaqwncmf"; + version = "4.4.7"; + sha256 = "131ri7wj5lsbsqm9rvcmrsdgb9mls24nf1rjcz9bylxxaizchm39"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; executableHaskellDepends = [ base containers + deepseq directory parallel ]; @@ -174337,6 +174436,8 @@ self: { ]; description = "Binary parsing and serialization with integrated size"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -174534,6 +174635,7 @@ self: { ]; description = "Network protocol helpers for Dahdit"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -177869,6 +177971,8 @@ self: { ]; description = "Fold function applications. Framework for variadic functions."; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -178390,6 +178494,8 @@ self: { libraryHaskellDepends = [ base ]; description = "A list but with a balanced enumeration of Cartesian product"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -180453,90 +180559,6 @@ self: { ) { }; dataframe = callPackage ( - { - mkDerivation, - array, - attoparsec, - base, - bytestring, - containers, - criterion, - directory, - filepath, - hashable, - HUnit, - random, - random-shuffle, - snappy, - statistics, - text, - time, - vector, - vector-algorithms, - zstd, - }: - mkDerivation { - pname = "dataframe"; - version = "0.2.0.2"; - sha256 = "0h4p5lbcka15zn5iqzvjsq2bwc3c1ivia5jf6p2gns8d0di9swbd"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - array - attoparsec - base - bytestring - containers - directory - filepath - hashable - snappy - statistics - text - time - vector - vector-algorithms - zstd - ]; - executableHaskellDepends = [ - array - attoparsec - base - bytestring - containers - directory - hashable - snappy - statistics - text - time - vector - vector-algorithms - zstd - ]; - testHaskellDepends = [ - base - HUnit - random - random-shuffle - text - time - vector - ]; - benchmarkHaskellDepends = [ - base - criterion - random - text - vector - ]; - description = "An intuitive, dynamically-typed DataFrame library"; - license = lib.licenses.gpl3Plus; - mainProgram = "dataframe"; - } - ) { }; - - dataframe_0_3_0_4 = callPackage ( { mkDerivation, array, @@ -180547,7 +180569,6 @@ self: { containers, criterion, directory, - filepath, granite, hashable, HUnit, @@ -180555,7 +180576,6 @@ self: { random, random-shuffle, snappy-hs, - statistics, template-haskell, text, time, @@ -180565,8 +180585,8 @@ self: { }: mkDerivation { pname = "dataframe"; - version = "0.3.0.4"; - sha256 = "1s18jscs5x4m274v18zgbv0cx4m5x4jda1imacjd56jg7h0vd6sk"; + version = "0.3.1.2"; + sha256 = "1i7psdv11kcscdn7gj8qavmqhbdac2c9b0rkr89qdsqcsq933y5y"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -180577,11 +180597,11 @@ self: { bytestring-lexing containers directory - filepath granite hashable + process + random snappy-hs - statistics template-haskell text time @@ -180590,59 +180610,28 @@ self: { zstd ]; executableHaskellDepends = [ - array - attoparsec base - bytestring - bytestring-lexing - containers - directory - granite - hashable random - snappy-hs - statistics - template-haskell text time vector - vector-algorithms - zstd ]; testHaskellDepends = [ - array - attoparsec base - bytestring - bytestring-lexing - containers - directory - granite - hashable HUnit random random-shuffle - snappy-hs - statistics - template-haskell text time vector - vector-algorithms - zstd ]; benchmarkHaskellDepends = [ base criterion process - random - text - time - vector ]; description = "A fast, safe, and intuitive DataFrame library"; license = lib.licenses.gpl3Plus; - hydraPlatforms = lib.platforms.none; mainProgram = "dataframe"; } ) { }; @@ -187040,7 +187029,9 @@ self: { mkDerivation, base, binary, + bytestring, containers, + ghc, haskell-src, HUnit, mtl, @@ -187053,8 +187044,8 @@ self: { }: mkDerivation { pname = "derive-topdown"; - version = "0.1.0.0"; - sha256 = "0pxv77r769wg61pp51ibvkd256f2cyrd9k5mrqz68dwi76xk54hr"; + version = "0.1.1.0"; + sha256 = "1ixgy4bmcmkp00cn28kikgkg9ln6pl5wyibrbk8hckf2wpamy0c3"; libraryHaskellDepends = [ base containers @@ -187069,7 +187060,9 @@ self: { testHaskellDepends = [ base binary + bytestring containers + ghc haskell-src HUnit mtl @@ -187082,6 +187075,8 @@ self: { ]; description = "Derive type class instances"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -190019,8 +190014,8 @@ self: { }: mkDerivation { pname = "dhscanner-ast"; - version = "1.1.1"; - sha256 = "1bg93w9897ijh28gb13y41slwq5fxr6s9p3q13m8hzv9rva7zzhm"; + version = "1.1.2"; + sha256 = "0a98wz9b1d4qpl6d06s48djkgrccgriqd29sz8zk3fcrz0b24r5a"; libraryHaskellDepends = [ aeson base @@ -190050,8 +190045,8 @@ self: { }: mkDerivation { pname = "dhscanner-bitcode"; - version = "1.0.7"; - sha256 = "0z0hqn3f3p5wyk1l93rc14992snbxm2jsda624ix9p2jqj4b104j"; + version = "1.0.9"; + sha256 = "0fzi9hsjm3i8vgx0dc5bi6pa148i6144llgs1ss7fvkzi76pfxxm"; libraryHaskellDepends = [ aeson base @@ -190083,8 +190078,8 @@ self: { }: mkDerivation { pname = "dhscanner-kbgen"; - version = "1.0.1"; - sha256 = "19iadc90zg2239h7kffkfgpy3kwdqac75f1r77adn5f9igyaj0pk"; + version = "1.0.3"; + sha256 = "0rqw9map9nvr1mzvvlkgvlcb0wg3byq2jh7vxa89h19hwy89f4vg"; libraryHaskellDepends = [ aeson base @@ -191334,6 +191329,8 @@ self: { pname = "diagrams-pandoc"; version = "0.4.1"; sha256 = "1gil467zp3n6wymiw4d492izf1hhac01j4nafmahjh4ybvi840xr"; + revision = "1"; + editedCabalFile = "1pk9asxd89098hrqdvavk7hrqca9msmfvmk2ncs6kj6n5xifybgd"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -191444,16 +191441,13 @@ self: { process, split, texrunner, - time, vector, zlib, }: mkDerivation { pname = "diagrams-pgf"; - version = "1.5"; - sha256 = "13zm00ayyk6gvlh4l2wdmrdqic386v69i3krylgvrajhdsd050al"; - revision = "1"; - editedCabalFile = "0vzi1dim76arwjrh9yqb9l2004ffsir8rws4vx26is5wzxsqf8y1"; + version = "1.5.0.1"; + sha256 = "0xx4zcqks3n67ffxvvq6vjw0iv2xnc5i2yjbvqmxjkkak4kxif2g"; libraryHaskellDepends = [ base bytestring @@ -191471,7 +191465,6 @@ self: { process split texrunner - time vector zlib ]; @@ -205493,6 +205486,25 @@ self: { } ) { }; + dynamic-array = callPackage ( + { + mkDerivation, + base, + primdata, + }: + mkDerivation { + pname = "dynamic-array"; + version = "0.1.3"; + sha256 = "1rd5yvj5hqvd24hwq2g7h3f6zkachkbk7zk0s03hrkim0i0839db"; + libraryHaskellDepends = [ + base + primdata + ]; + description = "Minimum-overhead mutable dynamic arrays"; + license = lib.licenses.mit; + } + ) { }; + dynamic-cabal = callPackage ( { mkDerivation, @@ -213624,7 +213636,6 @@ self: { ]; description = "Emanate a structured view of your plain-text notes"; license = lib.licenses.agpl3Only; - badPlatforms = [ "x86_64-darwin" ]; hydraPlatforms = lib.platforms.none; mainProgram = "emanote"; broken = true; @@ -214555,6 +214566,8 @@ self: { libraryHaskellDepends = [ base ]; description = "A numeric type for managing and automating engineering units"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -220372,6 +220385,137 @@ self: { } ) { }; + eventlog-live = callPackage ( + { + mkDerivation, + base, + bytestring, + dlist, + ghc-events, + hashable, + machines, + network, + optparse-applicative, + text, + unliftio-core, + unordered-containers, + }: + mkDerivation { + pname = "eventlog-live"; + version = "0.1.0.1"; + sha256 = "1fk8yssg0xd5zdxynajxgdsp5rzcain4b5jj3h7mnjfnd9y0j8mg"; + revision = "1"; + editedCabalFile = "03v6jr89wszgpywzhhzxjya3fhgiczzmfkmas8vxm6kzj0372mig"; + libraryHaskellDepends = [ + base + bytestring + dlist + ghc-events + hashable + machines + network + optparse-applicative + text + unliftio-core + unordered-containers + ]; + doHaddock = false; + description = "Live processing of eventlog data"; + license = lib.licenses.bsd3; + } + ) { }; + + eventlog-live-influxdb = callPackage ( + { + mkDerivation, + base, + clock, + containers, + dlist, + eventlog-live, + ghc-events, + influxdb, + lens-family, + machines, + optparse-applicative, + text, + }: + mkDerivation { + pname = "eventlog-live-influxdb"; + version = "0.1.0.1"; + sha256 = "152hkg9hz1dqi1lcbps4yhc6mr11mksn2fyn3hyb1q46vx8h9a0d"; + revision = "1"; + editedCabalFile = "1fk6v2y4rm6xj1403z240cqdy002m47cnb30iqplj0vcz418ccpp"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base + clock + containers + dlist + eventlog-live + ghc-events + influxdb + lens-family + machines + optparse-applicative + text + ]; + description = "Stream eventlog data into InfluxDB"; + license = lib.licenses.bsd3; + mainProgram = "eventlog-live-influxdb"; + } + ) { }; + + eventlog-live-otelcol = callPackage ( + { + mkDerivation, + base, + bytestring, + dlist, + eventlog-live, + ghc-events, + grapesy, + hashable, + hs-opentelemetry-otlp, + lens-family, + machines, + optparse-applicative, + proto-lens, + random, + text, + unordered-containers, + }: + mkDerivation { + pname = "eventlog-live-otelcol"; + version = "0.1.0.4"; + sha256 = "0mpq5q95nfp38nm4aqkybqpk6ikdaf4c0kcp8kiw7sgbpf57fv62"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base + bytestring + dlist + eventlog-live + ghc-events + grapesy + hashable + hs-opentelemetry-otlp + lens-family + machines + optparse-applicative + proto-lens + random + text + unordered-containers + ]; + description = "Stream eventlog data to the OpenTelemetry Collector"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + mainProgram = "eventlog-live-otelcol"; + } + ) { }; + eventlog-socket = callPackage ( { mkDerivation, base }: mkDerivation { @@ -222995,6 +223139,8 @@ self: { pname = "exon"; version = "1.7.2.0"; sha256 = "120cd6n7sqpakyk91izjblk92vc9bzr1a3bcskzkpky512mw47wm"; + revision = "1"; + editedCabalFile = "118n5y2bbbz2lyvnywipzmhdckv83g4lpzakcv15kd3h9hrlpa31"; libraryHaskellDepends = [ base ghc @@ -223198,6 +223344,7 @@ self: { ]; description = "Extensible Pandoc"; license = "LGPL"; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -227277,6 +227424,8 @@ self: { ]; description = "A fast, but bare bones, bytestring parser combinators library"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -229313,6 +229462,62 @@ self: { } ) { }; + fedora-repoquery_0_8 = callPackage ( + { + mkDerivation, + base, + case-insensitive, + curl, + directory, + extra, + fedora-releases, + filepath, + Glob, + optparse-applicative, + regex-compat, + safe, + simple-cmd, + simple-cmd-args, + text, + time, + xdg-basedir, + }: + mkDerivation { + pname = "fedora-repoquery"; + version = "0.8"; + sha256 = "0fzydnlaalbnhkmdcsizrbwm7h3i44g29g2l514fw0lvc1s8ln9z"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base + case-insensitive + curl + directory + extra + fedora-releases + filepath + Glob + optparse-applicative + regex-compat + safe + simple-cmd + simple-cmd-args + text + time + xdg-basedir + ]; + testHaskellDepends = [ + base + simple-cmd + ]; + description = "Fedora release repos package query tool"; + license = lib.licenses.gpl3Only; + hydraPlatforms = lib.platforms.none; + mainProgram = "fedora-repoquery"; + broken = true; + } + ) { }; + fee-estimate = callPackage ( { mkDerivation, @@ -233290,8 +233495,6 @@ self: { ]; description = "Finite ranges via types"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { }; @@ -233840,8 +234043,6 @@ self: { ]; description = "First-class typeclass instances"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { }; @@ -242551,8 +242752,8 @@ self: { }: mkDerivation { pname = "freckle-prelude"; - version = "0.0.3.0"; - sha256 = "0xnxrh3cniwlcjdjlxg1acdhfd51lpx2q112qhgynnfar866zbdc"; + version = "0.0.4.0"; + sha256 = "11qhlk66435qw2qkdmansd6x416ibck4xhd5298jciy53snhbhz8"; libraryHaskellDepends = [ base containers @@ -244307,8 +244508,8 @@ self: { }: mkDerivation { pname = "fresnel"; - version = "0.1.0.1"; - sha256 = "02d8d4m4msx7hxmp337zig07cvq7sci31f9x429w19bj43sp9j7g"; + version = "0.1.0.2"; + sha256 = "09jy2m20h0dazw6fakqh7kfwm7rwxhs7vfqr7plkx4229j9n9phx"; libraryHaskellDepends = [ base containers @@ -248647,6 +248848,8 @@ self: { ]; description = "Interface to the FXPak/FXPak Pro USB interface"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -260171,8 +260374,8 @@ self: { }: mkDerivation { pname = "ghc-tcplugin-api"; - version = "0.17.2.0"; - sha256 = "01p6x6jppap6q82x8m5jw3rbzn60gqmap23x6lxq9jbn6am44vhv"; + version = "0.18.0.0"; + sha256 = "0zy4cxqwsaqv4y2czidi7052yznp78h3c5hyrkk9rwxn43ixx4bm"; libraryHaskellDepends = [ array base @@ -261756,7 +261959,7 @@ self: { ]; description = "GHCJS DOM Hello World, an example package"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.alexfmpe ]; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -264482,8 +264685,6 @@ self: { ]; description = "A wrapper for gi-gtk, adding a few more idiomatic API parts on top"; license = lib.licenses.lgpl21Only; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { }; @@ -273419,6 +273620,8 @@ self: { ]; description = "Composable maps and generic tries"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -279934,13 +280137,12 @@ self: { hspec, hspec-discover, QuickCheck, - random, text, }: mkDerivation { pname = "granite"; - version = "0.3.0.0"; - sha256 = "0dax05bqkvfa6wj2v7xdqrm3k6jr9qjyax93xasbybsh2zh352dr"; + version = "0.3.0.1"; + sha256 = "1dpmyk89pzi2rfc1m0vxw9i0609fjhv9asbx1qzn5j1vpk79jkv2"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -279949,7 +280151,6 @@ self: { ]; executableHaskellDepends = [ base - random text ]; testHaskellDepends = [ @@ -279961,9 +280162,7 @@ self: { testToolDepends = [ hspec-discover ]; description = "Easy terminal plotting"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; mainProgram = "granite"; - broken = true; } ) { }; @@ -283040,10 +283239,8 @@ self: { }: mkDerivation { pname = "gridtables"; - version = "0.1.0.0"; - sha256 = "1smhbb2jxysbqhxww5rikjfnhsdbf0gq3kgnn6ikjzcrqwdk9b6n"; - revision = "1"; - editedCabalFile = "0ay4ywi8w5kk4blf8jqxhivzprp1ivpdlw6racr1692psyizmxi0"; + version = "0.1.1.0"; + sha256 = "0r2cnlkbw9b6m1x2im1jxdi191f354p47k98hkna7qi9azgnm8g8"; libraryHaskellDepends = [ array base @@ -290860,7 +291057,6 @@ self: { hspec-discover, HsYAML, HUnit, - ilist, language-docker, megaparsec, mtl, @@ -290882,8 +291078,8 @@ self: { }: mkDerivation { pname = "hadolint"; - version = "2.13.1"; - sha256 = "0c4wazp5xrnbhp8gxg8mjppdb9ys77zxywkqysw6h7vzd1rsk7bd"; + version = "2.14.0"; + sha256 = "1zsn381r71iysd85q1m6xngx0hs4a8nb9wwlx6g59dpx9aqs265g"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -290903,7 +291099,6 @@ self: { foldl gitrev HsYAML - ilist language-docker megaparsec mtl @@ -291343,8 +291538,6 @@ self: { ]; description = "A graph library offering mutable, immutable, and inductive graphs"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { }; @@ -301427,8 +301620,8 @@ self: { }: mkDerivation { pname = "haskell-debugger"; - version = "0.7.0.0"; - sha256 = "18hx1jb6w8yzxh410fsi2lv7xv37gm2k9i7yfchhiqccgbr5zp2j"; + version = "0.8.0.0"; + sha256 = "0fniq0yr7fj7rznplhv6sxc2rlcmrjrvmpmz5a0838nmdgd24xbm"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -302485,8 +302678,6 @@ self: { ]; description = "Bindings to the igraph C library (v0.8.5)."; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { }; @@ -310302,6 +310493,91 @@ self: { } ) { }; + hasql_1_9_3_2 = callPackage ( + { + mkDerivation, + aeson, + attoparsec, + base, + bytestring, + bytestring-strict-builder, + containers, + contravariant, + contravariant-extras, + criterion, + dlist, + hashable, + hspec, + hspec-discover, + iproute, + mtl, + postgresql-binary, + postgresql-libpq, + profunctors, + QuickCheck, + quickcheck-instances, + rerebase, + scientific, + testcontainers-postgresql, + text, + text-builder, + time, + transformers, + unordered-containers, + uuid, + vector, + witherable, + }: + mkDerivation { + pname = "hasql"; + version = "1.9.3.2"; + sha256 = "1qaiawgz9qrkw11p6z6spqsvwmcq6s4xjkl54cn3vpwqzyvfcacf"; + libraryHaskellDepends = [ + aeson + attoparsec + base + bytestring + bytestring-strict-builder + containers + contravariant + dlist + hashable + iproute + mtl + postgresql-binary + postgresql-libpq + profunctors + scientific + testcontainers-postgresql + text + text-builder + time + transformers + unordered-containers + uuid + vector + witherable + ]; + testHaskellDepends = [ + contravariant-extras + hspec + QuickCheck + quickcheck-instances + rerebase + testcontainers-postgresql + ]; + testToolDepends = [ hspec-discover ]; + benchmarkHaskellDepends = [ + criterion + rerebase + ]; + doHaddock = false; + description = "Fast PostgreSQL driver with a flexible mapping API"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + } + ) { }; + hasql-backend = callPackage ( { mkDerivation, @@ -313085,8 +313361,6 @@ self: { ]; description = "A Haskell library for efficient, concurrent, and concise data access"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { }; @@ -313119,6 +313393,7 @@ self: { description = "Haxl data source for accessing AWS services through amazonka"; license = lib.licenses.bsd3; hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -313183,6 +313458,7 @@ self: { description = "An example Haxl data source for accessing the Facebook Graph API"; license = lib.licenses.bsd3; hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -313653,6 +313929,8 @@ self: { ]; description = "Packed binary-coded decimal (BCD) serialization"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -316905,8 +317183,8 @@ self: { { mkDerivation, base }: mkDerivation { pname = "heck"; - version = "0.2025.5.22"; - sha256 = "01lxh37sw8sjcmss34nh97im4l3vpdxy1wp7qxgdwynzgz6lf4s9"; + version = "1.0.0.0"; + sha256 = "1j318pv3afazvl7m65w2gbmhcddnyn3gxf25k36wkd6rlclzbnrh"; libraryHaskellDepends = [ base ]; description = "Abstract unit test interface"; license = lib.licenses.bsd0; @@ -317145,7 +317423,7 @@ self: { } ) { }; - hedgehog_1_6 = callPackage ( + hedgehog_1_7 = callPackage ( { mkDerivation, ansi-terminal, @@ -317178,8 +317456,8 @@ self: { }: mkDerivation { pname = "hedgehog"; - version = "1.6"; - sha256 = "0lrwwlcp3rihs9z239lf6pd0m2fmi8ww4vvrwiphkrcba4c91bgf"; + version = "1.7"; + sha256 = "0kjn3dxyhk55ayjd9m8acr8kxhbzc70piszkiy2gbnwqyyhbrqh9"; libraryHaskellDepends = [ ansi-terminal async @@ -317732,8 +318010,8 @@ self: { pname = "hedgehog-quickcheck"; version = "0.1.1"; sha256 = "1z2ja63wqz83qhwzh0zs98k502v8fjdpnsnhqk3srypx2nw5vdlp"; - revision = "9"; - editedCabalFile = "1grw0vh1n3nbhpypb4v4rhmidm5n2hjbr4wiyvwj79bl12bd1x49"; + revision = "10"; + editedCabalFile = "18vclwp2i5w0acgs4zjjw82sy0s8sky9baa168qvyj2c1rdhs48q"; libraryHaskellDepends = [ base hedgehog @@ -324311,7 +324589,9 @@ self: { ]; description = "Bindings to libintl.h (gettext, bindtextdomain)"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; mainProgram = "hgettext"; + broken = true; } ) { }; @@ -327590,6 +327870,31 @@ self: { } ) { }; + hint-nix = callPackage ( + { + mkDerivation, + base, + hint, + include-env, + relude, + }: + mkDerivation { + pname = "hint-nix"; + version = "0.1.0.1"; + sha256 = "1wdbv1s3abza4min2h9q70q8ndjwwvn5w1rlzvd8d6p402diszf4"; + libraryHaskellDepends = [ + base + hint + include-env + relude + ]; + description = "Helper for using hint with Nix package databases"; + license = lib.licenses.agpl3Plus; + hydraPlatforms = lib.platforms.none; + broken = true; + } + ) { }; + hint-server = callPackage ( { mkDerivation, @@ -329632,6 +329937,48 @@ self: { } ) { }; + hkgr_0_5 = callPackage ( + { + mkDerivation, + base, + bytestring, + directory, + extra, + filepath, + simple-cabal, + simple-cmd, + simple-cmd-args, + simple-prompt, + typed-process, + xdg-basedir, + }: + mkDerivation { + pname = "hkgr"; + version = "0.5"; + sha256 = "070np9w0dafzlq7mkh11qkm8jr4k9dj927gbhz9vg8xn2p81fxb7"; + isLibrary = false; + isExecutable = true; + enableSeparateDataOutput = true; + executableHaskellDepends = [ + base + bytestring + directory + extra + filepath + simple-cabal + simple-cmd + simple-cmd-args + simple-prompt + typed-process + xdg-basedir + ]; + description = "Simple Hackage release workflow for package maintainers"; + license = lib.licenses.gpl3Only; + hydraPlatforms = lib.platforms.none; + mainProgram = "hkgr"; + } + ) { }; + hkt = callPackage ( { mkDerivation, @@ -330010,7 +330357,7 @@ self: { } ) { }; - hledger_1_50 = callPackage ( + hledger_1_50_1 = callPackage ( { mkDerivation, aeson, @@ -330058,8 +330405,8 @@ self: { }: mkDerivation { pname = "hledger"; - version = "1.50"; - sha256 = "140yg0nds681dk2g4lyldvjlwcb3v8lg2dd82vi7zp5i9af2v9k8"; + version = "1.50.1"; + sha256 = "1l15kdq074v88qk7h08rahw7pihs3sk417r6cr50jk9bbdiamz4y"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -330349,8 +330696,8 @@ self: { }: mkDerivation { pname = "hledger-flow"; - version = "0.14.4"; - sha256 = "1qvh5vgnk6vrhhr1kjqsycz13acxa7ynpqnd1bmchfl4q3aga9gw"; + version = "0.16.1"; + sha256 = "0lf3ndx8p4f2mfq0d7hwansc2xvqazhn4ywr6q2z6ygki4jac99g"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -330387,9 +330734,7 @@ self: { ]; description = "An hledger workflow focusing on automated statement import and classification"; license = lib.licenses.gpl3Only; - hydraPlatforms = lib.platforms.none; mainProgram = "hledger-flow"; - broken = true; } ) { }; @@ -330424,8 +330769,8 @@ self: { pname = "hledger-iadd"; version = "1.3.21"; sha256 = "00x0vbfp08kqs1nbknndk9h56hcidf6xnrk0ldz45dvjrmgcv3w2"; - revision = "10"; - editedCabalFile = "0138k01cba9xd3sab6kjh59rfxn96w2h21gjl579xqq76yvbibni"; + revision = "11"; + editedCabalFile = "16v21gwa4zkwjmg5ys4zchajv5k0dbk22vvr9hwfdwb7g21h3dvf"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -330490,6 +330835,102 @@ self: { } ) { }; + hledger-iadd_1_3_22 = callPackage ( + { + mkDerivation, + base, + brick, + containers, + directory, + free, + hledger-lib, + hspec, + hspec-discover, + megaparsec, + microlens, + microlens-mtl, + microlens-th, + optparse-applicative, + QuickCheck, + quickcheck-instances, + text, + text-zipper, + time, + transformers, + unordered-containers, + vector, + vty, + xdg-basedir, + }: + mkDerivation { + pname = "hledger-iadd"; + version = "1.3.22"; + sha256 = "077v7jgqhmpkg8m68bg4qi0jxl4zkg17aqk5n58ni3s2h71lkwlv"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base + brick + containers + directory + free + hledger-lib + megaparsec + microlens + microlens-mtl + microlens-th + optparse-applicative + text + text-zipper + time + transformers + unordered-containers + vector + vty + xdg-basedir + ]; + executableHaskellDepends = [ + base + brick + directory + free + hledger-lib + megaparsec + microlens + microlens-mtl + microlens-th + optparse-applicative + text + text-zipper + time + transformers + unordered-containers + vector + vty + xdg-basedir + ]; + testHaskellDepends = [ + base + free + hledger-lib + hspec + megaparsec + QuickCheck + quickcheck-instances + text + text-zipper + time + transformers + vector + ]; + testToolDepends = [ hspec-discover ]; + description = "A terminal UI as drop-in replacement for hledger add"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + mainProgram = "hledger-iadd"; + } + ) { }; + hledger-interest = callPackage ( { mkDerivation, @@ -330721,7 +331162,7 @@ self: { } ) { }; - hledger-lib_1_50 = callPackage ( + hledger-lib_1_50_1 = callPackage ( { mkDerivation, aeson, @@ -330776,8 +331217,8 @@ self: { }: mkDerivation { pname = "hledger-lib"; - version = "1.50"; - sha256 = "1fk579j56wbxxk3bz4m9hwfkdb02mz374y72bplbrf3y40cd2a48"; + version = "1.50.1"; + sha256 = "0fqx9bb5mvx0c7b577jl3ypl63rwizsjs7g24x5vv0f99slwrqs2"; libraryHaskellDepends = [ aeson aeson-pretty @@ -331087,7 +331528,7 @@ self: { } ) { }; - hledger-ui_1_50 = callPackage ( + hledger-ui_1_50_1 = callPackage ( { mkDerivation, ansi-terminal, @@ -331112,6 +331553,7 @@ self: { process, safe, split, + stm, text, text-zipper, time, @@ -331123,8 +331565,8 @@ self: { }: mkDerivation { pname = "hledger-ui"; - version = "1.50"; - sha256 = "15kn2yy44jpn0ag6248z0cmp3rkbdcxbbr02am41jlg6igv9kqkq"; + version = "1.50.1"; + sha256 = "016az8nimfvdwfxk27r6kw2px601axir9ixza4rv12pf05gaidxh"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -331150,6 +331592,7 @@ self: { process safe split + stm text text-zipper time @@ -331323,7 +331766,7 @@ self: { } ) { }; - hledger-web_1_50 = callPackage ( + hledger-web_1_50_1 = callPackage ( { mkDerivation, aeson, @@ -331378,8 +331821,8 @@ self: { }: mkDerivation { pname = "hledger-web"; - version = "1.50"; - sha256 = "04zmvlyij95v31v6p9124jicpgv7mbz2141j60ci18ci17r48fd8"; + version = "1.50.1"; + sha256 = "1rfj8mkrf56hx26n9j1l6na684a9x2rlqafxjfaknkyfb6hdldyj"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -334956,8 +335399,8 @@ self: { }: mkDerivation { pname = "hmp3-ng"; - version = "2.16.2"; - sha256 = "0n46rjl52vcwmliqaisi6jw9b4phwdcy5b60sq71k76zfhhffybn"; + version = "2.17.0"; + sha256 = "131mwn1vcyd2q73cj00vx8silhnacb9nbiba20c6i95kgsblnm0s"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -335663,8 +336106,8 @@ self: { }: mkDerivation { pname = "hnix-store-db"; - version = "0.1.0.0"; - sha256 = "1g3wpmjnbzhllw5q85zp1ckkqhlhhmpbm9lq1bd8ax8vq8kzx97v"; + version = "0.1.0.1"; + sha256 = "1m6b601cs47rr0v2vbgskhb27i03fp90i914q1wiicf2jlwlk88j"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -335688,8 +336131,6 @@ self: { testHaskellDepends = [ base ]; description = "Nix store database support"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { }; @@ -344066,8 +344507,8 @@ self: { }: mkDerivation { pname = "hs-asapo"; - version = "0.9.1"; - sha256 = "0rmmmxfpx2s69jca5rd7jnxb075qjx6b6s97vnsd1gvgcjwal2li"; + version = "0.9.2"; + sha256 = "1adggnrf6i0vm7gq343ja6cvcll1mz4cq0ljlhda1y1c9iqpwhc9"; setupHaskellDepends = [ base cabal-doctest @@ -351110,7 +351551,7 @@ self: { } ) { }; - hsinstall_2_9 = callPackage ( + hsinstall_2_10 = callPackage ( { mkDerivation, base, @@ -351120,16 +351561,16 @@ self: { filepath, formatting, heredoc, - optparse-applicative, - prettyprinter, + optparse-applicative-dex, process, safe-exceptions, + text, transformers, }: mkDerivation { pname = "hsinstall"; - version = "2.9"; - sha256 = "0lnby8681spli3qr43mybhcj6l2klfphfzja2gnapqwcm7d894r1"; + version = "2.10"; + sha256 = "088xdvjkbdazsfm3gvlpalyxqgy8kwa5rfz3m0f9m394c8kf2yvi"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -351145,10 +351586,10 @@ self: { filepath formatting heredoc - optparse-applicative - prettyprinter + optparse-applicative-dex process safe-exceptions + text transformers ]; description = "Install Haskell software"; @@ -353235,8 +353676,8 @@ self: { }: mkDerivation { pname = "hspec"; - version = "2.11.12"; - sha256 = "1zdgkn0gkcphcsfqcqwcfqiqvkz12ljks46v3czpaysndz8icfip"; + version = "2.11.13"; + sha256 = "10f4gbr74zwnnw6vfc2wynsmf1ag7kgncvkby6zir8ydzl96407i"; libraryHaskellDepends = [ base hspec-core @@ -353287,8 +353728,8 @@ self: { }: mkDerivation { pname = "hspec-api"; - version = "2.11.12"; - sha256 = "1xn2b2hafyq6qm3zaia9nw27ir4cg8v2qn499bz2zwnp2vkjra07"; + version = "2.11.13"; + sha256 = "1dsq2f2lrx74n3algmwnmrqf9mz52w4h5zj7lp9ssrsdca2g1f8g"; libraryHaskellDepends = [ base hspec-core @@ -353449,10 +353890,8 @@ self: { }: mkDerivation { pname = "hspec-core"; - version = "2.11.12"; - sha256 = "030400w95775jrivbi7n1nnx6j5z717rqd3986ggklb8h9hjalfc"; - revision = "1"; - editedCabalFile = "0yq9nnawcgbgxiz4ymfa8k66jrvgrhmv8j7g880x8k6q8q4ncqlq"; + version = "2.11.13"; + sha256 = "098bcwld4qh2gzsdk992brkxc8bjsm9wsrz13jm0amiwj1i6qay8"; libraryHaskellDepends = [ ansi-terminal array @@ -353562,8 +354001,8 @@ self: { }: mkDerivation { pname = "hspec-discover"; - version = "2.11.12"; - sha256 = "044vgsy45ff00h9z2k3jgn2m37npcjiacc4cifahrjlmwa7a7ylp"; + version = "2.11.13"; + sha256 = "0vqji1g6g9714s73acx20v5m58rgw5xpmivav7x1k2ljmj9aryfh"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -353893,6 +354332,8 @@ self: { pname = "hspec-golden"; version = "0.2.2.0"; sha256 = "1wpn9ll8x3gr0y86f5s9266x94jlc6hh778vc0npdynabipirwbs"; + revision = "1"; + editedCabalFile = "07n1fyqq1caaky2bn5d410srg6bfcmyxlcxr5vpsjhxcmbic1dca"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -354272,10 +354713,8 @@ self: { }: mkDerivation { pname = "hspec-meta"; - version = "2.11.12"; - sha256 = "1612pg5gihqjxrzqqvbbgckaqiwq3rmz3rg07lrjhzklg975nj69"; - revision = "2"; - editedCabalFile = "1jrk14s51psb0zjici56220iyb98i3q06sd3rsyx594s3cddgn5d"; + version = "2.11.13"; + sha256 = "02bhmhgrnzmwx1yd897yprwal590sim2kkaxdgbhijmpkzn6y2ds"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -355119,8 +355558,8 @@ self: { }: mkDerivation { pname = "hspec-yesod"; - version = "0.1.0"; - sha256 = "1ixra4fdfrihlnigqs63xwyrl7ab4kwl7klmhv6xfvprs798g4mb"; + version = "0.2.0"; + sha256 = "0gzs0019ny47jd7nmlv90d17myhnzdzl4bkspmwwailrmwc0ldxj"; libraryHaskellDepends = [ aeson attoparsec @@ -355654,8 +356093,8 @@ self: { }: mkDerivation { pname = "hsqml"; - version = "0.3.6.1"; - sha256 = "0wvnxc3kad9ja4s16n9nj6nqknckal93ifbprq6nwd0x5i6zvknm"; + version = "0.3.7.0"; + sha256 = "1r4mf15gnfghmjdpkxn33ibc1diyfpzdfj54i4h10sjfnx6xg895"; setupHaskellDepends = [ base Cabal @@ -355666,9 +356105,7 @@ self: { base bytestring containers - directory filepath - QuickCheck tagged text transformers @@ -358849,6 +359286,45 @@ self: { } ) { }; + http-api-data-qq_0_1_0_1 = callPackage ( + { + mkDerivation, + base, + bytestring, + http-api-data, + http-client, + tasty, + tasty-hunit, + tasty-quickcheck, + template-haskell, + text, + }: + mkDerivation { + pname = "http-api-data-qq"; + version = "0.1.0.1"; + sha256 = "1dah5sgmqls4x17drs3x2sz7gxx8jlh86yjdsahkq5kjv2jshy1n"; + libraryHaskellDepends = [ + base + http-api-data + template-haskell + text + ]; + testHaskellDepends = [ + base + bytestring + http-api-data + http-client + tasty + tasty-hunit + tasty-quickcheck + text + ]; + description = "Quasiquoter for building URLs with ToHttpApiData types"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + } + ) { }; + http-attoparsec = callPackage ( { mkDerivation, @@ -370664,6 +371140,8 @@ self: { ]; description = "Lattice iCE40 Primitive IP"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -373085,8 +373563,8 @@ self: { }: mkDerivation { pname = "ihp"; - version = "1.4.0"; - sha256 = "0k962vpcarq07a0wb5rlpah15q629xi39h2x8x0vb5i8nv7xg0c3"; + version = "1.4.1"; + sha256 = "0d5hj8c8qvjqmdjy7dxibhq41qzbfqmrcgmfw84s6gfss9jbanlq"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson @@ -373178,6 +373656,7 @@ self: { ]; description = "Haskell Web Framework"; license = lib.licenses.mit; + maintainers = [ lib.maintainers.mpscholten ]; } ) { }; @@ -373421,6 +373900,7 @@ self: { ]; description = "Dev tools for IHP"; license = lib.licenses.mit; + maintainers = [ lib.maintainers.mpscholten ]; } ) { }; @@ -373443,6 +373923,7 @@ self: { description = "Provides the IHP migrate binary"; license = lib.licenses.mit; mainProgram = "migrate"; + maintainers = [ lib.maintainers.mpscholten ]; } ) { }; @@ -373450,6 +373931,7 @@ self: { { mkDerivation, aeson, + attoparsec-aeson, base, bytestring, HsOpenSSL, @@ -373457,23 +373939,26 @@ self: { http-streams, io-streams, neat-interpolation, + network-uri, retry, + safe-exceptions, text, }: mkDerivation { pname = "ihp-openai"; - version = "1.3.0"; - sha256 = "1736f8w1696d5db9shdhqxq1gdng1gh1mijn2rnynrh8lsnndwa4"; - revision = "1"; - editedCabalFile = "03g2mz1vfxcfv02675nh33643k4baw2chx1vc9ij6p76868l1nk7"; + version = "1.4.0"; + sha256 = "0npcnqdfmqv979gfn7iyl5p76hkggblc9n82z056wppj0i9q0i86"; libraryHaskellDepends = [ aeson + attoparsec-aeson base bytestring HsOpenSSL http-streams io-streams + network-uri retry + safe-exceptions text ]; testHaskellDepends = [ @@ -373485,8 +373970,7 @@ self: { ]; description = "Call GPT4 from your Haskell apps"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; - broken = true; + maintainers = [ lib.maintainers.mpscholten ]; } ) { }; @@ -373539,6 +374023,7 @@ self: { testToolDepends = [ hspec-discover ]; description = "Extra data types for postgresql-simple"; license = lib.licenses.mit; + maintainers = [ lib.maintainers.mpscholten ]; } ) { }; @@ -390349,7 +390834,7 @@ self: { ]; description = "JSaddle Hello World, an example package"; license = lib.licenses.mit; - maintainers = [ lib.maintainers.alexfmpe ]; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -391835,6 +392320,8 @@ self: { ]; description = "Fully-featured JSON-RPC 2.0 library"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -394243,8 +394730,8 @@ self: { }: mkDerivation { pname = "jukebox"; - version = "0.5.8"; - sha256 = "1pb7z95cmqaxbmba2grrbf8dm56821y40v12l4402milnahzl3k9"; + version = "0.5.9"; + sha256 = "0nnlqivvsp158wdmbz1xazl1bjyd2g3w41q43plmn8igsifnv6xa"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -397543,6 +398030,7 @@ self: { ]; description = "Rapid Gtk Application Development - I18N"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -405457,6 +405945,8 @@ self: { ]; description = "Haskell implementation of Langchain"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -406390,6 +406880,64 @@ self: { } ) { }; + language-docker_15_0_0 = callPackage ( + { + mkDerivation, + base, + bytestring, + containers, + data-default, + data-default-class, + hspec, + hspec-discover, + hspec-megaparsec, + HUnit, + megaparsec, + prettyprinter, + QuickCheck, + split, + text, + time, + }: + mkDerivation { + pname = "language-docker"; + version = "15.0.0"; + sha256 = "1l4pbadd65l4pk30p1xjgs9jmkslldcm8fbw8ck35mwql252kid2"; + libraryHaskellDepends = [ + base + bytestring + containers + data-default + data-default-class + megaparsec + prettyprinter + split + text + time + ]; + testHaskellDepends = [ + base + bytestring + containers + data-default + data-default-class + hspec + hspec-megaparsec + HUnit + megaparsec + prettyprinter + QuickCheck + split + text + time + ]; + testToolDepends = [ hspec-discover ]; + description = "Dockerfile parser, pretty-printer and embedded DSL"; + license = lib.licenses.gpl3Plus; + hydraPlatforms = lib.platforms.none; + } + ) { }; + language-dockerfile = callPackage ( { mkDerivation, @@ -409196,12 +409744,13 @@ self: { containers, generic-deriving, ghc, - ghc-prim, + ghc-internal, large-generics, mtl, newtype, + optics-core, + optics-th, primitive, - record-dot-preprocessor, record-hasfield, syb, tasty, @@ -409211,16 +409760,16 @@ self: { }: mkDerivation { pname = "large-records"; - version = "0.4.3"; - sha256 = "0byhs4dr86l0shqhhj3nnwcfqb8a08363w212gjqnm3kbvh18nsy"; + version = "0.4.4"; + sha256 = "15mk1n86y6lx7ycjraz4lzwqn7rb52qikmgwqd68sq9znfq802rj"; libraryHaskellDepends = [ base containers ghc large-generics mtl + optics-core primitive - record-dot-preprocessor record-hasfield syb template-haskell @@ -409229,11 +409778,12 @@ self: { testHaskellDepends = [ base generic-deriving - ghc-prim + ghc-internal large-generics mtl newtype - record-dot-preprocessor + optics-core + optics-th record-hasfield tasty tasty-hunit @@ -409242,9 +409792,7 @@ self: { ]; description = "Efficient compilation for large records, linear in the size of the record"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; maintainers = [ lib.maintainers.alexfmpe ]; - broken = true; } ) { }; @@ -418327,6 +418875,7 @@ self: { ]; description = "STM operations lifted through monad transformer stacks"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -421377,6 +421926,7 @@ self: { ]; description = "RISC-V Core"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -422557,8 +423107,8 @@ self: { pname = "list-shuffle"; version = "1.0.0.1"; sha256 = "1qcgkkhwnbrl729va8zgv5k6b4lpfy15bbkqnnx0nqz0d91xiqcr"; - revision = "3"; - editedCabalFile = "0hk8js5b59xr23fq58f9zp179cjcysnwaadsagz05jk3877vqzsw"; + revision = "4"; + editedCabalFile = "14r8qf3nm81qm4ycfpxrh513j9i1x8q78brrclxfpixh3prb5bm2"; libraryHaskellDepends = [ base primitive @@ -423343,8 +423893,8 @@ self: { { mkDerivation, base }: mkDerivation { pname = "literally"; - version = "0.2025.9.10"; - sha256 = "14g4m2qkaq6aanan8wrxawd44c8b6br0kcmhwrwk6k531564bjng"; + version = "1.0.0.0"; + sha256 = "0ckprvl1f1iy3960d8wgal3pl54i5b47qlsimgr6i2r6vlqciv0y"; libraryHaskellDepends = [ base ]; description = "Type-safe conversion of type literals into runtime values"; license = lib.licenses.bsd0; @@ -425909,6 +426459,8 @@ self: { ]; description = "Human exchangable identifiers and locators"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -430318,7 +430870,9 @@ self: { ]; description = "Parameterized file evaluator"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; mainProgram = "ltext"; + broken = true; } ) { }; @@ -438974,6 +439528,8 @@ self: { pname = "matrix-client"; version = "0.1.6.1"; sha256 = "0nr1nk6mxvrs0dspy315pviid7db7ry889y9gsg1i3a0pn3dna08"; + revision = "1"; + editedCabalFile = "1n6zv3chb8x5aya14qpcbyssr16labwypbbxfh0zp7kcfmy9acf8"; libraryHaskellDepends = [ aeson aeson-casing @@ -445402,6 +445958,19 @@ self: { } ) { }; + microlens_0_5_0_0 = callPackage ( + { mkDerivation, base }: + mkDerivation { + pname = "microlens"; + version = "0.5.0.0"; + sha256 = "0rdz2jwbv82gj7gn8rq1x6z5iyjyvmg2wq4b47mr9bqj264qwq04"; + libraryHaskellDepends = [ base ]; + description = "A tiny lens library with no dependencies"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + } + ) { }; + microlens-aeson = callPackage ( { mkDerivation, @@ -445469,6 +446038,26 @@ self: { } ) { }; + microlens-contra_0_1_0_4 = callPackage ( + { + mkDerivation, + base, + microlens, + }: + mkDerivation { + pname = "microlens-contra"; + version = "0.1.0.4"; + sha256 = "15rr6f9n91pnczx8pihlx6dcwfy8f0snkfxfb45b96fp633k95dj"; + libraryHaskellDepends = [ + base + microlens + ]; + description = "True folds and getters for microlens"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + } + ) { }; + microlens-each = callPackage ( { mkDerivation, @@ -445517,6 +446106,34 @@ self: { } ) { }; + microlens-ghc_0_4_15_2 = callPackage ( + { + mkDerivation, + array, + base, + bytestring, + containers, + microlens, + transformers, + }: + mkDerivation { + pname = "microlens-ghc"; + version = "0.4.15.2"; + sha256 = "1c1ndgzh532lsnwjag9w566fbcnjkw2lbd6fnnfriccyfxhdx93b"; + libraryHaskellDepends = [ + array + base + bytestring + containers + microlens + transformers + ]; + description = "microlens + array, bytestring, containers, transformers"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + } + ) { }; + microlens-mtl = callPackage ( { mkDerivation, @@ -445542,6 +446159,32 @@ self: { } ) { }; + microlens-mtl_0_2_1_1 = callPackage ( + { + mkDerivation, + base, + microlens, + mtl, + transformers, + transformers-compat, + }: + mkDerivation { + pname = "microlens-mtl"; + version = "0.2.1.1"; + sha256 = "1r9jvn4ka3lakqnwxfh72zy9yc145ll15l7cw7sqn062z74dxk0w"; + libraryHaskellDepends = [ + base + microlens + mtl + transformers + transformers-compat + ]; + description = "microlens support for Reader/Writer/State from mtl"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + } + ) { }; + microlens-platform = callPackage ( { mkDerivation, @@ -445575,6 +446218,40 @@ self: { } ) { }; + microlens-platform_0_4_4_2 = callPackage ( + { + mkDerivation, + base, + hashable, + microlens, + microlens-ghc, + microlens-mtl, + microlens-th, + text, + unordered-containers, + vector, + }: + mkDerivation { + pname = "microlens-platform"; + version = "0.4.4.2"; + sha256 = "08y0mlmlx9hm23bp95m5nzq3zj0bz9q9in237vh0hgris8aaiwv0"; + libraryHaskellDepends = [ + base + hashable + microlens + microlens-ghc + microlens-mtl + microlens-th + text + unordered-containers + vector + ]; + description = "microlens + all batteries included (best for apps)"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + } + ) { }; + microlens-pro = callPackage ( { mkDerivation, @@ -445595,8 +446272,8 @@ self: { }: mkDerivation { pname = "microlens-pro"; - version = "0.2.0.4"; - sha256 = "099ynp1winji1jn08dqayywliwk9midccfsv13cakhrdnbps8zj3"; + version = "0.2.0.3"; + sha256 = "1mmj8y7rvfasas1kqpns8aj9mr52rgb8mm8fy5qwmv0ll8r3siik"; libraryHaskellDepends = [ base containers @@ -445618,6 +446295,50 @@ self: { } ) { }; + microlens-pro_0_2_0_5 = callPackage ( + { + mkDerivation, + base, + containers, + microlens, + microlens-contra, + microlens-platform, + microlens-th, + mtl, + profunctors, + tagged, + template-haskell, + text, + th-abstraction, + unordered-containers, + vector, + }: + mkDerivation { + pname = "microlens-pro"; + version = "0.2.0.5"; + sha256 = "06fhqzw1g5253680i6q8kjy1h1b278bnrq9cdcqmab3zblzxh95g"; + libraryHaskellDepends = [ + base + containers + microlens + microlens-contra + microlens-platform + microlens-th + mtl + profunctors + tagged + template-haskell + text + th-abstraction + unordered-containers + vector + ]; + description = "Prisms and isomorphisms for microlens"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + } + ) { }; + microlens-process = callPackage ( { mkDerivation, @@ -445692,6 +446413,40 @@ self: { } ) { }; + microlens-th_0_4_3_18 = callPackage ( + { + mkDerivation, + base, + containers, + microlens, + tagged, + template-haskell, + th-abstraction, + transformers, + }: + mkDerivation { + pname = "microlens-th"; + version = "0.4.3.18"; + sha256 = "12zdn20v1jl3q2cr96bf9rcj8qmrfr1kd3q0pdkjmayf108g8zj1"; + libraryHaskellDepends = [ + base + containers + microlens + template-haskell + th-abstraction + transformers + ]; + testHaskellDepends = [ + base + microlens + tagged + ]; + description = "Automatic generation of record lenses for microlens"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + } + ) { }; + micrologger = callPackage ( { mkDerivation, @@ -450051,8 +450806,8 @@ self: { pname = "mmark"; version = "0.0.8.0"; sha256 = "05wzjyqh4605g2y3lhcqrjh4qzj4fv8xg5baf3xi0x6ararrwjgr"; - revision = "1"; - editedCabalFile = "13d46lpf5b1kj6b1g89gb1s91h87njz3k69mp39nsfhwq19ygibf"; + revision = "2"; + editedCabalFile = "0gy66sawj11za86rwkvmr791acd84f895ym568w7wnbks9p6gmmr"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson @@ -450164,8 +450919,8 @@ self: { pname = "mmark-ext"; version = "0.2.1.5"; sha256 = "1dy3xnzpbbnp03k3r04q8y10pcj2r708dk8bff0pxzkvypm75g88"; - revision = "4"; - editedCabalFile = "0girl659kn2nxzcayjzx8pflws43vp3mfw03g3ril8i49r1wkxkn"; + revision = "5"; + editedCabalFile = "1zhkihv0m7as1jxq14if7ksr8lwvbwpa4q7q87xs43n52fassdw9"; enableSeparateDataOutput = true; libraryHaskellDepends = [ base @@ -452504,6 +453259,8 @@ self: { ]; description = "A better error monad transformer"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -453146,6 +453903,80 @@ self: { } ) { }; + monad-effect = callPackage ( + { + mkDerivation, + async, + base, + containers, + criterion, + data-default, + data-effects, + deepseq, + effectful, + exceptions, + fused-effects, + haskell-src-meta, + heftia-effects, + logict, + monad-control, + mtl, + parsec, + polysemy, + resourcet, + stm, + tasty-bench, + template-haskell, + text, + transformers-base, + unix, + }: + mkDerivation { + pname = "monad-effect"; + version = "0.1.0.0"; + sha256 = "0iv13hf3017h1acldls05z8cnknsm6wpazd2ppqi67hdggvr1v3i"; + libraryHaskellDepends = [ + async + base + data-default + deepseq + exceptions + haskell-src-meta + monad-control + mtl + parsec + resourcet + stm + template-haskell + text + transformers-base + ]; + testHaskellDepends = [ + base + containers + criterion + mtl + parsec + text + ]; + benchmarkHaskellDepends = [ + base + data-effects + effectful + fused-effects + heftia-effects + logict + mtl + polysemy + tasty-bench + text + unix + ]; + description = "A fast and lightweight effect system"; + license = lib.licenses.bsd3; + } + ) { }; + monad-exception = callPackage ( { mkDerivation, @@ -453225,6 +454056,7 @@ self: { ]; description = "Guard monadic computations with cleanup actions"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -465057,6 +465889,8 @@ self: { ]; description = "MUtually Recursive Definitions Explicitly Represented"; license = "LGPL"; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -466034,6 +466868,64 @@ self: { } ) { }; + musig2 = callPackage ( + { + mkDerivation, + base, + base16-bytestring, + binary, + bytestring, + containers, + criterion, + deepseq, + entropy, + ppad-secp256k1, + ppad-sha256, + tasty, + tasty-hunit, + tasty-quickcheck, + }: + mkDerivation { + pname = "musig2"; + version = "0.1.0"; + sha256 = "02398ib1jxb41ksxf1mxzqfbj53dz1gfz87a05fym3jywf2yf2ml"; + libraryHaskellDepends = [ + base + base16-bytestring + binary + bytestring + containers + entropy + ppad-secp256k1 + ppad-sha256 + ]; + testHaskellDepends = [ + base + base16-bytestring + binary + bytestring + containers + entropy + ppad-secp256k1 + ppad-sha256 + tasty + tasty-hunit + tasty-quickcheck + ]; + benchmarkHaskellDepends = [ + base + base16-bytestring + bytestring + criterion + deepseq + ppad-secp256k1 + ]; + description = "MuSig2 library"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + } + ) { }; + mustache = callPackage ( { mkDerivation, @@ -470288,6 +471180,104 @@ self: { } ) { }; + nbparts = callPackage ( + { + mkDerivation, + aeson, + aeson-pretty, + base, + base64-bytestring, + bytestring, + commonmark, + containers, + crypton, + directory, + filepath, + hedgehog, + hspec, + hspec-discover, + hspec-hedgehog, + ipynb, + libyaml, + megaparsec, + memory, + mime-types, + mtl, + optparse-applicative, + parsec, + req, + scientific, + temporary, + text, + transformers, + vector, + yaml, + }: + mkDerivation { + pname = "nbparts"; + version = "0.1.1.0"; + sha256 = "18nmi2z41d1smxia0fyyii855phwmc3ac3bpd3hlixp8fnpr66g1"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson + aeson-pretty + base + base64-bytestring + bytestring + commonmark + containers + crypton + directory + filepath + ipynb + libyaml + megaparsec + memory + mime-types + mtl + parsec + text + transformers + yaml + ]; + executableHaskellDepends = [ + base + mtl + optparse-applicative + text + ]; + testHaskellDepends = [ + aeson + base + bytestring + commonmark + containers + directory + filepath + hedgehog + hspec + hspec-hedgehog + ipynb + mime-types + mtl + parsec + req + scientific + temporary + text + vector + yaml + ]; + testToolDepends = [ hspec-discover ]; + description = "Unpack a Jupyter notebook into its sources, metadata and outputs"; + license = lib.licenses.asl20; + hydraPlatforms = lib.platforms.none; + mainProgram = "nbparts"; + broken = true; + } + ) { }; + nbt = callPackage ( { mkDerivation, @@ -483666,6 +484656,8 @@ self: { pname = "nvfetcher"; version = "0.7.0.0"; sha256 = "0idcca3g1rfm8rc7zy68pdbhv4s0npdzdb47ixj0hk2pr8rg51ak"; + revision = "1"; + editedCabalFile = "0pkcsb97x64fnrrs93l73k1yydrnswh8drwdab90c4ac9wjjxvk8"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -484920,6 +485912,7 @@ self: { doHaddock = false; description = "Oberon0 Compiler"; license = "LGPL"; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -486074,7 +487067,7 @@ self: { } ) { }; - ogma-cli_1_9_0 = callPackage ( + ogma-cli_1_10_0 = callPackage ( { mkDerivation, aeson, @@ -486091,8 +487084,8 @@ self: { }: mkDerivation { pname = "ogma-cli"; - version = "1.9.0"; - sha256 = "0br6rv5bli12xhbr8igxgwrp3j4cbm8mxqhva6mxykg6s2s19wab"; + version = "1.10.0"; + sha256 = "1fli4xhdrzbzkwjidz5piif4hs0zscw4rs6z30d9gb2zf4kl5h4z"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -486112,7 +487105,7 @@ self: { unix ]; description = "Ogma: Helper tool to interoperate between Copilot and other languages"; - license = "unknown"; + license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; mainProgram = "ogma"; } @@ -486190,7 +487183,7 @@ self: { } ) { }; - ogma-core_1_9_0 = callPackage ( + ogma-core_1_10_0 = callPackage ( { mkDerivation, aeson, @@ -486222,8 +487215,8 @@ self: { }: mkDerivation { pname = "ogma-core"; - version = "1.9.0"; - sha256 = "1nh0qnb84sy0qwks1fpyvz7i7sini5sqk1a7na82axw5jkhjdhrg"; + version = "1.10.0"; + sha256 = "010bdip18i0vkhkg2yp1yb4691przni612nwfjz8wrcdxgxvnpz0"; enableSeparateDataOutput = true; libraryHaskellDepends = [ aeson @@ -486258,7 +487251,7 @@ self: { test-framework-quickcheck2 ]; description = "Ogma: Helper tool to interoperate between Copilot and other languages"; - license = "unknown"; + license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; } ) { }; @@ -486303,7 +487296,7 @@ self: { } ) { }; - ogma-extra_1_9_0 = callPackage ( + ogma-extra_1_10_0 = callPackage ( { mkDerivation, aeson, @@ -486320,8 +487313,8 @@ self: { }: mkDerivation { pname = "ogma-extra"; - version = "1.9.0"; - sha256 = "0cl4gfkkms75p1yl137dlpfivqqgc491dmh55iwagqszkgaix0lg"; + version = "1.10.0"; + sha256 = "0y2jmqnw1nfai225nl9x37klwynrwl2yz1352zix709cc0spma8i"; libraryHaskellDepends = [ aeson base @@ -486339,7 +487332,7 @@ self: { test-framework-quickcheck2 ]; description = "Ogma: Helper tool to interoperate between Copilot and other languages"; - license = "unknown"; + license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; } ) { }; @@ -486387,7 +487380,7 @@ self: { } ) { }; - ogma-language-c_1_9_0 = callPackage ( + ogma-language-c_1_10_0 = callPackage ( { mkDerivation, alex, @@ -486403,8 +487396,8 @@ self: { }: mkDerivation { pname = "ogma-language-c"; - version = "1.9.0"; - sha256 = "1s6acmdbvqzhdjd67vlsc0y5ld4s7z0w5g35ka3d6sqk4sj0j795"; + version = "1.10.0"; + sha256 = "0gamqxl9ajw1fnywx9wkip86xh6b9pgc6l5f80lvkw486g1qp5qf"; setupHaskellDepends = [ base Cabal @@ -486426,7 +487419,7 @@ self: { test-framework-quickcheck2 ]; description = "Ogma: Runtime Monitor translator: C Language Frontend"; - license = "unknown"; + license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; } ) { }; @@ -486482,15 +487475,15 @@ self: { } ) { }; - ogma-language-copilot_1_9_0 = callPackage ( + ogma-language-copilot_1_10_0 = callPackage ( { mkDerivation, base }: mkDerivation { pname = "ogma-language-copilot"; - version = "1.9.0"; - sha256 = "0sl2n2m1nkllmzrb2av6s1q1iq7jz9zrjh5mxczriwk3c1jv7x2c"; + version = "1.10.0"; + sha256 = "14zx4n9xqd36rn8s6akv5f2rlpvamlg4704n0c0yg2zs6n95zxlw"; libraryHaskellDepends = [ base ]; description = "Ogma: Runtime Monitor translator: Copilot Language Endpoints"; - license = "unknown"; + license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; } ) { }; @@ -486524,7 +487517,7 @@ self: { } ) { }; - ogma-language-csv_1_9_0 = callPackage ( + ogma-language-csv_1_10_0 = callPackage ( { mkDerivation, base, @@ -486537,8 +487530,8 @@ self: { }: mkDerivation { pname = "ogma-language-csv"; - version = "1.9.0"; - sha256 = "0mkkbgia5dvnpqy11pqxvikjvgck0zq7cx1alnsh6hi9j1qj75ad"; + version = "1.10.0"; + sha256 = "0j8w9r1618lqv922mdadvhgfyqjhmbh84giz8jwlx7dmqzk28a88"; libraryHaskellDepends = [ base bytestring @@ -486549,7 +487542,7 @@ self: { vector ]; description = "Ogma: Runtime Monitor translator: CSV Frontend"; - license = "unknown"; + license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; } ) { }; @@ -486659,7 +487652,7 @@ self: { } ) { }; - ogma-language-jsonspec_1_9_0 = callPackage ( + ogma-language-jsonspec_1_10_0 = callPackage ( { mkDerivation, aeson, @@ -486673,8 +487666,8 @@ self: { }: mkDerivation { pname = "ogma-language-jsonspec"; - version = "1.9.0"; - sha256 = "0wlkl13gg0jbi8fvszk4z1l0c4l7b0n68gnhnmn93srcn14iinkn"; + version = "1.10.0"; + sha256 = "1f9ha1jbg3pgyjhjwdf6xyiwsmca29pgpg0zk2gljmw9q7ry4b9i"; libraryHaskellDepends = [ aeson base @@ -486686,7 +487679,7 @@ self: { text ]; description = "Ogma: Runtime Monitor translator: JSON Frontend"; - license = "unknown"; + license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; } ) { }; @@ -486734,7 +487727,7 @@ self: { } ) { }; - ogma-language-lustre_1_9_0 = callPackage ( + ogma-language-lustre_1_10_0 = callPackage ( { mkDerivation, alex, @@ -486750,8 +487743,8 @@ self: { }: mkDerivation { pname = "ogma-language-lustre"; - version = "1.9.0"; - sha256 = "0rb22md683flgxkg08jzga4q7fynykzh25k1gcr6rsj0kaaxi4fj"; + version = "1.10.0"; + sha256 = "12s58r5g9q9c4jmwck97w8ff6567ncyh1kclvw0mcqpgk09cpvk2"; setupHaskellDepends = [ base Cabal @@ -486773,7 +487766,7 @@ self: { test-framework-quickcheck2 ]; description = "Ogma: Runtime Monitor translator: Lustre Language Frontend"; - license = "unknown"; + license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; } ) { }; @@ -486821,7 +487814,7 @@ self: { } ) { }; - ogma-language-smv_1_9_0 = callPackage ( + ogma-language-smv_1_10_0 = callPackage ( { mkDerivation, alex, @@ -486837,8 +487830,8 @@ self: { }: mkDerivation { pname = "ogma-language-smv"; - version = "1.9.0"; - sha256 = "15dsh5j6iaapaxi6i05z44shvbxvs5945r93046d6shxvxz5q5gb"; + version = "1.10.0"; + sha256 = "0cq0kdipn79wvhpfx51w52c78djki7dn7c12dl93w585r6f0spzp"; setupHaskellDepends = [ base Cabal @@ -486860,7 +487853,7 @@ self: { test-framework-quickcheck2 ]; description = "Ogma: Runtime Monitor translator: SMV Language Frontend"; - license = "unknown"; + license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; } ) { }; @@ -486890,7 +487883,7 @@ self: { } ) { }; - ogma-language-xlsx_1_9_0 = callPackage ( + ogma-language-xlsx_1_10_0 = callPackage ( { mkDerivation, base, @@ -486901,8 +487894,8 @@ self: { }: mkDerivation { pname = "ogma-language-xlsx"; - version = "1.9.0"; - sha256 = "191s4kc2gicgrdl3jzw9j31l0yncaradii2vz7h3gqg2rz63qfsv"; + version = "1.10.0"; + sha256 = "0n9i60kdm8blazgpq2swsdnpjryig6w7kykb9gws7hhlg5m16vkx"; libraryHaskellDepends = [ base bytestring @@ -486911,7 +487904,7 @@ self: { xlsx ]; description = "Ogma: Runtime Monitor translator: XLSX Frontend"; - license = "unknown"; + license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; } ) { }; @@ -486945,7 +487938,7 @@ self: { } ) { }; - ogma-language-xmlspec_1_9_0 = callPackage ( + ogma-language-xmlspec_1_10_0 = callPackage ( { mkDerivation, base, @@ -486958,8 +487951,8 @@ self: { }: mkDerivation { pname = "ogma-language-xmlspec"; - version = "1.9.0"; - sha256 = "07cp3d543pnbmb7qma8l9v1zfnh3nn41azl1clv8p9bsfgm5a86j"; + version = "1.10.0"; + sha256 = "091b8gp7z0hnmcfzx5id3sybp87598zzhbhjw1nmhkszphyd2y7z"; libraryHaskellDepends = [ base hxt @@ -486970,7 +487963,7 @@ self: { pretty ]; description = "Ogma: Runtime Monitor translator: XML Frontend"; - license = "unknown"; + license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; } ) { }; @@ -486987,15 +487980,15 @@ self: { } ) { }; - ogma-spec_1_9_0 = callPackage ( + ogma-spec_1_10_0 = callPackage ( { mkDerivation, base }: mkDerivation { pname = "ogma-spec"; - version = "1.9.0"; - sha256 = "1vg67wg2px1lp89m29h1dyy4cqgpxq5yfsdq6kg63b0i8dlv71g8"; + version = "1.10.0"; + sha256 = "078npma0dkqlhwiqw75s9q6k3c4h2m6g4v1wpxgj1n9laz4bf1nn"; libraryHaskellDepends = [ base ]; description = "Ogma: Runtime Monitor translator: JSON Frontend"; - license = "unknown"; + license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; } ) { }; @@ -487457,6 +488450,74 @@ self: { } ) { }; + ollama-haskell_0_2_1_0 = callPackage ( + { + mkDerivation, + aeson, + base, + base64-bytestring, + bytestring, + containers, + directory, + filepath, + http-client, + http-client-tls, + http-types, + mtl, + scientific, + silently, + stm, + tasty, + tasty-hunit, + text, + time, + }: + mkDerivation { + pname = "ollama-haskell"; + version = "0.2.1.0"; + sha256 = "0xs28lq5x7bc5qf35n2g2vnchvy0fw88yg0qvv4fl7swf15wdr0i"; + libraryHaskellDepends = [ + aeson + base + base64-bytestring + bytestring + containers + directory + filepath + http-client + http-client-tls + http-types + mtl + stm + text + time + ]; + testHaskellDepends = [ + aeson + base + base64-bytestring + bytestring + containers + directory + filepath + http-client + http-client-tls + http-types + mtl + scientific + silently + stm + tasty + tasty-hunit + text + time + ]; + description = "Haskell client for ollama"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + } + ) { }; + ollama-holes-plugin = callPackage ( { mkDerivation, @@ -487485,6 +488546,8 @@ self: { ]; description = "A typed-hole plugin that uses LLMs to generate valid hole-fits"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -489673,6 +490736,7 @@ self: { http-api-data, http-client, http-client-tls, + http-types, servant, servant-client, servant-multipart-api, @@ -489685,8 +490749,8 @@ self: { }: mkDerivation { pname = "openai"; - version = "1.1.1"; - sha256 = "18ny5r06nfs7px4bgr9k930w1v5ksbzc1vslx75y4bb1lndg3ipd"; + version = "1.2.0"; + sha256 = "1aglz81qz2438gg2rhgi2bbxx9inbljkp795iqimgcg40z48jzy9"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -489698,6 +490762,7 @@ self: { http-api-data http-client http-client-tls + http-types servant servant-client servant-multipart-api @@ -493000,6 +494065,58 @@ self: { } ) { }; + opt-env-conf_0_10_0_0 = callPackage ( + { + mkDerivation, + aeson, + autodocodec, + autodocodec-nix, + autodocodec-schema, + autodocodec-yaml, + base, + containers, + hashable, + mtl, + path, + path-io, + safe-coloured-text, + safe-coloured-text-layout, + safe-coloured-text-terminfo, + selective, + text, + validity, + validity-containers, + }: + mkDerivation { + pname = "opt-env-conf"; + version = "0.10.0.0"; + sha256 = "0vkvl0jpw83ipy2rzia6x3h8ng4s2ixdp1h8jl3syvqjb151s2b7"; + libraryHaskellDepends = [ + aeson + autodocodec + autodocodec-nix + autodocodec-schema + autodocodec-yaml + base + containers + hashable + mtl + path + path-io + safe-coloured-text + safe-coloured-text-layout + safe-coloured-text-terminfo + selective + text + validity + validity-containers + ]; + description = "Settings parsing for Haskell: command-line arguments, environment variables, and configuration values"; + license = lib.licenses.lgpl3Only; + hydraPlatforms = lib.platforms.none; + } + ) { }; + opt-env-conf-test = callPackage ( { mkDerivation, @@ -495569,8 +496686,8 @@ self: { }: mkDerivation { pname = "ormolu"; - version = "0.8.0.1"; - sha256 = "12ix16zvz0i1i8yyhbfbv4r0735r2i2darkbz3jh7lfd1fgh6zs3"; + version = "0.8.0.2"; + sha256 = "1fh2m4sy8vzxvm1qm9413apzblqf4sla3454mx64ngkwx0pgi2ad"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -499534,6 +500651,8 @@ self: { pname = "pandoc-crossref"; version = "0.3.21"; sha256 = "1srfkh987jx3ha8p5yrvy4pxkkypcajb4wvzbnf8sbd4wc2vichh"; + revision = "1"; + editedCabalFile = "195b06n5kjqzjhsh7hxhzxpadf0s52d5daxh0jry3wzf0vgzkw4p"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -501807,7 +502926,7 @@ self: { } ) { }; - pantry_0_11_1 = callPackage ( + pantry_0_11_2 = callPackage ( { mkDerivation, aeson, @@ -501868,8 +502987,8 @@ self: { }: mkDerivation { pname = "pantry"; - version = "0.11.1"; - sha256 = "1qgmxfv74qqyn26x06gnx71ms8k0fiijlpz55k08yn8bcr05phzr"; + version = "0.11.2"; + sha256 = "0zlr88489c3gi00ck7yi3zxq1jp0niamgfk3d5b9qkv3zqdvx83z"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -506217,6 +507336,8 @@ self: { pname = "patat"; version = "0.15.2.0"; sha256 = "0r9bx8f7q1h56mf8bvz6jaqrgl9iczac9qffmaqqsnqlvzn85wfi"; + revision = "1"; + editedCabalFile = "0x0dkxnkpwghzpmw93b72zfy2gyl4vhnxa0h15dycvd80k54n37x"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -522669,6 +523790,8 @@ self: { pname = "plots"; version = "0.1.1.5"; sha256 = "0dgjg1idfhmnzdy7c2my1ri98psbm8jq67ssnb2iss4ay9fs13fw"; + revision = "1"; + editedCabalFile = "0fp1i55arir0p9gvxgadq29v06p4qkqbrf14qd4nnfjry5i8pgqg"; libraryHaskellDepends = [ adjunctions base @@ -523196,8 +524319,8 @@ self: { }: mkDerivation { pname = "pms-domain-model"; - version = "0.1.0.0"; - sha256 = "0y6xi7mqrvl1fp87nxyrx7jfbh8rwmgm5wmcvw9am7mqc7kz2scy"; + version = "0.1.2.0"; + sha256 = "0zhc0bf5gbkqqhp6bvhpf2snaagx4v4qsydvbv18blrpkavvqrbk"; libraryHaskellDepends = [ aeson async @@ -523335,8 +524458,8 @@ self: { }: mkDerivation { pname = "pms-infra-cmdrun"; - version = "0.0.7.0"; - sha256 = "1cmyxcvbx7637p96psklpm0vip1998kcl0v4mxvlbb2yjddrb1q2"; + version = "0.0.8.0"; + sha256 = "0q0780gl1jadq0qjh7dqknvv9i0g0229nsaxahv6f3n9brx9bf30"; libraryHaskellDepends = [ aeson async @@ -525574,29 +526697,6 @@ self: { ) { }; polyparse = callPackage ( - { - mkDerivation, - base, - bytestring, - text, - }: - mkDerivation { - pname = "polyparse"; - version = "1.13"; - sha256 = "0yvhg718dlksiw3v27m2d8m1sn4r4f5s0p56zq3lynhy1sc74k0w"; - revision = "9"; - editedCabalFile = "0abzqic0askffn6nmh1f08d9rd9fykdlcdd9gj1c7p1ykp9zlq29"; - libraryHaskellDepends = [ - base - bytestring - text - ]; - description = "A variety of alternative parser combinator libraries"; - license = "LGPL"; - } - ) { }; - - polyparse_1_13_1 = callPackage ( { mkDerivation, base, @@ -525614,7 +526714,6 @@ self: { ]; description = "A variety of alternative parser combinator libraries"; license = "LGPL"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -527513,6 +528612,31 @@ self: { } ) { }; + polytree = callPackage ( + { + mkDerivation, + base, + bifunctors, + containers, + lens, + semigroupoids, + }: + mkDerivation { + pname = "polytree"; + version = "0.0.3"; + sha256 = "1nlk71dyvjwz0nsav6ahnfvcjpqx0s9nc7d9a113m4pjpjlk0mw3"; + libraryHaskellDepends = [ + base + bifunctors + containers + lens + semigroupoids + ]; + description = "A polymorphic rose-tree"; + license = lib.licenses.bsd3; + } + ) { }; + polytypeable = callPackage ( { mkDerivation, base }: mkDerivation { @@ -531459,13 +532583,14 @@ self: { postgresql-libpq, postgresql-simple, scientific, + template-haskell, text, time, }: mkDerivation { pname = "postgresql-simple-interval"; - version = "1.0.0.0"; - sha256 = "01d550bhmbpy3bsz37m21hpgpg9x2v72qhv6fa2p0m6p61p1hadx"; + version = "1.0.1.0"; + sha256 = "1qwcywyiw9y5bnvzb0ji32q3yh5fs5nxiw17gr4q4yk0wi01rw92"; libraryHaskellDepends = [ attoparsec base @@ -531473,6 +532598,7 @@ self: { persistent postgresql-simple scientific + template-haskell text time ]; @@ -537171,8 +538297,8 @@ self: { }: mkDerivation { pname = "primdata"; - version = "0.1.2.2"; - sha256 = "0cjsjcm6d71d61idkmb9d8ia26hcwzrmx8k5w1afhzpla73zfia9"; + version = "0.1.2.3"; + sha256 = "015k5c0g1l6szvf267f0hdmcw5bms932fqfpqg00r4jjygylli3b"; libraryHaskellDepends = [ base ghc-prim @@ -539363,6 +540489,8 @@ self: { pname = "procex"; version = "0.3.3"; sha256 = "1r5rrdwzjvh2mdsv63hq2rv9qq04qwmvw83niri066ini60ns9ln"; + revision = "1"; + editedCabalFile = "1saj9mgscajshbk6hw975chvh2qlmxa0nlp86hx59iza75xq186r"; libraryHaskellDepends = [ async base @@ -542917,7 +544045,6 @@ self: { ]; description = "A higher-level API to the proto3-wire library"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; maintainers = [ lib.maintainers.alexfmpe ]; } ) { }; @@ -544678,8 +545805,8 @@ self: { }: mkDerivation { pname = "pty-mcp-server"; - version = "0.1.2.0"; - sha256 = "17mczija7br6l2c4x8svjn60si6hxlv6iy5zwf1l42y2sv5y9hh9"; + version = "0.1.4.0"; + sha256 = "0jvchk9g1f0g77filmylqss5h4wx4fn8jssmdzfn358fh36i5710"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -545487,6 +546614,48 @@ self: { } ) { }; + pup = callPackage ( + { + mkDerivation, + base, + comonad, + containers, + hedgehog, + megaparsec, + mtl, + prettyprinter, + stacked, + text, + }: + mkDerivation { + pname = "pup"; + version = "0.1.0"; + sha256 = "15jyl295frn3ylfwm01cx630hjllcsbmkm4pl2n1anayw6j9pm0r"; + libraryHaskellDepends = [ + base + comonad + containers + megaparsec + prettyprinter + stacked + text + ]; + testHaskellDepends = [ + base + comonad + containers + hedgehog + megaparsec + mtl + prettyprinter + stacked + text + ]; + description = "Invertible format descriptors"; + license = lib.licenses.mit; + } + ) { }; + puppetresources = callPackage ( { mkDerivation, @@ -550160,8 +551329,8 @@ self: { pname = "queue-sheet"; version = "0.8.0.1"; sha256 = "1s7j51542j4in10ihb47jflwkf6m4gsi1z1aq9mzs2ksj65n1yc9"; - revision = "1"; - editedCabalFile = "0bq0abf3qzlpcy6kxrhbzm9zg9fa2ps5fj27i9c67nyc5y520ana"; + revision = "2"; + editedCabalFile = "15m5ba4w79vjqj9fd1kw0y004pmrc1a8im0v0i5c90lgpv0fcr74"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -550234,8 +551403,8 @@ self: { pname = "queues"; version = "1.0.0"; sha256 = "0mnn6lgd7101lrmwqy4lf04ncq8ci2kfxydm1rlh879gjvzz3lsr"; - revision = "5"; - editedCabalFile = "00qbr5h2k6hkykfsw6qqqz8krfd06hvridpzijyvdskg97pggjv5"; + revision = "6"; + editedCabalFile = "0hbjkkcg8g4mfngpik5fz720k3nsqk7abykikslniqv3g348wh2q"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base @@ -561522,7 +562691,6 @@ self: { ]; description = "Combine redis caching and haxl"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -564284,6 +565452,8 @@ self: { ]; description = "Add support for using blaze-html with Reform"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -565380,8 +566550,6 @@ self: { testPkgconfigDepends = [ pcre2 ]; description = "PCRE2 Backend for \"Text.Regex\" (regex-base)"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; } ) { inherit (pkgs) pcre2; }; @@ -567758,8 +568926,8 @@ self: { }: mkDerivation { pname = "relocant"; - version = "1.0.0"; - sha256 = "1iazymf953msr6d7dn99slw12wmnivnx5nfzjbq8h4f84ybwmvr6"; + version = "1.1.0"; + sha256 = "0wfifgvaxpjygyc0bcrcasln2mmsc7x0avd0ia6jjwcd9cx9d6mh"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ @@ -567797,9 +568965,7 @@ self: { ]; description = "A PostgreSQL migration CLI tool and library"; license = lib.licenses.bsd2; - hydraPlatforms = lib.platforms.none; mainProgram = "relocant"; - broken = true; } ) { }; @@ -575035,8 +576201,8 @@ self: { }: mkDerivation { pname = "rio"; - version = "0.1.22.0"; - sha256 = "0rpc4f2yvw0y6mqz9ykm3778j6srya7ssww691kpf9nb8vddgjb6"; + version = "0.1.23.0"; + sha256 = "089bj6wqh872iy64ivk2wq9g4zb1748kj1wrgk2aa1j5pfbh1cic"; libraryHaskellDepends = [ base bytestring @@ -576353,6 +577519,78 @@ self: { } ) { }; + robin-hood-profit = callPackage ( + { + mkDerivation, + attoparsec-isotropic, + base, + bytestring, + containers, + Decimal, + directory, + exceptions, + filepath, + generic-lens, + lens, + mtl, + optparse-applicative, + relude, + semigroups, + tasty, + tasty-discover, + tasty-hunit, + tasty-quickcheck, + template-haskell, + text, + time, + trace-embrace, + }: + mkDerivation { + pname = "robin-hood-profit"; + version = "0.0.2"; + sha256 = "164qaimp3q6jbdzm4mfq1ynj5bhh5qpzgd04qqmhn4frd5vndi9x"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + attoparsec-isotropic + base + bytestring + containers + Decimal + directory + exceptions + filepath + generic-lens + lens + mtl + optparse-applicative + relude + semigroups + template-haskell + text + time + trace-embrace + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + attoparsec-isotropic + base + relude + tasty + tasty-discover + tasty-hunit + tasty-quickcheck + text + ]; + testToolDepends = [ tasty-discover ]; + description = "Calculate per instrument profit from Robin-Hood activity report"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + mainProgram = "rhprofit"; + broken = true; + } + ) { }; + roboservant = callPackage ( { mkDerivation, @@ -576388,8 +577626,8 @@ self: { }: mkDerivation { pname = "roboservant"; - version = "0.1.0.3"; - sha256 = "1qcxhmppvpbibzq6mmqzz891pmi9c6cjjvxjyn8vlhvydgklh6x4"; + version = "0.1.0.4"; + sha256 = "06lna80a0y9bzbbqa32jjrjf7nkgwzdg68ilmr9gf9ss7a8yvljl"; libraryHaskellDepends = [ base bytestring @@ -576445,6 +577683,8 @@ self: { testToolDepends = [ markdown-unlit ]; description = "Automatic session-aware servant testing"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -576483,6 +577723,7 @@ self: { directory, heredoc, hspec, + hspec-discover, old-locale, QuickCheck, time, @@ -576490,8 +577731,8 @@ self: { }: mkDerivation { pname = "robots-txt"; - version = "0.4.1.8"; - sha256 = "0f6s07zdzjjhx4vk2khrh6y2mhfgjxlg3y3l07riiy171qzp9gkd"; + version = "0.4.1.9"; + sha256 = "0fv6wfp3p6p31v6v18p75k7n7fsj11p0kir3f55c4zbcw20fmf1w"; libraryHaskellDepends = [ attoparsec base @@ -576509,6 +577750,7 @@ self: { QuickCheck transformers ]; + testToolDepends = [ hspec-discover ]; description = "Parser for robots.txt"; license = lib.licenses.bsd3; hydraPlatforms = lib.platforms.none; @@ -583991,8 +585233,8 @@ self: { }: mkDerivation { pname = "sandwich-contexts-kubernetes"; - version = "0.1.1.1"; - sha256 = "186xbfpx2fgvckzmagmxw3cyp6k1avk3jvdii9857i3xwccinc1s"; + version = "0.1.2.0"; + sha256 = "19nvallfy3cqwapdsgxp6pwnxrqycb10awlgac9hx5l6m3qmp7w5"; libraryHaskellDepends = [ aeson base @@ -584396,14 +585638,13 @@ self: { } ) { }; - sandwich-webdriver_0_4_0_1 = callPackage ( + sandwich-webdriver_0_4_0_2 = callPackage ( { mkDerivation, aeson, base, bytestring, containers, - data-default, directory, exceptions, filepath, @@ -584412,11 +585653,8 @@ self: { http-conduit, http-types, microlens, - microlens-aeson, - monad-control, monad-logger, mtl, - network, process, random, regex-tdfa, @@ -584433,19 +585671,17 @@ self: { unliftio, unliftio-core, unordered-containers, - vector, webdriver, }: mkDerivation { pname = "sandwich-webdriver"; - version = "0.4.0.1"; - sha256 = "1q2ipwvyn4l9zch5h6cgbvgcjbrywpc5zrz2y9bdlbhdpdk9a2iv"; + version = "0.4.0.2"; + sha256 = "1ixcq0vffy4awfv5dimkdq9yzkrbnjm046vsls6pvy1b5dlp9nb6"; libraryHaskellDepends = [ aeson base bytestring containers - data-default directory exceptions filepath @@ -584454,11 +585690,8 @@ self: { http-conduit http-types microlens - microlens-aeson - monad-control monad-logger mtl - network process random regex-tdfa @@ -584475,7 +585708,6 @@ self: { unliftio unliftio-core unordered-containers - vector webdriver ]; testHaskellDepends = [ @@ -584483,7 +585715,6 @@ self: { base bytestring containers - data-default directory exceptions filepath @@ -584492,11 +585723,8 @@ self: { http-conduit http-types microlens - microlens-aeson - monad-control monad-logger mtl - network process random regex-tdfa @@ -584513,7 +585741,6 @@ self: { unliftio unliftio-core unordered-containers - vector webdriver ]; description = "Sandwich integration with Selenium WebDriver"; @@ -584711,6 +585938,8 @@ self: { testToolDepends = [ alex ]; description = "A staged lexer generator"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -585045,7 +586274,7 @@ self: { } ) { }; - saturn_1_1_0_0 = callPackage ( + saturn_1_1_0_1 = callPackage ( { mkDerivation, base, @@ -585060,8 +586289,8 @@ self: { }: mkDerivation { pname = "saturn"; - version = "1.1.0.0"; - sha256 = "0qwv38aas0lv01bgbdrl60bikkpx7wm1zij7jyyb07y4615ssrjx"; + version = "1.1.0.1"; + sha256 = "0dxk2qs8af1x1riy92hcmqm2aid83v7rg3pn7kk8i35w3czza33l"; libraryHaskellDepends = [ base containers @@ -585448,6 +586677,81 @@ self: { } ) { }; + sbp_6_3_0 = callPackage ( + { + mkDerivation, + aeson, + aeson-pretty, + array, + base, + base64-bytestring, + basic-prelude, + binary, + binary-conduit, + bytestring, + cmdargs, + conduit, + conduit-extra, + data-binary-ieee754, + lens, + lens-aeson, + monad-loops, + resourcet, + tasty, + tasty-hunit, + template-haskell, + text, + time, + yaml, + }: + mkDerivation { + pname = "sbp"; + version = "6.3.0"; + sha256 = "0s8v31ivnsxm0wnxzbx4s1c0z5hfndkpq91fnfg0zq6bmlwc504w"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson + array + base + base64-bytestring + basic-prelude + binary + bytestring + data-binary-ieee754 + lens + lens-aeson + monad-loops + template-haskell + text + ]; + executableHaskellDepends = [ + aeson + aeson-pretty + base + basic-prelude + binary-conduit + bytestring + cmdargs + conduit + conduit-extra + lens + resourcet + time + yaml + ]; + testHaskellDepends = [ + base + basic-prelude + tasty + tasty-hunit + ]; + description = "SwiftNav's SBP Library"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + } + ) { }; + sbp2udp = callPackage ( { mkDerivation, @@ -588624,7 +589928,6 @@ self: { ]; description = "Combine scotty and haxl"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -592550,8 +593853,8 @@ self: { }: mkDerivation { pname = "semilattices"; - version = "0.0.0.8"; - sha256 = "05dmnszyxssbjzw6f7qwq3slzd913afn562f2rnc54q9719xyybn"; + version = "0.0.0.9"; + sha256 = "1q0sm7q4v7pwvrv1sak5vchwcsqsrglhxqsaaz0bqpjhirw90qk6"; libraryHaskellDepends = [ base containers @@ -594437,20 +595740,30 @@ self: { serialport = callPackage ( { mkDerivation, + async, base, bytestring, HUnit, + optparse-applicative, unix, }: mkDerivation { pname = "serialport"; - version = "0.5.6"; - sha256 = "00cymqx8jnlanv75kqgb00harhv8prgk23gwwvadqlzdfv119iql"; + version = "0.6.0"; + sha256 = "0npkywiq7gcprlsjq0hlf5zwq882bq8v7cvlqkq2dy7xfh75195h"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ base bytestring + optparse-applicative unix ]; + executableHaskellDepends = [ + async + base + optparse-applicative + ]; testHaskellDepends = [ base bytestring @@ -594458,6 +595771,7 @@ self: { ]; description = "Cross platform serial port library"; license = lib.licenses.bsd3; + mainProgram = "serialport"; } ) { }; @@ -597684,7 +598998,6 @@ self: { ]; description = "automatical derivation of querying functions for servant webservices"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -603456,8 +604769,8 @@ self: { pname = "setlocale"; version = "1.0.0.10"; sha256 = "19rv89jkhq5ic7j5rzpygnmsbzim2mn8ip0m292za613q88gywir"; - revision = "6"; - editedCabalFile = "18i818q67cxfgz7q8zm6a0z032rh0yjhk375f99jwqh9da2h67fb"; + revision = "7"; + editedCabalFile = "0mmv245b6dxm4m6lhrnp1bccaklwd222086n952jhgi44hw2iq4a"; libraryHaskellDepends = [ base ]; description = "Haskell bindings to setlocale"; license = lib.licenses.bsd3; @@ -607204,8 +608517,8 @@ self: { }: mkDerivation { pname = "shellwords"; - version = "0.1.4.4"; - sha256 = "1609i2s68hx3h9zbjyfwdj286w1acrd8z9m7g7f9slbdk9ps3hn5"; + version = "0.1.4.6"; + sha256 = "00jadd023d3c03d9l69i2dif8zw7x9pdjfxwr2923sv7pc03pqd8"; libraryHaskellDepends = [ base megaparsec @@ -609205,6 +610518,7 @@ self: { case-insensitive, crypton, exceptions, + heck, http-types, memory, tasty, @@ -609215,14 +610529,15 @@ self: { }: mkDerivation { pname = "signet"; - version = "0.2025.5.21"; - sha256 = "01rrc4l5a4vl2mmymckdl5shicgx7n909nzdqn8xnk8626whc93p"; + version = "1.0.0.0"; + sha256 = "1wpjsxknlbd2wxiv93mjypcw4s0cryyc4pavgl6dfygwrbb83z8r"; libraryHaskellDepends = [ base bytestring case-insensitive crypton exceptions + heck http-types memory text @@ -609230,6 +610545,7 @@ self: { ]; testHaskellDepends = [ base + heck tasty tasty-hunit transformers @@ -609975,6 +611291,34 @@ self: { } ) { }; + simple-cabal_0_2_0 = callPackage ( + { + mkDerivation, + base, + bytestring, + Cabal, + directory, + filepath, + safe, + }: + mkDerivation { + pname = "simple-cabal"; + version = "0.2.0"; + sha256 = "1mrsa53sacjji56xj3wkp2yd0skblrxnqzq7myy60a7nk6brb30g"; + libraryHaskellDepends = [ + base + bytestring + Cabal + directory + filepath + safe + ]; + description = "Cabal compatibility wrapper library"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + } + ) { }; + simple-cairo = callPackage ( { mkDerivation, @@ -621295,6 +622639,8 @@ self: { ]; description = "Fast Haskell bindings to Google’s Snappy compression library"; license = lib.licenses.asl20; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { inherit (pkgs) snappy; }; @@ -621410,6 +622756,7 @@ self: { ]; description = "Snappy Framing Format in Haskell"; license = lib.licenses.mpl20; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -621438,9 +622785,7 @@ self: { testHaskellDepends = [ base ]; description = "Snappy compression library"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; mainProgram = "snappy-hs"; - broken = true; } ) { }; @@ -621490,6 +622835,7 @@ self: { ]; description = "Lazy bytestring compression and decompression"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -628693,6 +630039,8 @@ self: { ]; description = "A primitive yet easy to use sqlite library"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -629102,6 +630450,7 @@ self: { generics-sop, hspec, postgresql-syntax, + scientific, squeal-postgresql, template-haskell, text, @@ -629110,14 +630459,15 @@ self: { }: mkDerivation { pname = "squeal-postgresql-qq"; - version = "0.1.3.0"; - sha256 = "04kfccn22ik76fgr9bhlk9rh0ldyk010icr1rbzqs6mj3iddyd3w"; + version = "0.1.4.0"; + sha256 = "11mzdng0828r5l00zxk7w9s24f3h666n5sin79rzhdraisqfv35j"; libraryHaskellDepends = [ aeson base bytestring generics-sop postgresql-syntax + scientific squeal-postgresql template-haskell text @@ -629131,6 +630481,7 @@ self: { generics-sop hspec postgresql-syntax + scientific squeal-postgresql template-haskell text @@ -632769,6 +634120,25 @@ self: { } ) { }; + stacked = callPackage ( + { + mkDerivation, + base, + comonad, + }: + mkDerivation { + pname = "stacked"; + version = "0.1.0"; + sha256 = "12wh22kh73khs6w0jlf2d011pr4cs7id0rjjl1wms5xph2bcswww"; + libraryHaskellDepends = [ + base + comonad + ]; + description = "A modern indexed monad stack"; + license = lib.licenses.mit; + } + ) { }; + stacked-dag = callPackage ( { mkDerivation, @@ -639238,6 +640608,33 @@ self: { } ) { }; + streamly-filepath = callPackage ( + { + mkDerivation, + base, + exceptions, + filepath, + os-string, + streamly-core, + }: + mkDerivation { + pname = "streamly-filepath"; + version = "0.1.0"; + sha256 = "1z5qrva7rk4223ai4rm9vn8d4mnrbxsl2gimcrbbxd5yv4l83sjr"; + libraryHaskellDepends = [ + base + exceptions + filepath + os-string + streamly-core + ]; + description = "Streamly compatibility with filepath package"; + license = lib.licenses.asl20; + hydraPlatforms = lib.platforms.none; + broken = true; + } + ) { }; + streamly-fsevents = callPackage ( { mkDerivation, @@ -639587,8 +640984,8 @@ self: { }: mkDerivation { pname = "streamly-statistics"; - version = "0.1.0"; - sha256 = "0qm8g33abag2y9xq6cgmk3z8ilxjnz81c4qf7r8a31l89rrswx1z"; + version = "0.2.0"; + sha256 = "02px75d8hjgsc13dnfs3khfszd210xcjj96inlzs6zb1yc39pcfl"; libraryHaskellDepends = [ base containers @@ -648279,8 +649676,8 @@ self: { }: mkDerivation { pname = "sydtest"; - version = "0.20.0.0"; - sha256 = "0f1ipp6wqykkyiibn1prx61ysvydf4bybiqg5mlzgi5h1cnqh22i"; + version = "0.20.0.1"; + sha256 = "1jnks9znjr4ar6x4a6965w6yijcd80ci6z5qwln4v98ls1a81x19"; libraryHaskellDepends = [ async autodocodec @@ -648314,7 +649711,7 @@ self: { } ) { }; - sydtest_0_20_0_1 = callPackage ( + sydtest_0_21_0_0 = callPackage ( { mkDerivation, async, @@ -648346,8 +649743,8 @@ self: { }: mkDerivation { pname = "sydtest"; - version = "0.20.0.1"; - sha256 = "1jnks9znjr4ar6x4a6965w6yijcd80ci6z5qwln4v98ls1a81x19"; + version = "0.21.0.0"; + sha256 = "07rxvpjvp8q0jfr6brljz5jpmsxv64755dhlklb4jxmcqf9f75n4"; libraryHaskellDepends = [ async autodocodec @@ -652353,8 +653750,8 @@ self: { pname = "system-linux-proc"; version = "0.1.1.1"; sha256 = "12nvsvmchhsqs5f3x2075v8v68inb1xz8dbv1q5x48big1bf4vv5"; - revision = "3"; - editedCabalFile = "0mkjwv2yw130rpmxby32hqrj26q268wiyfv6f71q09wp1axl6qfc"; + revision = "4"; + editedCabalFile = "0q77ybg2x81k9vvmyiwxqgal4s3kai6b93gdirak7ypf5fbb62q5"; libraryHaskellDepends = [ attoparsec base @@ -658302,8 +659699,8 @@ self: { pname = "tasty-inspection-testing"; version = "0.2.1"; sha256 = "0wl2xlnbmqdkwhi4ic6a4q4lxf9qg433lidi8d0hlp3ykrjpbcay"; - revision = "2"; - editedCabalFile = "0z9al0hyq381fw146agbpz7rf24rwms1w91m7s0k1w3xbfw16l9n"; + revision = "3"; + editedCabalFile = "1gvwk8q20bbjny660qqp43y4ng5m56hk40mpvl8hi94wdw39pr6v"; libraryHaskellDepends = [ base ghc @@ -660871,6 +662268,8 @@ self: { ]; description = "Easy to use library for building Telegram bots"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -662887,6 +664286,7 @@ self: { ]; description = "Encoder and decoder for the TensorFlow \"TFRecords\" format"; license = lib.licenses.asl20; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -662918,6 +664318,7 @@ self: { ]; description = "Conduit wrappers for TensorFlow.Records."; license = lib.licenses.asl20; + hydraPlatforms = lib.platforms.none; } ) { }; @@ -665064,8 +666465,8 @@ self: { }: mkDerivation { pname = "testcontainers-postgresql"; - version = "0.0.1.1"; - sha256 = "0zycclxn0wnnj0qhhxixlljl0jirsfd00wihhlx6azpy0h6qc8lw"; + version = "0.0.4"; + sha256 = "09pa6w7kksxn0dpg99m2f3lhplm1316g782i8gfjxwig84r7z0av"; libraryHaskellDepends = [ base testcontainers @@ -674388,6 +675789,39 @@ self: { } ) { }; + timeout-snooze = callPackage ( + { + mkDerivation, + base, + hspec, + stm, + stm-delay, + unliftio, + }: + mkDerivation { + pname = "timeout-snooze"; + version = "0.1.0.0"; + sha256 = "0xnci3sn0kn864lik3w7lvhqrczyn103z7gzz2zcgih113ky7sn6"; + libraryHaskellDepends = [ + base + stm + stm-delay + unliftio + ]; + testHaskellDepends = [ + base + hspec + stm + stm-delay + unliftio + ]; + description = "Efficient timeout with reset"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; + } + ) { }; + timeout-with-results = callPackage ( { mkDerivation, @@ -690143,6 +691577,8 @@ self: { testHaskellDepends = [ base ]; description = "GUI framework based on typed-fsm"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { }; @@ -691200,8 +692636,8 @@ self: { }: mkDerivation { pname = "typesafe-precure"; - version = "0.12.0.1"; - sha256 = "1cl6dq9mdm3caw3zzwpw7vcyv41apk0d0fxrxrm7d0vp4wvjckff"; + version = "0.12.1.1"; + sha256 = "0gba5l5l4cixyfpxkiy4hyz4zbrq7rxf2cfsj1123ycsa7j4j0ph"; libraryHaskellDepends = [ aeson aeson-pretty @@ -694445,7 +695881,7 @@ self: { } ) { }; - unicode-data_0_7_0 = callPackage ( + unicode-data_0_8_0 = callPackage ( { mkDerivation, base, @@ -694456,8 +695892,8 @@ self: { }: mkDerivation { pname = "unicode-data"; - version = "0.7.0"; - sha256 = "1l21qmhg9pgfnfxi8bsdvbb5zq9izz23caz44s32r9xmd7mdxqc0"; + version = "0.8.0"; + sha256 = "02qgvnv6izs3nq8a14nw86pbgazqvjj22rsvvzklck56rmm7paby"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base @@ -694487,8 +695923,8 @@ self: { }: mkDerivation { pname = "unicode-data-names"; - version = "0.5.0"; - sha256 = "0hyx4lwz9y2nzk2jmrjcway02wbgam8yrsgggn28p8aabn452kp4"; + version = "0.6.0"; + sha256 = "0dr2wb100km8v683aw8ylwc2npj4bl7adsmknrdb0z3nz7xi0j0k"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -694544,8 +695980,8 @@ self: { }: mkDerivation { pname = "unicode-data-scripts"; - version = "0.5.0"; - sha256 = "0s01wjps018i67xgrkrvzw6ncmvsa3hpbl7qs75pvfskhjh9bjvq"; + version = "0.6.0"; + sha256 = "0g6a7smdzjp6rxqv86nvh9bp7qihg5a9a9agw14jhg6zvs8kpgy0"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base @@ -694574,8 +696010,8 @@ self: { }: mkDerivation { pname = "unicode-data-security"; - version = "0.5.0"; - sha256 = "199gk9444wbr1balpl1nzl0ivbpx5md9qhd9gf4jrjkb2nkk1hi6"; + version = "0.6.0"; + sha256 = "16kkvmjqigzgwhw7x0kx9p38m1m9bhm0nc47rm8564czx2bxw7lh"; libraryHaskellDepends = [ base unicode-data @@ -696965,7 +698401,7 @@ self: { } ) { }; - unix_2_8_7_0 = callPackage ( + unix_2_8_8_0 = callPackage ( { mkDerivation, base, @@ -696978,10 +698414,8 @@ self: { }: mkDerivation { pname = "unix"; - version = "2.8.7.0"; - sha256 = "10zv2vcq82vv56hll5mpvfwfsx6ymp2f75fwxvp5a1xgbafqgpfb"; - revision = "2"; - editedCabalFile = "0xbk68mf4j22kw1a4q732b5n6j8v5yqc55kxdk3hcwgcm0a12wys"; + version = "2.8.8.0"; + sha256 = "0gjsg9w6psn1gqzkc8akv5a2343fc3x7dlr25xb1lwzbpyixwa51"; libraryHaskellDepends = [ base bytestring @@ -703456,6 +704890,19 @@ self: { } ) { }; + varargs = callPackage ( + { mkDerivation, base }: + mkDerivation { + pname = "varargs"; + version = "0.1.0.1"; + sha256 = "1yxcj287m5jgg80qazw1mlik78vm61jybam7v3pljf9i7a2p2z5m"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base ]; + description = "Utilities for working with variadic functions using type-level lists"; + license = lib.licenses.bsd3; + } + ) { }; + variable-media-field = callPackage ( { mkDerivation, @@ -709177,6 +710624,8 @@ self: { pname = "vty"; version = "6.4"; sha256 = "0iha15inmig2j2f4kljwb2jhbqa8vsh2aa8l7y5fsanjiciscrbi"; + revision = "1"; + editedCabalFile = "16pxidb8lw4yxy0y9q470vxnagynqzf0l8a0hvjiw98xkvli54xd"; libraryHaskellDepends = [ base binary @@ -710379,52 +711828,91 @@ self: { mkDerivation, aeson, base, - binary, bytestring, + case-insensitive, cookie, crypton, directory, filepath, http-types, memory, - random, - stm, text, time, wai, + wai-csrf, + wai-extra, + }: + mkDerivation { + pname = "wai-cryptocookie"; + version = "0.3"; + sha256 = "1g2i1fjdpca0zq7pib6szh8zadrqb93sw1bqi12il5fhd805swh9"; + libraryHaskellDepends = [ + aeson + base + bytestring + case-insensitive + cookie + crypton + http-types + memory + text + time + wai + wai-csrf + ]; + testHaskellDepends = [ + base + bytestring + cookie + directory + filepath + http-types + wai + wai-extra + ]; + description = "Encrypted cookies for WAI"; + license = lib.licenses.asl20; + } + ) { }; + + wai-csrf = callPackage ( + { + mkDerivation, + base, + bytestring, + case-insensitive, + cookie, + crypton, + http-types, + memory, + time, + wai, wai-extra, }: mkDerivation { - pname = "wai-cryptocookie"; - version = "0.2"; - sha256 = "1y97641w1ms0hzzw34v67h60hy4mjwnanvb8511qp033rpyqqh53"; + pname = "wai-csrf"; + version = "0.1"; + sha256 = "0i6bwp6libbbv1q0gcrn5cgk66v4ll84gsycxcw18r3nmh3qdawa"; libraryHaskellDepends = [ - aeson base - binary bytestring + case-insensitive cookie crypton http-types memory - stm - text time wai ]; testHaskellDepends = [ - aeson base - binary - directory - filepath + bytestring + cookie http-types - random - stm wai wai-extra ]; - description = "Encrypted cookies for WAI"; + description = "Cross-site request forgery protection for WAI"; license = lib.licenses.asl20; } ) { }; @@ -715452,6 +716940,41 @@ self: { } ) { }; + warp-tls-simple = callPackage ( + { + mkDerivation, + base, + directory, + filepath, + optparse-applicative, + process, + wai, + warp, + warp-tls, + which, + }: + mkDerivation { + pname = "warp-tls-simple"; + version = "0.1.1.0"; + sha256 = "1xrzkhcc1qdgccf5dncchv81ms944sz9yi9kz0badw8wjrz6kg4p"; + libraryHaskellDepends = [ + base + directory + filepath + optparse-applicative + process + wai + warp + warp-tls + which + ]; + description = "Simple TLS configuration for Warp"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; + } + ) { }; + warp-tls-uid = callPackage ( { mkDerivation, @@ -718076,6 +719599,28 @@ self: { } ) { }; + webcolor-labels = callPackage ( + { + mkDerivation, + base, + tasty, + tasty-hunit, + }: + mkDerivation { + pname = "webcolor-labels"; + version = "0.1.0.0"; + sha256 = "0s4l8w1fba2fk3ym112j2d9x6z86qhkfbcb75kjvwl0qndr69y32"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ + base + tasty + tasty-hunit + ]; + description = "Plug-n-play #hex-syntax for your colors"; + license = lib.licenses.mpl20; + } + ) { }; + webcrank = callPackage ( { mkDerivation, @@ -718286,7 +719831,7 @@ self: { } ) { }; - webdriver_0_13_0_0 = callPackage ( + webdriver_0_14_0_0 = callPackage ( { mkDerivation, aeson, @@ -718328,8 +719873,10 @@ self: { }: mkDerivation { pname = "webdriver"; - version = "0.13.0.0"; - sha256 = "192dm2bwhdfrmfkimblm43gvh3vnnk6p68kw5cfpar00mli08mbi"; + version = "0.14.0.0"; + sha256 = "0sqphl21ma7n6fk40wyh8b79xrz1aznpnpmgds6277ini1lvn3q8"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ aeson attoparsec @@ -718345,6 +719892,7 @@ self: { http-types microlens-th monad-logger + mtl network network-uri random @@ -718361,6 +719909,20 @@ self: { websockets zip-archive ]; + executableHaskellDepends = [ + aeson + base + bytestring + exceptions + http-client + http-types + monad-logger + mtl + string-interpolate + text + unliftio + unliftio-core + ]; testHaskellDepends = [ aeson base @@ -718391,6 +719953,7 @@ self: { description = "a Haskell client for the Selenium WebDriver protocol"; license = lib.licenses.bsd3; hydraPlatforms = lib.platforms.none; + mainProgram = "demo"; } ) { }; @@ -721816,6 +723379,8 @@ self: { pname = "wide-word"; version = "0.1.8.1"; sha256 = "0jisg5y3rxcqwd3kgdvcmz5awwcgzdhdkl768llhh388kp64mjcy"; + revision = "1"; + editedCabalFile = "164049ll7rxddxsw5ly8jcbhfmb7gywwrspw63cfwng20hsfqc0y"; libraryHaskellDepends = [ base binary @@ -722876,6 +724441,8 @@ self: { ]; description = "I/O library for Windows"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; } ) { @@ -729427,6 +730994,128 @@ self: { } ) { }; + xlsx_1_2_0 = callPackage ( + { + mkDerivation, + attoparsec, + base, + base64-bytestring, + binary-search, + bytestring, + conduit, + containers, + criterion, + data-default, + deepseq, + Diff, + directory, + dlist, + errors, + exceptions, + extra, + filepath, + groom, + hexpat, + lens, + monad-control, + mtl, + network-uri, + old-locale, + raw-strings-qq, + safe, + smallcheck, + tasty, + tasty-hunit, + tasty-smallcheck, + text, + time, + transformers, + transformers-base, + vector, + xeno, + xml-conduit, + xml-types, + zip, + zip-archive, + zip-stream, + zlib, + }: + mkDerivation { + pname = "xlsx"; + version = "1.2.0"; + sha256 = "0sd9y6xqd17qxlf5hgaws39xfzhaxxj4yxbnh296lfk2pampyrvl"; + libraryHaskellDepends = [ + attoparsec + base + base64-bytestring + binary-search + bytestring + conduit + containers + data-default + deepseq + dlist + errors + exceptions + extra + filepath + hexpat + lens + monad-control + mtl + network-uri + old-locale + safe + text + time + transformers + transformers-base + vector + xeno + xml-conduit + xml-types + zip + zip-archive + zip-stream + zlib + ]; + testHaskellDepends = [ + base + bytestring + conduit + containers + deepseq + Diff + directory + filepath + groom + lens + mtl + raw-strings-qq + smallcheck + tasty + tasty-hunit + tasty-smallcheck + text + time + vector + xml-conduit + zip + ]; + benchmarkHaskellDepends = [ + base + bytestring + conduit + criterion + deepseq + lens + ]; + description = "Simple and incomplete Excel file parser/writer"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + } + ) { }; + xlsx-tabular = callPackage ( { mkDerivation, @@ -732315,10 +734004,12 @@ self: { }: mkDerivation { pname = "xnobar"; - version = "0.0.0.1"; - sha256 = "15j9drn1igv5s1z7p5v71vy2i2a2f4gsaz5z6my1vkm097rbz51z"; - revision = "3"; - editedCabalFile = "122chc3px07ij5kk69bsbzrppkxxqd29cxma9zp48pjjakibwp3n"; + version = "0.0.0.2"; + sha256 = "1cs9kp2h07dx39rzykmylv5fvmdyynwmyj7mlxy6n95bawz4z1f4"; + revision = "1"; + editedCabalFile = "1b34ifw8rnb19gjgksljxcxb54y0qskjwwka5ly8bq84ll756v6n"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ async base @@ -732332,6 +734023,10 @@ self: { transformers xmobar ]; + executableHaskellDepends = [ + base + xmobar + ]; testHaskellDepends = [ base extra @@ -732341,8 +734036,7 @@ self: { description = "Text-based notification server for XMobar"; license = lib.licenses.bsd3; badPlatforms = lib.platforms.darwin; - hydraPlatforms = lib.platforms.none; - broken = true; + mainProgram = "Echo"; } ) { }; @@ -733371,7 +735065,9 @@ self: { ]; description = "Yet Another Brainfuck Interpreter"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; mainProgram = "yabi"; + broken = true; } ) { }; @@ -735177,8 +736873,8 @@ self: { }: mkDerivation { pname = "yamlscript"; - version = "0.2.3.0"; - sha256 = "09ccfdmhpi0ycsmrxnjcr4rgz4b13sgw76ys6979syfqjqmznr5b"; + version = "0.2.4.0"; + sha256 = "19d6zwnw3rf2lq4l834fyllylz3pjrr2l3l15y7w81m3pw0zs0a4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ diff --git a/pkgs/development/haskell-modules/lib/compose.nix b/pkgs/development/haskell-modules/lib/compose.nix index 220cb49f3d91..055e6c40c784 100644 --- a/pkgs/development/haskell-modules/lib/compose.nix +++ b/pkgs/development/haskell-modules/lib/compose.nix @@ -114,7 +114,8 @@ rec { Note that jailbreaking at this time, doesn't lift bounds on conditional branches. - https://github.com/peti/jailbreak-cabal/issues/7 has further details. + https://github.com/peti/jailbreak-cabal/issues/7 (krank:ignore-line) + has further details. */ doJailbreak = overrideCabal (drv: { jailbreak = true; diff --git a/pkgs/development/haskell-modules/lib/default.nix b/pkgs/development/haskell-modules/lib/default.nix index 306176d32fc7..665d8429631d 100644 --- a/pkgs/development/haskell-modules/lib/default.nix +++ b/pkgs/development/haskell-modules/lib/default.nix @@ -94,7 +94,8 @@ rec { Note that jailbreaking at this time, doesn't lift bounds on conditional branches. - https://github.com/peti/jailbreak-cabal/issues/7 has further details. + https://github.com/peti/jailbreak-cabal/issues/7 (krank:ignore-line) + has further details. */ doJailbreak = compose.doJailbreak; diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix index e5ec0f1d053e..e0cd3a7ac2e9 100644 --- a/pkgs/development/haskell-modules/non-hackage-packages.nix +++ b/pkgs/development/haskell-modules/non-hackage-packages.nix @@ -41,11 +41,12 @@ self: super: ghc-settings-edit = self.callPackage ../tools/haskell/ghc-settings-edit { }; - # https://github.com/channable/vaultenv/issues/1 + # Upstream won't upload vaultenv to Hackage: + # https://github.com/channable/vaultenv/issues/1 krank:ignore-line vaultenv = self.callPackage ../tools/haskell/vaultenv { }; - # spago-legacy is not released to Hackage. - # https://github.com/spacchetti/spago/issues/512 + # spago-legacy won't be released to Hackage: + # https://github.com/spacchetti/spago/issues/512 krank:ignore-line spago-legacy = self.callPackage ../../by-name/sp/spago-legacy/spago-legacy.nix { }; # Unofficial fork until PRs are merged https://github.com/pcapriotti/optparse-applicative/pulls/roberth diff --git a/pkgs/development/haskell-modules/patches/cryptonite-remove-argon2.patch b/pkgs/development/haskell-modules/patches/cryptonite-remove-argon2.patch index 1d571b61e532..8b281cd1f698 100644 --- a/pkgs/development/haskell-modules/patches/cryptonite-remove-argon2.patch +++ b/pkgs/development/haskell-modules/patches/cryptonite-remove-argon2.patch @@ -23,7 +23,7 @@ index 044ba00..31dc6f1 100644 hash :: (ByteArrayAccess password, ByteArrayAccess salt, ByteArray out) - => Options -+ => [Proxy "cryptonite:Crypto.KDF.Argon2.hash is known to be broken on this architecture. See https://github.com/haskell-crypto/cryptonite/issues/360"] ++ => [Proxy "cryptonite:Crypto.KDF.Argon2.hash is known to be broken on this architecture. See https://github.com/haskell-crypto/cryptonite/issues/360"] -- abandoned project, krank:ignore-line -> password -> salt -> Int @@ -50,7 +50,7 @@ index 044ba00..31dc6f1 100644 - where - saltLen = B.length salt - passwordLen = B.length password -+hash options password salt outLen = error "cryptonite:Crypto.KDF.Argon2.hash is known to be broken on this architecture. See https://github.com/haskell-crypto/cryptonite/issues/360" ++hash options password salt outLen = error "cryptonite:Crypto.KDF.Argon2.hash is known to be broken on this architecture. See https://github.com/haskell-crypto/cryptonite/issues/360" -- abandoned project, krank:ignore-line data Pass data Salt diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix index f95ca4b2e717..9968ea355363 100644 --- a/pkgs/development/haskell-modules/with-packages-wrapper.nix +++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix @@ -124,7 +124,8 @@ else fi done - # haddock was referring to the base ghc, https://github.com/NixOS/nixpkgs/issues/36976 + # haddock needs to be wrapped like GHC, see + # https://github.com/NixOS/nixpkgs/issues/36976 krank:ignore-line if [[ -x "${ghc}/bin/haddock" ]]; then rm -f $out/bin/haddock makeWrapper ${ghc}/bin/haddock $out/bin/haddock \ @@ -171,7 +172,7 @@ else # ghc-pkg is now trying to open the file. These file are symlink # to another nix derivation, so they are not writable. Removing # them allow the correct behavior of ghc-pkg recache - # See: https://github.com/NixOS/nixpkgs/issues/79441 + # See: https://github.com/NixOS/nixpkgs/issues/79441 krank:ignore-line rm ${packageCfgDir}/package.cache.lock rm ${packageCfgDir}/package.cache @@ -182,7 +183,7 @@ else + postBuild; preferLocalBuild = true; passthru = { - inherit (ghc) version targetPrefix; + inherit (ghc) version meta targetPrefix; hoogle = hoogleWithPackages'; @@ -203,9 +204,4 @@ else Also note that withLLVM has been renamed to useLLVM for consistency with the GHC Nix expressions.''; }; - pos = __curPos; - meta = ghc.meta // { - # To be fixed by . - broken = useLLVM; - }; } diff --git a/pkgs/development/interpreters/clisp/default.nix b/pkgs/development/interpreters/clisp/default.nix index 7b2ef292fc42..1a09cdef7895 100644 --- a/pkgs/development/interpreters/clisp/default.nix +++ b/pkgs/development/interpreters/clisp/default.nix @@ -122,11 +122,6 @@ stdenv.mkDerivation { cd builddir ''; - # ;; Loading file ../src/defmacro.lisp ... - # *** - handle_fault error2 ! address = 0x8 not in [0x1000000c0000,0x1000000c0000) ! - # SIGSEGV cannot be cured. Fault address = 0x8. - hardeningDisable = [ "pie" ]; - doCheck = true; postInstall = lib.optionalString (withModules != [ ]) '' diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 51f9a544146c..2c754ba43fc7 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -584,9 +584,6 @@ stdenv.mkDerivation (finalAttrs: { export CFLAGS_NODIST="-fno-semantic-interposition" ''; - # Our aarch64-linux bootstrap files lack Scrt1.o, which fails the config test - hardeningEnable = lib.optionals (!withMinimalDeps && !stdenv.hostPlatform.isAarch64) [ "pie" ]; - setupHook = python-setup-hook sitePackages; postInstall = diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 8dd797dc5f43..a59a3cff42aa 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -20,10 +20,10 @@ sourceVersion = { major = "3"; minor = "13"; - patch = "8"; + patch = "9"; suffix = ""; }; - hash = "sha256-uZEHMFJrKYKZtGs1WVztkFVyLfYMBq1jAfak4scoolI="; + hash = "sha256-7V7zTNo2z6Lzo0DwfKx+eBT5HH88QR9tNWIyOoZsXGY="; }; }; @@ -71,10 +71,10 @@ sourceVersion = { major = "3"; minor = "12"; - patch = "11"; + patch = "12"; suffix = ""; }; - hash = "sha256-wwuyS38emhmxG1WlRkNPdOc5u0wnGj46gP9DgNSfets="; + hash = "sha256-+4WhNBSwKMSboYu9UjwtBVowtWsYuSzkVOosUe3GVsQ="; inherit passthruFun; }; diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix index 6b6f97b74f3d..55e86a8b9c36 100644 --- a/pkgs/development/interpreters/python/wrapper.nix +++ b/pkgs/development/interpreters/python/wrapper.nix @@ -2,6 +2,7 @@ lib, stdenv, buildEnv, + runCommand, makeBinaryWrapper, # manually pased @@ -22,7 +23,11 @@ let env = let - paths = requiredPythonModules (extraLibs ++ [ python ]); + paths = requiredPythonModules (extraLibs ++ [ python ]) ++ [ + (runCommand "bin" { } '' + mkdir -p $out/bin + '') + ]; pythonPath = "${placeholder "out"}/${python.sitePackages}"; pythonExecutable = "${placeholder "out"}/bin/${python.executable}"; in @@ -36,21 +41,26 @@ let nativeBuildInputs = [ makeBinaryWrapper ]; postBuild = '' - if [ -L "$out/bin" ]; then - unlink "$out/bin" - fi - mkdir -p "$out/bin" - for path in ${lib.concatStringsSep " " paths}; do if [ -d "$path/bin" ]; then cd "$path/bin" for prg in *; do - if [ -f "$prg" ]; then + if [ -f "$prg" ] && [ -x "$prg" ]; then rm -f "$out/bin/$prg" - if [ -x "$prg" ]; then - makeWrapper "$path/bin/$prg" "$out/bin/$prg" --set NIX_PYTHONPREFIX "$out" --set NIX_PYTHONEXECUTABLE ${pythonExecutable} --set NIX_PYTHONPATH ${pythonPath} ${ - lib.optionalString (!permitUserSite) ''--set PYTHONNOUSERSITE "true"'' - } ${lib.concatStringsSep " " makeWrapperArgs} + if [ "$prg" = "${python.executable}" ]; then + makeWrapper "${python.interpreter}" "$out/bin/$prg" \ + --inherit-argv0 \ + ${lib.optionalString (!permitUserSite) ''--set PYTHONNOUSERSITE "true"''} \ + ${lib.concatStringsSep " " makeWrapperArgs} + elif [ "$(readlink "$prg")" = "${python.executable}" ]; then + ln -s "${python.executable}" "$out/bin/$prg" + else + makeWrapper "$path/bin/$prg" "$out/bin/$prg" \ + --set NIX_PYTHONPREFIX "$out" \ + --set NIX_PYTHONEXECUTABLE ${pythonExecutable} \ + --set NIX_PYTHONPATH ${pythonPath} \ + ${lib.optionalString (!permitUserSite) ''--set PYTHONNOUSERSITE "true"''} \ + ${lib.concatStringsSep " " makeWrapperArgs} fi fi done diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index 3da85518af64..33eaaf90ede2 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -196,15 +196,6 @@ let # anything and fixes cross compilation. ./dont-refer-to-build-dir.patch ] - # TODO: drop the isClang condition - ++ ops (lib.versionOlder ver.majMin "3.4" && stdenv.cc.isClang) [ - (fetchpatch { - name = "ruby-3.3-fix-llvm-21.patch"; - url = "https://github.com/ruby/ruby/commit/5a8d7642168f4ea0d9331fded3033c225bbc36c5.patch"; - excludes = [ "version.h" ]; - hash = "sha256-dV98gXXTSKM2ZezTvhVXNaKaXJxiWKEeUbqqL360cWw="; - }) - ] ++ ops (lib.versionAtLeast ver.majMin "3.4" && lib.versionOlder ver.majMin "3.5") [ (fetchpatch { name = "ruby-3.4-fix-gcc-15-llvm-21-1.patch"; @@ -421,8 +412,8 @@ in mkRuby = generic; ruby_3_3 = generic { - version = rubyVersion "3" "3" "9" ""; - hash = "sha256-0ZkWkKThcjPsazx4RMHhJFwK3OPgDXE1UdBFhGe3J7E="; + version = rubyVersion "3" "3" "10" ""; + hash = "sha256-tVW6pGejBs/I5sbtJNDSeyfpob7R2R2VUJhZ6saw6Sg="; cargoHash = "sha256-xE7Cv+NVmOHOlXa/Mg72CTSaZRb72lOja98JBvxPvSs="; }; diff --git a/pkgs/development/interpreters/spidermonkey/140-relax-apple-sdk.patch b/pkgs/development/interpreters/spidermonkey/140-relax-apple-sdk.patch deleted file mode 100644 index c6e28f11be2f..000000000000 --- a/pkgs/development/interpreters/spidermonkey/140-relax-apple-sdk.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure -index 37c00230c853..dd89bea24392 100644 ---- a/build/moz.configure/toolchain.configure -+++ b/build/moz.configure/toolchain.configure -@@ -233,7 +233,7 @@ with only_when(host_is_osx | target_is_osx): - ) - - def mac_sdk_min_version(): -- return "15.5" -+ return "15.2" - - @depends( - "--with-macos-sdk", diff --git a/pkgs/development/interpreters/spidermonkey/common.nix b/pkgs/development/interpreters/spidermonkey/common.nix index d2e542899540..4462bb085472 100644 --- a/pkgs/development/interpreters/spidermonkey/common.nix +++ b/pkgs/development/interpreters/spidermonkey/common.nix @@ -68,8 +68,6 @@ stdenv.mkDerivation (finalAttrs: { url = "https://src.fedoraproject.org/rpms/mozjs140/raw/49492baa47bc1d7b7d5bc738c4c81b4661302f27/f/9aa8b4b051dd539e0fbd5e08040870b3c712a846.patch"; hash = "sha256-SsyO5g7wlrxE7y2+VTHfmUDamofeZVqge8fv2y0ZhuU="; }) - # SDK 15.5 is not available in nixpkgs yet - ./140-relax-apple-sdk.patch ]; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix index cc0332510307..fb761f6f7c7c 100644 --- a/pkgs/development/libraries/ffmpeg/default.nix +++ b/pkgs/development/libraries/ffmpeg/default.nix @@ -21,13 +21,13 @@ let }; v6 = { - version = "6.1.2"; - hash = "sha256-h/N56iKkAR5kH+PRQceWZvHe3k+70KWMDEP5iVq/YFQ="; + version = "6.1.3"; + hash = "sha256-NQnPOfiNmurY+L9/B7eVQc2JpOi0jhv5g9kVWsTzpis="; }; v7 = { - version = "7.1.1"; - hash = "sha256-GyS8imOqfOUPxXrzCiQtzCQIIH6bvWmQAB0fKUcRsW4="; + version = "7.1.2"; + hash = "sha256-MF/0oSOhxGWuOu6Yat7O68iOvgZ+wKjpQ8zSkwpWXqQ="; }; v8 = { version = "8.0"; @@ -65,7 +65,7 @@ rec { # unversioned aliases to allow for quicker migration to new releases, # but can pin one of the versioned variants if they do not work with # the current default version. - ffmpeg = ffmpeg_7; - ffmpeg-headless = ffmpeg_7-headless; - ffmpeg-full = ffmpeg_7-full; + ffmpeg = ffmpeg_8; + ffmpeg-headless = ffmpeg_8-headless; + ffmpeg-full = ffmpeg_8-full; } diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 0a3b41ceb383..2c072a48d742 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -9,7 +9,6 @@ perl, texinfo, texinfo6, - yasm, nasm, # You can fetch any upstream version using this derivation by specifying version and hash @@ -461,36 +460,6 @@ stdenv.mkDerivation ( url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/cb049d377f54f6b747667a93e4b719380c3e9475"; hash = "sha256-sxRXKKgUak5vsQTiV7ge8vp+N22CdTIvuczNgVRP72c="; }) - (fetchpatch2 { - name = "CVE-2024-31582.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/99debe5f823f45a482e1dc08de35879aa9c74bd2"; - hash = "sha256-+CQ9FXR6Vr/AmsbXFiCUXZcxKj1s8nInEdke/Oc/kUA="; - }) - (fetchpatch2 { - name = "CVE-2024-31578.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/3bb00c0a420c3ce83c6fafee30270d69622ccad7"; - hash = "sha256-oZMZysBA+/gwaGEM1yvI+8wCadXWE7qLRL6Emap3b8Q="; - }) - (fetchpatch2 { - name = "CVE-2023-49501.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/4adb93dff05dd947878c67784d98c9a4e13b57a7"; - hash = "sha256-7cwktto3fPMDGvCZCVtB01X8Q9S/4V4bDLUICSNfGgw="; - }) - (fetchpatch2 { - name = "CVE-2023-49502.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/737ede405b11a37fdd61d19cf25df296a0cb0b75"; - hash = "sha256-mpSJwR9TX5ENjjCKvzuM/9e1Aj/AOiQW0+72oOMl9v8="; - }) - (fetchpatch2 { - name = "CVE-2023-50007.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/b1942734c7cbcdc9034034373abcc9ecb9644c47"; - hash = "sha256-v0hNcqBtm8GCGAU9UbRUCE0slodOjZCHrkS8e4TrVcQ="; - }) - (fetchpatch2 { - name = "CVE-2023-50008.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/5f87a68cf70dafeab2fb89b42e41a4c29053b89b"; - hash = "sha256-sqUUSOPTPLwu2h8GbAw4SfEf+0oWioz52BcpW1n4v3Y="; - }) ] ++ optionals (lib.versionOlder version "7.1.1") [ (fetchpatch2 { @@ -521,7 +490,7 @@ stdenv.mkDerivation ( hash = "sha256-Ixkf1xzuDGk5t8J/apXKtghY0X9cfqSj/q987zrUuLQ="; }) ] - ++ optionals (lib.versionOlder version "7.2") [ + ++ optionals (lib.versionOlder version "7.1.2") [ (fetchpatch2 { name = "unbreak-svt-av1-3.0.0.patch"; url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/d1ed5c06e3edc5f2b5f3664c80121fa55b0baa95"; @@ -854,8 +823,7 @@ stdenv.mkDerivation ( perl pkg-config ] - # 8.0 is only compatible with nasm, and we don't want to rebuild all older ffmpeg builds at this moment. - ++ (if versionOlder version "8.0" then [ yasm ] else [ nasm ]) + ++ optionals stdenv.hostPlatform.isx86 [ nasm ] # Texinfo version 7.1 introduced breaking changes, which older versions of ffmpeg do not handle. ++ (if versionOlder version "5" then [ texinfo6 ] else [ texinfo ]) ++ optionals withCudaLLVM [ clang ] diff --git a/pkgs/development/libraries/flatbuffers/default.nix b/pkgs/development/libraries/flatbuffers/default.nix index 7756fd79422e..d9d48f3edd8b 100644 --- a/pkgs/development/libraries/flatbuffers/default.nix +++ b/pkgs/development/libraries/flatbuffers/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "flatbuffers"; - version = "25.2.10"; + version = "25.9.23"; src = fetchFromGitHub { owner = "google"; repo = "flatbuffers"; rev = "v${version}"; - hash = "sha256-u5AVjbep3iWwGNXLrkPJUnF8SbmIXlHOYoy3NIlUl/E="; + hash = "sha256-A9nWfgcuVW3x9MDFeviCUK/oGcWJQwadI8LqNR8BlQw="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gcc/libgcc/default.nix b/pkgs/development/libraries/gcc/libgcc/default.nix index 1085e9b301f6..022b766d9097 100644 --- a/pkgs/development/libraries/gcc/libgcc/default.nix +++ b/pkgs/development/libraries/gcc/libgcc/default.nix @@ -48,8 +48,6 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot=$(readlink -e "./libgcc") ''; - hardeningDisable = [ "pie" ]; - preConfigure = '' # Drop in libiberty, as external builds are not expected cd "$buildRoot" diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index bb876ba2ee1f..68ea0b1f0fb9 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -58,12 +58,11 @@ in makeFlagsArray+=("bindir=$bin/bin" "sbindir=$bin/sbin" "rootsbindir=$bin/sbin") ''; - # The pie, stackprotector and fortify hardening flags are autodetected by + # The stackprotector and fortify hardening flags are autodetected by # glibc and enabled by default if supported. Setting it for every gcc # invocation does not work. hardeningDisable = [ "fortify" - "pie" "stackprotector" "strictflexarrays3" ]; diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix index 760ec0610dee..a33b23e18275 100644 --- a/pkgs/development/libraries/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/default.nix @@ -4,11 +4,11 @@ callPackage, ipu6ep-camera-hal, ipu6epmtl-camera-hal, - apple-sdk_13, + apple-sdk, }: let - apple-sdk_gstreamer = apple-sdk_13; + apple-sdk_gstreamer = apple-sdk; in { inherit apple-sdk_gstreamer; diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index e37a40923d1a..00d85ff5d1a5 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -88,6 +88,12 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./patches/3.0-immodules.cache.patch ./patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch + # Backport of MR 5531 to fix sincos detection with clang + # Adds proper headers and -D_GNU_SOURCE to function checks + # MR 5531 was only merged into GTK 4, never backported to gtk-3-24 + # See: https://github.com/NixOS/nixpkgs/pull/449689 + # Upstream: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5531 + ./patches/3.0-mr5531-backport.patch ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # X11 module requires which is not installed on Darwin diff --git a/pkgs/development/libraries/gtk/patches/3.0-mr5531-backport.patch b/pkgs/development/libraries/gtk/patches/3.0-mr5531-backport.patch new file mode 100644 index 000000000000..afbfb1f95eb6 --- /dev/null +++ b/pkgs/development/libraries/gtk/patches/3.0-mr5531-backport.patch @@ -0,0 +1,93 @@ +From f1fb82c739aebc6b37090f8ebf74d856129116d3 Mon Sep 17 00:00:00 2001 +From: Matteo Pacini +Date: Tue, 14 Oct 2025 22:03:27 +0100 +Subject: [PATCH] Backport MR 5531: Fix sincos detection with clang + +Add proper headers and -D_GNU_SOURCE to function checks to ensure +functions like sincos are properly detected, especially with clang. + +Also fix gtkgears.c to avoid issues when sincos is in headers but +not detected by the build system. + +Backport of https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5531 +adapted for GTK 3.24.49. +--- + meson.build | 10 +++++++++- + tests/gtkgears.c | 22 ++++++++++++---------- + 2 files changed, 21 insertions(+), 11 deletions(-) + +diff --git a/meson.build b/meson.build +index 08337ec..92d7781 100644 +--- a/meson.build ++++ b/meson.build +@@ -255,7 +255,15 @@ check_functions = [ + ] + + foreach func : check_functions +- if cc.has_function(func, dependencies: libm) ++ if cc.has_function(func, ++ args: '-D_GNU_SOURCE', ++ prefix: ++ '#include \n' + ++ '#include \n' + ++ '#include \n' + ++ '#include \n' + ++ '#include ', ++ dependencies: libm) + cdata.set('HAVE_' + func.underscorify().to_upper(), 1) + endif + endforeach +diff --git a/tests/gtkgears.c b/tests/gtkgears.c +index 062b611..ba7e196 100644 +--- a/tests/gtkgears.c ++++ b/tests/gtkgears.c +@@ -48,14 +48,16 @@ + #define VERTICES_PER_TOOTH 34 + #define GEAR_VERTEX_STRIDE 6 + +-#ifndef HAVE_SINCOS +-static void +-sincos (double x, double *_sin, double *_cos) ++static inline void ++_sincos (double x, double *_sin, double *_cos) + { ++#ifdef HAVE_SINCOS ++ sincos (x, _sin, _cos); ++#else + *_sin = sin (x); + *_cos = cos (x); +-} + #endif ++} + + /** + * Struct describing the vertices in triangle strip +@@ -306,11 +308,11 @@ create_gear (GLfloat inner_radius, + struct point p[7]; + + /* Calculate needed sin/cos for varius angles */ +- sincos(i * 2.0 * G_PI / teeth + da * 0, &s[0], &c[0]); +- sincos(i * 2.0 * M_PI / teeth + da * 1, &s[1], &c[1]); +- sincos(i * 2.0 * M_PI / teeth + da * 2, &s[2], &c[2]); +- sincos(i * 2.0 * M_PI / teeth + da * 3, &s[3], &c[3]); +- sincos(i * 2.0 * M_PI / teeth + da * 4, &s[4], &c[4]); ++ _sincos(i * 2.0 * G_PI / teeth + da * 0, &s[0], &c[0]); ++ _sincos(i * 2.0 * M_PI / teeth + da * 1, &s[1], &c[1]); ++ _sincos(i * 2.0 * M_PI / teeth + da * 2, &s[2], &c[2]); ++ _sincos(i * 2.0 * M_PI / teeth + da * 3, &s[3], &c[3]); ++ _sincos(i * 2.0 * M_PI / teeth + da * 4, &s[4], &c[4]); + + GEAR_POINT(p[0], r2, 1); + GEAR_POINT(p[1], r2, 2); +@@ -519,7 +521,7 @@ void perspective(GLfloat *m, GLfloat fovy, GLfloat aspect, GLfloat zNear, GLfloa + identity(tmp); + + deltaZ = zFar - zNear; +- sincos(radians, &sine, &cosine); ++ _sincos(radians, &sine, &cosine); + + if ((deltaZ == 0) || (sine == 0) || (aspect == 0)) + return; +-- +2.50.1 (Apple Git-155) + diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix index 02f93a256c54..dbabceb5230f 100644 --- a/pkgs/development/libraries/libffi/default.nix +++ b/pkgs/development/libraries/libffi/default.nix @@ -27,6 +27,9 @@ stdenv.mkDerivation (finalAttrs: { # cgit) that are needed here should be included directly in Nixpkgs as # files. patches = [ + # Threading tests need to be linked against pthread + # See: https://github.com/libffi/libffi/pull/944 + ./freebsd-tsan-pthread.patch ]; strictDeps = true; diff --git a/pkgs/development/libraries/libffi/freebsd-tsan-pthread.patch b/pkgs/development/libraries/libffi/freebsd-tsan-pthread.patch new file mode 100644 index 000000000000..05c278bdbc83 --- /dev/null +++ b/pkgs/development/libraries/libffi/freebsd-tsan-pthread.patch @@ -0,0 +1,24 @@ +From e52a0790a9b80492cba2907c27d0a9e4248b6608 Mon Sep 17 00:00:00 2001 +From: Jon Hermansen +Date: Tue, 28 Oct 2025 18:02:39 -0400 +Subject: [PATCH] fix tsan tests on FreeBSD by linking to pthread + +--- + testsuite/lib/libffi.exp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/testsuite/lib/libffi.exp b/testsuite/lib/libffi.exp +index 81eff7752..308db6f8d 100644 +--- a/testsuite/lib/libffi.exp ++++ b/testsuite/lib/libffi.exp +@@ -407,6 +407,10 @@ proc libffi_target_compile { source dest type options } { + lappend options "libs= -lpthread" + } + ++ if { [string match "*-*-freebsd*" $target_triplet] } { ++ lappend options "libs= -lpthread" ++ } ++ + lappend options "libs= -lffi" + + if { [string match "aarch64*-*-linux*" $target_triplet] } { diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix index c466646c9358..8a166dfe0ea9 100644 --- a/pkgs/development/libraries/libiconv/default.nix +++ b/pkgs/development/libraries/libiconv/default.nix @@ -12,11 +12,11 @@ stdenv.mkDerivation rec { pname = "libiconv"; - version = "1.17"; + version = "1.18"; src = fetchurl { url = "mirror://gnu/libiconv/${pname}-${version}.tar.gz"; - sha256 = "sha256-j3QhO1YjjIWlClMp934GGYdx5w3Zpzl3n0wC9l2XExM="; + sha256 = "sha256-Owj19Pm064LxUacEC/1v5sb7ki7+SxZZxm6pMydpZeg="; }; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index 1a00fab8d27b..868bb2745691 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -9,6 +9,7 @@ libevdev, mtdev, udev, + wacomSupport ? true, libwacom, documentationSupport ? false, doxygen, @@ -50,7 +51,7 @@ in stdenv.mkDerivation rec { pname = "libinput"; - version = "1.29.1"; + version = "1.29.2"; outputs = [ "bin" @@ -63,7 +64,7 @@ stdenv.mkDerivation rec { owner = "libinput"; repo = "libinput"; rev = version; - hash = "sha256-wNiI6QPwuK0gUJRadSJx+FOx84kpVC4bXhuQ3ybewoY="; + hash = "sha256-oxDGUbZebxAmBd2j51qV9Jn8SXBjUX2NPRgkxbDz7Dk="; }; patches = [ @@ -85,7 +86,6 @@ stdenv.mkDerivation rec { buildInputs = [ libevdev mtdev - libwacom (python3.withPackages ( pp: with pp; [ pp.libevdev # already in scope @@ -95,6 +95,9 @@ stdenv.mkDerivation rec { ] )) ] + ++ lib.optionals wacomSupport [ + libwacom + ] ++ lib.optionals eventGUISupport [ # GUI event viewer cairo @@ -116,6 +119,7 @@ stdenv.mkDerivation rec { (mkFlag documentationSupport "documentation") (mkFlag eventGUISupport "debug-gui") (mkFlag testsSupport "tests") + (mkFlag wacomSupport "libwacom") "--sysconfdir=/etc" "--libexecdir=${placeholder "bin"}/libexec" ]; diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index 43db16eb28f6..5e74e9ec0e9b 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -22,11 +22,11 @@ in stdenv.mkDerivation (finalAttrs: { pname = "libunistring"; - version = "1.4"; + version = "1.4.1"; src = fetchurl { url = "mirror://gnu/libunistring/libunistring-${finalAttrs.version}.tar.gz"; - hash = "sha256-9+Od3soYhY7N0Cxg0dU3T83LvNtraKOR+El8scss8/c="; + hash = "sha256-ElQq12GUcO/ZWmIxdNzUs2TySDyvcIxr7oN8tTpUy50="; }; outputs = [ diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index 8c4c1c653092..41d2b1f953f0 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -50,23 +50,14 @@ let }; }; libxml2 = callPackage ./common.nix { - version = "2.15.0"; + version = "2.15.1"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "GNOME"; repo = "libxml2"; tag = "v${packages.libxml2.version}"; - hash = "sha256-jumHSiIMDzqG2hvPUdcBP8LsszcU+loOY+vqEh/0Yqo="; + hash = "sha256-FUfYMq5xT2i88JdIw9OtSofraUL3yjsyOVund+mfJKQ="; }; - extraPatches = [ - # Fixes a regression in attribute normalization. - # Also see https://www.postgresql.org/message-id/flat/0756AC61-FBA3-46E2-B3C2-19B58B65EBDC%2540yesql.se - # To be removed with 2.15.1. - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/libxml2/-/commit/da45a190f718e8e2f0e3d2a6325ffa23abc8b90c.patch"; - hash = "sha256-wqmFszr7w1Lte12YR6Ug7Ng7fXABzizwUsJU1EhylgU="; - }) - ]; extraMeta = { maintainers = with lib.maintainers; [ jtojnar diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix index f3a264cf2644..ef861e8ee153 100644 --- a/pkgs/development/libraries/opencv/4.x.nix +++ b/pkgs/development/libraries/opencv/4.x.nix @@ -58,7 +58,7 @@ enableVtk ? false, vtk, enableFfmpeg ? true, - ffmpeg, + ffmpeg_7, enableGStreamer ? true, elfutils, gst_all_1, @@ -365,7 +365,7 @@ effectiveStdenv.mkDerivation { openjpeg ] ++ optionals enableFfmpeg [ - ffmpeg + ffmpeg_7 ] ++ optionals (enableGStreamer && effectiveStdenv.hostPlatform.isLinux) [ elfutils diff --git a/pkgs/development/libraries/openexr/3.nix b/pkgs/development/libraries/openexr/3.nix index b07b4ccb711e..6729fb07a69d 100644 --- a/pkgs/development/libraries/openexr/3.nix +++ b/pkgs/development/libraries/openexr/3.nix @@ -3,6 +3,7 @@ stdenv, fetchFromGitHub, cmake, + ctestCheckHook, imath, libdeflate, pkg-config, @@ -50,6 +51,9 @@ stdenv.mkDerivation rec { imath libdeflate ]; + nativeCheckInputs = [ + ctestCheckHook + ]; # Without 'sse' enforcement tests fail on i686 as due to excessive precision as: # error reading back channel B pixel 21,-76 got -nan expected -nan @@ -58,6 +62,24 @@ stdenv.mkDerivation rec { # https://github.com/AcademySoftwareFoundation/openexr/issues/1400 doCheck = !stdenv.hostPlatform.isAarch32; + disabledTests = lib.optionals stdenv.hostPlatform.isBigEndian [ + # https://github.com/AcademySoftwareFoundation/openexr/issues/1175 + # Not sure if these issues are specific to the tests, or if openexr in general is borked on big-endian. + # Optimistically assuming the former here. + "OpenEXRCore.testReadDeep" + "OpenEXRCore.testDWATable" + "OpenEXRCore.testDWAACompression" + "OpenEXRCore.testDWABCompression" + "OpenEXR.testAttributes" + "OpenEXR.testCompression" + "OpenEXR.testRgba" + "OpenEXR.testCRgba" + "OpenEXR.testRgbaThreading" + "OpenEXR.testSampleImages" + "OpenEXR.testSharedFrameBuffer" + "OpenEXR.testTiledRgba" + ]; + passthru.tests = { inherit libjxl; musl = pkgsCross.musl64.openexr; diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index b4816e8cdecc..8e19722ff5f5 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -257,6 +257,8 @@ let patchShebangs util ''; + __darwinAllowLocalNetworking = true; + postInstall = ( if static then diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index 14e1fbef6863..4573e7c8ba40 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -65,13 +65,6 @@ let ./qtdeclarative-default-disable-qmlcache.patch # add version specific QML import path ./qtdeclarative-qml-paths.patch - # Fix an undefined behavior, and fix random-seeming build error with Clang. See: - # - https://codereview.qt-project.org/c/qt/qtdeclarative/+/354847 - # - https://github.com/llvm/llvm-project/issues/74070 - (fetchpatch { - url = "https://github.com/qt/qtdeclarative/commit/636481a31110f1819efaf6500b25fbc395854311.patch"; - hash = "sha256-ACOG3IjR0SIlLYioODGdhkNTGNvnKu6iOihsVdzyvgo="; - }) ]; qtlocation = lib.optionals stdenv.cc.isClang [ # Fix build with Clang 16 diff --git a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json index 47b8a3495b70..fd5fcefbff34 100644 --- a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json +++ b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json @@ -1,202 +1,202 @@ { "qt3d": { "url": "https://invent.kde.org/qt/qt/qt3d.git", - "rev": "73c1dda553f338c5a3b9ebbfd0e7de114f0c93dc", - "sha256": "0szrqm745b541bamwsbbnl7w6yx0hcaj6jsb3v7kxhvb8kfb1jbm" + "rev": "208f5835e6c2415c9dc5cbe92bba83aa28bab7ea", + "sha256": "0zqvdq5y25b1w7agx5wlr16p1wrx54086r0xcdfg9wx8dayhh1md" }, "qtactiveqt": { "url": "https://invent.kde.org/qt/qt/qtactiveqt.git", - "rev": "df401a62879521f3fd47097205a440d5b173b524", - "sha256": "1zv5a2ywgvv4k3mgz2bbp5696751azf20pxk3xd1dr4dicr2lxf6" + "rev": "e4c93bc7cac45bac6bccda3310947e8fe026a9ed", + "sha256": "1qq6jvqkl4ff7sw20pi1mawh5pypv7vxmj56d38z6p06r1azkvls" }, "qtandroidextras": { "url": "https://invent.kde.org/qt/qt/qtandroidextras.git", - "rev": "484bbac0978eccc9031cbf1bf804a81a6bfb1247", - "sha256": "0h3x582q3m8cpll5f54h2cqngyd7j1mx0j1jqrjcf4mbg5n9y0i5" + "rev": "4928bd58dbc1cdcf44a7e454e3d4654c3c2016f1", + "sha256": "02rsh60lyl6bn2jhx0ajn43safbi904nhwvdpikanrmdbg0z6dpp" }, "qtbase": { "url": "https://invent.kde.org/qt/qt/qtbase.git", - "rev": "128a1d2861ca5693e43e8b79fbd4278dcd451fbc", - "sha256": "1jd2my6az2a9l7d1v6f03ygv5m16dij2mmb73jchgrz20h1an7nz" + "rev": "bebdfd54917e25d1c100e6bd9f5dd53c2e645fd8", + "sha256": "0bg36lxngkq2k11bhqdyfvbc1qyqaghwsi446zfn67vxvyxya3hx" }, "qtcharts": { "url": "https://invent.kde.org/qt/qt/qtcharts.git", - "rev": "aaf04515611203a32cef866cce9bfeaa4cef20b6", - "sha256": "0q0qglksgl50kjq5pqigfvww4rks3ig8xwcz72d0h58ga1i3kgid" + "rev": "1093fb53ced126100d14af30a8adffd29b7ef855", + "sha256": "0cnlg59l743milkki8mjbrfd4cx5ycbqw73apcrnrsag9dqdbw41" }, "qtconnectivity": { "url": "https://invent.kde.org/qt/qt/qtconnectivity.git", - "rev": "15961348aa26b73248432a0a274b332c36cd0054", - "sha256": "020vh62m098zn8fl43xnd5hhvixfr0q21ziq30jqml0j3slx4adx" + "rev": "f1be05c8efeb65b77a8bfd21763ab55bb5c04906", + "sha256": "1vl7wfw9sd8qfl8ixzl5wz4v5km5zdf9bii53q3pw4f2lplsralq" }, "qtdatavis3d": { "url": "https://invent.kde.org/qt/qt/qtdatavis3d.git", - "rev": "a57e633b675d7886c3e5c64441f50ffe831f2de8", - "sha256": "0w0cv80sa9w42wgw3yji228wyhwc3c8lz9r3296crq136aykyy87" + "rev": "d9b988d3c5f9f34b97f3a9ac1347bfb55464cd60", + "sha256": "09jk32kw7wgcrd117a9lsm5w7jszsdhdslk10qn631wz203zbs4i" }, "qtdeclarative": { "url": "https://invent.kde.org/qt/qt/qtdeclarative.git", - "rev": "11ea94fc8ea95d0ba95745a021a1b139283b8b36", - "sha256": "0xw15d7syqw0z6xjnkgckh53rhg7n20j67dm1bhf429ma1cqawqm" + "rev": "1189557a50f11e7bc5716467a149cd09987a9f88", + "sha256": "0cd89d8i8chy1j1yanp1cq5s7467qr24b9c7cx9qw0nb0rf6f8qr" }, "qtdoc": { "url": "https://invent.kde.org/qt/qt/qtdoc.git", - "rev": "36ae30d632c978b795bf40aa1c50abaae7c8ac4d", - "sha256": "10vwkk2b4ysx6i9nyqnl1g7q7rckp5xppwdawd6avlkxhfjayan7" + "rev": "ddb2afda6f713259fc8d95fb22a1c96bb448c36a", + "sha256": "0nk2vwl0ppix794xzj8nqrhsc333v8v4vr1rmwddymwlrdqlqd5d" }, "qtgamepad": { "url": "https://invent.kde.org/qt/qt/qtgamepad.git", - "rev": "fb2191db07738c9a954a77c2fb15dcb925a4c361", - "sha256": "1061ad1350bi0jr2vzpsmk6cgwyhv63d67nb8np1nr2j1iy2ncp7" + "rev": "269fc0731f6838a1c02877a83c0ada23659c69fc", + "sha256": "06jhby671yzbj753yb0lnk4bv2r0nxxibq7fq1yljxdms0rc72iz" }, "qtgraphicaleffects": { "url": "https://invent.kde.org/qt/qt/qtgraphicaleffects.git", - "rev": "fed60f95ddb75103f83cf67bf2c9f471e49576fe", - "sha256": "0ja113vz261farf6c1bilxww4ypzzsnkz7xl37xr1pmxy9hx7lw8" + "rev": "dfb2e7b2c98a9b7185c300d0b92b4048f5d89ba5", + "sha256": "1sn46lmq0y56mw0q11sgaijr2vg1wpp6lj237finp6vr3bji2816" }, "qtimageformats": { "url": "https://invent.kde.org/qt/qt/qtimageformats.git", - "rev": "f86afca95741b9c06202fd13c2b8c01d922a0e24", - "sha256": "1qql5zc2691iazx94s7arnkmk46y8f4p20is0asjfycs30x5cmp5" + "rev": "c91e4c63c1eaf1e23806d9df10e3d5a9ae353c1d", + "sha256": "0q0vcymiqfyz8sfs9wdkhhwff55acj2rsmrb8w6yikmwcmcxp2a3" }, "qtlocation": { "url": "https://invent.kde.org/qt/qt/qtlocation.git", - "rev": "c6e6c63e8566fc75551cb901c3b5939b39e7a25c", - "sha256": "1n7wmsmy33v0fihivs18cafrh51bl0sa6gai6mlid0lx4izbs44f" + "rev": "ba48a8b5cedd157d972c08d371ac2581db166bf7", + "sha256": "00kwv405qq9q8fcwar33s2wvs1dm10fb8plxbz1q0jqcjs2ips6x" }, "qtlottie": { "url": "https://invent.kde.org/qt/qt/qtlottie.git", - "rev": "76bc48eedf60c5f98ff9eb378fc8ce16b053bc32", - "sha256": "00ps9rl4yykbqqqhgnph8090rbq816kj90fb7nyrlr76f6zkjwnh" + "rev": "27ed5a3c95a0810a96fac2a8661ea94d8ea3c44e", + "sha256": "04ivyxnn8d3pkjsbx0gwyj3f5if4m4cih6wyavm8bd2m2kkszx35" }, "qtmacextras": { "url": "https://invent.kde.org/qt/qt/qtmacextras.git", - "rev": "4ebefe8d375054d2244ad7197868cb004c5f99d5", - "sha256": "0006gajlv8mn3gfp83jiy7pg9am86fa2yncn4fqrlv7q4ikqym3b" + "rev": "fc7e9f41d9cec2df05c1d38d6e55d3a0d501dd25", + "sha256": "07q1arvdjwmbrayp2b213b8gqm4psczhx9z1m83invwmbs8iqj07" }, "qtmultimedia": { "url": "https://invent.kde.org/qt/qt/qtmultimedia.git", - "rev": "d342547886448dacf38d2933cd40322c7435ee86", - "sha256": "1fyrwbcn9dh6hsqk4z48g4f00aizankjr63ah7nvnzv8y8wcz62p" + "rev": "ff83d119c75cd8406f73ccc08958fe36747e7390", + "sha256": "09jadnvphilcxxy85dlsr8a6x5w32r1c2hrbh93qbvvf9zlg60ld" }, "qtnetworkauth": { "url": "https://invent.kde.org/qt/qt/qtnetworkauth.git", - "rev": "2653044915b3fb1941aa0f8b25af50343efcbff7", - "sha256": "183cbrwxnp2c7shdqlbjmx4vvb097m67mh3m1mqb0d4xc8fggwa4" + "rev": "510687fa4fdee84dd3d6d166e8f080c484016199", + "sha256": "0a8abmql94wxpfvdj5a1rnh3xsd49c5z8x93hm311sgjkd0aajx7" }, "qtpurchasing": { "url": "https://invent.kde.org/qt/qt/qtpurchasing.git", - "rev": "062778d6f80df1ba45b8697720eb781bd477c292", - "sha256": "1hakq5aam1x9fpnnj8wavmr4f3bdm0q2kflix0ap9197hj7bvzhy" + "rev": "8e9a5ec9f68639162c85c198b28e072e7150883c", + "sha256": "04pmwqnw907dg0hpas0pdrh2fxcqn2mvqz82b1vkviksg8ny3saw" }, "qtquick3d": { "url": "https://invent.kde.org/qt/qt/qtquick3d.git", - "rev": "de6e8026c116a47029f4307fd8a62b5f630f33bf", - "sha256": "0w4i0ii7an8z6xiqg1v0i5dm6rp3mi08mhg99mys10996r8f67yr" + "rev": "47a325358078b72016081a86be628411df2728a9", + "sha256": "18h309g6ni6y4bcss930g04z8ymhl2nfm3sv5s4h2fz3dl0xsqwr" }, "qtquickcontrols": { "url": "https://invent.kde.org/qt/qt/qtquickcontrols.git", - "rev": "37ee5e07e82296e24cc02c8bf6f31cb6bd8846b1", - "sha256": "1xq1a9ci7qvlp5f0ydfx86yw1pk14zdm9262nw65bc1z4nx3qfhw" + "rev": "0c3c18bf8bdac1ef1afdb8aade903edb5c2bc041", + "sha256": "0h8bhrbgfcf7nbfppah8lxnhvygc09983qrvp935r5sw7251km4d" }, "qtquickcontrols2": { "url": "https://invent.kde.org/qt/qt/qtquickcontrols2.git", - "rev": "9bdcebd1c093b6f0886e3a739711470cc37b1adb", - "sha256": "0ihwjw70cb59qvzbdyz9462n7d8f8mcnidkaph3qyqyblnx5rc6b" + "rev": "e464888c53a641ee44a34ff2350cfb156c8ed59f", + "sha256": "08lnqz6v48j1hi6dpll7a052p6r5qfb32md16fppqzn6g5jg9ir2" }, "qtquicktimeline": { "url": "https://invent.kde.org/qt/qt/qtquicktimeline.git", - "rev": "c4f13dd78d6cf2df83335ad0328b892ce4b2ef70", - "sha256": "075q6z6dd1aazpyf03bjmxn6j7lr5g8gjx02jgg2h077h9bdkw9j" + "rev": "43130f2681b76a8d743a04704465b716b6b2faee", + "sha256": "1z1avxxq9d9nzqyxy5pq5maj73cf6dvsn5k83p3sf5kq3x0y75cj" }, "qtremoteobjects": { "url": "https://invent.kde.org/qt/qt/qtremoteobjects.git", - "rev": "e060a0990380134c054bde675d47db048fd3192f", - "sha256": "0qsgixxy6rk8zv8kssfa19asg742y9syl9hc9dkqw0shywi6rm4k" + "rev": "b2740a7c7f5b6ac810240404a947ca5cff9de5f7", + "sha256": "1jxlwc2y165fxdalcr4iqq55gsg5x4nxqd8wdq3dc1824yfnzm6i" }, "qtscxml": { "url": "https://invent.kde.org/qt/qt/qtscxml.git", - "rev": "2b7b19239671784fbf79d6dbc0e985da044ff9dd", - "sha256": "1a67ihj2z4fc6r3y3z18244wswvhf5hshw72z7z9lmmcznls7921" + "rev": "57491f554bc53bd020978b5744437b7ac7e56a27", + "sha256": "00mvwgb3xr116nl7649zq7ai2074clzw760c140sy91zqgqkjsx4" }, "qtsensors": { "url": "https://invent.kde.org/qt/qt/qtsensors.git", - "rev": "79ed5db98f36b8ca70b077edef46fc793debb3ab", - "sha256": "1dzbcqsrl5wlc1r54jgz63i516iaj73g2g4476m8va6ip4zrxxnp" + "rev": "50a61b360877e7c1300df76b5aabf8d75554a398", + "sha256": "0giqwn4grg9999y31avh7ajsv9gkcfzf0xndx8bvv79si0wp59g6" }, "qtserialbus": { "url": "https://invent.kde.org/qt/qt/qtserialbus.git", - "rev": "971adee604b772d79686126fe8b1e333824f67dc", - "sha256": "0fdr81xj9mhyy7il3x2h87gv5qbjjy5rlps372s5qz97z8jdazy6" + "rev": "c23069351ec31563c9ea9fcdce42ccdba95ea518", + "sha256": "1qgxlgnl53gabrfqihxwygdbdiqjvn2hfajmwb3h44srpq0srk33" }, "qtserialport": { "url": "https://invent.kde.org/qt/qt/qtserialport.git", - "rev": "9bb2b66259413ac4eda1ddf64209ef44412aa55d", - "sha256": "1kpqjmipa2giv1rv1kg25knir9299pnh6gh8l87immnakwnp7q3n" + "rev": "b64a7eeda9b6a65b5ed01b1b40b07177f0aa4c0f", + "sha256": "134mn0njfvmzgrf325bikazkiq4xdn5wjhj56kxh1hhaz3q25hyp" }, "qtspeech": { "url": "https://invent.kde.org/qt/qt/qtspeech.git", - "rev": "088b86a0e53ebb714c1276d041ab2c06fee58e6e", - "sha256": "0qjpr91wlxq25n72yp5026hdwy560g35xk5419r7hz1snggbly4s" + "rev": "aa2376f9b1302222edcd16b4641bbd7004318c00", + "sha256": "0vcxgkymzhaw01f26zlny4bka9k829rwzkwk95rr3dfq7wlyxshz" }, "qtsvg": { "url": "https://invent.kde.org/qt/qt/qtsvg.git", - "rev": "9c149213f46b844607cf7db8f800d906db3a682f", - "sha256": "14ww7c66fs224gfkawjbb8gfrjfcj1ww90887c01504k7ipvlbwb" + "rev": "b74f7291f343dcbcb487b020868f042d8fe83098", + "sha256": "1n0sjn8h5k2sh8p2a85cxdpqbnd63gz4rf9wwbshhd13w623f9s8" }, "qttools": { "url": "https://invent.kde.org/qt/qt/qttools.git", - "rev": "e02ce0dfa692913bd5dcc50917f7e21f5a41cd2b", - "sha256": "0dmv4y2lzdkzj9in3w1cchn0hb637280zl17vnzzgcpj4jmyxm3b" + "rev": "fa40a2d3373b89be0cd0a43fe0c1d047e3d34058", + "sha256": "06kr88gmwc7xh1whdbcg84y1naak5rv99jkscjbhzyz3z91xy7hl" }, "qttranslations": { "url": "https://invent.kde.org/qt/qt/qttranslations.git", - "rev": "fd567a42c1b566f22f339db758d29925fd2a8c60", - "sha256": "14cxna8ql87b68wriqkda9bdrympv827cpng7pazjzglgk4lp97y" + "rev": "3cbcceb8e3e2e63a4022f1be946c7118c527a83e", + "sha256": "15lw5snqfkwwcsazh02lhiia39gy08nfijdpkzvll2qvg4b58zkn" }, "qtvirtualkeyboard": { "url": "https://invent.kde.org/qt/qt/qtvirtualkeyboard.git", - "rev": "0d229d587e578fb4a5144594b926d5d3138c407e", - "sha256": "0q7xv7cg4i5aliwaydw7xshwcv1a1icbg58rlwv77vzla7vsyyga" + "rev": "859d2a6ee329cc08414410b2ef8c0af77a6853d3", + "sha256": "06sdpcanzp1a71d99rjivrbjp780mvwssc4w1sap2gskcmmgkwbs" }, "qtwayland": { "url": "https://invent.kde.org/qt/qt/qtwayland.git", - "rev": "c1ac089f3f37ab172d8010b0fabf4007d62d1812", - "sha256": "16wy4xml5k7bg48ai8777h95clny436lkr9vfcjzsbdlw17mgylw" + "rev": "df49b9f3badce793a0a9ea850cf1a02cc5bafef6", + "sha256": "01xm2r1pv7kxb4aj72ldfzmax6d799h6bj4h2xhpcii812wf5lda" }, "qtwebchannel": { "url": "https://invent.kde.org/qt/qt/qtwebchannel.git", - "rev": "85ba097de9759efe5563156e43de1ad8473d5d54", - "sha256": "0wkd2fvnwi3hpqpy95mjhkj0msi447302srrfxr9j4xp435dpp9p" + "rev": "2a157921861e651f43456cb7941b250c89feb736", + "sha256": "1w58b602f20mppd0zfr9yvfdn1xwfkfclnjs0p5mgymq6d946dyk" }, "qtwebglplugin": { "url": "https://invent.kde.org/qt/qt/qtwebglplugin.git", - "rev": "adb24841f9fc2eea94f1d2636070411fcb6254b4", - "sha256": "0ra0906g3cqavkl18qp79jghy5n9avwqwf4vqn9jsci5may1bmv5" + "rev": "b9aaac72d0853ba48f6bfd710a43df94d83d4701", + "sha256": "07zx55f52jgk31bm6c68iydknrih245ndnvz714l6kxw66fv4rjq" }, "qtwebsockets": { "url": "https://invent.kde.org/qt/qt/qtwebsockets.git", - "rev": "db9cb84499229143506a9692fc65d3cb223b3978", - "sha256": "1kp6gmzh00b07cdpsm062npgf10540aasyhmdqjh4zv9ggnf6dm6" + "rev": "0f910acb737cefc889ce1088fc60d15bc18efe9c", + "sha256": "1ba9ll28hznd6qpjjiqvc2z6gaz2qgq7105dd0w810xpbaiixy0a" }, "qtwebview": { "url": "https://invent.kde.org/qt/qt/qtwebview.git", - "rev": "f16dadb6d147c46565537ede46518a352cdd87c9", - "sha256": "0jm0wxblrlab3yizyrcip1s9n56mavpygfjivj27nmqwsycs8sfp" + "rev": "34342073a59f3a27ef3de02f6b21337c4f8db6cf", + "sha256": "1h6n7dkd6mjclxllyw2brz8wv4d68dx2ykckbwb3bkxyd6rmg1f6" }, "qtwinextras": { "url": "https://invent.kde.org/qt/qt/qtwinextras.git", - "rev": "03d72f7b7df7892024f7a5a380305ad0347c1141", - "sha256": "164q0d4dhpb3w1qks26qc79ph3y3h4diihcgc41d4kgmc7gi75s6" + "rev": "5e5ae2b77078dbe51fb798743de606e6f9a5e19d", + "sha256": "04x8ax197z0dr01nxrb6bh4q8c077ny5n812fx5mq56l54v2m1ks" }, "qtx11extras": { "url": "https://invent.kde.org/qt/qt/qtx11extras.git", - "rev": "e6e7633bbd0efcc56035fef77f3f45efccf03a64", - "sha256": "1h02f17cn6x19d4z37w9pvfivqm2c6qflrhm5n0fqydr1wwb6g3l" + "rev": "c44c4fa86fa0794c25baef4ee1f6272aca8c511a", + "sha256": "0287cvs9wqlzz6gnj81gi8rp50s2rdnigcmld3fgddsg8f3v7hdj" }, "qtxmlpatterns": { "url": "https://invent.kde.org/qt/qt/qtxmlpatterns.git", - "rev": "e645537910450ba8bf5ecfbb735f69acdeeef046", - "sha256": "08lnchs0svgrv45zc3jwinkqzvd4crzzpipm9g1ql426clcdyq8n" + "rev": "0b644263abca66503db1ce8a4e126cf358a34685", + "sha256": "1b1zzglvcdp7wvlpgk1gj8gmyy2r21yi6p8xiyvbccq5bbjpn0hw" } } diff --git a/pkgs/development/libraries/qt-5/5.15/srcs.nix b/pkgs/development/libraries/qt-5/5.15/srcs.nix index b3f1e58e14b4..07b617c7b97d 100644 --- a/pkgs/development/libraries/qt-5/5.15/srcs.nix +++ b/pkgs/development/libraries/qt-5/5.15/srcs.nix @@ -5,7 +5,7 @@ }: let - version = "5.15.17"; + version = "5.15.18"; mk = name: args: { inherit version; diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 57f77518ed55..4974937053ca 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -17,7 +17,6 @@ python3, which, # darwin support - apple-sdk_14, xcbuild, dbus, @@ -86,11 +85,6 @@ let "linux-generic-g++" else throw "Please add a qtPlatformCross entry for ${plat.config}"; - - # Per https://doc.qt.io/qt-5/macos.html#supported-versions: build SDK = 13.x or 14.x. - darwinVersionInputs = [ - apple-sdk_14 - ]; in stdenv.mkDerivation ( @@ -153,7 +147,6 @@ stdenv.mkDerivation ( ++ lib.optionals (!stdenv.hostPlatform.isDarwin) ( lib.optional withLibinput libinput ++ lib.optional withGtk3 gtk3 ) - ++ lib.optional stdenv.hostPlatform.isDarwin darwinVersionInputs ++ lib.optional developerBuild gdb ++ lib.optional (cups != null) cups ++ lib.optional mysqlSupport libmysqlclient diff --git a/pkgs/development/libraries/qt-5/qtModule.nix b/pkgs/development/libraries/qt-5/qtModule.nix index 165b4271c077..fa21bb05c864 100644 --- a/pkgs/development/libraries/qt-5/qtModule.nix +++ b/pkgs/development/libraries/qt-5/qtModule.nix @@ -3,7 +3,6 @@ stdenv, buildPackages, mkDerivation, - apple-sdk_14, perl, qmake, patches, @@ -29,12 +28,7 @@ mkDerivation ( inherit pname version src; patches = (args.patches or [ ]) ++ (patches.${pname} or [ ]); - buildInputs = - args.buildInputs or [ ] - # Per https://doc.qt.io/qt-5/macos.html#supported-versions - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_14 - ]; + buildInputs = args.buildInputs or [ ]; nativeBuildInputs = (args.nativeBuildInputs or [ ]) diff --git a/pkgs/development/libraries/qt-6/modules/qtbase/default.nix b/pkgs/development/libraries/qt-6/modules/qtbase/default.nix index b16805ed09c2..ab35d1906f73 100644 --- a/pkgs/development/libraries/qt-6/modules/qtbase/default.nix +++ b/pkgs/development/libraries/qt-6/modules/qtbase/default.nix @@ -292,9 +292,6 @@ stdenv.mkDerivation rec { # When this variable is not set, cmake tries to execute xcodebuild # to query the version. "-DQT_INTERNAL_XCODE_VERSION=0.1" - # This should be removed once https://github.com/NixOS/nixpkgs/pull/455592 makes it to master - # as it will become redundant. - "-DCMAKE_FIND_FRAMEWORK=FIRST" ] ++ lib.optionals isCrossBuild [ "-DQT_HOST_PATH=${pkgsBuildBuild.qt6.qtbase}" diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index 7f359ebacbdb..b01d34047673 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, perl, which, # Most packages depending on openblas expect integer width to match @@ -198,6 +199,13 @@ stdenv.mkDerivation rec { # Remove this once https://github.com/OpenMathLib/OpenBLAS/issues/5414 is # resolved. ./disable-sme-sgemm-kernel.patch + + # https://github.com/OpenMathLib/OpenBLAS/issues/5460 + (fetchpatch { + name = "0001-openblas-Use-generic-kernels-for-SCAL-on-POWER4-5.patch"; + url = "https://github.com/OpenMathLib/OpenBLAS/commit/14c9dcaac70d9382de00ba4418643d9587f4950e.patch"; + hash = "sha256-mIOqRc7tE1rV/krrAu630JwApZHdeHCdVmO5j6eDC8U="; + }) ]; postPatch = '' diff --git a/pkgs/development/libraries/spandsp/3.nix b/pkgs/development/libraries/spandsp/3.nix index 77126a7c4cee..5a7f0005a407 100644 --- a/pkgs/development/libraries/spandsp/3.nix +++ b/pkgs/development/libraries/spandsp/3.nix @@ -4,16 +4,19 @@ libjpeg, }: -(callPackage ./common.nix { }).overrideAttrs (previousAttrs: { +((callPackage ./common.nix { }) { version = "3.0.0"; src = fetchFromGitHub { owner = "freeswitch"; - repo = previousAttrs.pname; + repo = "spandsp"; rev = "6ec23e5a7e411a22d59e5678d12c4d2942c4a4b6"; # upstream does not seem to believe in tags sha256 = "03w0s99y3zibi5fnvn8lk92dggfgrr0mz5255745jfbz28b2d5y7"; }; - - propagatedBuildInputs = previousAttrs.propagatedBuildInputs or [ ] ++ [ - libjpeg - ]; -}) +}).overrideAttrs + ( + finalAttrs: previousAttrs: { + propagatedBuildInputs = previousAttrs.propagatedBuildInputs or [ ] ++ [ + libjpeg + ]; + } + ) diff --git a/pkgs/development/libraries/spandsp/common.nix b/pkgs/development/libraries/spandsp/common.nix index 7abfee0668c5..baff42276a60 100644 --- a/pkgs/development/libraries/spandsp/common.nix +++ b/pkgs/development/libraries/spandsp/common.nix @@ -5,11 +5,27 @@ libtiff, buildPackages, fetchpatch, - autoreconfHook, + autoconf, + automake, + fftw, + libpcap, + libsndfile, + libtool, + libxml2, + netpbm, + sox, + util-linux, + which, +}: + +{ + version, + src, }: stdenv.mkDerivation (finalAttrs: { pname = "spandsp"; + inherit version src; patches = [ # submitted upstream: https://github.com/freeswitch/spandsp/pull/47 @@ -19,39 +35,176 @@ stdenv.mkDerivation (finalAttrs: { }) ]; + postPatch = '' + patchShebangs autogen.sh + + # pkg-config? What's that? + # Actually *check* the value given for --{en,dis}able-tests, not just whether the option was passed + substituteInPlace configure.ac \ + --replace-fail '$xml2_include_dir /usr/include /usr/local/include /usr/include/libxml2 /usr/local/include/libxml2' '$xml2_include_dir ${lib.getDev libxml2}/include ${lib.getDev libxml2}/include/libxml2 /usr/local/include/libxml2' \ + --replace-fail 'if test -n "$enable_tests" ; then' 'if test "$enable_tests" = "yes" ; then' + ''; + outputs = [ "out" "dev" ]; - nativeBuildInputs = [ autoreconfHook ]; + strictDeps = true; + + nativeBuildInputs = [ + autoconf + automake + libtool + util-linux + which + ]; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + propagatedBuildInputs = [ audiofile libtiff ]; + nativeCheckInputs = [ + libtiff + netpbm + sox + ]; + + checkInputs = [ + fftw + libpcap + libsndfile + libxml2 + ]; + + preConfigure = '' + ./autogen.sh + ''; + configureFlags = [ + (lib.strings.enableFeature finalAttrs.finalPackage.doCheck "tests") + # This flag is required to prevent linking error in the cross-compilation case. # I think it's fair to assume that realloc(NULL, size) will return a valid memory # block for most libc implementation, so let's just assume that and hope for the best. "ac_cv_func_malloc_0_nonnull=yes" ]; - enableParallelBuilding = true; + # Issues with test asset generation under heavy parallelism + enableParallelBuilding = false; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/cc" ]; - strictDeps = true; + env.NIX_CFLAGS_COMPILE = toString [ + # Missing const conversion on some calls + "-Wno-error=incompatible-pointer-types" + ]; + + hardeningDisable = lib.optionals (lib.strings.versionOlder finalAttrs.version "3.0.0") [ + "format" + ]; + + doCheck = + stdenv.buildPlatform.canExecute stdenv.hostPlatform + # Compat with i.e. Clang improved by 0446f4e0c72553f3ea9b50c5333ece6ac980e58d, too big to apply + && stdenv.cc.isGNU; + + disabledTests = [ + # Need proprietary recordings that aren't included + "ademco_contactid_tests" + "dtmf_rx_tests" + "g722_tests" + "g726_tests" + "gsm0610_tests" + "modem_connect_tones_tests" + "sig_tone_tests" + "t42_tests" + "t43_tests" + "v42bis_tests" + + # Fails to initialise modem. + "data_modems_tests" + + # ERROR PTY Fatal error: failed to create /dev/spandsp/0 symbolic link + "dummy_modems_tests" # needs extra setup, but eventually runs into the above error + "pseudo_terminal_tests" + + # Hangs. Maybe needs setup / some interaction + "fax_tests" + + # Needs an input file, unsure what's suitable + "playout_tests" + + # Borked in the packaged versions due to missing audio file - copy-pasting mistake + # Maybe fixed after 5394b2cae6c482ccb835335b769469977e6802ae, but too big to apply + "super_tone_rx_tests" + + # Stuck + "t31_pseudo_terminal_tests" + + # Generated signal has more than the expected maximum samples - 441 vs 422 + "time_scale_tests" + + # Test failed - -16dBm0 of noise, signal is 9056.993164 (11440.279297) + "tone_detect_tests" + + # Fails due to result different from reference + "v18_tests" + + # Seemingly runs forever, with tons of output + "v22bis_tests" + ]; + + checkPhase = '' + runHook preCheck + + pushd tests + + for test in *_tests; do + testArgs=() + case "$test" in + # Skipped tests + ${lib.strings.concatStringsSep "|" finalAttrs.disabledTests}) + echo "Skipping $test" + continue + ;; + + # Needs list of subtests to run + echo_tests) + testArgs+=( + sanity 2a 2b 2ca 3a 3ba 3bb 3c 4 5 6 7 8 9 10a 10b 10c 11 12 13 14 15 + ) + # Fallthough for running the test + ;;& + + *) + echo "Running $test" + if ! ./"$test" "''${testArgs[@]}" >"$test".log 2>&1; then + echo "$test failed! Output:" + cat "$test".log + exit 1 + fi + ;; + esac + done + + popd + + runHook postCheck + ''; meta = { description = "Portable and modular SIP User-Agent with audio and video support"; homepage = "https://github.com/freeswitch/spandsp"; platforms = with lib.platforms; unix; maintainers = with lib.maintainers; [ misuzu ]; + teams = [ lib.teams.ngi ]; license = lib.licenses.gpl2; downloadPage = "http://www.soft-switch.org/downloads/spandsp/"; }; diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix index 991b9cd8ba17..e2b70b402778 100644 --- a/pkgs/development/libraries/spandsp/default.nix +++ b/pkgs/development/libraries/spandsp/default.nix @@ -3,10 +3,10 @@ callPackage, }: -(callPackage ./common.nix { }).overrideAttrs (_: rec { +(callPackage ./common.nix { }) rec { version = "0.0.6"; src = fetchurl { url = "https://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz"; sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc"; }; -}) +} diff --git a/pkgs/development/ocaml-modules/b0/default.nix b/pkgs/development/ocaml-modules/b0/default.nix index a6c0bb4327d8..f18002ccfc13 100644 --- a/pkgs/development/ocaml-modules/b0/default.nix +++ b/pkgs/development/ocaml-modules/b0/default.nix @@ -9,57 +9,51 @@ cmdliner, }: -let +stdenv.mkDerivation rec { -in -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") - "b0 is not available for OCaml ${ocaml.version}" + pname = "ocaml${ocaml.version}-b0"; + version = "0.0.5"; - stdenv.mkDerivation - rec { + src = fetchurl { + url = "${meta.homepage}/releases/b0-${version}.tbz"; + sha256 = "sha256-ty04JQcP4RCme/VQw0ko2IBebWWX5cBU6nRTTeV1I/I="; + }; - pname = "ocaml${ocaml.version}-b0"; - version = "0.0.5"; + strictDeps = true; - src = fetchurl { - url = "${meta.homepage}/releases/b0-${version}.tbz"; - sha256 = "sha256-ty04JQcP4RCme/VQw0ko2IBebWWX5cBU6nRTTeV1I/I="; - }; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ + topkg + cmdliner + ]; - strictDeps = true; + inherit (topkg) buildPhase installPhase; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; - buildInputs = [ - topkg - cmdliner - ]; - - inherit (topkg) buildPhase installPhase; - - meta = with lib; { - description = "Software construction and deployment kit"; - longDescription = '' - WARNING this package is unstable and work in progress, do not depend on - it. - B0 describes software construction and deployments using modular and - customizable definitions written in OCaml. B0 describes: - * Build environments. - * Software configuration, build and testing. - * Source and binary deployments. - * Software life-cycle procedures. - B0 also provides the B00 build library which provides abitrary build - abstraction with reliable and efficient incremental rebuilds. The B00 - library can be – and has been – used on its own to devise domain specific - build systems. - ''; - homepage = "https://erratique.ch/software/b0"; - inherit (ocaml.meta) platforms; - license = licenses.isc; - maintainers = [ maintainers.Julow ]; - }; - } + meta = with lib; { + description = "Software construction and deployment kit"; + longDescription = '' + WARNING this package is unstable and work in progress, do not depend on + it. + B0 describes software construction and deployments using modular and + customizable definitions written in OCaml. B0 describes: + * Build environments. + * Software configuration, build and testing. + * Source and binary deployments. + * Software life-cycle procedures. + B0 also provides the B00 build library which provides abitrary build + abstraction with reliable and efficient incremental rebuilds. The B00 + library can be – and has been – used on its own to devise domain specific + build systems. + ''; + homepage = "https://erratique.ch/software/b0"; + inherit (ocaml.meta) platforms; + license = licenses.isc; + maintainers = [ maintainers.Julow ]; + broken = !(lib.versionAtLeast ocaml.version "4.08"); + }; +} diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix index 4120f81a1a02..57fc0f208589 100644 --- a/pkgs/development/ocaml-modules/bap/default.nix +++ b/pkgs/development/ocaml-modules/bap/default.nix @@ -42,111 +42,108 @@ z3, }: -if lib.versionOlder ocaml.version "4.08" then - throw "BAP is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-bap"; + version = "2.5.0+pr1621"; + src = fetchFromGitHub { + owner = "BinaryAnalysisPlatform"; + repo = "bap"; + rev = "65c282d94e8b7028e8a986c637db3a2378a753f6"; + hash = "sha256-LUZZOgG1T8xa5jLA/fDft8ofYb/Yf6QjTrl6AlLY7H0="; + }; - stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-bap"; - version = "2.5.0+pr1621"; - src = fetchFromGitHub { - owner = "BinaryAnalysisPlatform"; - repo = "bap"; - rev = "65c282d94e8b7028e8a986c637db3a2378a753f6"; - hash = "sha256-LUZZOgG1T8xa5jLA/fDft8ofYb/Yf6QjTrl6AlLY7H0="; - }; + sigs = fetchurl { + url = "https://github.com/BinaryAnalysisPlatform/bap/releases/download/v${version}/sigs.zip"; + sha256 = "0d69jd28z4g64mglq94kj5imhmk5f6sgcsh9q2nij3b0arpcliwk"; + }; - sigs = fetchurl { - url = "https://github.com/BinaryAnalysisPlatform/bap/releases/download/v${version}/sigs.zip"; - sha256 = "0d69jd28z4g64mglq94kj5imhmk5f6sgcsh9q2nij3b0arpcliwk"; - }; + createFindlibDestdir = true; - createFindlibDestdir = true; + setupHook = writeText "setupHook.sh" '' + export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}/" + export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}-llvm-plugins/" + ''; - setupHook = writeText "setupHook.sh" '' - export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}/" - export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}-llvm-plugins/" - ''; + nativeBuildInputs = [ + which + makeWrapper + ocaml + findlib + ocamlbuild + ocaml_oasis + ]; - nativeBuildInputs = [ - which - makeWrapper - ocaml - findlib - ocamlbuild - ocaml_oasis - ]; + buildInputs = [ + ocamlbuild + linenoise + ounit + ppx_bitstring + z3 + utop + libxml2 + ncurses + ]; - buildInputs = [ - ocamlbuild - linenoise - ounit - ppx_bitstring - z3 - utop - libxml2 - ncurses - ]; + propagatedBuildInputs = [ + bitstring + camlzip + cmdliner + ppx_bap + core_kernel + ezjsonm + fileutils + jane_rope + mmap + lwt + ocamlgraph + ocurl + re + uri + zarith + piqi + parsexp + piqi-ocaml + uuidm + frontc + yojson + ]; - propagatedBuildInputs = [ - bitstring - camlzip - cmdliner - ppx_bap - core_kernel - ezjsonm - fileutils - jane_rope - mmap - lwt - ocamlgraph - ocurl - re - uri - zarith - piqi - parsexp - piqi-ocaml - uuidm - frontc - yojson - ]; + installPhase = '' + runHook preInstall + export OCAMLPATH=$OCAMLPATH:$OCAMLFIND_DESTDIR; + export PATH=$PATH:$out/bin + export CAML_LD_LIBRARY_PATH=''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}$OCAMLFIND_DESTDIR/bap-plugin-llvm/:$OCAMLFIND_DESTDIR/bap/ + mkdir -p $out/lib/bap + make install + rm $out/bin/baptop + makeWrapper ${utop}/bin/utop $out/bin/baptop --prefix OCAMLPATH : $OCAMLPATH --prefix PATH : $PATH --add-flags "-ppx ppx-bap -short-paths -require \"bap.top\"" + wrapProgram $out/bin/bapbuild --prefix OCAMLPATH : $OCAMLPATH --prefix PATH : $PATH + ln -s $sigs $out/share/bap/sigs.zip + runHook postInstall + ''; - installPhase = '' - runHook preInstall - export OCAMLPATH=$OCAMLPATH:$OCAMLFIND_DESTDIR; - export PATH=$PATH:$out/bin - export CAML_LD_LIBRARY_PATH=''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}$OCAMLFIND_DESTDIR/bap-plugin-llvm/:$OCAMLFIND_DESTDIR/bap/ - mkdir -p $out/lib/bap - make install - rm $out/bin/baptop - makeWrapper ${utop}/bin/utop $out/bin/baptop --prefix OCAMLPATH : $OCAMLPATH --prefix PATH : $PATH --add-flags "-ppx ppx-bap -short-paths -require \"bap.top\"" - wrapProgram $out/bin/bapbuild --prefix OCAMLPATH : $OCAMLPATH --prefix PATH : $PATH - ln -s $sigs $out/share/bap/sigs.zip - runHook postInstall - ''; + disableIda = "--disable-ida"; + disableGhidra = "--disable-ghidra"; - disableIda = "--disable-ida"; - disableGhidra = "--disable-ghidra"; + patches = [ + ./curses_is_ncurses.patch + ]; - patches = [ - ./curses_is_ncurses.patch - ]; + preConfigure = '' + substituteInPlace oasis/monads --replace-warn core_kernel.rope jane_rope + ''; - preConfigure = '' - substituteInPlace oasis/monads --replace-warn core_kernel.rope jane_rope - ''; + configureFlags = [ + "--enable-everything ${disableIda} ${disableGhidra}" + "--with-llvm-config=${llvm.dev}/bin/llvm-config" + ]; - configureFlags = [ - "--enable-everything ${disableIda} ${disableGhidra}" - "--with-llvm-config=${llvm.dev}/bin/llvm-config" - ]; - - meta = with lib; { - description = "Platform for binary analysis. It is written in OCaml, but can be used from other languages"; - homepage = "https://github.com/BinaryAnalysisPlatform/bap/"; - license = licenses.mit; - maintainers = [ maintainers.maurer ]; - mainProgram = "bap"; - }; - } + meta = with lib; { + description = "Platform for binary analysis. It is written in OCaml, but can be used from other languages"; + homepage = "https://github.com/BinaryAnalysisPlatform/bap/"; + license = licenses.mit; + maintainers = [ maintainers.maurer ]; + mainProgram = "bap"; + broken = lib.versionOlder ocaml.version "4.08"; + }; +} diff --git a/pkgs/development/ocaml-modules/bitstring/ppx.nix b/pkgs/development/ocaml-modules/bitstring/ppx.nix index 18055887c8c6..9215c8293d28 100644 --- a/pkgs/development/ocaml-modules/bitstring/ppx.nix +++ b/pkgs/development/ocaml-modules/bitstring/ppx.nix @@ -8,28 +8,25 @@ ounit, }: -if lib.versionOlder ppxlib.version "0.18.0" then - throw "ppx_bitstring is not available with ppxlib-${ppxlib.version}" -else +buildDunePackage { + pname = "ppx_bitstring"; + inherit (bitstring) version src; - buildDunePackage { - pname = "ppx_bitstring"; - inherit (bitstring) version src; + patches = lib.optional (lib.versionAtLeast ppxlib.version "0.36") (fetchpatch { + url = "https://github.com/xguerin/bitstring/commit/b42d4924cbb5ec5fd5309e6807852b63f456f35d.patch"; + hash = "sha256-wtpSnGOzIUTmB3LhyHGopecy7F/5SYFOwaR6eReV+6g="; + }); - patches = lib.optional (lib.versionAtLeast ppxlib.version "0.36") (fetchpatch { - url = "https://github.com/xguerin/bitstring/commit/b42d4924cbb5ec5fd5309e6807852b63f456f35d.patch"; - hash = "sha256-wtpSnGOzIUTmB3LhyHGopecy7F/5SYFOwaR6eReV+6g="; - }); + buildInputs = [ + bitstring + ppxlib + ]; - buildInputs = [ - bitstring - ppxlib - ]; + doCheck = lib.versionAtLeast ocaml.version "4.08"; + checkInputs = [ ounit ]; - doCheck = lib.versionAtLeast ocaml.version "4.08"; - checkInputs = [ ounit ]; - - meta = bitstring.meta // { - description = "Bitstrings and bitstring matching for OCaml - PPX extension"; - }; - } + meta = bitstring.meta // { + description = "Bitstrings and bitstring matching for OCaml - PPX extension"; + broken = lib.versionOlder ppxlib.version "0.18.0"; + }; +} diff --git a/pkgs/development/ocaml-modules/brisk-reconciler/default.nix b/pkgs/development/ocaml-modules/brisk-reconciler/default.nix index d99e050d7642..aa918ae4d674 100644 --- a/pkgs/development/ocaml-modules/brisk-reconciler/default.nix +++ b/pkgs/development/ocaml-modules/brisk-reconciler/default.nix @@ -8,11 +8,7 @@ }: let - version = - if lib.versionAtLeast ocaml.version "5.3" then - throw "brisk-reconciler is not available for OCaml ${ocaml.version}" - else - "1.0.0-alpha1"; + version = "1.0.0-alpha1"; in buildDunePackage { @@ -42,5 +38,6 @@ buildDunePackage { homepage = "https://github.com/briskml/brisk-reconciler"; maintainers = with lib.maintainers; [ momeemt ]; license = lib.licenses.mit; + broken = lib.versionAtLeast ocaml.version "5.3"; }; } diff --git a/pkgs/development/ocaml-modules/bz2/default.nix b/pkgs/development/ocaml-modules/bz2/default.nix index 4fabc3418885..3d096571e86e 100644 --- a/pkgs/development/ocaml-modules/bz2/default.nix +++ b/pkgs/development/ocaml-modules/bz2/default.nix @@ -8,44 +8,41 @@ autoreconfHook, }: -if lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "5.0" then - throw "bz2 is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-bz2"; + version = "0.7.0"; - stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-bz2"; - version = "0.7.0"; + src = fetchFromGitLab { + owner = "irill"; + repo = "camlbz2"; + rev = version; + sha256 = "sha256-jBFEkLN2fbC3LxTu7C0iuhvNg64duuckBHWZoBxrV/U="; + }; - src = fetchFromGitLab { - owner = "irill"; - repo = "camlbz2"; - rev = version; - sha256 = "sha256-jBFEkLN2fbC3LxTu7C0iuhvNg64duuckBHWZoBxrV/U="; - }; + autoreconfFlags = [ + "-I" + "." + ]; - autoreconfFlags = [ - "-I" - "." - ]; + nativeBuildInputs = [ + autoreconfHook + ocaml + findlib + ]; - nativeBuildInputs = [ - autoreconfHook - ocaml - findlib - ]; + propagatedBuildInputs = [ + bzip2 + ]; - propagatedBuildInputs = [ - bzip2 - ]; + strictDeps = true; - strictDeps = true; + preInstall = "mkdir -p $OCAMLFIND_DESTDIR/stublibs"; - preInstall = "mkdir -p $OCAMLFIND_DESTDIR/stublibs"; - - meta = with lib; { - description = "OCaml bindings for the libbz2 (AKA, bzip2) (de)compression library"; - downloadPage = "https://gitlab.com/irill/camlbz2"; - license = licenses.lgpl21; - maintainers = [ ]; - }; - } + meta = with lib; { + description = "OCaml bindings for the libbz2 (AKA, bzip2) (de)compression library"; + downloadPage = "https://gitlab.com/irill/camlbz2"; + license = licenses.lgpl21; + broken = lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "5.0"; + maintainers = [ ]; + }; +} diff --git a/pkgs/development/ocaml-modules/camlpdf/default.nix b/pkgs/development/ocaml-modules/camlpdf/default.nix index 3bd8856bf1ce..65eafc11744d 100644 --- a/pkgs/development/ocaml-modules/camlpdf/default.nix +++ b/pkgs/development/ocaml-modules/camlpdf/default.nix @@ -6,36 +6,33 @@ findlib, }: -if lib.versionOlder ocaml.version "4.10" then - throw "camlpdf is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation rec { + version = "2.8"; + pname = "ocaml${ocaml.version}-camlpdf"; - stdenv.mkDerivation rec { - version = "2.8"; - pname = "ocaml${ocaml.version}-camlpdf"; + src = fetchFromGitHub { + owner = "johnwhitington"; + repo = "camlpdf"; + rev = "v${version}"; + hash = "sha256-+SFuFqlrP0nwm199y0QFWYvlwD+Cbh0PHA5bmXIWdNk="; + }; - src = fetchFromGitHub { - owner = "johnwhitington"; - repo = "camlpdf"; - rev = "v${version}"; - hash = "sha256-+SFuFqlrP0nwm199y0QFWYvlwD+Cbh0PHA5bmXIWdNk="; - }; + nativeBuildInputs = [ + ocaml + findlib + ]; - nativeBuildInputs = [ - ocaml - findlib - ]; + strictDeps = true; - strictDeps = true; + preInstall = '' + mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs + ''; - preInstall = '' - mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs - ''; - - meta = with lib; { - description = "OCaml library for reading, writing and modifying PDF files"; - homepage = "https://github.com/johnwhitington/camlpdf"; - license = licenses.lgpl21Plus; - maintainers = with maintainers; [ vbgl ]; - }; - } + meta = with lib; { + description = "OCaml library for reading, writing and modifying PDF files"; + homepage = "https://github.com/johnwhitington/camlpdf"; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ vbgl ]; + broken = lib.versionOlder ocaml.version "4.10"; + }; +} diff --git a/pkgs/development/ocaml-modules/cil/default.nix b/pkgs/development/ocaml-modules/cil/default.nix index da1c0aa10c2b..a0b36953bf47 100644 --- a/pkgs/development/ocaml-modules/cil/default.nix +++ b/pkgs/development/ocaml-modules/cil/default.nix @@ -8,41 +8,38 @@ ocamlbuild, }: -if lib.versionAtLeast ocaml.version "4.06" then - throw "cil is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation rec { + pname = "ocaml-cil"; + version = "1.7.3"; - stdenv.mkDerivation rec { - pname = "ocaml-cil"; - version = "1.7.3"; + src = fetchurl { + url = "mirror://sourceforge/cil/cil-${version}.tar.gz"; + sha256 = "05739da0b0msx6kmdavr3y2bwi92jbh3szc35d7d8pdisa8g5dv9"; + }; - src = fetchurl { - url = "mirror://sourceforge/cil/cil-${version}.tar.gz"; - sha256 = "05739da0b0msx6kmdavr3y2bwi92jbh3szc35d7d8pdisa8g5dv9"; - }; + nativeBuildInputs = [ + perl + ocaml + findlib + ocamlbuild + ]; - nativeBuildInputs = [ - perl - ocaml - findlib - ocamlbuild - ]; + strictDeps = true; - strictDeps = true; + createFindlibDestdir = true; - createFindlibDestdir = true; + preConfigure = '' + substituteInPlace Makefile.in --replace 'MACHDEPCC=gcc' 'MACHDEPCC=$(CC)' + export FORCE_PERL_PREFIX=1 + ''; + prefixKey = "-prefix="; - preConfigure = '' - substituteInPlace Makefile.in --replace 'MACHDEPCC=gcc' 'MACHDEPCC=$(CC)' - export FORCE_PERL_PREFIX=1 - ''; - prefixKey = "-prefix="; - - meta = with lib; { - homepage = "https://sourceforge.net/projects/cil/"; - description = "Front-end for the C programming language that facilitates program analysis and transformation"; - license = licenses.bsd3; - maintainers = [ maintainers.vbgl ]; - platforms = ocaml.meta.platforms or [ ]; - }; - } + meta = with lib; { + homepage = "https://sourceforge.net/projects/cil/"; + description = "Front-end for the C programming language that facilitates program analysis and transformation"; + license = licenses.bsd3; + maintainers = [ maintainers.vbgl ]; + broken = lib.versionAtLeast ocaml.version "4.06"; + platforms = ocaml.meta.platforms or [ ]; + }; +} diff --git a/pkgs/development/ocaml-modules/cmarkit/default.nix b/pkgs/development/ocaml-modules/cmarkit/default.nix index 7589b9dd9a7f..b4828756f5cd 100644 --- a/pkgs/development/ocaml-modules/cmarkit/default.nix +++ b/pkgs/development/ocaml-modules/cmarkit/default.nix @@ -9,41 +9,38 @@ topkg, }: -if lib.versionOlder ocaml.version "4.14.0" then - throw "cmarkit is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation rec { + pname = "cmarkit"; + version = "0.3.0"; - stdenv.mkDerivation rec { - pname = "cmarkit"; - version = "0.3.0"; + src = fetchurl { + url = "https://erratique.ch/software/cmarkit/releases/cmarkit-${version}.tbz"; + hash = "sha256-RouM5iU7VeTT0+4yhBgdEmxROeP/X31iqDjd1VI7z5c="; + }; - src = fetchurl { - url = "https://erratique.ch/software/cmarkit/releases/cmarkit-${version}.tbz"; - hash = "sha256-RouM5iU7VeTT0+4yhBgdEmxROeP/X31iqDjd1VI7z5c="; - }; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; + buildInputs = [ + topkg + cmdliner + ]; - buildInputs = [ - topkg - cmdliner - ]; + strictDeps = true; - strictDeps = true; + inherit (topkg) buildPhase installPhase; - inherit (topkg) buildPhase installPhase; - - meta = with lib; { - description = "CommonMark parser and renderer for OCaml"; - homepage = "https://erratique.ch/software/cmarkit"; - changelog = "https://github.com/dbuenzli/cmarkit/blob/v${version}/CHANGES.md"; - license = licenses.isc; - maintainers = [ ]; - inherit (ocaml.meta) platforms; - }; - } + meta = with lib; { + description = "CommonMark parser and renderer for OCaml"; + homepage = "https://erratique.ch/software/cmarkit"; + changelog = "https://github.com/dbuenzli/cmarkit/blob/v${version}/CHANGES.md"; + license = licenses.isc; + maintainers = [ ]; + inherit (ocaml.meta) platforms; + broken = lib.versionOlder ocaml.version "4.14.0"; + }; +} diff --git a/pkgs/development/ocaml-modules/cmdliner/1_0.nix b/pkgs/development/ocaml-modules/cmdliner/1_0.nix index ee57846783f9..32dbdff6a8fc 100644 --- a/pkgs/development/ocaml-modules/cmdliner/1_0.nix +++ b/pkgs/development/ocaml-modules/cmdliner/1_0.nix @@ -5,8 +5,6 @@ ocaml, }: -assert (lib.versionAtLeast ocaml.version "4.03"); - stdenv.mkDerivation rec { pname = "cmdliner"; version = "1.0.4"; @@ -34,5 +32,6 @@ stdenv.mkDerivation rec { license = licenses.isc; inherit (ocaml.meta) platforms; maintainers = [ maintainers.vbgl ]; + broken = !(lib.versionAtLeast ocaml.version "4.03"); }; } diff --git a/pkgs/development/ocaml-modules/cmdliner/1_1.nix b/pkgs/development/ocaml-modules/cmdliner/1_1.nix index 31ec0e69ef2f..521b9b53168c 100644 --- a/pkgs/development/ocaml-modules/cmdliner/1_1.nix +++ b/pkgs/development/ocaml-modules/cmdliner/1_1.nix @@ -5,36 +5,33 @@ ocaml, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") - "cmdliner 1.1 is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "cmdliner"; + version = "1.3.0"; - stdenv.mkDerivation - rec { - pname = "cmdliner"; - version = "1.3.0"; + src = fetchurl { + url = "https://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz"; + sha256 = "sha256-joGA9XO0QPanqMII2rLK5KgjhP7HMtInhNG7bmQWjLs="; + }; - src = fetchurl { - url = "https://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz"; - sha256 = "sha256-joGA9XO0QPanqMII2rLK5KgjhP7HMtInhNG7bmQWjLs="; - }; + nativeBuildInputs = [ ocaml ]; - nativeBuildInputs = [ ocaml ]; + makeFlags = [ "PREFIX=$(out)" ]; + installTargets = "install install-doc"; + installFlags = [ + "LIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/${pname}" + "DOCDIR=$(out)/share/doc/${pname}" + ]; + postInstall = '' + mv $out/lib/ocaml/${ocaml.version}/site-lib/${pname}/{opam,${pname}.opam} + ''; - makeFlags = [ "PREFIX=$(out)" ]; - installTargets = "install install-doc"; - installFlags = [ - "LIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/${pname}" - "DOCDIR=$(out)/share/doc/${pname}" - ]; - postInstall = '' - mv $out/lib/ocaml/${ocaml.version}/site-lib/${pname}/{opam,${pname}.opam} - ''; - - meta = with lib; { - homepage = "https://erratique.ch/software/cmdliner"; - description = "OCaml module for the declarative definition of command line interfaces"; - license = licenses.isc; - inherit (ocaml.meta) platforms; - maintainers = [ maintainers.vbgl ]; - }; - } + meta = with lib; { + homepage = "https://erratique.ch/software/cmdliner"; + description = "OCaml module for the declarative definition of command line interfaces"; + license = licenses.isc; + inherit (ocaml.meta) platforms; + maintainers = [ maintainers.vbgl ]; + broken = !(lib.versionAtLeast ocaml.version "4.08"); + }; +} diff --git a/pkgs/development/ocaml-modules/config-file/default.nix b/pkgs/development/ocaml-modules/config-file/default.nix index 4bb913d544bf..149425301a6d 100644 --- a/pkgs/development/ocaml-modules/config-file/default.nix +++ b/pkgs/development/ocaml-modules/config-file/default.nix @@ -7,34 +7,31 @@ camlp4, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "config-file is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml-config-file"; + version = "1.2"; - stdenv.mkDerivation - rec { - pname = "ocaml-config-file"; - version = "1.2"; + src = fetchurl { + url = "https://forge.ocamlcore.org/frs/download.php/1387/config-file-${version}.tar.gz"; + sha256 = "1b02yxcnsjhr05ssh2br2ka4hxsjpdw34ldl3nk33wfnkwk7g67q"; + }; - src = fetchurl { - url = "https://forge.ocamlcore.org/frs/download.php/1387/config-file-${version}.tar.gz"; - sha256 = "1b02yxcnsjhr05ssh2br2ka4hxsjpdw34ldl3nk33wfnkwk7g67q"; - }; + nativeBuildInputs = [ + ocaml + findlib + camlp4 + ]; - nativeBuildInputs = [ - ocaml - findlib - camlp4 - ]; + strictDeps = true; - strictDeps = true; + createFindlibDestdir = true; - createFindlibDestdir = true; - - meta = { - homepage = "http://config-file.forge.ocamlcore.org/"; - platforms = ocaml.meta.platforms or [ ]; - description = "OCaml library used to manage the configuration file(s) of an application"; - license = lib.licenses.lgpl2Plus; - maintainers = with lib.maintainers; [ vbgl ]; - }; - } + meta = { + homepage = "http://config-file.forge.ocamlcore.org/"; + platforms = ocaml.meta.platforms or [ ]; + description = "OCaml library used to manage the configuration file(s) of an application"; + license = lib.licenses.lgpl2Plus; + broken = lib.versionAtLeast ocaml.version "5.0"; + maintainers = with lib.maintainers; [ vbgl ]; + }; +} diff --git a/pkgs/development/ocaml-modules/cpdf/default.nix b/pkgs/development/ocaml-modules/cpdf/default.nix index 66823ce21fa1..8dff973a92e1 100644 --- a/pkgs/development/ocaml-modules/cpdf/default.nix +++ b/pkgs/development/ocaml-modules/cpdf/default.nix @@ -7,44 +7,41 @@ camlpdf, }: -if lib.versionOlder ocaml.version "4.10" then - throw "cpdf is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-cpdf"; + version = "2.8"; - stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-cpdf"; - version = "2.8"; + src = fetchFromGitHub { + owner = "johnwhitington"; + repo = "cpdf-source"; + rev = "v${version}"; + hash = "sha256-DvTY5EQcvnL76RlQTcVqBiycqbCdGQCXzarSMH2P/pg="; + }; - src = fetchFromGitHub { - owner = "johnwhitington"; - repo = "cpdf-source"; - rev = "v${version}"; - hash = "sha256-DvTY5EQcvnL76RlQTcVqBiycqbCdGQCXzarSMH2P/pg="; - }; + nativeBuildInputs = [ + ocaml + findlib + ]; + propagatedBuildInputs = [ camlpdf ]; - nativeBuildInputs = [ - ocaml - findlib - ]; - propagatedBuildInputs = [ camlpdf ]; + strictDeps = true; - strictDeps = true; + preInstall = '' + mkdir -p $OCAMLFIND_DESTDIR + mkdir -p $out/bin + cp cpdf $out/bin + mkdir -p $out/share/ + cp -r doc $out/share + cp cpdfmanual.pdf $out/share/doc/cpdf/ + ''; - preInstall = '' - mkdir -p $OCAMLFIND_DESTDIR - mkdir -p $out/bin - cp cpdf $out/bin - mkdir -p $out/share/ - cp -r doc $out/share - cp cpdfmanual.pdf $out/share/doc/cpdf/ - ''; - - meta = with lib; { - description = "PDF Command Line Tools"; - homepage = "https://www.coherentpdf.com/"; - license = licenses.agpl3Only; - maintainers = [ maintainers.vbgl ]; - mainProgram = "cpdf"; - inherit (ocaml.meta) platforms; - }; - } + meta = with lib; { + description = "PDF Command Line Tools"; + homepage = "https://www.coherentpdf.com/"; + license = licenses.agpl3Only; + maintainers = [ maintainers.vbgl ]; + mainProgram = "cpdf"; + inherit (ocaml.meta) platforms; + broken = lib.versionOlder ocaml.version "4.10"; + }; +} diff --git a/pkgs/development/ocaml-modules/cryptgps/default.nix b/pkgs/development/ocaml-modules/cryptgps/default.nix index 0876f4d98707..fe9bb0242645 100644 --- a/pkgs/development/ocaml-modules/cryptgps/default.nix +++ b/pkgs/development/ocaml-modules/cryptgps/default.nix @@ -6,40 +6,37 @@ findlib, }: -if lib.versionAtLeast ocaml.version "4.06" then - throw "cryptgps is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation { + pname = "ocaml-cryptgps"; + version = "0.2.1"; - stdenv.mkDerivation { - pname = "ocaml-cryptgps"; - version = "0.2.1"; + src = fetchurl { + url = "http://download.camlcity.org/download/cryptgps-0.2.1.tar.gz"; + sha256 = "1mp7i42cm9w9grmcsa69m3h1ycpn6a48p43y4xj8rsc12x9nav3s"; + }; - src = fetchurl { - url = "http://download.camlcity.org/download/cryptgps-0.2.1.tar.gz"; - sha256 = "1mp7i42cm9w9grmcsa69m3h1ycpn6a48p43y4xj8rsc12x9nav3s"; - }; + nativeBuildInputs = [ + ocaml + findlib + ]; - nativeBuildInputs = [ - ocaml - findlib - ]; + strictDeps = true; - strictDeps = true; + dontConfigure = true; # Skip configure phase - dontConfigure = true; # Skip configure phase + createFindlibDestdir = true; - createFindlibDestdir = true; - - meta = { - homepage = "http://projects.camlcity.org/projects/cryptgps.html"; - description = "Cryptographic functions for OCaml"; - longDescription = '' - This library implements the symmetric cryptographic algorithms - Blowfish, DES, and 3DES. The algorithms are written in O'Caml, - i.e. this is not a binding to some C library, but the implementation - itself. - ''; - license = lib.licenses.mit; - inherit (ocaml.meta) platforms; - }; - } + meta = { + homepage = "http://projects.camlcity.org/projects/cryptgps.html"; + description = "Cryptographic functions for OCaml"; + longDescription = '' + This library implements the symmetric cryptographic algorithms + Blowfish, DES, and 3DES. The algorithms are written in O'Caml, + i.e. this is not a binding to some C library, but the implementation + itself. + ''; + license = lib.licenses.mit; + broken = lib.versionAtLeast ocaml.version "4.06"; + inherit (ocaml.meta) platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix index 001656d6c65a..38f02a0be256 100644 --- a/pkgs/development/ocaml-modules/eliom/default.nix +++ b/pkgs/development/ocaml-modules/eliom/default.nix @@ -17,63 +17,59 @@ ocsipersist, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.3") - "eliom is not available for OCaml ${ocaml.version}" +buildDunePackage rec { + pname = "eliom"; + version = "11.1.1"; - buildDunePackage - rec { - pname = "eliom"; - version = "11.1.1"; + src = fetchFromGitHub { + owner = "ocsigen"; + repo = "eliom"; + rev = version; + hash = "sha256-ALuoyO6axNQEeBteBVIFwdoSrbLxxcaSTObAcLPGIvo="; + }; - src = fetchFromGitHub { - owner = "ocsigen"; - repo = "eliom"; - rev = version; - hash = "sha256-ALuoyO6axNQEeBteBVIFwdoSrbLxxcaSTObAcLPGIvo="; - }; + nativeBuildInputs = [ + which + ]; + buildInputs = [ + js_of_ocaml-ocamlbuild + js_of_ocaml-ppx_deriving_json + ppx_optcomp + ]; - nativeBuildInputs = [ - which - ]; - buildInputs = [ - js_of_ocaml-ocamlbuild - js_of_ocaml-ppx_deriving_json - ppx_optcomp - ]; + propagatedBuildInputs = [ + js_of_ocaml-lwt + js_of_ocaml-ppx + js_of_ocaml-tyxml + lwt_ppx + lwt_react + ocsigen_server + ocsipersist + ppx_deriving + ]; - propagatedBuildInputs = [ - js_of_ocaml-lwt - js_of_ocaml-ppx - js_of_ocaml-tyxml - lwt_ppx - lwt_react - ocsigen_server - ocsipersist - ppx_deriving - ]; + strictDeps = true; - strictDeps = true; + setupHook = [ ./setup-hook.sh ]; - setupHook = [ ./setup-hook.sh ]; + meta = { + homepage = "http://ocsigen.org/eliom/"; + description = "OCaml Framework for programming Web sites and client/server Web applications"; - meta = { - homepage = "http://ocsigen.org/eliom/"; - description = "OCaml Framework for programming Web sites and client/server Web applications"; + longDescription = '' + Eliom is a framework for programming Web sites + and client/server Web applications. It introduces new concepts to + simplify programming common behaviours and uses advanced static + typing features of OCaml to check many properties of the Web site + at compile time. If you want to write a Web application, Eliom + makes possible to write the whole application as a single program + (client and server parts). A syntax extension is used to + distinguish both parts and the client side is compiled to JS using + Ocsigen Js_of_ocaml. + ''; - longDescription = '' - Eliom is a framework for programming Web sites - and client/server Web applications. It introduces new concepts to - simplify programming common behaviours and uses advanced static - typing features of OCaml to check many properties of the Web site - at compile time. If you want to write a Web application, Eliom - makes possible to write the whole application as a single program - (client and server parts). A syntax extension is used to - distinguish both parts and the client side is compiled to JS using - Ocsigen Js_of_ocaml. - ''; - - license = lib.licenses.lgpl21; - - maintainers = [ lib.maintainers.gal_bolle ]; - }; - } + license = lib.licenses.lgpl21; + broken = lib.versionAtLeast ocaml.version "5.3"; + maintainers = [ lib.maintainers.gal_bolle ]; + }; +} diff --git a/pkgs/development/ocaml-modules/erm_xml/default.nix b/pkgs/development/ocaml-modules/erm_xml/default.nix index de1e15115e7b..a68c56a495e2 100644 --- a/pkgs/development/ocaml-modules/erm_xml/default.nix +++ b/pkgs/development/ocaml-modules/erm_xml/default.nix @@ -7,36 +7,33 @@ ocamlbuild, }: -if lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "5.0" then - throw "erm_xml is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation { + pname = "ocaml${ocaml.version}-erm_xml"; + version = "0.3+20180112"; - stdenv.mkDerivation { - pname = "ocaml${ocaml.version}-erm_xml"; - version = "0.3+20180112"; + src = fetchFromGitHub { + owner = "hannesm"; + repo = "xml"; + rev = "bbabdade807d8281fc48806da054b70dfe482479"; + sha256 = "sha256-OQdLTq9tJZc6XlcuPv2gxzYiQAUGd6AiBzfSi169XL0="; + }; - src = fetchFromGitHub { - owner = "hannesm"; - repo = "xml"; - rev = "bbabdade807d8281fc48806da054b70dfe482479"; - sha256 = "sha256-OQdLTq9tJZc6XlcuPv2gxzYiQAUGd6AiBzfSi169XL0="; - }; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - ]; + strictDeps = true; - strictDeps = true; + createFindlibDestdir = true; - createFindlibDestdir = true; - - meta = { - homepage = "https://github.com/hannesm/xml"; - description = "XML Parser for discrete data"; - platforms = ocaml.meta.platforms or [ ]; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ vbgl ]; - }; - } + meta = { + homepage = "https://github.com/hannesm/xml"; + description = "XML Parser for discrete data"; + platforms = ocaml.meta.platforms or [ ]; + license = lib.licenses.bsd3; + broken = lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "5.0"; + maintainers = with lib.maintainers; [ vbgl ]; + }; +} diff --git a/pkgs/development/ocaml-modules/expat/default.nix b/pkgs/development/ocaml-modules/expat/default.nix index 17bc6e628c5d..f62fef29a4e6 100644 --- a/pkgs/development/ocaml-modules/expat/default.nix +++ b/pkgs/development/ocaml-modules/expat/default.nix @@ -8,44 +8,41 @@ ounit, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.02") - "ocaml_expat is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-expat"; + version = "1.3.0"; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-expat"; - version = "1.3.0"; + src = fetchFromGitHub { + owner = "whitequark"; + repo = "ocaml-expat"; + rev = "v${version}"; + hash = "sha256-eDA6MUcztaI+fpunWBdanNnPo9Y5gvbj/ViVcxYYEBg="; + }; - src = fetchFromGitHub { - owner = "whitequark"; - repo = "ocaml-expat"; - rev = "v${version}"; - hash = "sha256-eDA6MUcztaI+fpunWBdanNnPo9Y5gvbj/ViVcxYYEBg="; - }; + prePatch = '' + substituteInPlace Makefile --replace "gcc" "\$(CC)" + ''; - prePatch = '' - substituteInPlace Makefile --replace "gcc" "\$(CC)" - ''; + nativeBuildInputs = [ + ocaml + findlib + ]; + buildInputs = [ expat ]; - nativeBuildInputs = [ - ocaml - findlib - ]; - buildInputs = [ expat ]; + strictDeps = true; - strictDeps = true; + doCheck = lib.versionAtLeast ocaml.version "4.08"; + checkTarget = "testall"; + checkInputs = [ ounit ]; - doCheck = lib.versionAtLeast ocaml.version "4.08"; - checkTarget = "testall"; - checkInputs = [ ounit ]; + createFindlibDestdir = true; - createFindlibDestdir = true; - - meta = { - description = "OCaml wrapper for the Expat XML parsing library"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.vbgl ]; - inherit (src.meta) homepage; - inherit (ocaml.meta) platforms; - }; - } + meta = { + description = "OCaml wrapper for the Expat XML parsing library"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vbgl ]; + inherit (src.meta) homepage; + inherit (ocaml.meta) platforms; + broken = !(lib.versionAtLeast ocaml.version "4.02"); + }; +} diff --git a/pkgs/development/ocaml-modules/facile/default.nix b/pkgs/development/ocaml-modules/facile/default.nix index d2ebf8b8805f..2981640c6b19 100644 --- a/pkgs/development/ocaml-modules/facile/default.nix +++ b/pkgs/development/ocaml-modules/facile/default.nix @@ -5,26 +5,24 @@ ocaml, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "facile is not available for OCaml ≥ 5.0" +buildDunePackage rec { + pname = "facile"; + version = "1.1.4"; - buildDunePackage - rec { - pname = "facile"; - version = "1.1.4"; + src = fetchurl { + url = "https://github.com/Emmanuel-PLF/facile/releases/download/${version}/facile-${version}.tbz"; + sha256 = "0jqrwmn6fr2vj2rrbllwxq4cmxykv7zh0y4vnngx29f5084a04jp"; + }; - src = fetchurl { - url = "https://github.com/Emmanuel-PLF/facile/releases/download/${version}/facile-${version}.tbz"; - sha256 = "0jqrwmn6fr2vj2rrbllwxq4cmxykv7zh0y4vnngx29f5084a04jp"; - }; + doCheck = true; - doCheck = true; + duneVersion = if lib.versionAtLeast ocaml.version "4.12" then "2" else "1"; + postPatch = lib.optionalString (duneVersion != "1") "dune upgrade"; - duneVersion = if lib.versionAtLeast ocaml.version "4.12" then "2" else "1"; - postPatch = lib.optionalString (duneVersion != "1") "dune upgrade"; - - meta = { - homepage = "http://opti.recherche.enac.fr/facile/"; - license = lib.licenses.lgpl21Plus; - description = "Functional Constraint Library"; - }; - } + meta = { + homepage = "http://opti.recherche.enac.fr/facile/"; + license = lib.licenses.lgpl21Plus; + description = "Functional Constraint Library"; + broken = lib.versionAtLeast ocaml.version "5.0"; + }; +} diff --git a/pkgs/development/ocaml-modules/farfadet/default.nix b/pkgs/development/ocaml-modules/farfadet/default.nix index ddc73697d8ef..83395d161a7a 100644 --- a/pkgs/development/ocaml-modules/farfadet/default.nix +++ b/pkgs/development/ocaml-modules/farfadet/default.nix @@ -9,38 +9,35 @@ faraday, }: -if lib.versionOlder ocaml.version "4.3" then - throw "farfadet is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-farfadet"; + version = "0.3"; - stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-farfadet"; - version = "0.3"; + src = fetchurl { + url = "https://github.com/oklm-wsh/Farfadet/releases/download/v${version}/farfadet-${version}.tbz"; + sha256 = "0nlafnp0pwx0n4aszpsk6nvcvqi9im306p4jhx70si7k3xprlr2j"; + }; - src = fetchurl { - url = "https://github.com/oklm-wsh/Farfadet/releases/download/v${version}/farfadet-${version}.tbz"; - sha256 = "0nlafnp0pwx0n4aszpsk6nvcvqi9im306p4jhx70si7k3xprlr2j"; - }; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; - buildInputs = [ topkg ]; + propagatedBuildInputs = [ faraday ]; - propagatedBuildInputs = [ faraday ]; + strictDeps = true; - strictDeps = true; + inherit (topkg) buildPhase installPhase; - inherit (topkg) buildPhase installPhase; - - meta = { - description = "Printf-like for Faraday library"; - homepage = "https://github.com/oklm-wsh/Farfadet"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; - } + meta = { + description = "Printf-like for Faraday library"; + homepage = "https://github.com/oklm-wsh/Farfadet"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + broken = lib.versionOlder ocaml.version "4.3"; + }; +} diff --git a/pkgs/development/ocaml-modules/fmt/default.nix b/pkgs/development/ocaml-modules/fmt/default.nix index d33e709f731a..254ca3f51c5c 100644 --- a/pkgs/development/ocaml-modules/fmt/default.nix +++ b/pkgs/development/ocaml-modules/fmt/default.nix @@ -9,39 +9,36 @@ cmdliner, }: -if lib.versionOlder ocaml.version "4.08" then - throw "fmt is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation rec { + version = "0.11.0"; + pname = "ocaml${ocaml.version}-fmt"; - stdenv.mkDerivation rec { - version = "0.11.0"; - pname = "ocaml${ocaml.version}-fmt"; + src = fetchurl { + url = "https://erratique.ch/software/fmt/releases/fmt-${version}.tbz"; + sha256 = "sha256-hXz9R6VLUkKc2bPiZl5EFzzRvTtDW+znFy+YStU3ahs="; + }; - src = fetchurl { - url = "https://erratique.ch/software/fmt/releases/fmt-${version}.tbz"; - sha256 = "sha256-hXz9R6VLUkKc2bPiZl5EFzzRvTtDW+znFy+YStU3ahs="; - }; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ + cmdliner + topkg + ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; - buildInputs = [ - cmdliner - topkg - ]; + strictDeps = true; - strictDeps = true; + inherit (topkg) buildPhase installPhase; - inherit (topkg) buildPhase installPhase; - - meta = with lib; { - homepage = "https://erratique.ch/software/fmt"; - license = licenses.isc; - description = "OCaml Format pretty-printer combinators"; - inherit (ocaml.meta) platforms; - maintainers = [ maintainers.vbgl ]; - }; - } + meta = with lib; { + homepage = "https://erratique.ch/software/fmt"; + license = licenses.isc; + description = "OCaml Format pretty-printer combinators"; + inherit (ocaml.meta) platforms; + maintainers = [ maintainers.vbgl ]; + broken = lib.versionOlder ocaml.version "4.08"; + }; +} diff --git a/pkgs/development/ocaml-modules/fpath/default.nix b/pkgs/development/ocaml-modules/fpath/default.nix index 861b91901e55..b0bfbe507f6c 100644 --- a/pkgs/development/ocaml-modules/fpath/default.nix +++ b/pkgs/development/ocaml-modules/fpath/default.nix @@ -9,38 +9,35 @@ astring, }: -if lib.versionOlder ocaml.version "4.03" then - throw "fpath is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-fpath"; + version = "0.7.3"; - stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-fpath"; - version = "0.7.3"; + src = fetchurl { + url = "https://erratique.ch/software/fpath/releases/fpath-${version}.tbz"; + sha256 = "03z7mj0sqdz465rc4drj1gr88l9q3nfs374yssvdjdyhjbqqzc0j"; + }; - src = fetchurl { - url = "https://erratique.ch/software/fpath/releases/fpath-${version}.tbz"; - sha256 = "03z7mj0sqdz465rc4drj1gr88l9q3nfs374yssvdjdyhjbqqzc0j"; - }; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; - buildInputs = [ topkg ]; + propagatedBuildInputs = [ astring ]; - propagatedBuildInputs = [ astring ]; + strictDeps = true; - strictDeps = true; + inherit (topkg) buildPhase installPhase; - inherit (topkg) buildPhase installPhase; - - meta = { - description = "OCaml module for handling file system paths with POSIX and Windows conventions"; - homepage = "https://erratique.ch/software/fpath"; - license = lib.licenses.isc; - maintainers = [ lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; - } + meta = { + description = "OCaml module for handling file system paths with POSIX and Windows conventions"; + homepage = "https://erratique.ch/software/fpath"; + license = lib.licenses.isc; + maintainers = [ lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + broken = lib.versionOlder ocaml.version "4.03"; + }; +} diff --git a/pkgs/development/ocaml-modules/functory/default.nix b/pkgs/development/ocaml-modules/functory/default.nix index 84b16d678de8..44b7adfa6fff 100644 --- a/pkgs/development/ocaml-modules/functory/default.nix +++ b/pkgs/development/ocaml-modules/functory/default.nix @@ -20,35 +20,32 @@ let }; in -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "functory is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation { + pname = "ocaml${ocaml.version}-functory"; + inherit (param) version; - stdenv.mkDerivation - { - pname = "ocaml${ocaml.version}-functory"; - inherit (param) version; + src = fetchurl { + url = "https://www.lri.fr/~filliatr/functory/download/functory-${param.version}.tar.gz"; + inherit (param) sha256; + }; - src = fetchurl { - url = "https://www.lri.fr/~filliatr/functory/download/functory-${param.version}.tar.gz"; - inherit (param) sha256; - }; + nativeBuildInputs = [ + ocaml + findlib + ]; - nativeBuildInputs = [ - ocaml - findlib - ]; + strictDeps = true; - strictDeps = true; + installTargets = [ "ocamlfind-install" ]; - installTargets = [ "ocamlfind-install" ]; + createFindlibDestdir = true; - createFindlibDestdir = true; - - meta = with lib; { - homepage = "https://www.lri.fr/~filliatr/functory/"; - description = "Distributed computing library for Objective Caml which facilitates distributed execution of parallelizable computations in a seamless fashion"; - license = licenses.lgpl21; - maintainers = [ maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; - } + meta = with lib; { + homepage = "https://www.lri.fr/~filliatr/functory/"; + description = "Distributed computing library for Objective Caml which facilitates distributed execution of parallelizable computations in a seamless fashion"; + license = licenses.lgpl21; + maintainers = [ maintainers.vbgl ]; + broken = lib.versionAtLeast ocaml.version "5.0"; + inherit (ocaml.meta) platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/gg/default.nix b/pkgs/development/ocaml-modules/gg/default.nix index 7b015cf6840c..8e6c205695e1 100644 --- a/pkgs/development/ocaml-modules/gg/default.nix +++ b/pkgs/development/ocaml-modules/gg/default.nix @@ -13,43 +13,40 @@ let version = "1.0.0"; in -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") - "gg is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation { - stdenv.mkDerivation - { + pname = "ocaml${ocaml.version}-gg"; + inherit version; - pname = "ocaml${ocaml.version}-gg"; - inherit version; + src = fetchurl { + url = "${homepage}/releases/gg-${version}.tbz"; + sha256 = "sha256:0j7bpj8k17csnz6v6frkz9aycywsb7xmznnb31g8rbfk3626f3ci"; + }; - src = fetchurl { - url = "${homepage}/releases/gg-${version}.tbz"; - sha256 = "sha256:0j7bpj8k17csnz6v6frkz9aycywsb7xmznnb31g8rbfk3626f3ci"; - }; + strictDeps = true; - strictDeps = true; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; - buildInputs = [ topkg ]; + inherit (topkg) buildPhase installPhase; - inherit (topkg) buildPhase installPhase; - - meta = with lib; { - description = "Basic types for computer graphics in OCaml"; - longDescription = '' - Gg is an OCaml module providing basic types for computer graphics. It - defines types and functions for floats, vectors, points, sizes, - matrices, quaternions, axis aligned boxes, colors, color spaces, and - raster data. - ''; - inherit homepage; - inherit (ocaml.meta) platforms; - license = licenses.bsd3; - maintainers = [ maintainers.jirkamarsik ]; - }; - } + meta = with lib; { + description = "Basic types for computer graphics in OCaml"; + longDescription = '' + Gg is an OCaml module providing basic types for computer graphics. It + defines types and functions for floats, vectors, points, sizes, + matrices, quaternions, axis aligned boxes, colors, color spaces, and + raster data. + ''; + inherit homepage; + inherit (ocaml.meta) platforms; + license = licenses.bsd3; + maintainers = [ maintainers.jirkamarsik ]; + broken = !(lib.versionAtLeast ocaml.version "4.08"); + }; +} diff --git a/pkgs/development/ocaml-modules/hmap/default.nix b/pkgs/development/ocaml-modules/hmap/default.nix index 61892116d6e9..7021af3b8f3d 100644 --- a/pkgs/development/ocaml-modules/hmap/default.nix +++ b/pkgs/development/ocaml-modules/hmap/default.nix @@ -11,8 +11,6 @@ let minimumSupportedOcamlVersion = "4.02.0"; in -assert lib.versionOlder minimumSupportedOcamlVersion ocaml.version; - stdenv.mkDerivation rec { pname = "hmap"; version = "0.8.1"; @@ -46,5 +44,6 @@ stdenv.mkDerivation rec { homepage = "https://erratique.ch/software/hmap"; license = lib.licenses.isc; maintainers = [ lib.maintainers.pmahoney ]; + broken = !(lib.versionOlder minimumSupportedOcamlVersion ocaml.version); }; } diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix index 43a6424f7c04..7fca71f2035a 100644 --- a/pkgs/development/ocaml-modules/javalib/default.nix +++ b/pkgs/development/ocaml-modules/javalib/default.nix @@ -9,51 +9,48 @@ extlib, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") - "javalib is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-javalib"; + version = "3.2.2"; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-javalib"; - version = "3.2.2"; + src = fetchFromGitHub { + owner = "javalib-team"; + repo = "javalib"; + rev = version; + hash = "sha256-XaI7GTU/O5UEWuYX4yqaIRmEoH7FuvCg/+gtKbE/P1s="; + }; - src = fetchFromGitHub { - owner = "javalib-team"; - repo = "javalib"; - rev = version; - hash = "sha256-XaI7GTU/O5UEWuYX4yqaIRmEoH7FuvCg/+gtKbE/P1s="; - }; + nativeBuildInputs = [ + which + ocaml + findlib + ]; - nativeBuildInputs = [ - which - ocaml - findlib - ]; + strictDeps = true; - strictDeps = true; + patches = [ + ./configure.sh.patch + ./Makefile.config.example.patch + ]; - patches = [ - ./configure.sh.patch - ./Makefile.config.example.patch - ]; + createFindlibDestdir = true; - createFindlibDestdir = true; + configureScript = "./configure.sh"; + dontAddPrefix = "true"; + dontAddStaticConfigureFlags = true; + configurePlatforms = [ ]; - configureScript = "./configure.sh"; - dontAddPrefix = "true"; - dontAddStaticConfigureFlags = true; - configurePlatforms = [ ]; + propagatedBuildInputs = [ + camlzip + extlib + ]; - propagatedBuildInputs = [ - camlzip - extlib - ]; - - meta = with lib; { - description = "Library that parses Java .class files into OCaml data structures"; - homepage = "https://javalib-team.github.io/javalib/"; - license = licenses.lgpl3; - maintainers = [ maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; - } + meta = with lib; { + description = "Library that parses Java .class files into OCaml data structures"; + homepage = "https://javalib-team.github.io/javalib/"; + license = licenses.lgpl3; + maintainers = [ maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + broken = !(lib.versionAtLeast ocaml.version "4.08"); + }; +} diff --git a/pkgs/development/ocaml-modules/kafka/default.nix b/pkgs/development/ocaml-modules/kafka/default.nix index 9c0698878a58..f096b7f3190c 100644 --- a/pkgs/development/ocaml-modules/kafka/default.nix +++ b/pkgs/development/ocaml-modules/kafka/default.nix @@ -7,28 +7,25 @@ zlib, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "kafka is not available for OCaml ${ocaml.version}" +buildDunePackage rec { + pname = "kafka"; + version = "0.5"; - buildDunePackage - rec { - pname = "kafka"; - version = "0.5"; + src = fetchurl { + url = "https://github.com/didier-wenzek/ocaml-kafka/releases/download/${version}/kafka-${version}.tbz"; + sha256 = "0m9212yap0a00hd0f61i4y4fna3141p77qj3mm7jl1h4q60jdhvy"; + }; - src = fetchurl { - url = "https://github.com/didier-wenzek/ocaml-kafka/releases/download/${version}/kafka-${version}.tbz"; - sha256 = "0m9212yap0a00hd0f61i4y4fna3141p77qj3mm7jl1h4q60jdhvy"; - }; + propagatedBuildInputs = [ + rdkafka + zlib + ]; - propagatedBuildInputs = [ - rdkafka - zlib - ]; - - meta = with lib; { - homepage = "https://github.com/didier-wenzek/ocaml-kafka"; - description = "OCaml bindings for Kafka"; - license = licenses.mit; - maintainers = [ maintainers.vbgl ]; - }; - } + meta = with lib; { + homepage = "https://github.com/didier-wenzek/ocaml-kafka"; + description = "OCaml bindings for Kafka"; + license = licenses.mit; + maintainers = [ maintainers.vbgl ]; + broken = lib.versionAtLeast ocaml.version "5.0"; + }; +} diff --git a/pkgs/development/ocaml-modules/kafka/lwt.nix b/pkgs/development/ocaml-modules/kafka/lwt.nix index e638fe513f3b..0ee37ea0f657 100644 --- a/pkgs/development/ocaml-modules/kafka/lwt.nix +++ b/pkgs/development/ocaml-modules/kafka/lwt.nix @@ -7,23 +7,20 @@ cmdliner, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "kafka_lwt is not available for OCaml ${ocaml.version}" +buildDunePackage { + pname = "kafka_lwt"; - buildDunePackage - { - pname = "kafka_lwt"; + inherit (kafka) version src; - inherit (kafka) version src; + buildInputs = [ cmdliner ]; - buildInputs = [ cmdliner ]; + propagatedBuildInputs = [ + kafka + lwt + ]; - propagatedBuildInputs = [ - kafka - lwt - ]; - - meta = kafka.meta // { - description = "OCaml bindings for Kafka, Lwt bindings"; - }; - } + meta = kafka.meta // { + description = "OCaml bindings for Kafka, Lwt bindings"; + broken = lib.versionAtLeast ocaml.version "5.0"; + }; +} diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix index 3736fc84a8d4..06b7f64157d3 100644 --- a/pkgs/development/ocaml-modules/lablgl/default.nix +++ b/pkgs/development/ocaml-modules/lablgl/default.nix @@ -9,73 +9,70 @@ camlp-streams, }: -if lib.versionOlder ocaml.version "4.06" then - throw "lablgl is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-lablgl"; + version = "1.07"; - stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-lablgl"; - version = "1.07"; + src = fetchFromGitHub { + owner = "garrigue"; + repo = "lablgl"; + rev = "v${version}"; + hash = "sha256-GiQKHMn5zHyvDrA2ve12X5YTm3/RZp8tukIqifgVaW4="; + }; - src = fetchFromGitHub { - owner = "garrigue"; - repo = "lablgl"; - rev = "v${version}"; - hash = "sha256-GiQKHMn5zHyvDrA2ve12X5YTm3/RZp8tukIqifgVaW4="; - }; + strictDeps = true; - strictDeps = true; + nativeBuildInputs = [ + ocaml + findlib + ]; + buildInputs = [ + libglut + camlp-streams + ]; + propagatedBuildInputs = [ + libGLU + ]; - nativeBuildInputs = [ - ocaml - findlib + patches = [ ./META.patch ]; + + preConfigure = '' + mkdir -p $out/bin + mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs + cp \ + Makefile.config.${if stdenv.hostPlatform.isDarwin then "osx" else "ex"} \ + Makefile.config + ''; + + makeFlags = [ + "BINDIR=${placeholder "out"}/bin/" + "INSTALLDIR=${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib/lablgl/" + "DLLDIR=${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib/stublibs/" + "XINCLUDES=" + "TKINCLUDES=" + "TKLIBS=" + ]; + + buildFlags = [ + "lib" + "libopt" + "glut" + "glutopt" + ]; + + postInstall = '' + cp ./META $out/lib/ocaml/${ocaml.version}/site-lib/lablgl + ''; + + meta = with lib; { + description = "OpenGL bindings for ocaml"; + homepage = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html"; + license = licenses.gpl2; + maintainers = with maintainers; [ + pSub + vbgl ]; - buildInputs = [ - libglut - camlp-streams - ]; - propagatedBuildInputs = [ - libGLU - ]; - - patches = [ ./META.patch ]; - - preConfigure = '' - mkdir -p $out/bin - mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs - cp \ - Makefile.config.${if stdenv.hostPlatform.isDarwin then "osx" else "ex"} \ - Makefile.config - ''; - - makeFlags = [ - "BINDIR=${placeholder "out"}/bin/" - "INSTALLDIR=${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib/lablgl/" - "DLLDIR=${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib/stublibs/" - "XINCLUDES=" - "TKINCLUDES=" - "TKLIBS=" - ]; - - buildFlags = [ - "lib" - "libopt" - "glut" - "glutopt" - ]; - - postInstall = '' - cp ./META $out/lib/ocaml/${ocaml.version}/site-lib/lablgl - ''; - - meta = with lib; { - description = "OpenGL bindings for ocaml"; - homepage = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html"; - license = licenses.gpl2; - maintainers = with maintainers; [ - pSub - vbgl - ]; - mainProgram = "lablglut"; - }; - } + mainProgram = "lablglut"; + broken = lib.versionOlder ocaml.version "4.06"; + }; +} diff --git a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix index 469c3750cafc..172e1d539e27 100644 --- a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix +++ b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix @@ -10,41 +10,38 @@ xmlm, }: -if lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "4.13" then - throw "lablgtk-extras is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation rec { + version = "1.6"; + pname = "ocaml${ocaml.version}-lablgtk-extras"; + src = fetchFromGitLab { + domain = "framagit.org"; + owner = "zoggy"; + repo = "lablgtk-extras"; + rev = "release-${version}"; + sha256 = "1bbdp5j18s582mmyd7qiaq1p08g2ag4gl7x65pmzahbhg719hjda"; + }; - stdenv.mkDerivation rec { - version = "1.6"; - pname = "ocaml${ocaml.version}-lablgtk-extras"; - src = fetchFromGitLab { - domain = "framagit.org"; - owner = "zoggy"; - repo = "lablgtk-extras"; - rev = "release-${version}"; - sha256 = "1bbdp5j18s582mmyd7qiaq1p08g2ag4gl7x65pmzahbhg719hjda"; - }; + strictDeps = true; - strictDeps = true; + nativeBuildInputs = [ + ocaml + findlib + camlp4 + ]; + propagatedBuildInputs = [ + config-file + lablgtk + xmlm + ]; - nativeBuildInputs = [ - ocaml - findlib - camlp4 - ]; - propagatedBuildInputs = [ - config-file - lablgtk - xmlm - ]; + createFindlibDestdir = true; - createFindlibDestdir = true; - - meta = { - inherit (ocaml.meta) platforms; - maintainers = with lib.maintainers; [ vbgl ]; - homepage = "https://framagit.org/zoggy/lablgtk-extras/"; - description = "Collection of libraries and modules useful when developing OCaml/LablGtk2 applications"; - license = lib.licenses.lgpl2Plus; - }; - } + meta = { + inherit (ocaml.meta) platforms; + maintainers = with lib.maintainers; [ vbgl ]; + homepage = "https://framagit.org/zoggy/lablgtk-extras/"; + description = "Collection of libraries and modules useful when developing OCaml/LablGtk2 applications"; + license = lib.licenses.lgpl2Plus; + broken = lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "4.13"; + }; +} diff --git a/pkgs/development/ocaml-modules/labltk/default.nix b/pkgs/development/ocaml-modules/labltk/default.nix index 2a15aecfe0c9..0782692d7713 100644 --- a/pkgs/development/ocaml-modules/labltk/default.nix +++ b/pkgs/development/ocaml-modules/labltk/default.nix @@ -134,5 +134,6 @@ param.stdenv.mkDerivation { license = lib.licenses.lgpl21; inherit (ocaml.meta) platforms; maintainers = [ lib.maintainers.vbgl ]; + broken = !(params ? ${lib.versions.majorMinor ocaml.version}); }; } diff --git a/pkgs/development/ocaml-modules/lem/default.nix b/pkgs/development/ocaml-modules/lem/default.nix index 8a2ac28d8289..150b7a9519ca 100644 --- a/pkgs/development/ocaml-modules/lem/default.nix +++ b/pkgs/development/ocaml-modules/lem/default.nix @@ -10,49 +10,46 @@ zarith, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.07") - "lem is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-lem"; + version = "2025-03-13"; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-lem"; - version = "2025-03-13"; + src = fetchFromGitHub { + owner = "rems-project"; + repo = "lem"; + rev = version; + hash = "sha256-ZV2OiFonMlNzqtsumMQ8jzY9/ATaZxiNHZ7JzOfGluY="; + }; - src = fetchFromGitHub { - owner = "rems-project"; - repo = "lem"; - rev = version; - hash = "sha256-ZV2OiFonMlNzqtsumMQ8jzY9/ATaZxiNHZ7JzOfGluY="; - }; + nativeBuildInputs = [ + makeWrapper + ocamlbuild + findlib + ocaml + ]; + propagatedBuildInputs = [ + zarith + num + ]; - nativeBuildInputs = [ - makeWrapper - ocamlbuild - findlib - ocaml + installFlags = [ "INSTALL_DIR=$(out)" ]; + + createFindlibDestdir = true; + + postInstall = '' + wrapProgram $out/bin/lem --set LEMLIB $out/share/lem/library + ''; + + meta = with lib; { + homepage = "https://github.com/rems-project/lem"; + description = "Tool for lightweight executable mathematics"; + mainProgram = "lem"; + maintainers = with maintainers; [ genericnerdyusername ]; + license = with licenses; [ + bsd3 + gpl2 ]; - propagatedBuildInputs = [ - zarith - num - ]; - - installFlags = [ "INSTALL_DIR=$(out)" ]; - - createFindlibDestdir = true; - - postInstall = '' - wrapProgram $out/bin/lem --set LEMLIB $out/share/lem/library - ''; - - meta = with lib; { - homepage = "https://github.com/rems-project/lem"; - description = "Tool for lightweight executable mathematics"; - mainProgram = "lem"; - maintainers = with maintainers; [ genericnerdyusername ]; - license = with licenses; [ - bsd3 - gpl2 - ]; - platforms = ocaml.meta.platforms; - }; - } + platforms = ocaml.meta.platforms; + broken = !(lib.versionAtLeast ocaml.version "4.07"); + }; +} diff --git a/pkgs/development/ocaml-modules/linksem/default.nix b/pkgs/development/ocaml-modules/linksem/default.nix index ccefd91c06cf..40930e21f94f 100644 --- a/pkgs/development/ocaml-modules/linksem/default.nix +++ b/pkgs/development/ocaml-modules/linksem/default.nix @@ -7,35 +7,32 @@ lem, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.07") - "linksem is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-linksem"; + version = "0.8"; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-linksem"; - version = "0.8"; + src = fetchFromGitHub { + owner = "rems-project"; + repo = "linksem"; + rev = version; + hash = "sha256-7/YfDK3TruKCckMzAPLRrwBkHRJcX1S+AzXHWRxkZPA="; + }; - src = fetchFromGitHub { - owner = "rems-project"; - repo = "linksem"; - rev = version; - hash = "sha256-7/YfDK3TruKCckMzAPLRrwBkHRJcX1S+AzXHWRxkZPA="; - }; + nativeBuildInputs = [ + findlib + ocaml + ]; - nativeBuildInputs = [ - findlib - ocaml - ]; + propagatedBuildInputs = [ lem ]; - propagatedBuildInputs = [ lem ]; + createFindlibDestdir = true; - createFindlibDestdir = true; - - meta = with lib; { - homepage = "https://github.com/rems-project/linksem"; - description = "Formalisation of substantial parts of ELF linking and DWARF debug information"; - maintainers = with maintainers; [ genericnerdyusername ]; - license = licenses.bsd2; - platforms = ocaml.meta.platforms; - }; - } + meta = with lib; { + homepage = "https://github.com/rems-project/linksem"; + description = "Formalisation of substantial parts of ELF linking and DWARF debug information"; + maintainers = with maintainers; [ genericnerdyusername ]; + license = licenses.bsd2; + platforms = ocaml.meta.platforms; + broken = !(lib.versionAtLeast ocaml.version "4.07"); + }; +} diff --git a/pkgs/development/ocaml-modules/mariadb/default.nix b/pkgs/development/ocaml-modules/mariadb/default.nix index 4fbc81bfc313..a53a996da8a4 100644 --- a/pkgs/development/ocaml-modules/mariadb/default.nix +++ b/pkgs/development/ocaml-modules/mariadb/default.nix @@ -12,66 +12,63 @@ libmysqlclient, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.07") - "mariadb is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-mariadb"; + version = "1.1.6"; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-mariadb"; - version = "1.1.6"; + src = fetchurl { + url = "https://github.com/andrenth/ocaml-mariadb/releases/download/${version}/ocaml-mariadb-${version}.tar.gz"; + sha256 = "sha256-3/C1Gz6luUzS7oaudLlDHMT6JB2v5OdbLVzJhtayHGM="; + }; - src = fetchurl { - url = "https://github.com/andrenth/ocaml-mariadb/releases/download/${version}/ocaml-mariadb-${version}.tar.gz"; - sha256 = "sha256-3/C1Gz6luUzS7oaudLlDHMT6JB2v5OdbLVzJhtayHGM="; - }; + patches = + lib.lists.map + ( + x: + fetchpatch { + url = "https://github.com/andrenth/ocaml-mariadb/commit/${x.path}.patch"; + inherit (x) hash; + } + ) + [ + { + path = "9db2e4d8dec7c584213d0e0f03d079a36a35d9d5"; + hash = "sha256-heROtU02cYBJ5edIHMdYP1xNXcLv8h79GYGBuudJhgE="; + } + { + path = "40cd3102bc7cce4ed826ed609464daeb1bbb4581"; + hash = "sha256-YVsAMJiOgWRk9xPaRz2sDihBYLlXv+rhWtQIMOVLtSg="; + } + ]; - patches = - lib.lists.map - ( - x: - fetchpatch { - url = "https://github.com/andrenth/ocaml-mariadb/commit/${x.path}.patch"; - inherit (x) hash; - } - ) - [ - { - path = "9db2e4d8dec7c584213d0e0f03d079a36a35d9d5"; - hash = "sha256-heROtU02cYBJ5edIHMdYP1xNXcLv8h79GYGBuudJhgE="; - } - { - path = "40cd3102bc7cce4ed826ed609464daeb1bbb4581"; - hash = "sha256-YVsAMJiOgWRk9xPaRz2sDihBYLlXv+rhWtQIMOVLtSg="; - } - ]; + postPatch = '' + substituteInPlace setup.ml --replace '#use "topfind"' \ + '#directory "${findlib}/lib/ocaml/${ocaml.version}/site-lib/";; #use "topfind"' + ''; - postPatch = '' - substituteInPlace setup.ml --replace '#use "topfind"' \ - '#directory "${findlib}/lib/ocaml/${ocaml.version}/site-lib/";; #use "topfind"' - ''; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; + buildInputs = [ + mariadb + libmysqlclient + camlp-streams + ocamlbuild + ]; + propagatedBuildInputs = [ ctypes ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - ]; - buildInputs = [ - mariadb - libmysqlclient - camlp-streams - ocamlbuild - ]; - propagatedBuildInputs = [ ctypes ]; + strictDeps = true; - strictDeps = true; + preInstall = "mkdir -p $OCAMLFIND_DESTDIR/stublibs"; - preInstall = "mkdir -p $OCAMLFIND_DESTDIR/stublibs"; - - meta = { - description = "OCaml bindings for MariaDB"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ bcc32 ]; - homepage = "https://github.com/andrenth/ocaml-mariadb"; - inherit (ocaml.meta) platforms; - }; - } + meta = { + description = "OCaml bindings for MariaDB"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ bcc32 ]; + homepage = "https://github.com/andrenth/ocaml-mariadb"; + inherit (ocaml.meta) platforms; + broken = !(lib.versionAtLeast ocaml.version "4.07"); + }; +} diff --git a/pkgs/development/ocaml-modules/memprof-limits/default.nix b/pkgs/development/ocaml-modules/memprof-limits/default.nix index 32ffbd5f82cf..e469c9daff9d 100644 --- a/pkgs/development/ocaml-modules/memprof-limits/default.nix +++ b/pkgs/development/ocaml-modules/memprof-limits/default.nix @@ -5,26 +5,24 @@ ocaml, }: -if !(lib.versionOlder ocaml.version "5.0.0") then - throw "memprof-limits is not available for OCaml ${ocaml.version}" -else - buildDunePackage rec { - pname = "memprof-limits"; - version = "0.2.1"; +buildDunePackage rec { + pname = "memprof-limits"; + version = "0.2.1"; - src = fetchFromGitLab { - owner = "gadmm"; - repo = pname; - rev = "v${version}"; - hash = "sha256-Pmuln5TihPoPZuehZlqPfERif6lf7O+0454kW9y3aKc="; - }; + src = fetchFromGitLab { + owner = "gadmm"; + repo = pname; + rev = "v${version}"; + hash = "sha256-Pmuln5TihPoPZuehZlqPfERif6lf7O+0454kW9y3aKc="; + }; - minimalOCamlVersion = "4.12"; + minimalOCamlVersion = "4.12"; - meta = with lib; { - homepage = "https://ocaml.org/p/memprof-limits/latest"; - description = "Memory limits, allocation limits, and thread cancellation for OCaml"; - license = licenses.lgpl3; - maintainers = with maintainers; [ alizter ]; - }; - } + meta = with lib; { + homepage = "https://ocaml.org/p/memprof-limits/latest"; + description = "Memory limits, allocation limits, and thread cancellation for OCaml"; + license = licenses.lgpl3; + maintainers = with maintainers; [ alizter ]; + broken = !(lib.versionOlder ocaml.version "5.0.0"); + }; +} diff --git a/pkgs/development/ocaml-modules/mtime/default.nix b/pkgs/development/ocaml-modules/mtime/default.nix index 4c6677114b09..ff7e19c89ce0 100644 --- a/pkgs/development/ocaml-modules/mtime/default.nix +++ b/pkgs/development/ocaml-modules/mtime/default.nix @@ -8,36 +8,33 @@ topkg, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") - "mtime is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-mtime"; + version = "2.1.0"; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-mtime"; - version = "2.1.0"; + src = fetchurl { + url = "https://erratique.ch/software/mtime/releases/mtime-${version}.tbz"; + sha256 = "sha256-CXyygC43AerZVy4bSD1aKMbi8KOUSfqvm0StiomDTYg="; + }; - src = fetchurl { - url = "https://erratique.ch/software/mtime/releases/mtime-${version}.tbz"; - sha256 = "sha256-CXyygC43AerZVy4bSD1aKMbi8KOUSfqvm0StiomDTYg="; - }; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; - buildInputs = [ topkg ]; + strictDeps = true; - strictDeps = true; + inherit (topkg) buildPhase installPhase; - inherit (topkg) buildPhase installPhase; - - meta = with lib; { - description = "Monotonic wall-clock time for OCaml"; - homepage = "https://erratique.ch/software/mtime"; - inherit (ocaml.meta) platforms; - maintainers = [ maintainers.vbgl ]; - license = licenses.bsd3; - }; - } + meta = with lib; { + description = "Monotonic wall-clock time for OCaml"; + homepage = "https://erratique.ch/software/mtime"; + inherit (ocaml.meta) platforms; + maintainers = [ maintainers.vbgl ]; + license = licenses.bsd3; + broken = !(lib.versionAtLeast ocaml.version "4.08"); + }; +} diff --git a/pkgs/development/ocaml-modules/nonstd/default.nix b/pkgs/development/ocaml-modules/nonstd/default.nix index 7d547d3818f9..32baf666f8b1 100644 --- a/pkgs/development/ocaml-modules/nonstd/default.nix +++ b/pkgs/development/ocaml-modules/nonstd/default.nix @@ -5,28 +5,26 @@ ocaml, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "nonstd is not available for OCaml ≥ 5.0" +buildDunePackage rec { + pname = "nonstd"; + version = "0.0.3"; - buildDunePackage - rec { - pname = "nonstd"; - version = "0.0.3"; + minimalOCamlVersion = "4.02"; - minimalOCamlVersion = "4.02"; + src = fetchzip { + url = "https://bitbucket.org/smondet/${pname}/get/${pname}.${version}.tar.gz"; + sha256 = "0ccjwcriwm8fv29ij1cnbc9win054kb6pfga3ygzdbjpjb778j46"; + }; - src = fetchzip { - url = "https://bitbucket.org/smondet/${pname}/get/${pname}.${version}.tar.gz"; - sha256 = "0ccjwcriwm8fv29ij1cnbc9win054kb6pfga3ygzdbjpjb778j46"; - }; + duneVersion = if lib.versionAtLeast ocaml.version "4.12" then "2" else "1"; + postPatch = lib.optionalString (duneVersion != "1") "dune upgrade"; + doCheck = true; - duneVersion = if lib.versionAtLeast ocaml.version "4.12" then "2" else "1"; - postPatch = lib.optionalString (duneVersion != "1") "dune upgrade"; - doCheck = true; - - meta = with lib; { - homepage = "https://bitbucket.org/smondet/nonstd"; - description = "Non-standard mini-library"; - license = licenses.isc; - maintainers = [ maintainers.alexfmpe ]; - }; - } + meta = with lib; { + homepage = "https://bitbucket.org/smondet/nonstd"; + description = "Non-standard mini-library"; + license = licenses.isc; + maintainers = [ maintainers.alexfmpe ]; + broken = lib.versionAtLeast ocaml.version "5.0"; + }; +} diff --git a/pkgs/development/ocaml-modules/note/default.nix b/pkgs/development/ocaml-modules/note/default.nix index c5e801456a47..176d6581e82d 100644 --- a/pkgs/development/ocaml-modules/note/default.nix +++ b/pkgs/development/ocaml-modules/note/default.nix @@ -9,32 +9,29 @@ brr, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") - "note is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-note"; + version = "0.0.3"; + src = fetchurl { + url = "https://erratique.ch/software/note/releases/note-${version}.tbz"; + hash = "sha256-ZZOvCnyz7UWzFtGFI1uC0ZApzyylgZYM/HYIXGVXY2k="; + }; + buildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + inherit (topkg) buildPhase installPhase; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-note"; - version = "0.0.3"; - src = fetchurl { - url = "https://erratique.ch/software/note/releases/note-${version}.tbz"; - hash = "sha256-ZZOvCnyz7UWzFtGFI1uC0ZApzyylgZYM/HYIXGVXY2k="; - }; - buildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; - inherit (topkg) buildPhase installPhase; + propagatedBuildInputs = [ brr ]; - propagatedBuildInputs = [ brr ]; - - meta = { - homepage = "https://erratique.ch/software/note"; - description = "OCaml module for functional reactive programming"; - license = lib.licenses.isc; - maintainers = [ lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; - } + meta = { + homepage = "https://erratique.ch/software/note"; + description = "OCaml module for functional reactive programming"; + license = lib.licenses.isc; + maintainers = [ lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + broken = !(lib.versionAtLeast ocaml.version "4.08"); + }; +} diff --git a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix index c0cfa54ca997..6a5a696aa20e 100644 --- a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix @@ -20,63 +20,59 @@ let pname = "ocaml-cairo"; in +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + version = "1.2.0"; -if lib.versionAtLeast ocaml.version "4.06" then - throw "${pname} is not available for OCaml ${ocaml.version}" -else + src = fetchurl { + url = "http://cgit.freedesktop.org/cairo-ocaml/snapshot/cairo-ocaml-${version}.zip"; + sha256 = "0l4p9bp6kclr570mxma8wafibr1g5fsjj8h10yr4b507g0hmlh0l"; + }; - stdenv.mkDerivation rec { - name = "${pname}-${version}"; - version = "1.2.0"; + patches = [ ./META.patch ]; - src = fetchurl { - url = "http://cgit.freedesktop.org/cairo-ocaml/snapshot/cairo-ocaml-${version}.zip"; - sha256 = "0l4p9bp6kclr570mxma8wafibr1g5fsjj8h10yr4b507g0hmlh0l"; - }; + strictDeps = true; - patches = [ ./META.patch ]; + nativeBuildInputs = [ + pkg-config + unzip + ocaml + automake + gnum4 + autoconf + findlib + ]; + buildInputs = [ + freetype + lablgtk + cairo + gdk-pixbuf + gtk2 + pango + ]; - strictDeps = true; + createFindlibDestdir = true; - nativeBuildInputs = [ - pkg-config - unzip - ocaml - automake - gnum4 - autoconf - findlib - ]; - buildInputs = [ - freetype - lablgtk - cairo - gdk-pixbuf - gtk2 - pango - ]; + preConfigure = '' + aclocal -I support + autoconf + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE `pkg-config --cflags cairo gdk-pixbuf glib gtk+ pango`" + export LABLGTKDIR=${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 + cp ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2/pango.ml ./src + cp ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2/gaux.ml ./src + ''; - createFindlibDestdir = true; + postInstall = '' + cp META $out/lib/ocaml/${ocaml.version}/site-lib/cairo/ + ''; - preConfigure = '' - aclocal -I support - autoconf - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE `pkg-config --cflags cairo gdk-pixbuf glib gtk+ pango`" - export LABLGTKDIR=${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 - cp ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2/pango.ml ./src - cp ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2/gaux.ml ./src - ''; + makeFlags = [ "INSTALLDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/cairo" ]; - postInstall = '' - cp META $out/lib/ocaml/${ocaml.version}/site-lib/cairo/ - ''; - - makeFlags = [ "INSTALLDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib/cairo" ]; - - meta = { - homepage = "http://cairographics.org/cairo-ocaml"; - description = "Ocaml bindings for cairo library"; - license = lib.licenses.gpl2; - inherit (ocaml.meta) platforms; - }; - } + meta = { + homepage = "http://cairographics.org/cairo-ocaml"; + description = "Ocaml bindings for cairo library"; + license = lib.licenses.gpl2; + broken = lib.versionAtLeast ocaml.version "4.06"; + inherit (ocaml.meta) platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix index 43fead8c172e..584e1b307dda 100644 --- a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix @@ -10,49 +10,46 @@ perl, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.02") - "libvirt is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml-libvirt"; + version = "0.6.1.5"; - stdenv.mkDerivation - rec { - pname = "ocaml-libvirt"; - version = "0.6.1.5"; + src = fetchFromGitLab { + owner = "libvirt"; + repo = "libvirt-ocaml"; + rev = "v${version}"; + sha256 = "0xpkdmknk74yqxgw8z2w8b7ss8hpx92xnab5fsqg2byyj55gzf2k"; + }; - src = fetchFromGitLab { - owner = "libvirt"; - repo = "libvirt-ocaml"; - rev = "v${version}"; - sha256 = "0xpkdmknk74yqxgw8z2w8b7ss8hpx92xnab5fsqg2byyj55gzf2k"; - }; + propagatedBuildInputs = [ libvirt ]; - propagatedBuildInputs = [ libvirt ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + findlib + perl + ocaml + ]; - nativeBuildInputs = [ - autoreconfHook - pkg-config - findlib - perl - ocaml - ]; + strictDeps = true; - strictDeps = true; + buildFlags = [ + "all" + "opt" + "CPPFLAGS=-Wno-error" + ]; + installTargets = "install-opt"; + preInstall = '' + # Fix 'dllmllibvirt.so' install failure into non-existent directory. + mkdir -p $OCAMLFIND_DESTDIR/stublibs + ''; - buildFlags = [ - "all" - "opt" - "CPPFLAGS=-Wno-error" - ]; - installTargets = "install-opt"; - preInstall = '' - # Fix 'dllmllibvirt.so' install failure into non-existent directory. - mkdir -p $OCAMLFIND_DESTDIR/stublibs - ''; - - meta = with lib; { - description = "OCaml bindings for libvirt"; - homepage = "https://libvirt.org/ocaml/"; - license = licenses.gpl2; - maintainers = [ ]; - inherit (ocaml.meta) platforms; - }; - } + meta = with lib; { + description = "OCaml bindings for libvirt"; + homepage = "https://libvirt.org/ocaml/"; + license = licenses.gpl2; + maintainers = [ ]; + inherit (ocaml.meta) platforms; + broken = !(lib.versionAtLeast ocaml.version "4.02"); + }; +} diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix index 6e16fd2f2556..725371018e08 100644 --- a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix +++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix @@ -7,30 +7,27 @@ ppx_derivers, }: -if lib.versionOlder "4.13" ocaml.version then - throw "ocaml-migrate-parsetree-1.8 is not available for OCaml ${ocaml.version}" -else +buildDunePackage rec { + pname = "ocaml-migrate-parsetree"; + version = "1.8.0"; - buildDunePackage rec { - pname = "ocaml-migrate-parsetree"; - version = "1.8.0"; + src = fetchFromGitHub { + owner = "ocaml-ppx"; + repo = pname; + rev = "v${version}"; + sha256 = "16x8sxc4ygxrr1868qpzfqyrvjf3hfxvjzmxmf6ibgglq7ixa2nq"; + }; - src = fetchFromGitHub { - owner = "ocaml-ppx"; - repo = pname; - rev = "v${version}"; - sha256 = "16x8sxc4ygxrr1868qpzfqyrvjf3hfxvjzmxmf6ibgglq7ixa2nq"; - }; + propagatedBuildInputs = [ + ppx_derivers + result + ]; - propagatedBuildInputs = [ - ppx_derivers - result - ]; - - meta = { - description = "Convert OCaml parsetrees between different major versions"; - license = lib.licenses.lgpl21; - maintainers = [ lib.maintainers.vbgl ]; - inherit (src.meta) homepage; - }; - } + meta = { + description = "Convert OCaml parsetrees between different major versions"; + license = lib.licenses.lgpl21; + maintainers = [ lib.maintainers.vbgl ]; + inherit (src.meta) homepage; + broken = lib.versionOlder "4.13" ocaml.version; + }; +} diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix index 2c66caae99f9..129e2a9be198 100644 --- a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix +++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix @@ -5,28 +5,25 @@ ocaml, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.1") - "ocaml-migrate-parsetree is not available for OCaml ${ocaml.version}" +buildDunePackage rec { + pname = "ocaml-migrate-parsetree"; + version = "2.4.0"; - buildDunePackage - rec { - pname = "ocaml-migrate-parsetree"; - version = "2.4.0"; + minimalOCamlVersion = "4.02"; - minimalOCamlVersion = "4.02"; + src = fetchurl { + url = "https://github.com/ocaml-ppx/${pname}/releases/download/${version}/${pname}-${version}.tbz"; + sha256 = "sha256-7EnEUtwzemIFVqtoK/AZi/UBglULUC2PsjClkSYKpqQ="; + }; - src = fetchurl { - url = "https://github.com/ocaml-ppx/${pname}/releases/download/${version}/${pname}-${version}.tbz"; - sha256 = "sha256-7EnEUtwzemIFVqtoK/AZi/UBglULUC2PsjClkSYKpqQ="; - }; - - meta = { - description = "Convert OCaml parsetrees between different major versions"; - license = lib.licenses.lgpl21; - maintainers = with lib.maintainers; [ - vbgl - sternenseemann - ]; - homepage = "https://github.com/ocaml-ppx/ocaml-migrate-parsetree"; - }; - } + meta = { + description = "Convert OCaml parsetrees between different major versions"; + license = lib.licenses.lgpl21; + maintainers = with lib.maintainers; [ + vbgl + sternenseemann + ]; + homepage = "https://github.com/ocaml-ppx/ocaml-migrate-parsetree"; + broken = lib.versionAtLeast ocaml.version "5.1"; + }; +} diff --git a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix index 65f9dadbd957..05a9eac165b6 100644 --- a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix +++ b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix @@ -13,41 +13,35 @@ let inherit (callPackage ./generic.nix args) src version library_deps; in +buildDunePackage { + pname = "ocamlformat"; + inherit src version; -lib.throwIf - ( - lib.versionAtLeast ocaml.version "5.0" && !lib.versionAtLeast version "0.23" - || lib.versionAtLeast ocaml.version "5.1" && !lib.versionAtLeast version "0.25" - || lib.versionAtLeast ocaml.version "5.2" && !lib.versionAtLeast version "0.26.2" - || lib.versionAtLeast ocaml.version "5.3" && !lib.versionAtLeast version "0.27" - ) - "ocamlformat ${version} is not available for OCaml ${ocaml.version}" + minimalOCamlVersion = "4.08"; - buildDunePackage - { - pname = "ocamlformat"; - inherit src version; + nativeBuildInputs = if lib.versionAtLeast version "0.25.1" then [ ] else [ menhir ]; - minimalOCamlVersion = "4.08"; + buildInputs = [ + re + ] + ++ library_deps + ++ lib.optionals (lib.versionAtLeast version "0.25.1") [ + (ocamlformat-lib.override { inherit version; }) + ]; - nativeBuildInputs = if lib.versionAtLeast version "0.25.1" then [ ] else [ menhir ]; - - buildInputs = [ - re - ] - ++ library_deps - ++ lib.optionals (lib.versionAtLeast version "0.25.1") [ - (ocamlformat-lib.override { inherit version; }) + meta = { + homepage = "https://github.com/ocaml-ppx/ocamlformat"; + description = "Auto-formatter for OCaml code"; + maintainers = with lib.maintainers; [ + Zimmi48 + Julow ]; - - meta = { - homepage = "https://github.com/ocaml-ppx/ocamlformat"; - description = "Auto-formatter for OCaml code"; - maintainers = with lib.maintainers; [ - Zimmi48 - Julow - ]; - license = lib.licenses.mit; - mainProgram = "ocamlformat"; - }; - } + license = lib.licenses.mit; + mainProgram = "ocamlformat"; + broken = + lib.versionAtLeast ocaml.version "5.0" && !lib.versionAtLeast version "0.23" + || lib.versionAtLeast ocaml.version "5.1" && !lib.versionAtLeast version "0.25" + || lib.versionAtLeast ocaml.version "5.2" && !lib.versionAtLeast version "0.26.2" + || lib.versionAtLeast ocaml.version "5.3" && !lib.versionAtLeast version "0.27"; + }; +} diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix index dbf4f3c5379a..a7d0e734b990 100644 --- a/pkgs/development/ocaml-modules/ocamlnet/default.nix +++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix @@ -13,62 +13,59 @@ nettle, }: -lib.throwIf (lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "5.0") - "ocamlnet is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-ocamlnet"; + version = "4.1.9"; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-ocamlnet"; - version = "4.1.9"; + src = fetchurl { + url = "http://download.camlcity.org/download/ocamlnet-${version}.tar.gz"; + sha256 = "1vlwxjxr946gdl61a1d7yk859cijq45f60dhn54ik3w4g6cx33pr"; + }; - src = fetchurl { - url = "http://download.camlcity.org/download/ocamlnet-${version}.tar.gz"; - sha256 = "1vlwxjxr946gdl61a1d7yk859cijq45f60dhn54ik3w4g6cx33pr"; - }; + nativeBuildInputs = [ + pkg-config + which + ocaml + findlib + ]; + buildInputs = [ + ncurses + ocaml_pcre + camlzip + gnutls + nettle + ]; - nativeBuildInputs = [ - pkg-config - which - ocaml - findlib - ]; - buildInputs = [ - ncurses - ocaml_pcre - camlzip - gnutls - nettle - ]; + strictDeps = true; - strictDeps = true; + createFindlibDestdir = true; - createFindlibDestdir = true; + dontAddPrefix = true; + dontAddStaticConfigureFlags = true; + configurePlatforms = [ ]; - dontAddPrefix = true; - dontAddStaticConfigureFlags = true; - configurePlatforms = [ ]; + preConfigure = '' + configureFlagsArray=( + -bindir $out/bin + -enable-gnutls + -enable-zip + -enable-pcre + -disable-gtk2 + -with-nethttpd + -datadir $out/lib/ocaml/${ocaml.version}/ocamlnet + ) + ''; - preConfigure = '' - configureFlagsArray=( - -bindir $out/bin - -enable-gnutls - -enable-zip - -enable-pcre - -disable-gtk2 - -with-nethttpd - -datadir $out/lib/ocaml/${ocaml.version}/ocamlnet - ) - ''; + buildPhase = '' + make all + make opt + ''; - buildPhase = '' - make all - make opt - ''; - - meta = { - homepage = "http://projects.camlcity.org/projects/ocamlnet.html"; - description = "Library implementing Internet protocols (http, cgi, email, etc.) for OCaml"; - license = "Most Ocamlnet modules are released under the zlib/png license. The HTTP server module Nethttpd is, however, under the GPL."; - inherit (ocaml.meta) platforms; - }; - } + meta = { + homepage = "http://projects.camlcity.org/projects/ocamlnet.html"; + description = "Library implementing Internet protocols (http, cgi, email, etc.) for OCaml"; + license = "Most Ocamlnet modules are released under the zlib/png license. The HTTP server module Nethttpd is, however, under the GPL."; + inherit (ocaml.meta) platforms; + broken = lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "5.0"; + }; +} diff --git a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix index 263caad54863..766758489fcc 100644 --- a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix +++ b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix @@ -8,42 +8,39 @@ pprint, }: -if lib.versionOlder ocaml.version "4.02" then - throw "ocp-ocamlres is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-ocp-ocamlres"; + version = "0.4"; + src = fetchFromGitHub { + owner = "OCamlPro"; + repo = "ocp-ocamlres"; + rev = "v${version}"; + sha256 = "0smfwrj8qhzknhzawygxi0vgl2af4vyi652fkma59rzjpvscqrnn"; + }; - stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-ocp-ocamlres"; - version = "0.4"; - src = fetchFromGitHub { - owner = "OCamlPro"; - repo = "ocp-ocamlres"; - rev = "v${version}"; - sha256 = "0smfwrj8qhzknhzawygxi0vgl2af4vyi652fkma59rzjpvscqrnn"; - }; + nativeBuildInputs = [ + ocaml + findlib + ]; + buildInputs = [ + astring + pprint + ]; - nativeBuildInputs = [ - ocaml - findlib - ]; - buildInputs = [ - astring - pprint - ]; + strictDeps = true; - strictDeps = true; + createFindlibDestdir = true; - createFindlibDestdir = true; + installFlags = [ "BINDIR=$(out)/bin" ]; + preInstall = "mkdir -p $out/bin"; - installFlags = [ "BINDIR=$(out)/bin" ]; - preInstall = "mkdir -p $out/bin"; - - meta = { - description = "Simple tool and library to embed files and directories inside OCaml executables"; - homepage = "https://www.typerex.org/ocp-ocamlres.html"; - license = lib.licenses.lgpl3Plus; - maintainers = [ lib.maintainers.vbgl ]; - mainProgram = "ocp-ocamlres"; - inherit (ocaml.meta) platforms; - }; - } + meta = { + description = "Simple tool and library to embed files and directories inside OCaml executables"; + homepage = "https://www.typerex.org/ocp-ocamlres.html"; + license = lib.licenses.lgpl3Plus; + maintainers = [ lib.maintainers.vbgl ]; + mainProgram = "ocp-ocamlres"; + inherit (ocaml.meta) platforms; + broken = lib.versionOlder ocaml.version "4.02"; + }; +} diff --git a/pkgs/development/ocaml-modules/ocurl/default.nix b/pkgs/development/ocaml-modules/ocurl/default.nix index 8f30944d3590..625e59ff5bb5 100644 --- a/pkgs/development/ocaml-modules/ocurl/default.nix +++ b/pkgs/development/ocaml-modules/ocurl/default.nix @@ -9,40 +9,39 @@ lwt, lwt_ppx, }: -if lib.versionOlder ocaml.version "4.04" then - throw "ocurl is not available for OCaml ${ocaml.version}" -else - stdenv.mkDerivation rec { - pname = "ocurl"; - version = "0.9.2"; - src = fetchurl { - url = "https://github.com/ygrek/ocurl/releases/download/${version}/ocurl-${version}.tar.gz"; - sha256 = "sha256-4DWXGMh02s1VwLWW5d7h0jtMOUubWmBPGm1hghfWd2M="; - }; +stdenv.mkDerivation rec { + pname = "ocurl"; + version = "0.9.2"; - nativeBuildInputs = [ - pkg-config - ocaml - findlib + src = fetchurl { + url = "https://github.com/ygrek/ocurl/releases/download/${version}/ocurl-${version}.tar.gz"; + sha256 = "sha256-4DWXGMh02s1VwLWW5d7h0jtMOUubWmBPGm1hghfWd2M="; + }; + + nativeBuildInputs = [ + pkg-config + ocaml + findlib + ]; + propagatedBuildInputs = [ + curl + lwt + lwt_ppx + ]; + + strictDeps = true; + + createFindlibDestdir = true; + meta = { + description = "OCaml bindings to libcurl"; + license = lib.licenses.mit; + homepage = "http://ygrek.org.ua/p/ocurl/"; + maintainers = with lib.maintainers; [ + dandellion + bennofs ]; - propagatedBuildInputs = [ - curl - lwt - lwt_ppx - ]; - - strictDeps = true; - - createFindlibDestdir = true; - meta = { - description = "OCaml bindings to libcurl"; - license = lib.licenses.mit; - homepage = "http://ygrek.org.ua/p/ocurl/"; - maintainers = with lib.maintainers; [ - dandellion - bennofs - ]; - platforms = ocaml.meta.platforms or [ ]; - }; - } + platforms = ocaml.meta.platforms or [ ]; + broken = lib.versionOlder ocaml.version "4.04"; + }; +} diff --git a/pkgs/development/ocaml-modules/osdp/default.nix b/pkgs/development/ocaml-modules/osdp/default.nix index 05af890d045a..1f11669e8f39 100644 --- a/pkgs/development/ocaml-modules/osdp/default.nix +++ b/pkgs/development/ocaml-modules/osdp/default.nix @@ -10,37 +10,34 @@ autoconf, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "osdp is not available for OCaml ${ocaml.version}" +buildDunePackage { + pname = "osdp"; + version = "1.1.1"; - buildDunePackage - { - pname = "osdp"; - version = "1.1.1"; + src = fetchurl { + url = "https://github.com/Embedded-SW-VnV/osdp/releases/download/v1.1.1/osdp-1.1.1.tgz"; + hash = "sha256-X7CS2g+MyQPDjhUCvFS/DoqcCXTEw8SCsSGED64TGKQ="; + }; - src = fetchurl { - url = "https://github.com/Embedded-SW-VnV/osdp/releases/download/v1.1.1/osdp-1.1.1.tgz"; - hash = "sha256-X7CS2g+MyQPDjhUCvFS/DoqcCXTEw8SCsSGED64TGKQ="; - }; + preConfigure = '' + autoconf + ''; - preConfigure = '' - autoconf - ''; + nativeBuildInputs = [ + autoconf + findlib + csdp + ]; + propagatedBuildInputs = [ + zarith + ocplib-simplex + csdp + ]; - nativeBuildInputs = [ - autoconf - findlib - csdp - ]; - propagatedBuildInputs = [ - zarith - ocplib-simplex - csdp - ]; - - meta = { - description = "OCaml Interface to SDP solvers"; - homepage = "https://github.com/Embedded-SW-VnV/osdp"; - license = lib.licenses.lgpl3Plus; - }; - } + meta = { + description = "OCaml Interface to SDP solvers"; + homepage = "https://github.com/Embedded-SW-VnV/osdp"; + license = lib.licenses.lgpl3Plus; + broken = lib.versionAtLeast ocaml.version "5.0"; + }; +} diff --git a/pkgs/development/ocaml-modules/piqi/default.nix b/pkgs/development/ocaml-modules/piqi/default.nix index 1c45d67324d6..6a60fd9cf176 100644 --- a/pkgs/development/ocaml-modules/piqi/default.nix +++ b/pkgs/development/ocaml-modules/piqi/default.nix @@ -11,54 +11,51 @@ base64, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "piqi is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + version = "0.6.16"; + pname = "piqi"; + name = "ocaml${ocaml.version}-${pname}-${version}"; - stdenv.mkDerivation - rec { - version = "0.6.16"; - pname = "piqi"; - name = "ocaml${ocaml.version}-${pname}-${version}"; + src = fetchFromGitHub { + owner = "alavrik"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-qE+yybTn+kzbY0h8udhZYO+GwQPI/J/6p3LMmF12cFU="; + }; - src = fetchFromGitHub { - owner = "alavrik"; - repo = pname; - rev = "v${version}"; - sha256 = "sha256-qE+yybTn+kzbY0h8udhZYO+GwQPI/J/6p3LMmF12cFU="; - }; + nativeBuildInputs = [ + ocaml + findlib + which + ]; + propagatedBuildInputs = [ + sedlex + xmlm + easy-format + base64 + ]; - nativeBuildInputs = [ - ocaml - findlib - which - ]; - propagatedBuildInputs = [ - sedlex - xmlm - easy-format - base64 - ]; + strictDeps = true; - strictDeps = true; + patches = [ + ./no-stream.patch + ./no-ocamlpath-override.patch + ]; - patches = [ - ./no-stream.patch - ./no-ocamlpath-override.patch - ]; + createFindlibDestdir = true; - createFindlibDestdir = true; + postBuild = "make -C piqilib piqilib.cma"; - postBuild = "make -C piqilib piqilib.cma"; + installTargets = [ + "install" + "ocaml-install" + ]; - installTargets = [ - "install" - "ocaml-install" - ]; - - meta = with lib; { - homepage = "https://piqi.org"; - description = "Universal schema language and a collection of tools built around it"; - license = licenses.asl20; - maintainers = [ maintainers.maurer ]; - }; - } + meta = with lib; { + homepage = "https://piqi.org"; + description = "Universal schema language and a collection of tools built around it"; + license = licenses.asl20; + maintainers = [ maintainers.maurer ]; + broken = lib.versionAtLeast ocaml.version "5.0"; + }; +} diff --git a/pkgs/development/ocaml-modules/ppx_cstubs/default.nix b/pkgs/development/ocaml-modules/ppx_cstubs/default.nix index 75bdee5783a8..e8ed1e4540e2 100644 --- a/pkgs/development/ocaml-modules/ppx_cstubs/default.nix +++ b/pkgs/development/ocaml-modules/ppx_cstubs/default.nix @@ -14,46 +14,43 @@ findlib, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.2") - "ppx_cstubs is not available for OCaml ${ocaml.version}" +buildDunePackage rec { + pname = "ppx_cstubs"; + version = "0.7.0"; - buildDunePackage - rec { - pname = "ppx_cstubs"; - version = "0.7.0"; + minimalOCamlVersion = "4.08"; - minimalOCamlVersion = "4.08"; + src = fetchFromGitHub { + owner = "fdopen"; + repo = "ppx_cstubs"; + rev = version; + hash = "sha256-qMmwRWCIfNyhCQYPKLiufnb57sTR3P+WInOqtPDywFs="; + }; - src = fetchFromGitHub { - owner = "fdopen"; - repo = "ppx_cstubs"; - rev = version; - hash = "sha256-qMmwRWCIfNyhCQYPKLiufnb57sTR3P+WInOqtPDywFs="; - }; + patches = [ ./ppxlib.patch ]; - patches = [ ./ppxlib.patch ]; + nativeBuildInputs = [ cppo ]; - nativeBuildInputs = [ cppo ]; + buildInputs = [ + bigarray-compat + containers + findlib + integers + num + ppxlib + re + ]; - buildInputs = [ - bigarray-compat - containers - findlib - integers - num - ppxlib - re - ]; + propagatedBuildInputs = [ + ctypes + ]; - propagatedBuildInputs = [ - ctypes - ]; - - meta = with lib; { - homepage = "https://github.com/fdopen/ppx_cstubs"; - changelog = "https://github.com/fdopen/ppx_cstubs/raw/${version}/CHANGES.md"; - description = "Preprocessor for easier stub generation with ocaml-ctypes"; - license = licenses.lgpl21Plus; - maintainers = [ maintainers.osener ]; - }; - } + meta = with lib; { + homepage = "https://github.com/fdopen/ppx_cstubs"; + changelog = "https://github.com/fdopen/ppx_cstubs/raw/${version}/CHANGES.md"; + description = "Preprocessor for easier stub generation with ocaml-ctypes"; + license = licenses.lgpl21Plus; + maintainers = [ maintainers.osener ]; + broken = lib.versionAtLeast ocaml.version "5.2"; + }; +} diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix index 21d6f116b9e7..086b0da2576f 100644 --- a/pkgs/development/ocaml-modules/ppx_tools/default.nix +++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix @@ -8,97 +8,85 @@ cppo, }: -if lib.versionAtLeast ocaml.version "5.2" then - throw "ppx_tools is not available for OCaml ${ocaml.version}" -else - - let - param = - let - v6_6 = { - version = "6.6"; - sha256 = "sha256-QhuaQ9346a3neoRM4GrOVzjR8fg9ysMZR1VzNgyIQtc="; - nativeBuildInputs = [ cppo ]; - buildInputs = [ cppo ]; - }; - in - { - "4.02" = { - version = "5.0+4.02.0"; - sha256 = "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"; - }; - "4.03" = { - version = "5.0+4.03.0"; - sha256 = "061v1fl5z7z3ywi4ppryrlcywnvnqbsw83ppq72qmkc7ma4603jg"; - }; - "4.04" = { - version = "unstable-20161114"; - rev = "49c08e2e4ea8fef88692cd1dcc1b38a9133f17ac"; - sha256 = "0ywzfkf5brj33nwh49k9if8x8v433ral25f3nbklfc9vqr06zrfl"; - }; - "4.05" = { - version = "5.0+4.05.0"; - sha256 = "1jvvhk6wnkvm7b9zph309ihsc0hyxfpahmxxrq19vx8c674jsdm4"; - }; - "4.06" = { - version = "5.1+4.06.0"; - sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; - }; - "4.07" = { - version = "5.1+4.06.0"; - sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; - }; - "4.08" = v6_6; - "4.09" = v6_6; - "4.10" = v6_6; - "4.11" = v6_6; - "4.12" = v6_6; - "4.13" = v6_6; - "4.14" = v6_6; - "5.0" = v6_6; - "5.1" = v6_6; - } - .${ocaml.meta.branch}; - in - - let - src = fetchFromGitHub { - owner = "alainfrisch"; - repo = pname; - rev = param.rev or param.version; - inherit (param) sha256; - }; - pname = "ppx_tools"; - meta = with lib; { - description = "Tools for authors of ppx rewriters"; - homepage = "https://www.lexifi.com/ppx_tools"; - license = licenses.mit; - maintainers = with maintainers; [ vbgl ]; - }; - in - if lib.versionAtLeast param.version "6.0" then - buildDunePackage { - inherit pname src meta; - inherit (param) version buildInputs nativeBuildInputs; - } - else - stdenv.mkDerivation { - name = "ocaml${ocaml.version}-${pname}-${param.version}"; - - inherit src; - - nativeBuildInputs = [ - ocaml - findlib - ]; - - strictDeps = true; - - createFindlibDestdir = true; - - dontStrip = true; - - meta = meta // { - inherit (ocaml.meta) platforms; +let + param = + let + v6_6 = { + version = "6.6"; + sha256 = "sha256-QhuaQ9346a3neoRM4GrOVzjR8fg9ysMZR1VzNgyIQtc="; + nativeBuildInputs = [ cppo ]; + buildInputs = [ cppo ]; + }; + in + { + "4.02" = { + version = "5.0+4.02.0"; + sha256 = "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"; + }; + "4.03" = { + version = "5.0+4.03.0"; + sha256 = "061v1fl5z7z3ywi4ppryrlcywnvnqbsw83ppq72qmkc7ma4603jg"; + }; + "4.04" = { + version = "unstable-20161114"; + rev = "49c08e2e4ea8fef88692cd1dcc1b38a9133f17ac"; + sha256 = "0ywzfkf5brj33nwh49k9if8x8v433ral25f3nbklfc9vqr06zrfl"; + }; + "4.05" = { + version = "5.0+4.05.0"; + sha256 = "1jvvhk6wnkvm7b9zph309ihsc0hyxfpahmxxrq19vx8c674jsdm4"; + }; + "4.06" = { + version = "5.1+4.06.0"; + sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; + }; + "4.07" = { + version = "5.1+4.06.0"; + sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; }; } + .${ocaml.meta.branch} or v6_6; +in + +let + src = fetchFromGitHub { + owner = "alainfrisch"; + repo = pname; + rev = param.rev or param.version; + inherit (param) sha256; + }; + pname = "ppx_tools"; + meta = with lib; { + description = "Tools for authors of ppx rewriters"; + homepage = "https://www.lexifi.com/ppx_tools"; + license = licenses.mit; + maintainers = with maintainers; [ vbgl ]; + broken = lib.versionAtLeast ocaml.version "5.2"; + }; +in +if lib.versionAtLeast param.version "6.0" then + buildDunePackage { + inherit pname src meta; + inherit (param) version buildInputs nativeBuildInputs; + } +else + stdenv.mkDerivation { + name = "ocaml${ocaml.version}-${pname}-${param.version}"; + + inherit src; + + nativeBuildInputs = [ + ocaml + findlib + ]; + + strictDeps = true; + + createFindlibDestdir = true; + + dontStrip = true; + + meta = meta // { + inherit (ocaml.meta) platforms; + }; + } diff --git a/pkgs/development/ocaml-modules/ppxlib/default.nix b/pkgs/development/ocaml-modules/ppxlib/default.nix index 759d92bb4467..76aabf9f8194 100644 --- a/pkgs/development/ocaml-modules/ppxlib/default.nix +++ b/pkgs/development/ocaml-modules/ppxlib/default.nix @@ -103,37 +103,32 @@ let ."${version}"; in -if - param ? max_version && lib.versionAtLeast ocaml.version param.max_version - || param ? min_version && lib.versionOlder ocaml.version param.min_version -then - throw "ppxlib-${version} is not available for OCaml ${ocaml.version}" -else +buildDunePackage rec { + pname = "ppxlib"; + inherit version; - buildDunePackage rec { - pname = "ppxlib"; - inherit version; + src = fetchurl { + url = "https://github.com/ocaml-ppx/ppxlib/releases/download/${version}/ppxlib-${version}.tbz"; + inherit (param) sha256; + }; - src = - param.src or (fetchurl { - url = "https://github.com/ocaml-ppx/ppxlib/releases/download/${version}/ppxlib-${version}.tbz"; - inherit (param) sha256; - }); + propagatedBuildInputs = [ + ocaml-compiler-libs + ] + ++ (param.OMP or [ ]) + ++ [ + ppx_derivers + stdio + stdlib-shims + ]; - propagatedBuildInputs = [ - ocaml-compiler-libs - ] - ++ (param.OMP or [ ]) - ++ [ - ppx_derivers - stdio - stdlib-shims - ]; - - meta = { - description = "Comprehensive ppx tool set"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.vbgl ]; - homepage = "https://github.com/ocaml-ppx/ppxlib"; - }; - } + meta = { + description = "Comprehensive ppx tool set"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vbgl ]; + homepage = "https://github.com/ocaml-ppx/ppxlib"; + broken = + param ? max_version && lib.versionAtLeast ocaml.version param.max_version + || param ? min_version && lib.versionOlder ocaml.version param.min_version; + }; +} diff --git a/pkgs/development/ocaml-modules/ptime/default.nix b/pkgs/development/ocaml-modules/ptime/default.nix index 4624e22600a1..a29060b191bb 100644 --- a/pkgs/development/ocaml-modules/ptime/default.nix +++ b/pkgs/development/ocaml-modules/ptime/default.nix @@ -8,50 +8,47 @@ topkg, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") - "ptime is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation (finalAttrs: { + version = "1.2.0"; + pname = "ocaml${ocaml.version}-ptime"; - stdenv.mkDerivation - (finalAttrs: { - version = "1.2.0"; - pname = "ocaml${ocaml.version}-ptime"; + src = fetchurl { + url = "https://erratique.ch/software/ptime/releases/ptime-${finalAttrs.version}.tbz"; + hash = "sha256-lhZ0f99JDsNugCTKsn7gHjoK9XfYojImY4+kA03nOrA="; + }; - src = fetchurl { - url = "https://erratique.ch/software/ptime/releases/ptime-${finalAttrs.version}.tbz"; - hash = "sha256-lhZ0f99JDsNugCTKsn7gHjoK9XfYojImY4+kA03nOrA="; - }; + nativeBuildInputs = [ + findlib + ocaml + ocamlbuild + topkg + ]; - nativeBuildInputs = [ - findlib - ocaml - ocamlbuild - topkg - ]; + buildInputs = [ + topkg + ]; - buildInputs = [ - topkg - ]; + strictDeps = true; - strictDeps = true; + inherit (topkg) buildPhase installPhase; - inherit (topkg) buildPhase installPhase; + meta = { + description = "POSIX time for OCaml"; + homepage = "https://erratique.ch/software/ptime"; + license = lib.licenses.isc; + longDescription = '' + Ptime has platform independent POSIX time support in pure OCaml. + It provides a type to represent a well-defined range of POSIX timestamps + with picosecond precision, conversion with date-time values, conversion + with RFC 3339 timestamps and pretty printing to a human-readable, + locale-independent representation. - meta = { - description = "POSIX time for OCaml"; - homepage = "https://erratique.ch/software/ptime"; - license = lib.licenses.isc; - longDescription = '' - Ptime has platform independent POSIX time support in pure OCaml. - It provides a type to represent a well-defined range of POSIX timestamps - with picosecond precision, conversion with date-time values, conversion - with RFC 3339 timestamps and pretty printing to a human-readable, - locale-independent representation. + The additional Ptime_clock library provides access to a system POSIX clock + and to the system's current time zone offset. - The additional Ptime_clock library provides access to a system POSIX clock - and to the system's current time zone offset. - - Ptime is not a calendar library. - ''; - maintainers = with lib.maintainers; [ sternenseemann ]; - }; - }) + Ptime is not a calendar library. + ''; + maintainers = with lib.maintainers; [ sternenseemann ]; + broken = !(lib.versionAtLeast ocaml.version "4.08"); + }; +}) diff --git a/pkgs/development/ocaml-modules/rresult/default.nix b/pkgs/development/ocaml-modules/rresult/default.nix index cc559c1c1740..43a860367b58 100644 --- a/pkgs/development/ocaml-modules/rresult/default.nix +++ b/pkgs/development/ocaml-modules/rresult/default.nix @@ -9,37 +9,34 @@ result, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.07") - "rresult is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-rresult"; + version = "0.7.0"; + src = fetchurl { + url = "https://erratique.ch/software/rresult/releases/rresult-${version}.tbz"; + sha256 = "sha256-Eap/W4NGDmBDHjFU4+MsBx1G4VHqV2DPJDd4Bb+XVUA="; + }; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-rresult"; - version = "0.7.0"; - src = fetchurl { - url = "https://erratique.ch/software/rresult/releases/rresult-${version}.tbz"; - sha256 = "sha256-Eap/W4NGDmBDHjFU4+MsBx1G4VHqV2DPJDd4Bb+XVUA="; - }; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; - buildInputs = [ topkg ]; + propagatedBuildInputs = [ result ]; - propagatedBuildInputs = [ result ]; + strictDeps = true; - strictDeps = true; + inherit (topkg) buildPhase installPhase; - inherit (topkg) buildPhase installPhase; - - meta = { - license = lib.licenses.isc; - homepage = "https://erratique.ch/software/rresult"; - description = "Result value combinators for OCaml"; - maintainers = [ lib.maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; - } + meta = { + license = lib.licenses.isc; + homepage = "https://erratique.ch/software/rresult"; + description = "Result value combinators for OCaml"; + maintainers = [ lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + broken = !(lib.versionAtLeast ocaml.version "4.07"); + }; +} diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix index 57cf08744cb3..5bb16cd6e86b 100644 --- a/pkgs/development/ocaml-modules/sawja/default.nix +++ b/pkgs/development/ocaml-modules/sawja/default.nix @@ -12,51 +12,47 @@ let pname = "sawja"; version = "1.5.12"; in +stdenv.mkDerivation { -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") - "${pname} is not available for OCaml ${ocaml.version}" + pname = "ocaml${ocaml.version}-${pname}"; - stdenv.mkDerivation - { + inherit version; - pname = "ocaml${ocaml.version}-${pname}"; + src = fetchFromGitHub { + owner = "javalib-team"; + repo = pname; + rev = version; + hash = "sha256-G1W8/G0TEcldnFnH/NAb9a6ZSGGP2fWTM47lI8bBHnw="; + }; - inherit version; + nativeBuildInputs = [ + which + ocaml + findlib + ]; - src = fetchFromGitHub { - owner = "javalib-team"; - repo = pname; - rev = version; - hash = "sha256-G1W8/G0TEcldnFnH/NAb9a6ZSGGP2fWTM47lI8bBHnw="; - }; + strictDeps = true; - nativeBuildInputs = [ - which - ocaml - findlib - ]; + patches = [ + ./configure.sh.patch + ./Makefile.config.example.patch + ]; - strictDeps = true; + createFindlibDestdir = true; - patches = [ - ./configure.sh.patch - ./Makefile.config.example.patch - ]; + configureScript = "./configure.sh"; + dontAddPrefix = "true"; + dontAddStaticConfigureFlags = true; + configurePlatforms = [ ]; - createFindlibDestdir = true; + propagatedBuildInputs = [ javalib ]; - configureScript = "./configure.sh"; - dontAddPrefix = "true"; - dontAddStaticConfigureFlags = true; - configurePlatforms = [ ]; - - propagatedBuildInputs = [ javalib ]; - - meta = with lib; { - description = "Library written in OCaml, relying on Javalib to provide a high level representation of Java bytecode programs"; - homepage = "http://sawja.inria.fr/"; - license = licenses.gpl3Plus; - maintainers = [ maintainers.vbgl ]; - inherit (ocaml.meta) platforms; - }; - } + meta = with lib; { + description = "Library written in OCaml, relying on Javalib to provide a high level representation of Java bytecode programs"; + homepage = "http://sawja.inria.fr/"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.vbgl ]; + inherit (ocaml.meta) platforms; + broken = !(lib.versionAtLeast ocaml.version "4.08"); + }; +} diff --git a/pkgs/development/ocaml-modules/sodium/default.nix b/pkgs/development/ocaml-modules/sodium/default.nix index 7ca2e65935ad..77b91c113790 100644 --- a/pkgs/development/ocaml-modules/sodium/default.nix +++ b/pkgs/development/ocaml-modules/sodium/default.nix @@ -9,46 +9,43 @@ libsodium, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "sodium is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-sodium"; + version = "0.6.0"; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-sodium"; - version = "0.6.0"; + src = fetchFromGitHub { + owner = "dsheets"; + repo = "ocaml-sodium"; + rev = version; + sha256 = "124gpi1jhac46x05gp5viykyrafnlp03v1cmkl13c6pgcs8w04pv"; + }; - src = fetchFromGitHub { - owner = "dsheets"; - repo = "ocaml-sodium"; - rev = version; - sha256 = "124gpi1jhac46x05gp5viykyrafnlp03v1cmkl13c6pgcs8w04pv"; - }; + patches = [ + # ctypes.stubs no longer pulls in bigarray automatically + ./lib-gen-link-bigarray.patch + ]; - patches = [ - # ctypes.stubs no longer pulls in bigarray automatically - ./lib-gen-link-bigarray.patch - ]; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; + propagatedBuildInputs = [ + ctypes + libsodium + ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - ]; - propagatedBuildInputs = [ - ctypes - libsodium - ]; + strictDeps = true; - strictDeps = true; + createFindlibDestdir = true; - createFindlibDestdir = true; + hardeningDisable = lib.optional stdenv.hostPlatform.isDarwin "strictoverflow"; - hardeningDisable = lib.optional stdenv.hostPlatform.isDarwin "strictoverflow"; - - meta = with lib; { - homepage = "https://github.com/dsheets/ocaml-sodium"; - description = "Binding to libsodium 1.0.9+"; - inherit (ocaml.meta) platforms; - maintainers = [ maintainers.rixed ]; - }; - } + meta = with lib; { + homepage = "https://github.com/dsheets/ocaml-sodium"; + description = "Binding to libsodium 1.0.9+"; + inherit (ocaml.meta) platforms; + maintainers = [ maintainers.rixed ]; + broken = lib.versionAtLeast ocaml.version "5.0"; + }; +} diff --git a/pkgs/development/ocaml-modules/sosa/default.nix b/pkgs/development/ocaml-modules/sosa/default.nix index ded25d88f58e..5659bb4fa380 100644 --- a/pkgs/development/ocaml-modules/sosa/default.nix +++ b/pkgs/development/ocaml-modules/sosa/default.nix @@ -7,46 +7,43 @@ ocamlbuild, }: -lib.throwIf (lib.versionOlder ocaml.version "4.02") - "sosa is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-sosa"; + version = "0.3.0"; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-sosa"; - version = "0.3.0"; + src = fetchFromGitHub { + owner = "hammerlab"; + repo = "sosa"; + rev = "sosa.${version}"; + sha256 = "053hdv6ww0q4mivajj4iyp7krfvgq8zajq9d8x4mia4lid7j0dyk"; + }; - src = fetchFromGitHub { - owner = "hammerlab"; - repo = "sosa"; - rev = "sosa.${version}"; - sha256 = "053hdv6ww0q4mivajj4iyp7krfvgq8zajq9d8x4mia4lid7j0dyk"; - }; + postPatch = lib.optionalString (lib.versionAtLeast ocaml.version "4.07") '' + for p in functors list_of of_mutable + do + substituteInPlace src/lib/$p.ml --replace Pervasives. Stdlib. + done + ''; - postPatch = lib.optionalString (lib.versionAtLeast ocaml.version "4.07") '' - for p in functors list_of of_mutable - do - substituteInPlace src/lib/$p.ml --replace Pervasives. Stdlib. - done - ''; + nativeBuildInputs = [ + ocaml + ocamlbuild + findlib + ]; - nativeBuildInputs = [ - ocaml - ocamlbuild - findlib - ]; + strictDeps = true; - strictDeps = true; + buildPhase = "make build"; - buildPhase = "make build"; + createFindlibDestdir = true; - createFindlibDestdir = true; + doCheck = true; - doCheck = true; - - meta = with lib; { - homepage = "http://www.hammerlab.org/docs/sosa/master/index.html"; - description = "Sane OCaml String API"; - license = licenses.isc; - maintainers = [ maintainers.alexfmpe ]; - }; - } + meta = with lib; { + homepage = "http://www.hammerlab.org/docs/sosa/master/index.html"; + description = "Sane OCaml String API"; + license = licenses.isc; + maintainers = [ maintainers.alexfmpe ]; + broken = !(lib.versionOlder ocaml.version "4.02"); + }; +} diff --git a/pkgs/development/ocaml-modules/stdcompat/default.nix b/pkgs/development/ocaml-modules/stdcompat/default.nix index dd1a26e1ebac..d75b4839a8b0 100644 --- a/pkgs/development/ocaml-modules/stdcompat/default.nix +++ b/pkgs/development/ocaml-modules/stdcompat/default.nix @@ -5,27 +5,24 @@ fetchurl, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.2") - "stdcompat is not available for OCaml ${ocaml.version}" +buildDunePackage rec { + pname = "stdcompat"; + version = "19"; - buildDunePackage - rec { - pname = "stdcompat"; - version = "19"; + minimalOCamlVersion = "4.06"; - minimalOCamlVersion = "4.06"; + src = fetchurl { + url = "https://github.com/thierry-martinez/stdcompat/releases/download/v${version}/stdcompat-${version}.tar.gz"; + sha256 = "sha256-DKQGd4nnIN6SPls6hcA/2Jvc7ivYNpeMU6rYsVc1ClU="; + }; - src = fetchurl { - url = "https://github.com/thierry-martinez/stdcompat/releases/download/v${version}/stdcompat-${version}.tar.gz"; - sha256 = "sha256-DKQGd4nnIN6SPls6hcA/2Jvc7ivYNpeMU6rYsVc1ClU="; - }; + # Otherwise ./configure script will run and create files conflicting with dune. + dontConfigure = true; - # Otherwise ./configure script will run and create files conflicting with dune. - dontConfigure = true; - - meta = { - homepage = "https://github.com/thierry-martinez/stdcompat"; - license = lib.licenses.bsd2; - maintainers = [ lib.maintainers.vbgl ]; - }; - } + meta = { + homepage = "https://github.com/thierry-martinez/stdcompat"; + license = lib.licenses.bsd2; + maintainers = [ lib.maintainers.vbgl ]; + broken = lib.versionAtLeast ocaml.version "5.2"; + }; +} diff --git a/pkgs/development/ocaml-modules/tsdl/default.nix b/pkgs/development/ocaml-modules/tsdl/default.nix index 092d3973db90..d5b5517411f1 100644 --- a/pkgs/development/ocaml-modules/tsdl/default.nix +++ b/pkgs/development/ocaml-modules/tsdl/default.nix @@ -13,56 +13,53 @@ pkg-config, }: -if lib.versionOlder ocaml.version "4.03" then - throw "tsdl is not available for OCaml ${ocaml.version}" -else +let + pname = "tsdl"; + version = "1.1.0"; + webpage = "https://erratique.ch/software/${pname}"; +in - let - pname = "tsdl"; - version = "1.1.0"; - webpage = "https://erratique.ch/software/${pname}"; - in +stdenv.mkDerivation { + pname = "ocaml${ocaml.version}-${pname}"; + inherit version; - stdenv.mkDerivation { - pname = "ocaml${ocaml.version}-${pname}"; - inherit version; + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + hash = "sha256-ZN4+trqesU1IREKcwm1Ro37jszKG8XcVigoE4BdGhzs="; + }; - src = fetchurl { - url = "${webpage}/releases/${pname}-${version}.tbz"; - hash = "sha256-ZN4+trqesU1IREKcwm1Ro37jszKG8XcVigoE4BdGhzs="; - }; + strictDeps = true; - strictDeps = true; + nativeBuildInputs = [ + pkg-config + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; + propagatedBuildInputs = [ + SDL2 + ctypes + ctypes-foreign + ]; - nativeBuildInputs = [ - pkg-config - ocaml - findlib - ocamlbuild - topkg - ]; - buildInputs = [ topkg ]; - propagatedBuildInputs = [ - SDL2 - ctypes - ctypes-foreign - ]; + preConfigure = '' + # The following is done to avoid an additional dependency (ncurses) + # due to linking in the custom bytecode runtime. Instead, just + # compile directly into a native binary, even if it's just a + # temporary build product. + substituteInPlace myocamlbuild.ml \ + --replace ".byte" ".native" + ''; - preConfigure = '' - # The following is done to avoid an additional dependency (ncurses) - # due to linking in the custom bytecode runtime. Instead, just - # compile directly into a native binary, even if it's just a - # temporary build product. - substituteInPlace myocamlbuild.ml \ - --replace ".byte" ".native" - ''; + inherit (topkg) buildPhase installPhase; - inherit (topkg) buildPhase installPhase; - - meta = with lib; { - homepage = webpage; - description = "Thin bindings to the cross-platform SDL library"; - license = licenses.isc; - inherit (ocaml.meta) platforms; - }; - } + meta = with lib; { + homepage = webpage; + description = "Thin bindings to the cross-platform SDL library"; + license = licenses.isc; + inherit (ocaml.meta) platforms; + broken = lib.versionOlder ocaml.version "4.03"; + }; +} diff --git a/pkgs/development/ocaml-modules/twt/default.nix b/pkgs/development/ocaml-modules/twt/default.nix index ef5fae48b37c..eb30e395c749 100644 --- a/pkgs/development/ocaml-modules/twt/default.nix +++ b/pkgs/development/ocaml-modules/twt/default.nix @@ -6,45 +6,42 @@ findlib, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "twt is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-twt"; + version = "0.94.0"; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-twt"; - version = "0.94.0"; + src = fetchFromGitHub { + owner = "mlin"; + repo = "twt"; + rev = "v${version}"; + sha256 = "sha256-xbjLPd7P1KyuC3i6WHLBcdLwd14atcBsd5ER+l97KAk="; + }; - src = fetchFromGitHub { - owner = "mlin"; - repo = "twt"; - rev = "v${version}"; - sha256 = "sha256-xbjLPd7P1KyuC3i6WHLBcdLwd14atcBsd5ER+l97KAk="; - }; + nativeBuildInputs = [ + ocaml + findlib + ]; - nativeBuildInputs = [ - ocaml - findlib - ]; + strictDeps = true; - strictDeps = true; + preInstall = '' + mkdir -p $out/bin + mkdir -p $OCAMLFIND_DESTDIR + ''; - preInstall = '' - mkdir -p $out/bin - mkdir -p $OCAMLFIND_DESTDIR - ''; + dontBuild = true; - dontBuild = true; + installFlags = [ "PREFIX=$(out)" ]; - installFlags = [ "PREFIX=$(out)" ]; + dontStrip = true; - dontStrip = true; - - meta = with lib; { - description = "“The Whitespace Thing” for OCaml"; - homepage = "http://people.csail.mit.edu/mikelin/ocaml+twt/"; - license = licenses.mit; - maintainers = [ maintainers.vbgl ]; - mainProgram = "ocaml+twt"; - inherit (ocaml.meta) platforms; - }; - } + meta = with lib; { + description = "“The Whitespace Thing” for OCaml"; + homepage = "http://people.csail.mit.edu/mikelin/ocaml+twt/"; + license = licenses.mit; + maintainers = [ maintainers.vbgl ]; + mainProgram = "ocaml+twt"; + broken = lib.versionAtLeast ocaml.version "5.0"; + inherit (ocaml.meta) platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/ulex/default.nix b/pkgs/development/ocaml-modules/ulex/default.nix index 512be9b782f4..d6f3781fe588 100644 --- a/pkgs/development/ocaml-modules/ulex/default.nix +++ b/pkgs/development/ocaml-modules/ulex/default.nix @@ -22,44 +22,40 @@ let sha256 = "0cmscxcmcxhlshh4jd0lzw5ffzns12x3bj7h27smbc8waxkwffhl"; }; in +stdenv.mkDerivation { + pname = "ocaml${ocaml.version}-${pname}"; + inherit (param) version; -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "ulex is not available for OCaml ${ocaml.version}" + src = fetchFromGitHub { + owner = "ocaml-community"; + repo = pname; + rev = "v${param.version}"; + inherit (param) sha256; + }; - stdenv.mkDerivation - { - pname = "ocaml${ocaml.version}-${pname}"; - inherit (param) version; + createFindlibDestdir = true; - src = fetchFromGitHub { - owner = "ocaml-community"; - repo = pname; - rev = "v${param.version}"; - inherit (param) sha256; - }; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + camlp4 + ]; + propagatedBuildInputs = [ camlp4 ]; - createFindlibDestdir = true; + strictDeps = true; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - camlp4 - ]; - propagatedBuildInputs = [ camlp4 ]; + buildFlags = [ + "all" + "all.opt" + ]; - strictDeps = true; - - buildFlags = [ - "all" - "all.opt" - ]; - - meta = { - homepage = "https://opam.ocaml.org/packages/ulex/"; - description = "Lexer generator for Unicode and OCaml"; - license = lib.licenses.mit; - inherit (ocaml.meta) platforms; - maintainers = [ lib.maintainers.roconnor ]; - }; - } + meta = { + homepage = "https://opam.ocaml.org/packages/ulex/"; + description = "Lexer generator for Unicode and OCaml"; + license = lib.licenses.mit; + inherit (ocaml.meta) platforms; + maintainers = [ lib.maintainers.roconnor ]; + broken = lib.versionAtLeast ocaml.version "5.0"; + }; +} diff --git a/pkgs/development/ocaml-modules/uri/sexp.nix b/pkgs/development/ocaml-modules/uri/sexp.nix index df54c7636c73..db31f8d0f037 100644 --- a/pkgs/development/ocaml-modules/uri/sexp.nix +++ b/pkgs/development/ocaml-modules/uri/sexp.nix @@ -8,21 +8,21 @@ sexplib0, }: -if lib.versionOlder ocaml.version "4.04" then - throw "uri-sexp is not available for OCaml ${ocaml.version}" -else +buildDunePackage { + pname = "uri-sexp"; + inherit (uri) version src; - buildDunePackage { - pname = "uri-sexp"; - inherit (uri) version src meta; + duneVersion = "3"; - duneVersion = "3"; + checkInputs = [ ounit ]; + propagatedBuildInputs = [ + ppx_sexp_conv + sexplib0 + uri + ]; + doCheck = lib.versionAtLeast ocaml.version "4.08"; - checkInputs = [ ounit ]; - propagatedBuildInputs = [ - ppx_sexp_conv - sexplib0 - uri - ]; - doCheck = lib.versionAtLeast ocaml.version "4.08"; - } + meta = uri.meta // { + broken = uri.meta.broken or false || lib.versionOlder ocaml.version "4.04"; + }; +} diff --git a/pkgs/development/ocaml-modules/uuidm/default.nix b/pkgs/development/ocaml-modules/uuidm/default.nix index 77ca17170585..6f203bdc5832 100644 --- a/pkgs/development/ocaml-modules/uuidm/default.nix +++ b/pkgs/development/ocaml-modules/uuidm/default.nix @@ -10,45 +10,42 @@ version ? if lib.versionAtLeast ocaml.version "4.14" then "0.9.10" else "0.9.8", }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08") - "uuidm is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation { + inherit version; + pname = "uuidm"; + src = fetchurl { + url = "https://erratique.ch/software/uuidm/releases/uuidm-${version}.tbz"; + hash = + { + "0.9.10" = "sha256-kWVZSofWMyky5nAuxoh1xNhwMKZ2qUahL3Dh27J36Vc="; + "0.9.8" = "sha256-/GZbkJVDQu1UY8SliK282kUWAVMfOnpQadUlRT/tJrM="; + } + ."${version}"; + }; - stdenv.mkDerivation - { - inherit version; - pname = "uuidm"; - src = fetchurl { - url = "https://erratique.ch/software/uuidm/releases/uuidm-${version}.tbz"; - hash = - { - "0.9.10" = "sha256-kWVZSofWMyky5nAuxoh1xNhwMKZ2qUahL3Dh27J36Vc="; - "0.9.8" = "sha256-/GZbkJVDQu1UY8SliK282kUWAVMfOnpQadUlRT/tJrM="; - } - ."${version}"; - }; + strictDeps = true; - strictDeps = true; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + configurePlatforms = [ ]; + buildInputs = [ + topkg + cmdliner + ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; - configurePlatforms = [ ]; - buildInputs = [ - topkg - cmdliner - ]; + inherit (topkg) buildPhase installPhase; - inherit (topkg) buildPhase installPhase; - - meta = with lib; { - description = "OCaml module implementing 128 bits universally unique identifiers version 3, 5 (name based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122"; - homepage = "https://erratique.ch/software/uuidm"; - license = licenses.bsd3; - maintainers = [ maintainers.maurer ]; - mainProgram = "uuidtrip"; - inherit (ocaml.meta) platforms; - }; - } + meta = with lib; { + description = "OCaml module implementing 128 bits universally unique identifiers version 3, 5 (name based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122"; + homepage = "https://erratique.ch/software/uuidm"; + license = licenses.bsd3; + maintainers = [ maintainers.maurer ]; + mainProgram = "uuidtrip"; + inherit (ocaml.meta) platforms; + broken = !(lib.versionAtLeast ocaml.version "4.08"); + }; +} diff --git a/pkgs/development/ocaml-modules/uunf/default.nix b/pkgs/development/ocaml-modules/uunf/default.nix index 0fc5a247e8e9..522a001f4a4d 100644 --- a/pkgs/development/ocaml-modules/uunf/default.nix +++ b/pkgs/development/ocaml-modules/uunf/default.nix @@ -22,52 +22,48 @@ let } ."${version}"; in +stdenv.mkDerivation { + name = "ocaml${ocaml.version}-${pname}-${version}"; + inherit version; -if lib.versionOlder ocaml.version "4.03" then - throw "${pname} is not available for OCaml ${ocaml.version}" -else + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + inherit hash; + }; - stdenv.mkDerivation { - name = "ocaml${ocaml.version}-${pname}-${version}"; - inherit version; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ + topkg + uutf + ] + ++ lib.optional cmdlinerSupport cmdliner; - src = fetchurl { - url = "${webpage}/releases/${pname}-${version}.tbz"; - inherit hash; - }; + strictDeps = true; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; - buildInputs = [ - topkg - uutf - ] - ++ lib.optional cmdlinerSupport cmdliner; + prePatch = lib.optionalString stdenv.hostPlatform.isAarch64 "ulimit -s 16384"; - strictDeps = true; + buildPhase = '' + runHook preBuild + ${topkg.run} build \ + --with-uutf true \ + --with-cmdliner ${lib.boolToString cmdlinerSupport} + runHook postBuild + ''; - prePatch = lib.optionalString stdenv.hostPlatform.isAarch64 "ulimit -s 16384"; + inherit (topkg) installPhase; - buildPhase = '' - runHook preBuild - ${topkg.run} build \ - --with-uutf true \ - --with-cmdliner ${lib.boolToString cmdlinerSupport} - runHook postBuild - ''; - - inherit (topkg) installPhase; - - meta = with lib; { - description = "OCaml module for normalizing Unicode text"; - homepage = webpage; - license = licenses.bsd3; - maintainers = [ maintainers.vbgl ]; - mainProgram = "unftrip"; - inherit (ocaml.meta) platforms; - }; - } + meta = with lib; { + description = "OCaml module for normalizing Unicode text"; + homepage = webpage; + license = licenses.bsd3; + maintainers = [ maintainers.vbgl ]; + mainProgram = "unftrip"; + inherit (ocaml.meta) platforms; + broken = lib.versionOlder ocaml.version "4.03"; + }; +} diff --git a/pkgs/development/ocaml-modules/vg/default.nix b/pkgs/development/ocaml-modules/vg/default.nix index 5b99a1b04cf1..b3d47c8b1d60 100644 --- a/pkgs/development/ocaml-modules/vg/default.nix +++ b/pkgs/development/ocaml-modules/vg/default.nix @@ -22,64 +22,60 @@ let version = "0.9.5"; webpage = "https://erratique.ch/software/${pname}"; in +stdenv.mkDerivation { -if versionOlder ocaml.version "4.14" then - throw "vg is not available for OCaml ${ocaml.version}" -else + name = "ocaml${ocaml.version}-${pname}-${version}"; - stdenv.mkDerivation { + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + hash = "sha256-qcTtvIfSUwzpUZDspL+54UTNvWY6u3BTvfGWF6c0Jvw="; + }; - name = "ocaml${ocaml.version}-${pname}-${version}"; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; + buildInputs = [ topkg ]; - src = fetchurl { - url = "${webpage}/releases/${pname}-${version}.tbz"; - hash = "sha256-qcTtvIfSUwzpUZDspL+54UTNvWY6u3BTvfGWF6c0Jvw="; - }; + propagatedBuildInputs = [ + uchar + result + gg + ] + ++ optionals pdfBackend [ + otfm + ] + ++ optionals htmlcBackend [ + brr + ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - ]; - buildInputs = [ topkg ]; + strictDeps = true; - propagatedBuildInputs = [ - uchar - result - gg - ] - ++ optionals pdfBackend [ - otfm - ] - ++ optionals htmlcBackend [ - brr - ]; + buildPhase = + topkg.buildPhase + + " --with-otfm ${lib.boolToString pdfBackend}" + + " --with-brr ${lib.boolToString htmlcBackend}" + + " --with-cairo2 false"; - strictDeps = true; + inherit (topkg) installPhase; - buildPhase = - topkg.buildPhase - + " --with-otfm ${lib.boolToString pdfBackend}" - + " --with-brr ${lib.boolToString htmlcBackend}" - + " --with-cairo2 false"; + meta = with lib; { + description = "Declarative 2D vector graphics for OCaml"; + longDescription = '' + Vg is an OCaml module for declarative 2D vector graphics. In Vg, images + are values that denote functions mapping points of the cartesian plane + to colors. The module provides combinators to define and compose these + values. - inherit (topkg) installPhase; - - meta = with lib; { - description = "Declarative 2D vector graphics for OCaml"; - longDescription = '' - Vg is an OCaml module for declarative 2D vector graphics. In Vg, images - are values that denote functions mapping points of the cartesian plane - to colors. The module provides combinators to define and compose these - values. - - Renderers for PDF, SVG and the HTML canvas are distributed with the - module. An API allows to implement new renderers. - ''; - homepage = webpage; - license = licenses.isc; - maintainers = [ maintainers.jirkamarsik ]; - mainProgram = "vecho"; - inherit (ocaml.meta) platforms; - }; - } + Renderers for PDF, SVG and the HTML canvas are distributed with the + module. An API allows to implement new renderers. + ''; + homepage = webpage; + license = licenses.isc; + maintainers = [ maintainers.jirkamarsik ]; + mainProgram = "vecho"; + inherit (ocaml.meta) platforms; + broken = versionOlder ocaml.version "4.14"; + }; +} diff --git a/pkgs/development/ocaml-modules/vlq/default.nix b/pkgs/development/ocaml-modules/vlq/default.nix index e6b8070963df..984c20586737 100644 --- a/pkgs/development/ocaml-modules/vlq/default.nix +++ b/pkgs/development/ocaml-modules/vlq/default.nix @@ -6,26 +6,23 @@ dune-configurator, }: -lib.throwIf (lib.versionAtLeast ocaml.version "5.0") - "vlq is not available for OCaml ${ocaml.version}" +buildDunePackage rec { + pname = "vlq"; + version = "0.2.1"; - buildDunePackage - rec { - pname = "vlq"; - version = "0.2.1"; + src = fetchurl { + url = "https://github.com/flowtype/ocaml-vlq/releases/download/v${version}/vlq-v${version}.tbz"; + sha256 = "02wr9ph4q0nxmqgbc67ydf165hmrdv9b655krm2glc3ahb6larxi"; + }; - src = fetchurl { - url = "https://github.com/flowtype/ocaml-vlq/releases/download/v${version}/vlq-v${version}.tbz"; - sha256 = "02wr9ph4q0nxmqgbc67ydf165hmrdv9b655krm2glc3ahb6larxi"; - }; + buildInputs = [ dune-configurator ]; - buildInputs = [ dune-configurator ]; + meta = { + description = "Encoding variable-length quantities, in particular base64"; + license = lib.licenses.mit; + homepage = "https://github.com/flowtype/ocaml-vlq"; + maintainers = [ lib.maintainers.nomeata ]; + broken = lib.versionAtLeast ocaml.version "5.0"; + }; - meta = { - description = "Encoding variable-length quantities, in particular base64"; - license = lib.licenses.mit; - homepage = "https://github.com/flowtype/ocaml-vlq"; - maintainers = [ lib.maintainers.nomeata ]; - }; - - } +} diff --git a/pkgs/development/ocaml-modules/wasm/default.nix b/pkgs/development/ocaml-modules/wasm/default.nix index 5af0836ed2ca..24fe6fb00061 100644 --- a/pkgs/development/ocaml-modules/wasm/default.nix +++ b/pkgs/development/ocaml-modules/wasm/default.nix @@ -24,9 +24,6 @@ buildDunePackage rec { export sourceRoot=$PWD ''; - # x86_64-unknown-linux-musl-ld: -r and -pie may not be used together - hardeningDisable = lib.optional stdenv.hostPlatform.isStatic "pie"; - nativeBuildInputs = [ menhir odoc diff --git a/pkgs/development/ocaml-modules/xmlm/default.nix b/pkgs/development/ocaml-modules/xmlm/default.nix index 21d0b28a09b7..3ad17d8aa74f 100644 --- a/pkgs/development/ocaml-modules/xmlm/default.nix +++ b/pkgs/development/ocaml-modules/xmlm/default.nix @@ -11,38 +11,34 @@ let pname = "xmlm"; webpage = "https://erratique.ch/software/${pname}"; in +stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-${pname}-${version}"; + version = "1.4.0"; -if lib.versionOlder ocaml.version "4.05" then - throw "xmlm is not available for OCaml ${ocaml.version}" -else + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + sha256 = "sha256-CRJSJY490WMgw85N2yG81X79nIwuv7eZ7mpUPtSS2fo="; + }; - stdenv.mkDerivation rec { - name = "ocaml${ocaml.version}-${pname}-${version}"; - version = "1.4.0"; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + topkg + ]; + buildInputs = [ topkg ]; - src = fetchurl { - url = "${webpage}/releases/${pname}-${version}.tbz"; - sha256 = "sha256-CRJSJY490WMgw85N2yG81X79nIwuv7eZ7mpUPtSS2fo="; - }; + strictDeps = true; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - topkg - ]; - buildInputs = [ topkg ]; + inherit (topkg) buildPhase installPhase; - strictDeps = true; - - inherit (topkg) buildPhase installPhase; - - meta = with lib; { - description = "OCaml streaming codec to decode and encode the XML data format"; - homepage = webpage; - license = licenses.isc; - maintainers = [ maintainers.vbgl ]; - mainProgram = "xmltrip"; - inherit (ocaml.meta) platforms; - }; - } + meta = with lib; { + description = "OCaml streaming codec to decode and encode the XML data format"; + homepage = webpage; + license = licenses.isc; + maintainers = [ maintainers.vbgl ]; + mainProgram = "xmltrip"; + inherit (ocaml.meta) platforms; + broken = lib.versionOlder ocaml.version "4.05"; + }; +} diff --git a/pkgs/development/ocaml-modules/z3/default.nix b/pkgs/development/ocaml-modules/z3/default.nix index ddc9e2931015..e0643d5e5e56 100644 --- a/pkgs/development/ocaml-modules/z3/default.nix +++ b/pkgs/development/ocaml-modules/z3/default.nix @@ -7,43 +7,40 @@ z3, }: -if lib.versionOlder ocaml.version "4.08" then - throw "z3 is not available for OCaml ${ocaml.version}" -else +let + z3-with-ocaml = ( + z3.override { + ocamlBindings = true; + inherit ocaml findlib zarith; + } + ); +in - let - z3-with-ocaml = ( - z3.override { - ocamlBindings = true; - inherit ocaml findlib zarith; - } - ); - in +stdenv.mkDerivation { - stdenv.mkDerivation { + pname = "ocaml${ocaml.version}-z3"; + inherit (z3-with-ocaml) version; - pname = "ocaml${ocaml.version}-z3"; - inherit (z3-with-ocaml) version; + dontUnpack = true; - dontUnpack = true; + installPhase = '' + runHook preInstall + mkdir -p $OCAMLFIND_DESTDIR + cp -r ${z3-with-ocaml.ocaml}/lib/ocaml/${ocaml.version}/site-lib/stublibs $OCAMLFIND_DESTDIR + cp -r ${z3-with-ocaml.ocaml}/lib/ocaml/${ocaml.version}/site-lib/Z3 $OCAMLFIND_DESTDIR/z3 + runHook postInstall + ''; - installPhase = '' - runHook preInstall - mkdir -p $OCAMLFIND_DESTDIR - cp -r ${z3-with-ocaml.ocaml}/lib/ocaml/${ocaml.version}/site-lib/stublibs $OCAMLFIND_DESTDIR - cp -r ${z3-with-ocaml.ocaml}/lib/ocaml/${ocaml.version}/site-lib/Z3 $OCAMLFIND_DESTDIR/z3 - runHook postInstall - ''; + nativeBuildInputs = [ findlib ]; + propagatedBuildInputs = [ + z3-with-ocaml.lib + zarith + ]; - nativeBuildInputs = [ findlib ]; - propagatedBuildInputs = [ - z3-with-ocaml.lib - zarith - ]; + strictDeps = true; - strictDeps = true; - - meta = z3.meta // { - description = "Z3 Theorem Prover (OCaml API)"; - }; - } + meta = z3.meta // { + description = "Z3 Theorem Prover (OCaml API)"; + broken = lib.versionOlder ocaml.version "4.08"; + }; +} diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix index 09ef6ced2600..6b0e4ad4074a 100644 --- a/pkgs/development/ocaml-modules/zarith/default.nix +++ b/pkgs/development/ocaml-modules/zarith/default.nix @@ -9,49 +9,46 @@ version ? if lib.versionAtLeast ocaml.version "4.08" then "1.14" else "1.13", }: -if lib.versionOlder ocaml.version "4.04" then - throw "zarith is not available for OCaml ${ocaml.version}" -else +stdenv.mkDerivation (finalAttrs: { + pname = "ocaml${ocaml.version}-zarith"; + inherit version; + src = fetchFromGitHub { + owner = "ocaml"; + repo = "Zarith"; + rev = "release-${version}"; + hash = + { + "1.13" = "sha256-CNVKoJeO3fsmWaV/dwnUA8lgI4ZlxR/LKCXpCXUrpSg="; + "1.14" = "sha256-xUrBDr+M8uW2KOy7DZieO/vDgsSOnyBnpOzQDlXJ0oE="; + } + ."${finalAttrs.version}"; + }; - stdenv.mkDerivation (finalAttrs: { - pname = "ocaml${ocaml.version}-zarith"; - inherit version; - src = fetchFromGitHub { - owner = "ocaml"; - repo = "Zarith"; - rev = "release-${version}"; - hash = - { - "1.13" = "sha256-CNVKoJeO3fsmWaV/dwnUA8lgI4ZlxR/LKCXpCXUrpSg="; - "1.14" = "sha256-xUrBDr+M8uW2KOy7DZieO/vDgsSOnyBnpOzQDlXJ0oE="; - } - ."${finalAttrs.version}"; - }; + nativeBuildInputs = [ + pkg-config + ocaml + findlib + ]; + propagatedBuildInputs = [ gmp ]; + strictDeps = true; - nativeBuildInputs = [ - pkg-config - ocaml - findlib + dontAddPrefix = true; + dontAddStaticConfigureFlags = true; + configurePlatforms = [ ]; + configureFlags = [ "-installdir ${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib" ]; + + preInstall = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs"; + + meta = with lib; { + description = "Fast, arbitrary precision OCaml integers"; + homepage = "https://github.com/ocaml/Zarith"; + changelog = "https://github.com/ocaml/Zarith/raw/${finalAttrs.src.rev}/Changes"; + license = licenses.lgpl2; + inherit (ocaml.meta) platforms; + maintainers = with maintainers; [ + thoughtpolice + vbgl ]; - propagatedBuildInputs = [ gmp ]; - strictDeps = true; - - dontAddPrefix = true; - dontAddStaticConfigureFlags = true; - configurePlatforms = [ ]; - configureFlags = [ "-installdir ${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib" ]; - - preInstall = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs"; - - meta = with lib; { - description = "Fast, arbitrary precision OCaml integers"; - homepage = "https://github.com/ocaml/Zarith"; - changelog = "https://github.com/ocaml/Zarith/raw/${finalAttrs.src.rev}/Changes"; - license = licenses.lgpl2; - inherit (ocaml.meta) platforms; - maintainers = with maintainers; [ - thoughtpolice - vbgl - ]; - }; - }) + broken = lib.versionOlder ocaml.version "4.04"; + }; +}) diff --git a/pkgs/development/ocaml-modules/zipc/default.nix b/pkgs/development/ocaml-modules/zipc/default.nix index 74717ec79471..7f983a68a022 100644 --- a/pkgs/development/ocaml-modules/zipc/default.nix +++ b/pkgs/development/ocaml-modules/zipc/default.nix @@ -9,38 +9,35 @@ cmdliner, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.14") - "zipc is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-zipc"; + version = "0.2.0"; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-zipc"; - version = "0.2.0"; + src = fetchurl { + url = "https://erratique.ch/software/zipc/releases/zipc-${version}.tbz"; + hash = "sha256-YQqkCURwrJgFH0+zgfket25zJQ4w+Tcc1mTSrDuWRt0="; + }; - src = fetchurl { - url = "https://erratique.ch/software/zipc/releases/zipc-${version}.tbz"; - hash = "sha256-YQqkCURwrJgFH0+zgfket25zJQ4w+Tcc1mTSrDuWRt0="; - }; + strictDeps = true; - strictDeps = true; + nativeBuildInputs = [ + ocaml + findlib + ocamlbuild + ]; - nativeBuildInputs = [ - ocaml - findlib - ocamlbuild - ]; + buildInputs = [ + cmdliner + topkg + ]; - buildInputs = [ - cmdliner - topkg - ]; + inherit (topkg) buildPhase installPhase; - inherit (topkg) buildPhase installPhase; - - meta = { - description = "ZIP archive and deflate codec for OCaml"; - homepage = "https://erratique.ch/software/zipc"; - license = lib.licenses.isc; - maintainers = [ lib.maintainers.vbgl ]; - }; - } + meta = { + description = "ZIP archive and deflate codec for OCaml"; + homepage = "https://erratique.ch/software/zipc"; + license = lib.licenses.isc; + maintainers = [ lib.maintainers.vbgl ]; + broken = !(lib.versionAtLeast ocaml.version "4.14"); + }; +} diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix index d7203d464870..d481ea44be06 100644 --- a/pkgs/development/python-modules/aiohttp/default.nix +++ b/pkgs/development/python-modules/aiohttp/default.nix @@ -6,6 +6,7 @@ replaceVars, isPy310, isPyPy, + pythonOlder, # build-system cython, @@ -20,6 +21,7 @@ aiosignal, async-timeout, attrs, + backports-zstd, frozenlist, multidict, propcache, @@ -49,14 +51,14 @@ buildPythonPackage rec { pname = "aiohttp"; - version = "3.12.15"; + version = "3.13.2"; pyproject = true; src = fetchFromGitHub { owner = "aio-libs"; repo = "aiohttp"; tag = "v${version}"; - hash = "sha256-nVDGSbzjCdyJFCsHq8kJigNA4vGs4Pg1Vyyvw+gKg2w="; + hash = "sha256-LqYGrrWgSZazk0hjQvTFwqtU/PtMEaPi+m1Ya8Ds+pU="; }; patches = lib.optionals (!lib.meta.availableOn stdenv.hostPlatform isa-l) [ @@ -92,17 +94,20 @@ buildPythonPackage rec { dependencies = [ aiohappyeyeballs aiosignal - async-timeout attrs frozenlist multidict propcache yarl ] + ++ lib.optionals (pythonOlder "3.11") [ + async-timeout + ] ++ optional-dependencies.speedups; optional-dependencies.speedups = [ aiodns + backports-zstd (if isPyPy then brotlicffi else brotli) ]; @@ -130,6 +135,7 @@ buildPythonPackage rec { "test_requote_redirect_url_default" "test_tcp_connector_ssl_shutdown_timeout_nonzero_passed" "test_tcp_connector_ssl_shutdown_timeout_zero_not_passed" + "test_invalid_idna" # don't run benchmarks "test_import_time" # racy diff --git a/pkgs/development/python-modules/anthropic/default.nix b/pkgs/development/python-modules/anthropic/default.nix index 6259ce3314c2..696115fc61b9 100644 --- a/pkgs/development/python-modules/anthropic/default.nix +++ b/pkgs/development/python-modules/anthropic/default.nix @@ -11,6 +11,7 @@ # dependencies anyio, distro, + docstring-parser, httpx, jiter, pydantic, @@ -23,6 +24,7 @@ # test dirty-equals, + inline-snapshot, nest-asyncio, pytest-asyncio, pytest-xdist, @@ -32,14 +34,14 @@ buildPythonPackage rec { pname = "anthropic"; - version = "0.62.0"; + version = "0.71.0"; pyproject = true; src = fetchFromGitHub { owner = "anthropics"; repo = "anthropic-sdk-python"; tag = "v${version}"; - hash = "sha256-EVLSC6ClHnmGqMoefMXj3M4dh812ZN5t9nF3gfCLyCo="; + hash = "sha256-n8hu2RFuZN0ojHhhU4qPQaT2DUvqSglFhBo2ORln/mc="; }; postPatch = '' @@ -55,6 +57,7 @@ buildPythonPackage rec { dependencies = [ anyio distro + docstring-parser httpx jiter pydantic @@ -69,6 +72,7 @@ buildPythonPackage rec { nativeCheckInputs = [ dirty-equals + inline-snapshot nest-asyncio pytest-asyncio pytest-xdist diff --git a/pkgs/development/python-modules/anyio/default.nix b/pkgs/development/python-modules/anyio/default.nix index f5e02b9d2067..2565129d2215 100644 --- a/pkgs/development/python-modules/anyio/default.nix +++ b/pkgs/development/python-modules/anyio/default.nix @@ -95,6 +95,8 @@ buildPythonPackage rec { "test_nonexistent_main_module" # 3 second timeout expired "test_keyboardinterrupt_during_test" + # racy with high thread count, see https://github.com/NixOS/nixpkgs/issues/448125 + "test_multiple_threads" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # PermissionError: [Errno 1] Operation not permitted: '/dev/console' diff --git a/pkgs/development/python-modules/backports-zstd/default.nix b/pkgs/development/python-modules/backports-zstd/default.nix new file mode 100644 index 000000000000..412b35bcb992 --- /dev/null +++ b/pkgs/development/python-modules/backports-zstd/default.nix @@ -0,0 +1,61 @@ +{ + buildPythonPackage, + fetchFromGitHub, + lib, + pytestCheckHook, + setuptools, + zstd, +}: + +buildPythonPackage rec { + pname = "backports-zstd"; + version = "1.0.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "rogdham"; + repo = "backports.zstd"; + tag = "v${version}"; + fetchSubmodules = true; + postFetch = '' + rm -r "$out/src/c/zstd" + ''; + hash = "sha256-5t5ET8b65v4ArV9zrmu+kDXLG3QQRpMMZPSG+RRaCLk="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'ROOT_PATH / "src" / "c" / "zstd"' 'Path("${zstd.src}")' + + # need to preserve $PYTHONPATH when calling sys.executable + substituteInPlace tests/test/support/script_helper.py \ + --replace-fail "return __cached_interp_requires_environment" "return True" + ''; + + build-system = [ setuptools ]; + + pypaBuildFlags = [ "--config-setting=--build-option=--system-zstd" ]; + + buildInputs = [ zstd ]; + + pythonImportsCheck = [ "backports.zstd" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + enabledTestPaths = [ "tests" ]; + + disabledTestPaths = [ + # sandbox doesn't allow setting SUID bit + "tests/test/test_tarfile.py::TestExtractionFilters::test_modes" + ]; + + meta = { + changelog = "https://github.com/rogdham/backports.zstd/blob/${src.tag}/CHANGELOG.md"; + description = "Backport of compression.zstd"; + homepage = "https://github.com/rogdham/backports.zstd"; + license = lib.licenses.psfl; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/bcrypt/default.nix b/pkgs/development/python-modules/bcrypt/default.nix index e900f539fc97..b50cb3faef22 100644 --- a/pkgs/development/python-modules/bcrypt/default.nix +++ b/pkgs/development/python-modules/bcrypt/default.nix @@ -5,12 +5,9 @@ rustPlatform, rustc, setuptools, - setuptoolsRustBuildHook, - fetchPypi, - pythonOlder, + setuptools-rust, + fetchFromGitHub, pytestCheckHook, - libiconv, - stdenv, # for passthru.tests asyncssh, django_4, @@ -21,14 +18,14 @@ buildPythonPackage rec { pname = "bcrypt"; - version = "4.3.0"; - format = "pyproject"; + version = "5.0.0"; + pyproject = true; - disabled = pythonOlder "3.6"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-Oj/SIEF4ttKtzwnLT2Qm/+9UdiV3p8m1TBWQCMsojBg="; + src = fetchFromGitHub { + owner = "pyca"; + repo = "bcrypt"; + tag = version; + hash = "sha256-7Dp07xoq6h+fiP7d7/TRRoYszWsyQF1c4vuFUpZ7u6U="; }; cargoRoot = "src/_bcrypt"; @@ -39,20 +36,20 @@ buildPythonPackage rec { src cargoRoot ; - hash = "sha256-HgHvfMBspPsSYhllnKBg5XZB6zxFIqJj+4//xKG8HwA="; + hash = "sha256-hYMJlwxnXA0ZOJiyZ8rDp9govVcc1SGkDfqUVngnUPQ="; }; - nativeBuildInputs = [ + build-system = [ setuptools - setuptoolsRustBuildHook + setuptools-rust + ]; + + nativeBuildInputs = [ rustPlatform.cargoSetupHook cargo rustc ]; - # Remove when https://github.com/NixOS/nixpkgs/pull/190093 lands. - buildInputs = lib.optional stdenv.hostPlatform.isDarwin libiconv; - nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "bcrypt" ]; @@ -67,10 +64,11 @@ buildPythonPackage rec { ; }; - meta = with lib; { + meta = { + changelog = "https://github.com/pyca/bcrypt/blob/${src.tag}/CHANGELOG.rst"; description = "Modern password hashing for your software and your servers"; homepage = "https://github.com/pyca/bcrypt/"; - license = licenses.asl20; - maintainers = [ ]; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.dotlambda ]; }; } diff --git a/pkgs/development/python-modules/bokeh/default.nix b/pkgs/development/python-modules/bokeh/default.nix index 62f0badbdc7b..73474c854bb0 100644 --- a/pkgs/development/python-modules/bokeh/default.nix +++ b/pkgs/development/python-modules/bokeh/default.nix @@ -21,7 +21,6 @@ channels, click, colorcet, - coverage, firefox, geckodriver, isort, @@ -81,7 +80,6 @@ buildPythonPackage rec { channels click colorcet - coverage firefox geckodriver isort diff --git a/pkgs/development/python-modules/calver/default.nix b/pkgs/development/python-modules/calver/default.nix index df45ea99e481..46a47d3c4cbd 100644 --- a/pkgs/development/python-modules/calver/default.nix +++ b/pkgs/development/python-modules/calver/default.nix @@ -10,14 +10,14 @@ let self = buildPythonPackage rec { pname = "calver"; - version = "2025.04.17"; + version = "2025.10.20"; pyproject = true; src = fetchFromGitHub { owner = "di"; repo = "calver"; tag = version; - hash = "sha256-C0l/SThDhA1DnOeMJfuh3d8R606nzyQag+cg7QqvYWY="; + hash = "sha256-8CfPQ4uMgKDqMMgutLdsjn/MaAVBJQAp1KqUfxzNMQw="; }; postPatch = '' diff --git a/pkgs/development/python-modules/cbor2/default.nix b/pkgs/development/python-modules/cbor2/default.nix index a9fd9152666e..698d88e2c5bf 100644 --- a/pkgs/development/python-modules/cbor2/default.nix +++ b/pkgs/development/python-modules/cbor2/default.nix @@ -2,30 +2,23 @@ lib, buildPythonPackage, fetchPypi, - pythonOlder, - - withCExtensions ? true, - - # build-system - setuptools, - setuptools-scm, - - # tests hypothesis, pytest-cov-stub, pytestCheckHook, + pythonOlder, + setuptools-scm, + setuptools, + withCExtensions ? true, }: buildPythonPackage rec { pname = "cbor2"; - version = "5.6.5"; + version = "5.7.0"; pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchPypi { inherit pname version; - hash = "sha256-toKCBnfuHbukX32hGJjScg+S4Gvjas7CkIZ9Xr89fgk="; + hash = "sha256-P22EP0200OxQHEZFPCKk++uxq/tbdA4byrNMYVzXQGs="; }; build-system = [ @@ -33,8 +26,6 @@ buildPythonPackage rec { setuptools-scm ]; - pythonImportsCheck = [ "cbor2" ]; - nativeCheckInputs = [ hypothesis pytest-cov-stub @@ -49,12 +40,15 @@ buildPythonPackage rec { inherit withCExtensions; }; - meta = with lib; { - changelog = "https://github.com/agronholm/cbor2/releases/tag/${version}"; + pythonImportsCheck = [ "cbor2" ]; + + meta = { description = "Python CBOR (de)serializer with extensive tag support"; - mainProgram = "cbor2"; + changelog = "https://github.com/agronholm/cbor2/releases/tag/${version}"; homepage = "https://github.com/agronholm/cbor2"; - license = licenses.mit; + license = lib.licenses.mit; maintainers = [ ]; + mainProgram = "cbor2"; + }; } diff --git a/pkgs/development/python-modules/changelog-chug/default.nix b/pkgs/development/python-modules/changelog-chug/default.nix index a13435f0a247..c4ffe1eb7625 100644 --- a/pkgs/development/python-modules/changelog-chug/default.nix +++ b/pkgs/development/python-modules/changelog-chug/default.nix @@ -5,7 +5,6 @@ docutils, semver, setuptools, - coverage, testscenarios, testtools, unittestCheckHook, @@ -39,7 +38,6 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ - coverage testscenarios testtools unittestCheckHook diff --git a/pkgs/development/python-modules/construct-classes/default.nix b/pkgs/development/python-modules/construct-classes/default.nix index 189729fb9bd7..bcfa798f614d 100644 --- a/pkgs/development/python-modules/construct-classes/default.nix +++ b/pkgs/development/python-modules/construct-classes/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, construct, fetchFromGitHub, + fetchpatch2, pytestCheckHook, uv-build, }: @@ -19,6 +20,14 @@ buildPythonPackage rec { hash = "sha256-goOQMt/nVjWXYltpnKHtJaLOhR+gRTmtoUh7zVb7go4="; }; + patches = [ + (fetchpatch2 { + name = "uv-build.patch"; + url = "https://github.com/matejcik/construct-classes/commit/d1ecacc0cf5cb332ffe6ed85ce9dfc552f77231f.patch?full_index=1"; + hash = "sha256-VeifL8bER0mIRNXKTA+/cje8AxWJKg/q8ipmf3gTeiw="; + }) + ]; + build-system = [ uv-build ]; dependencies = [ construct ]; diff --git a/pkgs/development/python-modules/coverage/default.nix b/pkgs/development/python-modules/coverage/default.nix index 7dd1e7d6fa5f..53374790cedd 100644 --- a/pkgs/development/python-modules/coverage/default.nix +++ b/pkgs/development/python-modules/coverage/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "coverage"; - version = "7.10.7"; + version = "7.11.0"; pyproject = true; src = fetchFromGitHub { owner = "nedbat"; repo = "coveragepy"; tag = version; - hash = "sha256-u62kfYE1yk/cIfyklWJz8vehPe9PL9uN+03bZZraw/U="; + hash = "sha256-l4JeGgy+WAN6NHz0ZkPYqiNw0k5VxaX32Vcp11sylgU="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix index 11f6406d4238..d9b3a68715ae 100644 --- a/pkgs/development/python-modules/cryptography/default.nix +++ b/pkgs/development/python-modules/cryptography/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { pname = "cryptography"; - version = "46.0.1"; # Also update the hash in vectors.nix + version = "46.0.2"; pyproject = true; disabled = pythonOlder "3.7"; @@ -31,7 +31,7 @@ buildPythonPackage rec { owner = "pyca"; repo = "cryptography"; tag = version; - hash = "sha256-saTHFKSJa9gjtEp6uGAHsvzFE3yPeck1WGdIE1+9kgs="; + hash = "sha256-gsEHKEYiMw2eliEpxwzFGDetOp77PivlMoBD3HBbbFA="; }; cargoDeps = rustPlatform.fetchCargoVendor { @@ -83,7 +83,7 @@ buildPythonPackage rec { vectors = cryptography-vectors; }; - meta = with lib; { + meta = { description = "Package which provides cryptographic recipes and primitives"; longDescription = '' Cryptography includes both high level recipes and low level interfaces to @@ -91,13 +91,12 @@ buildPythonPackage rec { digests, and key derivation functions. ''; homepage = "https://github.com/pyca/cryptography"; - changelog = - "https://cryptography.io/en/latest/changelog/#v" + replaceStrings [ "." ] [ "-" ] version; - license = with licenses; [ + changelog = "https://cryptography.io/en/latest/changelog/#v" + lib.replaceString "." "-" version; + license = with lib.licenses; [ asl20 bsd3 psfl ]; - maintainers = with maintainers; [ mdaniels5757 ]; + maintainers = with lib.maintainers; [ mdaniels5757 ]; }; } diff --git a/pkgs/development/python-modules/cryptography/vectors.nix b/pkgs/development/python-modules/cryptography/vectors.nix index 0a9a1a5d5894..f8614e08a240 100644 --- a/pkgs/development/python-modules/cryptography/vectors.nix +++ b/pkgs/development/python-modules/cryptography/vectors.nix @@ -1,22 +1,29 @@ { lib, buildPythonPackage, - fetchPypi, cryptography, + fetchpatch2, uv-build, }: buildPythonPackage rec { pname = "cryptography-vectors"; # The test vectors must have the same version as the cryptography package - inherit (cryptography) version; + inherit (cryptography) version src; pyproject = true; - src = fetchPypi { - pname = "cryptography_vectors"; - inherit version; - hash = "sha256-B40Sh84rRdJGtCxs+545Dh96+hdsGZsL1t6p1s6Jou4="; - }; + sourceRoot = "${src.name}/vectors"; + + patches = [ + # https://github.com/NixOS/nixpkgs/pull/449568 + (fetchpatch2 { + name = "uv-build.patch"; + url = "https://github.com/pyca/cryptography/commit/5f311c1cbe09ddea6136b0bb737fb7df6df1b923.patch?full_index=1"; + stripLen = 1; + includes = [ "pyproject.toml" ]; + hash = "sha256-OdHK0OGrvOi3mS0q+v8keDLvKxtgQkDkHQSYnmC/vd4="; + }) + ]; build-system = [ uv-build ]; diff --git a/pkgs/development/python-modules/django-bootstrap3/default.nix b/pkgs/development/python-modules/django-bootstrap3/default.nix index 62abd28fde23..cc9d493ad8f0 100644 --- a/pkgs/development/python-modules/django-bootstrap3/default.nix +++ b/pkgs/development/python-modules/django-bootstrap3/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch2, # build-system uv-build, @@ -26,6 +27,14 @@ buildPythonPackage rec { hash = "sha256-TaB2PeBjmCNFuEZ+To2Q3C6zlFCaaTB70LxQWWb5AEo="; }; + patches = [ + (fetchpatch2 { + name = "uv-build.patch"; + url = "https://github.com/zostera/django-bootstrap3/commit/5e1a86549e9607b8e2a9772a3a839fc81b9ae6c0.patch?full_index=1"; + hash = "sha256-VcRC7ehyVTl0KuovD8tNCbZnKXKCOGpux1XXUOoDaTw="; + }) + ]; + build-system = [ uv-build ]; dependencies = [ django ]; diff --git a/pkgs/development/python-modules/django-bootstrap4/default.nix b/pkgs/development/python-modules/django-bootstrap4/default.nix index 389aaf503a41..151aaea4894d 100644 --- a/pkgs/development/python-modules/django-bootstrap4/default.nix +++ b/pkgs/development/python-modules/django-bootstrap4/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch2, # build-system uv-build, @@ -29,6 +30,14 @@ buildPythonPackage rec { hash = "sha256-+G9UHW4eUGl00A/kDj+iTP7ehjj/dwUENKffvGxE6/4="; }; + patches = [ + (fetchpatch2 { + name = "uv-build.patch"; + url = "https://github.com/zostera/django-bootstrap4/commit/09b14bc9b70e7da92200c4bc014e2d3c597f0ea6.patch?full_index=1"; + hash = "sha256-ZW9y8n0ZCOP37EoP32e7ue6h93KgGw1pW8Q1Q8IuNk8="; + }) + ]; + build-system = [ uv-build ]; dependencies = [ beautifulsoup4 ]; diff --git a/pkgs/development/python-modules/django-bootstrap5/default.nix b/pkgs/development/python-modules/django-bootstrap5/default.nix index a3a67ada4c95..538d2adc202e 100644 --- a/pkgs/development/python-modules/django-bootstrap5/default.nix +++ b/pkgs/development/python-modules/django-bootstrap5/default.nix @@ -4,6 +4,7 @@ buildPythonPackage, django, fetchFromGitHub, + fetchpatch2, jinja2, pillow, pytest-django, @@ -23,6 +24,14 @@ buildPythonPackage rec { hash = "sha256-aqP2IkAkZsw5vbQxhiy9L3giSgb0seub9gsxPTajiXo="; }; + patches = [ + (fetchpatch2 { + name = "uv-build.patch"; + url = "https://github.com/zostera/django-bootstrap5/commit/d1d54f5fc8041d2781189321402b4f3937f77913.patch?full_index=1"; + hash = "sha256-cFOY+pu2TAZXpAipSIQh1nPPC0ipfncvpObcH667+ac="; + }) + ]; + build-system = [ uv-build ]; dependencies = [ django ]; diff --git a/pkgs/development/python-modules/fb-re2/default.nix b/pkgs/development/python-modules/fb-re2/default.nix deleted file mode 100644 index 11defafe3953..000000000000 --- a/pkgs/development/python-modules/fb-re2/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchpatch, - fetchPypi, - re2, -}: - -buildPythonPackage rec { - pname = "fb-re2"; - version = "1.0.7"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "83b2c2cd58d3874e6e3a784cf4cf2f1a57ce1969e50180f92b010eea24ef26cf"; - }; - - patches = [ - # Bump stdlib to c++17 to fix build with recent re2 - # https://github.com/facebook/pyre2/issues/24 - # https://github.com/facebook/pyre2/pull/25 - (fetchpatch { - url = "https://github.com/facebook/pyre2/pull/25/commits/08fb06ec3ccd412ca69483d27234684a04cb91a0.patch"; - hash = "sha256-kzxE2AxpE1tJJK0dJgoFfVka9zy2u0HEqiHoS7DQDQ0="; - }) - ]; - - buildInputs = [ re2 ]; - - # no tests in PyPI tarball - doCheck = false; - - meta = { - description = "Python wrapper for Google's RE2"; - homepage = "https://github.com/facebook/pyre2"; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ ivan ]; - }; -} diff --git a/pkgs/development/python-modules/ffmpy/default.nix b/pkgs/development/python-modules/ffmpy/default.nix index 23bc6a0eca9e..9703bc808f45 100644 --- a/pkgs/development/python-modules/ffmpy/default.nix +++ b/pkgs/development/python-modules/ffmpy/default.nix @@ -3,6 +3,7 @@ stdenv, buildPythonPackage, fetchFromGitHub, + fetchpatch2, pythonOlder, uv-build, pytestCheckHook, diff --git a/pkgs/development/python-modules/filedepot/default.nix b/pkgs/development/python-modules/filedepot/default.nix index 072e6ea60ef1..f620aac9a360 100644 --- a/pkgs/development/python-modules/filedepot/default.nix +++ b/pkgs/development/python-modules/filedepot/default.nix @@ -35,9 +35,9 @@ buildPythonPackage rec { dependencies = [ anyascii + legacy-cgi google-cloud-storage - ] - ++ lib.optionals (pythonAtLeast "3.13") [ legacy-cgi ]; + ]; nativeCheckInputs = [ flaky diff --git a/pkgs/development/python-modules/filelock/default.nix b/pkgs/development/python-modules/filelock/default.nix index 2b7c7bdfa8ac..bd33052a9c63 100644 --- a/pkgs/development/python-modules/filelock/default.nix +++ b/pkgs/development/python-modules/filelock/default.nix @@ -6,20 +6,18 @@ hatchling, pytest-asyncio, pytest-mock, + pytest-timeout, pytestCheckHook, - pythonOlder, }: buildPythonPackage rec { pname = "filelock"; - version = "3.18.0"; + version = "3.20.0"; pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchPypi { inherit pname version; - hash = "sha256-rbyI6ruZ0v7IycGyKbFx8Yr6ZVQAFz3cZT1dAVAfufI="; + hash = "sha256-cR6UO07GvkLh1OZpC0jcF1yCKWdGa7McDCk/NDNME/Q="; }; build-system = [ @@ -30,6 +28,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-asyncio pytest-mock + pytest-timeout pytestCheckHook ]; diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix index f776b814e31b..65f72e01e919 100644 --- a/pkgs/development/python-modules/fonttools/default.nix +++ b/pkgs/development/python-modules/fonttools/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { pname = "fonttools"; - version = "4.59.0"; + version = "4.60.1"; pyproject = true; disabled = pythonOlder "3.8"; @@ -35,7 +35,7 @@ buildPythonPackage rec { owner = "fonttools"; repo = "fonttools"; tag = version; - hash = "sha256-f3iedVwwh98XkFzPJ/+XZ2n4pcDXDoPlQki+neGVuXE="; + hash = "sha256-h/JRItD5IHlhNSamxRxk/dvyAKUFayzxHvlW7v4N1s8="; }; build-system = [ diff --git a/pkgs/development/python-modules/genson/default.nix b/pkgs/development/python-modules/genson/default.nix index 40643f85e07b..c4febd74c4f3 100644 --- a/pkgs/development/python-modules/genson/default.nix +++ b/pkgs/development/python-modules/genson/default.nix @@ -1,6 +1,5 @@ { buildPythonPackage, - coverage, fetchPypi, jsonschema, lib, diff --git a/pkgs/development/python-modules/githubkit/default.nix b/pkgs/development/python-modules/githubkit/default.nix index ef2f8aa953f5..5c625b117c7b 100644 --- a/pkgs/development/python-modules/githubkit/default.nix +++ b/pkgs/development/python-modules/githubkit/default.nix @@ -3,6 +3,7 @@ anyio, buildPythonPackage, fetchFromGitHub, + fetchpatch2, hishel, httpx, pydantic, @@ -26,6 +27,14 @@ buildPythonPackage rec { hash = "sha256-67Y0r4Po3z4YmnbWC0HBLmsKD68HMIGvHKo5SLe+KRc="; }; + patches = [ + (fetchpatch2 { + name = "uv-build.patch"; + url = "https://github.com/yanyongyu/githubkit/commit/2817664d904541242d4cedf7aae85cd4c4b606e2.patch?full_index=1"; + hash = "sha256-mmtjlebHZpHX457frSOe88tsUo7iNdSIUynGZjcjuw4="; + }) + ]; + pythonRelaxDeps = [ "hishel" ]; build-system = [ uv-build ]; diff --git a/pkgs/development/python-modules/google-ai-generativelanguage/default.nix b/pkgs/development/python-modules/google-ai-generativelanguage/default.nix index 4555e9772d1f..307066a46888 100644 --- a/pkgs/development/python-modules/google-ai-generativelanguage/default.nix +++ b/pkgs/development/python-modules/google-ai-generativelanguage/default.nix @@ -11,21 +11,18 @@ protobuf, pytest-asyncio, pytestCheckHook, - pythonOlder, setuptools, }: buildPythonPackage rec { pname = "google-ai-generativelanguage"; - version = "0.6.18"; + version = "0.9.0"; pyproject = true; - disabled = pythonOlder "3.7"; - src = fetchPypi { pname = "google_ai_generativelanguage"; inherit version; - hash = "sha256-J0up/PaUZv9k6XHVZYhENDiOUjMAr9Ro/I4wM82OYG4="; + hash = "sha256-JSR0j0E5F0Rv68jgh53A1PAmoGT4nxfEK4G+p3q3bIQ="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/google-api-core/default.nix b/pkgs/development/python-modules/google-api-core/default.nix index 1f30f82d7f07..7cb99ac62011 100644 --- a/pkgs/development/python-modules/google-api-core/default.nix +++ b/pkgs/development/python-modules/google-api-core/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "google-api-core"; - version = "2.25.1"; + version = "2.26.0"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "python-api-core"; tag = "v${version}"; - hash = "sha256-lh4t03upQQxY2KGwucXfEeNvqVVXlZ6hjR/e47imetk="; + hash = "sha256-BA2OWzr0sH77YUkFqMsGJQppqbG3R4sQ2kepicdzejE="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/google-api-python-client/default.nix b/pkgs/development/python-modules/google-api-python-client/default.nix index 304595531a24..54360a12fd12 100644 --- a/pkgs/development/python-modules/google-api-python-client/default.nix +++ b/pkgs/development/python-modules/google-api-python-client/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "google-api-python-client"; - version = "2.177.0"; + version = "2.185.0"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "google-api-python-client"; tag = "v${version}"; - hash = "sha256-CEjbUIXtG5z1/28DsNCm/npMSd/+DyY5PMJHm9XDe2M="; + hash = "sha256-uItN7P6tZTxEHfma+S0p4grRRnAaIhuTezvJzWjvkfE="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix index e0389c8f8f41..d9e435c32486 100644 --- a/pkgs/development/python-modules/google-auth/default.nix +++ b/pkgs/development/python-modules/google-auth/default.nix @@ -25,14 +25,14 @@ buildPythonPackage rec { pname = "google-auth"; - version = "2.40.3"; + version = "2.41.1"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "google-auth-library-python"; tag = "v${version}"; - hash = "sha256-X1HTh24oos2GUxB9DDLtNH7BsBRLD0S/ngjsDAQYvhI="; + hash = "sha256-EPiI3cJy+NkT1oyKZJKcvQwAb64UQZDSNfWorZjIew8="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/google-cloud-iam/default.nix b/pkgs/development/python-modules/google-cloud-iam/default.nix index a519eee42309..48b80a05fefd 100644 --- a/pkgs/development/python-modules/google-cloud-iam/default.nix +++ b/pkgs/development/python-modules/google-cloud-iam/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "google-cloud-iam"; - version = "2.19.0"; + version = "2.20.0"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "google-cloud-python"; tag = "google-cloud-iam-v${version}"; - hash = "sha256-E1LISOLQcXqUMTTPLR+lwkR6gF1fuGGB44j38cIK/Z4="; + hash = "sha256-ICSBKEqNaXZZopGDwB0pkt06xN0gnsTBUA/HCQVxQTU="; }; sourceRoot = "${src.name}/packages/google-cloud-iam"; diff --git a/pkgs/development/python-modules/google-cloud-kms/default.nix b/pkgs/development/python-modules/google-cloud-kms/default.nix index 508a28a22356..f0aa00153a76 100644 --- a/pkgs/development/python-modules/google-cloud-kms/default.nix +++ b/pkgs/development/python-modules/google-cloud-kms/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "google-cloud-kms"; - version = "3.4.1"; + version = "3.7.0"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "google-cloud-python"; tag = "google-cloud-kms-v${version}"; - hash = "sha256-5PzidE1CWN+pt7+gcAtbuXyL/pq6cnn0MCRkBfmeUSw="; + hash = "sha256-/ZBpSn6bZpzFgIg3LmfV7xMowh9Gpslw0fcN021jAow="; }; sourceRoot = "${src.name}/packages/google-cloud-kms"; diff --git a/pkgs/development/python-modules/google-cloud-storage/default.nix b/pkgs/development/python-modules/google-cloud-storage/default.nix index 04b83a3d15e6..521c9769bc7d 100644 --- a/pkgs/development/python-modules/google-cloud-storage/default.nix +++ b/pkgs/development/python-modules/google-cloud-storage/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "google-cloud-storage"; - version = "3.3.0"; + version = "3.4.1"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "python-storage"; tag = "v${version}"; - hash = "sha256-I0wC/BV8fJr3JW1nyq2TPJZlZaT4+h2lJBdGTttSzRo="; + hash = "sha256-fLS1rrblNKm8dTG/Srg6IfcEjeZCS2QGNwW6ZXIo7UQ="; }; pythonRelaxDeps = [ "google-auth" ]; diff --git a/pkgs/development/python-modules/grpcio-channelz/default.nix b/pkgs/development/python-modules/grpcio-channelz/default.nix index 012af3877b96..04c7b91a6dc3 100644 --- a/pkgs/development/python-modules/grpcio-channelz/default.nix +++ b/pkgs/development/python-modules/grpcio-channelz/default.nix @@ -12,13 +12,13 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio-channelz"; - version = "1.75.1"; + version = "1.76.0"; pyproject = true; src = fetchPypi { pname = "grpcio_channelz"; inherit version; - hash = "sha256-4MqgbU3j62LT/cVOXJ3JADqj7iHpxQ9dNTiuqFTSdvI="; + hash = "sha256-KrFe97IlKpujHfUAu+KVzlMQqLAepvbWehcXLZFKQag="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/grpcio-health-checking/default.nix b/pkgs/development/python-modules/grpcio-health-checking/default.nix index fe84d0817569..461484ac9645 100644 --- a/pkgs/development/python-modules/grpcio-health-checking/default.nix +++ b/pkgs/development/python-modules/grpcio-health-checking/default.nix @@ -11,13 +11,13 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio-health-checking"; - version = "1.75.1"; + version = "1.76.0"; format = "setuptools"; src = fetchPypi { pname = "grpcio_health_checking"; inherit version; - hash = "sha256-iI6huGrWXALIVHSG6VJjVi4UU2Pj1UAPUkT38sUyPmM="; + hash = "sha256-t6mddAlrOrOlmYf8AjdAaOHBgKNS6NH3nxDlojcnCY0="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/grpcio-reflection/default.nix b/pkgs/development/python-modules/grpcio-reflection/default.nix index 4b6290afd791..5374f5da493d 100644 --- a/pkgs/development/python-modules/grpcio-reflection/default.nix +++ b/pkgs/development/python-modules/grpcio-reflection/default.nix @@ -12,13 +12,13 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio-reflection"; - version = "1.75.1"; + version = "1.76.0"; pyproject = true; src = fetchPypi { pname = "grpcio_reflection"; inherit version; - hash = "sha256-K+PyC3uT5uaRoLx2H9fpmWqUC0yWxo9spPf7xHw/S2Q="; + hash = "sha256-4OfkmSHC7pUeXd/wvbrL0awacIiL62HVZ/PQG3md7LE="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/grpcio-status/default.nix b/pkgs/development/python-modules/grpcio-status/default.nix index 51294793b639..f7d888c7e22d 100644 --- a/pkgs/development/python-modules/grpcio-status/default.nix +++ b/pkgs/development/python-modules/grpcio-status/default.nix @@ -13,7 +13,7 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio-status"; - version = "1.75.1"; + version = "1.76.0"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -21,7 +21,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "grpcio_status"; inherit version; - hash = "sha256-gWKvohgzoghckQicw5WtiA+sE3ih1gIz2XZkntcky/g="; + hash = "sha256-Jfy/7HTBXRoctdo/q47pZyhS3Balqe61uvfXqZUpQ80="; }; postPatch = '' diff --git a/pkgs/development/python-modules/grpcio-testing/default.nix b/pkgs/development/python-modules/grpcio-testing/default.nix index 6edd72430bfa..7a5d7e0ef693 100644 --- a/pkgs/development/python-modules/grpcio-testing/default.nix +++ b/pkgs/development/python-modules/grpcio-testing/default.nix @@ -13,7 +13,7 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio-testing"; - version = "1.75.1"; + version = "1.76.0"; pyproject = true; disabled = pythonOlder "3.7"; @@ -21,7 +21,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "grpcio_testing"; inherit version; - hash = "sha256-RUF4XosbetXbFVEyGsFE3WOM/z0fsC+St9ZRHFhLmKg="; + hash = "sha256-loQmPvqyo9xRFBeDOx5qB1hZfic6Ibbb8XwXAizvfCQ="; }; postPatch = '' diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix index 254f2f94b5ed..95baa1a69e6e 100644 --- a/pkgs/development/python-modules/grpcio-tools/default.nix +++ b/pkgs/development/python-modules/grpcio-tools/default.nix @@ -12,13 +12,13 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio-tools"; - version = "1.75.1"; + version = "1.76.0"; pyproject = true; src = fetchPypi { pname = "grpcio_tools"; inherit version; - hash = "sha256-u3iWDPPViUHh/scMvazPJVkYvu0Tw0ESppFabY+s69E="; + hash = "sha256-zoAWm15q3z6DAvPrtssMOp8ICJEzq8pLdq1n91H1rYg="; }; outputs = [ diff --git a/pkgs/development/python-modules/grpcio/default.nix b/pkgs/development/python-modules/grpcio/default.nix index f8d67db96e64..e88a79dd7f12 100644 --- a/pkgs/development/python-modules/grpcio/default.nix +++ b/pkgs/development/python-modules/grpcio/default.nix @@ -19,14 +19,14 @@ # nixpkgs-update: no auto update buildPythonPackage rec { pname = "grpcio"; - version = "1.75.1"; + version = "1.76.0"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-PoHYns6ZuaziOmkWiAusphPAOnmZJa+yhXiH76ixs9I="; + hash = "sha256-e+eDiNbaGiXA1exQZSPbWLGL4i2cN9jToywIvkmHvXM="; }; outputs = [ diff --git a/pkgs/development/python-modules/gym/default.nix b/pkgs/development/python-modules/gym/default.nix index 764a9cda9e28..28c3e53d8128 100644 --- a/pkgs/development/python-modules/gym/default.nix +++ b/pkgs/development/python-modules/gym/default.nix @@ -100,6 +100,9 @@ buildPythonPackage rec { # The requested array has an inhomogeneous shape after 1 dimensions. # The detected shape was (2,) + inhomogeneous part "test_sample_contains" + + # segfault + "test_record_video" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Fatal Python error: Aborted diff --git a/pkgs/development/python-modules/home-assistant-chip-wheels/default.nix b/pkgs/development/python-modules/home-assistant-chip-wheels/default.nix index 58168c0a329c..957e557edd47 100644 --- a/pkgs/development/python-modules/home-assistant-chip-wheels/default.nix +++ b/pkgs/development/python-modules/home-assistant-chip-wheels/default.nix @@ -9,7 +9,6 @@ click, colorama, coloredlogs, - coverage, cryptography, debugpy, diskcache, @@ -216,7 +215,6 @@ stdenv.mkDerivation rec { build colorama coloredlogs - coverage click cryptography debugpy diff --git a/pkgs/development/python-modules/idna/default.nix b/pkgs/development/python-modules/idna/default.nix index a3fff70db1b4..aefe7334db73 100644 --- a/pkgs/development/python-modules/idna/default.nix +++ b/pkgs/development/python-modules/idna/default.nix @@ -1,29 +1,34 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, flit-core, pytestCheckHook, }: buildPythonPackage rec { pname = "idna"; - version = "3.10"; + version = "3.11"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-EvZcm0cKvabcNc+OY8xXSxxSsR3yyGAwrwrAmwGxPqk="; + src = fetchFromGitHub { + owner = "kjd"; + repo = "idna"; + tag = "v${version}"; + hash = "sha256-4mnWOit+lrZnVslVyfalt6lv7qSYpLlyvET553SplJU="; }; build-system = [ flit-core ]; + pythonImportsCheck = [ "idna" ]; + nativeCheckInputs = [ pytestCheckHook ]; meta = { homepage = "https://github.com/kjd/idna/"; - changelog = "https://github.com/kjd/idna/releases/tag/v${version}"; + changelog = "https://github.com/kjd/idna/releases/tag/${src.tag}"; description = "Internationalized Domain Names in Applications (IDNA)"; license = lib.licenses.bsd3; + maintainers = [ lib.maintainers.dotlambda ]; }; } diff --git a/pkgs/development/python-modules/inline-snapshot/default.nix b/pkgs/development/python-modules/inline-snapshot/default.nix index bff769ab1ec5..3e2c78c98cce 100644 --- a/pkgs/development/python-modules/inline-snapshot/default.nix +++ b/pkgs/development/python-modules/inline-snapshot/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "inline-snapshot"; - version = "0.24.0"; + version = "0.28.0"; pyproject = true; src = fetchFromGitHub { owner = "15r10nk"; repo = "inline-snapshot"; tag = version; - hash = "sha256-UiVxG9W1lwvvoflVey4250iL8gL8Tm41LBo0ab0tTqk="; + hash = "sha256-f572H7jeolv9nONuRBtZR/pcVDs5oX/dOiEjXlJyiio="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/instructor/default.nix b/pkgs/development/python-modules/instructor/default.nix index 959449e53e76..993309fd72ad 100644 --- a/pkgs/development/python-modules/instructor/default.nix +++ b/pkgs/development/python-modules/instructor/default.nix @@ -33,19 +33,23 @@ buildPythonPackage rec { pname = "instructor"; - version = "1.10.0"; + version = "1.11.3"; pyproject = true; src = fetchFromGitHub { owner = "jxnl"; repo = "instructor"; - tag = version; + tag = "v${version}"; hash = "sha256-vknPfRHyLoLo2838p/fbjrqyaBORZzLp9+fN98yVDz0="; }; build-system = [ hatchling ]; - pythonRelaxDeps = [ "rich" ]; + pythonRelaxDeps = [ + "jiter" + "openai" + "rich" + ]; dependencies = [ aiohttp diff --git a/pkgs/development/python-modules/jiter/Cargo.lock b/pkgs/development/python-modules/jiter/Cargo.lock index 591a3682f576..8d4e23c2c22b 100644 --- a/pkgs/development/python-modules/jiter/Cargo.lock +++ b/pkgs/development/python-modules/jiter/Cargo.lock @@ -1,12 +1,12 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 4 +version = 3 [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", "getrandom", @@ -16,22 +16,37 @@ dependencies = [ ] [[package]] -name = "arbitrary" -version = "1.4.1" +name = "aho-corasick" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" + +[[package]] +name = "arbitrary" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "bencher" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dfdb4953a096c551ce9ace855a604d702e6e62d77fac690575ae347571717f5" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "bitvec" @@ -46,11 +61,24 @@ dependencies = [ ] [[package]] -name = "cc" -version = "1.2.7" +name = "bumpalo" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.2.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", @@ -58,29 +86,111 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] -name = "codspeed" -version = "2.7.2" +name = "ciborium" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "450a0e9df9df1c154156f4344f99d8f6f6e69d0fc4de96ef6e2e68b2ec3bce97" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" dependencies = [ - "colored", - "libc", - "serde_json", + "ciborium-io", + "ciborium-ll", + "serde", ] [[package]] -name = "codspeed-bencher-compat" -version = "2.7.2" +name = "ciborium-io" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025afeee31b5b589484a884c7eb92bf80e0a5420bc4cb1f00d3a08c000211558" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.5.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c2cfd7bf8a6017ddaa4e32ffe7403d547790db06bd171c1c53926faab501623" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.5.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a4c05b9e80c5ccd3a7ef080ad7b6ba7d6fc00a985b8b157197075677c82c7a0" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" + +[[package]] +name = "codspeed" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f4cce9c27c49c4f101fffeebb1826f41a9df2e7498b7cd4d95c0658b796c6c" +dependencies = [ + "colored", + "libc", + "serde", + "serde_json", + "uuid", +] + +[[package]] +name = "codspeed-criterion-compat" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3c23d880a28a2aab52d38ca8481dd7a3187157d0a952196b6db1db3c8499725" dependencies = [ - "bencher", "codspeed", + "codspeed-criterion-compat-walltime", + "colored", +] + +[[package]] +name = "codspeed-criterion-compat-walltime" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b0a2f7365e347f4f22a67e9ea689bf7bc89900a354e22e26cf8a531a42c8fbb" +dependencies = [ + "anes", + "cast", + "ciborium", + "clap", + "codspeed", + "criterion-plot", + "is-terminal", + "itertools", + "num-traits", + "once_cell", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", ] [[package]] @@ -90,14 +200,67 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys", + "windows-sys 0.59.0", ] [[package]] -name = "equivalent" -version = "1.0.1" +name = "criterion-plot" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "find-msvc-tools" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" [[package]] name = "funty" @@ -107,7 +270,7 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "fuzz" -version = "0.8.2" +version = "0.11.1" dependencies = [ "indexmap", "jiter", @@ -120,20 +283,32 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "libc", - "wasi", + "r-efi", + "wasip2", +] + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", ] [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" [[package]] name = "heck" @@ -142,10 +317,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] -name = "indexmap" -version = "2.7.0" +name = "hermit-abi" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + +[[package]] +name = "indexmap" +version = "2.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" dependencies = [ "equivalent", "hashbrown", @@ -153,24 +334,46 @@ dependencies = [ [[package]] name = "indoc" -version = "2.0.5" +version = "2.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" +checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706" +dependencies = [ + "rustversion", +] + +[[package]] +name = "is-terminal" +version = "0.4.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] [[package]] name = "itoa" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jiter" -version = "0.8.2" +version = "0.11.1" dependencies = [ "ahash", - "bencher", "bitvec", - "codspeed-bencher-compat", + "codspeed-criterion-compat", "lexical-parse-float", "num-bigint", "num-traits", @@ -184,7 +387,7 @@ dependencies = [ [[package]] name = "jiter-python" -version = "0.8.2" +version = "0.11.1" dependencies = [ "jiter", "pyo3", @@ -192,13 +395,24 @@ dependencies = [ [[package]] name = "jobserver" -version = "0.1.32" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ + "getrandom", "libc", ] +[[package]] +name = "js-sys" +version = "0.3.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -207,55 +421,56 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lexical-parse-float" -version = "0.8.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" dependencies = [ "lexical-parse-integer", "lexical-util", - "static_assertions", ] [[package]] name = "lexical-parse-integer" -version = "0.8.6" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" dependencies = [ "lexical-util", - "static_assertions", ] [[package]] name = "lexical-util" -version = "0.8.5" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" -dependencies = [ - "static_assertions", -] +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" [[package]] name = "libc" -version = "0.2.169" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libfuzzer-sys" -version = "0.4.8" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b9569d2f74e257076d8c6bfa73fb505b46b851e51ddaecc825944aa3bed17fa" +checksum = "5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404" dependencies = [ "arbitrary", "cc", ] [[package]] -name = "memchr" -version = "2.7.4" +name = "log" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" + +[[package]] +name = "memchr" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "memoffset" @@ -296,9 +511,15 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "paste" @@ -307,27 +528,54 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] -name = "portable-atomic" -version = "1.10.0" +name = "plotters" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" +checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" + +[[package]] +name = "plotters-svg" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" +dependencies = [ + "plotters-backend", +] + +[[package]] +name = "portable-atomic" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "8e0f6df8eaa422d97d72edcd152e1451618fed47fabbdbd5a8864167b1d4aff7" dependencies = [ "unicode-ident", ] [[package]] name = "pyo3" -version = "0.23.3" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e484fd2c8b4cb67ab05a318f1fd6fa8f199fcc30819f08f07d200809dba26c15" +checksum = "7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383" dependencies = [ - "cfg-if", "indoc", "libc", "memoffset", @@ -342,20 +590,19 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.23.3" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc0e0469a84f208e20044b98965e1561028180219e35352a2afaf2b942beff3b" +checksum = "4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f" dependencies = [ - "once_cell", "python3-dll-a", "target-lexicon", ] [[package]] name = "pyo3-ffi" -version = "0.23.3" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1547a7f9966f6f1a0f0227564a9945fe36b90da5a93b3933fc3dc03fae372d" +checksum = "025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105" dependencies = [ "libc", "pyo3-build-config", @@ -363,9 +610,9 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.23.3" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb6da8ec6fa5cedd1626c886fc8749bdcbb09424a86461eb8cdf096b7c33257" +checksum = "2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded" dependencies = [ "proc-macro2", "pyo3-macros-backend", @@ -375,9 +622,9 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.23.3" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38a385202ff5a92791168b1136afae5059d3ac118457bb7bc304c197c2d33e7d" +checksum = "100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf" dependencies = [ "heck", "proc-macro2", @@ -388,22 +635,28 @@ dependencies = [ [[package]] name = "python3-dll-a" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b66f9171950e674e64bad3456e11bb3cca108e5c34844383cfe277f45c8a7a8" +checksum = "d381ef313ae70b4da5f95f8a4de773c6aa5cd28f73adec4b4a31df70b66780d8" dependencies = [ "cc", ] [[package]] name = "quote" -version = "1.0.38" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" +checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + [[package]] name = "radium" version = "0.7.0" @@ -411,25 +664,99 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] -name = "ryu" -version = "1.0.18" +name = "rayon" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "regex" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] [[package]] name = "serde" -version = "1.0.217" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.217" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -438,15 +765,16 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.134" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "indexmap", "itoa", "memchr", "ryu", "serde", + "serde_core", ] [[package]] @@ -457,21 +785,15 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "syn" -version = "2.0.94" +version = "2.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "987bc0be1cdea8b10216bd06e2ca407d40b9543468fafd3ddfb02f36e77f71f3" +checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917" dependencies = [ "proc-macro2", "quote", @@ -486,21 +808,42 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.16" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" +checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c" + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "462eeb75aeb73aea900253ce739c8e18a67423fadf006037cd3ff27e82748a06" [[package]] name = "unindent" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" +checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" + +[[package]] +name = "uuid" +version = "1.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +dependencies = [ + "getrandom", + "js-sys", + "wasm-bindgen", +] [[package]] name = "version_check" @@ -509,10 +852,107 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +name = "walkdir" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "web-sys" +version = "0.3.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-sys" @@ -523,6 +963,15 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-targets" version = "0.52.6" @@ -587,6 +1036,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + [[package]] name = "wyz" version = "0.5.1" @@ -598,18 +1053,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", diff --git a/pkgs/development/python-modules/jiter/default.nix b/pkgs/development/python-modules/jiter/default.nix index 7d5cb4c5931c..ce44681e80aa 100644 --- a/pkgs/development/python-modules/jiter/default.nix +++ b/pkgs/development/python-modules/jiter/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "jiter"; - version = "0.8.2"; + version = "0.11.1"; pyproject = true; src = fetchFromGitHub { owner = "pydantic"; repo = "jiter"; tag = "v${version}"; - hash = "sha256-6FPwQ6t/zLB86k97S+6z5xWKBPJvjZ5/x3KrxOOT1gk="; + hash = "sha256-/OSLwqSy/CkAFv0hn1zED70MRsWV8/NTrSfqP7OSRFc="; }; postPatch = '' diff --git a/pkgs/development/python-modules/langchain-anthropic/default.nix b/pkgs/development/python-modules/langchain-anthropic/default.nix index a0d9e62488cc..7c78e8547902 100644 --- a/pkgs/development/python-modules/langchain-anthropic/default.nix +++ b/pkgs/development/python-modules/langchain-anthropic/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies anthropic, @@ -12,6 +12,7 @@ pydantic, # tests + langchain, langchain-tests, pytest-asyncio, pytestCheckHook, @@ -22,19 +23,19 @@ buildPythonPackage rec { pname = "langchain-anthropic"; - version = "0.3.18"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-anthropic==${version}"; - hash = "sha256-ZedCz4FyKowhxLVpHrBsmGKHkMCA5yW7ui6LI0QGQ44="; + hash = "sha256-3kW5w98t5F199k14MoCY2dZGrC/HdBzKuRpM37EY3LQ="; }; sourceRoot = "${src.name}/libs/partners/anthropic"; - build-system = [ pdm-backend ]; + build-system = [ hatchling ]; dependencies = [ anthropic @@ -49,6 +50,7 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ + langchain langchain-tests pytest-asyncio pytestCheckHook diff --git a/pkgs/development/python-modules/langchain-aws/default.nix b/pkgs/development/python-modules/langchain-aws/default.nix index 2877c9edfff8..5b29a60e1384 100644 --- a/pkgs/development/python-modules/langchain-aws/default.nix +++ b/pkgs/development/python-modules/langchain-aws/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - poetry-core, + pdm-backend, # dependencies boto3, @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "langchain-aws"; - version = "0.2.33"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain-aws"; tag = "langchain-aws==${version}"; - hash = "sha256-8VRZhwrR5PdLo9FamQClKbYfuHUGVxamku4osyl8Wl4="; + hash = "sha256-Y4r9a7EiyOACcU41+1Lo89jguu1QmijWsNeoNqKF3cY="; }; postPatch = '' @@ -41,7 +41,7 @@ buildPythonPackage rec { sourceRoot = "${src.name}/libs/aws"; - build-system = [ poetry-core ]; + build-system = [ pdm-backend ]; dependencies = [ boto3 diff --git a/pkgs/development/python-modules/langchain-chroma/001-async-test.patch b/pkgs/development/python-modules/langchain-chroma/001-async-test.patch deleted file mode 100644 index 178fd37199f8..000000000000 --- a/pkgs/development/python-modules/langchain-chroma/001-async-test.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/libs/partners/chroma/tests/integration_tests/test_vectorstores.py b/libs/partners/chroma/tests/integration_tests/test_vectorstores.py -index 382b24cb5..f99a34112 100644 ---- a/tests/integration_tests/test_vectorstores.py -+++ b/tests/integration_tests/test_vectorstores.py -@@ -36,7 +36,7 @@ def test_chroma() -> None: - - assert output == [Document(page_content="foo")] - -- -+@pytest.mark.asyncio - async def test_chroma_async() -> None: - """Test end to end construction and search.""" - texts = ["foo", "bar", "baz"] diff --git a/pkgs/development/python-modules/langchain-chroma/default.nix b/pkgs/development/python-modules/langchain-chroma/default.nix index e412b4e02738..d8ff4c47f065 100644 --- a/pkgs/development/python-modules/langchain-chroma/default.nix +++ b/pkgs/development/python-modules/langchain-chroma/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies chromadb, @@ -22,21 +22,19 @@ buildPythonPackage rec { pname = "langchain-chroma"; - version = "0.2.6"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-chroma==${version}"; - hash = "sha256-HxoxxOgiDC/rf4hCA6uQBPmK11/fqddc5d4nMpIFxEw="; + hash = "sha256-fKFcl4NiNaypJGoV8bDrH7MwnsXNtnm7Hkxp/+SLc2c="; }; sourceRoot = "${src.name}/libs/partners/chroma"; - patches = [ ./001-async-test.patch ]; - - build-system = [ pdm-backend ]; + build-system = [ hatchling ]; pythonRelaxDeps = [ # Each component release requests the exact latest core. @@ -59,11 +57,6 @@ buildPythonPackage rec { pytestCheckHook ]; - disabledTests = [ - # Bad integration test, not used or vetted by the langchain team - "test_chroma_update_document" - ]; - passthru = { # python updater script sets the wrong tag skipBulkUpdate = true; diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix index 80ef77828e11..3b103a45a49d 100644 --- a/pkgs/development/python-modules/langchain-core/default.nix +++ b/pkgs/development/python-modules/langchain-core/default.nix @@ -5,7 +5,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies jsonpatch, @@ -36,19 +36,19 @@ buildPythonPackage rec { pname = "langchain-core"; - version = "0.3.72"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-core==${version}"; - hash = "sha256-Q2uGMiODUtwkPdOyuSqp8vqjlLjiXk75QjXp7rr20tc="; + hash = "sha256-/V2xwpVIR7AWkN85D51LYokMrTrnJlIkGr0q1ztVh8A="; }; sourceRoot = "${src.name}/libs/core"; - build-system = [ pdm-backend ]; + build-system = [ hatchling ]; pythonRelaxDeps = [ "packaging" diff --git a/pkgs/development/python-modules/langchain-deepseek/default.nix b/pkgs/development/python-modules/langchain-deepseek/default.nix index e6978addf2e8..cd5683c5007f 100644 --- a/pkgs/development/python-modules/langchain-deepseek/default.nix +++ b/pkgs/development/python-modules/langchain-deepseek/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies langchain-core, @@ -22,20 +22,20 @@ buildPythonPackage rec { pname = "langchain-deepseek"; - version = "0.1.4"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-deepseek==${version}"; - hash = "sha256-lIlThVpyZF5osiCyYMO8kQUNtG5eUjXGZLdgRraj4Yc="; + hash = "sha256-sOJxtiYL/hgDEeWkCvHP3mfI4tmrBuQp1BYN5WX+npo="; }; sourceRoot = "${src.name}/libs/partners/deepseek"; build-system = [ - pdm-backend + hatchling ]; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/langchain-fireworks/default.nix b/pkgs/development/python-modules/langchain-fireworks/default.nix index 3a614511e244..e30ec4de5018 100644 --- a/pkgs/development/python-modules/langchain-fireworks/default.nix +++ b/pkgs/development/python-modules/langchain-fireworks/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies aiohttp, @@ -24,19 +24,19 @@ buildPythonPackage rec { pname = "langchain-fireworks"; - version = "0.3.0"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-fireworks==${version}"; - hash = "sha256-OZou323FAk2I4YuQV7sllbzDwFQWy/90FK3gIHnEBd0="; + hash = "sha256-JULxbSSSerM7HifVBRxkv5YgpP5jFdm3XzHIJbM8T1Y="; }; sourceRoot = "${src.name}/libs/partners/fireworks"; - build-system = [ pdm-backend ]; + build-system = [ hatchling ]; dependencies = [ aiohttp @@ -75,8 +75,8 @@ buildPythonPackage rec { description = "Build LangChain applications with Fireworks"; homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/fireworks"; license = lib.licenses.mit; - maintainers = [ - lib.maintainers.sarahec + maintainers = with lib.maintainers; [ + sarahec ]; }; } diff --git a/pkgs/development/python-modules/langchain-google-genai/default.nix b/pkgs/development/python-modules/langchain-google-genai/default.nix index b28f462f0359..f89cb6787844 100644 --- a/pkgs/development/python-modules/langchain-google-genai/default.nix +++ b/pkgs/development/python-modules/langchain-google-genai/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - poetry-core, + pdm-backend, # dependencies filetype, @@ -29,19 +29,19 @@ buildPythonPackage rec { pname = "langchain-google-genai"; - version = "2.1.10"; + version = "3.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain-google"; tag = "libs/genai/v${version}"; - hash = "sha256-kqII8RG1ep+n5CqKLY1v7Mc+zJh6kl1rAjMmkomfeqM="; + hash = "sha256-9Z0iRSICApA5/iHB7NTVYGpkktaoynG74W2mvn9zeMg="; }; sourceRoot = "${src.name}/libs/genai"; - build-system = [ poetry-core ]; + build-system = [ pdm-backend ]; pythonRelaxDeps = [ # Each component release requests the exact latest core. @@ -85,9 +85,9 @@ buildPythonPackage rec { description = "LangChain integrations for Google Gemini"; homepage = "https://github.com/langchain-ai/langchain-google/tree/main/libs/genai"; license = lib.licenses.mit; - maintainers = [ - lib.maintainers.eu90h - lib.maintainers.sarahec + maintainers = with lib.maintainers; [ + eu90h + sarahec ]; }; } diff --git a/pkgs/development/python-modules/langchain-groq/default.nix b/pkgs/development/python-modules/langchain-groq/default.nix index 96478eb5fa85..a70487f2378d 100644 --- a/pkgs/development/python-modules/langchain-groq/default.nix +++ b/pkgs/development/python-modules/langchain-groq/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies langchain-core, @@ -20,19 +20,19 @@ buildPythonPackage rec { pname = "langchain-groq"; - version = "0.3.8"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-groq==${version}"; - hash = "sha256-mlkNKzVX4VUQ9+/rB0fD4HfwjbCA9Yp4DJkMT+ExJ1c="; + hash = "sha256-OuZEdpPp0mKSejd43RW3bXzCzp3E4Pce7flsSr5JleY="; }; sourceRoot = "${src.name}/libs/partners/groq"; - build-system = [ pdm-backend ]; + build-system = [ hatchling ]; pythonRelaxDeps = [ # Each component release requests the exact latest core. diff --git a/pkgs/development/python-modules/langchain-huggingface/default.nix b/pkgs/development/python-modules/langchain-huggingface/default.nix index e8a1dd68fc1a..ef4043f16e1c 100644 --- a/pkgs/development/python-modules/langchain-huggingface/default.nix +++ b/pkgs/development/python-modules/langchain-huggingface/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies huggingface-hub, @@ -33,19 +33,19 @@ buildPythonPackage rec { pname = "langchain-huggingface"; - version = "0.3.1"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-huggingface==${version}"; - hash = "sha256-nae7KwCKjkvenOO8vErxFQStHolc+N8EUuK6U8r48Kc="; + hash = "sha256-5ovHScT4bi4Ix7ejeyTjYxBvraoegtyIBojTdTBH5Js="; }; sourceRoot = "${src.name}/libs/partners/huggingface"; - build-system = [ pdm-backend ]; + build-system = [ hatchling ]; pythonRelaxDeps = [ # Each component release requests the exact latest core. diff --git a/pkgs/development/python-modules/langchain-mistralai/default.nix b/pkgs/development/python-modules/langchain-mistralai/default.nix index 9b6f5d9abc4c..35ac8078c34e 100644 --- a/pkgs/development/python-modules/langchain-mistralai/default.nix +++ b/pkgs/development/python-modules/langchain-mistralai/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies langchain-core, @@ -24,19 +24,19 @@ buildPythonPackage rec { pname = "langchain-mistralai"; - version = "0.2.12"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-mistralai==${version}"; - hash = "sha256-eZyoveKn4S0nkK/2q8+HK0bpFAQEez4PyRETQeZItMo="; + hash = "sha256-khpZY6kttbgacnY1EKCyIPBR2ZiZHC3OA+0NpIBXg9s="; }; sourceRoot = "${src.name}/libs/partners/mistralai"; - build-system = [ pdm-backend ]; + build-system = [ hatchling ]; dependencies = [ langchain-core diff --git a/pkgs/development/python-modules/langchain-ollama/default.nix b/pkgs/development/python-modules/langchain-ollama/default.nix index b315678abe78..93072b464538 100644 --- a/pkgs/development/python-modules/langchain-ollama/default.nix +++ b/pkgs/development/python-modules/langchain-ollama/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies langchain-core, @@ -22,20 +22,20 @@ buildPythonPackage rec { pname = "langchain-ollama"; - version = "0.3.8"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-ollama==${version}"; - hash = "sha256-r6O06JHJOtMPA/FOmkr6YCT5pUnlcG9wu2Bm3Gae5Mk="; + hash = "sha256-BINQYT+tLHAOKU54Cu6KP2vDg02MgkK9+XOYli8AXzs="; }; sourceRoot = "${src.name}/libs/partners/ollama"; build-system = [ - pdm-backend + hatchling ]; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/langchain-openai/default.nix b/pkgs/development/python-modules/langchain-openai/default.nix index 2e6bb2ab23fe..8d3d8fe6c6d7 100644 --- a/pkgs/development/python-modules/langchain-openai/default.nix +++ b/pkgs/development/python-modules/langchain-openai/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies langchain-core, @@ -13,6 +13,7 @@ # tests freezegun, + langchain, langchain-tests, lark, pandas, @@ -32,19 +33,19 @@ buildPythonPackage rec { pname = "langchain-openai"; - version = "0.3.28"; + version = "1.0.1"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-openai==${version}"; - hash = "sha256-HpAdCHxmfGJcqXArvtlYagNuEBGBjrbICIwh9nI0qMQ="; + hash = "sha256-lKZZw9kMV3oM7fNpVvofZJfOcyoUdqByWQmBV5MTFZo="; }; sourceRoot = "${src.name}/libs/partners/openai"; - build-system = [ pdm-backend ]; + build-system = [ hatchling ]; pythonRelaxDeps = [ # Each component release requests the exact latest core. @@ -60,6 +61,7 @@ buildPythonPackage rec { nativeCheckInputs = [ freezegun + langchain langchain-tests lark pandas @@ -78,26 +80,16 @@ buildPythonPackage rec { disabledTests = [ # These tests require network access - "test__convert_dict_to_message_tool_call" "test__get_encoding_model" - "test_azure_openai_api_key_is_secret_string" - "test_azure_openai_api_key_masked_when_passed_from_env" - "test_azure_openai_api_key_masked_when_passed_via_constructor" - "test_azure_openai_secrets" - "test_azure_openai_uses_actual_secret_value_from_secretstr" - "test_azure_serialized_secrets" "test_chat_openai_get_num_tokens" "test_embed_documents_with_custom_chunk_size" "test_get_num_tokens_from_messages" "test_get_token_ids" "test_init_o1" - "test_openai_get_num_tokens" - ]; - disabledTestPaths = [ - # TODO recheck on next update. Langchain has been working on Pydantic errors. - # ValidationError from pydantic - "tests/unit_tests/chat_models/test_responses_stream.py" + # TypeError: exceptions must be derived from Warning, not + # https://github.com/langchain-ai/langchain/issues/33705 + "test_init_minimal_reasoning_effort" ]; pythonImportsCheck = [ "langchain_openai" ]; diff --git a/pkgs/development/python-modules/langchain-perplexity/default.nix b/pkgs/development/python-modules/langchain-perplexity/default.nix index 9638e5aa883d..55d0109f1ad5 100644 --- a/pkgs/development/python-modules/langchain-perplexity/default.nix +++ b/pkgs/development/python-modules/langchain-perplexity/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies langchain-core, @@ -23,19 +23,19 @@ buildPythonPackage rec { pname = "langchain-perplexity"; - version = "0.1.2"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-perplexity==${version}"; - hash = "sha256-4KYLyhGbG8Y8cDGffE4/8OM61eAKRFTgxKDKMTQExic="; + hash = "sha256-RUvzV1DQqg0nK/SABBekXlhuKmMT7vHTlyxb7RVpoiI="; }; sourceRoot = "${src.name}/libs/partners/perplexity"; - build-system = [ pdm-backend ]; + build-system = [ hatchling ]; dependencies = [ langchain-core @@ -73,8 +73,8 @@ buildPythonPackage rec { description = "Build LangChain applications with Perplexity"; homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/perplexity"; license = lib.licenses.mit; - maintainers = [ - lib.maintainers.sarahec + maintainers = with lib.maintainers; [ + sarahec ]; }; } diff --git a/pkgs/development/python-modules/langchain-tests/default.nix b/pkgs/development/python-modules/langchain-tests/default.nix index 79528751b939..84f368fa507d 100644 --- a/pkgs/development/python-modules/langchain-tests/default.nix +++ b/pkgs/development/python-modules/langchain-tests/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies httpx, @@ -30,19 +30,19 @@ buildPythonPackage rec { pname = "langchain-tests"; - version = "0.3.21"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-tests==${version}"; - hash = "sha256-CufnUFhYTENuq4/32u0w3UZb7TdZxEpshyQqLH6NEZo="; + hash = "sha256-t+3o7XoemvEALVYMx+FpkGQVx2c/npRrK3cNDp3bp9A="; }; sourceRoot = "${src.name}/libs/standard-tests"; - build-system = [ pdm-backend ]; + build-system = [ hatchling ]; pythonRelaxDeps = [ # Each component release requests the exact latest core. diff --git a/pkgs/development/python-modules/langchain-text-splitters/default.nix b/pkgs/development/python-modules/langchain-text-splitters/default.nix index d331a852ca61..2740e682a1c8 100644 --- a/pkgs/development/python-modules/langchain-text-splitters/default.nix +++ b/pkgs/development/python-modules/langchain-text-splitters/default.nix @@ -4,12 +4,13 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies langchain-core, # tests + beautifulsoup4, httpx, pytest-asyncio, pytestCheckHook, @@ -20,19 +21,19 @@ buildPythonPackage rec { pname = "langchain-text-splitters"; - version = "0.3.11"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-text-splitters==${version}"; - hash = "sha256-SShVzssXi18j5gcDSwwDT+umObEk7uhaCP2mMolQJxI="; + hash = "sha256-DOWd94Vx61OS1OI2uIZVonf6BiXkjbS2pTrzleKvifM="; }; sourceRoot = "${src.name}/libs/text-splitters"; - build-system = [ pdm-backend ]; + build-system = [ hatchling ]; pythonRelaxDeps = [ # Each component release requests the exact latest core. @@ -45,6 +46,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "langchain_text_splitters" ]; nativeCheckInputs = [ + beautifulsoup4 httpx pytest-asyncio pytestCheckHook diff --git a/pkgs/development/python-modules/langchain-xai/default.nix b/pkgs/development/python-modules/langchain-xai/default.nix index 6769f74c3440..439645e39337 100644 --- a/pkgs/development/python-modules/langchain-xai/default.nix +++ b/pkgs/development/python-modules/langchain-xai/default.nix @@ -5,7 +5,7 @@ fetchFromGitHub, # build-system - pdm-backend, + hatchling, # dependencies aiohttp, @@ -25,19 +25,19 @@ buildPythonPackage rec { pname = "langchain-xai"; - version = "0.2.5"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-xai==${version}"; - hash = "sha256-nae7KwCKjkvenOO8vErxFQStHolc+N8EUuK6U8r48Kc="; + hash = "sha256-engdUNTT3KsAGrJ93PiFQoI6jbBFPAqavDsrD073484="; }; sourceRoot = "${src.name}/libs/partners/xai"; - build-system = [ pdm-backend ]; + build-system = [ hatchling ]; dependencies = [ aiohttp diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index 96754ea94d52..77e77ce0e5e7 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -5,16 +5,14 @@ pythonOlder, # build-system - pdm-backend, - - # buildInputs - bash, + hatchling, # dependencies aiohttp, async-timeout, langchain-core, langchain-text-splitters, + langgraph, langsmith, numpy, pydantic, @@ -44,21 +42,19 @@ buildPythonPackage rec { pname = "langchain"; - version = "0.3.72"; + version = "1.0.2"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - tag = "langchain-core==${version}"; - hash = "sha256-Q2uGMiODUtwkPdOyuSqp8vqjlLjiXk75QjXp7rr20tc="; + tag = "langchain==${version}"; + hash = "sha256-NQra/L7OfnVyFTbGkSDcG30r8W733eAs9abII53wy4g="; }; - sourceRoot = "${src.name}/libs/langchain"; + sourceRoot = "${src.name}/libs/langchain_v1"; - build-system = [ pdm-backend ]; - - buildInputs = [ bash ]; + build-system = [ hatchling ]; pythonRelaxDeps = [ # Each component release requests the exact latest core. @@ -72,6 +68,7 @@ buildPythonPackage rec { aiohttp langchain-core langchain-text-splitters + langgraph langsmith numpy pydantic @@ -111,47 +108,28 @@ buildPythonPackage rec { "tests/unit_tests" ]; + # All pass with sandbox=false disabledTests = [ - # These tests have database access - "test_table_info" - "test_sql_database_run" - # These tests have network access - "test_socket_disabled" - "test_openai_agent_with_streaming" - "test_openai_agent_tools_agent" - # This test may require a specific version of langchain-community - "test_compatible_vectorstore_documentation" - # AssertionErrors - "test_callback_handlers" - "test_generic_fake_chat_model" - # Test is outdated - "test_serializable_mapping" - "test_person" - "test_aliases_hidden" - # AssertionError: (failed string match due to terminal control chars in output) - # https://github.com/langchain-ai/langchain/issues/32150 - "test_filecallback" + # Depends on shell's truncation style + "test_truncation_indicator_present" + # Depends on the sleep shell command + "test_timeout_returns_error" + # Can't see the shell session results when sandboxed + "test_startup_and_shutdown_commands" ]; disabledTestPaths = [ - # pydantic.errors.PydanticUserError: `ConversationSummaryMemory` is not fully defined; you should define `BaseCache`, then call `ConversationSummaryMemory.model_rebuild()`. - "tests/unit_tests/chains/test_conversation.py" - # pydantic.errors.PydanticUserError: `ConversationSummaryMemory` is not fully defined; you should define `BaseCache`, then call `ConversationSummaryMemory.model_rebuild()`. - "tests/unit_tests/chains/test_memory.py" - # pydantic.errors.PydanticUserError: `ConversationSummaryBufferMemory` is not fully defined; you should define `BaseCache`, then call `ConversationSummaryBufferMemory.model_rebuild()`. - "tests/unit_tests/chains/test_summary_buffer_memory.py" - "tests/unit_tests/output_parsers/test_fix.py" - "tests/unit_tests/chains/test_llm_checker.py" - # TypeError: Can't instantiate abstract class RunnableSerializable[RetryOutputParserRetryChainInput, str] without an implementation for abstract method 'invoke' - "tests/unit_tests/output_parsers/test_retry.py" - # pydantic.errors.PydanticUserError: `LLMSummarizationCheckerChain` is not fully defined; you should define `BaseCache`, then call `LLMSummarizationCheckerChain.model_rebuild()`. - "tests/unit_tests/chains/test_llm_summarization_checker.py" + # Their configuration tests don't place nicely with nixpkgs + "tests/unit_tests/test_pytest_config.py" ]; pythonImportsCheck = [ "langchain" ]; - passthru.updateScript = gitUpdater { - rev-prefix = "langchain=="; + passthru = { + skipBulkUpdate = true; + updateScript = gitUpdater { + rev-prefix = "langchain=="; + }; }; __darwinAllowLocalNetworking = true; @@ -165,6 +143,5 @@ buildPythonPackage rec { natsukium sarahec ]; - mainProgram = "langchain-server"; }; } diff --git a/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix b/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix index 7040ae313543..b1769bb30750 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix @@ -26,14 +26,14 @@ buildPythonPackage rec { pname = "langgraph-checkpoint-postgres"; - version = "2.0.23"; + version = "3.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langgraph"; tag = "checkpointpostgres==${version}"; - hash = "sha256-QAzT8T3bf3R3gwI/iWDYYDz0SxgLZsP61oMk72dYz4s="; + hash = "sha256-YjO8KfDx7lZOps+dG7CPsY7LOqhKIBdfCXexPsR2pB4="; }; postgresqlTestSetupPost = '' @@ -84,6 +84,7 @@ buildPythonPackage rec { "test_vector_search_with_filters" "test_vector_search_pagination" "test_vector_search_edge_cases" + "test_non_ascii" # Flaky under a parallel build (database in use) "test_store_ttl" ]; diff --git a/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix b/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix index 44877b4eadeb..7ffc5b24374d 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "langgraph-checkpoint-sqlite"; - version = "2.0.11"; + version = "3.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langgraph"; tag = "checkpointsqlite==${version}"; - hash = "sha256-v/gRYkiS4AR1epWwPdG/QYbnUYte894kHTn5F58pVGI="; + hash = "sha256-YjO8KfDx7lZOps+dG7CPsY7LOqhKIBdfCXexPsR2pB4="; }; sourceRoot = "${src.name}/libs/checkpoint-sqlite"; diff --git a/pkgs/development/python-modules/langgraph-checkpoint/default.nix b/pkgs/development/python-modules/langgraph-checkpoint/default.nix index b0769f2a5306..43e5b68aade2 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint/default.nix @@ -18,6 +18,7 @@ pytest-asyncio, pytest-mock, pytestCheckHook, + redis, # passthru gitUpdater, @@ -25,14 +26,14 @@ buildPythonPackage rec { pname = "langgraph-checkpoint"; - version = "2.1.1"; + version = "3.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langgraph"; tag = "checkpoint==${version}"; - hash = "sha256-UY3AChShKfOrtOQzOm5vi3Yy3rlBc+TAje9L2L6My/U="; + hash = "sha256-YjO8KfDx7lZOps+dG7CPsY7LOqhKIBdfCXexPsR2pB4="; }; sourceRoot = "${src.name}/libs/checkpoint"; @@ -55,12 +56,7 @@ buildPythonPackage rec { pytest-asyncio pytest-mock pytestCheckHook - ]; - - disabledTests = [ - # assert 1.0000000000000004 == 1.0000000000000002 - # https://github.com/langchain-ai/langgraph/issues/5845 - "test_embed_with_path" + redis ]; passthru = { diff --git a/pkgs/development/python-modules/langgraph-prebuilt/default.nix b/pkgs/development/python-modules/langgraph-prebuilt/default.nix index 59d69db2ba02..cface66811d5 100644 --- a/pkgs/development/python-modules/langgraph-prebuilt/default.nix +++ b/pkgs/development/python-modules/langgraph-prebuilt/default.nix @@ -31,14 +31,14 @@ # It exists so the langgraph team can iterate on it without having to rebuild langgraph. buildPythonPackage rec { pname = "langgraph-prebuilt"; - version = "0.6.4"; + version = "1.0.1"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langgraph"; tag = "prebuilt==${version}"; - hash = "sha256-9jl16cKp3E7j79PXrr/3splrcJtfQQN7yFJ5sfa6c+I="; + hash = "sha256-YjO8KfDx7lZOps+dG7CPsY7LOqhKIBdfCXexPsR2pB4="; }; sourceRoot = "${src.name}/libs/prebuilt"; diff --git a/pkgs/development/python-modules/langgraph/default.nix b/pkgs/development/python-modules/langgraph/default.nix index ef3089303418..8c0ac5e6875a 100644 --- a/pkgs/development/python-modules/langgraph/default.nix +++ b/pkgs/development/python-modules/langgraph/default.nix @@ -40,14 +40,14 @@ }: buildPythonPackage rec { pname = "langgraph"; - version = "0.6.4"; + version = "1.0.1"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langgraph"; tag = version; - hash = "sha256-9jl16cKp3E7j79PXrr/3splrcJtfQQN7yFJ5sfa6c+I="; + hash = "sha256-YjO8KfDx7lZOps+dG7CPsY7LOqhKIBdfCXexPsR2pB4="; }; postgresqlTestSetupPost = '' diff --git a/pkgs/development/python-modules/legacy-cgi/default.nix b/pkgs/development/python-modules/legacy-cgi/default.nix index ede0920e3411..b52561050407 100644 --- a/pkgs/development/python-modules/legacy-cgi/default.nix +++ b/pkgs/development/python-modules/legacy-cgi/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "legacy-cgi"; - version = "2.6.3"; + version = "2.6.4"; pyproject = true; src = fetchFromGitHub { owner = "jackrosenthal"; repo = "legacy-cgi"; tag = "v${version}"; - hash = "sha256-l2BuSlxAA31VlJ/Fhs4cGbidbXEt/zEH3BiWsuh29GM="; + hash = "sha256-2CCYRRWP8FP54AcLnehJ0Kj3F3U4cz8vnesSj5EakdA="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/libcst/default.nix b/pkgs/development/python-modules/libcst/default.nix index c89cdb8daba8..7f6e9fc13ef1 100644 --- a/pkgs/development/python-modules/libcst/default.nix +++ b/pkgs/development/python-modules/libcst/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "libcst"; - version = "1.8.4"; + version = "1.8.5"; pyproject = true; src = fetchFromGitHub { owner = "Instagram"; repo = "LibCST"; tag = "v${version}"; - hash = "sha256-OSLaEIfFM/uU3GkcVpvbeesqzr+qXa/BgkDEan7Ybkg="; + hash = "sha256-4FFkxy8UrLOXuZwvGvGQNZGtY27yLtiTWAzTbxLm3Eo="; }; cargoDeps = rustPlatform.fetchCargoVendor { @@ -39,7 +39,7 @@ buildPythonPackage rec { src cargoRoot ; - hash = "sha256-F/TaKZpynaCwXU0YvvuTEh5/pvMOpKur7wMSE7dtgNo="; + hash = "sha256-eFdcyqzH7meF4kIVT2qhbKVxEB6KtZVEONMgYw4sBew="; }; cargoRoot = "native"; diff --git a/pkgs/development/python-modules/libpass/default.nix b/pkgs/development/python-modules/libpass/default.nix index 834d0b512b9e..5f02a27cc3a3 100644 --- a/pkgs/development/python-modules/libpass/default.nix +++ b/pkgs/development/python-modules/libpass/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "libpass"; - version = "1.9.2"; + version = "1.9.3"; pyproject = true; src = fetchFromGitHub { owner = "ThirVondukr"; repo = "passlib"; tag = version; - hash = "sha256-xL+92LdZxCH+yu2vz2AC44b4EYiGJbWfPkoSO3mSSjw="; + hash = "sha256-fzI9HpGE3wNK41ZSOeA5NAr5T4r3Jzdqe5+SHoWVXUs="; }; build-system = [ hatchling ]; @@ -41,6 +41,15 @@ buildPythonPackage rec { pythonImportsCheck = [ "passlib" ]; + disabledTestPaths = [ + # https://github.com/notypecheck/passlib/issues/18 + "tests/test_handlers_bcrypt.py::bcrypt_bcrypt_test::test_70_hashes" + "tests/test_handlers_bcrypt.py::bcrypt_bcrypt_test::test_77_fuzz_input" + "tests/test_handlers_django.py::django_bcrypt_test::test_77_fuzz_input" + "tests/test_handlers_bcrypt.py::bcrypt_bcrypt_test::test_secret_w_truncate_size" + "tests/test_handlers_django.py::django_bcrypt_test::test_secret_w_truncate_size" + ]; + disabledTests = [ # timming sensitive "test_dummy_verify" diff --git a/pkgs/development/python-modules/marimo/default.nix b/pkgs/development/python-modules/marimo/default.nix index 3cf144ae9961..24e51364669b 100644 --- a/pkgs/development/python-modules/marimo/default.nix +++ b/pkgs/development/python-modules/marimo/default.nix @@ -1,6 +1,7 @@ { lib, buildPythonPackage, + fetchpatch2, fetchPypi, pythonOlder, @@ -42,6 +43,15 @@ buildPythonPackage rec { hash = "sha256-cmkz/ZyVYfpz4yOxghsXPF4PhRluwqSXo1CcwvwkXFg="; }; + patches = [ + # https://github.com/marimo-team/marimo/pull/6714 + (fetchpatch2 { + name = "uv-build.patch"; + url = "https://github.com/Prince213/marimo/commit/b1c690e82e8117c451a74fdf172eb51a4861853d.patch?full_index=1"; + hash = "sha256-iFS5NSGjaGdECRk0LCRSA8XzRb1/sVSZCTRLy6taHNU="; + }) + ]; + build-system = [ uv-build ]; dependencies = [ diff --git a/pkgs/development/python-modules/materialx/default.nix b/pkgs/development/python-modules/materialx/default.nix index 5d9a744079c3..96d3995259cd 100644 --- a/pkgs/development/python-modules/materialx/default.nix +++ b/pkgs/development/python-modules/materialx/default.nix @@ -11,7 +11,6 @@ openimageio, imath, python, - apple-sdk_14, }: buildPythonPackage rec { @@ -36,9 +35,6 @@ buildPythonPackage rec { openimageio imath ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_14 - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ libX11 libXt @@ -46,6 +42,7 @@ buildPythonPackage rec { ]; cmakeFlags = [ + "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" (lib.cmakeBool "MATERIALX_BUILD_OIIO" true) (lib.cmakeBool "MATERIALX_BUILD_SHARED_LIBS" true) (lib.cmakeBool "MATERIALX_BUILD_PYTHON" true) diff --git a/pkgs/development/python-modules/mkdocstrings-python/default.nix b/pkgs/development/python-modules/mkdocstrings-python/default.nix index d0132580ed36..3287ac61d725 100644 --- a/pkgs/development/python-modules/mkdocstrings-python/default.nix +++ b/pkgs/development/python-modules/mkdocstrings-python/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "mkdocstrings-python"; - version = "1.16.12"; + version = "1.18.2"; pyproject = true; src = fetchFromGitHub { owner = "mkdocstrings"; repo = "python"; tag = version; - hash = "sha256-NL5gn8HgT0hvIlUDs//sErAaSVXvxLDJGT7nZX65ZVU="; + hash = "sha256-BdUNj7EJAbOs8Ff+IGbd7be+lRG6MQCIgNAi5oH9OgA="; }; build-system = [ pdm-backend ]; diff --git a/pkgs/development/python-modules/mlx/default.nix b/pkgs/development/python-modules/mlx/default.nix index 1816bc34f7ed..9aec1b175c76 100644 --- a/pkgs/development/python-modules/mlx/default.nix +++ b/pkgs/development/python-modules/mlx/default.nix @@ -12,7 +12,7 @@ cmake, # buildInputs - apple-sdk_14, + apple-sdk, fmt, nanobind, nlohmann_json, @@ -48,7 +48,7 @@ let patches = [ (replaceVars ./darwin-build-fixes.patch { - sdkVersion = apple-sdk_14.version; + sdkVersion = apple-sdk.version; }) ]; @@ -95,7 +95,6 @@ let ]; buildInputs = [ - apple-sdk_14 fmt gguf-tools nanobind diff --git a/pkgs/development/python-modules/multidict/default.nix b/pkgs/development/python-modules/multidict/default.nix index a35bbdbee805..286c7395781e 100644 --- a/pkgs/development/python-modules/multidict/default.nix +++ b/pkgs/development/python-modules/multidict/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "multidict"; - version = "6.6.4"; + version = "6.7.0"; pyproject = true; src = fetchFromGitHub { owner = "aio-libs"; repo = "multidict"; tag = "v${version}"; - hash = "sha256-Ewxwz+0Y8pXJpHobLxrV7cuA9fsAaawWmW9XoEg7dxU="; + hash = "sha256-NEiUXHwY7bas7+Ddf9hdR6m/N+wbRG/NguoMROIWjeU="; }; postPatch = '' @@ -37,11 +37,9 @@ buildPythonPackage rec { typing-extensions ]; - env = - { } - // lib.optionalAttrs stdenv.cc.isClang { - NIX_CFLAGS_COMPILE = "-Wno-error=unused-command-line-argument"; - }; + env = lib.optionalAttrs stdenv.cc.isClang { + NIX_CFLAGS_COMPILE = "-Wno-error=unused-command-line-argument"; + }; nativeCheckInputs = [ objgraph @@ -58,11 +56,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "multidict" ]; - meta = with lib; { + meta = { changelog = "https://github.com/aio-libs/multidict/blob/${src.tag}/CHANGES.rst"; description = "Multidict implementation"; homepage = "https://github.com/aio-libs/multidict/"; - license = licenses.asl20; - maintainers = with maintainers; [ dotlambda ]; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ dotlambda ]; }; } diff --git a/pkgs/development/python-modules/numpy/2.nix b/pkgs/development/python-modules/numpy/2.nix index 46b338fb2ff1..7bbd7781cb83 100644 --- a/pkgs/development/python-modules/numpy/2.nix +++ b/pkgs/development/python-modules/numpy/2.nix @@ -19,6 +19,7 @@ # native dependencies blas, + coreutils, lapack, # Reverse dependency @@ -59,7 +60,7 @@ let in buildPythonPackage rec { pname = "numpy"; - version = "2.3.3"; + version = "2.3.4"; pyproject = true; disabled = pythonOlder "3.11"; @@ -69,7 +70,7 @@ buildPythonPackage rec { repo = "numpy"; tag = "v${version}"; fetchSubmodules = true; - hash = "sha256-6RMzF5vOWSX7gL3mps9ECClJF3mNqL1mexM6j8/yfdc="; + hash = "sha256-MfL7UQeSuxJIEQzY/0LIuScyBCilINt8e+zAeUNPmH0="; }; patches = lib.optionals python.hasDistutilsCxxPatch [ @@ -83,6 +84,10 @@ buildPythonPackage rec { # remove needless reference to full Python path stored in built wheel substituteInPlace numpy/meson.build \ --replace-fail 'py.full_path()' "'python'" + + # Test_POWER_Features::test_features - FileNotFoundError: [Errno 2] No such file or directory: '/bin/true' + substituteInPlace numpy/_core/tests/test_cpu_features.py \ + --replace-fail '/bin/true' '${lib.getExe' coreutils "true"}' ''; build-system = [ @@ -161,6 +166,10 @@ buildPythonPackage rec { # AssertionError: (np.int64(0), np.longdouble('9.9999999999999994515e-21'), np.longdouble('3.9696755572509052902e+20'), 'arctanh') "test_loss_of_precision" ] + ++ lib.optionals (stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isBigEndian) [ + # https://github.com/numpy/numpy/issues/29918 + "test_sq_cases" + ] ++ lib.optionals (stdenv.hostPlatform ? gcc.arch) [ # remove if https://github.com/numpy/numpy/issues/27460 is resolved "test_validate_transcendentals" diff --git a/pkgs/development/python-modules/ollama/default.nix b/pkgs/development/python-modules/ollama/default.nix index 684091aa6049..cee610f3b5ba 100644 --- a/pkgs/development/python-modules/ollama/default.nix +++ b/pkgs/development/python-modules/ollama/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "ollama"; - version = "0.5.3"; + version = "0.6.0"; pyproject = true; src = fetchFromGitHub { owner = "ollama"; repo = "ollama-python"; tag = "v${version}"; - hash = "sha256-QpG8bo6tarhW4NpdD4MQ9DWR/w8KjT2zEQyirYtTjJ0="; + hash = "sha256-4GvONxyv3/+mago/AHp5zbfoiKskKxiDZR1h+OhVbPU="; }; pythonRelaxDeps = [ "httpx" ]; diff --git a/pkgs/development/python-modules/openai-agents/default.nix b/pkgs/development/python-modules/openai-agents/default.nix index 0812eb19d871..8ae73edda134 100644 --- a/pkgs/development/python-modules/openai-agents/default.nix +++ b/pkgs/development/python-modules/openai-agents/default.nix @@ -14,13 +14,13 @@ buildPythonPackage rec { pname = "openai-agents"; - version = "0.2.9"; + version = "0.4.2"; pyproject = true; src = fetchPypi { inherit version; pname = "openai_agents"; - hash = "sha256-YZxRyM5J+EFHSp5hlXPW9/lqRkMpAHUhRa0EMJq3Cuk="; + hash = "sha256-KByv+DmzqyzzvFIRCr6TysoASYXEG/B96OYNA8SnUo4="; }; build-system = [ diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix index c127e68c1923..c1f9d59eea50 100644 --- a/pkgs/development/python-modules/openai/default.nix +++ b/pkgs/development/python-modules/openai/default.nix @@ -51,14 +51,14 @@ buildPythonPackage rec { pname = "openai"; - version = "1.101.0"; + version = "2.6.0"; pyproject = true; src = fetchFromGitHub { owner = "openai"; repo = "openai-python"; tag = "v${version}"; - hash = "sha256-XCstUYM2jiq3PbNiRmLnguzQtvrGk0Ik5K0tk37bq2U="; + hash = "sha256-GD9+81r0vw4n5jdpJW72cmtfqfz7zGs01YuwiziC3h4="; }; postPatch = ''substituteInPlace pyproject.toml --replace-fail "hatchling==1.26.3" "hatchling"''; diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix index 6f92156c4ae9..8227e6c2e080 100644 --- a/pkgs/development/python-modules/pikepdf/default.nix +++ b/pkgs/development/python-modules/pikepdf/default.nix @@ -25,7 +25,7 @@ buildPythonPackage rec { pname = "pikepdf"; - version = "9.11.0"; + version = "10.0.0"; pyproject = true; src = fetchFromGitHub { @@ -38,7 +38,7 @@ buildPythonPackage rec { postFetch = '' rm "$out/.git_archival.txt" ''; - hash = "sha256-mdH7bFfUzjSOOIhRK4GpizohFB82s8v9N2yEX2X/dms="; + hash = "sha256-DiNRjN4tnADaFOxLV9wdvJe9KEOb+h9IOSzaPGtGuk0="; }; patches = [ diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix index 153192fb6dbf..a2cfc6de6be0 100644 --- a/pkgs/development/python-modules/pillow/default.nix +++ b/pkgs/development/python-modules/pillow/default.nix @@ -8,6 +8,7 @@ # build-system setuptools, pkg-config, + pybind11, # native dependencies freetype, @@ -43,17 +44,20 @@ buildPythonPackage rec { pname = "pillow"; - version = "11.3.0"; + version = "12.0.0"; pyproject = true; src = fetchFromGitHub { owner = "python-pillow"; repo = "pillow"; tag = version; - hash = "sha256-VOOIxzTyERI85CvA2oIutybiivU14kIko8ysXpmwUN8="; + hash = "sha256-58mjwHErEZPkkGBVZznkkMQN5Zo4ZBBiXnhqVp1F81g="; }; - build-system = [ setuptools ]; + build-system = [ + setuptools + pybind11 + ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/python-modules/platformdirs/default.nix b/pkgs/development/python-modules/platformdirs/default.nix index 80d109154203..6ea5d6b7361e 100644 --- a/pkgs/development/python-modules/platformdirs/default.nix +++ b/pkgs/development/python-modules/platformdirs/default.nix @@ -12,16 +12,14 @@ buildPythonPackage rec { pname = "platformdirs"; - version = "4.3.8"; + version = "4.5.0"; pyproject = true; - disabled = pythonOlder "3.7"; - src = fetchFromGitHub { - owner = "platformdirs"; + owner = "tox-dev"; repo = "platformdirs"; tag = version; - hash = "sha256-ePaEpsBkTomRX+RJsed8aJtefl5WCW/N9IT8ae4+ln4="; + hash = "sha256-ESXp9I6SL13BdsQLCUcfS8kwqayURCEguhINnK6Dd6k="; }; build-system = [ @@ -37,11 +35,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "platformdirs" ]; - meta = with lib; { + meta = { description = "Module for determining appropriate platform-specific directories"; homepage = "https://platformdirs.readthedocs.io/"; - changelog = "https://github.com/platformdirs/platformdirs/releases/tag/${version}"; - license = licenses.mit; - maintainers = with maintainers; [ fab ]; + changelog = "https://github.com/tox-dev/platformdirs/releases/tag/${src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/psutil/default.nix b/pkgs/development/python-modules/psutil/default.nix index 20e3bf06c1d3..dac2afcd346f 100644 --- a/pkgs/development/python-modules/psutil/default.nix +++ b/pkgs/development/python-modules/psutil/default.nix @@ -2,25 +2,25 @@ lib, stdenv, buildPythonPackage, - fetchPypi, + fetchFromGitHub, setuptools, pytestCheckHook, python, - pythonOlder, + gitUpdater, }: buildPythonPackage rec { pname = "psutil"; - version = "7.1.0"; + version = "7.1.2"; pyproject = true; inherit stdenv; - disabled = pythonOlder "3.7"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-ZVcIs8BpOHyLd7By/EKaV9DiFCIdAcCnct99/tyzvNI="; + src = fetchFromGitHub { + owner = "giampaolo"; + repo = "psutil"; + tag = "release-${version}"; + hash = "sha256-LyGnLrq+SzCQmz8/P5DOugoNEyuH0IC7uIp8UAPwH0U="; }; postPatch = '' @@ -63,11 +63,15 @@ buildPythonPackage rec { pythonImportsCheck = [ "psutil" ]; - meta = with lib; { + passthru.updateScript = gitUpdater { + rev-prefix = "release-"; + }; + + meta = { description = "Process and system utilization information interface"; homepage = "https://github.com/giampaolo/psutil"; - changelog = "https://github.com/giampaolo/psutil/blob/release-${version}/HISTORY.rst"; - license = licenses.bsd3; + changelog = "https://github.com/giampaolo/psutil/blob/${src.tag}/HISTORY.rst"; + license = lib.licenses.bsd3; maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/psycopg2/default.nix b/pkgs/development/python-modules/psycopg2/default.nix index cbc3923dd126..026ddf281e48 100644 --- a/pkgs/development/python-modules/psycopg2/default.nix +++ b/pkgs/development/python-modules/psycopg2/default.nix @@ -2,7 +2,6 @@ stdenv, lib, buildPythonPackage, - pythonOlder, isPyPy, fetchPypi, libpq, @@ -12,16 +11,17 @@ sphinxHook, sphinx-better-theme, buildPackages, + setuptools, }: buildPythonPackage rec { pname = "psycopg2"; - version = "2.9.10"; - format = "setuptools"; + version = "2.9.11"; + pyproject = true; # Extension modules don't work well with PyPy. Use psycopg2cffi instead. # c.f. https://github.com/NixOS/nixpkgs/pull/104151#issuecomment-729750892 - disabled = pythonOlder "3.6" || isPyPy; + disabled = isPyPy; outputs = [ "out" @@ -30,7 +30,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - hash = "sha256-EuwLQLAnP5UpYjPodQRBM5KY5qVy9wOdpbJg48i2DhE="; + hash = "sha256-lk0xyvco4hfGl/936mnCughl+kHsILsA8Jd+Yv3MUuM="; }; postPatch = '' @@ -46,6 +46,10 @@ buildPythonPackage rec { sphinx-better-theme ]; + build-system = [ + setuptools + ]; + buildInputs = [ libpq ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ openssl ]; sphinxRoot = "doc/src"; diff --git a/pkgs/development/python-modules/pydal/default.nix b/pkgs/development/python-modules/pydal/default.nix index 04db786876f1..fe850650f330 100644 --- a/pkgs/development/python-modules/pydal/default.nix +++ b/pkgs/development/python-modules/pydal/default.nix @@ -4,7 +4,6 @@ buildPythonPackage, fetchPypi, pytestCheckHook, - pythonAtLeast, pythonOlder, setuptools, legacy-cgi, @@ -26,7 +25,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook ]; - checkInputs = lib.optionals (pythonAtLeast "3.13") [ legacy-cgi ]; + checkInputs = [ legacy-cgi ]; enabledTestPaths = [ "tests/*.py" diff --git a/pkgs/development/python-modules/pyhcl/default.nix b/pkgs/development/python-modules/pyhcl/default.nix index d947eb84944d..101e639cbde7 100644 --- a/pkgs/development/python-modules/pyhcl/default.nix +++ b/pkgs/development/python-modules/pyhcl/default.nix @@ -1,25 +1,23 @@ { buildPythonPackage, fetchFromGitHub, - isPy3k, lib, # pythonPackages - coverage, - pytest, + pytestCheckHook, + setuptools, }: buildPythonPackage rec { pname = "pyhcl"; version = "0.4.5"; - format = "setuptools"; - disabled = !isPy3k; + pyproject = true; src = fetchFromGitHub { owner = "virtuald"; repo = "pyhcl"; - rev = version; - sha256 = "sha256-vF40xEahs98G0lIC6XIl3eJHIuai2xTAeshUjiKN/BY="; + tag = version; + hash = "sha256-vF40xEahs98G0lIC6XIl3eJHIuai2xTAeshUjiKN/BY="; }; # https://github.com/virtuald/pyhcl/blob/51a7524b68fe21e175e157b8af931016d7a357ad/setup.py#L64 @@ -27,15 +25,11 @@ buildPythonPackage rec { echo '__version__ = "${version}"' > ./src/hcl/version.py ''; - nativeCheckInputs = [ - coverage - pytest - ]; + build-system = [ setuptools ]; - # https://github.com/virtuald/pyhcl/blob/51a7524b68fe21e175e157b8af931016d7a357ad/tests/run_tests.sh#L4 - checkPhase = '' - coverage run --source hcl -m pytest tests - ''; + nativeCheckInputs = [ + pytestCheckHook + ]; meta = with lib; { description = "HCL is a configuration language. pyhcl is a python parser for it"; diff --git a/pkgs/development/python-modules/pynacl/default.nix b/pkgs/development/python-modules/pynacl/default.nix index 5f5b26a17acb..11a60e232336 100644 --- a/pkgs/development/python-modules/pynacl/default.nix +++ b/pkgs/development/python-modules/pynacl/default.nix @@ -1,62 +1,64 @@ { lib, buildPythonPackage, - fetchPypi, - fetchpatch2, - pytestCheckHook, - sphinxHook, - pythonOlder, - libsodium, cffi, + fetchFromGitHub, hypothesis, + libsodium, + pytestCheckHook, + pytest-xdist, + pythonOlder, + setuptools, + sphinxHook, }: buildPythonPackage rec { pname = "pynacl"; - version = "1.5.0"; + version = "1.6.0"; outputs = [ "out" "doc" ]; - format = "setuptools"; + pyproject = true; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.8"; - src = fetchPypi { - inherit version; - pname = "PyNaCl"; - sha256 = "8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"; + src = fetchFromGitHub { + owner = "pyca"; + repo = "pynacl"; + tag = version; + hash = "sha256-7SDJB2bXn0IGJQi597yehs9epdfmS7slbQ97vFVUkEA="; }; - patches = [ - (fetchpatch2 { - # sphinx 8 compat - url = "https://github.com/pyca/pynacl/commit/81943b3c61b9cc731ae0f2e87b7a91e42fbc8fa1.patch"; - hash = "sha256-iO3pBqGW2zZE8lG8khpPjqJso9/rmFbdnwCcBs8iFeI="; - }) + build-system = [ + cffi + setuptools ]; + # cffi is listed in both build-system.requires and project.dependencies, + # and is indeed needed in both when cross-compiling + dependencies = [ cffi ]; + nativeBuildInputs = [ sphinxHook ]; buildInputs = [ libsodium ]; propagatedNativeBuildInputs = [ cffi ]; - propagatedBuildInputs = [ cffi ]; - nativeCheckInputs = [ hypothesis pytestCheckHook + pytest-xdist ]; - SODIUM_INSTALL = "system"; + env.SODIUM_INSTALL = "system"; pythonImportsCheck = [ "nacl" ]; - meta = with lib; { + meta = { description = "Python binding to the Networking and Cryptography (NaCl) library"; homepage = "https://github.com/pyca/pynacl/"; - license = licenses.asl20; - maintainers = [ ]; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ mdaniels5757 ]; }; } diff --git a/pkgs/development/python-modules/pyperclip/default.nix b/pkgs/development/python-modules/pyperclip/default.nix index 2fe17a982550..6ae8a535b2d2 100644 --- a/pkgs/development/python-modules/pyperclip/default.nix +++ b/pkgs/development/python-modules/pyperclip/default.nix @@ -7,13 +7,13 @@ }: buildPythonPackage rec { - version = "1.10.0"; + version = "1.11.0"; pname = "pyperclip"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-GAyDRrEYaSHHXf0U2QSKa11Gv8SZd4gRlSxt1uscpr4="; + hash = "sha256-JEA1lj5EKFMNnjphAaHvlyCcaCXtqxVnvqwUjMwdsbY="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pytest-asyncio/default.nix b/pkgs/development/python-modules/pytest-asyncio/default.nix index a251f89fc5de..6d1d22738532 100644 --- a/pkgs/development/python-modules/pytest-asyncio/default.nix +++ b/pkgs/development/python-modules/pytest-asyncio/default.nix @@ -7,18 +7,19 @@ pytest, setuptools-scm, backports-asyncio-runner, + typing-extensions, }: buildPythonPackage rec { pname = "pytest-asyncio"; - version = "1.1.0"; # N.B.: when updating, tests bleak and aioesphomeapi tests + version = "1.2.0"; # N.B.: when updating, tests bleak and aioesphomeapi tests pyproject = true; src = fetchFromGitHub { owner = "pytest-dev"; repo = "pytest-asyncio"; tag = "v${version}"; - hash = "sha256-+dLOzMPKI3nawfyZVZZ6hg6OkaEGZBp8oC5VIr7y0es="; + hash = "sha256-27FCV7zgFGe/Q0fkYyh5Z05foVGhbKBRPTH4UK/tW5A="; }; outputs = [ @@ -29,8 +30,12 @@ buildPythonPackage rec { build-system = [ setuptools-scm ]; buildInputs = [ pytest ]; - dependencies = lib.optionals (pythonOlder "3.11") [ + + dependencies = [ backports-asyncio-runner + ] + ++ lib.optionals (pythonOlder "3.13") [ + typing-extensions ]; postInstall = '' diff --git a/pkgs/development/python-modules/pytest-mock/default.nix b/pkgs/development/python-modules/pytest-mock/default.nix index 1dc9f25ea63f..3c03379fceb4 100644 --- a/pkgs/development/python-modules/pytest-mock/default.nix +++ b/pkgs/development/python-modules/pytest-mock/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "pytest-mock"; - version = "3.15.0"; + version = "3.15.1"; pyproject = true; src = fetchFromGitHub { owner = "pytest-dev"; repo = "pytest-mock"; tag = "v${version}"; - hash = "sha256-a9Mu0FfU8rTbMeA1YoM/Kb5R2IUO8FyzQfscBVuBFfo="; + hash = "sha256-9h5/cssWs4F0LKnFLjWDsEjB2AYczLvnSjiUdsaEcBQ="; }; build-system = [ @@ -35,11 +35,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "pytest_mock" ]; - meta = with lib; { + meta = { description = "Thin wrapper around the mock package for easier use with pytest"; homepage = "https://github.com/pytest-dev/pytest-mock"; changelog = "https://github.com/pytest-dev/pytest-mock/blob/${src.tag}/CHANGELOG.rst"; - license = licenses.mit; - maintainers = with maintainers; [ dotlambda ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; }; } diff --git a/pkgs/development/python-modules/pytest-regressions/default.nix b/pkgs/development/python-modules/pytest-regressions/default.nix index 18286d14fcd9..ac36a4ae5657 100644 --- a/pkgs/development/python-modules/pytest-regressions/default.nix +++ b/pkgs/development/python-modules/pytest-regressions/default.nix @@ -1,4 +1,5 @@ { + stdenv, lib, buildPythonPackage, fetchFromGitHub, @@ -63,6 +64,13 @@ buildPythonPackage rec { "-Wignore::DeprecationWarning" ]; + disabledTests = lib.optionals (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isBigEndian) [ + # https://github.com/ESSS/pytest-regressions/issues/156 + # i686-linux not listed in the report, but seems to have this issue as well + "test_different_data_types" + "test_common_case" # not listed in the issue, but fails after the above is skipped + ]; + pythonImportsCheck = [ "pytest_regressions" "pytest_regressions.plugin" diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix index e332672444ea..edd68ff232b8 100644 --- a/pkgs/development/python-modules/pytest/default.nix +++ b/pkgs/development/python-modules/pytest/default.nix @@ -76,9 +76,6 @@ buildPythonPackage rec { ''; doCheck = false; - # FIXME(jade): perhaps this should be the default? - # https://github.com/NixOS/nixpkgs/issues/435069 - dontWrapPythonPrograms = true; passthru.tests.pytest = callPackage ./tests.nix { }; # Remove .pytest_cache when using py.test in a Nix build diff --git a/pkgs/development/python-modules/pywebcopy/default.nix b/pkgs/development/python-modules/pywebcopy/default.nix index ebdda05aeead..028a78177ea9 100644 --- a/pkgs/development/python-modules/pywebcopy/default.nix +++ b/pkgs/development/python-modules/pywebcopy/default.nix @@ -6,7 +6,6 @@ legacy-cgi, lxml-html-clean, pytestCheckHook, - pythonAtLeast, requests, setuptools, six, @@ -28,11 +27,11 @@ buildPythonPackage rec { dependencies = [ cachecontrol + legacy-cgi lxml-html-clean requests six - ] - ++ lib.optionals (pythonAtLeast "3.13") [ legacy-cgi ]; + ]; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/regex/default.nix b/pkgs/development/python-modules/regex/default.nix index 4de467cc8a8d..4ca491e0e076 100644 --- a/pkgs/development/python-modules/regex/default.nix +++ b/pkgs/development/python-modules/regex/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "regex"; - version = "2025.7.34"; + version = "2025.9.18"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-nq2XZSF6/QSoaCLfzU7SdH3+Qm6IfaQTsV/wrCRX4ho="; + hash = "sha256-xbojJ0xhxv70R7pqOTMyl9DCR/UwWdugvKQVysUR7cQ="; }; build-system = [ setuptools ]; @@ -31,6 +31,6 @@ buildPythonPackage rec { licenses.asl20 licenses.cnri-python ]; - maintainers = [ ]; + maintainers = with lib.maintainers; [ dwoffinden ]; }; } diff --git a/pkgs/development/python-modules/remi/default.nix b/pkgs/development/python-modules/remi/default.nix index 1e55434b8f9d..0db323c1c46a 100644 --- a/pkgs/development/python-modules/remi/default.nix +++ b/pkgs/development/python-modules/remi/default.nix @@ -2,7 +2,6 @@ lib, buildPythonPackage, fetchFromGitHub, - pythonOlder, setuptools, pytestCheckHook, matplotlib, @@ -47,8 +46,6 @@ buildPythonPackage rec { dependencies = [ setuptools # pkg_resources is referenced at runtime - ] - ++ lib.optionals (!pythonOlder "3.13") [ legacy-cgi ]; diff --git a/pkgs/development/python-modules/servefile/default.nix b/pkgs/development/python-modules/servefile/default.nix index 1d1c0c175bac..67cd43a9094e 100644 --- a/pkgs/development/python-modules/servefile/default.nix +++ b/pkgs/development/python-modules/servefile/default.nix @@ -5,7 +5,6 @@ lib, pyopenssl, pytestCheckHook, - pythonAtLeast, requests, }: @@ -22,9 +21,9 @@ buildPythonPackage rec { }; dependencies = [ + legacy-cgi pyopenssl - ] - ++ lib.optionals (pythonAtLeast "3.13") [ legacy-cgi ]; + ]; nativeCheckInputs = [ pytestCheckHook diff --git a/pkgs/development/python-modules/setproctitle/default.nix b/pkgs/development/python-modules/setproctitle/default.nix index e99a26990139..aa1211029abb 100644 --- a/pkgs/development/python-modules/setproctitle/default.nix +++ b/pkgs/development/python-modules/setproctitle/default.nix @@ -28,7 +28,7 @@ buildPythonPackage rec { ]; # Setting the process title fails on macOS in the Nix builder environment (regardless of sandboxing) - disabledTests = if stdenv.hostPlatform.isDarwin then [ "test_setproctitle_darwin" ] else null; + disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ "test_setproctitle_darwin" ]; pythonImportsCheck = [ "setproctitle" ]; diff --git a/pkgs/development/python-modules/sigstore-models/default.nix b/pkgs/development/python-modules/sigstore-models/default.nix index 2a45c9cdef5a..5bda1519e17d 100644 --- a/pkgs/development/python-modules/sigstore-models/default.nix +++ b/pkgs/development/python-modules/sigstore-models/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch2, pydantic, typing-extensions, uv-build, @@ -20,6 +21,15 @@ buildPythonPackage rec { hash = "sha256-zlIZzfgHZPEuiZu3JNX74Cg1jPNaO1HUhMtpxoyOoqk="; }; + patches = [ + # https://github.com/astral-sh/sigstore-models/pull/4 + (fetchpatch2 { + name = "uv-build.patch"; + url = "https://github.com/Prince213/sigstore-models/commit/0cbd46ce7ebc8a5d2825b8fc98147a9ba4b3be70.patch?full_index=1"; + hash = "sha256-6DLhhHkGW2Ok9xwKx6YT5BkCqQNH/Ja/KEO9FHl4NXo="; + }) + ]; + build-system = [ uv-build ]; dependencies = [ diff --git a/pkgs/development/python-modules/simplejson/default.nix b/pkgs/development/python-modules/simplejson/default.nix index 31e38d275587..3a360da09b07 100644 --- a/pkgs/development/python-modules/simplejson/default.nix +++ b/pkgs/development/python-modules/simplejson/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "simplejson"; - version = "3.20.1"; + version = "3.20.2"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "simplejson"; repo = "simplejson"; tag = "v${version}"; - hash = "sha256-wE/jqBMXVtmbc/78X4lgfvuj074CrzfLJL1CM6LCfas="; + hash = "sha256-err3NWljoC6MxJoFSYuqLHGKfDcst6ya7myP9XIRbFc="; }; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix b/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix index 200af582e86b..f06e3580fddc 100644 --- a/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix +++ b/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix @@ -4,26 +4,23 @@ fetchPypi, hatch-vcs, hatchling, - pythonOlder, sphinx, pytestCheckHook, }: let pname = "sphinx-autodoc-typehints"; - version = "3.2.0"; + version = "3.4.0"; in buildPythonPackage { inherit pname version; pyproject = true; - disabled = pythonOlder "3.7"; - src = fetchPypi { pname = "sphinx_autodoc_typehints"; inherit version; - hash = "sha256-EHrJi8i0g3ICyIwHNtWdbaRAduZaDX19VDp4Yx9mKps="; + hash = "sha256-oknrcmSdBbS4fUKgykIln1UEmg/xVTk0FGP1nkslasU="; }; pythonRelaxDeps = [ "sphinx" ]; diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix index 7402fa2b3103..36d8c62176e8 100644 --- a/pkgs/development/python-modules/sphinx/default.nix +++ b/pkgs/development/python-modules/sphinx/default.nix @@ -118,6 +118,7 @@ buildPythonPackage rec { "test_class_alias_having_doccomment" "test_class_alias_for_imported_object_having_doccomment" "test_decorators" + "test_xml_warnings" # racy with too many threads # https://github.com/NixOS/nixpkgs/issues/353176 "test_document_toc_only" diff --git a/pkgs/development/python-modules/time-machine/default.nix b/pkgs/development/python-modules/time-machine/default.nix index b7d5585e8617..0ac251fe8020 100644 --- a/pkgs/development/python-modules/time-machine/default.nix +++ b/pkgs/development/python-modules/time-machine/default.nix @@ -2,25 +2,22 @@ lib, buildPythonPackage, fetchFromGitHub, - pythonAtLeast, - pythonOlder, setuptools, python-dateutil, + tokenize-rt, pytestCheckHook, }: buildPythonPackage rec { pname = "time-machine"; - version = "2.16.0"; + version = "2.19.0"; pyproject = true; - disabled = pythonOlder "3.10"; - src = fetchFromGitHub { owner = "adamchainz"; repo = "time-machine"; tag = version; - hash = "sha256-xNoLtgON1dfKAgK0XhSMLHLsUr/nST3lepy15YWDEcE="; + hash = "sha256-bPpn+RNlvy/tkFrxDY4Q13fNlNuMFj1+br8M2uU3t9A="; }; build-system = [ setuptools ]; @@ -29,9 +26,16 @@ buildPythonPackage rec { python-dateutil ]; - nativeCheckInputs = [ pytestCheckHook ]; + optional-dependencies.cli = [ + tokenize-rt + ]; - disabledTests = lib.optionals (pythonAtLeast "3.9") [ + nativeCheckInputs = [ + pytestCheckHook + ] + ++ optional-dependencies.cli; + + disabledTests = [ # https://github.com/adamchainz/time-machine/issues/405 "test_destination_string_naive" # Assertion Errors related to Africa/Addis_Ababa diff --git a/pkgs/development/python-modules/torch/source/default.nix b/pkgs/development/python-modules/torch/source/default.nix index 960a5c2a109d..ca68bef65045 100644 --- a/pkgs/development/python-modules/torch/source/default.nix +++ b/pkgs/development/python-modules/torch/source/default.nix @@ -42,7 +42,6 @@ removeReferencesTo, # Build inputs - apple-sdk_13, openssl, numactl, llvmPackages, @@ -582,9 +581,6 @@ buildPythonPackage.override { inherit stdenv; } rec { ++ lib.optionals rocmSupport [ rocmPackages.llvm.openmp ] ++ lib.optionals (cudaSupport || rocmSupport) [ effectiveMagma ] ++ lib.optionals stdenv.hostPlatform.isLinux [ numactl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_13 - ] ++ lib.optionals tritonSupport [ _tritonEffective ] ++ lib.optionals MPISupport [ mpi ] ++ lib.optionals rocmSupport [ diff --git a/pkgs/development/python-modules/torchvision/default.nix b/pkgs/development/python-modules/torchvision/default.nix index 034f5a1539a2..be337533b977 100644 --- a/pkgs/development/python-modules/torchvision/default.nix +++ b/pkgs/development/python-modules/torchvision/default.nix @@ -2,7 +2,6 @@ lib, stdenv, torch, - apple-sdk_13, buildPythonPackage, darwinMinVersionHook, fetchFromGitHub, @@ -55,14 +54,6 @@ buildPythonPackage { libjpeg_turbo libpng torch.cxxdev - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # This should match the SDK used by `torch` above - apple-sdk_13 - - # error: unknown type name 'MPSGraphCompilationDescriptor'; did you mean 'MPSGraphExecutionDescriptor'? - # https://developer.apple.com/documentation/metalperformanceshadersgraph/mpsgraphcompilationdescriptor/ - (darwinMinVersionHook "12.0") ]; dependencies = [ diff --git a/pkgs/development/python-modules/typer/default.nix b/pkgs/development/python-modules/typer/default.nix index c8ee4e01a9ef..e8f4a22ca4fd 100644 --- a/pkgs/development/python-modules/typer/default.nix +++ b/pkgs/development/python-modules/typer/default.nix @@ -16,7 +16,6 @@ shellingham, # tests - coverage, pytest-xdist, pytestCheckHook, writableTmpDirAsHomeHook, @@ -38,6 +37,13 @@ buildPythonPackage rec { hash = "sha256-mMsOEI4FpLkLkpjxjnUdmKdWD65Zx3Z1+L+XsS79k44="; }; + postPatch = '' + for f in $(find tests -type f -print); do + # replace `sys.executable -m coverage run` with `sys.executable` + sed -z -i 's/"-m",\n\?\s*"coverage",\n\?\s*"run",//g' "$f" + done + ''; + env.TIANGOLO_BUILD_PACKAGE = package; build-system = [ pdm-backend ]; @@ -60,7 +66,6 @@ buildPythonPackage rec { doCheck = package == "typer"; # tests expect standard dependencies nativeCheckInputs = [ - coverage # execs coverage in tests pytest-xdist pytestCheckHook writableTmpDirAsHomeHook diff --git a/pkgs/development/python-modules/types-psutil/default.nix b/pkgs/development/python-modules/types-psutil/default.nix index 008396640946..32336993ace8 100644 --- a/pkgs/development/python-modules/types-psutil/default.nix +++ b/pkgs/development/python-modules/types-psutil/default.nix @@ -6,13 +6,13 @@ buildPythonPackage rec { pname = "types-psutil"; - version = "7.0.0.20250801"; + version = "7.0.0.20250822"; format = "setuptools"; src = fetchPypi { pname = "types_psutil"; inherit version; - hash = "sha256-AjC1YjQlLMb1nDYdzLqqCPMIjqNWk2er5pAEhdOIyX0="; + hash = "sha256-Imy8DA6pzApQuKvMHZGibIdty0C+I4Ex9peINpBBlpg="; }; # Module doesn't have tests diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix index 24a44fe5db08..3c202ae9f13b 100644 --- a/pkgs/development/python-modules/types-requests/default.nix +++ b/pkgs/development/python-modules/types-requests/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "types-requests"; - version = "2.32.4.20250611"; + version = "2.32.4.20250913"; pyproject = true; src = fetchPypi { pname = "types_requests"; inherit version; - hash = "sha256-dByHd+1kJYML9R5U1qviRfebTcuQGfFiK3c0Y5Rr+CY="; + hash = "sha256-q9bU+c46k4PyaXdamDWkwk5c1rn2R9ZPiKpGE8M9710="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/types-setuptools/default.nix b/pkgs/development/python-modules/types-setuptools/default.nix index 8fdcc17567d7..9aa1f469cf14 100644 --- a/pkgs/development/python-modules/types-setuptools/default.nix +++ b/pkgs/development/python-modules/types-setuptools/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "types-setuptools"; - version = "80.9.0.20250801"; + version = "80.9.0.20250822"; pyproject = true; src = fetchPypi { pname = "types_setuptools"; inherit version; - hash = "sha256-4ekmgvoHImQVOWu04tMfEWoW/75YOwWwH5kQ/N6jt+g="; + hash = "sha256-Bw6ncWlo7GeoTH93aNmVL/JNKLZbZZR5ekZPGzBm+WU="; }; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/uncertainties/default.nix b/pkgs/development/python-modules/uncertainties/default.nix index a54accfa3516..5b130b5ffea9 100644 --- a/pkgs/development/python-modules/uncertainties/default.nix +++ b/pkgs/development/python-modules/uncertainties/default.nix @@ -38,6 +38,11 @@ buildPythonPackage rec { ] ++ optional-dependencies.arrays; + disabledTests = [ + # Flaky tests, see: https://github.com/lmfit/uncertainties/issues/343 + "test_repeated_summation_complexity" + ]; + pythonImportsCheck = [ "uncertainties" ]; meta = { diff --git a/pkgs/development/python-modules/uvloop/default.nix b/pkgs/development/python-modules/uvloop/default.nix index 9c4be78c1c72..63251d02f9cf 100644 --- a/pkgs/development/python-modules/uvloop/default.nix +++ b/pkgs/development/python-modules/uvloop/default.nix @@ -3,7 +3,7 @@ stdenv, buildPythonPackage, pythonOlder, - fetchPypi, + fetchFromGitHub, fetchpatch, # build-system @@ -21,30 +21,16 @@ buildPythonPackage rec { pname = "uvloop"; - version = "0.21.0"; + version = "0.22.0"; pyproject = true; - disabled = pythonOlder "3.8"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-O/ErD9poRHgGp62Ee/pZFhMXcnXTW2ckse5XP6o3BOM="; + src = fetchFromGitHub { + owner = "MagicStack"; + repo = "uvloop"; + tag = "v${version}"; + hash = "sha256-LAOa+Oshssy4ZHl4eE6dn2DeZQ9d5tRDV5Hv9BCJJ3c="; }; - patches = [ - # fix test failures on Python 3.13 - # (remove on next update) - (fetchpatch { - url = "https://github.com/MagicStack/uvloop/commit/96b7ed31afaf02800d779a395591da6a2c8c50e1.patch"; - hash = "sha256-Nbe3BuIuwlylll5fIYij+OiP90ZeFNI0GKHK9SwWRk8="; - excludes = [ ".github/workflows/tests.yml" ]; - }) - (fetchpatch { - url = "https://github.com/MagicStack/uvloop/commit/56807922f847ddac231a53d5b03eef70092b987c.patch"; - hash = "sha256-X5Ob1t/CRy9csw2JrWvwS55G6qTqZhIuGLTy83O03GU="; - }) - ]; - postPatch = '' rm -rf vendor @@ -82,6 +68,8 @@ buildPythonPackage rec { "tests/test_dns.py" # Asserts on exact wording of error message "tests/test_tcp.py::Test_AIO_TCP::test_create_connection_open_con_addr" + # ConnectionAbortedError: SSL handshake is taking longer than 15.0 seconds + "tests/test_tcp.py::Test_AIO_TCPSSL::test_create_connection_ssl_1" ] ++ lib.optionals (pythonOlder "3.11") [ "tests/test_tcp.py::Test_UV_TCPSSL::test_create_connection_ssl_failed_certificat" diff --git a/pkgs/development/python-modules/versioningit/default.nix b/pkgs/development/python-modules/versioningit/default.nix index 42cf3a141c0d..802614d21df8 100644 --- a/pkgs/development/python-modules/versioningit/default.nix +++ b/pkgs/development/python-modules/versioningit/default.nix @@ -5,7 +5,6 @@ fetchPypi, packaging, tomli, - coverage, pytestCheckHook, build, hatchling, @@ -27,6 +26,11 @@ buildPythonPackage rec { hash = "sha256-uRrX1z5z0hIg5pVA8gIT8rcpofmzXATp4Tfq8o0iFNo="; }; + postPatch = '' + substituteInPlace tox.ini \ + --replace-fail "ignore:.*No source for code:coverage.exceptions.CoverageWarning" "" + ''; + build-system = [ hatchling ]; dependencies = [ @@ -35,7 +39,6 @@ buildPythonPackage rec { ++ lib.optionals (pythonOlder "3.11") [ tomli ]; nativeCheckInputs = [ - coverage pytestCheckHook build hatchling diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix index d673a96face7..9e81d3601b94 100644 --- a/pkgs/development/python-modules/wandb/default.nix +++ b/pkgs/development/python-modules/wandb/default.nix @@ -44,7 +44,6 @@ bokeh, boto3, cloudpickle, - coverage, flask, google-cloud-artifact-registry, google-cloud-compute, @@ -228,7 +227,6 @@ buildPythonPackage rec { bokeh boto3 cloudpickle - coverage flask google-cloud-artifact-registry google-cloud-compute diff --git a/pkgs/development/python-modules/web/default.nix b/pkgs/development/python-modules/web/default.nix index b79a399aea5d..7cedc0a391c0 100644 --- a/pkgs/development/python-modules/web/default.nix +++ b/pkgs/development/python-modules/web/default.nix @@ -2,7 +2,6 @@ lib, buildPythonPackage, fetchPypi, - pythonAtLeast, pytestCheckHook, cheroot, legacy-cgi, @@ -25,8 +24,8 @@ buildPythonPackage rec { propagatedBuildInputs = [ cheroot - ] - ++ lib.optional (pythonAtLeast "3.13") legacy-cgi; + legacy-cgi + ]; # requires multiple running databases doCheck = false; diff --git a/pkgs/development/python-modules/webob/default.nix b/pkgs/development/python-modules/webob/default.nix index 34425a936f34..d45c06105875 100644 --- a/pkgs/development/python-modules/webob/default.nix +++ b/pkgs/development/python-modules/webob/default.nix @@ -5,7 +5,6 @@ setuptools, legacy-cgi, pytestCheckHook, - pythonAtLeast, pythonOlder, # for passthru.tests @@ -31,7 +30,7 @@ buildPythonPackage rec { build-system = [ setuptools ]; # https://github.com/Pylons/webob/issues/437 - dependencies = lib.optionals (pythonAtLeast "3.13") [ legacy-cgi ]; + dependencies = [ legacy-cgi ]; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/wfuzz/default.nix b/pkgs/development/python-modules/wfuzz/default.nix index 2277341460be..9d00d2a3a5c0 100644 --- a/pkgs/development/python-modules/wfuzz/default.nix +++ b/pkgs/development/python-modules/wfuzz/default.nix @@ -14,7 +14,6 @@ setuptools, six, fetchpatch2, - pythonAtLeast, legacy-cgi, }: @@ -51,13 +50,13 @@ buildPythonPackage rec { dependencies = [ chardet distutils # src/wfuzz/plugin_api/base.py + legacy-cgi pycurl six setuptools pyparsing ] - ++ lib.optionals stdenv.hostPlatform.isWindows [ colorama ] - ++ lib.optionals (pythonAtLeast "3.13") [ legacy-cgi ]; + ++ lib.optionals stdenv.hostPlatform.isWindows [ colorama ]; nativeCheckInputs = [ netaddr diff --git a/pkgs/development/python-modules/xmltodict/default.nix b/pkgs/development/python-modules/xmltodict/default.nix index 166f53fd3d1a..9d1c01842a42 100644 --- a/pkgs/development/python-modules/xmltodict/default.nix +++ b/pkgs/development/python-modules/xmltodict/default.nix @@ -1,22 +1,21 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, pytestCheckHook, - pythonOlder, setuptools, }: buildPythonPackage rec { pname = "xmltodict"; - version = "0.14.2"; + version = "1.0.2"; pyproject = true; - disabled = pythonOlder "3.7"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-IB58KLshDjdJmdHd5jgpI6sO0ail+u7OSKtSW3gQpVM="; + src = fetchFromGitHub { + owner = "martinblech"; + repo = "xmltodict"; + tag = "v${version}"; + hash = "sha256-gnTNkh0GLfRmjMsLhfvpNrewfinNOhem0i3wzIZvKpA="; }; build-system = [ setuptools ]; @@ -25,11 +24,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "xmltodict" ]; - meta = with lib; { + meta = { description = "Makes working with XML feel like you are working with JSON"; homepage = "https://github.com/martinblech/xmltodict"; - changelog = "https://github.com/martinblech/xmltodict/blob/v${version}/CHANGELOG.md"; - license = licenses.mit; + changelog = "https://github.com/martinblech/xmltodict/blob/${src.tag}/CHANGELOG.md"; + license = lib.licenses.mit; maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/yarl/default.nix b/pkgs/development/python-modules/yarl/default.nix index 36184650fcb9..8e7387921a2d 100644 --- a/pkgs/development/python-modules/yarl/default.nix +++ b/pkgs/development/python-modules/yarl/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "yarl"; - version = "1.21.1"; + version = "1.22.0"; pyproject = true; src = fetchFromGitHub { owner = "aio-libs"; repo = "yarl"; tag = "v${version}"; - hash = "sha256-YN2Gn/wokwbBbVcKvqNNJZ8eZKxwwdKbA84kPsx1Dg0="; + hash = "sha256-IkP6AxLT260NN2X2bd7b5LGVGFUjo7eQiuWxvMtcb8g="; }; build-system = [ @@ -58,11 +58,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "yarl" ]; - meta = with lib; { - changelog = "https://github.com/aio-libs/yarl/blob/v${version}/CHANGES.rst"; + meta = { + changelog = "https://github.com/aio-libs/yarl/blob/${src.tag}/CHANGES.rst"; description = "Yet another URL library"; homepage = "https://github.com/aio-libs/yarl"; - license = licenses.asl20; - maintainers = with maintainers; [ dotlambda ]; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ dotlambda ]; }; } diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix index 836faaa40936..117f8fc9c3ab 100644 --- a/pkgs/development/tools/buildah/default.nix +++ b/pkgs/development/tools/buildah/default.nix @@ -35,9 +35,6 @@ buildGoModule (finalAttrs: { doCheck = false; - # /nix/store/.../bin/ld: internal/mkcw/embed/entrypoint_amd64.o: relocation R_X86_64_32S against `.rodata.1' can not be used when making a PIE object; recompile with -fPIE - hardeningDisable = [ "pie" ]; - nativeBuildInputs = [ go-md2man installShellFiles diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix index 801e6592d030..5c2a0d47848d 100644 --- a/pkgs/development/tools/documentation/doxygen/default.nix +++ b/pkgs/development/tools/documentation/doxygen/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "doxygen"; - version = "1.14.0"; + version = "1.15.0"; src = fetchFromGitHub { owner = "doxygen"; repo = "doxygen"; tag = "Release_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; - hash = "sha256-d90fIP8rDQ30fY1vF3wAPlIa8xrSEOdHTpPjYnduZdI="; + hash = "sha256-HbUAIfkfP0Tvb2NLSerTSL8A+8Ox2thgGL2/zGLkZdc="; }; # https://github.com/doxygen/doxygen/issues/10928#issuecomment-2179320509 diff --git a/pkgs/development/tools/haskell/vaultenv/default.nix b/pkgs/development/tools/haskell/vaultenv/default.nix index ee9d867c128d..ad645ef016ec 100644 --- a/pkgs/development/tools/haskell/vaultenv/default.nix +++ b/pkgs/development/tools/haskell/vaultenv/default.nix @@ -46,6 +46,7 @@ mkDerivation rec { prePatch = '' substituteInPlace package.yaml \ --replace -Werror "" + hpack ''; isLibrary = false; @@ -82,7 +83,6 @@ mkDerivation rec { hspec-expectations quickcheck-instances ]; - preConfigure = "hpack"; homepage = "https://github.com/channable/vaultenv#readme"; description = "Runs processes with secrets from HashiCorp Vault"; license = lib.licenses.bsd3; diff --git a/pkgs/development/tools/misc/binutils/2.38/default.nix b/pkgs/development/tools/misc/binutils/2.38/default.nix index 4b3c8443dbbc..80a34de000ea 100644 --- a/pkgs/development/tools/misc/binutils/2.38/default.nix +++ b/pkgs/development/tools/misc/binutils/2.38/default.nix @@ -179,7 +179,6 @@ stdenv.mkDerivation { hardeningDisable = [ "format" - "pie" ]; configurePlatforms = [ diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 2dee9eb4f572..706489915c3f 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -209,7 +209,6 @@ stdenv.mkDerivation (finalAttrs: { hardeningDisable = [ "format" - "pie" ]; configurePlatforms = [ diff --git a/pkgs/development/tools/ocaml/camlidl/default.nix b/pkgs/development/tools/ocaml/camlidl/default.nix index 0e707e4fdaee..4897a9b597cd 100644 --- a/pkgs/development/tools/ocaml/camlidl/default.nix +++ b/pkgs/development/tools/ocaml/camlidl/default.nix @@ -6,58 +6,55 @@ writeText, }: -lib.throwIfNot (lib.versionAtLeast ocaml.version "4.03") - "camlidl is not available for OCaml ${ocaml.version}" +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-camlidl"; + version = "1.12"; - stdenv.mkDerivation - rec { - pname = "ocaml${ocaml.version}-camlidl"; - version = "1.12"; + src = fetchFromGitHub { + owner = "xavierleroy"; + repo = "camlidl"; + rev = "camlidl112"; + hash = "sha256-ONPQMDFaU2OzFa5jgMVKx+ZRKk8ZgBZyk42vDvbM7E0="; + }; - src = fetchFromGitHub { - owner = "xavierleroy"; - repo = "camlidl"; - rev = "camlidl112"; - hash = "sha256-ONPQMDFaU2OzFa5jgMVKx+ZRKk8ZgBZyk42vDvbM7E0="; - }; + nativeBuildInputs = [ ocaml ]; - nativeBuildInputs = [ ocaml ]; + # build fails otherwise + enableParallelBuilding = false; - # build fails otherwise - enableParallelBuilding = false; + preBuild = '' + mv config/Makefile.unix config/Makefile + substituteInPlace config/Makefile --replace BINDIR=/usr/local/bin BINDIR=$out + substituteInPlace config/Makefile --replace 'OCAMLLIB=$(shell $(OCAMLC) -where)' OCAMLLIB=$out/lib/ocaml/${ocaml.version}/site-lib/camlidl + substituteInPlace config/Makefile --replace CPP=cpp CPP=${stdenv.cc}/bin/cpp + substituteInPlace lib/Makefile --replace '$(OCAMLLIB)/Makefile.config' "${ocaml}/lib/ocaml/Makefile.config" + mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/camlidl/caml + mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/camlidl/stublibs + ''; - preBuild = '' - mv config/Makefile.unix config/Makefile - substituteInPlace config/Makefile --replace BINDIR=/usr/local/bin BINDIR=$out - substituteInPlace config/Makefile --replace 'OCAMLLIB=$(shell $(OCAMLC) -where)' OCAMLLIB=$out/lib/ocaml/${ocaml.version}/site-lib/camlidl - substituteInPlace config/Makefile --replace CPP=cpp CPP=${stdenv.cc}/bin/cpp - substituteInPlace lib/Makefile --replace '$(OCAMLLIB)/Makefile.config' "${ocaml}/lib/ocaml/Makefile.config" - mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/camlidl/caml - mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/camlidl/stublibs - ''; + postInstall = '' + cat >$out/lib/ocaml/${ocaml.version}/site-lib/camlidl/META <$out/lib/ocaml/${ocaml.version}/site-lib/camlidl/META < sVersionMap = {{{{ - output.write(f" #endif /* __has_attribute(availability) */\n") +@@ -327,9 +352,9 @@ static const std::array sVersionMap = {{{{ output.write(f"#endif /* defined(__has_feature) && defined(__has_attribute) */\n") def AVAILABILITY_MACRO_IMPL(self, output, prefix, dispatcher, **optionals): + av_version_hash = zlib.adler32(avVersion.encode()) # This does not need to cryptographically secure as it is meant to detect accidental failures - count = len(versions.platforms()) - for platformString in versions.platforms(): - platform = versions.platforms()[platformString] @@ -241,4 +241,3 @@ index 8ebd250..5bb9edb 100755 if getattr(args, platform, None): -- 2.45.2 - diff --git a/pkgs/os-specific/darwin/apple-source-releases/ICU/package.nix b/pkgs/os-specific/darwin/apple-source-releases/ICU/package.nix index 9a7ec4561355..27d7af4b0b95 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/ICU/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/ICU/package.nix @@ -3,8 +3,10 @@ bootstrapStdenv, buildPackages, fetchpatch2, + icu76, # The ICU version should correspond to the same one used by Apple’s ICU package mkAppleDerivation, python3, + stdenvNoCC, testers, }: @@ -12,6 +14,19 @@ # - ../../../development/libraries/icu/make-icu.nix # - https://github.com/apple-oss-distributions/ICU/blob/main/makefile let + privateHeaders = stdenvNoCC.mkDerivation { + name = "ICU-deps-private-headers"; + + buildCommand = '' + mkdir -p "$out/include/os" + cat < "$out/include/os/feature_private.h" + #pragma once + extern "C" bool _os_feature_enabled_impl(const char*, const char*); + #define os_feature_enabled(a, b) _os_feature_enabled_impl(#a, #b) + EOF + ''; + }; + stdenv = bootstrapStdenv; withStatic = stdenv.hostPlatform.isStatic; @@ -26,13 +41,6 @@ let patches = [ # Skip MessageFormatTest test, which is known to crash sometimes and should be suppressed if it does. ./patches/suppress-icu-check-crash.patch - - # Python 3.13 compatibility - (fetchpatch2 { - url = "https://github.com/unicode-org/icu/commit/60d6bd71efc0cde8f861b109ff87dbbf9fc96586.patch?full_index=1"; - hash = "sha256-aJBSVvKidPUjD956jLjyRk8fewUZ9f+Ip4ka6rjevzU="; - stripLen = 2; - }) ]; preConfigure = '' @@ -67,6 +75,7 @@ let env.NIX_CFLAGS_COMPILE = toString [ "-DU_SHOW_CPLUSPLUS_API=1" "-DU_SHOW_INTERNAL_API=1" + "-I${privateHeaders}/include" ]; passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; @@ -93,24 +102,38 @@ let ++ lib.optional withStatic "static"; outputBin = "dev"; - postPatch = lib.optionalString self.finalPackage.doCheck '' - # Skip test for missing encodingSamples data. - substituteInPlace test/cintltst/ucsdetst.c \ - --replace-fail "&TestMailFilterCSS" "NULL" + postPatch = + lib.optionalString self.finalPackage.doCheck ( + '' + # Skip test for missing encodingSamples data. + substituteInPlace test/cintltst/ucsdetst.c \ + --replace-fail "&TestMailFilterCSS" "NULL" - # Disable failing tests - substituteInPlace test/cintltst/cloctst.c \ - --replace-fail 'TESTCASE(TestCanonicalForm);' "" + # Disable failing tests + substituteInPlace test/cintltst/cloctst.c \ + --replace-fail 'TESTCASE(TestCanonicalForm);' "" - substituteInPlace test/intltest/rbbitst.cpp \ - --replace-fail 'TESTCASE_AUTO(TestExternalBreakEngineWithFakeYue);' "" + substituteInPlace test/intltest/rbbitst.cpp \ + --replace-fail 'TESTCASE_AUTO(TestExternalBreakEngineWithFakeYue);' "" - # Otherwise `make install` is broken. - substituteInPlace Makefile.in \ - --replace-fail '$(top_srcdir)/../LICENSE' "$NIX_BUILD_TOP/source/icu/LICENSE" - substituteInPlace config/dist-data.sh \ - --replace-fail "\''${top_srcdir}/../LICENSE" "$NIX_BUILD_TOP/source/icu/LICENSE" - ''; + # Add missing test data. It’s not included in the source release. + chmod u+w "$NIX_BUILD_TOP/source/icu" + tar -C "$NIX_BUILD_TOP/source" -axf ${lib.escapeShellArg icu76.src} icu/testdata + '' + + lib.optionalString stdenv.hostPlatform.isx86_64 '' + # These tests fail under Rosetta 2 with a floating-point exception. + substituteInPlace test/intltest/caltest.cpp \ + --replace-fail 'TESTCASE_AUTO(Test22633RollTwiceGetTimeOverflow);' "" \ + --replace-fail 'TESTCASE_AUTO(Test22750Roll);' "" + '' + ) + + '' + # Otherwise `make install` is broken. + substituteInPlace Makefile.in \ + --replace-fail '$(top_srcdir)/../LICENSE' "$NIX_BUILD_TOP/source/icu/LICENSE" + substituteInPlace config/dist-data.sh \ + --replace-fail "\''${top_srcdir}/../LICENSE" "$NIX_BUILD_TOP/source/icu/LICENSE" + ''; # remove dependency on bootstrap-tools in early stdenv build postInstall = diff --git a/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/package.nix b/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/package.nix index 231d0ffb562f..f846f1aebc27 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/package.nix @@ -13,14 +13,15 @@ let buildCommand = '' install -D -t "$out/include/IOKit/pwr_mgt" \ - '${iokitUser}/pwr_mgt.subproj/IOPMLibPrivate.h' + '${iokitUser}/pwr_mgt.subproj/IOPMLibPrivate.h' \ + '${iokitUser}/pwr_mgt.subproj/IOPMAssertionCategories.h' ''; }; in mkAppleDerivation { releaseName = "PowerManagement"; - xcodeHash = "sha256-l6lm8aaiJg4H2BQVCjlFldpfhnmPAlsiMK7Cghzuh1E="; + xcodeHash = "sha256-cjTF4dR6S55mLwp4GkQhkkNk9sMMKDc/5JTm46Z7/KE="; env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include"; diff --git a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/package.nix b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/package.nix index f994ab88d029..ba19dccc1284 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/package.nix @@ -38,7 +38,7 @@ mkAppleDerivation { "man" ]; - xcodeHash = "sha256-2p/JyMPw6acHphvzkaJXPXGwxCUEoxryCejww5kPHvQ="; + xcodeHash = "sha256-QhkylTnnCy4qG8fpUMlKqDGKz58jysL0YF4lFGJzPzE="; postPatch = '' # Meson generators require using @BASENAME@ in the output. diff --git a/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/package.nix b/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/package.nix index 0f5e1f77dd1a..ca416bc65934 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/package.nix @@ -1,7 +1,6 @@ { lib, apple-sdk, - apple-sdk_12, bison, buildPackages, flex, @@ -14,10 +13,7 @@ let Libc = apple-sdk.sourceRelease "Libc"; - - # Older versions of xnu are missing required headers. The one for the 11.3 SDK doesn’t define a needed function - # that was added in 11.3. This version of xnu has everything that’s needed. - xnu = apple-sdk_12.sourceRelease "xnu"; + xnu = apple-sdk.sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "adv_cmds-deps-private-headers"; diff --git a/pkgs/os-specific/darwin/apple-source-releases/copyfile/package.nix b/pkgs/os-specific/darwin/apple-source-releases/copyfile/package.nix index b2c02c05e624..413e6532b3a6 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/copyfile/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/copyfile/package.nix @@ -71,15 +71,6 @@ mkAppleDerivation { xcodeHash = "sha256-SYW6pBlCQkcbkBqCq+W/mDYZZ7/co2HlPZwXzgh/LnI="; - postPatch = '' - # Disable experimental bounds safety stuff that’s not available in LLVM 16. - for header in copyfile.h xattr_flags.h; do - substituteInPlace "$header" \ - --replace-fail '__ptrcheck_abi_assume_single()' "" \ - --replace-fail '__unsafe_indexable' "" - done - ''; - env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include"; meta.description = "Darwin file copying library"; diff --git a/pkgs/os-specific/darwin/apple-source-releases/doc_cmds/package.nix b/pkgs/os-specific/darwin/apple-source-releases/doc_cmds/package.nix index ec022deebdf2..493fabf82baf 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/doc_cmds/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/doc_cmds/package.nix @@ -1,11 +1,28 @@ { lib, + apple-sdk, mkAppleDerivation, pkg-config, shell_cmds, + stdenvNoCC, zlib, }: +let + xnu = apple-sdk.sourceRelease "xnu"; + + privateHeaders = stdenvNoCC.mkDerivation { + name = "doc_cmds-deps-private-headers"; + + buildCommand = '' + install -D -m644 -t "$out/include/System/sys" \ + '${xnu}/bsd/sys/codesign.h' + + install -D -m644 -t "$out/include/kern" \ + '${xnu}/osfmk/kern/cs_blobs.h' + ''; + }; +in mkAppleDerivation { releaseName = "doc_cmds"; @@ -14,11 +31,13 @@ mkAppleDerivation { "man" ]; - xcodeHash = "sha256-7/ADsfXTKqQhgratg2Twj7JgfFV0/U9rEvtsnX+NFPw="; + xcodeHash = "sha256-Nt6yHx3K8OkrdSWuX9s+JJIkeA5S6HDBAtTtrEjbk4w="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ zlib ]; + env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include"; + postInstall = '' HOST_PATH='${lib.getBin shell_cmds}/bin' patchShebangs --host "$out/libexec" ''; diff --git a/pkgs/os-specific/darwin/apple-source-releases/dyld/meson.build.in b/pkgs/os-specific/darwin/apple-source-releases/dyld/meson.build.in index 71b4ec7dc606..b3c095cc5499 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/dyld/meson.build.in +++ b/pkgs/os-specific/darwin/apple-source-releases/dyld/meson.build.in @@ -40,6 +40,7 @@ common_inc = [ 'dyld', 'include', 'mach_o', + 'include/mach-o', ] @@ -86,6 +87,79 @@ lsl_dep = declare_dependency( link_with : lsl, ) +libmach_o = static_library( + 'mach_o', + dependencies : [ lsl_dep ], + include_directories : [ + common_inc, + 'mach_o', + ], + sources : [ + 'mach_o/Architecture.cpp', + 'mach_o/Archive.cpp', + 'mach_o/BindOpcodes.cpp', + 'mach_o/ChainedFixups.cpp', + 'mach_o/CompactUnwind.cpp', + 'mach_o/DataInCode.cpp', + 'mach_o/DwarfDebug.cpp', + 'mach_o/Error.cpp', + 'mach_o/ExportsTrie.cpp', + 'mach_o/Fixups.cpp', + 'mach_o/FunctionStarts.cpp', + 'mach_o/FunctionVariants.cpp', + 'mach_o/GradedArchitectures.cpp', + 'mach_o/Header.cpp', + 'mach_o/Image.cpp', + 'mach_o/Instructions.cpp', + # 'mach_o/LinkerOptimizationHints.cpp', + 'mach_o/LoggingStub.cpp', + 'mach_o/Misc.cpp', + 'mach_o/NListSymbolTable.cpp', + 'mach_o/ObjC.cpp', + 'mach_o/Platform.cpp', + 'mach_o/Policy.cpp', + 'mach_o/RebaseOpcodes.cpp', + 'mach_o/SplitSeg.cpp', + 'mach_o/Symbol.cpp', + 'mach_o/Universal.cpp', + 'mach_o/Version32.cpp', + 'mach_o/Version64.cpp', + ], +) +libmach_o_dep = declare_dependency( + include_directories : [ 'mach_o' ], + link_with : libmach_o, +) + +libmach_o_writer = static_library( + 'mach_o_writer', + dependencies : [ lsl_dep ], + include_directories : [ + common_inc, + 'mach_o_writer', + ], + sources : [ + 'mach_o_writer/ArchiveWriter.cpp', + 'mach_o_writer/BindOpcodesWriter.cpp', + 'mach_o_writer/ChainedFixupsWriter.cpp', + 'mach_o_writer/ChunkBumpAllocator.cpp', + 'mach_o_writer/CompactUnwindWriter.cpp', + 'mach_o_writer/DataInCodeWriter.cpp', + 'mach_o_writer/ExportsTrieWriter.cpp', + 'mach_o_writer/FunctionStartsWriter.cpp', + 'mach_o_writer/FunctionVariantsWriter.cpp', + 'mach_o_writer/HeaderWriter.cpp', + 'mach_o_writer/LinkerOptimizationHintsWriter.cpp', + 'mach_o_writer/NListSymbolTableWriter.cpp', + 'mach_o_writer/RebaseOpcodesWriter.cpp', + 'mach_o_writer/SplitSegWriter.cpp', + 'mach_o_writer/UniversalWriter.cpp', + ], +) +libmach_o_writer_dep = declare_dependency( + include_directories : [ 'mach_o_writer' ], + link_with : libmach_o_writer, +) # These files need to be built with `BUILDING_LIBDYLD` not `BUILDING_DYLDINFO`. # `dyld_info` can’t just link against `libdyld` because the symbols it needs are not publicly exported. @@ -110,15 +184,17 @@ libminidyld = static_library( 'common/MachOLayout.cpp', 'common/MachOLoaded.cpp', 'libdyld/CrashReporterAnnotations.c', - 'mach_o/ChainedFixups.cpp', - 'mach_o/GradedArchitectures.cpp', ], ) libdsc_extractor = shared_library( 'dsc_extractor', cpp_args : [ '-DBUILDING_SHARED_CACHE_EXTRACTOR=1' ], - dependencies : [ corecrypto_dep, lsl_dep ], + dependencies : [ + corecrypto_dep, + libmach_o_dep, + lsl_dep + ], include_directories : [ common_inc, 'cache-builder', @@ -132,6 +208,7 @@ libdsc_extractor = shared_library( sources : [ 'common/DyldSharedCache.cpp', 'common/MachOFile.cpp', + 'common/TargetPolicy.cpp', 'other-tools/dsc_extractor.cpp', 'other-tools/dsc_iterator.cpp', 'common/MachOLayout.cpp', @@ -156,6 +233,7 @@ executable( ], dependencies : [ corecrypto_dep, + libmach_o_dep, llvm_dep, lsl_dep, ], @@ -175,31 +253,10 @@ executable( 'common/MachOFile.cpp', 'common/MetadataVisitor.cpp', 'common/SwiftVisitor.cpp', - 'mach_o/Architecture.cpp', - 'mach_o/Archive.cpp', - 'mach_o/BindOpcodes.cpp', - 'mach_o/ChainedFixups.cpp', - 'mach_o/CompactUnwind.cpp', - 'mach_o/Error.cpp', - 'mach_o/ExportsTrie.cpp', - 'mach_o/Fixups.cpp', - 'mach_o/FunctionStarts.cpp', - 'mach_o/Header.cpp', - 'mach_o/Image.cpp', - 'mach_o/Instructions.cpp', - 'mach_o/LoggingStub.cpp', - 'mach_o/Misc.cpp', - 'mach_o/NListSymbolTable.cpp', - 'mach_o/ObjC.cpp', - 'mach_o/Platform.cpp', - 'mach_o/Policy.cpp', - 'mach_o/RebaseOpcodes.cpp', - 'mach_o/SplitSeg.cpp', - 'mach_o/Symbol.cpp', - 'mach_o/Universal.cpp', - 'mach_o/Version32.cpp', - 'mach_o/Version64.cpp', + 'common/TargetPolicy.cpp', 'other-tools/dyld_info.cpp', + 'other-tools/MiscFileUtils.cpp', + 'other-tools/SymbolicatedImage.cpp', ], ) install_man('doc/man/man1/dyld_info.1') diff --git a/pkgs/os-specific/darwin/apple-source-releases/dyld/package.nix b/pkgs/os-specific/darwin/apple-source-releases/dyld/package.nix index 869d4b3ea9da..8cc3eaa2071a 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/dyld/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/dyld/package.nix @@ -1,11 +1,12 @@ { lib, - apple-sdk_12, + apple-sdk, ld64, mkAppleDerivation, cmake, - llvmPackages, + llvm, openssl, + pkgsBuildHost, pkg-config, stdenvNoCC, fetchurl, @@ -19,11 +20,11 @@ let hash = "sha256-0ybVcwHuGEdThv0PPjYQc3SW0YVOyrM3/L9zG/l1Vtk="; }; - launchd = apple-sdk_12.sourceRelease "launchd"; - Libc = apple-sdk_12.sourceRelease "Libc"; - libplatform = apple-sdk_12.sourceRelease "libplatform"; - libpthread = apple-sdk_12.sourceRelease "libpthread"; - xnu = apple-sdk_12.sourceRelease "xnu"; + launchd = apple-sdk.sourceRelease "launchd"; + Libc = apple-sdk.sourceRelease "Libc"; + libplatform = apple-sdk.sourceRelease "libplatform"; + libpthread = apple-sdk.sourceRelease "libpthread"; + xnu = apple-sdk.sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "dyld-deps-private-headers"; @@ -43,7 +44,8 @@ let install -D -m644 -t "$out/include/System" \ '${Libc}/stdlib/FreeBSD/atexit.h' - mkdir -p "$out/include/System/sys" + install -D -m644 -t "$out/include/System/sys" \ + '${xnu}/bsd/sys/csr.h' substitute '${xnu}/bsd/sys/fsgetpath.h' "$out/include/System/sys/fsgetpath.h" \ --replace-fail '#ifdef __APPLE_API_PRIVATE' '#if 1' @@ -91,13 +93,11 @@ mkAppleDerivation { propagatedBuildOutputs = [ ]; - xcodeHash = "sha256-NfaENSF699xjc+eKtOm1RyXUCMD6xTaJ5+9arLllqyw="; + xcodeHash = "sha256-4yOJouk9AjEt7W3+0cQRMUDDqBhU+J9c16ZQSzUF5go="; patches = [ # Disable use of private kdebug API ./patches/0001-Disable-kdebug-trace.patch - # dyld_info requires `startsWith`, but it’s not normally built for `dyld_info`. - ./patches/0002-Provide-startsWith-for-dyld_info.patch # dyld_info tries to weakly link against libLTO using this macro. ./patches/0003-Add-weaklinking_h.patch # The LLVMOpInfoCallback args comment out one of the args. Fix that for compatibility with nixpkgs LLVM. @@ -108,6 +108,9 @@ mkAppleDerivation { # `dsc_extractor` builds a dylib, but it includes a program that can perform cache extraction. # This extracts just the driver into a file to make building the actual program easier. ./patches/0006-Add-dsc_extractor_bin_cpp.patch + # Fix missing symbol for `mach_o::ChainedFixups::PointerFormat::writeChainEntry`, + # which isn’t actually needed by `dyld_info` or `dsc_extractor`. + ./patches/0007-Fix-missing-writeChainEntry.patch ]; postPatch = '' @@ -143,6 +146,9 @@ mkAppleDerivation { substituteInPlace dyld/Loader.h \ --replace-fail 'dyld_priv.h' 'mach-o/dyld_priv.h' + substituteInPlace common/DyldSharedCache.h \ + --replace-fail 'dyld_cache_format.h' 'mach-o/dyld_cache_format.h' + # Remove unused header include (since the compat shims don’t provide it). substituteInPlace other-tools/dsc_extractor.cpp \ --replace-fail '#include ' "" @@ -155,13 +161,13 @@ mkAppleDerivation { env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include"; buildInputs = [ - apple-sdk_12 # Needed for `PLATFORM_FIRMWARE` and `PLATFORM_SEPOS` defines in `mach-o/loader.h`. - llvmPackages.llvm + llvm openssl ]; nativeBuildInputs = [ cmake # CMake is required for Meson to find LLVM as a dependency. + (lib.getDev pkgsBuildHost.llvm) # Workaround Meson limitations with LLVM 21. pkg-config ]; diff --git a/pkgs/os-specific/darwin/apple-source-releases/dyld/patches/0002-Provide-startsWith-for-dyld_info.patch b/pkgs/os-specific/darwin/apple-source-releases/dyld/patches/0002-Provide-startsWith-for-dyld_info.patch deleted file mode 100644 index 746f21cc23ae..000000000000 --- a/pkgs/os-specific/darwin/apple-source-releases/dyld/patches/0002-Provide-startsWith-for-dyld_info.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/common/MachOFile.cpp b/common/MachOFile.cpp -index 3e7b95bcfe..265ae7c475 100644 ---- a/common/MachOFile.cpp -+++ b/common/MachOFile.cpp -@@ -2493,7 +2493,14 @@ - } - #endif // BUILDING_APP_CACHE_UTIL || BUILDING_DYLDINFO - --#if BUILDING_CACHE_BUILDER || BUILDING_CACHE_BUILDER_UNIT_TESTS -+#if BUILDING_DYLDINFO || BUILDING_CACHE_BUILDER || BUILDING_CACHE_BUILDER_UNIT_TESTS -+ -+#if BUILDING_DYLDINFO -+static bool startsWith(const char* buffer, const char* valueToFind) { -+ return strncmp(buffer, valueToFind, strlen(valueToFind)) == 0; -+} -+#endif -+ - static bool platformExcludesPrebuiltClosure_macOS(const char* path) { - // We no longer support ROSP, so skip all paths which start with the special prefix - if ( startsWith(path, "/System/Library/Templates/Data/") ) diff --git a/pkgs/os-specific/darwin/apple-source-releases/dyld/patches/0004-Fix-llvm-op-info-callback-args.patch b/pkgs/os-specific/darwin/apple-source-releases/dyld/patches/0004-Fix-llvm-op-info-callback-args.patch index cc3e0c8729ff..ea18669b09f1 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/dyld/patches/0004-Fix-llvm-op-info-callback-args.patch +++ b/pkgs/os-specific/darwin/apple-source-releases/dyld/patches/0004-Fix-llvm-op-info-callback-args.patch @@ -1,7 +1,7 @@ diff --git a/other-tools/dyld_info.cpp b/other-tools/dyld_info.cpp index 2de4978ba5..2ce27257d9 100644 ---- a/other-tools/dyld_info.cpp -+++ b/other-tools/dyld_info.cpp +--- a/other-tools/SymbolicatedImage.cpp ++++ b/other-tools/SymbolicatedImage.cpp @@ -991,7 +991,7 @@ return ((SymbolicatedImage*)di)->lookupSymbol(referencePC, referenceValue, *referenceType, *referenceName); } diff --git a/pkgs/os-specific/darwin/apple-source-releases/dyld/patches/0007-Fix-missing-writeChainEntry.patch b/pkgs/os-specific/darwin/apple-source-releases/dyld/patches/0007-Fix-missing-writeChainEntry.patch new file mode 100644 index 000000000000..5590f8f5861a --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/dyld/patches/0007-Fix-missing-writeChainEntry.patch @@ -0,0 +1,13 @@ +diff --git a/mach_o/ChainedFixups.h b/mach_o/ChainedFixups.h +index 10ff8847e0..336f80dd81 100644 +--- a/mach_o/ChainedFixups.h ++++ b/mach_o/ChainedFixups.h +@@ -78,7 +78,7 @@ + std::span segOffsetTable, uint32_t pageIndex, uint32_t pageSize, + void (^callback)(const Fixup& f, bool& stop)) const; + virtual Fixup parseChainEntry(const void* loc, const MappedSegment* seg, uint64_t preferedLoadAddress=0, std::span segOffsetTable={}) const = 0; +- virtual void writeChainEntry(const Fixup& fixup, const void* nextLoc, uint64_t preferedLoadAddress, std::span) const; ++ virtual void writeChainEntry(const Fixup& fixup, const void* nextLoc, uint64_t preferedLoadAddress, std::span) const = 0; + + protected: + constexpr PointerFormat() { } diff --git a/pkgs/os-specific/darwin/apple-source-releases/file_cmds/meson.build.in b/pkgs/os-specific/darwin/apple-source-releases/file_cmds/meson.build.in index 638742f978c2..9919a3d90b3a 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/file_cmds/meson.build.in +++ b/pkgs/os-specific/darwin/apple-source-releases/file_cmds/meson.build.in @@ -4,7 +4,10 @@ # Project settings project('file_cmds', 'c', version : '@version@') add_global_arguments( + # These are not defined automatically by Clang. Not having them defined causes compilation failures. '-DTARGET_OS_BRIDGE=0', + '-DTARGET_OS_EXCLAVECORE=0', + '-DTARGET_OS_EXCLAVEKIT=0', language : 'c', ) diff --git a/pkgs/os-specific/darwin/apple-source-releases/file_cmds/package.nix b/pkgs/os-specific/darwin/apple-source-releases/file_cmds/package.nix index 584d2a312a60..160a394b4ba7 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/file_cmds/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/file_cmds/package.nix @@ -53,6 +53,8 @@ let uint64_t xdi_xdtream_obj_id; }; #define APFS_CLEAR_PURGEABLE 0 + #define APFS_PURGEABLE_FLAGS_MASK 0xFFFF + #define APFSIOC_GET_PURGEABLE_FILE_FLAGS _IOR('J', 71, uint64_t) #define APFSIOC_MARK_PURGEABLE _IOWR('J', 68, uint64_t) #define APFSIOC_XDSTREAM_OBJ_ID _IOWR('J', 53, struct xdstream_obj_id) EOF @@ -89,7 +91,7 @@ mkAppleDerivation { "xattr" ]; - xcodeHash = "sha256-u23AoLa7J0eFtf4dXKkVO59eYL2I3kRsHcWPfT03MCU="; + xcodeHash = "sha256-KEZYuaDxLdprF+wGiszUdTXPQBfLNj0xP9Y0uarNjSs="; patches = [ # Fixes build of ls diff --git a/pkgs/os-specific/darwin/apple-source-releases/libffi/package.nix b/pkgs/os-specific/darwin/apple-source-releases/libffi/package.nix index 942f0a26da43..7aefb636900e 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libffi/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libffi/package.nix @@ -23,8 +23,6 @@ mkAppleDerivation (finalAttrs: { ]; patches = [ - # Clang 18 requires that no non-private symbols by defined after cfi_startproc. Apply the upstream libffi fix. - ./patches/llvm-18-compatibility.patch # Fix a memory leak when using the trampoline dylib. See https://github.com/libffi/libffi/pull/621#discussion_r955298301. ./patches/fix-tramponline-memory-leak.patch # Fix automake-18.18 compatibility, https://github.com/libffi/libffi/issues/853#issuecomment-2909994482 diff --git a/pkgs/os-specific/darwin/apple-source-releases/libffi/patches/llvm-18-compatibility.patch b/pkgs/os-specific/darwin/apple-source-releases/libffi/patches/llvm-18-compatibility.patch deleted file mode 100644 index a264d7b76d1b..000000000000 --- a/pkgs/os-specific/darwin/apple-source-releases/libffi/patches/llvm-18-compatibility.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/src/aarch64/sysv.S b/src/aarch64/sysv.S -index eeaf3f8..329889c 100644 ---- a/src/aarch64/sysv.S -+++ b/src/aarch64/sysv.S -@@ -76,8 +76,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - x5 closure - */ - -- cfi_startproc - CNAME(ffi_call_SYSV): -+ cfi_startproc - /* Sign the lr with x1 since that is where it will be stored */ - SIGN_LR_WITH_REG(x1) - -@@ -268,8 +268,8 @@ CNAME(ffi_closure_SYSV_V): - #endif - - .align 4 -- cfi_startproc - CNAME(ffi_closure_SYSV): -+ cfi_startproc - SIGN_LR - stp x29, x30, [sp, #-ffi_closure_SYSV_FS]! - cfi_adjust_cfa_offset (ffi_closure_SYSV_FS) -@@ -500,8 +500,8 @@ CNAME(ffi_go_closure_SYSV_V): - #endif - - .align 4 -- cfi_startproc - CNAME(ffi_go_closure_SYSV): -+ cfi_startproc - stp x29, x30, [sp, #-ffi_closure_SYSV_FS]! - cfi_adjust_cfa_offset (ffi_closure_SYSV_FS) - cfi_rel_offset (x29, 0) diff --git a/pkgs/os-specific/darwin/apple-source-releases/libresolv/meson.build.in b/pkgs/os-specific/darwin/apple-source-releases/libresolv/meson.build.in index 6a7c523a164c..0c1adce503a5 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libresolv/meson.build.in +++ b/pkgs/os-specific/darwin/apple-source-releases/libresolv/meson.build.in @@ -3,6 +3,12 @@ # Project settings project('libresolv', 'c', version : '@version@') +add_project_arguments( + '-DCOMMON_DIGEST_FOR_RFC_1321', # To enable legacy `MD5` APIs in CommonCrypto. + # This is not defined automatically by Clang. Not having them defined causes compilation failures. + '-DTARGET_OS_BRIDGE=0', + language : 'c', +) # Dependencies @@ -20,8 +26,8 @@ libresolv = library( 'dns_async.c', 'dns_util.c', 'dst_api.c', - 'dst_hmac_link.c', - 'dst_support.c', + 'hmac_link.c', + 'mtctxres.c', 'ns_date.c', 'ns_name.c', 'ns_netint.c', @@ -41,15 +47,19 @@ libresolv = library( 'res_query.c', 'res_send.c', 'res_sendsigned.c', + 'res_state.c', 'res_update.c', + 'support.c', ], soversion : '9' ) install_headers( + 'arpa/nameser_compat.h', 'dns.h', 'dns_util.h', 'nameser.h', 'resolv.h', + preserve_path : true, ) install_man( 'resolver.3', diff --git a/pkgs/os-specific/darwin/apple-source-releases/libresolv/package.nix b/pkgs/os-specific/darwin/apple-source-releases/libresolv/package.nix index 158317c22c80..56c38bcece53 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libresolv/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libresolv/package.nix @@ -2,14 +2,31 @@ lib, apple-sdk, mkAppleDerivation, + stdenvNoCC, }: let configd = apple-sdk.sourceRelease "configd"; + dyld = apple-sdk.sourceRelease "dyld"; Libinfo = apple-sdk.sourceRelease "Libinfo"; + Libnotify = apple-sdk.sourceRelease "Libnotify"; + xnu = apple-sdk.sourceRelease "xnu"; # `arpa/nameser_compat.h` is included in the Libc source release instead of libresolv. Libc = apple-sdk.sourceRelease "Libc"; + + privateHeaders = stdenvNoCC.mkDerivation { + name = "libresolv-deps-private-headers"; + + buildCommand = '' + install -D -t "$out/include/mach-o" \ + '${dyld}/include/mach-o/dyld_priv.h' + + substituteInPlace "$out/include/mach-o/dyld_priv.h" \ + --replace-fail ', bridgeos(3.0)' "" \ + --replace-fail '//@VERSION_DEFS@' 'const dyld_build_version_t dyld_2024_SU_E_os_versions = { 1 /* macOS */, 150400 };' + ''; + }; in mkAppleDerivation { releaseName = "libresolv"; @@ -20,19 +37,20 @@ mkAppleDerivation { "man" ]; - xcodeHash = "sha256-yHNa6cpI3T4R/iakeHmL6S/c9p+VpYR4fudv2UXUpnY="; + postPatch = '' + cp ${Libc}/include/arpa/nameser_compat.h arpa/nameser_compat.h - postUnpack = '' - mkdir -p "$sourceRoot/arpa" - ln -s "$NIX_BUILD_TOP/$sourceRoot/nameser.h" "$sourceRoot/arpa/nameser.h" + # Use CommonCrypto’s implementation of MD5. The upstream build appears to use corecrypto, which we can’t use. + substituteInPlace hmac_link.c \ + --replace-fail '' '' ''; - env.NIX_CFLAGS_COMPILE = "-I${configd}/dnsinfo -I${Libinfo}/lookup.subproj"; + xcodeHash = "sha256-Q5jHee9rxge6HJtf9/sFK15FsS02GQmx7L0BBDiyGIs="; + + env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include -I${configd}/dnsinfo -I${Libinfo}/lookup.subproj -I${Libnotify}"; postInstall = '' - mkdir -p "$out/include/arpa" - ln -s ../nameser.h "$out/include/arpa" - cp ${Libc}/include/arpa/nameser_compat.h "$out/include/arpa" + ln -s ../nameser.h "''${!outputDev}/include/arpa" ''; meta = { diff --git a/pkgs/os-specific/darwin/apple-source-releases/libutil/package.nix b/pkgs/os-specific/darwin/apple-source-releases/libutil/package.nix index 95f35054e026..a0afe4511d53 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libutil/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libutil/package.nix @@ -1,5 +1,4 @@ { - apple-sdk_14, copyfile, mkAppleDerivation, }: @@ -15,13 +14,7 @@ mkAppleDerivation { xcodeHash = "sha256-LwR9fmvcdJ/QYlOx+7ffhV4mKvjkwN3rX3+yHSCovKQ="; - patches = [ - # The only change from macOS 13 to 14 was setting this flag. Check at runtime and only set if supported. - ./patches/0001-Conditionally-pre-condition.patch - ]; - buildInputs = [ - (apple-sdk_14.override { enableBootstrap = true; }) copyfile ]; diff --git a/pkgs/os-specific/darwin/apple-source-releases/libutil/patches/0001-Conditionally-pre-condition.patch b/pkgs/os-specific/darwin/apple-source-releases/libutil/patches/0001-Conditionally-pre-condition.patch deleted file mode 100644 index 27f5faee7cda..000000000000 --- a/pkgs/os-specific/darwin/apple-source-releases/libutil/patches/0001-Conditionally-pre-condition.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ca796729722da704e8a9c64c7a201cbe0a9cb9be Mon Sep 17 00:00:00 2001 -From: Randy Eckenrode -Date: Mon, 5 Aug 2024 22:21:47 -0400 -Subject: [PATCH] Conditionally pre-condition - ---- - wipefs.cpp | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/wipefs.cpp b/wipefs.cpp -index d8e6339..6cb7963 100644 ---- a/wipefs.cpp -+++ b/wipefs.cpp -@@ -391,7 +391,9 @@ wipefs_wipe(wipefs_ctx handle) - // Since we always issue a a single extent, set the kIOStorageUnmapOptionWhole - // option flag for drive pre-conditioning. - // -- unmap.options = kIOStorageUnmapOptionWhole; -+ if (__builtin_available(macOS 14.0, *)) { -+ unmap.options = kIOStorageUnmapOptionWhole; -+ } - - // - // Don't bother to check the return value since this is mostly --- -2.44.1 diff --git a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/meson.build.in b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/meson.build.in index f0dc469eb142..926175715775 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/meson.build.in +++ b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/meson.build.in @@ -14,6 +14,10 @@ add_global_arguments( '-DUSE_RFC2292BIS=1', '-D__APPLE_USE_RFC_3542=1', '-D__APPLE_API_OBSOLETE=1', + # Define flexible array member attribute macros as nothing. Unfortunately, Apple’s usage does not work with + # the C23 attributes supported by Clang. + '-D__counted_by_or_null(N)=', + '-D__sized_by_or_null(N)=', language : 'c', ) @@ -23,6 +27,8 @@ cc = meson.get_compiler('c') libipsec = cc.find_library('ipsec') libresolv = cc.find_library('resolv') +libutil = cc.find_library('util') + libpcap = dependency('pcap') openssl = dependency('openssl') @@ -200,7 +206,7 @@ executable( dependencies : [ libnetwork_cmds ], install : true, sources : [ - # 'netstat.tproj/bpf.c', + 'netstat.tproj/bpf.c', 'netstat.tproj/data.c', 'netstat.tproj/if.c', 'netstat.tproj/inet.c', @@ -276,29 +282,31 @@ executable( ) install_man('route.tproj/route.8') -# Depends on a bunch of IPv6 stuff from later SDKs (>11.3). Package once those become the default. -# executable( -# 'rtadvd', -# c_args : [ -# '-DINET6', -# '-DHAVE_GETIFADDRS', -# ], -# install : true, -# sources : [ -# 'rtadvd.tproj/advcap.c', -# 'rtadvd.tproj/config.c', -# 'rtadvd.tproj/dump.c', -# 'rtadvd.tproj/if.c', -# 'rtadvd.tproj/rrenum.c', -# 'rtadvd.tproj/rtadvd.c', -# 'rtadvd.tproj/rtadvd_logging.c', -# 'rtadvd.tproj/timer.c', -# ], -# ) -# install_man( -# 'rtadvd.tproj/rtadvd.8', -# 'rtadvd.tproj/rtadvd.conf.5', -# ) +executable( + 'rtadvd', + c_args : [ + '-DINET6', + '-DHAVE_GETIFADDRS', + # Required for `_COMM_PAGE_CPU_CAPABILITIES` in + '-DPRIVATE', + ], + dependencies : libutil, + install : true, + sources : [ + 'rtadvd.tproj/advcap.c', + 'rtadvd.tproj/config.c', + 'rtadvd.tproj/dump.c', + 'rtadvd.tproj/if.c', + 'rtadvd.tproj/rrenum.c', + 'rtadvd.tproj/rtadvd.c', + 'rtadvd.tproj/rtadvd_logging.c', + 'rtadvd.tproj/timer.c', + ], +) +install_man( + 'rtadvd.tproj/rtadvd.8', + 'rtadvd.tproj/rtadvd.conf.5', +) executable( 'rtsol', diff --git a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/package.nix b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/package.nix index f6bb8f551c9b..ec9d4c32ca1f 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/package.nix @@ -1,9 +1,10 @@ { lib, - apple-sdk, + apple-sdk_15, fetchurl, libpcap, libresolv, + libutil, mkAppleDerivation, openssl, pkg-config, @@ -12,61 +13,7 @@ }: let - # Newer releases of ifconfig use `ioctls` and undocumented APIs newer than 11.x. - # Use files from an older release for now. - old_ifconfig = { - ifconfig = fetchurl { - url = "https://github.com/apple-oss-distributions/network_cmds/raw/2e18102a14ab72b25caf3a5007c92b9f23e723fc/ifconfig.tproj/ifconfig.c"; - hash = "sha256-yuUpdRHRwYLnivuaQuh8HJdLj/8ppq+K1NFqA8Bg+1k="; - }; - af_inet = fetchurl { - url = "https://github.com/apple-oss-distributions/network_cmds/raw/2e18102a14ab72b25caf3a5007c92b9f23e723fc/ifconfig.tproj/af_inet.c"; - hash = "sha256-sqcCEzhTur43DG6Ac/1Rt8Kx0umWhDzlV58t+6FlzNU="; - }; - af_inet6 = fetchurl { - url = "https://github.com/apple-oss-distributions/network_cmds/raw/2e18102a14ab72b25caf3a5007c92b9f23e723fc/ifconfig.tproj/af_inet6.c"; - hash = "sha256-jp0R0Ncwvp9G/lIzKW6wBTAiO8yNyII5c49feTanbIo="; - }; - af_link = fetchurl { - url = "https://github.com/apple-oss-distributions/network_cmds/raw/2e18102a14ab72b25caf3a5007c92b9f23e723fc/ifconfig.tproj/af_link.c"; - hash = "sha256-5rXJg5azy9SjK675Djt4K1PaczsoVjQ/Lls/u5Kk1+A="; - }; - }; - - # Newer releases of netstat use struct members that aren’t present with the 11.x headers. - # Use files from an older release for now. - old_netstat = { - "if.c" = fetchurl { - url = "https://github.com/apple-oss-distributions/network_cmds/raw/2e18102a14ab72b25caf3a5007c92b9f23e723fc/netstat.tproj/if.c"; - hash = "sha256-P87rexLkoV1BCyUghVrkGoG6r9rAoWynfpvlwIj7A40="; - }; - "main.c" = fetchurl { - url = "https://github.com/apple-oss-distributions/network_cmds/raw/2e18102a14ab72b25caf3a5007c92b9f23e723fc/netstat.tproj/main.c"; - hash = "sha256-e3n54l6Wo+G5koMhGMfOTo8+QIkJRurr2fBOjg/nFgI="; - }; - "inet.c" = fetchurl { - url = "https://github.com/apple-oss-distributions/network_cmds/raw/2e18102a14ab72b25caf3a5007c92b9f23e723fc/netstat.tproj/inet.c"; - hash = "sha256-X1+dz+D6xR2Xqoxypjmy65pKBCh4iGVfByJGI0wVGO0="; - }; - "inet6.c" = fetchurl { - url = "https://github.com/apple-oss-distributions/network_cmds/raw/2e18102a14ab72b25caf3a5007c92b9f23e723fc/netstat.tproj/inet6.c"; - hash = "sha256-av5K1UQE3edUbzKN9FIn/DOeibsJaTZc0xJzDu9VZ5Q="; - }; - "netstat.h" = fetchurl { - url = "https://github.com/apple-oss-distributions/network_cmds/raw/2e18102a14ab72b25caf3a5007c92b9f23e723fc/netstat.tproj/netstat.h"; - hash = "sha256-UYi3lmA8G0wRJqVA2NYyMj0yCBUlxu0gMoMYW7NauJg="; - }; - "unix.c" = fetchurl { - url = "https://github.com/apple-oss-distributions/network_cmds/raw/2e18102a14ab72b25caf3a5007c92b9f23e723fc/netstat.tproj/unix.c"; - hash = "sha256-txs/mnR4WK8JAUN3PtqZsp6q2h+nx5VFKxI/itCTBNo="; - }; - "systm.c" = fetchurl { - url = "https://github.com/apple-oss-distributions/network_cmds/raw/2e18102a14ab72b25caf3a5007c92b9f23e723fc/netstat.tproj/systm.c"; - hash = "sha256-bISSIsA6OYfkHNOKB4dj9KNLBHfcelGVzwGiYiVqnRM="; - }; - }; - - xnu = apple-sdk.sourceRelease "xnu"; + xnu = apple-sdk_15.sourceRelease "xnu"; privateHeaders = stdenvNoCC.mkDerivation { name = "network_cmds-deps-private-headers"; @@ -84,27 +31,51 @@ let install -D -t "$out/include" \ '${xnu}/osfmk/kern/cs_blobs.h' - install -D -t "$out/firehose" \ + install -D -t "$out/include/firehose" \ + '${xnu}/libkern/firehose/firehose_types_private.h' \ '${xnu}/libkern/firehose/tracepoint_private.h' + for dir in arm i386 machine; do + mkdir -p "$out/include/$dir" + for file in '${xnu}/osfmk/'$dir/*; do + name=$(basename "$file") + # Skip copying `endian.h` because it conflicts with the SDK, breaking the build on x86_64-darwin. + test "$name" != endian.h && cp -r "$file" "$out/include/$dir/$name" + done + done + install -D -t "$out/include/net" \ + '${xnu}/bsd/net/droptap.h' \ '${xnu}/bsd/net/if_bond_internal.h' \ '${xnu}/bsd/net/if_bond_var.h' \ '${xnu}/bsd/net/if_fake_var.h' \ + '${xnu}/bsd/net/if_mib_private.h' \ + '${xnu}/bsd/net/if_var_private.h' \ '${xnu}/bsd/net/if_vlan_var.h' \ '${xnu}/bsd/net/lacp.h' \ '${xnu}/bsd/net/net_perf.h' mkdir -p "$out/include/net/classq" "$out/include/net/pktsched" + cat < "$out/include/net/bpf.h" + #pragma once + #include_next + #include + $(sed -n \ + -e '/^#define BPF_D_/p' \ + -e '/^struct xbpf_d\s*{/,/^};/p' \ + '${xnu}/bsd/net/bpf.h') + EOF + # IFNET constants are defined as enums, so they have to be pre-processed and grepped from the file. cat < "$out/include/net/if.h" #pragma once #include $(sed \ -e 's/^\s*\(IFNET_[^=]*\)=\s*\([^,]*\),*/#define \1\2/' \ - '${xnu}/bsd/net/if.h' | grep '^#define IFNET_') + '${xnu}/bsd/net/if_private.h' | grep '^#define IFNET_') #include_next #include + typedef void* ifnet_t; #define ifreq ifreq_private $(sed -n \ -e '/^#define IFEF_TXSTART/p' \ @@ -130,10 +101,9 @@ let -e '/^struct if_throttlereq\s*{/,/^};/p' \ -e '/^struct ipv6_prefix\s*{/,/^};/p' \ -e '/^struct ifreq\s*{/,/^};/p' \ - '${xnu}/bsd/net/if.h') + '${xnu}/bsd/net/if_private.h') #undef ifreq EOF - unifdef -x 1 -DPRIVATE -m "$out/include/net/if.h" cat < "$out/include/net/content_filter.h" #pragma once @@ -143,34 +113,26 @@ let cat < "$out/include/net/if_var.h" #pragma once + #include + #define IF_NETEM_MODEL_IOD 2 + #define IF_NETEM_MODEL_FPD 3 #include_next - $(sed -n \ - -e '/^#define IFNAMSIZ\s/p' \ - -e '/^#define IF_NETEM/p' \ - -e '/^struct if_bandwidths\s*{/,/^};/p' \ - -e '/^struct if_data_extended\s*{/,/^};/p' \ - -e '/^struct if_interface_state\s*{/,/^};/p' \ - -e '/^struct if_latencies\s*{/,/^};/p' \ - -e '/^struct if_linkparamsreq\s*{/,/^};/p' \ - -e '/^struct if_netem_params\s*{/,/^};/p' \ - -e '/^struct if_netif_stats\s*{/,/^};/p' \ - -e '/^struct if_packet_stats\s*{/,/^};/p' \ - -e '/^struct if_rxpoll_stats\s*{/,/^};/p' \ - -e '/^struct if_traffic_class\s*{/,/^};/p' \ - '${xnu}/bsd/net/if_var.h') EOF cat < "$out/include/net/route.h" #pragma once #include_next $(sed -n \ + -e '/^#define RTM_/p' \ -e '/^struct rt_msghdr_ext\s*{/,/^};/p' \ -e '/^struct rt_reach_info\s*{/,/^};/p' \ - '${xnu}/bsd/net/route.h') + -e '/^struct rtstat_64\s*{/,/^};/p' \ + '${xnu}/bsd/net/route_private.h') EOF ln -s "$out/include/net/route.h" "$out/include/net/route_private.h" install -D -t "$out/include/netinet" \ + '${xnu}/bsd/netinet/icmp6.h' \ '${xnu}/bsd/netinet/ip_flowid.h' cat < "$out/include/netinet/in.h" @@ -180,7 +142,7 @@ let -e '/^#define _DSCP/p' \ -e '/^#define IP_NO/p' \ -e '/^union sockaddr_in_4_6\s*{/,/^};/p' \ - '${xnu}/bsd/netinet/in.h') + '${xnu}/bsd/netinet/in_private.h') #include EOF @@ -190,7 +152,7 @@ let -e '/^struct tcp_info\s*{/,/^};/p' \ -e '/^struct tcp_conn_status\s*{/,/^};/p' \ -e '/^typedef struct conninfo_tcp\s*{/,/} conninfo_tcp_t;/p' \ - '${xnu}/bsd/netinet/tcp.h') + '${xnu}/bsd/netinet/tcp_private.h') #include_next EOF @@ -202,7 +164,7 @@ let #pragma once $(sed -n \ -e '/^#define IPV6_/p' \ - '${xnu}/bsd/netinet6/in6.h') + '${xnu}/bsd/netinet6/in6_private.h') #include_next EOF @@ -228,6 +190,9 @@ let EOF install -D -t "$out/include/os" \ + '${xnu}/libkern/os/atomic_private.h' \ + '${xnu}/libkern/os/atomic_private_arch.h' \ + '${xnu}/libkern/os/atomic_private_impl.h' \ '${xnu}/libkern/os/log_private.h' declare -a privateHeaders=( @@ -286,25 +251,28 @@ let #pragma once #include #include + $(sed -n \ + -e '/^typedef.*sae_associd_t/p' \ + -e '/^typedef.*sae_connid_t/p' \ + '${xnu}/bsd/sys/socket.h') $(sed -n \ -e '/^#define AF_MULTIPATH\s/p' \ -e '/^#define CIAUX_TCP\s/p' \ -e '/^#define NET_RT_/p' \ -e '/^#define SO_RECV/p' \ -e '/^#define SO_TRAFFIC_CLASS\s/,/^#define SO_TC_MAX/p' \ - -e '/^typedef.*sae_associd_t/p' \ - -e '/^typedef.*sae_connid_t/p' \ -e '/^struct so_aidreq\s*{/,/^};/p' \ -e '/^struct so_cidreq\s*{/,/^};/p' \ -e '/^struct so_cinforeq\s*{/,/^};/p' \ -e '/^struct so_cordreq\s*{/,/^};/p' \ - '${xnu}/bsd/sys/socket.h') + '${xnu}/bsd/sys/socket_private.h') #include_next EOF cat < "$out/include/sys/socketvar.h" #pragma once $(sed -n \ + -e '/^#define SO_STATS_/p' \ -e '/^#define SO_TC_STATS_MAX\s/p' \ -e '/^#define XSO_/p' \ -e '/^struct data_stats\s*{/,/^};/p' \ @@ -312,6 +280,7 @@ let -e '/^struct xsocket_n\s*{/,/^};/p' \ -e '/^struct xsockbuf_n\s*{/,/^};/p' \ -e '/^struct xsockstat_n\s*{/,/^};/p' \ + -e '/^typedef.*so_gen_t;/p' \ '${xnu}/bsd/sys/socketvar.h') #include_next EOF @@ -326,9 +295,11 @@ let -e '/^#define SIOCGIFAGENTDATA\s/p' \ -e '/^#define SIOCGIFAGENTIDS\s/p' \ -e '/^#define SIOCGIFCLAT46ADDR\s/p' \ + -e '/^#define SIOCGIFCONSTRAINED\s/p' \ -e '/^#define SIOCGIFDELEGATE\s/p' \ -e '/^#define SIOCGIFDESC\s/p' \ -e '/^#define SIOCGIFEFLAGS\s/p' \ + -e '/^#define SIOCGIFGENERATIONID\s/p' \ -e '/^#define SIOCGIFGETRTREFCNT\s/p' \ -e '/^#define SIOCGIFINTERFACESTATE\s/p' \ -e '/^#define SIOCGIFLINKPARAMS\s/p' \ @@ -343,20 +314,27 @@ let -e '/^#define SIOCGIFTIMESTAMPENABLED\s/p' \ -e '/^#define SIOCGIFTYPE\s/p' \ -e '/^#define SIOCGIFXFLAGS\s/p' \ + -e '/^#define SIOCGQOSMARKINGENABLED\s/p' \ + -e '/^#define SIOCGQOSMARKINGMODE\s/p' \ -e '/^#define SIOCGSTARTDELAY\s/p' \ -e '/^#define SIOCSECNMODE\s/p' \ -e '/^#define SIOCSETROUTERMODE\s/p' \ -e '/^#define SIOCSFASTLANECAPABLE\s/p' \ -e '/^#define SIOCSFASTLEENABLED\s/p' \ -e '/^#define SIOCSIF2KCL\s/p' \ + -e '/^#define SIOCSIFCONSTRAINED\s/p' \ -e '/^#define SIOCSIFDESC\s/p' \ + -e '/^#define SIOCSIFDISABLEINPUT\s/p' \ -e '/^#define SIOCSIFDISABLEOUTPUT\s/p' \ -e '/^#define SIOCSIFEXPENSIVE\s/p' \ -e '/^#define SIOCSIFINTERFACESTATE\s/p' \ -e '/^#define SIOCSIFLINKPARAMS\s/p' \ -e '/^#define SIOCSIFLOG\s/p' \ -e '/^#define SIOCSIFLOWPOWER\s/p' \ + -e '/^#define SIOCSIFMARKWAKEPKT\s/p' \ -e '/^#define SIOCSIFMPKLOG\s/p' \ + -e '/^#define SIOCSIFNOACKPRIO\s/p' \ + -e '/^#define SIOCSIFNOTRAFFICSHAPING\s/p' \ -e '/^#define SIOCSIFPROBECONNECTIVITY\s/p' \ -e '/^#define SIOCSIFSUBFAMILY\s/p' \ -e '/^#define SIOCSIFTHROTTLE\s/p' \ @@ -364,10 +342,11 @@ let -e '/^#define SIOCSIFTIMESTAMPENABLE\s/p' \ -e '/^#define SIOCSQOSMARKINGENABLED\s/p' \ -e '/^#define SIOCSQOSMARKINGMODE\s/p' \ - '${xnu}/bsd/sys/sockio.h') + '${xnu}/bsd/sys/sockio_private.h') #undef ifreq #include_next EOF + ln -s "$out/include/sys/sockio.h" "$out/include/sys/sockio_private.h" cat < "$out/include/sys/sys_domain.h" #pragma once @@ -388,10 +367,16 @@ let cat < "$out/include/sys/unpcb.h" #pragma once #include_next + #define KERNEL + #ifdef KERNEL + $(sed -n \ + -e '/^struct unpcb_compat\s*{/,/^};/p' \ + '${xnu}/bsd/sys/unpcb.h') + #undef KERNEL $(sed -n \ -e '/^#define xu_addr/p' \ - -e '/^struct xunpcb64_list_entry\s*{/,/^};/p' \ - -e '/^struct xunpcb64\s*{/,/^};/p' \ + -e '/^struct *xunpcb\(64\|_n\)_list_entry\s*{/,/^};/p' \ + -e '/^struct *xunpcb\(64\|_n\)\s*{/,/^};/p' \ '${xnu}/bsd/sys/unpcb.h') ''; }; @@ -404,7 +389,7 @@ mkAppleDerivation { "man" ]; - xcodeHash = "sha256-HkcIvKB4ektuk+3J/Sque8Pr5dMeNFZRlENuiu3KdsA="; + xcodeHash = "sha256-1RJ/s9vnfCGY2Vc2XH8dg8rB+0lwK2IBC7zIx4PuXWQ="; patches = [ # Some private headers depend on corecrypto, which we can’t use. @@ -416,15 +401,6 @@ mkAppleDerivation { # Fix invalid pointer conversion error from trying to pass `NULL` to a `size_t`. substituteInPlace ndp.tproj/ndp.c --replace-fail 'NULL, NULL);' 'NULL, 0);' - # Copy older files that are more compatible with the current SDK. - ${lib.concatLines ( - lib.mapAttrsToList (name: path: "cp '${path}' 'ifconfig.tproj/${name}.c'") old_ifconfig - )} - - ${lib.concatLines ( - lib.mapAttrsToList (name: path: "cp '${path}' 'netstat.tproj/${name}'") old_netstat - )} - # Use private struct ifreq instead of the one defined in the system header. substituteInPlace ifconfig.tproj/ifconfig.c \ --replace-fail $'struct\tifreq' 'struct ifreq' \ @@ -449,6 +425,7 @@ mkAppleDerivation { buildInputs = [ libpcap libresolv + libutil openssl ]; diff --git a/pkgs/os-specific/darwin/apple-source-releases/patch_cmds/package.nix b/pkgs/os-specific/darwin/apple-source-releases/patch_cmds/package.nix index 86eaba2136e5..30f1eef87c27 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/patch_cmds/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/patch_cmds/package.nix @@ -14,7 +14,7 @@ mkAppleDerivation { "man" ]; - xcodeHash = "sha256-FLCJY40l74ExO0WTaA8hb9guhOBXeui2GqWL/7QeJJk="; + xcodeHash = "sha256-Ox8Ii2sUuledUttZ64DaHC0iFlUybs3lNZ23IDeziPM="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/os-specific/darwin/apple-source-releases/removefile/package.nix b/pkgs/os-specific/darwin/apple-source-releases/removefile/package.nix index ab9f28605b5a..2ece68a526a2 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/removefile/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/removefile/package.nix @@ -37,14 +37,7 @@ mkAppleDerivation { "man" ]; - xcodeHash = "sha256-pE92mVI0KTHOVKBA4T5R1rHy5//uipOimas7DaTVe0U="; - - postPatch = '' - # Disable experimental bounds safety stuff that’s not available in LLVM 16. - substituteInPlace removefile.h \ - --replace-fail '__ptrcheck_abi_assume_single()' "" \ - --replace-fail '__unsafe_indexable' "" - ''; + xcodeHash = "sha256-7dNq0nE2MmFM9U+epTrkCoM1lrswm98m3RWuLDsAuDk="; env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include"; diff --git a/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/package.nix b/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/package.nix index f12c88ef2a64..c8a305b61baa 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/package.nix @@ -24,7 +24,7 @@ mkAppleDerivation { "man" ]; - xcodeHash = "sha256-26N7AZV/G+ryc2Nu1v91rEdb1a6jDpnj6t5rzEG2YA4="; + xcodeHash = "sha256-fY8k7qzqqiv/KvGIB4a82qbNsm23QPnGOadrZmNoi54="; postPatch = '' # Fix `mktemp` templates diff --git a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/meson.build.in b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/meson.build.in index f12b3fe41b92..3263cdb2837c 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/meson.build.in +++ b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/meson.build.in @@ -15,9 +15,11 @@ add_project_arguments( '-DPRIVATE=1', # From bsd/sys/private_event.h in xnu '-Dkqueue_id_t=uint64_t', + # These are not defined automatically by Clang. Not having them defined causes compilation failures. + '-DTARGET_OS_EXCLAVECORE=0', + '-DTARGET_OS_EXCLAVEKIT=0', language : 'c', ) -sdk_version = get_option('sdk_version') # Dependencies @@ -39,15 +41,7 @@ dbm = cc.find_library('dbm') ncurses = dependency('ncurses') openbsm = cc.find_library('bsm') pam = cc.find_library('pam') - -# Feature Tests -if sdk_version.version_compare('<12') - add_project_arguments( - '-DIOMainPort=IOMasterPort', - '-DkIOMainPortDefault=kIOMasterPortDefault', - language : 'c' - ) -endif +util = cc.find_library('util') # Generators @@ -278,14 +272,11 @@ executable( executable( 'latency', - build_by_default : sdk_version.version_compare('>=12'), - dependencies : [ ncurses ], - install : sdk_version.version_compare('>=12'), + dependencies : [ util, ncurses ], + install : true, sources : 'latency/latency.c', ) -if sdk_version.version_compare('>=12') - install_man('latency/latency.1') -endif +install_man('latency/latency.1') executable( 'login', @@ -303,27 +294,21 @@ executable( executable( 'lskq', - build_by_default : sdk_version.version_compare('>=12'), - install : sdk_version.version_compare('>=12'), + install : true, sources : 'lskq/lskq.c', ) -if sdk_version.version_compare('>=12') - install_man('lskq/lskq.1') -endif +install_man('lskq/lskq.1') executable( 'lsmp', - build_by_default : sdk_version.version_compare('>=12'), - install : sdk_version.version_compare('>=12'), + install : true, sources : [ 'lsmp/lsmp.c', 'lsmp/port_details.c', 'lsmp/task_details.c' ] ) -if sdk_version.version_compare('>=12') - install_man('lsmp/lsmp.1') -endif +install_man('lsmp/lsmp.1') executable( 'ltop', @@ -469,14 +454,11 @@ install_man('sa/sa.8') executable( 'sc_usage', - build_by_default : sdk_version.version_compare('>=12'), - dependencies : ncurses, - install : sdk_version.version_compare('>=12'), + dependencies : [ncurses, util], + install : true, sources : 'sc_usage/sc_usage.c', ) -if sdk_version.version_compare('>=12') - install_man('sc_usage/sc_usage.1') -endif +install_man('sc_usage/sc_usage.1') executable('shutdown', # Requires IOKitUser kext APIs @@ -599,4 +581,3 @@ executable( sources : 'zprint/zprint.c', ) # install_man('zprint/zprint.1') - diff --git a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/meson.options b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/meson.options deleted file mode 100644 index 8c4ce874c64c..000000000000 --- a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/meson.options +++ /dev/null @@ -1 +0,0 @@ -option('sdk_version', type : 'string') diff --git a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/package.nix b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/package.nix index 5e2b5ea0f834..934213c73bd0 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/package.nix @@ -1,7 +1,9 @@ { lib, + AvailabilityVersions, apple-sdk, - apple-sdk_12, + apple-sdk_15, + libutil, mkAppleDerivation, ncurses, openpam, @@ -13,17 +15,20 @@ let libdispatch = apple-sdk.sourceRelease "libdispatch"; # Has to match the version of the SDK - Libc = apple-sdk_12.sourceRelease "Libc"; - libmalloc = apple-sdk_12.sourceRelease "libmalloc"; - OpenDirectory = apple-sdk_12.sourceRelease "OpenDirectory"; + Libc = apple-sdk.sourceRelease "Libc"; + libmalloc = apple-sdk.sourceRelease "libmalloc"; + OpenDirectory = apple-sdk.sourceRelease "OpenDirectory"; - libplatform = apple-sdk_12.sourceRelease "libplatform"; - xnu = apple-sdk_12.sourceRelease "xnu"; + libplatform = apple-sdk.sourceRelease "libplatform"; + xnu = apple-sdk_15.sourceRelease "xnu"; # Needed for `posix_spawn_secflag_options` privateHeaders = stdenvNoCC.mkDerivation { name = "system_cmds-deps-private-headers"; buildCommand = '' + mkdir -p "$out/include/sys" + '${lib.getExe AvailabilityVersions}' ${lib.getVersion apple-sdk} "$out" + install -D -t "$out/include/CFOpenDirectory" \ '${OpenDirectory}/Core/CFOpenDirectoryPriv.h' \ '${OpenDirectory}/Core/CFODTrigger.h' @@ -43,6 +48,7 @@ let install -D -t "$out/include" \ '${libmalloc}/private/stack_logging.h' \ '${libplatform}/private/_simple.h' \ + '${xnu}/libsyscall/wrappers/libproc/libproc_private.h' \ '${xnu}/libsyscall/wrappers/spawn/spawn_private.h' touch "$out/include/btm.h" @@ -71,13 +77,29 @@ let install -D -t "$out/include/sys" \ '${xnu}/bsd/sys/csr.h' \ + '${xnu}/bsd/sys/event_private.h' \ '${xnu}/bsd/sys/pgo.h' \ + '${xnu}/bsd/sys/kdebug_private.h' \ '${xnu}/bsd/sys/kern_memorystatus.h' \ + '${xnu}/bsd/sys/proc_info_private.h' \ '${xnu}/bsd/sys/reason.h' \ '${xnu}/bsd/sys/resource.h' \ + '${xnu}/bsd/sys/resource_private.h' \ '${xnu}/bsd/sys/spawn_internal.h' \ '${xnu}/bsd/sys/stackshot.h' + cat < "$out/include/sys/kdebug.h" + #pragma once + #include_next + #include + EOF + + cat < "$out/include/sys/proc_info.h" + #pragma once + #include_next + #include + EOF + # Older source releases depend on CrashReporterClient.h, but it’s not publicly available. touch "$out/include/CrashReporterClient.h" ''; @@ -88,12 +110,24 @@ mkAppleDerivation { xcodeHash = "sha256-gdtn3zNIneZKy6+X0mQ51CFVLNM6JQYLbd/lotG5/Tw="; + patches = [ + # `posix_spawnattr_set_use_sec_transition_shims_np` is only available on macOS 15.2 or newer. + # Disable the feature that requires it when running on older systems. + ./patches/conditionalize-security-transition-shims.patch + ]; + postPatch = '' # Replace hard-coded, impure system paths with the output path in the store. sed -e "s|PATH=[^;]*|PATH='$out/bin'|" -i "pagesize/pagesize.sh" # Requires BackgroundTaskManagement.framework headers. sed -e '/ if (os_feature_enabled(cronBTMToggle, cronBTMCheck))/,/ }/d' -i atrun/atrun.c + + # Fix format security errors + for src in latency/latency.c sc_usage/sc_usage.c; do + substituteInPlace $src \ + --replace-fail 'printw(tbuf)' 'printw("%s", tbuf);' + done ''; preConfigure = '' @@ -104,13 +138,12 @@ mkAppleDerivation { buildInputs = [ apple-sdk.privateFrameworksHook + libutil ncurses openpam ]; nativeBuildInputs = [ pkg-config ]; - mesonFlags = [ (lib.mesonOption "sdk_version" stdenv.hostPlatform.darwinSdkVersion) ]; - meta.description = "System commands for Darwin"; } diff --git a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/patches/conditionalize-security-transition-shims.patch b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/patches/conditionalize-security-transition-shims.patch new file mode 100644 index 000000000000..b51f97e2dfc0 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/patches/conditionalize-security-transition-shims.patch @@ -0,0 +1,33 @@ +diff --git a/taskpolicy/taskpolicy.c b/taskpolicy/taskpolicy.c +index b031f944b2..4ad82018ed 100644 +--- a/taskpolicy/taskpolicy.c ++++ b/taskpolicy/taskpolicy.c +@@ -126,7 +126,12 @@ + flag_s = true; + break; + case 'S': +- sec_transition_shims = parse_sec_transition_shims(optarg); ++ if (__builtin_available(macOS 15.2, *)) { ++ sec_transition_shims = parse_sec_transition_shims(optarg); ++ } else { ++ fprintf(stderr, "Running with security transition shims is only supported on macOS 15.2 and newer.\n"); ++ exit(EX_USAGE); ++ } + break; + case '?': + default: +@@ -246,9 +251,11 @@ + if (ret != 0) errc(EX_NOINPUT, ret, "posix_spawnattr_set_darwin_role_np"); + } + +- if (sec_transition_shims) { +- ret = posix_spawnattr_set_use_sec_transition_shims_np(&attr, sec_transition_shims); +- if (ret != 0) errc(EX_NOINPUT, ret, "setting security transition shims"); ++ if (__builtin_available(macOS 15.2, *)) { ++ if (sec_transition_shims) { ++ ret = posix_spawnattr_set_use_sec_transition_shims_np(&attr, sec_transition_shims); ++ if (ret != 0) errc(EX_NOINPUT, ret, "setting security transition shims"); ++ } + } + + ret = posix_spawnp(&pid, argv[0], NULL, &attr, argv, environ); diff --git a/pkgs/os-specific/darwin/apple-source-releases/text_cmds/package.nix b/pkgs/os-specific/darwin/apple-source-releases/text_cmds/package.nix index b640edb096b8..6c71c21c1ee7 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/text_cmds/package.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/text_cmds/package.nix @@ -1,7 +1,6 @@ { lib, apple-sdk, - apple-sdk_13, bzip2, libmd, libresolv, @@ -18,7 +17,6 @@ let Libc = apple-sdk.sourceRelease "Libc"; - Libc_13 = apple-sdk_13.sourceRelease "Libc"; CommonCrypto = apple-sdk.sourceRelease "CommonCrypto"; libplatform = apple-sdk.sourceRelease "libplatform"; @@ -30,7 +28,7 @@ let buildCommand = '' install -D -t "$out/include" \ '${libplatform}/private/_simple.h' \ - '${Libc_13}/include/vis.h' + '${Libc}/include/vis.h' install -D -t "$out/include/os" \ '${Libc}/os/assumes.h' \ '${xnu}/libkern/os/base_private.h' @@ -47,7 +45,7 @@ mkAppleDerivation { "man" ]; - xcodeHash = "sha256-dZ+yJyfflhmUyx3gitRXC115QxS87SGC4/HjMa199Ts="; + xcodeHash = "sha256-4nwDGUBSx5jjeLQ3EGQFdPZE2MfNGcBvlTU/Sye6OIk="; postPatch = '' # Improve compatiblity with libmd in nixpkgs. @@ -60,18 +58,6 @@ mkAppleDerivation { --replace-fail SHA224_CTX SHA2_CTX \ --replace-fail '' '' \ --replace-fail 'const void *, unsigned int, char *' 'const uint8_t *, size_t, char *' - '' - + lib.optionalString (lib.versionOlder (lib.getVersion apple-sdk) "13.0") '' - # Backport vis APIs from the 13.3 SDK (needed by vis). - cp '${Libc_13}/gen/FreeBSD/vis.c' vis/vis-libc.c - # Backport errx APIs from the 13.3 SDK (needed by lots of things). - mkdir sys - cp '${Libc_13}/gen/FreeBSD/err.c' err-libc.c - cp '${Libc_13}/include/err.h' err.h - cp '${Libc_13}/fbsdcompat/sys/cdefs.h' sys/cdefs.h - substituteInPlace err.h \ - --replace-fail '__cold' "" - touch namespace.h un-namespace.h libc_private.h ''; env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include"; diff --git a/pkgs/os-specific/darwin/apple-source-releases/versions.json b/pkgs/os-specific/darwin/apple-source-releases/versions.json index 4081232cd0fb..a80d604e2b83 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/versions.json +++ b/pkgs/os-specific/darwin/apple-source-releases/versions.json @@ -1,27 +1,27 @@ { "AvailabilityVersions": { - "hash": "sha256-PT54BPSRkQiIHrpxZCdjo6XvNuWxESabLndCBYjulfs=", - "version": "143.6" + "hash": "sha256-eQ46qHk4AuHA+hRZq1IG2UtvZr/X2vtlOvi6hnG+FyA=", + "version": "151" }, "Csu": { "hash": "sha256-l8RI8aiin7ovZuoDh54thDmd/b502w+dtjN5ZoISZBg=", "version": "88" }, "ICU": { - "hash": "sha256-7ImBX4SlrFaLnHdQ4bm4F8q9IpHhQMaeVOO6pnnhyzQ=", - "version": "74222.203" + "hash": "sha256-dIgrTjHcQm8dy2Ku5wNIHuPjHfoV+48TM0PNDDn6ZPk=", + "version": "76104.4" }, "IOKitTools": { "hash": "sha256-Oknsvzn4nv77WU7f0WPS446iwR2BM2q4iw46r/qctAE=", "version": "125" }, "PowerManagement": { - "hash": "sha256-APkvbp0FhNrypQcDUuREUYOnNLOZGOKhsj5JLcDgvAU=", - "version": "1740.60.27" + "hash": "sha256-ssg655SPT7gWnJWDaxambMKCopr+vLPYERW0IMKT0T8=", + "version": "1754.140.4" }, "adv_cmds": { - "hash": "sha256-alJOcKeHmIh67ZmN7/YdIouCP/qzakkhimsuZaOkr+c=", - "version": "231" + "hash": "sha256-O+SB8sj3yqPv7GEBQQgvq+Y7kQRZI/i/UVa17J/OhZM=", + "version": "235" }, "basic_cmds": { "hash": "sha256-RQve2GqS9ke9hd8kupRMgoOKalTS229asi5tBGrBmS8=", @@ -29,47 +29,47 @@ }, "bootstrap_cmds": { "hash": "sha256-6JG0sysgqLlgcpIOXfN+F0/gxpIIHZZ5et3gmDBoBGQ=", - "version": "136" + "version": "138" }, "copyfile": { - "hash": "sha256-Vz1fo4p2b6S8xfyDPu1FNgMkH1aX0tkpXCZkdzkRdq0=", - "version": "213.40.2" + "hash": "sha256-hIHlY0prIFY0j8z0Hvlv2psrwLj41jYfKBM0KutLxew=", + "version": "224" }, "developer_cmds": { "hash": "sha256-jgQUjN9zmqi0/7XpqzbRsJjZIYeMrxXT1Zf3qi7+o+8=", "version": "83" }, "diskdev_cmds": { - "hash": "sha256-v3TFHLUlumt/sHxkOTyxDA4iG8ci5ZmMn7HCb4+9Uo0=", - "version": "737.60.1" + "hash": "sha256-TD/sJkzIquTgq1zP/B7eBArxeTcp1Lqa8e8cJ1jnkHU=", + "version": "737.140.4" }, "doc_cmds": { - "hash": "sha256-/Mf+RhaTU9O5i95gddZ2h9eDjLezwj3nP6FvryMF54E=", - "version": "66" + "hash": "sha256-nnwKXKKjgJXcLCArD38Dme2L1WyR1U0rwn7zI+NCftw=", + "version": "69" }, "dyld": { - "hash": "sha256-DDhV7X81nhd3oeJuICEvF8FU43yE/afQ/LYgDNtXswA=", - "version": "1241.17" + "hash": "sha256-pbpSD5OeSMOcMJFAd7kyLINPROjqsafsCSphVGyIPyg=", + "version": "1286.10" }, "file_cmds": { - "hash": "sha256-/79jS//IBZiQBumGA60lKDmddQCzl/r8QnviD6lGXNg=", - "version": "448.0.3" + "hash": "sha256-Rf/XA6uEaj7Wps2s8Oc/OhQVBjz8XiqJlj+cxjiQfQU=", + "version": "457.140.3" }, "libffi": { - "hash": "sha256-YjRMS3H3hIEfQm5MVSxGNTBtFc/9al7iQGDeZy6m/0U=", - "version": "39" + "hash": "sha256-xHefZVsZg9kUXV0t/HLdjPkkD/hn/4bvdRVJ4PsQLeM=", + "version": "40" }, "libiconv": { - "hash": "sha256-eaUp0z7HqX0AW2C90gDVFeiJnmGRxPDuzyb1Jlm1pNc=", - "version": "109" + "hash": "sha256-50DC6LePtvdAh9FLa/esiwCUmYDxKofN6hCiv9+dmgQ=", + "version": "109.100.2" }, "libpcap": { - "hash": "sha256-RViIXv5zP2Bcive5qrcfb9vNWwhSe6fGCaToSgDYNxU=", - "version": "137" + "hash": "sha256-DqINoombdui5N6lNHcZ07c7LrVum4f8fFK89ymdCd0c=", + "version": "140" }, "libresolv": { - "hash": "sha256-ndGcicbHizPazTCB0P3aioDOv7IJPmTOgLnioFHH2+o=", - "version": "83" + "hash": "sha256-GtPVlL1mD58um5hOFd3HQKQ7pqutBe9jZKgQw8pOkPE=", + "version": "91" }, "libutil": { "hash": "sha256-tUsl22Z0HUVSkSoohFXkhicNFCW+RARvpTS0q6yaQFk=", @@ -80,36 +80,36 @@ "version": "38.0.1" }, "misc_cmds": { - "hash": "sha256-qPqcV9d4mKeu9ZD3rt3p5m1p/NyLy6np19ULC6FmnMI=", - "version": "44" + "hash": "sha256-04uBS16nNrg73Fqh4Obev7nQDjTTlY4f5+pEv3i0FIU=", + "version": "45" }, "network_cmds": { - "hash": "sha256-aGBsxdYW21QjTILxcR8tHufQKvkvmai9MKOCxBNZvmI=", - "version": "698.60.4" + "hash": "sha256-sfZX6aA8mspfRKARIYFXX+bmlLHDoi485HQOvbRNP1Y=", + "version": "705.100.5" }, "patch_cmds": { - "hash": "sha256-foIoIMe+zgPISFmE10q4cwEUBhiah4nbD7UtjBumZYU=", - "version": "66" + "hash": "sha256-fDY2NOT3DnU5pm06cHSs+JJcA/EFP8Lxjg7sErUerJ0=", + "version": "72" }, "remote_cmds": { - "hash": "sha256-a5ELSGJSTlyCb3bPdJqYSX320UzIkS2FiHxSpELIgls=", - "version": "303.0.2" + "hash": "sha256-8c/NgQZ+K6jJ3aoYK78/BsEkM1gmRS+9z0437+SvcCw=", + "version": "306" }, "removefile": { - "hash": "sha256-h1jb4DcgDHwi9eiUguc2e5OLP8ZHxCN3B4Myp/DFDBg=", - "version": "75" + "hash": "sha256-Z5UD0mk/s80CQB0PZWDzSl2JWXmnVmwUvlNb28+hR3k=", + "version": "81" }, "shell_cmds": { - "hash": "sha256-bcu9NNS7NW5oc5yrOk+GxZcQo0AP0+mOnph9HhLdRts=", - "version": "319.0.1" + "hash": "sha256-hoMssbZCrmzyJTgEAzOS4L7DhY9z/yXIcvHRhL6W5qc=", + "version": "326" }, "system_cmds": { - "hash": "sha256-9nNJeVJo4XwGSHh+SJydhVt+I8+Rb5hCsPiFYKQ8/28=", - "version": "1012.60.2" + "hash": "sha256-mEo+v0m+aP42XHHwibGKPkT55JFYLTOD5YT5IYQ8Hr0=", + "version": "1026.140.2" }, "text_cmds": { - "hash": "sha256-76dagwRcAf5fpoyH5FDR5kdCldv6Mgre6aFBzxaCRkg=", - "version": "190.0.1" + "hash": "sha256-5BBH/v1mJpExz65VDX6oh3dFCz49E+JMqJxkO96Y/xo=", + "version": "195" }, "top": { "hash": "sha256-e+k/jE49BMZZ24ge9JCa2ct5f1og6ewWb6U5ZMWdIEc=", diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index ed1f723d5ee2..06e713a9dacd 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -69,7 +69,6 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" - "pie" ] ++ lib.optionals enableStatic [ "fortify" ]; diff --git a/pkgs/os-specific/linux/kernel/build.nix b/pkgs/os-specific/linux/kernel/build.nix index 4ec0c63cb761..b52959f681a2 100644 --- a/pkgs/os-specific/linux/kernel/build.nix +++ b/pkgs/os-specific/linux/kernel/build.nix @@ -199,7 +199,6 @@ lib.makeOverridable ( "fortify" "stackprotector" "pic" - "pie" ]; ${if isModular then "outputs" else null} = [ diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix new file mode 100644 index 000000000000..a41ae39b7eac --- /dev/null +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -0,0 +1,604 @@ +{ + lib, + stdenv, + buildPackages, + bc, + bison, + flex, + perl, + rsync, + gmp, + libmpc, + mpfr, + openssl, + cpio, + elfutils, + hexdump, + zstd, + python3Minimal, + zlib, + pahole, + kmod, + ubootTools, + fetchpatch, + rustc-unwrapped, + rust-bindgen-unwrapped, + rustPlatform, +}: + +let + lib_ = lib; + stdenv_ = stdenv; + + readConfig = + configfile: + let + matchLine = + line: + let + match = lib.match "(CONFIG_[^=]+)=([ym])" line; + in + lib.optional (match != null) { + name = lib.elemAt match 0; + value = lib.elemAt match 1; + }; + in + lib.listToAttrs (lib.concatMap matchLine (lib.splitString "\n" (builtins.readFile configfile))); +in +lib.makeOverridable ( + { + # The kernel version + version, + # The kernel pname (should be set for variants) + pname ? "linux", + # Position of the Linux build expression + pos ? null, + # Additional kernel make flags + extraMakeFlags ? [ ], + # The name of the kernel module directory + # Needs to be X.Y.Z[-extra], so pad with zeros if needed. + modDirVersion ? null, # derive from version + # The kernel source (tarball, git checkout, etc.) + src, + # a list of { name=..., patch=..., extraConfig=...} patches + kernelPatches ? [ ], + # The kernel .config file + configfile, + # Manually specified nixexpr representing the config + # If unspecified, this will be autodetected from the .config + config ? lib.optionalAttrs (builtins.isPath configfile || allowImportFromDerivation) ( + readConfig configfile + ), + # Custom seed used for CONFIG_GCC_PLUGIN_RANDSTRUCT if enabled. This is + # automatically extended with extra per-version and per-config values. + randstructSeed ? "", + # Extra meta attributes + extraMeta ? { }, + + # for module compatibility + isZen ? false, + isLibre ? false, + isHardened ? false, + + # Whether to utilize the controversial import-from-derivation feature to parse the config + allowImportFromDerivation ? false, + # ignored + features ? null, + lib ? lib_, + stdenv ? stdenv_, + }: + + let + # Provide defaults. Note that we support `null` so that callers don't need to use optionalAttrs, + # which can lead to unnecessary strictness and infinite recursions. + modDirVersion_ = if modDirVersion == null then lib.versions.pad 3 version else modDirVersion; + in + let + # Shadow the un-defaulted parameter; don't want null. + modDirVersion = modDirVersion_; + inherit (lib) + hasAttr + getAttr + optional + optionals + optionalString + optionalAttrs + maintainers + teams + platforms + ; + + drvAttrs = + config_: kernelConf: kernelPatches: configfile: + let + # Folding in `ubootTools` in the default nativeBuildInputs is problematic, as + # it makes updating U-Boot cumbersome, since it will go above the current + # threshold of rebuilds + # + # To prevent these needless rounds of staging for U-Boot builds, we can + # limit the inclusion of ubootTools to target platforms where uImage *may* + # be produced. + # + # This command lists those (kernel-named) platforms: + # .../linux $ grep -l uImage ./arch/*/Makefile | cut -d'/' -f3 | sort + # + # This is still a guesstimation, but since none of our cached platforms + # coincide in that list, this gives us "perfect" decoupling here. + linuxPlatformsUsingUImage = [ + "arc" + "arm" + "csky" + "mips" + "powerpc" + "sh" + "sparc" + "xtensa" + ]; + needsUbootTools = lib.elem stdenv.hostPlatform.linuxArch linuxPlatformsUsingUImage; + + config = + let + attrName = attr: "CONFIG_" + attr; + in + { + isSet = attr: hasAttr (attrName attr) config; + + getValue = attr: if config.isSet attr then getAttr (attrName attr) config else null; + + isYes = attr: (config.getValue attr) == "y"; + + isNo = attr: (config.getValue attr) == "n"; + + isModule = attr: (config.getValue attr) == "m"; + + isEnabled = attr: (config.isModule attr) || (config.isYes attr); + + isDisabled = attr: (!(config.isSet attr)) || (config.isNo attr); + } + // config_; + + isModular = config.isYes "MODULES"; + withRust = config.isYes "RUST"; + + target = kernelConf.target or "vmlinux"; + + buildDTBs = kernelConf.DTB or false; + + # Dependencies that are required to build kernel modules + moduleBuildDependencies = [ + pahole + perl + elfutils + # module makefiles often run uname commands to find out the kernel version + (buildPackages.deterministic-uname.override { inherit modDirVersion; }) + ] + ++ optional (lib.versionAtLeast version "5.13") zstd + ++ optionals withRust [ + rustc-unwrapped + rust-bindgen-unwrapped + ]; + + in + (optionalAttrs isModular { + outputs = [ + "out" + "dev" + "modules" + ]; + }) + // { + __structuredAttrs = true; + + passthru = rec { + inherit + version + modDirVersion + config + kernelPatches + configfile + moduleBuildDependencies + stdenv + ; + inherit + isZen + isHardened + isLibre + withRust + ; + isXen = lib.warn "The isXen attribute is deprecated. All Nixpkgs kernels that support it now have Xen enabled." true; + baseVersion = lib.head (lib.splitString "-rc" version); + kernelOlder = lib.versionOlder baseVersion; + kernelAtLeast = lib.versionAtLeast baseVersion; + }; + + inherit src; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ + bison + flex + perl + bc + openssl + rsync + gmp + libmpc + mpfr + elfutils + zstd + python3Minimal + kmod + hexdump + ] + ++ optional needsUbootTools ubootTools + ++ optionals (lib.versionAtLeast version "5.2") [ + cpio + pahole + zlib + ] + ++ optionals withRust [ + rustc-unwrapped + rust-bindgen-unwrapped + ]; + + env = { + RUST_LIB_SRC = lib.optionalString withRust rustPlatform.rustLibSrc; + + # avoid leaking Rust source file names into the final binary, which adds + # a false dependency on rust-lib-src on targets with uncompressed kernels + KRUSTFLAGS = lib.optionalString withRust "--remap-path-prefix ${rustPlatform.rustLibSrc}=/"; + }; + + patches = + # kernelPatches can contain config changes and no actual patch + lib.filter (p: p != null) (map (p: p.patch) kernelPatches) + # Required for deterministic builds along with some postPatch magic. + ++ optional (lib.versionOlder version "5.19") ./randstruct-provide-seed.patch + ++ optional (lib.versionAtLeast version "5.19") ./randstruct-provide-seed-5.19.patch + # Linux 5.12 marked certain PowerPC-only symbols as GPL, which breaks + # OpenZFS; this was fixed in Linux 5.19 so we backport the fix + # https://github.com/openzfs/zfs/pull/13367 + ++ + optional + ( + lib.versionAtLeast version "5.12" && lib.versionOlder version "5.19" && stdenv.hostPlatform.isPower + ) + (fetchpatch { + url = "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/patch/?id=d9e5c3e9e75162f845880535957b7fd0b4637d23"; + hash = "sha256-bBOyJcP6jUvozFJU0SPTOf3cmnTQ6ZZ4PlHjiniHXLU="; + }); + + postPatch = '' + # Ensure that depmod gets resolved through PATH + sed -i Makefile -e 's|= /sbin/depmod|= depmod|' + + # Some linux-hardened patches now remove certain files in the scripts directory, so the file may not exist. + [[ -f scripts/ld-version.sh ]] && patchShebangs scripts/ld-version.sh + + # Set randstruct seed to a deterministic but diversified value. Note: + # we could have instead patched gen-random-seed.sh to take input from + # the buildFlags, but that would require also patching the kernel's + # toplevel Makefile to add a variable export. This would be likely to + # cause future patch conflicts. + for file in scripts/gen-randstruct-seed.sh scripts/gcc-plugins/gen-random-seed.sh; do + if [ -f "$file" ]; then + substituteInPlace "$file" \ + --replace NIXOS_RANDSTRUCT_SEED \ + $(echo ${randstructSeed}${src} ${placeholder "configfile"} | sha256sum | cut -d ' ' -f 1 | tr -d '\n') + break + fi + done + + patchShebangs scripts + + # also patch arch-specific install scripts + for i in $(find arch -name install.sh); do + patchShebangs "$i" + done + + # unset $src because the build system tries to use it and spams a bunch of warnings + # see: https://github.com/torvalds/linux/commit/b1992c3772e69a6fd0e3fc81cd4d2820c8b6eca0 + unset src + ''; + + configurePhase = '' + runHook preConfigure + + mkdir build + export buildRoot="$(pwd)/build" + + echo "manual-config configurePhase buildRoot=$buildRoot pwd=$PWD" + + if [ -f "$buildRoot/.config" ]; then + echo "Could not link $buildRoot/.config : file exists" + exit 1 + fi + ln -sv ${configfile} $buildRoot/.config + + # reads the existing .config file and prompts the user for options in + # the current kernel source that are not found in the file. + make "''${makeFlags[@]}" oldconfig + runHook postConfigure + + make "''${makeFlags[@]}" prepare + actualModDirVersion="$(cat $buildRoot/include/config/kernel.release)" + if [ "$actualModDirVersion" != "${modDirVersion}" ]; then + echo "Error: modDirVersion ${modDirVersion} specified in the Nix expression is wrong, it should be: $actualModDirVersion" + exit 1 + fi + + buildFlags+=("KBUILD_BUILD_TIMESTAMP=$(date -u -d @$SOURCE_DATE_EPOCH)") + + cd $buildRoot + ''; + + buildFlags = [ + "KBUILD_BUILD_VERSION=1-NixOS" + target + "vmlinux" # for "perf" and things like that + "scripts_gdb" + ] + ++ optional isModular "modules" + ++ optionals buildDTBs [ + "dtbs" + "DTC_FLAGS=-@" + ] + ++ extraMakeFlags; + + installFlags = [ + "INSTALL_PATH=${placeholder "out"}" + ] + ++ (optional isModular "INSTALL_MOD_PATH=${placeholder "modules"}") + ++ optionals buildDTBs [ + "dtbs_install" + "INSTALL_DTBS_PATH=${placeholder "out"}/dtbs" + ]; + + preInstall = + let + # All we really need to do here is copy the final image and System.map to $out, + # and use the kernel's modules_install, firmware_install, dtbs_install, etc. targets + # for the rest. Easy, right? + # + # Unfortunately for us, the obvious way of getting the built image path, + # make -s image_name, does not work correctly, because some architectures + # (*cough* aarch64 *cough*) change KBUILD_IMAGE on the fly in their install targets, + # so we end up attempting to install the thing we didn't actually build. + # + # Thankfully, there's a way out that doesn't involve just hardcoding everything. + # + # The kernel has an install target, which runs a pretty simple shell script + # (located at scripts/install.sh or arch/$arch/boot/install.sh, depending on + # which kernel version you're looking at) that tries to do something sensible. + # + # (it would be great to hijack this script immediately, as it has all the + # information we need passed to it and we don't need it to try and be smart, + # but unfortunately, the exact location of the scripts differs between kernel + # versions, and they're seemingly not considered to be public API at all) + # + # One of the ways it tries to discover what "something sensible" actually is + # is by delegating to what's supposed to be a user-provided install script + # located at ~/bin/installkernel. + # + # (the other options are: + # - a distribution-specific script at /sbin/installkernel, + # which we can't really create in the sandbox easily + # - an architecture-specific script at arch/$arch/boot/install.sh, + # which attempts to guess _something_ and usually guesses very wrong) + # + # More specifically, the install script exec's into ~/bin/installkernel, if one + # exists, with the following arguments: + # + # $1: $KERNELRELEASE - full kernel version string + # $2: $KBUILD_IMAGE - the final image path + # $3: System.map - path to System.map file, seemingly hardcoded everywhere + # $4: $INSTALL_PATH - path to the destination directory as specified in installFlags + # + # $2 is exactly what we want, so hijack the script and use the knowledge given to it + # by the makefile overlords for our own nefarious ends. + # + # Note that the makefiles specifically look in ~/bin/installkernel, and + # writeShellScriptBin writes the script to /bin/installkernel, + # so HOME needs to be set to just the store path. + # + # FIXME: figure out a less roundabout way of doing this. + installkernel = buildPackages.writeShellScriptBin "installkernel" '' + cp -av $2 $4 + cp -av $3 $4 + ''; + in + '' + installFlags+=("-j$NIX_BUILD_CORES") + export HOME=${installkernel} + ''; + + # Some image types need special install targets (e.g. uImage is installed with make uinstall on arm) + installTargets = [ + (kernelConf.installTarget or ( + if target == "uImage" && stdenv.hostPlatform.linuxArch == "arm" then + "uinstall" + else if + (target == "zImage" || target == "Image.gz" || target == "vmlinuz.efi") + && builtins.elem stdenv.hostPlatform.linuxArch [ + "arm" + "arm64" + "parisc" + "riscv" + ] + then + "zinstall" + else + "install" + ) + ) + ]; + + # We remove a bunch of stuff that is symlinked from other places to save space, + # which trips the broken symlink check. So, just skip it. We'll know if it explodes. + dontCheckForBrokenSymlinks = true; + + postInstall = optionalString isModular '' + mkdir -p $dev + cp vmlinux $dev/ + + mkdir -p $dev/lib/modules/${modDirVersion}/build/scripts + cp -rL ../scripts/gdb/ $dev/lib/modules/${modDirVersion}/build/scripts + + if [ -z "''${dontStrip-}" ]; then + installFlags+=("INSTALL_MOD_STRIP=1") + fi + make modules_install "''${makeFlags[@]}" "''${installFlags[@]}" + unlink $modules/lib/modules/${modDirVersion}/build + + mkdir -p $dev/lib/modules/${modDirVersion}/{build,source} + + # To save space, exclude a bunch of unneeded stuff when copying. + (cd .. && rsync --archive --prune-empty-dirs \ + --exclude='/build/' \ + * $dev/lib/modules/${modDirVersion}/source/) + + cd $dev/lib/modules/${modDirVersion}/source + + cp $buildRoot/{.config,Module.symvers} $dev/lib/modules/${modDirVersion}/build + make modules_prepare "''${makeFlags[@]}" O=$dev/lib/modules/${modDirVersion}/build + + # For reproducibility, removes accidental leftovers from a `cc1` call + # from a `try-run` call from the Makefile + rm -f $dev/lib/modules/${modDirVersion}/build/.[0-9]*.d + + # Keep some extra files on some arches (powerpc, aarch64) + for f in arch/powerpc/lib/crtsavres.o arch/arm64/kernel/ftrace-mod.o; do + if [ -f "$buildRoot/$f" ]; then + mkdir -p "$(dirname $dev/lib/modules/${modDirVersion}/build/$f)" + cp $buildRoot/$f $dev/lib/modules/${modDirVersion}/build/$f + fi + done + + # !!! No documentation on how much of the source tree must be kept + # If/when kernel builds fail due to missing files, you can add + # them here. Note that we may see packages requiring headers + # from drivers/ in the future; it adds 50M to keep all of its + # headers on 3.10 though. + + chmod u+w -R .. + buildArchDir="$dev/lib/modules/${modDirVersion}/build/arch" + + # Remove unused arches + for d in $(cd arch/; ls); do + if [ -d "$buildArchDir/$d" ]; then continue; fi + if [ -d "$buildArchDir/arm64" ] && [ "$d" = arm ]; then continue; fi + rm -rf arch/$d + done + + # Remove all driver-specific code (50M of which is headers) + rm -fR drivers + + # Keep all headers + find . -type f -name '*.h' -print0 | xargs -0 -r chmod u-w + + # Keep linker scripts (they are required for out-of-tree modules on aarch64) + find . -type f -name '*.lds' -print0 | xargs -0 -r chmod u-w + + # Keep root and arch-specific Makefiles + chmod u-w Makefile arch/*/Makefile* + + # Keep whole scripts dir + chmod u-w -R scripts + + # Delete everything not kept + find . -type f -perm -u=w -print0 | xargs -0 -r rm + + # Delete empty directories + find -empty -type d -delete + ''; + + requiredSystemFeatures = [ "big-parallel" ]; + + meta = { + # https://github.com/NixOS/nixpkgs/pull/345534#issuecomment-2391238381 + broken = withRust && lib.versionOlder version "6.12"; + + description = + "The Linux kernel" + + ( + if kernelPatches == [ ] then + "" + else + " (with patches: " + lib.concatStringsSep ", " (map (x: x.name) kernelPatches) + ")" + ); + license = lib.licenses.gpl2Only; + homepage = "https://www.kernel.org/"; + maintainers = [ maintainers.thoughtpolice ]; + teams = [ teams.linux-kernel ]; + platforms = platforms.linux; + badPlatforms = + lib.optionals (lib.versionOlder version "4.15") [ + "riscv32-linux" + "riscv64-linux" + ] + ++ lib.optional (lib.versionOlder version "5.19") "loongarch64-linux"; + timeout = 14400; # 4 hours + identifiers.cpeParts = { + part = "o"; + vendor = "linux"; + product = "linux_kernel"; + inherit version; + update = "*"; + }; + } + // extraMeta; + }; + + commonMakeFlags = import ./common-flags.nix { + inherit + lib + stdenv + buildPackages + extraMakeFlags + ; + }; + in + + stdenv.mkDerivation ( + builtins.foldl' lib.recursiveUpdate { } [ + (drvAttrs config stdenv.hostPlatform.linux-kernel kernelPatches configfile) + { + inherit pname version; + + enableParallelBuilding = true; + + hardeningDisable = [ + "bindnow" + "format" + "fortify" + "stackprotector" + "pic" + ]; + + makeFlags = [ + "O=$(buildRoot)" + + # We have a `modules` variable in the environment for our + # split output, but the kernel Makefiles also define their + # own `modules` variable. Their definition wins, but Make + # remembers that the variable was originally from the + # environment and exports it to all the build recipes. This + # breaks the build with an “Argument list too long” error due + # to passing the huge list of every module object file in the + # environment of every process invoked by every build recipe. + # + # We use `--eval` here to undefine the inherited environment + # variable before any Makefiles are read, ensuring that the + # kernel’s definition creates a new, unexported variable. + "--eval=undefine modules" + ] + ++ commonMakeFlags; + + passthru = { inherit commonMakeFlags; }; + + karch = stdenv.hostPlatform.linuxArch; + } + (optionalAttrs (pos != null) { inherit pos; }) + ] + ) +) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 964ebdf07d2b..0aa8ce5a68c7 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -163,6 +163,7 @@ # on their live NixOS system, we disable it by default. withKernelInstall ? false, withLibarchive ? true, + withVConsole ? true, # tests assume too much system access for them to be feasible for us right now withTests ? false, # build only libudev and libsystemd @@ -202,15 +203,13 @@ let in stdenv.mkDerivation (finalAttrs: { inherit pname; - version = "258"; + version = "258.1"; - # We use systemd/systemd-stable for src, and ship NixOS-specific patches inside nixpkgs directly - # This has proven to be less error-prone than the previous systemd fork. src = fetchFromGitHub { owner = "systemd"; repo = "systemd"; rev = "v${finalAttrs.version}"; - hash = "sha256-xtGZaVNsBNxkidgfVBu8xtvj0SxpY6OyJCUE+gq59qE="; + hash = "sha256-LA+6/d9W3CxK0G2sXsPHM4BVLf8IzsWW6IxJFby6/JU="; }; # On major changes, or when otherwise required, you *must* : @@ -224,14 +223,12 @@ stdenv.mkDerivation (finalAttrs: { patches = [ # https://github.com/systemd/systemd/pull/39094 (fetchpatch { - url = "https://github.com/systemd/systemd/commit/0f44a6c64aebc64a0611a605831206afee9cb730.patch"; - hash = "sha256-DO6q17mE2U8iLezMYt4PX5Ror20N1gCrUbXeQmrW1is="; + url = "https://github.com/systemd/systemd/commit/8b4ee3d68d2e70d9a396b74d155eab3b11763311.patch"; + hash = "sha256-JJDaSHQjd1QZ18CQHq40viB0AF/0MiescmZUcc/6LDg="; }) - - # https://github.com/systemd/systemd/pull/39069 (fetchpatch { - url = "https://github.com/systemd/systemd/commit/b5fdfedf729712b9824a5cb457a07d5699d2946c.patch"; - hash = "sha256-0SvAn9Dl4z80PRIvDbIVIjKp5DsT/IUoHa5IiH1HHFY="; + url = "https://github.com/systemd/systemd/commit/13b0e7fc6d2623800ba04b104f3b628388c9f5e6.patch"; + hash = "sha256-X+tY3NjfRJpF6wvd++xEps0DIFTbX/6Zw9oO4Y9FmNI="; }) ./0001-Start-device-units-for-uninitialised-encrypted-devic.patch @@ -328,17 +325,13 @@ stdenv.mkDerivation (finalAttrs: { separateDebugInfo = true; __structuredAttrs = true; - hardeningDisable = [ - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111523 - "trivialautovarinit" - ] - ++ (lib.optionals withLibBPF [ + hardeningDisable = lib.optionals withLibBPF [ # breaks clang -target bpf; should be fixed to not use # a wrapped clang? "zerocallusedregs" "shadowstack" "pacret" - ]); + ]; nativeBuildInputs = [ pkg-config @@ -447,7 +440,6 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonOption "tty-gid" "3") # tty in NixOS has gid 3 (lib.mesonOption "pamconfdir" "${placeholder "out"}/etc/pam.d") (lib.mesonOption "shellprofiledir" "${placeholder "out"}/etc/profile.d") - (lib.mesonOption "kmod-path" "${kmod}/bin/kmod") # /bin/sh is also the upstream default. Explicitly set this so that we're # independent of upstream changes to the default. @@ -468,10 +460,6 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonOption "pkgconfiglibdir" "${placeholder "dev"}/lib/pkgconfig") (lib.mesonOption "pkgconfigdatadir" "${placeholder "dev"}/share/pkgconfig") - # Keyboard - (lib.mesonOption "loadkeys-path" "${kbd}/bin/loadkeys") - (lib.mesonOption "setfont-path" "${kbd}/bin/setfont") - # SBAT (lib.mesonOption "sbat-distro" "nixos") (lib.mesonOption "sbat-distro-summary" "NixOS") @@ -488,8 +476,8 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonOption "sysvrcnd-path" "") # Login - (lib.mesonOption "sulogin-path" "${util-linux.login}/bin/sulogin") - (lib.mesonOption "nologin-path" "${util-linux.login}/bin/nologin") + (lib.mesonOption "sulogin-path" "${lib.getOutput "login" util-linux}/bin/sulogin") + (lib.mesonOption "nologin-path" "${lib.getOutput "login" util-linux}/bin/nologin") # Mount (lib.mesonOption "mount-path" "${lib.getOutput "mount" util-linux}/bin/mount") @@ -573,6 +561,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonEnable "man" true) (lib.mesonEnable "nspawn" withNspawn) + (lib.mesonBool "vconsole" withVConsole) (lib.mesonBool "analyze" withAnalyze) (lib.mesonBool "logind" withLogind) (lib.mesonBool "localed" withLocaled) @@ -599,7 +588,13 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonBool "create-log-dirs" false) (lib.mesonBool "smack" true) (lib.mesonBool "b_pie" true) - + ] + ++ lib.optionals withVConsole [ + (lib.mesonOption "loadkeys-path" "${kbd}/bin/loadkeys") + (lib.mesonOption "setfont-path" "${kbd}/bin/setfont") + ] + ++ lib.optionals withKmod [ + (lib.mesonOption "kmod-path" "${kmod}/bin/kmod") ] ++ lib.optionals (withShellCompletions == false) [ (lib.mesonOption "bashcompletiondir" "no") @@ -857,11 +852,7 @@ stdenv.mkDerivation (finalAttrs: { # Avoid *.EFI binary stripping. # At least on aarch64-linux strip removes too much from PE32+ files: # https://github.com/NixOS/nixpkgs/issues/169693 - # The hack is to move EFI file out of lib/ before doStrip run and return it - # after doStrip run. - preFixup = lib.optionalString withBootloader '' - mv $out/lib/systemd/boot/efi $out/dont-strip-me - ''; + stripExclude = [ "lib/systemd/boot/efi/*" ]; # Wrap in the correct path for LUKS2 tokens. postFixup = @@ -871,9 +862,6 @@ stdenv.mkDerivation (finalAttrs: { wrapProgram $out/$f --prefix LD_LIBRARY_PATH : ${placeholder "out"}/lib/cryptsetup done '' - + lib.optionalString withBootloader '' - mv $out/dont-strip-me $out/lib/systemd/boot/efi - '' + lib.optionalString withUkify '' # To cross compile a derivation that builds a UKI with ukify, we need to wrap # ukify with the correct binutils. When wrapping, no splicing happens so we diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix index 9e3eaa8548cd..e3964c40f03d 100644 --- a/pkgs/servers/http/nginx/generic.nix +++ b/pkgs/servers/http/nginx/generic.nix @@ -254,8 +254,6 @@ stdenv.mkDerivation { --replace-fail '@nixStoreDirLen@' "''${#NIX_STORE}" '' postPatch; - hardeningEnable = lib.optional (!stdenv.hostPlatform.isDarwin) "pie"; - enableParallelBuilding = true; preInstall = '' diff --git a/pkgs/servers/http/tengine/default.nix b/pkgs/servers/http/tengine/default.nix index 5a856b21c541..f949284f808d 100644 --- a/pkgs/servers/http/tengine/default.nix +++ b/pkgs/servers/http/tengine/default.nix @@ -137,8 +137,6 @@ stdenv.mkDerivation rec { preConfigure = (lib.concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules); - hardeningEnable = optional (!stdenv.hostPlatform.isDarwin) "pie"; - enableParallelBuilding = true; postInstall = '' diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix index 64ae1151400e..48b422fd72c7 100644 --- a/pkgs/servers/minio/default.nix +++ b/pkgs/servers/minio/default.nix @@ -30,16 +30,16 @@ let in buildGoModule rec { pname = "minio"; - version = "2025-09-07T16-13-09Z"; + version = "2025-10-15T17-29-55Z"; src = fetchFromGitHub { owner = "minio"; repo = "minio"; rev = "RELEASE.${version}"; - hash = "sha256-0IVxxeM+h3josP+wnS3q4Nrmd3fT9V+KlHxlwz3QyIQ="; + hash = "sha256-HbjmCJYkWyRRHKriLP6QohaXYLk3QEVfi32Krq3ujjo="; }; - vendorHash = "sha256-JrDLUVGtwYqwwB+Suutewi6snHyIpG3DOnDn5O0C+L0="; + vendorHash = "sha256-BFnTJE9QFWmPsx90hDTG8MusdnwaBPYJxM5bCFk3hew="; doCheck = false; diff --git a/pkgs/servers/nosql/mongodb/mongodb.nix b/pkgs/servers/nosql/mongodb/mongodb.nix index 985dbda33bdf..f532e9b09322 100644 --- a/pkgs/servers/nosql/mongodb/mongodb.nix +++ b/pkgs/servers/nosql/mongodb/mongodb.nix @@ -169,8 +169,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - hardeningEnable = [ "pie" ]; - meta = with lib; { description = "Scalable, high-performance, open source NoSQL database"; homepage = "http://www.mongodb.org"; diff --git a/pkgs/servers/sql/postgresql/libpq.nix b/pkgs/servers/sql/postgresql/libpq.nix index 3048e467397b..79cb7e76360f 100644 --- a/pkgs/servers/sql/postgresql/libpq.nix +++ b/pkgs/servers/sql/postgresql/libpq.nix @@ -52,8 +52,6 @@ stdenv.mkDerivation (finalAttrs: { __structuredAttrs = true; - hardeningEnable = lib.optionals (!stdenv.cc.isClang) [ "pie" ]; - outputs = [ "out" "dev" diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index dcd8341ee0fd..61db87acd555 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -3352,11 +3352,11 @@ self: with self; { }: stdenv.mkDerivation (finalAttrs: { pname = "xorg-server"; - version = "21.1.18"; + version = "21.1.20"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/xserver/xorg-server-21.1.18.tar.xz"; - sha256 = "0lk3268gzpll547zvaa64rdhs4z89d7w567lbd55swl71n9x2y68"; + url = "mirror://xorg/individual/xserver/xorg-server-21.1.20.tar.xz"; + sha256 = "sha256-dpW8YYJLOoG2utL3iwVADKAVAD3kAtGzIhFxBbcC6Tc="; }; hardeningDisable = [ "bindnow" diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list index 5307be640d4b..33aa31bf7c8d 100644 --- a/pkgs/servers/x11/xorg/tarballs.list +++ b/pkgs/servers/x11/xorg/tarballs.list @@ -77,4 +77,4 @@ mirror://xorg/individual/font/font-jis-misc-1.0.4.tar.xz mirror://xorg/individual/font/font-misc-meltho-1.0.4.tar.xz mirror://xorg/individual/font/font-misc-misc-1.1.3.tar.xz mirror://xorg/individual/lib/libXTrap-1.0.1.tar.bz2 -mirror://xorg/individual/xserver/xorg-server-21.1.18.tar.xz +mirror://xorg/individual/xserver/xorg-server-21.1.20.tar.xz diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index d00df6ff4139..24c1287b8744 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -151,10 +151,11 @@ let "nostrictaliasing" "pacret" "pic" - "pie" "relro" "stackprotector" "glibcxxassertions" + "libcxxhardeningfast" + "libcxxhardeningextensive" "stackclashprotection" "strictoverflow" "trivialautovarinit" @@ -227,14 +228,7 @@ let canExecuteHostOnBuild = buildPlatform.canExecute hostPlatform; defaultHardeningFlags = - (if stdenvHasCC then stdenv.cc else { }).defaultHardeningFlags or - # fallback safe-ish set of flags - ( - if isOpenBSD && isStatic then - knownHardeningFlags # Need pie, in fact - else - remove "pie" knownHardeningFlags - ); + (if stdenvHasCC then stdenv.cc else { }).defaultHardeningFlags or knownHardeningFlags; stdenvHostSuffix = optionalString (hostPlatform != buildPlatform) "-${hostPlatform.config}"; stdenvStaticMarker = optionalString isStatic "-static"; userHook = config.stdenv.userHook or null; @@ -434,6 +428,8 @@ let (concretizeFlagImplications "fortify" [ "fortify3" ]) # disabling strictflexarrays1 implies strictflexarrays3 should also be disabled (concretizeFlagImplications "strictflexarrays1" [ "strictflexarrays3" ]) + # disabling libcxxhardeningfast implies libcxxhardeningextensive should also be disabled + (concretizeFlagImplications "libcxxhardeningfast" [ "libcxxhardeningextensive" ]) ] ); enabledHardeningOptions = @@ -442,7 +438,7 @@ let else subtractLists hardeningDisable' (defaultHardeningFlags ++ hardeningEnable); # hardeningDisable additionally supports "all". - erroneousHardeningFlags = subtractLists knownHardeningFlags ( + erroneousHardeningFlags = subtractLists (knownHardeningFlags ++ [ "pie" ]) ( hardeningEnable ++ remove "all" hardeningDisable ); @@ -640,7 +636,9 @@ let else null } = - builtins.concatStringsSep " " enabledHardeningOptions; + lib.warnIf ((builtins.elem "pie" hardeningEnable) || (builtins.elem "pie" hardeningDisable)) + "The 'pie' hardening flag has been removed in favor of enabling PIE by default in compilers and should no longer be used. PIE can be disabled with the -no-pie compiler flag, but this is usually not necessary as most build systems pass this if needed. Usage of the 'pie' hardening flag will become an error in future." + (builtins.concatStringsSep " " enabledHardeningOptions); # TODO: remove platform condition # Enabling this check could be a breaking change as it requires to edit nix.conf diff --git a/pkgs/test/cc-wrapper/default.nix b/pkgs/test/cc-wrapper/default.nix index 8d1bdbf3fed1..9dc3413f0e04 100644 --- a/pkgs/test/cc-wrapper/default.nix +++ b/pkgs/test/cc-wrapper/default.nix @@ -116,6 +116,16 @@ stdenv.mkDerivation { '' } + ${ + # Check whether fuse-ld=gold works on our GNU toolchain + # Regression test for https://github.com/NixOS/nixpkgs/issues/49071 + lib.optionalString stdenv.cc.isGNU '' + echo "checking whether compiler builds valid C binaries... " >&2 + CFLAGS="-fuse-ld=gold" ${CC} -o cc-check ${./cc-main.c} + ${emulator} ./cc-check + '' + } + echo "checking whether compiler uses NIX_CFLAGS_COMPILE... " >&2 mkdir -p foo/include cp ${./foo.c} foo/include/foo.h diff --git a/pkgs/test/cc-wrapper/hardening.nix b/pkgs/test/cc-wrapper/hardening.nix index f3e8d38d0ee8..fae8d72c2989 100644 --- a/pkgs/test/cc-wrapper/hardening.nix +++ b/pkgs/test/cc-wrapper/hardening.nix @@ -31,8 +31,8 @@ let [ -n "$preBuild" ] && eval "$preBuild" n=$out/bin/test-bin mkdir -p "$(dirname "$n")" - cp "$codePath" code.c - NIX_DEBUG=1 $CC -x c code.c -O1 $TEST_EXTRA_FLAGS -o "$n" + cp "$codePath" . + NIX_DEBUG=1 $CC -x ''${TEST_SOURCE_LANG:-c} "$(basename $codePath)" -O1 $TEST_EXTRA_FLAGS -o "$n" ''; f1exampleWithStdEnv = writeCBinWithStdenv ./fortify1-example.c; @@ -41,15 +41,60 @@ let flexArrF2ExampleWithStdEnv = writeCBinWithStdenv ./flex-arrays-fortify-example.c; + # we don't really have a reliable property for testing for + # libstdc++ we'll just have to check for the absence of libcxx checkGlibcxxassertionsWithStdEnv = - expectDefined: - writeCBinWithStdenv ( - writeText "main.cpp" '' - #if${if expectDefined then "n" else ""}def _GLIBCXX_ASSERTIONS - #error "Expected _GLIBCXX_ASSERTIONS to be ${if expectDefined then "" else "un"}defined" - #endif - int main() {} - '' + expectDefined: stdenv': derivationArgs: + brokenIf (stdenv.cc.libcxx != null) ( + writeCBinWithStdenv + (writeText "main.cpp" '' + #if${if expectDefined then "n" else ""}def _GLIBCXX_ASSERTIONS + #error "Expected _GLIBCXX_ASSERTIONS to be ${if expectDefined then "" else "un"}defined" + #endif + int main() {} + '') + stdenv' + ( + derivationArgs + // { + env = (derivationArgs.env or { }) // { + TEST_SOURCE_LANG = derivationArgs.env.TEST_SOURCE_LANG or "c++"; + }; + } + ) + ); + + checkLibcxxHardeningWithStdEnv = + expectValue: stdenv': env: + brokenIf (stdenv.cc.libcxx == null) ( + writeCBinWithStdenv + (writeText "main.cpp" ( + '' + #include + #ifndef _LIBCPP_HARDENING_MODE + #error "Expected _LIBCPP_HARDENING_MODE to be defined" + #endif + #ifndef ${expectValue} + #error "Expected ${expectValue} to be defined" + #endif + + #if _LIBCPP_HARDENING_MODE != ${expectValue} + #error "Expected _LIBCPP_HARDENING_MODE to equal ${expectValue}" + #endif + '' + + '' + int main() {} + '' + )) + stdenv' + ( + env + // { + env = (env.env or { }) // { + TEST_SOURCE_LANG = env.env.TEST_SOURCE_LANG or "c++"; + }; + } + ) ); # for when we need a slightly more complicated program @@ -455,25 +500,10 @@ nameDrvAfterAttrName ( ) ); - pieExplicitEnabled = brokenIf stdenv.hostPlatform.isStatic ( - checkTestBin - (f2exampleWithStdEnv stdenv { - hardeningEnable = [ "pie" ]; - }) - { - ignorePie = false; - } - ); - - pieExplicitEnabledStructuredAttrs = brokenIf stdenv.hostPlatform.isStatic ( - checkTestBin - (f2exampleWithStdEnv stdenv { - hardeningEnable = [ "pie" ]; - __structuredAttrs = true; - }) - { - ignorePie = false; - } + pieAlwaysEnabled = brokenIf stdenv.hostPlatform.isStatic ( + checkTestBin (f2exampleWithStdEnv stdenv { }) { + ignorePie = false; + } ); relROExplicitEnabled = @@ -662,22 +692,10 @@ nameDrvAfterAttrName ( ) ); - pieExplicitDisabled = brokenIf (stdenv.hostPlatform.isMusl && stdenv.cc.isClang) ( - checkTestBin - (f2exampleWithStdEnv stdenv { - hardeningDisable = [ "pie" ]; - }) - { - ignorePie = false; - expectFailure = true; - } - ); - # can't force-disable ("partial"?) relro relROExplicitDisabled = brokenIf true ( checkTestBin (f2exampleWithStdEnv stdenv { - hardeningDisable = [ "pie" ]; }) { ignoreRelRO = false; @@ -717,6 +735,48 @@ nameDrvAfterAttrName ( hardeningDisable = [ "glibcxxassertions" ]; }; + lchFastExplicitDisabled = checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_NONE" stdenv { + hardeningDisable = [ "libcxxhardeningfast" ]; + }; + + lchExtensiveExplicitEnabled = + checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_EXTENSIVE" stdenv + { + hardeningEnable = [ "libcxxhardeningextensive" ]; + }; + + lchExtensiveExplicitDisabledDoesntDisableLchFast = + checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_FAST" stdenv + { + hardeningEnable = [ "libcxxhardeningfast" ]; + hardeningDisable = [ "libcxxhardeningextensive" ]; + }; + + lchFastExplicitDisabledDisablesLchExtensive = + checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_NONE" stdenv + { + hardeningEnable = [ "libcxxhardeningextensive" ]; + hardeningDisable = [ "libcxxhardeningfast" ]; + }; + + lchFastExtensiveExplicitEnabledResultsInLchExtensive = + checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_EXTENSIVE" stdenv + { + hardeningEnable = [ + "libcxxhardeningfast" + "libcxxhardeningextensive" + ]; + }; + + lchFastExtensiveExplicitDisabledDisablesBoth = + checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_NONE" stdenv + { + hardeningDisable = [ + "libcxxhardeningfast" + "libcxxhardeningextensive" + ]; + }; + # most flags can't be "unsupported" by compiler alone and # binutils doesn't have an accessible hardeningUnsupportedFlags # mechanism, so can only test a couple of flags through altered @@ -923,6 +983,30 @@ nameDrvAfterAttrName ( hardeningEnable = [ "glibcxxassertions" ]; }; + lchFastStdenvUnsupp = + checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_NONE" + (stdenvUnsupport [ "libcxxhardeningfast" ]) + { + hardeningEnable = [ "libcxxhardeningfast" ]; + }; + + lchFastStdenvUnsuppUnsupportsLchExtensive = + checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_NONE" + (stdenvUnsupport [ "libcxxhardeningfast" ]) + { + hardeningEnable = [ "libcxxhardeningextensive" ]; + }; + + lchExtensiveStdenvUnsuppDoesntUnsupportLchFast = + checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_FAST" + (stdenvUnsupport [ "libcxxhardeningextensive" ]) + { + hardeningEnable = [ + "libcxxhardeningfast" + "libcxxhardeningextensive" + ]; + }; + fortify3EnabledEnvEnablesFortify1 = checkTestBin (f1exampleWithStdEnv stdenv { @@ -1018,6 +1102,38 @@ nameDrvAfterAttrName ( expectFailure = true; }; + lchFastEnabledEnv = checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_FAST" stdenv { + hardeningDisable = [ + "libcxxhardeningfast" + "libcxxhardeningextensive" + ]; + postConfigure = '' + export NIX_HARDENING_ENABLE="libcxxhardeningfast" + ''; + }; + + lchExtensiveEnabledEnv = checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_EXTENSIVE" stdenv { + hardeningDisable = [ + "libcxxhardeningfast" + "libcxxhardeningextensive" + ]; + postConfigure = '' + export NIX_HARDENING_ENABLE="libcxxhardeningextensive" + ''; + }; + + lchFastExtensiveEnabledEnvResultsInLchExtensive = + checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_EXTENSIVE" stdenv + { + hardeningDisable = [ + "libcxxhardeningfast" + "libcxxhardeningextensive" + ]; + postConfigure = '' + export NIX_HARDENING_ENABLE="libcxxhardeningextensive libcxxhardeningfast" + ''; + }; + # NIX_HARDENING_ENABLE can't enable an unsupported feature stackProtectorUnsupportedEnabledEnv = checkTestBin @@ -1085,7 +1201,6 @@ nameDrvAfterAttrName ( hardeningDisable = [ "all" ]; hardeningEnable = [ "fortify" - "pie" ]; }; in @@ -1101,13 +1216,6 @@ nameDrvAfterAttrName ( expectFailure = true; }; - allExplicitDisabledPie = brokenIf (stdenv.hostPlatform.isMusl && stdenv.cc.isClang) ( - checkTestBin tb { - ignorePie = false; - expectFailure = true; - } - ); - # can't force-disable ("partial"?) relro allExplicitDisabledRelRO = brokenIf true ( checkTestBin tb { @@ -1134,9 +1242,15 @@ nameDrvAfterAttrName ( hardeningDisable = [ "all" ]; }) true; - glibcxxassertionsExplicitDisabled = checkGlibcxxassertionsWithStdEnv false stdenv { + allExplicitDisabledGlibcxxAssertions = checkGlibcxxassertionsWithStdEnv false stdenv { hardeningDisable = [ "all" ]; }; + + allExplicitDisabledLibcxxHardening = + checkLibcxxHardeningWithStdEnv "_LIBCPP_HARDENING_MODE_NONE" stdenv + { + hardeningDisable = [ "all" ]; + }; } ) ) diff --git a/pkgs/test/haskell/upstreamStackHpackVersion/default.nix b/pkgs/test/haskell/upstreamStackHpackVersion/default.nix index 5092bb473049..5b7a7ff724b5 100644 --- a/pkgs/test/haskell/upstreamStackHpackVersion/default.nix +++ b/pkgs/test/haskell/upstreamStackHpackVersion/default.nix @@ -5,7 +5,8 @@ # matches with the version of hpack used by the upstream stack release. This # is because hpack works slightly differently based on the version, and it can # be frustrating to use hpack in a team setting when members are using different -# versions. See for more info: https://github.com/NixOS/nixpkgs/issues/223390 +# versions. See for more info: +# https://github.com/NixOS/nixpkgs/issues/223390 krank:ignore-line # # This test is written as a fixed-output derivation, because we need to access # accesses the internet to download the upstream stack release. diff --git a/pkgs/tools/misc/fffuu/default.nix b/pkgs/tools/misc/fffuu/default.nix index 2b6172d852fc..9a9d57f15425 100644 --- a/pkgs/tools/misc/fffuu/default.nix +++ b/pkgs/tools/misc/fffuu/default.nix @@ -16,17 +16,17 @@ mkDerivation { sha256 = "1qc7p44dqja6qrjbjdc2xn7n9v41j5v59sgjnxjj5k0mxp58y1ch"; }; + postUnpack = '' + sourceRoot="$sourceRoot/haskell_tool" + ''; + postPatch = '' - substituteInPlace haskell_tool/fffuu.cabal \ + substituteInPlace fffuu.cabal \ --replace "containers >=0.5 && <0.6" "containers >= 0.6" \ --replace "optparse-generic >= 1.2.3 && < 1.3" "optparse-generic >= 1.2.3" \ --replace "split >= 0.2.3 && <= 0.2.4" "split >= 0.2.3" ''; - preCompileBuildDriver = '' - cd haskell_tool - ''; - isLibrary = false; isExecutable = true; diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix index 2744e04aee8d..26999bd53ed5 100644 --- a/pkgs/tools/networking/openssh/common.nix +++ b/pkgs/tools/networking/openssh/common.nix @@ -52,6 +52,12 @@ assert withFIDO -> withSecurityKey; stdenv.mkDerivation (finalAttrs: { inherit pname version src; + outputs = [ + "out" + "dev" + "man" + ]; + patches = [ # Making openssh pass the LOCALE_ARCHIVE variable to the forked session processes, # so the session 'bash' will receive the proper locale archive, and thus process @@ -60,6 +66,10 @@ stdenv.mkDerivation (finalAttrs: { # See discussion in https://github.com/NixOS/nixpkgs/pull/16966 ./dont_create_privsep_path.patch + + # See discussion in https://github.com/NixOS/nixpkgs/issues/453782 and + # https://github.com/openssh/openssh-portable/pull/602 + ./fix_pkcs11_tests.patch ] ++ extraPatches; @@ -67,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: { # On Hydra this makes installation fail (sometimes?), # and nix store doesn't allow such fancy permission bits anyway. '' - substituteInPlace Makefile.in --replace '$(INSTALL) -m 4711' '$(INSTALL) -m 0711' + substituteInPlace Makefile.in --replace-fail '$(INSTALL) -m 4711' '$(INSTALL) -m 0711' ''; strictDeps = true; @@ -138,16 +148,13 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; - hardeningEnable = [ "pie" ]; - doCheck = false; enableParallelChecking = false; nativeCheckInputs = [ openssl ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) hostname - # TODO: softhsm is currently breaking the tests; see #453782 - ++ lib.optional (false && !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isMusl) softhsm; + ++ lib.optional (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isMusl) softhsm; preCheck = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ( '' @@ -182,27 +189,23 @@ stdenv.mkDerivation (finalAttrs: { # explicitly enable the PermitUserEnvironment feature substituteInPlace regress/test-exec.sh \ - --replace \ + --replace-fail \ 'cat << EOF > $OBJ/sshd_config' \ $'cat << EOF > $OBJ/sshd_config\n\tPermitUserEnvironment yes' # some tests want to use files under /bin as example files for f in regress/sftp-cmds.sh regress/forwarding.sh; do - substituteInPlace $f --replace '/bin' "$(dirname $(type -p ls))" + substituteInPlace $f --replace-fail '/bin' "$(dirname $(type -p ls))" done # set up NIX_REDIRECTS for direct invocations set -a; source ~/.ssh/environment.base; set +a '' - # See softhsm in nativeCheckInputs above. - + - lib.optionalString - (!finalAttrs.doCheck && !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isMusl) - '' - # The extra tests check PKCS#11 interactions, which softhsm emulates with software only - substituteInPlace regress/test-exec.sh \ - --replace /usr/local/lib/softhsm/libsofthsm2.so ${lib.getLib softhsm}/lib/softhsm/libsofthsm2.so - '' + + lib.optionalString (!stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isMusl) '' + # The extra tests check PKCS#11 interactions, which softhsm emulates with software only + substituteInPlace regress/test-exec.sh \ + --replace-fail /usr/local/lib/softhsm/libsofthsm2.so ${lib.getLib softhsm}/lib/softhsm/libsofthsm2.so + '' ); # integration tests hard to get working on darwin with its shaky # sandbox @@ -223,7 +226,7 @@ stdenv.mkDerivation (finalAttrs: { # Install ssh-copy-id, it's very useful. cp contrib/ssh-copy-id $out/bin/ chmod +x $out/bin/ssh-copy-id - cp contrib/ssh-copy-id.1 $out/share/man/man1/ + cp contrib/ssh-copy-id.1 $man/share/man/man1/ ''; installTargets = [ "install-nokeys" ]; diff --git a/pkgs/tools/networking/openssh/copyid.nix b/pkgs/tools/networking/openssh/copyid.nix index 55da4a5c701c..e8d6f4b3f388 100644 --- a/pkgs/tools/networking/openssh/copyid.nix +++ b/pkgs/tools/networking/openssh/copyid.nix @@ -6,6 +6,10 @@ runCommand "ssh-copy-id-${openssh.version}" { + outputs = [ + "out" + "man" + ]; meta = openssh.meta // { description = "Tool to copy SSH public keys to a remote machine"; priority = (openssh.meta.priority or lib.meta.defaultPriority) - 1; @@ -13,5 +17,5 @@ runCommand "ssh-copy-id-${openssh.version}" } '' install -Dm 755 {${openssh},$out}/bin/ssh-copy-id - install -Dm 644 {${openssh},$out}/share/man/man1/ssh-copy-id.1.gz + install -Dm 644 {${openssh.man},$man}/share/man/man1/ssh-copy-id.1.gz '' diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix index f70fd678f68f..6e95321b3de1 100644 --- a/pkgs/tools/networking/openssh/default.nix +++ b/pkgs/tools/networking/openssh/default.nix @@ -8,47 +8,11 @@ let common = opts: callPackage (import ./common.nix opts) { }; - # Gets the correct OpenSSH URL for a given version. - urlFor = - version: - let - urlVersion = - { - # 10.0p1 was accidentally released as 10.0p2: - # https://www.openwall.com/lists/oss-security/2025/04/09/6 - "10.0p2" = "10.0p1"; - } - .${version} or version; - in - "mirror://openbsd/OpenSSH/portable/openssh-${urlVersion}.tar.gz"; + # Gets the OpenSSH mirror URL. + urlFor = version: "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz"; in { openssh = common rec { - pname = "openssh"; - version = "10.1p1"; - - src = fetchurl { - url = urlFor version; - hash = "sha256-ufx6K4JXlGem8vQ+SoHI4d/aYU3bT5slWq/XAgu/B1g="; - }; - - extraPatches = [ - # Use ssh-keysign from PATH - # ssh-keysign is used for host-based authentication, and is designed to be used - # as SUID-root program. OpenSSH defaults to referencing it from libexec, which - # cannot be made SUID in Nix. - ./ssh-keysign-8.5.patch - ]; - extraMeta = { - maintainers = with lib.maintainers; [ - philiptaron - numinit - ]; - teams = [ lib.teams.helsinki-systems ]; - }; - }; - - openssh_10_2 = common rec { pname = "openssh"; version = "10.2p1"; diff --git a/pkgs/tools/networking/openssh/fix_pkcs11_tests.patch b/pkgs/tools/networking/openssh/fix_pkcs11_tests.patch new file mode 100644 index 000000000000..c4459c8ee0e1 --- /dev/null +++ b/pkgs/tools/networking/openssh/fix_pkcs11_tests.patch @@ -0,0 +1,51 @@ +From 642218d8dd1ec79fa0c8db491fd46faa3ab026f7 Mon Sep 17 00:00:00 2001 +From: Morgan Jones +Date: Tue, 21 Oct 2025 01:15:55 -0700 +Subject: [PATCH 1/2] test-exec: use -P for allowed PKCS#11 library when + starting agent + +If we just loaded a PKCS#11 library, we should allow it so the +regression test can run. + +Fixes: https://github.com/NixOS/nixpkgs/issues/453782 +--- + regress/test-exec.sh | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/regress/test-exec.sh b/regress/test-exec.sh +index 5b0c91f3faa..30b3da8709d 100644 +--- a/regress/test-exec.sh ++++ b/regress/test-exec.sh +@@ -1023,6 +1023,9 @@ p11_ssh_add() { + + start_ssh_agent() { + EXTRA_AGENT_ARGS="$1" ++ if [ "$PKCS11_OK" = "yes" ]; then ++ EXTRA_AGENT_ARGS="${EXTRA_AGENT_ARGS} -P${TEST_SSH_PKCS11}" ++ fi + SSH_AUTH_SOCK="$OBJ/agent.sock" + export SSH_AUTH_SOCK + rm -f $SSH_AUTH_SOCK $OBJ/agent.log + +From 5ae735db7d81b38ee059d63a4011291cb4456aef Mon Sep 17 00:00:00 2001 +From: Morgan Jones +Date: Tue, 21 Oct 2025 01:50:23 -0700 +Subject: [PATCH 2/2] test-exec: give more time for ssh-agent to start + +--- + regress/test-exec.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/regress/test-exec.sh b/regress/test-exec.sh +index 30b3da8709d..56a7653b386 100644 +--- a/regress/test-exec.sh ++++ b/regress/test-exec.sh +@@ -1034,7 +1034,7 @@ start_ssh_agent() { + > $OBJ/agent.log 2>&1 & + AGENT_PID=$! + trap "kill $AGENT_PID" EXIT +- for x in 0 1 2 3 4 ; do ++ for x in $(seq 15); do + # Give it a chance to start + ${SSHADD} -l > /dev/null 2>&1 + r=$? diff --git a/pkgs/tools/networking/privoxy/default.nix b/pkgs/tools/networking/privoxy/default.nix index 5d70b379e6ef..b55637e6649c 100644 --- a/pkgs/tools/networking/privoxy/default.nix +++ b/pkgs/tools/networking/privoxy/default.nix @@ -32,8 +32,6 @@ stdenv.mkDerivation rec { }) ]; - hardeningEnable = [ "pie" ]; - nativeBuildInputs = [ autoreconfHook w3m diff --git a/pkgs/tools/package-management/lix/common-lix.nix b/pkgs/tools/package-management/lix/common-lix.nix index a777fa228986..d34a4590823a 100644 --- a/pkgs/tools/package-management/lix/common-lix.nix +++ b/pkgs/tools/package-management/lix/common-lix.nix @@ -373,7 +373,6 @@ stdenv.mkDerivation (finalAttrs: { # fortify breaks the build with lto and musl for some reason ++ lib.optional stdenv.hostPlatform.isMusl "fortify"; - # hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ]; separateDebugInfo = stdenv.hostPlatform.isLinux && !enableStatic; enableParallelBuilding = true; diff --git a/pkgs/tools/package-management/nix/common-meson.nix b/pkgs/tools/package-management/nix/common-meson.nix index 66a221c55521..40094ecac21b 100644 --- a/pkgs/tools/package-management/nix/common-meson.nix +++ b/pkgs/tools/package-management/nix/common-meson.nix @@ -101,8 +101,6 @@ stdenv.mkDerivation (finalAttrs: { "doc" ]; - hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ]; - hardeningDisable = [ "shadowstack" ] diff --git a/pkgs/tools/package-management/nix/modular/packaging/components.nix b/pkgs/tools/package-management/nix/modular/packaging/components.nix index 2a8b5e12a4c4..df8ee0671382 100644 --- a/pkgs/tools/package-management/nix/modular/packaging/components.nix +++ b/pkgs/tools/package-management/nix/modular/packaging/components.nix @@ -150,7 +150,6 @@ let pkg-config ]; separateDebugInfo = !stdenv.hostPlatform.isStatic; - hardeningDisable = lib.optional stdenv.hostPlatform.isStatic "pie"; }; mesonLibraryLayer = finalAttrs: prevAttrs: { diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix index 49f144d390ba..343004ddc324 100644 --- a/pkgs/tools/package-management/rpm/default.nix +++ b/pkgs/tools/package-management/rpm/default.nix @@ -19,7 +19,6 @@ sqlite, zstd, libcap, - apple-sdk_13, darwinMinVersionHook, openssl, #, libselinux @@ -90,10 +89,6 @@ stdenv.mkDerivation rec { libcap audit systemd - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_13 - (darwinMinVersionHook "13.0") ]; patches = lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix index 5028d1096e32..c10aabed38aa 100644 --- a/pkgs/tools/security/gopass/default.nix +++ b/pkgs/tools/security/gopass/default.nix @@ -10,7 +10,6 @@ xclip, wl-clipboard, passAlias ? false, - apple-sdk_14, nix-update-script, versionCheckHook, }: @@ -36,11 +35,6 @@ buildGoModule (finalAttrs: { makeBinaryWrapper ]; - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - # For ScreenCaptureKit.h, see https://github.com/NixOS/nixpkgs/pull/358760#discussion_r1858327365 - apple-sdk_14 - ]; - src = fetchFromGitHub { owner = "gopasspw"; repo = "gopass"; diff --git a/pkgs/tools/system/nvtop/build-nvtop.nix b/pkgs/tools/system/nvtop/build-nvtop.nix index 79721da656b4..df66ef58e24a 100644 --- a/pkgs/tools/system/nvtop/build-nvtop.nix +++ b/pkgs/tools/system/nvtop/build-nvtop.nix @@ -9,7 +9,6 @@ ncurses, testers, udev, - apple-sdk_12, addDriverRunpath, amd ? false, intel ? false, @@ -77,7 +76,6 @@ stdenv.mkDerivation (finalAttrs: { ncurses ] ++ lib.optional stdenv.hostPlatform.isLinux udev - ++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_12 ++ lib.optional nvidia cudatoolkit ++ lib.optional needDrm libdrm; diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix index 6bc745fe88b7..015b2409e115 100644 --- a/pkgs/tools/text/gawk/default.nix +++ b/pkgs/tools/text/gawk/default.nix @@ -32,12 +32,6 @@ stdenv.mkDerivation rec { hash = "sha256-+MNIZQnecFGSE4sA7ywAu73Q6Eww1cB9I/xzqdxMycw="; }; - # PIE is incompatible with the "persistent malloc" ("pma") feature. - # While build system attempts to pass -no-pie to gcc. nixpkgs' `ld` - # wrapped still passes `-pie` flag to linker and breaks linkage. - # Let's disable "pie" until `ld` is fixed to do the right thing. - hardeningDisable = [ "pie" ]; - # When we do build separate interactive version, it makes sense to always include man. outputs = [ "out" diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index ba2b7755c455..ec725127a893 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -294,6 +294,9 @@ mapAliases { apacheAnt = throw "'apacheAnt' has been renamed to/replaced by 'ant'"; # Converted to throw 2025-10-27 apacheKafka_3_7 = throw "apacheKafka_2_8 through _3_8 have been removed from nixpkgs as outdated"; # Added 2025-09-27 apacheKafka_3_8 = throw "apacheKafka_2_8 through _3_8 have been removed from nixpkgs as outdated"; # Added 2025-09-27 + apple-sdk_11 = throw "apple-sdk_11 was removed as Nixpkgs no longer supports macOS 11; see the 25.11 release notes"; # Added 2025-05-10 + apple-sdk_12 = throw "apple-sdk_12 was removed as Nixpkgs no longer supports macOS 12; see the 25.11 release notes"; # Added 2025-05-10 + apple-sdk_13 = throw "apple-sdk_13 was removed as Nixpkgs no longer supports macOS 13; see the 25.11 release notes"; # Added 2025-05-10 appthreat-depscan = throw "'appthreat-depscan' has been renamed to/replaced by 'dep-scan'"; # Converted to throw 2025-10-27 arangodb = throw "arangodb has been removed, as it was unmaintained and the packaged version does not build with supported GCC versions"; # Added 2025-08-12 arc-browser = throw "arc-browser was removed due to being unmaintained"; # Added 2025-09-03 @@ -523,6 +526,7 @@ mapAliases { elm-github-install = throw "'elm-github-install' has been removed as it is abandoned upstream and only supports Elm 0.18.0"; # Added 2025-08-25 emacsMacport = throw "'emacsMacport' has been renamed to/replaced by 'emacs-macport'"; # Converted to throw 2025-10-27 emacsNativeComp = throw "'emacsNativeComp' has been renamed to/replaced by 'emacs'"; # Converted to throw 2025-10-27 + emanote = throw "'emanote' has been removed due to lack of a Nixpkgs maintainer"; # Added 2025-09-18 embree2 = throw "embree2 has been removed, as it is unmaintained upstream and depended on tbb_2020"; # Added 2025-09-14 EmptyEpsilon = throw "'EmptyEpsilon' has been renamed to/replaced by 'empty-epsilon'"; # Converted to throw 2025-10-27 emulationstation = throw "emulationstation was removed due to numerous vulnerabilities in freeimage"; # Added 2025-10-23 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0130772f5741..ea307de357a0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2553,6 +2553,7 @@ with pkgs; pslSupport = true; zstdSupport = true; http3Support = true; + c-aresSupport = true; } // lib.optionalAttrs (!stdenv.hostPlatform.isStatic) { brotliSupport = true; @@ -3477,7 +3478,7 @@ with pkgs; }; # Not in aliases because it wouldn't get picked up by callPackage - netbox = netbox_4_3; + netbox = netbox_4_4; netcap-nodpi = callPackage ../by-name/ne/netcap/package.nix { withDpi = false; @@ -3602,10 +3603,6 @@ with pkgs; etcDir = "/etc/ssh"; }; - openssh_10_2 = opensshPackages.openssh_10_2.override { - etcDir = "/etc/ssh"; - }; - opensshTest = openssh.tests.openssh; opensshWithKerberos = openssh.override { @@ -5294,15 +5291,15 @@ with pkgs; wrapRustcWith = { rustc-unwrapped, ... }@args: callPackage ../build-support/rust/rustc-wrapper args; wrapRustc = rustc-unwrapped: wrapRustcWith { inherit rustc-unwrapped; }; - rust_1_89 = callPackage ../development/compilers/rust/1_89.nix { }; - rust = rust_1_89; + rust_1_90 = callPackage ../development/compilers/rust/1_90.nix { }; + rust = rust_1_90; mrustc = callPackage ../development/compilers/mrustc { }; mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { }; mrustc-bootstrap = callPackage ../development/compilers/mrustc/bootstrap.nix { }; - rustPackages_1_89 = rust_1_89.packages.stable; - rustPackages = rustPackages_1_89; + rustPackages_1_90 = rust_1_90.packages.stable; + rustPackages = rustPackages_1_90; inherit (rustPackages) cargo @@ -7082,9 +7079,6 @@ with pkgs; vapoursynth-editor = libsForQt5.callPackage ../by-name/va/vapoursynth/editor.nix { }; - # TODO: Fix references and add justStaticExecutables https://github.com/NixOS/nixpkgs/issues/318013 - emanote = haskellPackages.emanote; - enchant2 = callPackage ../development/libraries/enchant/2.x.nix { }; enchant = enchant2; @@ -7164,7 +7158,7 @@ with pkgs; fmt_12 ; - fmt = fmt_11; + fmt = fmt_12; fplll = callPackage ../development/libraries/fplll { }; fplll_20160331 = callPackage ../development/libraries/fplll/20160331.nix { }; @@ -8298,7 +8292,7 @@ with pkgs; prospector = callPackage ../development/tools/prospector { }; - protobuf = protobuf_32; + protobuf = protobuf_33; inherit ({ @@ -8790,9 +8784,6 @@ with pkgs; ### DEVELOPMENT / LIBRARIES / DARWIN SDKS - apple-sdk_11 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "11"; }; - apple-sdk_12 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "12"; }; - apple-sdk_13 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "13"; }; apple-sdk_14 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "14"; }; apple-sdk_15 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "15"; }; apple-sdk_26 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "26"; }; @@ -8968,14 +8959,6 @@ with pkgs; "3000" ]; }; - sbcl_2_5_5 = wrapLisp { - pkg = callPackage ../development/compilers/sbcl { version = "2.5.5"; }; - faslExt = "fasl"; - flags = [ - "--dynamic-space-size" - "3000" - ]; - }; sbcl_2_5_7 = wrapLisp { pkg = callPackage ../development/compilers/sbcl { version = "2.5.7"; }; faslExt = "fasl"; @@ -8984,7 +8967,15 @@ with pkgs; "3000" ]; }; - sbcl = sbcl_2_5_7; + sbcl_2_5_9 = wrapLisp { + pkg = callPackage ../development/compilers/sbcl { version = "2.5.9"; }; + faslExt = "fasl"; + flags = [ + "--dynamic-space-size" + "3000" + ]; + }; + sbcl = sbcl_2_5_9; sbclPackages = recurseIntoAttrs sbcl.pkgs; @@ -10245,6 +10236,12 @@ with pkgs; withVmspawn = false; withQrencode = false; withLibarchive = false; + withVConsole = false; + # withKmod = false; # breaks udevCheckHook of bcache-tools + withFirstboot = false; + withKexectools = false; + withLibseccomp = false; + withNspawn = false; }; systemdLibs = systemdMinimal.override { pname = "systemd-minimal-libs"; @@ -11814,8 +11811,6 @@ with pkgs; pcmanfm-qt = lxqt.pcmanfm-qt; - pdfmixtool = libsForQt5.callPackage ../applications/office/pdfmixtool { }; - pijuice = with python3Packages; toPythonApplication pijuice; pinegrow6 = callPackage ../applications/editors/pinegrow { pinegrowVersion = "6"; }; diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix index 09d31a2d117c..c8e8a3f58590 100644 --- a/pkgs/top-level/config.nix +++ b/pkgs/top-level/config.nix @@ -139,6 +139,39 @@ let null; }; + npmRegistryOverrides = mkOption { + type = types.attrsOf types.str; + description = '' + The default NPM registry overrides for all `fetchNpmDeps` calls, as an attribute set. + + For each attribute, all files fetched from the host corresponding to the name will instead be fetched from the host (and sub-path) specified in the value. + + For example, an override like `"registry.npmjs.org" = "my-mirror.local/registry.npmjs.org"` will replace a URL like `https://registry.npmjs.org/foo.tar.gz` with `https://my-mirror.local/registry.npmjs.org/foo.tar.gz`. + + To set the string directly, see [`npmRegistryOverridesString`](#opt-npmRegistryOverridesString). + ''; + default = { }; + example = { + "registry.npmjs.org" = "my-mirror.local/registry.npmjs.org"; + }; + }; + + npmRegistryOverridesString = mkOption { + type = types.addCheck types.str ( + s: + let + j = builtins.fromJSON s; + in + lib.isAttrs j && lib.all builtins.isString (builtins.attrValues j) + ); + description = '' + A string containing a string with a JSON representation of NPM registry overrides for `fetchNpmDeps`. + + This overrides the [`npmRegistryOverrides`](#opt-npmRegistryOverrides) option, see its documentation for more details. + ''; + default = builtins.toJSON config.npmRegistryOverrides; + }; + doCheckByDefault = mkMassRebuild { feature = "run `checkPhase` by default"; }; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index fc7eae850cbb..a02da445be42 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -14,8 +14,6 @@ let "native-bignum" # Binary GHCs "ghc902Binary" - "ghc924Binary" - "ghc963Binary" "ghc984Binary" ]; @@ -48,6 +46,16 @@ let # Use this rather than `rec { ... }` below for sake of overlays. inherit (pkgs.haskell) compiler packages; + # The GHC LLVM backend rarely sees significant changes relating to + # LLVM version support, as it uses the textual IR format and invokes + # the LLVM binary tools rather than linking to the C++ libraries. + # + # Consider backporting upstream GHC changes to support new LLVM + # versions in `common-llvm-patches.nix` to allow the version to be + # shared across our supported versions of GHC. If the required + # changes are too invasive, it’s fine to decouple individual versions + # from this default or disable their LLVM support if it’s not load‐ + # bearing (e.g. GHC 9.4.8 is important for cross‐compiling GHC). buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_20; llvmPackages = pkgs.llvmPackages_20; @@ -78,100 +86,41 @@ in inherit llvmPackages; }; - ghc924Binary = callPackage ../development/compilers/ghc/9.2.4-binary.nix { }; - - ghc963Binary = callPackage ../development/compilers/ghc/9.6.3-binary.nix { }; - ghc984Binary = callPackage ../development/compilers/ghc/9.8.4-binary.nix { }; ghc948 = callPackage ../development/compilers/ghc/9.4.8.nix { bootPkgs = # Building with 9.2 is broken due to - # https://gitlab.haskell.org/ghc/ghc/-/issues/21914 + # https://gitlab.haskell.org/ghc/ghc/-/issues/21914 krank:ignore-line bb.packages.ghc902Binary; inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; inherit buildTargetLlvmPackages llvmPackages; }; ghc94 = compiler.ghc948; ghc967 = callPackage ../development/compilers/ghc/9.6.7.nix { - bootPkgs = bb.packages.ghc924Binary; + bootPkgs = bb.packages.ghc948; inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; inherit buildTargetLlvmPackages llvmPackages; }; ghc96 = compiler.ghc967; ghc984 = callPackage ../development/compilers/ghc/9.8.4.nix { - bootPkgs = - if stdenv.buildPlatform.isAarch64 && stdenv.buildPlatform.isMusl then - bb.packages.ghc984Binary - else - bb.packages.ghc963Binary; + bootPkgs = if stdenv.buildPlatform.isi686 then bb.packages.ghc948 else bb.packages.ghc984Binary; inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; inherit buildTargetLlvmPackages llvmPackages; }; ghc98 = compiler.ghc984; - ghc9101 = callPackage ../development/compilers/ghc/9.10.1.nix { - bootPkgs = - if stdenv.buildPlatform.isDarwin then - # it seems like the GHC 9.6.* bindists are built with a different - # toolchain than we are using (which I'm guessing from the fact - # that 9.6.4 bindists pass linker flags our ld doesn't support). - # With both 9.6.3 and 9.6.4 binary it is impossible to link against - # the clock package (probably a hsc2hs problem). - bb.packages.ghc967 - else - bb.packages.ghc963Binary; - inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. - inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; - inherit buildTargetLlvmPackages llvmPackages; - }; ghc9102 = callPackage ../development/compilers/ghc/9.10.2.nix { - bootPkgs = - if stdenv.buildPlatform.isDarwin then - # it seems like the GHC 9.6.* bindists are built with a different - # toolchain than we are using (which I'm guessing from the fact - # that 9.6.4 bindists pass linker flags our ld doesn't support). - # With both 9.6.3 and 9.6.4 binary it is impossible to link against - # the clock package (probably a hsc2hs problem). - bb.packages.ghc967 - else - bb.packages.ghc963Binary; + bootPkgs = if stdenv.buildPlatform.isi686 then bb.packages.ghc967 else bb.packages.ghc984Binary; inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; inherit buildTargetLlvmPackages llvmPackages; }; ghc9103 = callPackage ../development/compilers/ghc/9.10.3.nix { - bootPkgs = - if stdenv.buildPlatform.isDarwin then - # it seems like the GHC 9.6.* bindists are built with a different - # toolchain than we are using (which I'm guessing from the fact - # that 9.6.4 bindists pass linker flags our ld doesn't support). - # With both 9.6.3 and 9.6.4 binary it is impossible to link against - # the clock package (probably a hsc2hs problem). - bb.packages.ghc967 - else - bb.packages.ghc963Binary; + bootPkgs = if stdenv.buildPlatform.isi686 then bb.packages.ghc967 else bb.packages.ghc984Binary; inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; inherit buildTargetLlvmPackages llvmPackages; }; @@ -181,9 +130,6 @@ in # No suitable bindist packaged yet bb.packages.ghc9103; inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; inherit buildTargetLlvmPackages llvmPackages; }; @@ -192,9 +138,6 @@ in # No suitable bindist packaged yet bb.packages.ghc9103; inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; inherit buildTargetLlvmPackages llvmPackages; }; @@ -202,9 +145,6 @@ in ghcHEAD = callPackage ../development/compilers/ghc/head.nix { bootPkgs = bb.packages.ghc984Binary; inherit (buildPackages.python3Packages) sphinx; - # Need to use apple's patched xattr until - # https://github.com/xattr/xattr/issues/44 and - # https://github.com/xattr/xattr/issues/55 are solved. inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; inherit buildTargetLlvmPackages llvmPackages; }; @@ -248,18 +188,6 @@ in compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { }; packageSetConfig = bootstrapPackageSet; }; - ghc924Binary = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc924Binary; - ghc = bh.compiler.ghc924Binary; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; - packageSetConfig = bootstrapPackageSet; - }; - ghc963Binary = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc963Binary; - ghc = bh.compiler.ghc963Binary; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { }; - packageSetConfig = bootstrapPackageSet; - }; ghc984Binary = callPackage ../development/haskell-modules { buildHaskellPackages = bh.packages.ghc984Binary; ghc = bh.compiler.ghc984Binary; @@ -284,11 +212,6 @@ in compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { }; }; ghc98 = packages.ghc984; - ghc9101 = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc9101; - ghc = bh.compiler.ghc9101; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.10.x.nix { }; - }; ghc9102 = callPackage ../development/haskell-modules { buildHaskellPackages = bh.packages.ghc9102; ghc = bh.compiler.ghc9102; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index d06036960772..4476a0723865 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -466,21 +466,9 @@ let dune_1 = callPackage ../development/tools/ocaml/dune/1.nix { }; - dune_2 = - if lib.versionAtLeast ocaml.version "4.08" then - callPackage ../development/tools/ocaml/dune/2.nix { } - else if lib.versionAtLeast ocaml.version "4.02" then - pkgs.dune_2 - else - throw "dune_2 is not available for OCaml ${ocaml.version}"; + dune_2 = callPackage ../development/tools/ocaml/dune/2.nix { }; - dune_3 = - if lib.versionAtLeast ocaml.version "4.08" then - callPackage ../development/tools/ocaml/dune/3.nix { } - else if lib.versionAtLeast ocaml.version "4.02" then - pkgs.dune_3 - else - throw "dune_3 is not available for OCaml ${ocaml.version}"; + dune_3 = callPackage ../development/tools/ocaml/dune/3.nix { }; dune-action-plugin = callPackage ../development/ocaml-modules/dune-action-plugin { }; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 912f98d9518d..60f6f8c60650 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -154,6 +154,7 @@ mapAliases { face_recognition_models = throw "'face_recognition_models' has been renamed to/replaced by 'face-recognition-models'"; # Converted to throw 2025-10-29 factory_boy = throw "'factory_boy' has been renamed to/replaced by 'factory-boy'"; # Converted to throw 2025-10-29 fastnlo_toolkit = throw "'fastnlo_toolkit' has been renamed to/replaced by 'fastnlo-toolkit'"; # Converted to throw 2025-10-29 + fb-re2 = throw "fb-re2 has been removed since it is unmaintained upstream, consider google-re2 instead"; # added 2025-10-18 fenics = throw "fenics has been removed, use fenics-dolfinx instead"; # added 2025-08-07 filebrowser_safe = throw "'filebrowser_safe' has been renamed to/replaced by 'filebrowser-safe'"; # Converted to throw 2025-10-29 filesplit = throw "filesplit has been removed, since it is unmaintained"; # added 2025-08-20 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 96b412d8e7a5..6a08fd80d7d5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1682,6 +1682,14 @@ self: super: with self; { backports-tarfile = callPackage ../development/python-modules/backports-tarfile { }; + backports-zstd = + if pythonAtLeast "3.14" then + null + else + callPackage ../development/python-modules/backports-zstd { + inherit (pkgs) zstd; + }; + backrefs = callPackage ../development/python-modules/backrefs { }; backtesting = callPackage ../development/python-modules/backtesting { }; @@ -5165,8 +5173,6 @@ self: super: with self; { favicon = callPackage ../development/python-modules/favicon { }; - fb-re2 = callPackage ../development/python-modules/fb-re2 { }; - fe25519 = callPackage ../development/python-modules/fe25519 { }; feather-format = callPackage ../development/python-modules/feather-format { }; @@ -8179,7 +8185,8 @@ self: super: with self; { legacy-api-wrap = callPackage ../development/python-modules/legacy-api-wrap { }; - legacy-cgi = callPackage ../development/python-modules/legacy-cgi { }; + legacy-cgi = + if pythonOlder "3.13" then null else callPackage ../development/python-modules/legacy-cgi { }; leidenalg = callPackage ../development/python-modules/leidenalg { igraph-c = pkgs.igraph; }; diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index 5013bf119de8..aa0c3407873c 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -66,7 +66,6 @@ let ghc948 ghc967 ghc984 - ghc9101 ghc9102 ghc9103 # exclude ghc9121 due to severe miscompilation bug @@ -255,9 +254,10 @@ let cachix # carp broken on 2024-04-09 changelog-d - cornelis cedille client-ip-echo + cornelis + codd darcs dconf2nix dhall @@ -271,7 +271,6 @@ let diagrams-builder echidna elm2nix - emanote fffuu futhark ghcid @@ -317,7 +316,6 @@ let nix-output-monitor nix-script nix-tree - nixfmt-classic nixfmt nota nvfetcher @@ -552,14 +550,12 @@ let funcmp = released; git-annex = [ # for 9.10, test that using filepath (instead of filepath-bytestring) works. - compilerNames.ghc9101 compilerNames.ghc9102 compilerNames.ghc9103 ]; haskell-language-server = released; hoogle = released; hlint = lib.subtractLists [ - compilerNames.ghc9101 compilerNames.ghc9102 compilerNames.ghc9103 compilerNames.ghc9122 @@ -587,7 +583,6 @@ let compilerNames.ghc967 ]; weeder = lib.subtractLists [ - compilerNames.ghc9101 compilerNames.ghc9102 compilerNames.ghc9103 compilerNames.ghc9122 diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 8c40fb1c0070..db45d46e098b 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -395,9 +395,6 @@ let "aarch64-linux" ]; - # Fails CI in its current state - ocamlPackages = { }; - pkgsRocm = pkgs.rocmPackages.meta.release-packagePlatforms; }; mapTestOn-packages = if attrNamesOnly then packageJobs else mapTestOn packageJobs; diff --git a/pkgs/top-level/variants.nix b/pkgs/top-level/variants.nix index ea288206dfbc..e3a12fcadcf5 100644 --- a/pkgs/top-level/variants.nix +++ b/pkgs/top-level/variants.nix @@ -165,6 +165,7 @@ self: super: { "nostrictaliasing" "pacret" "glibcxxassertions" + "libcxxhardeningfast" "trivialautovarinit" ] ) super'.stdenv;