diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 303c430b8e57..195f534e7c80 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -78,6 +78,8 @@ /nixos/doc/manual/man-nixos-option.xml @nbp /nixos/modules/installer/tools/nixos-option.sh @nbp /nixos/modules/system @dasJ +/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius +/nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius # NixOS integration test driver /nixos/lib/test-driver @tfc diff --git a/doc/languages-frameworks/cuda.section.md b/doc/languages-frameworks/cuda.section.md index fccf66bf79d2..27bae33bc71c 100644 --- a/doc/languages-frameworks/cuda.section.md +++ b/doc/languages-frameworks/cuda.section.md @@ -32,3 +32,22 @@ mypkg = let }}); in callPackage { inherit cudaPackages; }; ``` + +The CUDA NVCC compiler requires flags to determine which hardware you +want to target for in terms of SASS (real hardware) or PTX (JIT kernels). + +Nixpkgs tries to target support real architecture defaults based on the +CUDA toolkit version with PTX support for future hardware. Experienced +users may optmize this configuration for a variety of reasons such as +reducing binary size and compile time, supporting legacy hardware, or +optimizing for specific hardware. + +You may provide capabilities to add support or reduce binary size through +`config` using `cudaCapabilities = [ "6.0" "7.0" ];` and +`cudaForwardCompat = true;` if you want PTX support for future hardware. + +Please consult [GPUs supported](https://en.wikipedia.org/wiki/CUDA#GPUs_supported) +for your specific card(s). + +Library maintainers should consult [NVCC Docs](https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/) +and release notes for their software package. diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index d51ea84e9efb..87d683fc2ea6 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -15923,6 +15923,12 @@ github = "kuwii"; githubId = 10705175; }; + kkharji = { + name = "kkharji"; + email = "kkharji@protonmail.com"; + github = "kkharji"; + githubId = 65782666; + }; melias122 = { name = "Martin Elias"; email = "martin+nixpkgs@elias.sx"; diff --git a/nixos/doc/manual/configuration/gpu-accel.chapter.md b/nixos/doc/manual/configuration/gpu-accel.chapter.md index 835cbad55485..aa41e25e56f3 100644 --- a/nixos/doc/manual/configuration/gpu-accel.chapter.md +++ b/nixos/doc/manual/configuration/gpu-accel.chapter.md @@ -159,6 +159,40 @@ environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json"; ``` +## VA-API {#sec-gpu-accel-va-api} + +[VA-API (Video Acceleration API)](https://www.intel.com/content/www/us/en/developer/articles/technical/linuxmedia-vaapi.html) +is an open-source library and API specification, which provides access to +graphics hardware acceleration capabilities for video processing. + +VA-API drivers are loaded by `libva`. The version in nixpkgs is built to search +the opengl driver path, so drivers can be installed in +[](#opt-hardware.opengl.extraPackages). + +VA-API can be tested using: + +```ShellSession +$ nix-shell -p libva-utils --run vainfo +``` + +### Intel {#sec-gpu-accel-va-api-intel} + +Modern Intel GPUs use the iHD driver, which can be installed with: + +```nix +hardware.opengl.extraPackages = [ + intel-media-driver +]; +``` + +Older Intel GPUs use the i965 driver, which can be installed with: + +```nix +hardware.opengl.extraPackages = [ + vaapiIntel +]; +``` + ## Common issues {#sec-gpu-accel-common-issues} ### User permissions {#sec-gpu-accel-common-issues-permissions} diff --git a/nixos/doc/manual/contributing-to-this-manual.chapter.md b/nixos/doc/manual/contributing-to-this-manual.chapter.md index 26813d1042d6..557599809222 100644 --- a/nixos/doc/manual/contributing-to-this-manual.chapter.md +++ b/nixos/doc/manual/contributing-to-this-manual.chapter.md @@ -1,6 +1,6 @@ # Contributing to this manual {#chap-contributing} -The DocBook and CommonMark sources of NixOS' manual are in the [nixos/doc/manual](https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual) subdirectory of the [Nixpkgs](https://github.com/NixOS/nixpkgs) repository. +The [DocBook] and CommonMark sources of the NixOS manual are in the [nixos/doc/manual](https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual) subdirectory of the [Nixpkgs](https://github.com/NixOS/nixpkgs) repository. You can quickly check your edits with the following: @@ -11,3 +11,25 @@ $ nix-build nixos/release.nix -A manual.x86_64-linux ``` If the build succeeds, the manual will be in `./result/share/doc/nixos/index.html`. + +**Contributing to the man pages** + +The man pages are written in [DocBook] which is XML. + +To see what your edits look like: + +```ShellSession +$ cd /path/to/nixpkgs +$ nix-build nixos/release.nix -A manpages.x86_64-linux +``` + +You can then read the man page you edited by running + +```ShellSession +$ man --manpath=result/share/man nixos-rebuild # Replace nixos-rebuild with the command whose manual you edited +``` + +If you're on a different architecture that's supported by NixOS (check nixos/release.nix) then replace `x86_64-linux` with the architecture. +`nix-build` will complain otherwise, but should also tell you which architecture you have + the supported ones. + +[DocBook]: https://en.wikipedia.org/wiki/DocBook diff --git a/nixos/doc/manual/development/bootspec.chapter.md b/nixos/doc/manual/development/bootspec.chapter.md new file mode 100644 index 000000000000..96c12f24e7f1 --- /dev/null +++ b/nixos/doc/manual/development/bootspec.chapter.md @@ -0,0 +1,36 @@ +# Experimental feature: Bootspec {#sec-experimental-bootspec} + +Bootspec is a experimental feature, introduced in the [RFC-0125 proposal](https://github.com/NixOS/rfcs/pull/125), the reference implementation can be found [there](https://github.com/NixOS/nixpkgs/pull/172237) in order to standardize bootloader support +and advanced boot workflows such as SecureBoot and potentially more. + +You can enable the creation of bootspec documents through [`boot.bootspec.enable = true`](options.html#opt-boot.bootspec.enable), which will prompt a warning until [RFC-0125](https://github.com/NixOS/rfcs/pull/125) is officially merged. + +## Schema {#sec-experimental-bootspec-schema} + +The bootspec schema is versioned and validated against [a CUE schema file](https://cuelang.org/) which should considered as the source of truth for your applications. + +You will find the current version [here](../../../modules/system/activation/bootspec.cue). + +## Extensions mechanism {#sec-experimental-bootspec-extensions} + +Bootspec cannot account for all usecases. + +For this purpose, Bootspec offers a generic extension facility [`boot.bootspec.extensions`](options.html#opt-boot.bootspec.extensions) which can be used to inject any data needed for your usecases. + +An example for SecureBoot is to get the Nix store path to `/etc/os-release` in order to bake it into a unified kernel image: + +```nix +{ config, lib, ... }: { + boot.bootspec.extensions = { + "org.secureboot.osRelease" = config.environment.etc."os-release".source; + }; +} +``` + +To reduce incompatibility and prevent names from clashing between applications, it is **highly recommended** to use a unique namespace for your extensions. + +## External bootloaders {#sec-experimental-bootspec-external-bootloaders} + +It is possible to enable your own bootloader through [`boot.loader.external.installHook`](options.html#opt-boot.loader.external.installHook) which can wrap an existing bootloader. + +Currently, there is no good story to compose existing bootloaders to enrich their features, e.g. SecureBoot, etc. It will be necessary to reimplement or reuse existing parts. diff --git a/nixos/doc/manual/development/development.xml b/nixos/doc/manual/development/development.xml index 624ee3931659..949468c9021d 100644 --- a/nixos/doc/manual/development/development.xml +++ b/nixos/doc/manual/development/development.xml @@ -12,6 +12,7 @@ + diff --git a/nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml b/nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml index cc559a1933d9..90d2c17e12ef 100644 --- a/nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml +++ b/nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml @@ -177,6 +177,48 @@ environment.variables.AMD_VULKAN_ICD = "RADV"; # Or environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json"; + + + +
+ VA-API + + VA-API + (Video Acceleration API) is an open-source library and API + specification, which provides access to graphics hardware + acceleration capabilities for video processing. + + + VA-API drivers are loaded by libva. The version + in nixpkgs is built to search the opengl driver path, so drivers + can be installed in + . + + + VA-API can be tested using: + + +$ nix-shell -p libva-utils --run vainfo + +
+ Intel + + Modern Intel GPUs use the iHD driver, which can be installed + with: + + +hardware.opengl.extraPackages = [ + intel-media-driver +]; + + + Older Intel GPUs use the i965 driver, which can be installed + with: + + +hardware.opengl.extraPackages = [ + vaapiIntel +];
diff --git a/nixos/doc/manual/from_md/contributing-to-this-manual.chapter.xml b/nixos/doc/manual/from_md/contributing-to-this-manual.chapter.xml index a9b0c6a5eefa..99dc5ce30b4b 100644 --- a/nixos/doc/manual/from_md/contributing-to-this-manual.chapter.xml +++ b/nixos/doc/manual/from_md/contributing-to-this-manual.chapter.xml @@ -1,7 +1,9 @@ Contributing to this manual - The DocBook and CommonMark sources of NixOS’ manual are in the + The + DocBook + and CommonMark sources of the NixOS manual are in the nixos/doc/manual subdirectory of the Nixpkgs @@ -19,4 +21,32 @@ $ nix-build nixos/release.nix -A manual.x86_64-linux If the build succeeds, the manual will be in ./result/share/doc/nixos/index.html. + + Contributing to the man pages + + + The man pages are written in + DocBook + which is XML. + + + To see what your edits look like: + + +$ cd /path/to/nixpkgs +$ nix-build nixos/release.nix -A manpages.x86_64-linux + + + You can then read the man page you edited by running + + +$ man --manpath=result/share/man nixos-rebuild # Replace nixos-rebuild with the command whose manual you edited + + + If you’re on a different architecture that’s supported by NixOS + (check nixos/release.nix) then replace + x86_64-linux with the architecture. + nix-build will complain otherwise, but should + also tell you which architecture you have + the supported ones. + diff --git a/nixos/doc/manual/from_md/development/bootspec.chapter.xml b/nixos/doc/manual/from_md/development/bootspec.chapter.xml new file mode 100644 index 000000000000..acf8ca76bf5c --- /dev/null +++ b/nixos/doc/manual/from_md/development/bootspec.chapter.xml @@ -0,0 +1,73 @@ + + Experimental feature: Bootspec + + Bootspec is a experimental feature, introduced in the + RFC-0125 + proposal, the reference implementation can be found + there + in order to standardize bootloader support and advanced boot + workflows such as SecureBoot and potentially more. + + + You can enable the creation of bootspec documents through + boot.bootspec.enable = true, + which will prompt a warning until + RFC-0125 + is officially merged. + +
+ Schema + + The bootspec schema is versioned and validated against + a CUE schema file + which should considered as the source of truth for your + applications. + + + You will find the current version + here. + +
+
+ Extensions mechanism + + Bootspec cannot account for all usecases. + + + For this purpose, Bootspec offers a generic extension facility + boot.bootspec.extensions + which can be used to inject any data needed for your usecases. + + + An example for SecureBoot is to get the Nix store path to + /etc/os-release in order to bake it into a + unified kernel image: + + +{ config, lib, ... }: { + boot.bootspec.extensions = { + "org.secureboot.osRelease" = config.environment.etc."os-release".source; + }; +} + + + To reduce incompatibility and prevent names from clashing between + applications, it is highly + recommended to use a unique namespace for your + extensions. + +
+
+ External bootloaders + + It is possible to enable your own bootloader through + boot.loader.external.installHook + which can wrap an existing bootloader. + + + Currently, there is no good story to compose existing bootloaders + to enrich their features, e.g. SecureBoot, etc. It will be + necessary to reimplement or reuse existing parts. + +
+
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml index aded38b4f723..539bf00a3627 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml @@ -44,6 +44,14 @@ services.atuin. + + + mmsd, + a lower level daemon that transmits and recieves MMSes. + Available as + services.mmsd. + + v2rayA, a Linux @@ -282,6 +290,20 @@ to match upstream. + + + The new option + services.tailscale.useRoutingFeatures + controls various settings for using Tailscale features like + exit nodes and subnet routers. If you wish to use your machine + as an exit node, you can set this setting to + server, otherwise if you wish to use an + exit node you can set this setting to + client. The strict RPF warning has been + removed as the RPF will be loosened automatically based on the + value of this setting. + + diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index ea96f49fa977..cab871661a75 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -134,7 +134,7 @@ - path + NIX_PATH @@ -624,7 +624,7 @@ In addition, nixos-rebuild accepts various Nix-related - flags, including / , + flags, including / , , , , , , and / . See the Nix manual for details. @@ -647,6 +647,20 @@ + + + NIX_PATH + + + + A colon-separated list of directories used to look up Nix expressions enclosed in angle brackets (e.g <nixpkgs>). Example + + nixpkgs=./my-nixpkgs + + + + + NIX_SSHOPTS diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index 7aff655f4419..6a6a34efbd14 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -20,6 +20,8 @@ In addition to numerous new and upgraded packages, this release has the followin - [atuin](https://github.com/ellie/atuin), a sync server for shell history. Available as [services.atuin](#opt-services.atuin.enable). +- [mmsd](https://gitlab.com/kop316/mmsd), a lower level daemon that transmits and recieves MMSes. Available as [services.mmsd](#opt-services.mmsd.enable). + - [v2rayA](https://v2raya.org), a Linux web GUI client of Project V which supports V2Ray, Xray, SS, SSR, Trojan and Pingtunnel. Available as [services.v2raya](options.html#opt-services.v2raya.enable). ## Backward Incompatibilities {#sec-release-23.05-incompatibilities} @@ -81,3 +83,5 @@ In addition to numerous new and upgraded packages, this release has the followin - The `services.fwupd` module now allows arbitrary daemon settings to be configured in a structured manner ([`services.fwupd.daemonSettings`](#opt-services.fwupd.daemonSettings)). - The `unifi-poller` package and corresponding NixOS module have been renamed to `unpoller` to match upstream. + +- The new option `services.tailscale.useRoutingFeatures` controls various settings for using Tailscale features like exit nodes and subnet routers. If you wish to use your machine as an exit node, you can set this setting to `server`, otherwise if you wish to use an exit node you can set this setting to `client`. The strict RPF warning has been removed as the RPF will be loosened automatically based on the value of this setting. diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index e5699161ec4b..3efadea82355 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -45,6 +45,7 @@ with lib; networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; }; pinentry = super.pinentry.override { enabledFlavors = [ "curses" "tty" "emacs" ]; withLibsecret = false; }; qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; }; + qrencode = super.qrencode.overrideAttrs (_: { doCheck = false; }); zbar = super.zbar.override { enableVideo = false; withXorg = false; }; })); }; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index a62143232777..6ec6c74565cd 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1,21 +1,13 @@ [ + ./config/appstream.nix + ./config/console.nix ./config/debug-info.nix ./config/fonts/fontconfig.nix ./config/fonts/fontdir.nix ./config/fonts/fonts.nix ./config/fonts/ghostscript.nix - ./config/xdg/autostart.nix - ./config/xdg/icons.nix - ./config/xdg/menus.nix - ./config/xdg/mime.nix - ./config/xdg/portal.nix - ./config/xdg/portals/wlr.nix - ./config/xdg/portals/lxqt.nix - ./config/appstream.nix - ./config/console.nix - ./config/xdg/sounds.nix - ./config/gtk/gtk-icon-cache.nix ./config/gnu.nix + ./config/gtk/gtk-icon-cache.nix ./config/i18n.nix ./config/iproute2.nix ./config/krb5/default.nix @@ -39,26 +31,32 @@ ./config/unix-odbc-drivers.nix ./config/users-groups.nix ./config/vte.nix + ./config/xdg/autostart.nix + ./config/xdg/icons.nix + ./config/xdg/menus.nix + ./config/xdg/mime.nix + ./config/xdg/portal.nix + ./config/xdg/portals/lxqt.nix + ./config/xdg/portals/wlr.nix + ./config/xdg/sounds.nix ./config/zram.nix ./hardware/acpilight.nix ./hardware/all-firmware.nix ./hardware/bladeRF.nix ./hardware/brillo.nix ./hardware/ckb-next.nix + ./hardware/corectrl.nix ./hardware/cpu/amd-microcode.nix ./hardware/cpu/amd-sev.nix ./hardware/cpu/intel-microcode.nix ./hardware/cpu/intel-sgx.nix - ./hardware/corectrl.nix - ./hardware/digitalbitbox.nix ./hardware/device-tree.nix - ./hardware/gkraken.nix + ./hardware/digitalbitbox.nix ./hardware/flirc.nix + ./hardware/gkraken.nix ./hardware/gpgsmartcards.nix - ./hardware/i2c.nix ./hardware/hackrf.nix - ./hardware/sensor/hddtemp.nix - ./hardware/sensor/iio.nix + ./hardware/i2c.nix ./hardware/keyboard/teck.nix ./hardware/keyboard/uhk.nix ./hardware/keyboard/zsa.nix @@ -71,33 +69,35 @@ ./hardware/network/intel-2200bg.nix ./hardware/new-lg4ff.nix ./hardware/nitrokey.nix + ./hardware/onlykey/default.nix ./hardware/opengl.nix ./hardware/openrazer.nix + ./hardware/opentabletdriver.nix ./hardware/pcmcia.nix ./hardware/printers.nix ./hardware/raid/hpsa.nix ./hardware/rtl-sdr.nix ./hardware/saleae-logic.nix + ./hardware/sata.nix + ./hardware/sensor/hddtemp.nix + ./hardware/sensor/iio.nix ./hardware/steam-hardware.nix ./hardware/system-76.nix ./hardware/tuxedo-keyboard.nix ./hardware/ubertooth.nix - ./hardware/usb-wwan.nix - ./hardware/usb-storage.nix - ./hardware/onlykey/default.nix - ./hardware/opentabletdriver.nix - ./hardware/sata.nix - ./hardware/wooting.nix ./hardware/uinput.nix + ./hardware/usb-storage.nix + ./hardware/usb-wwan.nix ./hardware/video/amdgpu-pro.nix - ./hardware/video/capture/mwprocapture.nix ./hardware/video/bumblebee.nix + ./hardware/video/capture/mwprocapture.nix ./hardware/video/displaylink.nix ./hardware/video/hidpi.nix ./hardware/video/nvidia.nix ./hardware/video/switcheroo-control.nix ./hardware/video/uvcvideo/default.nix ./hardware/video/webcam/facetimehd.nix + ./hardware/wooting.nix ./hardware/xone.nix ./hardware/xpadneo.nix ./i18n/input-method/default.nix @@ -105,40 +105,40 @@ ./i18n/input-method/fcitx5.nix ./i18n/input-method/hime.nix ./i18n/input-method/ibus.nix + ./i18n/input-method/kime.nix ./i18n/input-method/nabi.nix ./i18n/input-method/uim.nix - ./i18n/input-method/kime.nix ./installer/tools/tools.nix ./misc/assertions.nix ./misc/crashdump.nix ./misc/documentation.nix ./misc/extra-arguments.nix ./misc/ids.nix - ./misc/lib.nix ./misc/label.nix + ./misc/lib.nix ./misc/locate.nix ./misc/man-db.nix ./misc/mandoc.nix ./misc/meta.nix + ./misc/nixops-autoluks.nix ./misc/nixpkgs.nix ./misc/passthru.nix ./misc/version.nix ./misc/wordlist.nix - ./misc/nixops-autoluks.nix - ./programs/_1password.nix ./programs/_1password-gui.nix + ./programs/_1password.nix ./programs/adb.nix ./programs/appgate-sdp.nix ./programs/atop.nix ./programs/ausweisapp.nix ./programs/autojump.nix ./programs/bandwhich.nix - ./programs/bash/bash.nix + ./programs/bash-my-aws.nix ./programs/bash/bash-completion.nix + ./programs/bash/bash.nix ./programs/bash/blesh.nix ./programs/bash/ls-colors.nix ./programs/bash/undistract-me.nix - ./programs/bash-my-aws.nix ./programs/bcc.nix ./programs/browserpass.nix ./programs/calls.nix @@ -173,8 +173,8 @@ ./programs/gnome-disks.nix ./programs/gnome-documents.nix ./programs/gnome-terminal.nix - ./programs/gpaste.nix ./programs/gnupg.nix + ./programs/gpaste.nix ./programs/gphoto2.nix ./programs/haguichi.nix ./programs/hamster.nix @@ -182,29 +182,29 @@ ./programs/iftop.nix ./programs/iotop.nix ./programs/java.nix - ./programs/k40-whisperer.nix - ./programs/kclock.nix ./programs/k3b.nix - ./programs/kdeconnect.nix + ./programs/k40-whisperer.nix ./programs/kbdlight.nix + ./programs/kclock.nix + ./programs/kdeconnect.nix ./programs/less.nix ./programs/liboping.nix ./programs/light.nix ./programs/mdevctl.nix ./programs/mepo.nix - ./programs/mosh.nix ./programs/mininet.nix + ./programs/mosh.nix ./programs/msmtp.nix ./programs/mtr.nix ./programs/nano.nix ./programs/nbd.nix - ./programs/nix-ld.nix ./programs/neovim.nix ./programs/nethoscope.nix + ./programs/nix-ld.nix ./programs/nm-applet.nix ./programs/nncp.nix - ./programs/npm.nix ./programs/noisetorch.nix + ./programs/npm.nix ./programs/oblogout.nix ./programs/openvpn3.nix ./programs/pantheon-tweaks.nix @@ -215,21 +215,21 @@ ./programs/rog-control-center.nix ./programs/rust-motd.nix ./programs/screen.nix - ./programs/sedutil.nix ./programs/seahorse.nix + ./programs/sedutil.nix + ./programs/shadow.nix + ./programs/singularity.nix ./programs/skim.nix ./programs/slock.nix - ./programs/shadow.nix ./programs/spacefm.nix - ./programs/singularity.nix ./programs/ssh.nix - ./programs/sysdig.nix - ./programs/systemtap.nix ./programs/starship.nix ./programs/steam.nix ./programs/streamdeck-ui.nix ./programs/sway.nix + ./programs/sysdig.nix ./programs/system-config-printer.nix + ./programs/systemtap.nix ./programs/thefuck.nix ./programs/thunar.nix ./programs/tmux.nix @@ -252,10 +252,10 @@ ./programs/yabar.nix ./programs/zmap.nix ./programs/zsh/oh-my-zsh.nix - ./programs/zsh/zsh.nix ./programs/zsh/zsh-autoenv.nix ./programs/zsh/zsh-autosuggestions.nix ./programs/zsh/zsh-syntax-highlighting.nix + ./programs/zsh/zsh.nix ./rename.nix ./security/acme ./security/apparmor.nix @@ -264,23 +264,23 @@ ./security/ca.nix ./security/chromium-suid-sandbox.nix ./security/dhparams.nix + ./security/doas.nix ./security/duosec.nix ./security/google_oslogin.nix ./security/lock-kernel-modules.nix ./security/misc.nix ./security/oath.nix ./security/pam.nix - ./security/pam_usb.nix ./security/pam_mount.nix + ./security/pam_usb.nix ./security/please.nix ./security/polkit.nix ./security/rngd.nix ./security/rtkit.nix - ./security/wrappers/default.nix ./security/sudo.nix - ./security/doas.nix ./security/systemd-confinement.nix ./security/tpm2.nix + ./security/wrappers/default.nix ./services/admin/meshcentral.nix ./services/admin/oxidized.nix ./services/admin/pgadmin.nix @@ -295,17 +295,17 @@ ./services/audio/jack.nix ./services/audio/jmusicbot.nix ./services/audio/liquidsoap.nix + ./services/audio/mopidy.nix ./services/audio/mpd.nix ./services/audio/mpdscribble.nix - ./services/audio/mopidy.nix + ./services/audio/navidrome.nix ./services/audio/networkaudiod.nix ./services/audio/roon-bridge.nix - ./services/audio/navidrome.nix ./services/audio/roon-server.nix ./services/audio/slimserver.nix ./services/audio/snapserver.nix - ./services/audio/squeezelite.nix ./services/audio/spotifyd.nix + ./services/audio/squeezelite.nix ./services/audio/ympd.nix ./services/backup/automysqlbackup.nix ./services/backup/bacula.nix @@ -317,8 +317,8 @@ ./services/backup/mysql-backup.nix ./services/backup/postgresql-backup.nix ./services/backup/postgresql-wal-receiver.nix - ./services/backup/restic.nix ./services/backup/restic-rest-server.nix + ./services/backup/restic.nix ./services/backup/rsnapshot.nix ./services/backup/sanoid.nix ./services/backup/syncoid.nix @@ -326,15 +326,15 @@ ./services/backup/tsm.nix ./services/backup/zfs-replication.nix ./services/backup/znapzend.nix - ./services/blockchain/ethereum/geth.nix - ./services/blockchain/ethereum/erigon.nix - ./services/blockchain/ethereum/lighthouse.nix ./services/backup/zrepl.nix + ./services/blockchain/ethereum/erigon.nix + ./services/blockchain/ethereum/geth.nix + ./services/blockchain/ethereum/lighthouse.nix ./services/cluster/corosync/default.nix ./services/cluster/hadoop/default.nix ./services/cluster/k3s/default.nix - ./services/cluster/kubernetes/addons/dns.nix ./services/cluster/kubernetes/addon-manager.nix + ./services/cluster/kubernetes/addons/dns.nix ./services/cluster/kubernetes/apiserver.nix ./services/cluster/kubernetes/controller-manager.nix ./services/cluster/kubernetes/default.nix @@ -354,14 +354,14 @@ ./services/continuous-integration/buildbot/master.nix ./services/continuous-integration/buildbot/worker.nix ./services/continuous-integration/buildkite-agents.nix - ./services/continuous-integration/hail.nix - ./services/continuous-integration/hercules-ci-agent/default.nix - ./services/continuous-integration/hydra/default.nix ./services/continuous-integration/github-runner.nix ./services/continuous-integration/github-runners.nix ./services/continuous-integration/gitlab-runner.nix ./services/continuous-integration/gocd-agent/default.nix ./services/continuous-integration/gocd-server/default.nix + ./services/continuous-integration/hail.nix + ./services/continuous-integration/hercules-ci-agent/default.nix + ./services/continuous-integration/hydra/default.nix ./services/continuous-integration/jenkins/default.nix ./services/continuous-integration/jenkins/job-builder.nix ./services/continuous-integration/jenkins/slave.nix @@ -370,8 +370,8 @@ ./services/databases/clickhouse.nix ./services/databases/cockroachdb.nix ./services/databases/couchdb.nix - ./services/databases/dragonflydb.nix ./services/databases/dgraph.nix + ./services/databases/dragonflydb.nix ./services/databases/firebird.nix ./services/databases/foundationdb.nix ./services/databases/hbase-standalone.nix @@ -398,12 +398,6 @@ ./services/desktops/espanso.nix ./services/desktops/flatpak.nix ./services/desktops/geoclue2.nix - ./services/desktops/gsignond.nix - ./services/desktops/gvfs.nix - ./services/desktops/malcontent.nix - ./services/desktops/pipewire/pipewire.nix - ./services/desktops/pipewire/pipewire-media-session.nix - ./services/desktops/pipewire/wireplumber.nix ./services/desktops/gnome/at-spi2-core.nix ./services/desktops/gnome/evolution-data-server.nix ./services/desktops/gnome/glib-networking.nix @@ -417,27 +411,33 @@ ./services/desktops/gnome/gnome-user-share.nix ./services/desktops/gnome/rygel.nix ./services/desktops/gnome/sushi.nix - ./services/desktops/gnome/tracker.nix ./services/desktops/gnome/tracker-miners.nix + ./services/desktops/gnome/tracker.nix + ./services/desktops/gsignond.nix + ./services/desktops/gvfs.nix + ./services/desktops/malcontent.nix ./services/desktops/neard.nix + ./services/desktops/pipewire/pipewire-media-session.nix + ./services/desktops/pipewire/pipewire.nix + ./services/desktops/pipewire/wireplumber.nix ./services/desktops/profile-sync-daemon.nix ./services/desktops/system-config-printer.nix ./services/desktops/telepathy.nix ./services/desktops/tumbler.nix ./services/desktops/zeitgeist.nix - ./services/development/bloop.nix ./services/development/blackfire.nix + ./services/development/bloop.nix ./services/development/distccd.nix ./services/development/hoogle.nix ./services/development/jupyter/default.nix ./services/development/jupyterhub/default.nix - ./services/development/rstudio-server/default.nix ./services/development/lorri.nix + ./services/development/rstudio-server/default.nix ./services/development/zammad.nix ./services/display-managers/greetd.nix ./services/editors/emacs.nix - ./services/editors/infinoted.nix ./services/editors/haste.nix + ./services/editors/infinoted.nix ./services/finance/odoo.nix ./services/games/asf.nix ./services/games/crossfire-server.nix @@ -483,22 +483,22 @@ ./services/hardware/spacenavd.nix ./services/hardware/supergfxd.nix ./services/hardware/tcsd.nix - ./services/hardware/tlp.nix + ./services/hardware/thermald.nix ./services/hardware/thinkfan.nix ./services/hardware/throttled.nix + ./services/hardware/tlp.nix ./services/hardware/trezord.nix ./services/hardware/triggerhappy.nix ./services/hardware/udev.nix ./services/hardware/udisks2.nix + ./services/hardware/undervolt.nix ./services/hardware/upower.nix ./services/hardware/usbmuxd.nix ./services/hardware/usbrelayd.nix - ./services/hardware/thermald.nix - ./services/hardware/undervolt.nix ./services/hardware/vdr.nix + ./services/home-automation/evcc.nix ./services/home-automation/home-assistant.nix ./services/home-automation/zigbee2mqtt.nix - ./services/home-automation/evcc.nix ./services/logging/SystemdJournal2Gelf.nix ./services/logging/awstats.nix ./services/logging/filebeat.nix @@ -530,22 +530,22 @@ ./services/mail/mailhog.nix ./services/mail/mailman.nix ./services/mail/mlmmj.nix + ./services/mail/nullmailer.nix ./services/mail/offlineimap.nix ./services/mail/opendkim.nix ./services/mail/opensmtpd.nix ./services/mail/pfix-srsd.nix ./services/mail/postfix.nix ./services/mail/postfixadmin.nix - ./services/mail/postsrsd.nix ./services/mail/postgrey.nix + ./services/mail/postsrsd.nix ./services/mail/public-inbox.nix - ./services/mail/spamassassin.nix + ./services/mail/roundcube.nix ./services/mail/rspamd.nix ./services/mail/rss2email.nix - ./services/mail/roundcube.nix ./services/mail/schleuder.nix + ./services/mail/spamassassin.nix ./services/mail/sympa.nix - ./services/mail/nullmailer.nix ./services/matrix/appservice-discord.nix ./services/matrix/appservice-irc.nix ./services/matrix/conduit.nix @@ -555,8 +555,8 @@ ./services/matrix/mjolnir.nix ./services/matrix/pantalaimon.nix ./services/matrix/synapse.nix - ./services/misc/ananicy.nix ./services/misc/airsonic.nix + ./services/misc/ananicy.nix ./services/misc/ankisyncd.nix ./services/misc/apache-kafka.nix ./services/misc/atuin.nix @@ -566,22 +566,22 @@ ./services/misc/beanstalkd.nix ./services/misc/bees.nix ./services/misc/bepasty.nix - ./services/misc/canto-daemon.nix ./services/misc/calibre-server.nix + ./services/misc/canto-daemon.nix ./services/misc/cfdyndns.nix - ./services/misc/clipmenu.nix - ./services/misc/clipcat.nix - ./services/misc/cpuminer-cryptonight.nix ./services/misc/cgminer.nix + ./services/misc/clipcat.nix + ./services/misc/clipmenu.nix ./services/misc/confd.nix + ./services/misc/cpuminer-cryptonight.nix ./services/misc/devmon.nix ./services/misc/dictd.nix - ./services/misc/duckling.nix - ./services/misc/dwm-status.nix - ./services/misc/dysnomia.nix ./services/misc/disnix.nix ./services/misc/docker-registry.nix ./services/misc/domoticz.nix + ./services/misc/duckling.nix + ./services/misc/dwm-status.nix + ./services/misc/dysnomia.nix ./services/misc/errbot.nix ./services/misc/etcd.nix ./services/misc/etebase-server.nix @@ -593,16 +593,16 @@ ./services/misc/gammu-smsd.nix ./services/misc/geoipupdate.nix ./services/misc/gitea.nix - #./services/misc/gitit.nix + # ./services/misc/gitit.nix ./services/misc/gitlab.nix ./services/misc/gitolite.nix ./services/misc/gitweb.nix ./services/misc/gogs.nix ./services/misc/gollum.nix ./services/misc/gpsd.nix + ./services/misc/greenclip.nix ./services/misc/headphones.nix ./services/misc/heisenbridge.nix - ./services/misc/greenclip.nix ./services/misc/ihaskell.nix ./services/misc/input-remapper.nix ./services/misc/irkerd.nix @@ -610,11 +610,11 @@ ./services/misc/jellyfin.nix ./services/misc/klipper.nix ./services/misc/languagetool.nix - ./services/misc/logkeys.nix ./services/misc/leaps.nix - ./services/misc/lidarr.nix ./services/misc/libreddit.nix + ./services/misc/lidarr.nix ./services/misc/lifecycled.nix + ./services/misc/logkeys.nix ./services/misc/mame.nix ./services/misc/mbpfan.nix ./services/misc/mediatomb.nix @@ -639,23 +639,22 @@ ./services/misc/paperless.nix ./services/misc/parsoid.nix ./services/misc/persistent-evdev.nix + ./services/misc/pinnwand.nix ./services/misc/plex.nix ./services/misc/plikd.nix ./services/misc/podgrab.nix ./services/misc/polaris.nix ./services/misc/portunus.nix ./services/misc/prowlarr.nix - ./services/misc/tautulli.nix - ./services/misc/pinnwand.nix ./services/misc/pykms.nix ./services/misc/radarr.nix ./services/misc/redmine.nix - ./services/misc/rippled.nix ./services/misc/ripple-data-api.nix + ./services/misc/rippled.nix ./services/misc/rmfakecloud.nix - ./services/misc/serviio.nix ./services/misc/safeeyes.nix ./services/misc/sdrplay.nix + ./services/misc/serviio.nix ./services/misc/sickbeard.nix ./services/misc/signald.nix ./services/misc/siproxd.nix @@ -673,6 +672,7 @@ ./services/misc/sysprof.nix ./services/misc/tandoor-recipes.nix ./services/misc/taskserver + ./services/misc/tautulli.nix ./services/misc/tiddlywiki.nix ./services/misc/tp-auto-kbbl.nix ./services/misc/tzupdate.nix @@ -692,10 +692,10 @@ ./services/monitoring/datadog-agent.nix ./services/monitoring/do-agent.nix ./services/monitoring/fusion-inventory.nix - ./services/monitoring/grafana.nix ./services/monitoring/grafana-agent.nix ./services/monitoring/grafana-image-renderer.nix ./services/monitoring/grafana-reporter.nix + ./services/monitoring/grafana.nix ./services/monitoring/graphite.nix ./services/monitoring/hdaps.nix ./services/monitoring/heapster.nix @@ -713,15 +713,15 @@ ./services/monitoring/nagios.nix ./services/monitoring/netdata.nix ./services/monitoring/parsedmarc.nix - ./services/monitoring/prometheus/default.nix ./services/monitoring/prometheus/alertmanager.nix + ./services/monitoring/prometheus/default.nix ./services/monitoring/prometheus/exporters.nix ./services/monitoring/prometheus/pushgateway.nix ./services/monitoring/prometheus/sachet.nix ./services/monitoring/prometheus/xmpp-alerts.nix - ./services/monitoring/riemann.nix ./services/monitoring/riemann-dash.nix ./services/monitoring/riemann-tools.nix + ./services/monitoring/riemann.nix ./services/monitoring/scollector.nix ./services/monitoring/smartd.nix ./services/monitoring/sysstat.nix @@ -732,38 +732,38 @@ ./services/monitoring/tuptime.nix ./services/monitoring/unpoller.nix ./services/monitoring/ups.nix + ./services/monitoring/uptime-kuma.nix ./services/monitoring/uptime.nix ./services/monitoring/vmagent.nix - ./services/monitoring/uptime-kuma.nix ./services/monitoring/vnstat.nix ./services/monitoring/zabbix-agent.nix ./services/monitoring/zabbix-proxy.nix ./services/monitoring/zabbix-server.nix ./services/network-filesystems/cachefilesd.nix + ./services/network-filesystems/ceph.nix ./services/network-filesystems/davfs2.nix + ./services/network-filesystems/diod.nix ./services/network-filesystems/drbd.nix ./services/network-filesystems/glusterfs.nix ./services/network-filesystems/kbfs.nix ./services/network-filesystems/kubo.nix ./services/network-filesystems/litestream/default.nix + ./services/network-filesystems/moosefs.nix ./services/network-filesystems/netatalk.nix ./services/network-filesystems/nfsd.nix - ./services/network-filesystems/moosefs.nix ./services/network-filesystems/openafs/client.nix ./services/network-filesystems/openafs/server.nix - ./services/network-filesystems/orangefs/server.nix ./services/network-filesystems/orangefs/client.nix + ./services/network-filesystems/orangefs/server.nix ./services/network-filesystems/rsyncd.nix - ./services/network-filesystems/samba.nix ./services/network-filesystems/samba-wsdd.nix + ./services/network-filesystems/samba.nix ./services/network-filesystems/tahoe.nix - ./services/network-filesystems/diod.nix ./services/network-filesystems/u9fs.nix - ./services/network-filesystems/webdav.nix ./services/network-filesystems/webdav-server-rs.nix - ./services/network-filesystems/yandex-disk.nix + ./services/network-filesystems/webdav.nix ./services/network-filesystems/xtreemfs.nix - ./services/network-filesystems/ceph.nix + ./services/network-filesystems/yandex-disk.nix ./services/networking/3proxy.nix ./services/networking/adguardhome.nix ./services/networking/amuled.nix @@ -771,16 +771,16 @@ ./services/networking/aria2.nix ./services/networking/asterisk.nix ./services/networking/atftpd.nix + ./services/networking/autossh.nix ./services/networking/avahi-daemon.nix ./services/networking/babeld.nix - ./services/networking/bee.nix ./services/networking/bee-clef.nix + ./services/networking/bee.nix ./services/networking/biboumi.nix ./services/networking/bind.nix - ./services/networking/bitcoind.nix - ./services/networking/autossh.nix - ./services/networking/bird.nix ./services/networking/bird-lg.nix + ./services/networking/bird.nix + ./services/networking/bitcoind.nix ./services/networking/bitlbee.nix ./services/networking/blockbook-frontend.nix ./services/networking/blocky.nix @@ -807,8 +807,6 @@ ./services/networking/dnsdist.nix ./services/networking/dnsmasq.nix ./services/networking/doh-proxy-rust.nix - ./services/networking/ncdns.nix - ./services/networking/nomad.nix ./services/networking/ejabberd.nix ./services/networking/envoy.nix ./services/networking/epmd.nix @@ -843,10 +841,10 @@ ./services/networking/htpdate.nix ./services/networking/https-dns-proxy.nix ./services/networking/hylafax/default.nix - ./services/networking/i2pd.nix ./services/networking/i2p.nix - ./services/networking/icecream/scheduler.nix + ./services/networking/i2pd.nix ./services/networking/icecream/daemon.nix + ./services/networking/icecream/scheduler.nix ./services/networking/inspircd.nix ./services/networking/iodine.nix ./services/networking/iperf3.nix @@ -871,14 +869,16 @@ ./services/networking/lxd-image-server.nix ./services/networking/magic-wormhole-mailbox-server.nix ./services/networking/matterbridge.nix - ./services/networking/mjpg-streamer.nix ./services/networking/minidlna.nix ./services/networking/miniupnpd.nix + ./services/networking/miredo.nix + ./services/networking/mjpg-streamer.nix + ./services/networking/mmsd.nix ./services/networking/mosquitto.nix ./services/networking/monero.nix ./services/networking/morty.nix + ./services/networking/mosquitto.nix ./services/networking/mozillavpn.nix - ./services/networking/miredo.nix ./services/networking/mstpd.nix ./services/networking/mtprotoproxy.nix ./services/networking/mtr-exporter.nix @@ -891,18 +891,20 @@ ./services/networking/nat.nix ./services/networking/nats.nix ./services/networking/nbd.nix + ./services/networking/ncdns.nix ./services/networking/ndppd.nix ./services/networking/nebula.nix ./services/networking/netbird.nix ./services/networking/networkmanager.nix ./services/networking/nextdns.nix ./services/networking/nftables.nix - ./services/networking/ngircd.nix ./services/networking/nghttpx/default.nix + ./services/networking/ngircd.nix ./services/networking/nix-serve.nix ./services/networking/nix-store-gcs-proxy.nix ./services/networking/nixops-dns.nix ./services/networking/nntp-proxy.nix + ./services/networking/nomad.nix ./services/networking/nsd.nix ./services/networking/ntopng.nix ./services/networking/ntp/chrony.nix @@ -918,20 +920,20 @@ ./services/networking/openvpn.nix ./services/networking/ostinato.nix ./services/networking/owamp.nix + ./services/networking/pdns-recursor.nix ./services/networking/pdnsd.nix ./services/networking/pixiecore.nix ./services/networking/pleroma.nix ./services/networking/polipo.nix ./services/networking/powerdns.nix - ./services/networking/pdns-recursor.nix ./services/networking/pppd.nix ./services/networking/pptpd.nix ./services/networking/prayer.nix ./services/networking/privoxy.nix ./services/networking/prosody.nix ./services/networking/quassel.nix - ./services/networking/quorum.nix ./services/networking/quicktun.nix + ./services/networking/quorum.nix ./services/networking/r53-ddns.nix ./services/networking/radicale.nix ./services/networking/radvd.nix @@ -945,58 +947,56 @@ ./services/networking/sabnzbd.nix ./services/networking/seafile.nix ./services/networking/searx.nix - ./services/networking/skydns.nix ./services/networking/shadowsocks.nix ./services/networking/shairport-sync.nix ./services/networking/shellhub-agent.nix ./services/networking/shorewall.nix ./services/networking/shorewall6.nix ./services/networking/shout.nix - ./services/networking/sniproxy.nix - ./services/networking/snowflake-proxy.nix + ./services/networking/skydns.nix ./services/networking/smartdns.nix ./services/networking/smokeping.nix + ./services/networking/sniproxy.nix + ./services/networking/snowflake-proxy.nix ./services/networking/softether.nix - ./services/networking/solanum.nix ./services/networking/soju.nix + ./services/networking/solanum.nix ./services/networking/spacecookie.nix ./services/networking/spiped.nix ./services/networking/squid.nix - ./services/networking/sslh.nix ./services/networking/ssh/lshd.nix ./services/networking/ssh/sshd.nix - ./services/networking/strongswan.nix + ./services/networking/sslh.nix ./services/networking/strongswan-swanctl/module.nix - ./services/networking/stunnel.nix + ./services/networking/strongswan.nix ./services/networking/stubby.nix + ./services/networking/stunnel.nix ./services/networking/supplicant.nix ./services/networking/supybot.nix - ./services/networking/syncthing.nix - ./services/networking/syncthing-relay.nix ./services/networking/syncplay.nix + ./services/networking/syncthing-relay.nix + ./services/networking/syncthing.nix ./services/networking/tailscale.nix ./services/networking/tayga.nix ./services/networking/tcpcrypt.nix ./services/networking/teamspeak3.nix ./services/networking/tedicross.nix - ./services/networking/tetrd.nix ./services/networking/teleport.nix + ./services/networking/tetrd.nix + ./services/networking/tftpd.nix ./services/networking/thelounge.nix ./services/networking/tinc.nix ./services/networking/tinydns.nix - ./services/networking/tftpd.nix ./services/networking/tmate-ssh-server.nix - ./services/networking/trickster.nix ./services/networking/tox-bootstrapd.nix ./services/networking/tox-node.nix ./services/networking/toxvpn.nix + ./services/networking/trickster.nix ./services/networking/tvheadend.nix ./services/networking/twingate.nix ./services/networking/ucarp.nix ./services/networking/unbound.nix ./services/networking/unifi.nix - ./services/video/unifi-video.nix - ./services/video/rtsp-simple-server.nix ./services/networking/uptermd.nix ./services/networking/v2ray.nix ./services/networking/v2raya.nix @@ -1008,10 +1008,10 @@ ./services/networking/wg-quick.nix ./services/networking/wireguard.nix ./services/networking/wpa_supplicant.nix + ./services/networking/x2goserver.nix ./services/networking/xandikos.nix ./services/networking/xinetd.nix ./services/networking/xl2tpd.nix - ./services/networking/x2goserver.nix ./services/networking/xray.nix ./services/networking/xrdp.nix ./services/networking/yggdrasil.nix @@ -1024,8 +1024,8 @@ ./services/scheduling/atd.nix ./services/scheduling/cron.nix ./services/scheduling/fcron.nix - ./services/search/elasticsearch.nix ./services/search/elasticsearch-curator.nix + ./services/search/elasticsearch.nix ./services/search/hound.nix ./services/search/kibana.nix ./services/search/meilisearch.nix @@ -1034,25 +1034,25 @@ ./services/security/certmgr.nix ./services/security/cfssl.nix ./services/security/clamav.nix - ./services/security/endlessh.nix ./services/security/endlessh-go.nix + ./services/security/endlessh.nix ./services/security/fail2ban.nix ./services/security/fprintd.nix ./services/security/haka.nix ./services/security/haveged.nix ./services/security/hockeypuck.nix - ./services/security/hologram-server.nix ./services/security/hologram-agent.nix - ./services/security/kanidm.nix + ./services/security/hologram-server.nix ./services/security/infnoise.nix + ./services/security/kanidm.nix ./services/security/munge.nix ./services/security/nginx-sso.nix ./services/security/oauth2_proxy.nix ./services/security/oauth2_proxy_nginx.nix ./services/security/opensnitch.nix ./services/security/pass-secret-service.nix - ./services/security/privacyidea.nix ./services/security/physlock.nix + ./services/security/privacyidea.nix ./services/security/shibboleth-sp.nix ./services/security/sks.nix ./services/security/sshguard.nix @@ -1071,8 +1071,8 @@ ./services/system/cloud-init.nix ./services/system/dbus.nix ./services/system/earlyoom.nix - ./services/system/localtimed.nix ./services/system/kerberos/default.nix + ./services/system/localtimed.nix ./services/system/nscd.nix ./services/system/saslauthd.nix ./services/system/self-deploy.nix @@ -1089,19 +1089,21 @@ ./services/ttys/getty.nix ./services/ttys/gpm.nix ./services/ttys/kmscon.nix - ./services/wayland/cage.nix ./services/video/epgstation/default.nix ./services/video/mirakurun.nix ./services/video/replay-sorcery.nix + ./services/video/rtsp-simple-server.nix + ./services/video/unifi-video.nix + ./services/wayland/cage.nix ./services/web-apps/alps.nix ./services/web-apps/atlassian/confluence.nix ./services/web-apps/atlassian/crowd.nix ./services/web-apps/atlassian/jira.nix + ./services/web-apps/baget.nix ./services/web-apps/bookstack.nix ./services/web-apps/calibre-web.nix - ./services/web-apps/code-server.nix - ./services/web-apps/baget.nix ./services/web-apps/changedetection-io.nix + ./services/web-apps/code-server.nix ./services/web-apps/convos.nix ./services/web-apps/dex.nix ./services/web-apps/discourse.nix @@ -1122,16 +1124,17 @@ ./services/web-apps/icingaweb2/icingaweb2.nix ./services/web-apps/icingaweb2/module-monitoring.nix ./services/web-apps/ihatemoney + ./services/web-apps/invidious.nix + ./services/web-apps/invoiceplane.nix ./services/web-apps/isso.nix ./services/web-apps/jirafeau.nix ./services/web-apps/jitsi-meet.nix ./services/web-apps/keycloak.nix ./services/web-apps/komga.nix ./services/web-apps/lemmy.nix - ./services/web-apps/invidious.nix - ./services/web-apps/invoiceplane.nix ./services/web-apps/limesurvey.nix ./services/web-apps/mastodon.nix + ./services/web-apps/matomo.nix ./services/web-apps/mattermost.nix ./services/web-apps/mediawiki.nix ./services/web-apps/miniflux.nix @@ -1141,30 +1144,29 @@ ./services/web-apps/nexus.nix ./services/web-apps/nifi.nix ./services/web-apps/node-red.nix - ./services/web-apps/phylactery.nix ./services/web-apps/onlyoffice.nix - ./services/web-apps/pict-rs.nix - ./services/web-apps/peertube.nix - ./services/web-apps/peering-manager.nix - ./services/web-apps/plantuml-server.nix - ./services/web-apps/plausible.nix - ./services/web-apps/pgpkeyserver-lite.nix - ./services/web-apps/powerdns-admin.nix - ./services/web-apps/prosody-filer.nix - ./services/web-apps/matomo.nix ./services/web-apps/openwebrx.nix ./services/web-apps/outline.nix + ./services/web-apps/peering-manager.nix + ./services/web-apps/peertube.nix + ./services/web-apps/pgpkeyserver-lite.nix + ./services/web-apps/phylactery.nix + ./services/web-apps/pict-rs.nix + ./services/web-apps/plantuml-server.nix + ./services/web-apps/plausible.nix + ./services/web-apps/powerdns-admin.nix + ./services/web-apps/prosody-filer.nix ./services/web-apps/restya-board.nix - ./services/web-apps/sogo.nix ./services/web-apps/rss-bridge.nix - ./services/web-apps/tt-rss.nix - ./services/web-apps/trilium.nix ./services/web-apps/selfoss.nix ./services/web-apps/shiori.nix ./services/web-apps/snipe-it.nix + ./services/web-apps/sogo.nix + ./services/web-apps/trilium.nix + ./services/web-apps/tt-rss.nix ./services/web-apps/vikunja.nix - ./services/web-apps/wiki-js.nix ./services/web-apps/whitebophir.nix + ./services/web-apps/wiki-js.nix ./services/web-apps/wordpress.nix ./services/web-apps/writefreely.nix ./services/web-apps/youtrack.nix @@ -1178,6 +1180,7 @@ ./services/web-servers/hitch/default.nix ./services/web-servers/hydron.nix ./services/web-servers/jboss/default.nix + ./services/web-servers/keter ./services/web-servers/lighttpd/cgit.nix ./services/web-servers/lighttpd/collectd.nix ./services/web-servers/lighttpd/default.nix @@ -1190,21 +1193,16 @@ ./services/web-servers/nginx/gitweb.nix ./services/web-servers/phpfpm/default.nix ./services/web-servers/pomerium.nix - ./services/web-servers/unit/default.nix ./services/web-servers/tomcat.nix - ./services/web-servers/keter ./services/web-servers/traefik.nix ./services/web-servers/trafficserver/default.nix ./services/web-servers/ttyd.nix + ./services/web-servers/unit/default.nix ./services/web-servers/uwsgi.nix ./services/web-servers/varnish/default.nix ./services/web-servers/zope2.nix - ./services/x11/extra-layouts.nix ./services/x11/clight.nix ./services/x11/colord.nix - ./services/x11/picom.nix - ./services/x11/unclutter.nix - ./services/x11/unclutter-xfixes.nix ./services/x11/desktop-managers/default.nix ./services/x11/display-managers/default.nix ./services/x11/display-managers/gdm.nix @@ -1214,24 +1212,30 @@ ./services/x11/display-managers/startx.nix ./services/x11/display-managers/sx.nix ./services/x11/display-managers/xpra.nix + ./services/x11/extra-layouts.nix ./services/x11/fractalart.nix + ./services/x11/gdk-pixbuf.nix + ./services/x11/hardware/cmt.nix + ./services/x11/hardware/digimend.nix ./services/x11/hardware/libinput.nix ./services/x11/hardware/synaptics.nix ./services/x11/hardware/wacom.nix - ./services/x11/hardware/digimend.nix - ./services/x11/hardware/cmt.nix - ./services/x11/gdk-pixbuf.nix ./services/x11/imwheel.nix + ./services/x11/picom.nix ./services/x11/redshift.nix ./services/x11/touchegg.nix + ./services/x11/unclutter-xfixes.nix + ./services/x11/unclutter.nix ./services/x11/urserver.nix ./services/x11/urxvtd.nix ./services/x11/window-managers/awesome.nix - ./services/x11/window-managers/default.nix + ./services/x11/window-managers/bspwm.nix ./services/x11/window-managers/clfswm.nix + ./services/x11/window-managers/default.nix ./services/x11/window-managers/fluxbox.nix ./services/x11/window-managers/icewm.nix ./services/x11/window-managers/bspwm.nix + ./services/x11/window-managers/katriawm.nix ./services/x11/window-managers/metacity.nix ./services/x11/window-managers/none.nix ./services/x11/window-managers/twm.nix @@ -1244,13 +1248,14 @@ ./services/x11/xserver.nix ./system/activation/activation-script.nix ./system/activation/specialisation.nix + ./system/activation/bootspec.nix ./system/activation/top-level.nix ./system/boot/binfmt.nix ./system/boot/emergency-mode.nix ./system/boot/grow-partition.nix ./system/boot/initrd-network.nix - ./system/boot/initrd-ssh.nix ./system/boot/initrd-openvpn.nix + ./system/boot/initrd-ssh.nix ./system/boot/kernel.nix ./system/boot/kexec.nix ./system/boot/loader/efi.nix @@ -1259,6 +1264,7 @@ ./system/boot/loader/grub/grub.nix ./system/boot/loader/grub/ipxe.nix ./system/boot/loader/grub/memtest.nix + ./system/boot/loader/external/external.nix ./system/boot/loader/init-script/init-script.nix ./system/boot/loader/loader.nix ./system/boot/loader/raspberrypi/raspberrypi.nix @@ -1309,35 +1315,35 @@ ./tasks/filesystems/xfs.nix ./tasks/filesystems/zfs.nix ./tasks/lvm.nix - ./tasks/network-interfaces.nix - ./tasks/network-interfaces-systemd.nix ./tasks/network-interfaces-scripted.nix + ./tasks/network-interfaces-systemd.nix + ./tasks/network-interfaces.nix + ./tasks/powertop.nix ./tasks/scsi-link-power-management.nix ./tasks/snapraid.nix ./tasks/stratis.nix ./tasks/swraid.nix ./tasks/trackpoint.nix - ./tasks/powertop.nix ./testing/service-runner.nix + ./virtualisation/amazon-options.nix ./virtualisation/anbox.nix ./virtualisation/appvm.nix ./virtualisation/build-vm.nix ./virtualisation/container-config.nix ./virtualisation/containerd.nix ./virtualisation/containers.nix - ./virtualisation/nixos-containers.nix - ./virtualisation/oci-containers.nix ./virtualisation/cri-o.nix - ./virtualisation/docker.nix ./virtualisation/docker-rootless.nix + ./virtualisation/docker.nix ./virtualisation/ecs-agent.nix + ./virtualisation/hyperv-guest.nix + ./virtualisation/kvmgt.nix ./virtualisation/libvirtd.nix ./virtualisation/lxc.nix ./virtualisation/lxcfs.nix ./virtualisation/lxd.nix - ./virtualisation/amazon-options.nix - ./virtualisation/hyperv-guest.nix - ./virtualisation/kvmgt.nix + ./virtualisation/nixos-containers.nix + ./virtualisation/oci-containers.nix ./virtualisation/openstack-options.nix ./virtualisation/openvswitch.nix ./virtualisation/parallels-guest.nix @@ -1350,7 +1356,7 @@ ./virtualisation/vmware-guest.nix ./virtualisation/vmware-host.nix ./virtualisation/waydroid.nix - ./virtualisation/xen-dom0.nix ./virtualisation/xe-guest-utilities.nix + ./virtualisation/xen-dom0.nix { documentation.nixos.extraModules = [ ./virtualisation/qemu-vm.nix ]; } ] diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix index 0ae3d4180ae7..ae8e1dd8463b 100644 --- a/nixos/modules/services/backup/borgbackup.nix +++ b/nixos/modules/services/backup/borgbackup.nix @@ -11,7 +11,11 @@ let mkExcludeFile = cfg: # Write each exclude pattern to a new line - pkgs.writeText "excludefile" (concatStringsSep "\n" cfg.exclude); + pkgs.writeText "excludefile" (concatMapStrings (s: s + "\n") cfg.exclude); + + mkPatternsFile = cfg: + # Write each pattern to a new line + pkgs.writeText "patternsfile" (concatMapStrings (s: s + "\n") cfg.patterns); mkKeepArgs = cfg: # If cfg.prune.keep e.g. has a yearly attribute, @@ -47,6 +51,7 @@ let borg create $extraArgs \ --compression ${cfg.compression} \ --exclude-from ${mkExcludeFile cfg} \ + --patterns-from ${mkPatternsFile cfg} \ $extraCreateArgs \ "::$archiveName$archiveSuffix" \ ${if cfg.paths == null then "-" else escapeShellArgs cfg.paths} @@ -441,6 +446,21 @@ in { ]; }; + patterns = mkOption { + type = with types; listOf str; + description = lib.mdDoc '' + Include/exclude paths matching the given patterns. The first + matching patterns is used, so if an include pattern (prefix `+`) + matches before an exclude pattern (prefix `-`), the file is + backed up. See [{command}`borg help patterns`](https://borgbackup.readthedocs.io/en/stable/usage/help.html#borg-patterns) for pattern syntax. + ''; + default = [ ]; + example = [ + "+ /home/susan" + "- /home/*" + ]; + }; + readWritePaths = mkOption { type = with types; listOf path; description = lib.mdDoc '' diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index fe7ef48075a7..6665e7a088fc 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -146,6 +146,7 @@ in Name of the user to ensure. ''; }; + ensurePermissions = mkOption { type = types.attrsOf types.str; default = {}; @@ -167,6 +168,154 @@ in } ''; }; + + ensureClauses = mkOption { + description = lib.mdDoc '' + An attrset of clauses to grant to the user. Under the hood this uses the + [ALTER USER syntax](https://www.postgresql.org/docs/current/sql-alteruser.html) for each attrName where + the attrValue is true in the attrSet: + `ALTER USER user.name WITH attrName` + ''; + example = literalExpression '' + { + superuser = true; + createrole = true; + createdb = true; + } + ''; + default = {}; + defaultText = lib.literalMD '' + The default, `null`, means that the user created will have the default permissions assigned by PostgreSQL. Subsequent server starts will not set or unset the clause, so imperative changes are preserved. + ''; + type = types.submodule { + options = let + defaultText = lib.literalMD '' + `null`: do not set. For newly created roles, use PostgreSQL's default. For existing roles, do not touch this clause. + ''; + in { + superuser = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user, created by the ensureUser attr, superuser permissions. From the postgres docs: + + A database superuser bypasses all permission checks, + except the right to log in. This is a dangerous privilege + and should not be used carelessly; it is best to do most + of your work as a role that is not a superuser. To create + a new database superuser, use CREATE ROLE name SUPERUSER. + You must do this as a role that is already a superuser. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + createrole = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user, created by the ensureUser attr, createrole permissions. From the postgres docs: + + A role must be explicitly given permission to create more + roles (except for superusers, since those bypass all + permission checks). To create such a role, use CREATE + ROLE name CREATEROLE. A role with CREATEROLE privilege + can alter and drop other roles, too, as well as grant or + revoke membership in them. However, to create, alter, + drop, or change membership of a superuser role, superuser + status is required; CREATEROLE is insufficient for that. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + createdb = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user, created by the ensureUser attr, createdb permissions. From the postgres docs: + + A role must be explicitly given permission to create + databases (except for superusers, since those bypass all + permission checks). To create such a role, use CREATE + ROLE name CREATEDB. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + "inherit" = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user created inherit permissions. From the postgres docs: + + A role is given permission to inherit the privileges of + roles it is a member of, by default. However, to create a + role without the permission, use CREATE ROLE name + NOINHERIT. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + login = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user, created by the ensureUser attr, login permissions. From the postgres docs: + + Only roles that have the LOGIN attribute can be used as + the initial role name for a database connection. A role + with the LOGIN attribute can be considered the same as a + “database user”. To create a role with login privilege, + use either: + + CREATE ROLE name LOGIN; CREATE USER name; + + (CREATE USER is equivalent to CREATE ROLE except that + CREATE USER includes LOGIN by default, while CREATE ROLE + does not.) + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + replication = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user, created by the ensureUser attr, replication permissions. From the postgres docs: + + A role must explicitly be given permission to initiate + streaming replication (except for superusers, since those + bypass all permission checks). A role used for streaming + replication must have LOGIN permission as well. To create + such a role, use CREATE ROLE name REPLICATION LOGIN. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + bypassrls = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user, created by the ensureUser attr, replication permissions. From the postgres docs: + + A role must be explicitly given permission to bypass + every row-level security (RLS) policy (except for + superusers, since those bypass all permission checks). To + create such a role, use CREATE ROLE name BYPASSRLS as a + superuser. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + }; + }; + }; }; }); default = []; @@ -380,12 +529,29 @@ in $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${database}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${database}"' '') cfg.ensureDatabases} '' + '' - ${concatMapStrings (user: '' - $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"' - ${concatStringsSep "\n" (mapAttrsToList (database: permission: '' - $PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"' - '') user.ensurePermissions)} - '') cfg.ensureUsers} + ${ + concatMapStrings + (user: + let + userPermissions = concatStringsSep "\n" + (mapAttrsToList + (database: permission: ''$PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"' '') + user.ensurePermissions + ); + + filteredClauses = filterAttrs (name: value: value != null) user.ensureClauses; + + clauseSqlStatements = attrValues (mapAttrs (n: v: if v then n else "no${n}") filteredClauses); + + userClauses = ''$PSQL -tAc 'ALTER ROLE "${user.name}" ${concatStringsSep " " clauseSqlStatements}' ''; + in '' + $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"' + ${userPermissions} + ${userClauses} + '' + ) + cfg.ensureUsers + } ''; serviceConfig = mkMerge [ diff --git a/nixos/modules/services/networking/mmsd.nix b/nixos/modules/services/networking/mmsd.nix new file mode 100644 index 000000000000..7e262a9326c1 --- /dev/null +++ b/nixos/modules/services/networking/mmsd.nix @@ -0,0 +1,38 @@ +{ pkgs, lib, config, ... }: +with lib; +let + cfg = config.services.mmsd; + dbusServiceFile = pkgs.writeTextDir "share/dbus-1/services/org.ofono.mms.service" '' + [D-BUS Service] + Name=org.ofono.mms + SystemdService=dbus-org.ofono.mms.service + + # Exec= is still required despite SystemdService= being used: + # https://github.com/freedesktop/dbus/blob/ef55a3db0d8f17848f8a579092fb05900cc076f5/test/data/systemd-activation/com.example.SystemdActivatable1.service + Exec=${pkgs.coreutils}/bin/false mmsd + ''; +in +{ + options.services.mmsd = { + enable = mkEnableOption (mdDoc "Multimedia Messaging Service Daemon"); + extraArgs = mkOption { + type = with types; listOf str; + description = mdDoc "Extra arguments passed to `mmsd-tng`"; + default = []; + example = ["--debug"]; + }; + }; + config = mkIf cfg.enable { + services.dbus.packages = [ dbusServiceFile ]; + systemd.user.services.mmsd = { + after = [ "ModemManager.service" ]; + aliases = [ "dbus-org.ofono.mms.service" ]; + serviceConfig = { + Type = "dbus"; + ExecStart = "${pkgs.mmsd-tng}/bin/mmsdtng " + escapeShellArgs cfg.extraArgs; + BusName = "org.ofono.mms"; + Restart = "on-failure"; + }; + }; + }; +} diff --git a/nixos/modules/services/networking/tailscale.nix b/nixos/modules/services/networking/tailscale.nix index 26997dd96013..233bfdf9ebf5 100644 --- a/nixos/modules/services/networking/tailscale.nix +++ b/nixos/modules/services/networking/tailscale.nix @@ -4,10 +4,7 @@ with lib; let cfg = config.services.tailscale; - firewallOn = config.networking.firewall.enable; - rpfMode = config.networking.firewall.checkReversePath; isNetworkd = config.networking.useNetworkd; - rpfIsStrict = rpfMode == true || rpfMode == "strict"; in { meta.maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 ]; @@ -38,14 +35,23 @@ in { defaultText = literalExpression "pkgs.tailscale"; description = lib.mdDoc "The package to use for tailscale"; }; + + useRoutingFeatures = mkOption { + type = types.enum [ "none" "client" "server" "both" ]; + default = "none"; + example = "server"; + description = lib.mdDoc '' + Enables settings required for Tailscale's routing features like subnet routers and exit nodes. + + To use these these features, you will still need to call `sudo tailscale up` with the relevant flags like `--advertise-exit-node` and `--exit-node`. + + When set to `client` or `both`, reverse path filtering will be set to loose instead of strict. + When set to `server` or `both`, IP forwarding will be enabled. + ''; + }; }; config = mkIf cfg.enable { - warnings = optional (firewallOn && rpfIsStrict) '' - Strict reverse path filtering breaks Tailscale exit node use and some subnet routing setups. Consider setting: - - networking.firewall.checkReversePath = "loose"; - ''; environment.systemPackages = [ cfg.package ]; # for the CLI systemd.packages = [ cfg.package ]; systemd.services.tailscaled = { @@ -75,6 +81,13 @@ in { stopIfChanged = false; }; + boot.kernel.sysctl = mkIf (cfg.useRoutingFeatures == "server" || cfg.useRoutingFeatures == "both") { + "net.ipv4.conf.all.forwarding" = mkDefault true; + "net.ipv6.conf.all.forwarding" = mkDefault true; + }; + + networking.firewall.checkReversePath = mkIf (cfg.useRoutingFeatures == "client" || cfg.useRoutingFeatures == "both") "loose"; + networking.dhcpcd.denyInterfaces = [ cfg.interfaceName ]; systemd.network.networks."50-tailscale" = mkIf isNetworkd { diff --git a/nixos/modules/services/x11/window-managers/katriawm.nix b/nixos/modules/services/x11/window-managers/katriawm.nix new file mode 100644 index 000000000000..106631792ff4 --- /dev/null +++ b/nixos/modules/services/x11/window-managers/katriawm.nix @@ -0,0 +1,27 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mdDoc mkEnableOption mkIf mkPackageOption singleton; + cfg = config.services.xserver.windowManager.katriawm; +in +{ + ###### interface + options = { + services.xserver.windowManager.katriawm = { + enable = mkEnableOption (mdDoc "katriawm"); + package = mkPackageOption pkgs "katriawm" {}; + }; + }; + + ###### implementation + config = mkIf cfg.enable { + services.xserver.windowManager.session = singleton { + name = "katriawm"; + start = '' + ${cfg.package}/bin/katriawm & + waitPID=$! + ''; + }; + environment.systemPackages = [ cfg.package ]; + }; +} diff --git a/nixos/modules/system/activation/bootspec.cue b/nixos/modules/system/activation/bootspec.cue new file mode 100644 index 000000000000..3fc9ca381df7 --- /dev/null +++ b/nixos/modules/system/activation/bootspec.cue @@ -0,0 +1,17 @@ +#V1: { + init: string + initrd?: string + initrdSecrets?: string + kernel: string + kernelParams: [...string] + label: string + toplevel: string + specialisation?: { + [=~"^"]: #V1 + } + extensions?: {...} +} + +Document: { + v1: #V1 +} diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix new file mode 100644 index 000000000000..da76bf9084af --- /dev/null +++ b/nixos/modules/system/activation/bootspec.nix @@ -0,0 +1,124 @@ +# Note that these schemas are defined by RFC-0125. +# This document is considered a stable API, and is depended upon by external tooling. +# Changes to the structure of the document, or the semantics of the values should go through an RFC. +# +# See: https://github.com/NixOS/rfcs/pull/125 +{ config +, pkgs +, lib +, ... +}: +let + cfg = config.boot.bootspec; + children = lib.mapAttrs (childName: childConfig: childConfig.configuration.system.build.toplevel) config.specialisation; + schemas = { + v1 = rec { + filename = "boot.json"; + json = + pkgs.writeText filename + (builtins.toJSON + { + v1 = { + kernel = "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}"; + kernelParams = config.boot.kernelParams; + initrd = "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}"; + initrdSecrets = "${config.system.build.initialRamdiskSecretAppender}/bin/append-initrd-secrets"; + label = "NixOS ${config.system.nixos.codeName} ${config.system.nixos.label} (Linux ${config.boot.kernelPackages.kernel.modDirVersion})"; + + inherit (cfg) extensions; + }; + }); + + generator = + let + # NOTE: Be careful to not introduce excess newlines at the end of the + # injectors, as that may affect the pipes and redirects. + + # Inject toplevel and init into the bootspec. + # This can only be done here because we *cannot* depend on $out + # referring to the toplevel, except by living in the toplevel itself. + toplevelInjector = lib.escapeShellArgs [ + "${pkgs.jq}/bin/jq" + '' + .v1.toplevel = $toplevel | + .v1.init = $init + '' + "--sort-keys" + "--arg" "toplevel" "${placeholder "out"}" + "--arg" "init" "${placeholder "out"}/init" + ] + " < ${json}"; + + # We slurp all specialisations and inject them as values, such that + # `.specialisations.${name}` embeds the specialisation's bootspec + # document. + specialisationInjector = + let + specialisationLoader = (lib.mapAttrsToList + (childName: childToplevel: lib.escapeShellArgs [ "--slurpfile" childName "${childToplevel}/bootspec/${filename}" ]) + children); + in + lib.escapeShellArgs [ + "${pkgs.jq}/bin/jq" + "--sort-keys" + ".v1.specialisation = ($ARGS.named | map_values(. | first | .v1))" + ] + " ${lib.concatStringsSep " " specialisationLoader}"; + in + '' + mkdir -p $out/bootspec + + ${toplevelInjector} | ${specialisationInjector} > $out/bootspec/${filename} + ''; + + validator = pkgs.writeCueValidator ./bootspec.cue { + document = "Document"; # Universal validator for any version as long the schema is correctly set. + }; + }; + }; +in +{ + options.boot.bootspec = { + enable = lib.mkEnableOption (lib.mdDoc "Enable generation of RFC-0125 bootspec in $system/bootspec, e.g. /run/current-system/bootspec"); + + extensions = lib.mkOption { + type = lib.types.attrs; + default = { }; + description = lib.mdDoc '' + User-defined data that extends the bootspec document. + + To reduce incompatibility and prevent names from clashing + between applications, it is **highly recommended** to use a + unique namespace for your extensions. + ''; + }; + + # This will be run as a part of the `systemBuilder` in ./top-level.nix. This + # means `$out` points to the output of `config.system.build.toplevel` and can + # be used for a variety of things (though, for now, it's only used to report + # the path of the `toplevel` itself and the `init` executable). + writer = lib.mkOption { + internal = true; + default = schemas.v1.generator; + }; + + validator = lib.mkOption { + internal = true; + default = schemas.v1.validator; + }; + + filename = lib.mkOption { + internal = true; + default = schemas.v1.filename; + }; + }; + + config = lib.mkIf (cfg.enable) { + warnings = [ + ''RFC-0125 is not merged yet, this is a feature preview of bootspec. + The schema is not definitive and features are not guaranteed to be stable until RFC-0125 is merged. + See: + - https://github.com/NixOS/nixpkgs/pull/172237 to track merge status in nixpkgs. + - https://github.com/NixOS/rfcs/pull/125 to track RFC status. + '' + ]; + }; +} diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 64e97b510b06..0bb3628ceed9 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -79,6 +79,11 @@ let echo -n "$extraDependencies" > $out/extra-dependencies + ${optionalString (!config.boot.isContainer && config.boot.bootspec.enable) '' + ${config.boot.bootspec.writer} + ${config.boot.bootspec.validator} "$out/bootspec/${config.boot.bootspec.filename}" + ''} + ${config.system.extraSystemBuilderCmds} ''; diff --git a/nixos/modules/system/boot/loader/external/external.md b/nixos/modules/system/boot/loader/external/external.md new file mode 100644 index 000000000000..ba1dfd4d9b9a --- /dev/null +++ b/nixos/modules/system/boot/loader/external/external.md @@ -0,0 +1,26 @@ +# External Bootloader Backends {#sec-bootloader-external} + +NixOS has support for several bootloader backends by default: systemd-boot, grub, uboot, etc. +The built-in bootloader backend support is generic and supports most use cases. +Some users may prefer to create advanced workflows around managing the bootloader and bootable entries. + +You can replace the built-in bootloader support with your own tooling using the "external" bootloader option. + +Imagine you have created a new package called FooBoot. +FooBoot provides a program at `${pkgs.fooboot}/bin/fooboot-install` which takes the system closure's path as its only argument and configures the system's bootloader. + +You can enable FooBoot like this: + +```nix +{ pkgs, ... }: { + boot.loader.external = { + enable = true; + installHook = "${pkgs.fooboot}/bin/fooboot-install"; + }; +} +``` + +## Developing Custom Bootloader Backends + +Bootloaders should use [RFC-0125](https://github.com/NixOS/rfcs/pull/125)'s Bootspec format and synthesis tools to identify the key properties for bootable system generations. + diff --git a/nixos/modules/system/boot/loader/external/external.nix b/nixos/modules/system/boot/loader/external/external.nix new file mode 100644 index 000000000000..5cf478e6c83c --- /dev/null +++ b/nixos/modules/system/boot/loader/external/external.nix @@ -0,0 +1,38 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.boot.loader.external; +in +{ + meta = { + maintainers = with maintainers; [ cole-h grahamc raitobezarius ]; + # Don't edit the docbook xml directly, edit the md and generate it: + # `pandoc external.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > external.xml` + doc = ./external.xml; + }; + + options.boot.loader.external = { + enable = mkEnableOption (lib.mdDoc "use an external tool to install your bootloader"); + + installHook = mkOption { + type = with types; path; + description = lib.mdDoc '' + The full path to a program of your choosing which performs the bootloader installation process. + + The program will be called with an argument pointing to the output of the system's toplevel. + ''; + }; + }; + + config = mkIf cfg.enable { + boot.loader = { + grub.enable = mkDefault false; + systemd-boot.enable = mkDefault false; + supportsInitrdSecrets = mkDefault false; + }; + + system.build.installBootLoader = cfg.installHook; + }; +} diff --git a/nixos/modules/system/boot/loader/external/external.xml b/nixos/modules/system/boot/loader/external/external.xml new file mode 100644 index 000000000000..39ab2156bc8c --- /dev/null +++ b/nixos/modules/system/boot/loader/external/external.xml @@ -0,0 +1,41 @@ + + External Bootloader Backends + + NixOS has support for several bootloader backends by default: + systemd-boot, grub, uboot, etc. The built-in bootloader backend + support is generic and supports most use cases. Some users may + prefer to create advanced workflows around managing the bootloader + and bootable entries. + + + You can replace the built-in bootloader support with your own + tooling using the external bootloader option. + + + Imagine you have created a new package called FooBoot. FooBoot + provides a program at + ${pkgs.fooboot}/bin/fooboot-install which takes + the system closure’s path as its only argument and configures the + system’s bootloader. + + + You can enable FooBoot like this: + + +{ pkgs, ... }: { + boot.loader.external = { + enable = true; + installHook = "${pkgs.fooboot}/bin/fooboot-install"; + }; +} + +
+ Developing Custom Bootloader Backends + + Bootloaders should use + RFC-0125’s + Bootspec format and synthesis tools to identify the key properties + for bootable system generations. + +
+
diff --git a/nixos/tests/bootspec.nix b/nixos/tests/bootspec.nix new file mode 100644 index 000000000000..13360bb1eaa2 --- /dev/null +++ b/nixos/tests/bootspec.nix @@ -0,0 +1,144 @@ +{ system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../.. { inherit system config; } +}: + +with import ../lib/testing-python.nix { inherit system pkgs; }; +with pkgs.lib; + +let + baseline = { + virtualisation.useBootLoader = true; + }; + grub = { + boot.loader.grub.enable = true; + }; + systemd-boot = { + boot.loader.systemd-boot.enable = true; + }; + uefi = { + virtualisation.useEFIBoot = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.loader.grub.efiSupport = true; + environment.systemPackages = [ pkgs.efibootmgr ]; + }; + standard = { + boot.bootspec.enable = true; + + imports = [ + baseline + systemd-boot + uefi + ]; + }; +in +{ + basic = makeTest { + name = "systemd-boot-with-bootspec"; + meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + + nodes.machine = standard; + + testScript = '' + machine.start() + machine.wait_for_unit("multi-user.target") + + machine.succeed("test -e /run/current-system/bootspec/boot.json") + ''; + }; + + grub = makeTest { + name = "grub-with-bootspec"; + meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + + nodes.machine = { + boot.bootspec.enable = true; + + imports = [ + baseline + grub + uefi + ]; + }; + + testScript = '' + machine.start() + machine.wait_for_unit("multi-user.target") + + machine.succeed("test -e /run/current-system/bootspec/boot.json") + ''; + }; + + legacy-boot = makeTest { + name = "legacy-boot-with-bootspec"; + meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + + nodes.machine = { + boot.bootspec.enable = true; + + imports = [ + baseline + grub + ]; + }; + + testScript = '' + machine.start() + machine.wait_for_unit("multi-user.target") + + machine.succeed("test -e /run/current-system/bootspec/boot.json") + ''; + }; + + # Check that specialisations create corresponding entries in bootspec. + specialisation = makeTest { + name = "bootspec-with-specialisation"; + meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + + nodes.machine = { + imports = [ standard ]; + environment.systemPackages = [ pkgs.jq ]; + specialisation.something.configuration = {}; + }; + + testScript = '' + import json + + machine.start() + machine.wait_for_unit("multi-user.target") + + machine.succeed("test -e /run/current-system/bootspec/boot.json") + machine.succeed("test -e /run/current-system/specialisation/something/bootspec/boot.json") + + sp_in_parent = json.loads(machine.succeed("jq -r '.v1.specialisation.something' /run/current-system/bootspec/boot.json")) + sp_in_fs = json.loads(machine.succeed("cat /run/current-system/specialisation/something/bootspec/boot.json")) + + assert sp_in_parent == sp_in_fs['v1'], "Bootspecs of the same specialisation are different!" + ''; + }; + + # Check that extensions are propagated. + extensions = makeTest { + name = "bootspec-with-extensions"; + meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + + nodes.machine = { config, ... }: { + imports = [ standard ]; + environment.systemPackages = [ pkgs.jq ]; + boot.bootspec.extensions = { + osRelease = config.environment.etc."os-release".source; + }; + }; + + testScript = '' + machine.start() + machine.wait_for_unit("multi-user.target") + + current_os_release = machine.succeed("cat /etc/os-release") + bootspec_os_release = machine.succeed("cat $(jq -r '.v1.extensions.osRelease' /run/current-system/bootspec/boot.json)") + + assert current_os_release == bootspec_os_release, "Filename referenced by extension has unexpected contents" + ''; + }; + +} diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix index 7864f5d6ff32..7e0a82c38828 100644 --- a/nixos/tests/postgresql.nix +++ b/nixos/tests/postgresql.nix @@ -130,8 +130,97 @@ let ''; }; + + mk-ensure-clauses-test = postgresql-name: postgresql-package: makeTest { + name = postgresql-name; + meta = with pkgs.lib.maintainers; { + maintainers = [ zagy ]; + }; + + machine = {...}: + { + services.postgresql = { + enable = true; + package = postgresql-package; + ensureUsers = [ + { + name = "all-clauses"; + ensureClauses = { + superuser = true; + createdb = true; + createrole = true; + "inherit" = true; + login = true; + replication = true; + bypassrls = true; + }; + } + { + name = "default-clauses"; + } + ]; + }; + }; + + testScript = let + getClausesQuery = user: pkgs.lib.concatStringsSep " " + [ + "SELECT row_to_json(row)" + "FROM (" + "SELECT" + "rolsuper," + "rolinherit," + "rolcreaterole," + "rolcreatedb," + "rolcanlogin," + "rolreplication," + "rolbypassrls" + "FROM pg_roles" + "WHERE rolname = '${user}'" + ") row;" + ]; + in '' + import json + machine.start() + machine.wait_for_unit("postgresql") + + with subtest("All user permissions are set according to the ensureClauses attr"): + clauses = json.loads( + machine.succeed( + "sudo -u postgres psql -tc \"${getClausesQuery "all-clauses"}\"" + ) + ) + print(clauses) + assert clauses['rolsuper'], 'expected user with clauses to have superuser clause' + assert clauses['rolinherit'], 'expected user with clauses to have inherit clause' + assert clauses['rolcreaterole'], 'expected user with clauses to have create role clause' + assert clauses['rolcreatedb'], 'expected user with clauses to have create db clause' + assert clauses['rolcanlogin'], 'expected user with clauses to have login clause' + assert clauses['rolreplication'], 'expected user with clauses to have replication clause' + assert clauses['rolbypassrls'], 'expected user with clauses to have bypassrls clause' + + with subtest("All user permissions default when ensureClauses is not provided"): + clauses = json.loads( + machine.succeed( + "sudo -u postgres psql -tc \"${getClausesQuery "default-clauses"}\"" + ) + ) + assert not clauses['rolsuper'], 'expected user with no clauses set to have default superuser clause' + assert clauses['rolinherit'], 'expected user with no clauses set to have default inherit clause' + assert not clauses['rolcreaterole'], 'expected user with no clauses set to have default create role clause' + assert not clauses['rolcreatedb'], 'expected user with no clauses set to have default create db clause' + assert clauses['rolcanlogin'], 'expected user with no clauses set to have default login clause' + assert not clauses['rolreplication'], 'expected user with no clauses set to have default replication clause' + assert not clauses['rolbypassrls'], 'expected user with no clauses set to have default bypassrls clause' + + machine.shutdown() + ''; + }; in - (mapAttrs' (name: package: { inherit name; value=make-postgresql-test name package false;}) postgresql-versions) // { + concatMapAttrs (name: package: { + ${name} = make-postgresql-test name package false; + ${name + "-clauses"} = mk-ensure-clauses-test name package; + }) postgresql-versions + // { postgresql_11-backup-all = make-postgresql-test "postgresql_11-backup-all" postgresql-versions.postgresql_11 true; } - diff --git a/pkgs/applications/audio/open-stage-control/default.nix b/pkgs/applications/audio/open-stage-control/default.nix index 3c57041e4558..3574dc2f5ac9 100644 --- a/pkgs/applications/audio/open-stage-control/default.nix +++ b/pkgs/applications/audio/open-stage-control/default.nix @@ -33,16 +33,13 @@ buildNpmPackage rec { makeCacheWritable = true; npmFlags = [ "--legacy-peer-deps" ]; - # Override installPhase so we can copy the only folders that matter (app and node_modules) + # Override installPhase so we can copy the only directory that matters (app) installPhase = '' runHook preInstall - # prune unused deps - npm prune --omit dev --no-save $npmFlags - # copy built app and node_modules directories mkdir -p $out/lib/node_modules/open-stage-control - cp -r app node_modules $out/lib/node_modules/open-stage-control/ + cp -r app $out/lib/node_modules/open-stage-control/ # copy icon install -Dm644 resources/images/logo.png $out/share/icons/hicolor/256x256/apps/open-stage-control.png diff --git a/pkgs/applications/blockchains/erigon/default.nix b/pkgs/applications/blockchains/erigon/default.nix index f4e5b1de652c..5e1d0db82796 100644 --- a/pkgs/applications/blockchains/erigon/default.nix +++ b/pkgs/applications/blockchains/erigon/default.nix @@ -29,6 +29,8 @@ buildGoModule rec { "cmd/rlpdump" ]; + passthru.updateScript = ./update.sh; + meta = with lib; { homepage = "https://github.com/ledgerwatch/erigon/"; description = "Ethereum node implementation focused on scalability and modularity"; diff --git a/pkgs/applications/blockchains/trezor-suite/default.nix b/pkgs/applications/blockchains/trezor-suite/default.nix index 311f14bb1fa2..0141dc32d28e 100644 --- a/pkgs/applications/blockchains/trezor-suite/default.nix +++ b/pkgs/applications/blockchains/trezor-suite/default.nix @@ -8,7 +8,7 @@ let pname = "trezor-suite"; - version = "22.10.3"; + version = "22.11.1"; name = "${pname}-${version}"; suffix = { @@ -19,8 +19,8 @@ let src = fetchurl { url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage"; sha512 = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/' - aarch64-linux = "sha512-fI0N1V+6SEZ9eNf+G/w5RcY8oeA5MsVzJnpnWoMzkkHZh5jVHgNbcqVgSPbzvQ/WZNv1MX37KETcxmDwRx//yw=="; - x86_64-linux = "sha512-zN89Qw6fQh27EaN9ARNwqhiBaiNoMic6Aq2UPG0OSUtOjEOdkGJ2pbR8MgWVccSgRH8ZmAAXZ0snVKfZWHbCjA=="; + aarch64-linux = "sha512-cZZFc1Ij7KrF0Kc1Xmtg/73ASv56a6SFWFy3Miwl3P5u8ieZGXVDlSQyv84CsuYMbE0Vga3X0XS/BiF7nKNcnA=="; + x86_64-linux = "sha512-X/IEZGs43riUn6vC5bPyj4DS/VK+s7C10PbBnvwieaclBSVJyQ8H8hbn4eKi0kMVNEl0A9o8W09gXBxAhdNR9g=="; }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix index 26788ddb0677..3366efb697a8 100644 --- a/pkgs/applications/editors/kakoune/default.nix +++ b/pkgs/applications/editors/kakoune/default.nix @@ -4,12 +4,12 @@ with lib; stdenv.mkDerivation rec { pname = "kakoune-unwrapped"; - version = "2021.11.08"; + version = "2022.10.31"; src = fetchFromGitHub { repo = "kakoune"; owner = "mawww"; rev = "v${version}"; - sha256 = "sha256-lMGMt0H1G8EN/7zSVSvU1yU4BYPnSF1vWmozLdrRTQk="; + sha256 = "sha256-vmzGaGl0KSjseSD/s6DXxvMUTmAle+Iv/ZP9llaFnXk="; }; makeFlags = [ "debug=no" "PREFIX=${placeholder "out"}" ]; diff --git a/pkgs/applications/emulators/citra/update.sh b/pkgs/applications/emulators/citra/update.sh index eec36818fede..6b68e3327a2e 100755 --- a/pkgs/applications/emulators/citra/update.sh +++ b/pkgs/applications/emulators/citra/update.sh @@ -27,7 +27,7 @@ updateNightly() { OLD_NIGHTLY_VERSION="$(getLocalVersion "citra-nightly")" OLD_NIGHTLY_HASH="$(getLocalHash "citra-nightly")" - NEW_NIGHTLY_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ + NEW_NIGHTLY_VERSION="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ "https://api.github.com/repos/citra-emu/citra-nightly/releases?per_page=1" | jq -r '.[0].name' | cut -d"-" -f2 | cut -d" " -f2)" if [[ "${OLD_NIGHTLY_VERSION}" = "${NEW_NIGHTLY_VERSION}" ]]; then @@ -52,7 +52,7 @@ updateCanary() { OLD_CANARY_VERSION="$(getLocalVersion "citra-canary")" OLD_CANARY_HASH="$(getLocalHash "citra-canary")" - NEW_CANARY_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ + NEW_CANARY_VERSION="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ "https://api.github.com/repos/citra-emu/citra-canary/releases?per_page=1" | jq -r '.[0].name' | cut -d"-" -f2 | cut -d" " -f1)" if [[ "${OLD_CANARY_VERSION}" = "${NEW_CANARY_VERSION}" ]]; then diff --git a/pkgs/applications/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix index c2c752f054af..5512fa276e82 100644 --- a/pkgs/applications/emulators/retroarch/default.nix +++ b/pkgs/applications/emulators/retroarch/default.nix @@ -45,12 +45,12 @@ let in stdenv.mkDerivation rec { pname = "retroarch-bare"; - version = "1.13.0"; + version = "1.14.0"; src = fetchFromGitHub { owner = "libretro"; repo = "RetroArch"; - hash = "sha256-eEe0mM9gUWgEzoRH1Iuet20US9eXNtCVSBi2kX1njVw="; + hash = "sha256-oEENGehbzjJq1kTiz6gkXHMMe/rXjWPxxMoe4RqdqK4="; rev = "v${version}"; }; diff --git a/pkgs/applications/emulators/retroarch/libretro-core-info.nix b/pkgs/applications/emulators/retroarch/libretro-core-info.nix index 13073d9c523e..4edd94f363e6 100644 --- a/pkgs/applications/emulators/retroarch/libretro-core-info.nix +++ b/pkgs/applications/emulators/retroarch/libretro-core-info.nix @@ -5,12 +5,12 @@ stdenvNoCC.mkDerivation rec { pname = "libretro-core-info"; - version = "1.13.0"; + version = "1.14.0"; src = fetchFromGitHub { owner = "libretro"; repo = "libretro-core-info"; - hash = "sha256-rTq2h+IGJduBkP4qCACmm3T2PvbZ0mOmwD1jLkJ2j/Q="; + hash = "sha256-3nw8jUxBQJxiKlWS6OjTjwUYWKx3r2E7eHmbj4naWrk="; rev = "v${version}"; }; diff --git a/pkgs/applications/emulators/yuzu/update.sh b/pkgs/applications/emulators/yuzu/update.sh index 074d5b155fbf..bfabd6a20694 100755 --- a/pkgs/applications/emulators/yuzu/update.sh +++ b/pkgs/applications/emulators/yuzu/update.sh @@ -21,10 +21,10 @@ updateBranch() { oldHash="$(nix eval --raw -f "./default.nix" "$attribute".src.drvAttrs.outputHash)" if [[ "$branch" = "mainline" ]]; then - newVersion="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/yuzu-emu/yuzu-mainline/releases?per_page=1" \ + newVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/yuzu-emu/yuzu-mainline/releases?per_page=1" \ | jq -r '.[0].name' | cut -d" " -f2)" elif [[ "$branch" = "early-access" ]]; then - newVersion="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=2" \ + newVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=2" \ | jq -r '.[].tag_name' | grep '^EA-[0-9]*' | head -n1 | cut -d"-" -f2 | cut -d" " -f1)" fi @@ -50,13 +50,13 @@ updateBranch() { updateCompatibilityList() { local latestRevision oldUrl newUrl oldHash newHash oldDate newDate - latestRevision="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/flathub/org.yuzu_emu.yuzu/commits/master" | jq -r '.sha')" + latestRevision="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/flathub/org.yuzu_emu.yuzu/commits/master" | jq -r '.sha')" oldUrl="$(sed -n '/yuzu-compat-list/,/url/p' "$DEFAULT_NIX" | tail -n1 | cut -d'"' -f2)" newUrl="https://raw.githubusercontent.com/flathub/org.yuzu_emu.yuzu/${latestRevision}/compatibility_list.json" oldDate="$(sed -n '/last updated.*/p' "$DEFAULT_NIX" | rev | cut -d' ' -f1 | rev)" - newDate="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/flathub/org.yuzu_emu.yuzu/commits/${latestRevision}" \ + newDate="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/flathub/org.yuzu_emu.yuzu/commits/${latestRevision}" \ | jq -r '.commit.committer.date' | cut -d'T' -f1)" oldHash="$(sed -n '/yuzu-compat-list/,/sha256/p' "$DEFAULT_NIX" | tail -n1 | cut -d'"' -f2)" diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix index 9ddcdc92c5bd..0862453d03aa 100644 --- a/pkgs/applications/misc/audio/sox/default.nix +++ b/pkgs/applications/misc/audio/sox/default.nix @@ -44,6 +44,13 @@ stdenv.mkDerivation rec { hash = "sha256-9cpOwio69GvzVeDq79BSmJgds9WU5kA/KUlAkHcpN5c="; }; + outputs = [ + "out" + "dev" + "lib" + "man" + ]; + nativeBuildInputs = [ autoreconfHook autoconf-archive diff --git a/pkgs/applications/misc/gv/default.nix b/pkgs/applications/misc/gv/default.nix index d5aa1ac88179..ca12e3bc77a9 100644 --- a/pkgs/applications/misc/gv/default.nix +++ b/pkgs/applications/misc/gv/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, Xaw3d, ghostscriptX, perl, pkg-config, libiconv }: +{ lib, stdenv, fetchurl, libXext, Xaw3d, ghostscriptX, perl, pkg-config, libiconv }: stdenv.mkDerivation rec { pname = "gv"; @@ -15,6 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ + libXext Xaw3d ghostscriptX perl diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/pkgs/applications/misc/jekyll/basic/Gemfile.lock index 19cc2a7faef7..5fc41261bbf7 100644 --- a/pkgs/applications/misc/jekyll/basic/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/basic/Gemfile.lock @@ -101,4 +101,4 @@ DEPENDENCIES jemoji BUNDLED WITH - 2.3.25 + 2.3.9 diff --git a/pkgs/applications/misc/jekyll/full/Gemfile b/pkgs/applications/misc/jekyll/full/Gemfile index 2e72350f7e5e..5e7e2d9032a3 100644 --- a/pkgs/applications/misc/jekyll/full/Gemfile +++ b/pkgs/applications/misc/jekyll/full/Gemfile @@ -11,6 +11,7 @@ gem "jemoji" # Optional dependencies: gem "jekyll-coffeescript" #gem "jekyll-docs" +gem "jekyll-favicon" gem "jekyll-feed", "~> 0.9" gem "jekyll-gist" gem "jekyll-paginate" diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock index 8d9fbb696d7e..6b1cc609e080 100644 --- a/pkgs/applications/misc/jekyll/full/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock @@ -58,6 +58,10 @@ GEM jekyll-coffeescript (2.0.0) coffee-script (~> 2.2) coffee-script-source (~> 1.12) + jekyll-favicon (1.1.0) + jekyll (>= 3.0, < 5.0) + mini_magick (~> 4.11) + rexml (~> 3.2, >= 3.2.5) jekyll-feed (0.17.0) jekyll (>= 3.7, < 5.0) jekyll-gist (1.5.0) @@ -100,6 +104,7 @@ GEM mime-types (3.4.1) mime-types-data (~> 3.2015) mime-types-data (3.2022.0105) + mini_magick (4.11.0) mini_portile2 (2.8.0) minitest (5.16.3) nokogiri (1.13.9) @@ -146,6 +151,7 @@ DEPENDENCIES jekyll jekyll-avatar jekyll-coffeescript + jekyll-favicon jekyll-feed (~> 0.9) jekyll-gist jekyll-mentions @@ -163,4 +169,4 @@ DEPENDENCIES yajl-ruby (~> 1.4) BUNDLED WITH - 2.3.25 + 2.3.9 diff --git a/pkgs/applications/misc/jekyll/full/gemset.nix b/pkgs/applications/misc/jekyll/full/gemset.nix index 334750398ff7..3607b507cd9d 100644 --- a/pkgs/applications/misc/jekyll/full/gemset.nix +++ b/pkgs/applications/misc/jekyll/full/gemset.nix @@ -264,6 +264,17 @@ }; version = "2.0.0"; }; + jekyll-favicon = { + dependencies = ["jekyll" "mini_magick" "rexml"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dyksm4i11n0qshd7wh6dvk8d0fc70dd32ir2dxs6igxq0gd6hi1"; + type = "gem"; + }; + version = "1.1.0"; + }; jekyll-feed = { dependencies = ["jekyll"]; groups = ["default"]; @@ -526,6 +537,16 @@ }; version = "3.2022.0105"; }; + mini_magick = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1aj604x11d9pksbljh0l38f70b558rhdgji1s9i763hiagvvx2hs"; + type = "gem"; + }; + version = "4.11.0"; + }; mini_portile2 = { groups = ["default"]; platforms = []; diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix index f60c478c6824..f8836f2802c3 100644 --- a/pkgs/applications/misc/lutris/default.nix +++ b/pkgs/applications/misc/lutris/default.nix @@ -22,16 +22,16 @@ , flake8 # python dependencies +, certifi , dbus-python , distro , evdev , lxml , pillow , pygobject3 +, pypresence , pyyaml , requests -, keyring -, python-magic # commands that lutris needs , xrandr @@ -84,13 +84,13 @@ let in buildPythonApplication rec { pname = "lutris-original"; - version = "0.5.11"; + version = "0.5.12"; src = fetchFromGitHub { owner = "lutris"; repo = "lutris"; rev = "refs/tags/v${version}"; - sha256 = "sha256-D2qMKYmi5TC8jEAECcz2V0rUrmp5kjXJ5qyW6C4re3w="; + sha256 = "sha256-rsiXm7L/M85ot6NrTyy//lMRFlLPJYve9y6Erg9Ugxg="; }; nativeBuildInputs = [ wrapGAppsHook ]; @@ -104,20 +104,20 @@ buildPythonApplication rec { libnotify pango webkitgtk - python-magic ] ++ gstDeps; + # See `install_requires` in https://github.com/lutris/lutris/blob/master/setup.py propagatedBuildInputs = [ - evdev - distro - lxml - pyyaml - pygobject3 - requests - pillow + certifi dbus-python - keyring - python-magic + distro + evdev + lxml + pillow + pygobject3 + pypresence + pyyaml + requests ]; postPatch = '' diff --git a/pkgs/applications/misc/yambar/default.nix b/pkgs/applications/misc/yambar/default.nix index 88b5046d1797..f2696c36dbe6 100644 --- a/pkgs/applications/misc/yambar/default.nix +++ b/pkgs/applications/misc/yambar/default.nix @@ -2,15 +2,19 @@ , stdenv , fetchFromGitea , alsa-lib +, bison , fcft +, flex , json_c , libmpdclient , libxcb , libyaml , meson , ninja +, pipewire , pixman , pkg-config +, pulseaudio , scdoc , tllist , udev @@ -26,26 +30,27 @@ }: let - # Courtesy of sternenseemann and FRidh - mesonFeatureFlag = feature: flag: - "-D${feature}=${if flag then "enabled" else "disabled"}"; + inherit (lib) mesonEnable; in -stdenv.mkDerivation rec { +assert (x11Support || waylandSupport); +stdenv.mkDerivation (finalAttrs: { pname = "yambar"; - version = "1.8.0"; + version = "1.9.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "dnkl"; repo = "yambar"; - rev = version; - hash = "sha256-zXhIXT3JrVSllnYheDU2KK3NE2VYa+xuKufIXjdMFjU="; + rev = finalAttrs.version; + hash = "sha256-0bgRnZYLGWJ9PE62i04hPBcgzWyd30DK7AUuejSgta4="; }; nativeBuildInputs = [ - pkg-config + bison + flex meson ninja + pkg-config scdoc wayland-scanner ]; @@ -56,7 +61,9 @@ stdenv.mkDerivation rec { json_c libmpdclient libyaml + pipewire pixman + pulseaudio tllist udev ] ++ lib.optionals (waylandSupport) [ @@ -72,13 +79,13 @@ stdenv.mkDerivation rec { mesonBuildType = "release"; mesonFlags = [ - (mesonFeatureFlag "backend-x11" x11Support) - (mesonFeatureFlag "backend-wayland" waylandSupport) + (mesonEnable "backend-x11" x11Support) + (mesonEnable "backend-wayland" waylandSupport) ]; meta = with lib; { homepage = "https://codeberg.org/dnkl/yambar"; - changelog = "https://codeberg.org/dnkl/yambar/releases/tag/${version}"; + changelog = "https://codeberg.org/dnkl/yambar/releases/tag/${finalAttrs.version}"; description = "Modular status panel for X11 and Wayland"; longDescription = '' yambar is a lightweight and configurable status panel (bar, for short) for @@ -107,6 +114,6 @@ stdenv.mkDerivation rec { ''; license = licenses.mit; maintainers = with maintainers; [ AndersonTorres ]; - platforms = with platforms; unix; + platforms = platforms.linux; }; -} +}) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 7521c27d139b..c9399336bdd1 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -1,8 +1,8 @@ { "stable": { - "version": "108.0.5359.98", - "sha256": "07jnhd5y7k4zp2ipz052isw7llagxn8l8rbz8x3jkjz3f5wi7dk0", - "sha256bin64": "1hx49932g8abnb5f3a4ly7kjbrkh5bs040dh96zpxvfqx7dn6vrs", + "version": "108.0.5359.124", + "sha256": "0x9ac6m4xdccjdrk2bmq4y7bhfpgf2dv0q7lsbbsa50vlv1gm3fl", + "sha256bin64": "00c11svz9dzkg57484jg7c558l0jz8jbgi5zyjs1w7xp24vpnnpg", "deps": { "gn": { "version": "2022-10-05", diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index aae1cecc1a65..37717252cdf3 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -3,10 +3,10 @@ rec { firefox = buildMozillaMach rec { pname = "firefox"; - version = "108.0"; + version = "108.0.1"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "fa800f62cca395a51b9a04373a27be48fc3860208e34ecf74d908127638d1eb8c41cf9898be6896777d408127d5c4b7104d9ee89c97da923b2dc6ea32186187e"; + sha512 = "e6219ed6324422ec293ed96868738e056582bb9f7fb82e59362541f3465c6ebca806d26ecd801156b074c3675bd5a22507b1f1fa53eebf82b7dd35f2b1ff0625"; }; meta = { diff --git a/pkgs/applications/networking/cluster/argo-rollouts/default.nix b/pkgs/applications/networking/cluster/argo-rollouts/default.nix index 731fe0553fc5..3c309d8e7ce2 100644 --- a/pkgs/applications/networking/cluster/argo-rollouts/default.nix +++ b/pkgs/applications/networking/cluster/argo-rollouts/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "argo-rollouts"; - version = "1.3.1"; + version = "1.3.2"; src = fetchFromGitHub { owner = "argoproj"; repo = "argo-rollouts"; rev = "v${version}"; - sha256 = "sha256-qgOhiJdaxauHIoPsMfcdxwrKiv8QD/tFksCbk13Zpiw="; + sha256 = "sha256-hsUpZrtgjP6FaVhw0ijDTlvfz9Ok+A4nyAwi2VNxvEg="; }; vendorSha256 = "sha256-gm96rQdQJGsIcxVgEI7sI7BvEETU/+HsQ6PnDjFXb/0="; diff --git a/pkgs/applications/networking/cluster/cmctl/update.sh b/pkgs/applications/networking/cluster/cmctl/update.sh index 70b088a6880a..16a20edb577b 100755 --- a/pkgs/applications/networking/cluster/cmctl/update.sh +++ b/pkgs/applications/networking/cluster/cmctl/update.sh @@ -7,13 +7,13 @@ NIXPKGS_PATH="$(git rev-parse --show-toplevel)" CMCTL_PATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" OLD_VERSION="$(nix-instantiate --eval -E "with import $NIXPKGS_PATH {}; cmctl.version or (builtins.parseDrvName cmctl.name).version" | tr -d '"')" -LATEST_TAG="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/cert-manager/cert-manager/releases" | jq '.[].tag_name' --raw-output | sed '/-/d' | sort --version-sort -r | head -n 1)" +LATEST_TAG="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/cert-manager/cert-manager/releases" | jq '.[].tag_name' --raw-output | sed '/-/d' | sort --version-sort -r | head -n 1)" LATEST_VERSION="${LATEST_TAG:1}" if [ ! "$OLD_VERSION" = "$LATEST_VERSION" ]; then SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/cert-manager/cert-manager/archive/refs/tags/${LATEST_TAG}.tar.gz) - TAG_SHA=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/cert-manager/cert-manager/git/ref/tags/${LATEST_TAG}" | jq -r '.object.sha') - TAG_COMMIT_SHA=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/cert-manager/cert-manager/git/tags/${TAG_SHA}" | jq '.object.sha' --raw-output) + TAG_SHA=$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/cert-manager/cert-manager/git/ref/tags/${LATEST_TAG}" | jq -r '.object.sha') + TAG_COMMIT_SHA=$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/cert-manager/cert-manager/git/tags/${TAG_SHA}" | jq '.object.sha' --raw-output) setKV () { sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" "${CMCTL_PATH}/default.nix" diff --git a/pkgs/applications/networking/cluster/crc/update.sh b/pkgs/applications/networking/cluster/crc/update.sh index 9d3fcba7d9fd..3ac34c168bac 100755 --- a/pkgs/applications/networking/cluster/crc/update.sh +++ b/pkgs/applications/networking/cluster/crc/update.sh @@ -13,7 +13,7 @@ NIXPKGS_CRC_FOLDER=$( cd ${NIXPKGS_CRC_FOLDER} LATEST_TAG_RAWFILE=${WORKDIR}/latest_tag.json -curl --silent ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ +curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ https://api.github.com/repos/code-ready/crc/releases >${LATEST_TAG_RAWFILE} LATEST_TAG_NAME=$(jq 'map(.tag_name)' ${LATEST_TAG_RAWFILE} | @@ -21,7 +21,7 @@ LATEST_TAG_NAME=$(jq 'map(.tag_name)' ${LATEST_TAG_RAWFILE} | CRC_VERSION=$(echo ${LATEST_TAG_NAME} | sed 's/^v//') -CRC_COMMIT=$(curl --silent ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ +CRC_COMMIT=$(curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ https://api.github.com/repos/code-ready/crc/tags | jq -r "map(select(.name == \"${LATEST_TAG_NAME}\")) | .[0] | .commit.sha") diff --git a/pkgs/applications/networking/cluster/k3s/update.sh b/pkgs/applications/networking/cluster/k3s/update.sh index ac46e7ae51e5..913be71d0dee 100755 --- a/pkgs/applications/networking/cluster/k3s/update.sh +++ b/pkgs/applications/networking/cluster/k3s/update.sh @@ -11,7 +11,7 @@ NIXPKGS_K3S_PATH=$(cd $(dirname ${BASH_SOURCE[0]}); pwd -P)/ cd ${NIXPKGS_K3S_PATH} LATEST_TAG_RAWFILE=${WORKDIR}/latest_tag.json -curl --silent ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ +curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ https://api.github.com/repos/k3s-io/k3s/releases > ${LATEST_TAG_RAWFILE} LATEST_TAG_NAME=$(jq 'map(.tag_name)' ${LATEST_TAG_RAWFILE} | \ @@ -19,7 +19,7 @@ LATEST_TAG_NAME=$(jq 'map(.tag_name)' ${LATEST_TAG_RAWFILE} | \ K3S_VERSION=$(echo ${LATEST_TAG_NAME} | sed 's/^v//') -K3S_COMMIT=$(curl --silent ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ +K3S_COMMIT=$(curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ https://api.github.com/repos/k3s-io/k3s/tags \ | jq -r "map(select(.name == \"${LATEST_TAG_NAME}\")) | .[0] | .commit.sha") diff --git a/pkgs/applications/networking/cluster/kubergrunt/default.nix b/pkgs/applications/networking/cluster/kubergrunt/default.nix index f40c7e8c871e..94441c960c01 100644 --- a/pkgs/applications/networking/cluster/kubergrunt/default.nix +++ b/pkgs/applications/networking/cluster/kubergrunt/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "kubergrunt"; - version = "0.9.3"; + version = "0.10.0"; src = fetchFromGitHub { owner = "gruntwork-io"; repo = "kubergrunt"; rev = "v${version}"; - sha256 = "sha256-nbpRdAkctLiG/hP6vhfEimplAzzj70d5nnaFcJ1NykY="; + sha256 = "sha256-HJZrE0fHlyOTQF9EqdrtQNmaHlrMA2RwNg4P7B2lYI0="; }; vendorSha256 = "sha256-9hWX6INN5HWXyeFQRjkqr+BsGv56lInVYacvT6Imahw="; diff --git a/pkgs/applications/science/engineering/strictdoc/default.nix b/pkgs/applications/science/engineering/strictdoc/default.nix index 3fc61b845156..ce834f7d576b 100644 --- a/pkgs/applications/science/engineering/strictdoc/default.nix +++ b/pkgs/applications/science/engineering/strictdoc/default.nix @@ -3,14 +3,12 @@ , buildPythonApplication , fetchFromGitHub , python3 -, pythonOlder , html5lib , invoke , openpyxl , poetry-core , tidylib , beautifulsoup4 -, dataclasses , datauri , docutils , jinja2 @@ -73,8 +71,6 @@ buildPythonApplication rec { textx xlrd XlsxWriter - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; checkInputs = [ diff --git a/pkgs/applications/science/math/mxnet/default.nix b/pkgs/applications/science/math/mxnet/default.nix index 9a1b550d882d..dcba888ce2fb 100644 --- a/pkgs/applications/science/math/mxnet/default.nix +++ b/pkgs/applications/science/math/mxnet/default.nix @@ -2,11 +2,10 @@ , opencv3, gtest, blas, gomp, llvmPackages, perl , cudaSupport ? config.cudaSupport or false, cudaPackages ? {}, nvidia_x11 , cudnnSupport ? cudaSupport -, cudaCapabilities ? [ "3.7" "5.0" "6.0" "7.0" "7.5" "8.0" "8.6" ] }: let - inherit (cudaPackages) cudatoolkit cudnn; + inherit (cudaPackages) cudatoolkit cudaFlags cudnn; in assert cudnnSupport -> cudaSupport; @@ -51,7 +50,7 @@ stdenv.mkDerivation rec { "-DUSE_OLDCMAKECUDA=ON" # see https://github.com/apache/incubator-mxnet/issues/10743 "-DCUDA_ARCH_NAME=All" "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc" - "-DMXNET_CUDA_ARCH=${lib.concatStringsSep ";" cudaCapabilities}" + "-DMXNET_CUDA_ARCH=${cudaFlags.cudaCapabilitiesSemiColonString}" ] else [ "-DUSE_CUDA=OFF" ]) ++ lib.optional (!cudnnSupport) "-DUSE_CUDNN=OFF"; diff --git a/pkgs/applications/version-management/git-and-tools/lefthook/default.nix b/pkgs/applications/version-management/git-and-tools/lefthook/default.nix index 38d6d740c83c..ac4b7762c2e4 100644 --- a/pkgs/applications/version-management/git-and-tools/lefthook/default.nix +++ b/pkgs/applications/version-management/git-and-tools/lefthook/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "lefthook"; - version = "1.2.4"; + version = "1.2.6"; src = fetchFromGitHub { rev = "v${version}"; owner = "evilmartians"; repo = "lefthook"; - sha256 = "sha256-Z6j/Y8b9lq2nYS5Ki8iJoDsG3l5M6RylfDqQL7WrwNg="; + sha256 = "sha256-M15ESB8JCSryD6/+6N2EA6NUzLI4cwgAJUQC9UDNJrM="; }; - vendorSha256 = "sha256-sBcgt2YsV9RQhSjPN6N54tRk7nNvcOVhPEsEP+0Dtco="; + vendorSha256 = "sha256-KNegRQhVZMNDgcJZOgEei3oviDPM/RFwZbpoh38pxBw="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/applications/virtualization/docker/compose_1.nix b/pkgs/applications/virtualization/docker/compose_1.nix index 1299d6f69ec7..425363e2b73b 100644 --- a/pkgs/applications/virtualization/docker/compose_1.nix +++ b/pkgs/applications/virtualization/docker/compose_1.nix @@ -1,7 +1,7 @@ { lib, buildPythonApplication, fetchPypi, pythonOlder , installShellFiles , mock, pytest, nose -, pyyaml, backports_ssl_match_hostname, colorama, docopt +, pyyaml, colorama, docopt , dockerpty, docker, jsonschema, requests , six, texttable, websocket-client, cached-property , enum34, functools32, paramiko, distro, python-dotenv @@ -24,7 +24,7 @@ buildPythonApplication rec { pyyaml colorama dockerpty docker jsonschema requests six texttable websocket-client docopt cached-property paramiko distro python-dotenv - ] ++ lib.optional (pythonOlder "3.7") backports_ssl_match_hostname + ] ++ lib.optional (pythonOlder "3.4") enum34 ++ lib.optional (pythonOlder "3.2") functools32; diff --git a/pkgs/applications/virtualization/pods/default.nix b/pkgs/applications/virtualization/pods/default.nix index 614f2591b516..776374ef6d98 100644 --- a/pkgs/applications/virtualization/pods/default.nix +++ b/pkgs/applications/virtualization/pods/default.nix @@ -17,19 +17,19 @@ stdenv.mkDerivation rec { pname = "pods"; - version = "1.0.0-beta.9"; + version = "1.0.0-rc.2"; src = fetchFromGitHub { owner = "marhkb"; repo = pname; rev = "v${version}"; - sha256 = "sha256-cW6n00EPe7eFuqT2Vk27Ax0fxjz9kWSlYuS2oIj0mXY="; + sha256 = "sha256-fyhp0Qumku2EO+5+AaWBLp6xG9mpfNuxhr/PoLca1a4="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - sha256 = "sha256-y0njqlzAx1M7iC8bZrKlKACSiYnSRaHOrcAxs3bFF30="; + sha256 = "sha256-v6ZGDd1mAxb55JIijJHlthrTta2PwZMRa8MqVnJMyzQ="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/virtualization/qemu/9pfs-use-GHashTable-for-fid-table.patch b/pkgs/applications/virtualization/qemu/9pfs-use-GHashTable-for-fid-table.patch deleted file mode 100644 index 2e6f1699637b..000000000000 --- a/pkgs/applications/virtualization/qemu/9pfs-use-GHashTable-for-fid-table.patch +++ /dev/null @@ -1,371 +0,0 @@ -From 8ab70b8958a8f9cb9bd316eecd3ccbcf05c06614 Mon Sep 17 00:00:00 2001 -From: Linus Heckemann -Date: Tue, 4 Oct 2022 12:41:21 +0200 -Subject: [PATCH] 9pfs: use GHashTable for fid table -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The previous implementation would iterate over the fid table for -lookup operations, resulting in an operation with O(n) complexity on -the number of open files and poor cache locality -- for every open, -stat, read, write, etc operation. - -This change uses a hashtable for this instead, significantly improving -the performance of the 9p filesystem. The runtime of NixOS's simple -installer test, which copies ~122k files totalling ~1.8GiB from 9p, -decreased by a factor of about 10. - -Signed-off-by: Linus Heckemann -Reviewed-by: Philippe Mathieu-Daudé -Reviewed-by: Greg Kurz -[CS: - Retain BUG_ON(f->clunked) in get_fid(). - - Add TODO comment in clunk_fid(). ] -Message-Id: <20221004104121.713689-1-git@sphalerite.org> -[CS: - Drop unnecessary goto and out: label. ] -Signed-off-by: Christian Schoenebeck ---- - hw/9pfs/9p.c | 194 +++++++++++++++++++++++++++++---------------------- - hw/9pfs/9p.h | 2 +- - 2 files changed, 112 insertions(+), 84 deletions(-) - -diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c -index aebadeaa03..9bf13133e5 100644 ---- a/hw/9pfs/9p.c -+++ b/hw/9pfs/9p.c -@@ -256,7 +256,8 @@ static size_t v9fs_string_size(V9fsString *str) - } - - /* -- * returns 0 if fid got re-opened, 1 if not, < 0 on error */ -+ * returns 0 if fid got re-opened, 1 if not, < 0 on error -+ */ - static int coroutine_fn v9fs_reopen_fid(V9fsPDU *pdu, V9fsFidState *f) - { - int err = 1; -@@ -282,33 +283,32 @@ static V9fsFidState *coroutine_fn get_fid(V9fsPDU *pdu, int32_t fid) - V9fsFidState *f; - V9fsState *s = pdu->s; - -- QSIMPLEQ_FOREACH(f, &s->fid_list, next) { -+ f = g_hash_table_lookup(s->fids, GINT_TO_POINTER(fid)); -+ if (f) { - BUG_ON(f->clunked); -- if (f->fid == fid) { -- /* -- * Update the fid ref upfront so that -- * we don't get reclaimed when we yield -- * in open later. -- */ -- f->ref++; -- /* -- * check whether we need to reopen the -- * file. We might have closed the fd -- * while trying to free up some file -- * descriptors. -- */ -- err = v9fs_reopen_fid(pdu, f); -- if (err < 0) { -- f->ref--; -- return NULL; -- } -- /* -- * Mark the fid as referenced so that the LRU -- * reclaim won't close the file descriptor -- */ -- f->flags |= FID_REFERENCED; -- return f; -+ /* -+ * Update the fid ref upfront so that -+ * we don't get reclaimed when we yield -+ * in open later. -+ */ -+ f->ref++; -+ /* -+ * check whether we need to reopen the -+ * file. We might have closed the fd -+ * while trying to free up some file -+ * descriptors. -+ */ -+ err = v9fs_reopen_fid(pdu, f); -+ if (err < 0) { -+ f->ref--; -+ return NULL; - } -+ /* -+ * Mark the fid as referenced so that the LRU -+ * reclaim won't close the file descriptor -+ */ -+ f->flags |= FID_REFERENCED; -+ return f; - } - return NULL; - } -@@ -317,12 +317,11 @@ static V9fsFidState *alloc_fid(V9fsState *s, int32_t fid) - { - V9fsFidState *f; - -- QSIMPLEQ_FOREACH(f, &s->fid_list, next) { -+ f = g_hash_table_lookup(s->fids, GINT_TO_POINTER(fid)); -+ if (f) { - /* If fid is already there return NULL */ - BUG_ON(f->clunked); -- if (f->fid == fid) { -- return NULL; -- } -+ return NULL; - } - f = g_new0(V9fsFidState, 1); - f->fid = fid; -@@ -333,7 +332,7 @@ static V9fsFidState *alloc_fid(V9fsState *s, int32_t fid) - * reclaim won't close the file descriptor - */ - f->flags |= FID_REFERENCED; -- QSIMPLEQ_INSERT_TAIL(&s->fid_list, f, next); -+ g_hash_table_insert(s->fids, GINT_TO_POINTER(fid), f); - - v9fs_readdir_init(s->proto_version, &f->fs.dir); - v9fs_readdir_init(s->proto_version, &f->fs_reclaim.dir); -@@ -424,12 +423,12 @@ static V9fsFidState *clunk_fid(V9fsState *s, int32_t fid) - { - V9fsFidState *fidp; - -- QSIMPLEQ_FOREACH(fidp, &s->fid_list, next) { -- if (fidp->fid == fid) { -- QSIMPLEQ_REMOVE(&s->fid_list, fidp, V9fsFidState, next); -- fidp->clunked = true; -- return fidp; -- } -+ /* TODO: Use g_hash_table_steal_extended() instead? */ -+ fidp = g_hash_table_lookup(s->fids, GINT_TO_POINTER(fid)); -+ if (fidp) { -+ g_hash_table_remove(s->fids, GINT_TO_POINTER(fid)); -+ fidp->clunked = true; -+ return fidp; - } - return NULL; - } -@@ -439,10 +438,15 @@ void coroutine_fn v9fs_reclaim_fd(V9fsPDU *pdu) - int reclaim_count = 0; - V9fsState *s = pdu->s; - V9fsFidState *f; -+ GHashTableIter iter; -+ gpointer fid; -+ -+ g_hash_table_iter_init(&iter, s->fids); -+ - QSLIST_HEAD(, V9fsFidState) reclaim_list = - QSLIST_HEAD_INITIALIZER(reclaim_list); - -- QSIMPLEQ_FOREACH(f, &s->fid_list, next) { -+ while (g_hash_table_iter_next(&iter, &fid, (gpointer *) &f)) { - /* - * Unlink fids cannot be reclaimed. Check - * for them and skip them. Also skip fids -@@ -514,72 +518,85 @@ void coroutine_fn v9fs_reclaim_fd(V9fsPDU *pdu) - } - } - -+/* -+ * This is used when a path is removed from the directory tree. Any -+ * fids that still reference it must not be closed from then on, since -+ * they cannot be reopened. -+ */ - static int coroutine_fn v9fs_mark_fids_unreclaim(V9fsPDU *pdu, V9fsPath *path) - { -- int err; -+ int err = 0; - V9fsState *s = pdu->s; -- V9fsFidState *fidp, *fidp_next; -+ V9fsFidState *fidp; -+ gpointer fid; -+ GHashTableIter iter; -+ /* -+ * The most common case is probably that we have exactly one -+ * fid for the given path, so preallocate exactly one. -+ */ -+ g_autoptr(GArray) to_reopen = g_array_sized_new(FALSE, FALSE, -+ sizeof(V9fsFidState *), 1); -+ gint i; - -- fidp = QSIMPLEQ_FIRST(&s->fid_list); -- if (!fidp) { -- return 0; -- } -+ g_hash_table_iter_init(&iter, s->fids); - - /* -- * v9fs_reopen_fid() can yield : a reference on the fid must be held -- * to ensure its pointer remains valid and we can safely pass it to -- * QSIMPLEQ_NEXT(). The corresponding put_fid() can also yield so -- * we must keep a reference on the next fid as well. So the logic here -- * is to get a reference on a fid and only put it back during the next -- * iteration after we could get a reference on the next fid. Start with -- * the first one. -+ * We iterate over the fid table looking for the entries we need -+ * to reopen, and store them in to_reopen. This is because -+ * v9fs_reopen_fid() and put_fid() yield. This allows the fid table -+ * to be modified in the meantime, invalidating our iterator. - */ -- for (fidp->ref++; fidp; fidp = fidp_next) { -+ while (g_hash_table_iter_next(&iter, &fid, (gpointer *) &fidp)) { - if (fidp->path.size == path->size && - !memcmp(fidp->path.data, path->data, path->size)) { -- /* Mark the fid non reclaimable. */ -- fidp->flags |= FID_NON_RECLAIMABLE; -- -- /* reopen the file/dir if already closed */ -- err = v9fs_reopen_fid(pdu, fidp); -- if (err < 0) { -- put_fid(pdu, fidp); -- return err; -- } -- } -- -- fidp_next = QSIMPLEQ_NEXT(fidp, next); -- -- if (fidp_next) { - /* -- * Ensure the next fid survives a potential clunk request during -- * put_fid() below and v9fs_reopen_fid() in the next iteration. -+ * Ensure the fid survives a potential clunk request during -+ * v9fs_reopen_fid or put_fid. - */ -- fidp_next->ref++; -+ fidp->ref++; -+ fidp->flags |= FID_NON_RECLAIMABLE; -+ g_array_append_val(to_reopen, fidp); - } -+ } - -- /* We're done with this fid */ -- put_fid(pdu, fidp); -+ for (i = 0; i < to_reopen->len; i++) { -+ fidp = g_array_index(to_reopen, V9fsFidState*, i); -+ /* reopen the file/dir if already closed */ -+ err = v9fs_reopen_fid(pdu, fidp); -+ if (err < 0) { -+ break; -+ } - } - -- return 0; -+ for (i = 0; i < to_reopen->len; i++) { -+ put_fid(pdu, g_array_index(to_reopen, V9fsFidState*, i)); -+ } -+ return err; - } - - static void coroutine_fn virtfs_reset(V9fsPDU *pdu) - { - V9fsState *s = pdu->s; - V9fsFidState *fidp; -+ GList *freeing; -+ /* -+ * Get a list of all the values (fid states) in the table, which -+ * we then... -+ */ -+ g_autoptr(GList) fids = g_hash_table_get_values(s->fids); - -- /* Free all fids */ -- while (!QSIMPLEQ_EMPTY(&s->fid_list)) { -- /* Get fid */ -- fidp = QSIMPLEQ_FIRST(&s->fid_list); -- fidp->ref++; -+ /* ... remove from the table, taking over ownership. */ -+ g_hash_table_steal_all(s->fids); - -- /* Clunk fid */ -- QSIMPLEQ_REMOVE(&s->fid_list, fidp, V9fsFidState, next); -+ /* -+ * This allows us to release our references to them asynchronously without -+ * iterating over the hash table and risking iterator invalidation -+ * through concurrent modifications. -+ */ -+ for (freeing = fids; freeing; freeing = freeing->next) { -+ fidp = freeing->data; -+ fidp->ref++; - fidp->clunked = true; -- - put_fid(pdu, fidp); - } - } -@@ -3205,6 +3222,8 @@ static int coroutine_fn v9fs_complete_rename(V9fsPDU *pdu, V9fsFidState *fidp, - V9fsFidState *tfidp; - V9fsState *s = pdu->s; - V9fsFidState *dirfidp = NULL; -+ GHashTableIter iter; -+ gpointer fid; - - v9fs_path_init(&new_path); - if (newdirfid != -1) { -@@ -3238,11 +3257,13 @@ static int coroutine_fn v9fs_complete_rename(V9fsPDU *pdu, V9fsFidState *fidp, - if (err < 0) { - goto out; - } -+ - /* - * Fixup fid's pointing to the old name to - * start pointing to the new name - */ -- QSIMPLEQ_FOREACH(tfidp, &s->fid_list, next) { -+ g_hash_table_iter_init(&iter, s->fids); -+ while (g_hash_table_iter_next(&iter, &fid, (gpointer *) &tfidp)) { - if (v9fs_path_is_ancestor(&fidp->path, &tfidp->path)) { - /* replace the name */ - v9fs_fix_path(&tfidp->path, &new_path, strlen(fidp->path.data)); -@@ -3320,6 +3341,8 @@ static int coroutine_fn v9fs_fix_fid_paths(V9fsPDU *pdu, V9fsPath *olddir, - V9fsPath oldpath, newpath; - V9fsState *s = pdu->s; - int err; -+ GHashTableIter iter; -+ gpointer fid; - - v9fs_path_init(&oldpath); - v9fs_path_init(&newpath); -@@ -3336,7 +3359,8 @@ static int coroutine_fn v9fs_fix_fid_paths(V9fsPDU *pdu, V9fsPath *olddir, - * Fixup fid's pointing to the old name to - * start pointing to the new name - */ -- QSIMPLEQ_FOREACH(tfidp, &s->fid_list, next) { -+ g_hash_table_iter_init(&iter, s->fids); -+ while (g_hash_table_iter_next(&iter, &fid, (gpointer *) &tfidp)) { - if (v9fs_path_is_ancestor(&oldpath, &tfidp->path)) { - /* replace the name */ - v9fs_fix_path(&tfidp->path, &newpath, strlen(oldpath.data)); -@@ -4226,7 +4250,7 @@ int v9fs_device_realize_common(V9fsState *s, const V9fsTransport *t, - s->ctx.fmode = fse->fmode; - s->ctx.dmode = fse->dmode; - -- QSIMPLEQ_INIT(&s->fid_list); -+ s->fids = g_hash_table_new(NULL, NULL); - qemu_co_rwlock_init(&s->rename_lock); - - if (s->ops->init(&s->ctx, errp) < 0) { -@@ -4286,6 +4310,10 @@ void v9fs_device_unrealize_common(V9fsState *s) - if (s->ctx.fst) { - fsdev_throttle_cleanup(s->ctx.fst); - } -+ if (s->fids) { -+ g_hash_table_destroy(s->fids); -+ s->fids = NULL; -+ } - g_free(s->tag); - qp_table_destroy(&s->qpd_table); - qp_table_destroy(&s->qpp_table); -diff --git a/hw/9pfs/9p.h b/hw/9pfs/9p.h -index 994f952600..10fd2076c2 100644 ---- a/hw/9pfs/9p.h -+++ b/hw/9pfs/9p.h -@@ -339,7 +339,7 @@ typedef struct { - struct V9fsState { - QLIST_HEAD(, V9fsPDU) free_list; - QLIST_HEAD(, V9fsPDU) active_list; -- QSIMPLEQ_HEAD(, V9fsFidState) fid_list; -+ GHashTable *fids; - FileOperations *ops; - FsContext ctx; - char *tag; --- -2.36.2 - diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 46bbc3b914b9..e0c29518a729 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -2,7 +2,7 @@ , perl, pixman, vde2, alsa-lib, texinfo, flex , bison, lzo, snappy, libaio, libtasn1, gnutls, nettle, curl, ninja, meson, sigtool , makeWrapper, runtimeShell, removeReferencesTo -, attr, libcap, libcap_ng, socat +, attr, libcap, libcap_ng, socat, libslirp , CoreServices, Cocoa, Hypervisor, rez, setfile, vmnet , guestAgentSupport ? with stdenv.hostPlatform; isLinux || isSunOS || isWindows , numaSupport ? stdenv.isLinux && !stdenv.isAarch32, numactl @@ -42,11 +42,11 @@ stdenv.mkDerivation rec { + lib.optionalString xenSupport "-xen" + lib.optionalString hostCpuOnly "-host-cpu-only" + lib.optionalString nixosTestRunner "-for-vm-tests"; - version = "7.1.0"; + version = "7.2.0"; src = fetchurl { url = "https://download.qemu.org/qemu-${version}.tar.xz"; - sha256 = "1rmvrgqjhrvcmchnz170dxvrrf14n6nm39y8ivrprmfydd9lwqx0"; + sha256 = "sha256-W0nOJod0Ta1JSukKiYxSIEo0BuhNBySCoeG+hU7rIVc="; }; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -57,7 +57,7 @@ stdenv.mkDerivation rec { buildInputs = [ zlib glib perl pixman vde2 texinfo lzo snappy libtasn1 - gnutls nettle curl + gnutls nettle curl libslirp ] ++ lib.optionals ncursesSupport [ ncurses ] ++ lib.optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile vmnet ] @@ -111,18 +111,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-oC+bRjEHixv1QEFO9XAm4HHOwoiT+NkhknKGPydnZ5E="; revert = true; }) - ./9pfs-use-GHashTable-for-fid-table.patch - (fetchpatch { - name = "CVE-2022-3165.patch"; - url = "https://gitlab.com/qemu-project/qemu/-/commit/d307040b18bfcb1393b910f1bae753d5c12a4dc7.patch"; - sha256 = "sha256-YPhm580lBNuAv7G1snYccKZ2V5ycdV8Ri8mTw5jjFBc="; - }) ] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch; postPatch = '' # Otherwise tries to ensure /var/run exists. - sed -i "/install_subdir('run', install_dir: get_option('localstatedir'))/d" \ + sed -i "/install_emptydir(get_option('localstatedir') \/ 'run')/d" \ qga/meson.build ''; diff --git a/pkgs/applications/virtualization/qemu/revert-ui-cocoa-add-clipboard-support.patch b/pkgs/applications/virtualization/qemu/revert-ui-cocoa-add-clipboard-support.patch index 2faab7acd873..d0e511c0403d 100644 --- a/pkgs/applications/virtualization/qemu/revert-ui-cocoa-add-clipboard-support.patch +++ b/pkgs/applications/virtualization/qemu/revert-ui-cocoa-add-clipboard-support.patch @@ -1,14 +1,5 @@ -From 756021d1e433925cf9a732d7ea67b01b0beb061c Mon Sep 17 00:00:00 2001 -From: Will Cohen -Date: Tue, 29 Mar 2022 14:00:56 -0400 -Subject: [PATCH] Revert "ui/cocoa: Add clipboard support" - -This reverts commit 7e3e20d89129614f4a7b2451fe321cc6ccca3b76. ---- - include/ui/clipboard.h | 2 +- - ui/clipboard.c | 2 +- - ui/cocoa.m | 123 ----------------------------------------- - 3 files changed, 2 insertions(+), 125 deletions(-) +Based on a reversion of upstream 7e3e20d89129614f4a7b2451fe321cc6ccca3b76, +adapted for 7.2.0 diff --git a/include/ui/clipboard.h b/include/ui/clipboard.h index ce76aa451f..c4e1dc4ff4 100644 @@ -24,10 +15,10 @@ index ce76aa451f..c4e1dc4ff4 100644 G_DEFINE_AUTOPTR_CLEANUP_FUNC(QemuClipboardInfo, qemu_clipboard_info_unref) diff --git a/ui/clipboard.c b/ui/clipboard.c -index 9079ef829b..6b9ed59e1b 100644 +index 3d14bffaf8..2c3f4c3ba0 100644 --- a/ui/clipboard.c +++ b/ui/clipboard.c -@@ -140,7 +140,7 @@ void qemu_clipboard_set_data(QemuClipboardPeer *peer, +@@ -154,7 +154,7 @@ void qemu_clipboard_set_data(QemuClipboardPeer *peer, QemuClipboardInfo *info, QemuClipboardType type, uint32_t size, @@ -37,7 +28,7 @@ index 9079ef829b..6b9ed59e1b 100644 { if (!info || diff --git a/ui/cocoa.m b/ui/cocoa.m -index 5a8bd5dd84..79ed6d043f 100644 +index 660d3e0935..0e6760c360 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -29,7 +29,6 @@ @@ -48,8 +39,8 @@ index 5a8bd5dd84..79ed6d043f 100644 #include "ui/console.h" #include "ui/input.h" #include "ui/kbd-state.h" -@@ -109,10 +108,6 @@ static void cocoa_switch(DisplayChangeListener *dcl, - static QemuSemaphore app_started_sem; +@@ -105,10 +104,6 @@ static void cocoa_switch(DisplayChangeListener *dcl, + static bool allow_events; -static NSInteger cbchangecount = -1; @@ -59,7 +50,7 @@ index 5a8bd5dd84..79ed6d043f 100644 // Utility functions to run specified code block with iothread lock held typedef void (^CodeBlock)(void); typedef bool (^BoolCodeBlock)(void); -@@ -1815,107 +1810,6 @@ static void addRemovableDevicesMenuItems(void) +@@ -1799,107 +1794,6 @@ static void addRemovableDevicesMenuItems(void) qapi_free_BlockInfoList(pointerToFree); } @@ -167,15 +158,15 @@ index 5a8bd5dd84..79ed6d043f 100644 /* * The startup process for the OSX/Cocoa UI is complicated, because * OSX insists that the UI runs on the initial main thread, and so we -@@ -1950,7 +1844,6 @@ static void cocoa_clipboard_request(QemuClipboardInfo *info, - COCOA_DEBUG("Second thread: calling qemu_main()\n"); - status = qemu_main(gArgc, gArgv, *_NSGetEnviron()); - COCOA_DEBUG("Second thread: qemu_main() returned, exiting\n"); +@@ -1922,7 +1816,6 @@ static void cocoa_clipboard_request(QemuClipboardInfo *info, + status = qemu_default_main(); + qemu_mutex_unlock_iothread(); + COCOA_DEBUG("Second thread: qemu_default_main() returned, exiting\n"); - [cbowner release]; exit(status); } -@@ -2066,18 +1959,6 @@ static void cocoa_refresh(DisplayChangeListener *dcl) +@@ -2003,18 +1896,6 @@ static void cocoa_refresh(DisplayChangeListener *dcl) [cocoaView setAbsoluteEnabled:YES]; }); } @@ -194,7 +185,7 @@ index 5a8bd5dd84..79ed6d043f 100644 [pool release]; } -@@ -2117,10 +1998,6 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts) +@@ -2071,12 +1952,6 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts) // register vga output callbacks register_displaychangelistener(&dcl); @@ -202,9 +193,8 @@ index 5a8bd5dd84..79ed6d043f 100644 - qemu_event_init(&cbevent, false); - cbowner = [[QemuCocoaPasteboardTypeOwner alloc] init]; - qemu_clipboard_peer_register(&cbpeer); +- +- [pool release]; } static QemuDisplay qemu_display_cocoa = { --- -2.35.1 - diff --git a/pkgs/applications/window-managers/katriawm/default.nix b/pkgs/applications/window-managers/katriawm/default.nix new file mode 100644 index 000000000000..61a82f526d9e --- /dev/null +++ b/pkgs/applications/window-managers/katriawm/default.nix @@ -0,0 +1,43 @@ +{ lib +, stdenv +, fetchzip +, libX11 +, libXft +, libXrandr +, pkg-config +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "katriawm"; + version = "21.09"; + + src = fetchzip { + name = finalAttrs.pname + "-" + finalAttrs.version; + url = "https://www.uninformativ.de/git/katriawm/archives/katriawm-v${finalAttrs.version}.tar.gz"; + hash = "sha256-xt0sWEwTcCs5cwoB3wVbYcyAKL0jx7KyeCefEBVFhH8="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + libX11 + libXft + libXrandr + ]; + + preBuild = '' + cd src + ''; + + installFlags = [ "prefix=$(out)" ]; + + meta = with lib; { + homepage = "https://www.uninformativ.de/git/katriawm/file/README.html"; + description = "A non-reparenting, dynamic window manager with decorations"; + license = licenses.mit; + maintainers = with maintainers; [ AndersonTorres ]; + inherit (libX11.meta) platforms; + }; +}) diff --git a/pkgs/applications/window-managers/notion/default.nix b/pkgs/applications/window-managers/notion/default.nix index 4e546c067155..d4ae41134ebc 100644 --- a/pkgs/applications/window-managers/notion/default.nix +++ b/pkgs/applications/window-managers/notion/default.nix @@ -16,6 +16,11 @@ stdenv.mkDerivation rec { sha256 = "14swd0yqci8lxn259fkd9w92bgyf4rmjwgvgyqp78wlfix6ai4mv"; }; + # error: 'PATH_MAX' undeclared + postPatch = '' + sed 1i'#include ' -i mod_notionflux/notionflux/notionflux.c + ''; + nativeBuildInputs = [ pkg-config makeWrapper groff ]; buildInputs = [ lua gettext which readline fontconfig libX11 libXext libSM libXinerama libXrandr libXft ]; diff --git a/pkgs/applications/window-managers/sxhkd/default.nix b/pkgs/applications/window-managers/sxhkd/default.nix deleted file mode 100644 index 427f4c92f7bd..000000000000 --- a/pkgs/applications/window-managers/sxhkd/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, asciidoc, libxcb, xcbutil, xcbutilkeysyms -, xcbutilwm -}: - -stdenv.mkDerivation rec { - pname = "sxhkd"; - version = "0.6.2"; - - src = fetchFromGitHub { - owner = "baskerville"; - repo = "sxhkd"; - rev = version; - sha256 = "1winwzdy9yxvxnrv8gqpigl9y0c2px27mnms62bdilp4x6llrs9r"; - }; - - buildInputs = [ asciidoc libxcb xcbutil xcbutilkeysyms xcbutilwm ]; - - makeFlags = [ "PREFIX=$(out)" ]; - - meta = with lib; { - description = "Simple X hotkey daemon"; - homepage = "https://github.com/baskerville/sxhkd"; - license = licenses.bsd2; - maintainers = with maintainers; [ vyp ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index b54983986dbe..121b50fe0f52 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -167,7 +167,8 @@ stdenv.mkDerivation { # Create symlinks for rest of the binaries. + '' - for binary in objdump objcopy size strings as ar nm gprof dwp c++filt addr2line ranlib readelf elfedit; do + for binary in objdump objcopy size strings as ar nm gprof dwp c++filt addr2line \ + ranlib readelf elfedit dlltool dllwrap windmc windres; do if [ -e $ldPath/${targetPrefix}''${binary} ]; then ln -s $ldPath/${targetPrefix}''${binary} $out/bin/${targetPrefix}''${binary} fi diff --git a/pkgs/build-support/go/module.nix b/pkgs/build-support/go/module.nix index 84d9023209d3..647f2a2f7adc 100644 --- a/pkgs/build-support/go/module.nix +++ b/pkgs/build-support/go/module.nix @@ -209,7 +209,7 @@ let flags+=($buildFlags "''${buildFlagsArray[@]}") flags+=(''${tags:+-tags=${lib.concatStringsSep "," tags}}) flags+=(''${ldflags:+-ldflags="$ldflags"}) - flags+=("-v" "-p" "$NIX_BUILD_CORES") + flags+=("-p" "$NIX_BUILD_CORES") if [ "$cmd" = "test" ]; then flags+=(-vet=off) diff --git a/pkgs/build-support/go/package.nix b/pkgs/build-support/go/package.nix index 957a65572b85..ba1ab37a0c0e 100644 --- a/pkgs/build-support/go/package.nix +++ b/pkgs/build-support/go/package.nix @@ -168,7 +168,7 @@ let flags+=($buildFlags "''${buildFlagsArray[@]}") flags+=(''${tags:+-tags=${lib.concatStringsSep "," tags}}) flags+=(''${ldflags:+-ldflags="$ldflags"}) - flags+=("-v" "-p" "$NIX_BUILD_CORES") + flags+=("-p" "$NIX_BUILD_CORES") if [ "$cmd" = "test" ]; then flags+=(-vet=off) diff --git a/pkgs/build-support/wrapper-common/utils.bash b/pkgs/build-support/wrapper-common/utils.bash index 0afccadf3384..44b44818c8ed 100644 --- a/pkgs/build-support/wrapper-common/utils.bash +++ b/pkgs/build-support/wrapper-common/utils.bash @@ -104,13 +104,13 @@ badPath() { # directory (including the build directory). test \ "$p" != "/dev/null" -a \ - "${p#${NIX_STORE}}" = "$p" -a \ - "${p#${NIX_BUILD_TOP}}" = "$p" -a \ - "${p#/tmp}" = "$p" -a \ - "${p#${TMP:-/tmp}}" = "$p" -a \ - "${p#${TMPDIR:-/tmp}}" = "$p" -a \ - "${p#${TEMP:-/tmp}}" = "$p" -a \ - "${p#${TEMPDIR:-/tmp}}" = "$p" + "${p#"${NIX_STORE}"}" = "$p" -a \ + "${p#"${NIX_BUILD_TOP}"}" = "$p" -a \ + "${p#/tmp}" = "$p" -a \ + "${p#"${TMP:-/tmp}"}" = "$p" -a \ + "${p#"${TMPDIR:-/tmp}"}" = "$p" -a \ + "${p#"${TEMP:-/tmp}"}" = "$p" -a \ + "${p#"${TEMPDIR:-/tmp}"}" = "$p" } expandResponseParams() { diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix index a4739edea12f..2ae33c049bd2 100644 --- a/pkgs/data/misc/cacert/default.nix +++ b/pkgs/data/misc/cacert/default.nix @@ -17,10 +17,20 @@ }: let - blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" blacklist); + blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" (blacklist ++ [ + # Mozilla does not trust new certificates issued by these CAs after 2022/11/30¹ + # in their products, but unfortunately we don't have such a fine-grained + # solution for most system packages², so we decided to eject these. + # + # [1] https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/oxX69KFvsm4/m/yLohoVqtCgAJ + # [2] https://utcc.utoronto.ca/~cks/space/blog/linux/CARootStoreTrustProblem + "TrustCor ECA-1" + "TrustCor RootCert CA-1" + "TrustCor RootCert CA-2" + ])); extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings); - srcVersion = "3.83"; + srcVersion = "3.86"; version = if nssOverride != null then nssOverride.version else srcVersion; meta = with lib; { homepage = "https://curl.haxx.se/docs/caextract.html"; @@ -35,7 +45,7 @@ let src = if nssOverride != null then nssOverride.src else fetchurl { url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings ["."] ["_"] version}_RTM/src/nss-${version}.tar.gz"; - sha256 = "sha256-qyPqZ/lkCQuLc8gKZ0CCVxw25fTrqSBXrGSMnB3vASg="; + sha256 = "sha256-PzhfxoZHa7uoEQNfpoIbVCR11VdHsYwgwiHU1mVzuXU="; }; dontBuild = true; diff --git a/pkgs/data/misc/mobile-broadband-provider-info/default.nix b/pkgs/data/misc/mobile-broadband-provider-info/default.nix index 85f45ec516df..104ec58f718f 100644 --- a/pkgs/data/misc/mobile-broadband-provider-info/default.nix +++ b/pkgs/data/misc/mobile-broadband-provider-info/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "mobile-broadband-provider-info"; - version = "20220725"; + version = "20221107"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-SEWuAcKH8t+wIrxi1ZoUiHP/xKZz9RAgViZXQm1jKs0="; + sha256 = "sha256-2TOSVmw0epbu2V2oxmpdoN2U9BFc+zowX/JoLGTP2BA="; }; nativeBuildInputs = [ diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index 1453b3899ef7..81f23c9a828f 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -1,17 +1,17 @@ -{ lib, stdenv, fetchurl, fetchpatch, buildPackages }: +{ lib, stdenv, fetchurl, buildPackages }: stdenv.mkDerivation rec { pname = "tzdata"; - version = "2022f"; + version = "2022g"; srcs = [ (fetchurl { url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz"; - hash = "sha256-mZDXH2ddISVnuTH+iq4cq3An+J/vuKedgIppM6Z68AA="; + hash = "sha256-RJHbgoGulKhNk55Ce92D3DifJnZNJ9mlxS14LBZ2RHg="; }) (fetchurl { url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz"; - hash = "sha256-5FQ+kPhPkfqCgJ6piTAFL9vBOIDIpiPuOk6qQvimTBU="; + hash = "sha256-lhC7C5ZW/0BMNhpB8yhtpTBktUadhPAMnLIxTIYU2nQ="; }) ]; @@ -19,17 +19,6 @@ stdenv.mkDerivation rec { patches = lib.optionals stdenv.hostPlatform.isWindows [ ./0001-Add-exe-extension-for-MS-Windows-binaries.patch - ] ++ [ - (fetchpatch { - name = "fix-get-random-on-osx-1.patch"; - url = "https://github.com/eggert/tz/commit/5db8b3ba4816ccb8f4ffeb84f05b99e87d3b1be6.patch"; - hash = "sha256-FevGjiSahYwEjRUTvRY0Y6/jUO4YHiTlAAPixzEy5hw="; - }) - (fetchpatch { - name = "fix-get-random-on-osx-2.patch"; - url = "https://github.com/eggert/tz/commit/841183210311b1d4ffb4084bfde8fa8bdf3e6757.patch"; - hash = "sha256-1tUTZBMT7V463P7eygpFS6/k5gTeeXumk5+V4gdKpEI="; - }) ]; outputs = [ "out" "bin" "man" "dev" ]; diff --git a/pkgs/desktops/cinnamon/bulky/default.nix b/pkgs/desktops/cinnamon/bulky/default.nix index 5aec87bb79e1..822c40694217 100644 --- a/pkgs/desktops/cinnamon/bulky/default.nix +++ b/pkgs/desktops/cinnamon/bulky/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "bulky"; - version = "2.6"; + version = "2.7"; src = fetchFromGitHub { owner = "linuxmint"; repo = "bulky"; rev = version; - hash = "sha256-OI7sIPMZOTmVoWj4Y7kEH0mxay4DwO5kPjclgRDVMus="; + hash = "sha256-Ps7ql6EAdoljQ6S8D2JxNSh0+jtEVZpnQv3fpvWkQSk="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix index 9dd2f9c94ee1..09bf133a92a3 100644 --- a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "cinnamon-translations"; - version = "5.6.0"; + version = "5.6.1"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-ztHHqX0OuwSFGlxCoJhZXnUsMM0WrkwiQINgDVlb0XA="; + hash = "sha256-567xkQGLLhZtjAWXzW/MRiD14rrWeg0yvx97jtukRvc="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/cinnamon/pix/default.nix b/pkgs/desktops/cinnamon/pix/default.nix index 5ddfdd7570ff..0b02806e0579 100644 --- a/pkgs/desktops/cinnamon/pix/default.nix +++ b/pkgs/desktops/cinnamon/pix/default.nix @@ -29,13 +29,13 @@ stdenv.mkDerivation rec { pname = "pix"; - version = "2.8.8"; + version = "2.8.9"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - sha256 = "sha256-dvxbnf6tvBAwYM0EKpd/mPfW2PXeV1H2khYl8LIJqa0="; + sha256 = "sha256-7g0j1cWgNtWlqKWzBnngUA2WNr8Zh8YO/jJ8OdTII7Y="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/cinnamon/warpinator/default.nix b/pkgs/desktops/cinnamon/warpinator/default.nix index 1db7a858bc78..8398df6b7c12 100644 --- a/pkgs/desktops/cinnamon/warpinator/default.nix +++ b/pkgs/desktops/cinnamon/warpinator/default.nix @@ -15,7 +15,7 @@ python3.pkgs.buildPythonApplication rec { pname = "warpinator"; - version = "1.4.2"; + version = "1.4.3"; format = "other"; @@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-aiHlBeWGYqSaqvRtwL7smqt4iueIKzQoDawdFSCn6eg="; + hash = "sha256-blsDOAdfu0N6I+6ZvycL+BIIsZPIjwYm+sJnbZtHJE8="; }; nativeBuildInputs = [ diff --git a/pkgs/development/compilers/cudatoolkit/extension.nix b/pkgs/development/compilers/cudatoolkit/extension.nix index 862c83167992..c11f12b118a2 100644 --- a/pkgs/development/compilers/cudatoolkit/extension.nix +++ b/pkgs/development/compilers/cudatoolkit/extension.nix @@ -10,6 +10,8 @@ final: prev: let ### Add classic cudatoolkit package cudatoolkit = buildCudaToolkitPackage ((attrs: attrs // { gcc = prev.pkgs.${attrs.gcc}; }) cudatoolkitVersions.${final.cudaVersion}); + cudaFlags = final.callPackage ./flags.nix {}; + in { - inherit cudatoolkit; + inherit cudatoolkit cudaFlags; } diff --git a/pkgs/development/compilers/cudatoolkit/flags.nix b/pkgs/development/compilers/cudatoolkit/flags.nix new file mode 100644 index 000000000000..24f653ded29b --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/flags.nix @@ -0,0 +1,78 @@ +{ config +, lib +, cudatoolkit +}: +let + + # Flags are determined based on your CUDA toolkit by default. You may benefit + # from improved performance, reduced file size, or greater hardware suppport by + # passing a configuration based on your specific GPU environment. + # + # config.cudaCapabilities: list of hardware generations to support (e.g., "8.0") + # config.cudaForwardCompat: bool for compatibility with future GPU generations + # + # Please see the accompanying documentation or https://github.com/NixOS/nixpkgs/pull/205351 + + defaultCudaCapabilities = rec { + cuda9 = [ + "3.0" + "3.5" + "5.0" + "5.2" + "6.0" + "6.1" + "7.0" + ]; + + cuda10 = cuda9 ++ [ + "7.5" + ]; + + cuda11 = [ + "3.5" + "5.0" + "5.2" + "6.0" + "6.1" + "7.0" + "7.5" + "8.0" + "8.6" + ]; + + }; + + cudaMicroarchitectureNames = { + "3" = "Kepler"; + "5" = "Maxwell"; + "6" = "Pascal"; + "7" = "Volta"; + "8" = "Ampere"; + "9" = "Hopper"; + }; + + defaultCudaArchList = defaultCudaCapabilities."cuda${lib.versions.major cudatoolkit.version}"; + cudaRealCapabilities = config.cudaCapabilities or defaultCudaArchList; + capabilitiesForward = "${lib.last cudaRealCapabilities}+PTX"; + + dropDot = ver: builtins.replaceStrings ["."] [""] ver; + + archMapper = feat: map (ver: "${feat}_${dropDot ver}"); + gencodeMapper = feat: map (ver: "-gencode=arch=compute_${dropDot ver},code=${feat}_${dropDot ver}"); + cudaRealArchs = archMapper "sm" cudaRealCapabilities; + cudaPTXArchs = archMapper "compute" cudaRealCapabilities; + cudaArchs = cudaRealArchs ++ [ (lib.last cudaPTXArchs) ]; + + cudaArchNames = lib.unique (map (v: cudaMicroarchitectureNames.${lib.versions.major v}) cudaRealCapabilities); + cudaCapabilities = cudaRealCapabilities ++ lib.optional (config.cudaForwardCompat or true) capabilitiesForward; + cudaGencode = gencodeMapper "sm" cudaRealCapabilities ++ lib.optionals (config.cudaForwardCompat or true) (gencodeMapper "compute" [ (lib.last cudaPTXArchs) ]); + + cudaCapabilitiesCommaString = lib.strings.concatStringsSep "," cudaCapabilities; + cudaCapabilitiesSemiColonString = lib.strings.concatStringsSep ";" cudaCapabilities; + cudaRealCapabilitiesCommaString = lib.strings.concatStringsSep "," cudaRealCapabilities; + +in +{ + inherit cudaArchs cudaArchNames cudaCapabilities cudaCapabilitiesCommaString cudaCapabilitiesSemiColonString + cudaRealCapabilities cudaRealCapabilitiesCommaString cudaGencode cudaRealArchs cudaPTXArchs; +} diff --git a/pkgs/development/compilers/gleam/default.nix b/pkgs/development/compilers/gleam/default.nix index 3f3148371742..a3c1d5ca722c 100644 --- a/pkgs/development/compilers/gleam/default.nix +++ b/pkgs/development/compilers/gleam/default.nix @@ -2,13 +2,13 @@ rustPlatform.buildRustPackage rec { pname = "gleam"; - version = "0.25.1"; + version = "0.25.3"; src = fetchFromGitHub { owner = "gleam-lang"; repo = pname; rev = "v${version}"; - sha256 = "sha256-PzvFX1ssBPXhHBNGK38y427HYJ9Q40c4w2mqGZ/2rtI="; + sha256 = "sha256-JT9NUca+DaqxT36heaNKijIuqdnSvrYCfY2uM7wTOGo="; }; nativeBuildInputs = [ pkg-config ]; @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security libiconv ]; - cargoSha256 = "sha256-NeNpT/yOXE70ElawrOGBc4G5bN2ohzYVVUtF4yVCJOo="; + cargoSha256 = "sha256-YPyGCd4//yta3jy5tWB4C5yRgxNbfG+hGF5/QSch/6M="; meta = with lib; { description = "A statically typed language for the Erlang VM"; diff --git a/pkgs/development/compilers/go/1.19.nix b/pkgs/development/compilers/go/1.19.nix index a406b21458dc..28cced9451a7 100644 --- a/pkgs/development/compilers/go/1.19.nix +++ b/pkgs/development/compilers/go/1.19.nix @@ -45,11 +45,11 @@ let in stdenv.mkDerivation rec { pname = "go"; - version = "1.19.3"; + version = "1.19.4"; src = fetchurl { url = "https://go.dev/dl/go${version}.src.tar.gz"; - sha256 = "sha256-GKwmPjkhC89o2F9DcOl/sXNBZplaH2P7OLT24H2Q0hI="; + sha256 = "sha256-7adNtKxJSACj5m7nhOSVv7ubjlNd+SSosBsagCi382g="; }; strictDeps = true; diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix index 0eab971fb977..0570450b32bf 100644 --- a/pkgs/development/compilers/intel-graphics-compiler/default.nix +++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix @@ -6,7 +6,6 @@ , bison , flex , llvmPackages_11 -, lld_11 , opencl-clang , python3 , spirv-tools @@ -20,42 +19,40 @@ let vc_intrinsics_src = fetchFromGitHub { owner = "intel"; repo = "vc-intrinsics"; - rev = "v0.3.0"; - sha256 = "sha256-1Rm4TCERTOcPGWJF+yNoKeB9x3jfqnh7Vlv+0Xpmjbk="; + rev = "v0.7.1"; + sha256 = "sha256-bpi4hLpov1CbFy4jr9Eytc5O4ismYw0J+KgXyZtQYks="; }; + llvmPkgs = llvmPackages_11 // { - inherit spirv-llvm-translator; - }; - inherit (llvmPkgs) llvm; - inherit (if buildWithPatches then opencl-clang else llvmPkgs) clang libclang spirv-llvm-translator; - inherit (lib) getVersion optional optionals versionOlder versions; + spirv-llvm-translator = spirv-llvm-translator.override { llvm = llvm; }; + } // lib.optionalAttrs buildWithPatches opencl-clang; + + inherit (llvmPackages_11) lld llvm; + inherit (llvmPkgs) clang libclang spirv-llvm-translator; in stdenv.mkDerivation rec { pname = "intel-graphics-compiler"; - version = "1.0.11061"; + version = "1.0.12504.5"; src = fetchFromGitHub { owner = "intel"; repo = "intel-graphics-compiler"; rev = "igc-${version}"; - sha256 = "sha256-qS/+GTqHtp3T6ggPKrCDsrTb7XvVOUaNbMzGU51jTu4="; + sha256 = "sha256-Ok+cXMTBABrHHM4Vc2yzlou48YHoQnaB3We8mGZhSwI="; }; - nativeBuildInputs = [ clang cmake bison flex python3 ]; + nativeBuildInputs = [ cmake bison flex python3 ]; - buildInputs = [ spirv-headers spirv-tools clang opencl-clang spirv-llvm-translator llvm lld_11 ]; + buildInputs = [ spirv-headers spirv-tools spirv-llvm-translator llvm lld ]; strictDeps = true; - # checkInputs = [ lit pythonPackages.nose ]; - - # FIXME: How do we run the test suite? - # https://github.com/intel/intel-graphics-compiler/issues/98 + # testing is done via intel-compute-runtime doCheck = false; postPatch = '' - substituteInPlace ./external/SPIRV-Tools/CMakeLists.txt \ + substituteInPlace external/SPIRV-Tools/CMakeLists.txt \ --replace '$'''{SPIRV-Tools_DIR}../../..' \ '${spirv-tools}' \ --replace 'SPIRV-Headers_INCLUDE_DIR "/usr/include"' \ @@ -64,7 +61,7 @@ stdenv.mkDerivation rec { 'set_target_properties(SPIRV-Tools-shared' \ --replace 'IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools' \ 'IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools-shared' - substituteInPlace ./IGC/AdaptorOCL/igc-opencl.pc.in \ + substituteInPlace IGC/AdaptorOCL/igc-opencl.pc.in \ --replace '/@CMAKE_INSTALL_INCLUDEDIR@' "/include" \ --replace '/@CMAKE_INSTALL_LIBDIR@' "/lib" ''; @@ -74,10 +71,10 @@ stdenv.mkDerivation rec { prebuilds = runCommandLocal "igc-cclang-prebuilds" { } '' mkdir $out ln -s ${clang}/bin/clang $out/ - ln -s clang $out/clang-${versions.major (getVersion clang)} + ln -s clang $out/clang-${lib.versions.major (lib.getVersion clang)} ln -s ${opencl-clang}/lib/* $out/ - ln -s ${lib.getLib libclang}/lib/clang/${getVersion clang}/include/opencl-c.h $out/ - ln -s ${lib.getLib libclang}/lib/clang/${getVersion clang}/include/opencl-c-base.h $out/ + ln -s ${lib.getLib libclang}/lib/clang/${lib.getVersion clang}/include/opencl-c.h $out/ + ln -s ${lib.getLib libclang}/lib/clang/${lib.getVersion clang}/include/opencl-c-base.h $out/ ''; cmakeFlags = [ @@ -86,15 +83,14 @@ stdenv.mkDerivation rec { "-DIGC_OPTION__SPIRV_TOOLS_MODE=Prebuilds" "-DCCLANG_BUILD_PREBUILDS=ON" "-DCCLANG_BUILD_PREBUILDS_DIR=${prebuilds}" - "-DIGC_PREFERRED_LLVM_VERSION=${getVersion llvm}" + "-DIGC_PREFERRED_LLVM_VERSION=${lib.getVersion llvm}" ]; meta = with lib; { homepage = "https://github.com/intel/intel-graphics-compiler"; description = "LLVM-based compiler for OpenCL targeting Intel Gen graphics hardware"; license = licenses.mit; - platforms = platforms.all; - maintainers = with maintainers; [ gloaming ]; - broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/intel-graphics-compiler.x86_64-darwin + platforms = platforms.linux; + maintainers = with maintainers; [ SuperSandro2000 ]; }; } diff --git a/pkgs/development/compilers/julia/1.8.nix b/pkgs/development/compilers/julia/1.8.nix index f975b39773d5..708e04971cbe 100644 --- a/pkgs/development/compilers/julia/1.8.nix +++ b/pkgs/development/compilers/julia/1.8.nix @@ -12,19 +12,13 @@ , libwhich , libxml2 , libunwind -, libgit2 , curl -, nghttp2 -, mbedtls_2 -, libssh2 , gmp -, mpfr , suitesparse , utf8proc , zlib , p7zip , ncurses -, pcre2 }: stdenv.mkDerivation rec { @@ -41,15 +35,6 @@ stdenv.mkDerivation rec { path = name: "https://raw.githubusercontent.com/archlinux/svntogit-community/6fd126d089d44fdc875c363488a7c7435a223cec/trunk/${name}"; in [ - # Pull upstream fix to fix tests mpfr-4.1.1 - # https://github.com/JuliaLang/julia/pull/47659 - (fetchpatch { - name = "mfr-4.1.1.patch"; - url = "https://github.com/JuliaLang/julia/commit/59965205ccbdffb4e25e1b60f651ca9df79230a4.patch"; - hash = "sha256-QJ5wxZMhz+or8BqcYv/5fNSTxDAvdSizTYqt7630kcw="; - includes = [ "stdlib/MPFR_jll/test/runtests.jl" ]; - }) - (fetchurl { url = path "julia-hardcoded-libs.patch"; sha256 = "sha256-kppSpVA7bRohd0wXDs4Jgct9ocHnpbeiiSz7ElFom1U="; @@ -77,17 +62,11 @@ stdenv.mkDerivation rec { buildInputs = [ libxml2 libunwind - libgit2 curl - nghttp2 - mbedtls_2 - libssh2 gmp - mpfr utf8proc zlib p7zip - pcre2 ]; JULIA_RPATH = lib.makeLibraryPath (buildInputs ++ [ stdenv.cc.cc gfortran.cc ncurses ]); @@ -106,29 +85,32 @@ stdenv.mkDerivation rec { "USE_SYSTEM_CSL=1" "USE_SYSTEM_LLVM=0" # a patched version is required "USE_SYSTEM_LIBUNWIND=1" - "USE_SYSTEM_PCRE=1" + "USE_SYSTEM_PCRE=0" # version checks "USE_SYSTEM_LIBM=0" "USE_SYSTEM_OPENLIBM=0" "USE_SYSTEM_DSFMT=0" # not available in nixpkgs "USE_SYSTEM_LIBBLASTRAMPOLINE=0" # not available in nixpkgs "USE_SYSTEM_BLAS=0" # test failure "USE_SYSTEM_LAPACK=0" # test failure - "USE_SYSTEM_GMP=1" - "USE_SYSTEM_MPFR=1" + "USE_SYSTEM_GMP=1" # version checks, but bundled version fails build + "USE_SYSTEM_MPFR=0" # version checks "USE_SYSTEM_LIBSUITESPARSE=0" # test failure "USE_SYSTEM_LIBUV=0" # a patched version is required "USE_SYSTEM_UTF8PROC=1" - "USE_SYSTEM_MBEDTLS=1" - "USE_SYSTEM_LIBSSH2=1" - "USE_SYSTEM_NGHTTP2=1" + "USE_SYSTEM_MBEDTLS=0" # version checks + "USE_SYSTEM_LIBSSH2=0" # version checks + "USE_SYSTEM_NGHTTP2=0" # version checks "USE_SYSTEM_CURL=1" - "USE_SYSTEM_LIBGIT2=1" + "USE_SYSTEM_LIBGIT2=0" # version checks "USE_SYSTEM_PATCHELF=1" "USE_SYSTEM_LIBWHICH=1" - "USE_SYSTEM_ZLIB=1" + "USE_SYSTEM_ZLIB=1" # version checks, but the system zlib is used anyway "USE_SYSTEM_P7ZIP=1" - - "PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h" + ] ++ lib.optionals stdenv.isx86_64 [ + # https://github.com/JuliaCI/julia-buildbot/blob/master/master/inventory.py + "JULIA_CPU_TARGET=generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)" + ] ++ lib.optionals stdenv.isAarch64 [ + "JULIA_CPU_TERGET=generic;cortex-a57;thunderx2t99;armv8.2-a,crypto,fullfp16,lse,rdm" ]; doInstallCheck = true; diff --git a/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch b/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch index a5519d96a9d2..01c32ae6d8e0 100644 --- a/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch +++ b/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch @@ -1,4 +1,4 @@ -From 1faa30525c9671ffd3a08901896b521a040d7e5c Mon Sep 17 00:00:00 2001 +From b2a58160fd194858267c433ae551f24840a0b3f4 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 20 Sep 2022 18:42:08 +0800 Subject: [PATCH 1/4] skip symlink system libraries diff --git a/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch b/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch index 64c0821eaba8..642d5613229f 100644 --- a/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch +++ b/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch @@ -1,4 +1,4 @@ -From 05c008dcabaf94f5623f2f7e267005eef0a8c5fc Mon Sep 17 00:00:00 2001 +From ddf422a97973a1f4d2d4d32272396c7165580702 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 20 Sep 2022 18:42:31 +0800 Subject: [PATCH 2/4] skip building doc @@ -8,10 +8,10 @@ Subject: [PATCH 2/4] skip building doc 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index d38311dce..a775d36e1 100644 +index 57b595310..563be74c9 100644 --- a/Makefile +++ b/Makefile -@@ -227,7 +227,7 @@ define stringreplace +@@ -229,7 +229,7 @@ define stringreplace endef diff --git a/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-and-flaky-tests.patch b/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-and-flaky-tests.patch new file mode 100644 index 000000000000..ad3d78742a6e --- /dev/null +++ b/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-and-flaky-tests.patch @@ -0,0 +1,25 @@ +From ed596b33005a438109f0078ed0ba30ebe464b4b5 Mon Sep 17 00:00:00 2001 +From: Nick Cao +Date: Tue, 20 Sep 2022 18:42:59 +0800 +Subject: [PATCH 3/4] skip failing and flaky tests + +--- + test/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/Makefile b/test/Makefile +index 24e137a5b..553d9d095 100644 +--- a/test/Makefile ++++ b/test/Makefile +@@ -23,7 +23,7 @@ default: + + $(TESTS): + @cd $(SRCDIR) && \ +- $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl $@) ++ $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl --skip MozillaCACerts_jll --skip NetworkOptions --skip Zlib_jll --skip GMP_jll --skip channels $@) + + $(addprefix revise-, $(TESTS)): revise-% : + @cd $(SRCDIR) && \ +-- +2.38.1 + diff --git a/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch b/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch index ebf5729a5c0b..337b1390a636 100644 --- a/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch +++ b/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch @@ -1,4 +1,4 @@ -From 756d4e977f8f224e20effa82c612e5a9cc14d82e Mon Sep 17 00:00:00 2001 +From f91c8c6364eb321dd5e66fa443472fca6bcda7d6 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 20 Sep 2022 18:42:59 +0800 Subject: [PATCH 3/4] skip failing tests @@ -8,7 +8,7 @@ Subject: [PATCH 3/4] skip failing tests 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Makefile b/test/Makefile -index 24e137a5b..c17ccea8a 100644 +index 24e137a5b..2b30ab392 100644 --- a/test/Makefile +++ b/test/Makefile @@ -23,7 +23,7 @@ default: @@ -16,7 +16,7 @@ index 24e137a5b..c17ccea8a 100644 $(TESTS): @cd $(SRCDIR) && \ - $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl $@) -+ $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl --skip LibGit2_jll --skip MozillaCACerts_jll --skip NetworkOptions --skip nghttp2_jll --skip Zlib_jll --skip MbedTLS_jll $@) ++ $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl --skip MozillaCACerts_jll --skip NetworkOptions --skip Zlib_jll --skip GMP_jll $@) $(addprefix revise-, $(TESTS)): revise-% : @cd $(SRCDIR) && \ diff --git a/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch b/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch index 2243565b394e..b458f7fc29c8 100644 --- a/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch +++ b/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch @@ -1,4 +1,4 @@ -From c0e587f4c50bd7bedfe6e5102e9b47c9704fac9b Mon Sep 17 00:00:00 2001 +From 4bd87f2f3151ad07d311f7d33c2b890977aca93d Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 20 Sep 2022 18:43:15 +0800 Subject: [PATCH 4/4] ignore absolute path when loading library diff --git a/pkgs/development/compilers/ocaml/5.0.nix b/pkgs/development/compilers/ocaml/5.0.nix index b5fbb8dae463..390bb151b715 100644 --- a/pkgs/development/compilers/ocaml/5.0.nix +++ b/pkgs/development/compilers/ocaml/5.0.nix @@ -1,9 +1,6 @@ import ./generic.nix { major_version = "5"; minor_version = "0"; - patch_version = "0-rc1"; - src = fetchTarball { - url = "https://caml.inria.fr/pub/distrib/ocaml-5.0/ocaml-5.0.0~rc1.tar.xz"; - sha256 = "sha256:1ql9rmh2g9fhfv99vk9sdca1biiin32vi4idgdgl668n0vb8blw8"; - }; + patch_version = "0"; + sha256 = "sha256-yxfwpTTdSz/sk9ARsL4bpcYIfaAzz3iehaNLlkHsxl8="; } diff --git a/pkgs/development/compilers/openjdk/18.nix b/pkgs/development/compilers/openjdk/18.nix index 5be60eb94875..600899677fed 100644 --- a/pkgs/development/compilers/openjdk/18.nix +++ b/pkgs/development/compilers/openjdk/18.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub, bash, pkg-config, autoconf, cpio +{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bash, pkg-config, autoconf, cpio , file, which, unzip, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib , libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk18-bootstrap @@ -49,6 +49,13 @@ let url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch"; sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; }) + + # Patch borrowed from Alpine to fix build errors with musl libc and recent gcc. + # This is applied anywhere to prevent patchrot. + (fetchpatch { + url = "https://git.alpinelinux.org/aports/plain/testing/openjdk18/FixNullPtrCast.patch?id=b93d1fc37fcf106144958d957bb97c7db67bd41f"; + hash = "sha256-nvO8RcmKwMcPdzq28mZ4If1XJ6FQ76CYWqRIozPCk5U="; + }) ] ++ lib.optionals (!headless && enableGnome2) [ ./swing-use-gtk-jdk13.patch ]; diff --git a/pkgs/development/compilers/openjdk/19.nix b/pkgs/development/compilers/openjdk/19.nix index 11b2fa60c733..87c978ec8305 100644 --- a/pkgs/development/compilers/openjdk/19.nix +++ b/pkgs/development/compilers/openjdk/19.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub, bash, pkg-config, autoconf, cpio +{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bash, pkg-config, autoconf, cpio , file, which, unzip, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib , libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk19-bootstrap @@ -51,6 +51,13 @@ let url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch"; sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; }) + + # Patch borrowed from Alpine to fix build errors with musl libc and recent gcc. + # This is applied anywhere to prevent patchrot. + (fetchpatch { + url = "https://git.alpinelinux.org/aports/plain/testing/openjdk19/FixNullPtrCast.patch?id=b93d1fc37fcf106144958d957bb97c7db67bd41f"; + hash = "sha256-cnpeYcVoRYjuDgrl2x27frv6KUAnu1+1MVPehPZy/Cg="; + }) ] ++ lib.optionals (!headless && enableGnome2) [ ./swing-use-gtk-jdk13.patch ]; diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix index f61ba57d7b95..7e98684ecff1 100644 --- a/pkgs/development/compilers/rust/make-rust-platform.nix +++ b/pkgs/development/compilers/rust/make-rust-platform.nix @@ -18,7 +18,7 @@ rec { fetchCargoTarball importCargoLock rustc; }; - importCargoLock = buildPackages.callPackage ../../../build-support/rust/import-cargo-lock.nix {}; + importCargoLock = buildPackages.callPackage ../../../build-support/rust/import-cargo-lock.nix { inherit cargo; }; rustcSrc = callPackage ./rust-src.nix { inherit runCommand rustc; diff --git a/pkgs/development/compilers/sbcl/2.x.nix b/pkgs/development/compilers/sbcl/2.x.nix index 85b3881e3a15..2d79117b1663 100644 --- a/pkgs/development/compilers/sbcl/2.x.nix +++ b/pkgs/development/compilers/sbcl/2.x.nix @@ -57,6 +57,10 @@ let "2.2.10" = { sha256 = "sha256-jMPDqHYSI63vFEqIcwsmdQg6Oyb6FV1wz5GruTXpCDM="; }; + + "2.2.11" = { + sha256 = "sha256-NgfWgBZzGICEXO1dXVXGBUzEnxkSGhUCfmxWB66Elt8="; + }; }; in with versionMap.${version}; @@ -169,7 +173,9 @@ stdenv.mkDerivation rec { # duplicate symbol '_static_code_space_free_pointer' in: alloc.o traceroot.o # Should be fixed past 2.1.10 release. "-fcommon" - ]; + ] + # Fails to find `O_LARGEFILE` otherwise. + ++ [ "-D_GNU_SOURCE" ]; buildPhase = '' runHook preBuild diff --git a/pkgs/development/compilers/spirv-llvm-translator/default.nix b/pkgs/development/compilers/spirv-llvm-translator/default.nix index 2100c7d9070a..971b3e8399df 100644 --- a/pkgs/development/compilers/spirv-llvm-translator/default.nix +++ b/pkgs/development/compilers/spirv-llvm-translator/default.nix @@ -22,11 +22,11 @@ let hash = "sha256-BhNAApgZ/w/92XjpoDY6ZEIhSTwgJ4D3/EfNvPmNM2o="; } else if llvmMajor == "11" then { version = "unstable-2022-05-04"; - rev = "99420daab98998a7e36858befac9c5ed109d4920"; # 265 commits ahead of v11.0.0 - hash = "sha256-/vUyL6Wh8hykoGz1QmT1F7lfGDEmG4U3iqmqrJxizOg="; + rev = "4ef524240833abfeee1c5b9fff6b1bd53f4806b3"; # 267 commits ahead of v11.0.0 + hash = "sha256-NoIoa20+2sH41rEnr8lsMhtfesrtdPINiXtUnxYVm8s="; } else throw "Incompatible LLVM version."; in -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "SPIRV-LLVM-Translator"; inherit (branch) version; @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/KhronosGroup/SPIRV-LLVM-Translator"; description = "A tool and a library for bi-directional translation between SPIR-V and LLVM IR"; license = licenses.ncsa; - platforms = platforms.all; + platforms = platforms.unix; maintainers = with maintainers; [ gloaming ]; }; } diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix index 1a1f40e3f9f6..be9ddd9d0b6e 100644 --- a/pkgs/development/interpreters/clojure/babashka.nix +++ b/pkgs/development/interpreters/clojure/babashka.nix @@ -30,7 +30,7 @@ buildGraalvmNativeImage rec { set -euo pipefail readonly latest_version="$(curl \ - ''${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ + ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ -s "https://api.github.com/repos/babashka/babashka/releases/latest" \ | jq -r '.tag_name')" diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix index 406c5bc15ab5..95b7d611fa94 100644 --- a/pkgs/development/interpreters/clojure/default.nix +++ b/pkgs/development/interpreters/clojure/default.nix @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { # `jq -r '.[0].name'` results in `v0.0` readonly latest_version="$(curl \ - ''${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ + ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ -s "https://api.github.com/repos/clojure/brew-install/tags" \ | jq -r '.[1].name')" diff --git a/pkgs/development/interpreters/nickel/default.nix b/pkgs/development/interpreters/nickel/default.nix index 00fd78bdd0c4..714e9a3f9819 100644 --- a/pkgs/development/interpreters/nickel/default.nix +++ b/pkgs/development/interpreters/nickel/default.nix @@ -5,16 +5,16 @@ rustPlatform.buildRustPackage rec { pname = "nickel"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitHub { owner = "tweag"; repo = pname; rev = "refs/tags/${version}"; # because pure ${version} doesn't work - hash = "sha256-L2MQ0dS9mZ+SOFoS/rclPtEl3/iFyEKn6Bse/ysHyKo="; + hash = "sha256-bUUQP7ze0j8d+VEckexDOferAgAHdKZbdKR3q0TNOeE="; }; - cargoSha256 = "sha256-3ucWGmylRatJOl8zktSRMXr5p6L+5+LQV6ALJTtQpiA="; + cargoSha256 = "sha256-E8eIUASjCIVsZhptbU41VfK8bFmA4FTT3LVagLrgUso="; meta = with lib; { homepage = "https://nickel-lang.org/"; diff --git a/pkgs/development/interpreters/python/cpython/3.10/asyncio-deprecation.patch b/pkgs/development/interpreters/python/cpython/3.10/asyncio-deprecation.patch new file mode 100644 index 000000000000..656e4eb6a4cb --- /dev/null +++ b/pkgs/development/interpreters/python/cpython/3.10/asyncio-deprecation.patch @@ -0,0 +1,598 @@ +REVERT https://github.com/python/cpython/commit/300d812fd1c4d9244e71de0d228cc72439d312a7 +--- b/Doc/library/asyncio-eventloop.rst ++++ a/Doc/library/asyncio-eventloop.rst +@@ -43,12 +43,10 @@ + + Get the current event loop. + ++ If there is no current event loop set in the current OS thread, ++ the OS thread is main, and :func:`set_event_loop` has not yet ++ been called, asyncio will create a new event loop and set it as the ++ current one. +- When called from a coroutine or a callback (e.g. scheduled with +- call_soon or similar API), this function will always return the +- running event loop. +- +- If there is no running event loop set, the function will return +- the result of ``get_event_loop_policy().get_event_loop()`` call. + + Because this function has rather complex behavior (especially + when custom event loop policies are in use), using the +@@ -60,14 +58,10 @@ + event loop. + + .. deprecated:: 3.10 ++ Emits a deprecation warning if there is no running event loop. ++ In future Python releases, this function may become an alias of ++ :func:`get_running_loop` and will accordingly raise a ++ :exc:`RuntimeError` if there is no running event loop. +- Deprecation warning is emitted if there is no current event loop. +- In Python 3.12 it will be an error. +- +- .. note:: +- In Python versions 3.10.0--3.10.8 this function +- (and other functions which used it implicitly) emitted a +- :exc:`DeprecationWarning` if there was no running event loop, even if +- the current loop was set. + + .. function:: set_event_loop(loop) + +reverted: +--- b/Doc/library/asyncio-llapi-index.rst ++++ a/Doc/library/asyncio-llapi-index.rst +@@ -19,7 +19,7 @@ + - The **preferred** function to get the running event loop. + + * - :func:`asyncio.get_event_loop` ++ - Get an event loop instance (current or via the policy). +- - Get an event loop instance (running or current via the current policy). + + * - :func:`asyncio.set_event_loop` + - Set the event loop as current via the current policy. +reverted: +--- b/Doc/library/asyncio-policy.rst ++++ a/Doc/library/asyncio-policy.rst +@@ -112,11 +112,6 @@ + + On Windows, :class:`ProactorEventLoop` is now used by default. + +- .. deprecated:: 3.10.9 +- :meth:`get_event_loop` now emits a :exc:`DeprecationWarning` if there +- is no current event loop set and a new event loop has been implicitly +- created. In Python 3.12 it will be an error. +- + + .. class:: WindowsSelectorEventLoopPolicy + +reverted: +--- b/Lib/asyncio/events.py ++++ a/Lib/asyncio/events.py +@@ -650,21 +650,6 @@ + if (self._local._loop is None and + not self._local._set_called and + threading.current_thread() is threading.main_thread()): +- stacklevel = 2 +- try: +- f = sys._getframe(1) +- except AttributeError: +- pass +- else: +- while f: +- module = f.f_globals.get('__name__') +- if not (module == 'asyncio' or module.startswith('asyncio.')): +- break +- f = f.f_back +- stacklevel += 1 +- import warnings +- warnings.warn('There is no current event loop', +- DeprecationWarning, stacklevel=stacklevel) + self.set_event_loop(self.new_event_loop()) + + if self._local._loop is None: +@@ -778,13 +763,12 @@ + + + def _get_event_loop(stacklevel=3): +- # This internal method is going away in Python 3.12, left here only for +- # backwards compatibility with 3.10.0 - 3.10.8 and 3.11.0. +- # Similarly, this method's C equivalent in _asyncio is going away as well. +- # See GH-99949 for more details. + current_loop = _get_running_loop() + if current_loop is not None: + return current_loop ++ import warnings ++ warnings.warn('There is no current event loop', ++ DeprecationWarning, stacklevel=stacklevel) + return get_event_loop_policy().get_event_loop() + + +reverted: +--- b/Lib/test/test_asyncio/test_base_events.py ++++ a/Lib/test/test_asyncio/test_base_events.py +@@ -752,7 +752,7 @@ + def test_env_var_debug(self): + code = '\n'.join(( + 'import asyncio', ++ 'loop = asyncio.get_event_loop()', +- 'loop = asyncio.new_event_loop()', + 'print(loop.get_debug())')) + + # Test with -E to not fail if the unit test was run with +reverted: +--- b/Lib/test/test_asyncio/test_events.py ++++ a/Lib/test/test_asyncio/test_events.py +@@ -2561,9 +2561,8 @@ + def test_get_event_loop(self): + policy = asyncio.DefaultEventLoopPolicy() + self.assertIsNone(policy._local._loop) ++ ++ loop = policy.get_event_loop() +- with self.assertWarns(DeprecationWarning) as cm: +- loop = policy.get_event_loop() +- self.assertEqual(cm.filename, __file__) + self.assertIsInstance(loop, asyncio.AbstractEventLoop) + + self.assertIs(policy._local._loop, loop) +@@ -2577,10 +2576,7 @@ + policy, "set_event_loop", + wraps=policy.set_event_loop) as m_set_event_loop: + ++ loop = policy.get_event_loop() +- with self.assertWarns(DeprecationWarning) as cm: +- loop = policy.get_event_loop() +- self.addCleanup(loop.close) +- self.assertEqual(cm.filename, __file__) + + # policy._local._loop must be set through .set_event_loop() + # (the unix DefaultEventLoopPolicy needs this call to attach +@@ -2614,8 +2610,7 @@ + + def test_set_event_loop(self): + policy = asyncio.DefaultEventLoopPolicy() ++ old_loop = policy.get_event_loop() +- old_loop = policy.new_event_loop() +- policy.set_event_loop(old_loop) + + self.assertRaises(AssertionError, policy.set_event_loop, object()) + +@@ -2728,11 +2723,15 @@ + asyncio.set_event_loop_policy(Policy()) + loop = asyncio.new_event_loop() + ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(TestError): ++ asyncio.get_event_loop() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaises(TestError): +- asyncio.get_event_loop() + asyncio.set_event_loop(None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(TestError): ++ asyncio.get_event_loop() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaises(TestError): +- asyncio.get_event_loop() + + with self.assertRaisesRegex(RuntimeError, 'no running'): + asyncio.get_running_loop() +@@ -2746,11 +2745,16 @@ + loop.run_until_complete(func()) + + asyncio.set_event_loop(loop) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(TestError): ++ asyncio.get_event_loop() ++ self.assertEqual(cm.warnings[0].filename, __file__) ++ +- with self.assertRaises(TestError): +- asyncio.get_event_loop() + asyncio.set_event_loop(None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(TestError): ++ asyncio.get_event_loop() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaises(TestError): +- asyncio.get_event_loop() + + finally: + asyncio.set_event_loop_policy(old_policy) +@@ -2774,8 +2778,10 @@ + self.addCleanup(loop2.close) + self.assertEqual(cm.warnings[0].filename, __file__) + asyncio.set_event_loop(None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'no current'): ++ asyncio.get_event_loop() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current'): +- asyncio.get_event_loop() + + with self.assertRaisesRegex(RuntimeError, 'no running'): + asyncio.get_running_loop() +@@ -2789,11 +2795,15 @@ + loop.run_until_complete(func()) + + asyncio.set_event_loop(loop) ++ with self.assertWarns(DeprecationWarning) as cm: ++ self.assertIs(asyncio.get_event_loop(), loop) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- self.assertIs(asyncio.get_event_loop(), loop) + + asyncio.set_event_loop(None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'no current'): ++ asyncio.get_event_loop() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current'): +- asyncio.get_event_loop() + + finally: + asyncio.set_event_loop_policy(old_policy) +reverted: +--- b/Lib/test/test_asyncio/test_futures.py ++++ a/Lib/test/test_asyncio/test_futures.py +@@ -145,8 +145,10 @@ + self.assertTrue(f.cancelled()) + + def test_constructor_without_loop(self): ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ self._new_future() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- self._new_future() + + def test_constructor_use_running_loop(self): + async def test(): +@@ -156,10 +158,12 @@ + self.assertIs(f.get_loop(), self.loop) + + def test_constructor_use_global_loop(self): ++ # Deprecated in 3.10 +- # Deprecated in 3.10, undeprecated in 3.11.1 + asyncio.set_event_loop(self.loop) + self.addCleanup(asyncio.set_event_loop, None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ f = self._new_future() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- f = self._new_future() + self.assertIs(f._loop, self.loop) + self.assertIs(f.get_loop(), self.loop) + +@@ -495,8 +499,10 @@ + return (arg, threading.get_ident()) + ex = concurrent.futures.ThreadPoolExecutor(1) + f1 = ex.submit(run, 'oi') ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(RuntimeError): ++ asyncio.wrap_future(f1) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.wrap_future(f1) + ex.shutdown(wait=True) + + def test_wrap_future_use_running_loop(self): +@@ -511,14 +517,16 @@ + ex.shutdown(wait=True) + + def test_wrap_future_use_global_loop(self): ++ # Deprecated in 3.10 +- # Deprecated in 3.10, undeprecated in 3.11.1 + asyncio.set_event_loop(self.loop) + self.addCleanup(asyncio.set_event_loop, None) + def run(arg): + return (arg, threading.get_ident()) + ex = concurrent.futures.ThreadPoolExecutor(1) + f1 = ex.submit(run, 'oi') ++ with self.assertWarns(DeprecationWarning) as cm: ++ f2 = asyncio.wrap_future(f1) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- f2 = asyncio.wrap_future(f1) + self.assertIs(self.loop, f2._loop) + ex.shutdown(wait=True) + +reverted: +--- b/Lib/test/test_asyncio/test_streams.py ++++ a/Lib/test/test_asyncio/test_streams.py +@@ -747,8 +747,10 @@ + self.assertEqual(data, b'data') + + def test_streamreader_constructor_without_loop(self): ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ asyncio.StreamReader() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.StreamReader() + + def test_streamreader_constructor_use_running_loop(self): + # asyncio issue #184: Ensure that StreamReaderProtocol constructor +@@ -762,17 +764,21 @@ + def test_streamreader_constructor_use_global_loop(self): + # asyncio issue #184: Ensure that StreamReaderProtocol constructor + # retrieves the current loop if the loop parameter is not set ++ # Deprecated in 3.10 +- # Deprecated in 3.10, undeprecated in 3.11.1 + self.addCleanup(asyncio.set_event_loop, None) + asyncio.set_event_loop(self.loop) ++ with self.assertWarns(DeprecationWarning) as cm: ++ reader = asyncio.StreamReader() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- reader = asyncio.StreamReader() + self.assertIs(reader._loop, self.loop) + + + def test_streamreaderprotocol_constructor_without_loop(self): + reader = mock.Mock() ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ asyncio.StreamReaderProtocol(reader) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.StreamReaderProtocol(reader) + + def test_streamreaderprotocol_constructor_use_running_loop(self): + # asyncio issue #184: Ensure that StreamReaderProtocol constructor +@@ -786,11 +792,13 @@ + def test_streamreaderprotocol_constructor_use_global_loop(self): + # asyncio issue #184: Ensure that StreamReaderProtocol constructor + # retrieves the current loop if the loop parameter is not set ++ # Deprecated in 3.10 +- # Deprecated in 3.10, undeprecated in 3.11.1 + self.addCleanup(asyncio.set_event_loop, None) + asyncio.set_event_loop(self.loop) + reader = mock.Mock() ++ with self.assertWarns(DeprecationWarning) as cm: ++ protocol = asyncio.StreamReaderProtocol(reader) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- protocol = asyncio.StreamReaderProtocol(reader) + self.assertIs(protocol._loop, self.loop) + + def test_multiple_drain(self): +reverted: +--- b/Lib/test/test_asyncio/test_tasks.py ++++ a/Lib/test/test_asyncio/test_tasks.py +@@ -210,8 +210,10 @@ + + a = notmuch() + self.addCleanup(a.close) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ asyncio.ensure_future(a) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.ensure_future(a) + + async def test(): + return asyncio.ensure_future(notmuch()) +@@ -221,10 +223,12 @@ + self.assertTrue(t.done()) + self.assertEqual(t.result(), 'ok') + ++ # Deprecated in 3.10 +- # Deprecated in 3.10.0, undeprecated in 3.10.9 + asyncio.set_event_loop(self.loop) + self.addCleanup(asyncio.set_event_loop, None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ t = asyncio.ensure_future(notmuch()) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- t = asyncio.ensure_future(notmuch()) + self.assertIs(t._loop, self.loop) + self.loop.run_until_complete(t) + self.assertTrue(t.done()) +@@ -243,8 +247,10 @@ + + a = notmuch() + self.addCleanup(a.close) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ asyncio.ensure_future(a) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): +- asyncio.ensure_future(a) + + async def test(): + return asyncio.ensure_future(notmuch()) +@@ -254,10 +260,12 @@ + self.assertTrue(t.done()) + self.assertEqual(t.result(), 'ok') + ++ # Deprecated in 3.10 +- # Deprecated in 3.10.0, undeprecated in 3.10.9 + asyncio.set_event_loop(self.loop) + self.addCleanup(asyncio.set_event_loop, None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ t = asyncio.ensure_future(notmuch()) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- t = asyncio.ensure_future(notmuch()) + self.assertIs(t._loop, self.loop) + self.loop.run_until_complete(t) + self.assertTrue(t.done()) +@@ -1480,8 +1488,10 @@ + self.addCleanup(a.close) + + futs = asyncio.as_completed([a]) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ list(futs) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- list(futs) + + def test_as_completed_coroutine_use_running_loop(self): + loop = self.new_test_loop() +@@ -1497,14 +1507,17 @@ + loop.run_until_complete(test()) + + def test_as_completed_coroutine_use_global_loop(self): ++ # Deprecated in 3.10 +- # Deprecated in 3.10.0, undeprecated in 3.10.9 + async def coro(): + return 42 + + loop = self.new_test_loop() + asyncio.set_event_loop(loop) + self.addCleanup(asyncio.set_event_loop, None) ++ futs = asyncio.as_completed([coro()]) ++ with self.assertWarns(DeprecationWarning) as cm: ++ futs = list(futs) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- futs = list(asyncio.as_completed([coro()])) + self.assertEqual(len(futs), 1) + self.assertEqual(loop.run_until_complete(futs[0]), 42) + +@@ -1974,8 +1987,10 @@ + + inner = coro() + self.addCleanup(inner.close) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ asyncio.shield(inner) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.shield(inner) + + def test_shield_coroutine_use_running_loop(self): + async def coro(): +@@ -1989,13 +2004,15 @@ + self.assertEqual(res, 42) + + def test_shield_coroutine_use_global_loop(self): ++ # Deprecated in 3.10 +- # Deprecated in 3.10.0, undeprecated in 3.10.9 + async def coro(): + return 42 + + asyncio.set_event_loop(self.loop) + self.addCleanup(asyncio.set_event_loop, None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ outer = asyncio.shield(coro()) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- outer = asyncio.shield(coro()) + self.assertEqual(outer._loop, self.loop) + res = self.loop.run_until_complete(outer) + self.assertEqual(res, 42) +@@ -2933,7 +2950,7 @@ + self.assertIsNone(asyncio.current_task(loop=self.loop)) + + def test_current_task_no_running_loop_implicit(self): ++ with self.assertRaises(RuntimeError): +- with self.assertRaisesRegex(RuntimeError, 'no running event loop'): + asyncio.current_task() + + def test_current_task_with_implicit_loop(self): +@@ -3097,8 +3114,10 @@ + return asyncio.gather(*args, **kwargs) + + def test_constructor_empty_sequence_without_loop(self): ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(RuntimeError): ++ asyncio.gather() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.gather() + + def test_constructor_empty_sequence_use_running_loop(self): + async def gather(): +@@ -3111,10 +3130,12 @@ + self.assertEqual(fut.result(), []) + + def test_constructor_empty_sequence_use_global_loop(self): ++ # Deprecated in 3.10 +- # Deprecated in 3.10.0, undeprecated in 3.10.9 + asyncio.set_event_loop(self.one_loop) + self.addCleanup(asyncio.set_event_loop, None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ fut = asyncio.gather() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- fut = asyncio.gather() + self.assertIsInstance(fut, asyncio.Future) + self.assertIs(fut._loop, self.one_loop) + self._run_loop(self.one_loop) +@@ -3202,8 +3223,10 @@ + self.addCleanup(gen1.close) + gen2 = coro() + self.addCleanup(gen2.close) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(RuntimeError): ++ asyncio.gather(gen1, gen2) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.gather(gen1, gen2) + + def test_constructor_use_running_loop(self): + async def coro(): +@@ -3217,14 +3240,16 @@ + self.one_loop.run_until_complete(fut) + + def test_constructor_use_global_loop(self): ++ # Deprecated in 3.10 +- # Deprecated in 3.10.0, undeprecated in 3.10.9 + async def coro(): + return 'abc' + asyncio.set_event_loop(self.other_loop) + self.addCleanup(asyncio.set_event_loop, None) + gen1 = coro() + gen2 = coro() ++ with self.assertWarns(DeprecationWarning) as cm: ++ fut = asyncio.gather(gen1, gen2) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- fut = asyncio.gather(gen1, gen2) + self.assertIs(fut._loop, self.other_loop) + self.other_loop.run_until_complete(fut) + +reverted: +--- b/Lib/test/test_asyncio/test_unix_events.py ++++ a/Lib/test/test_asyncio/test_unix_events.py +@@ -1740,8 +1740,7 @@ + + def test_child_watcher_replace_mainloop_existing(self): + policy = self.create_policy() ++ loop = policy.get_event_loop() +- loop = policy.new_event_loop() +- policy.set_event_loop(loop) + + # Explicitly setup SafeChildWatcher, + # default ThreadedChildWatcher has no _loop property +reverted: +--- b/Lib/test/test_coroutines.py ++++ a/Lib/test/test_coroutines.py +@@ -2319,8 +2319,7 @@ + def test_unawaited_warning_during_shutdown(self): + code = ("import asyncio\n" + "async def f(): pass\n" ++ "asyncio.gather(f())\n") +- "async def t(): asyncio.gather(f())\n" +- "asyncio.run(t())\n") + assert_python_ok("-c", code) + + code = ("import sys\n" +reverted: +--- b/Modules/_asynciomodule.c ++++ a/Modules/_asynciomodule.c +@@ -332,6 +332,13 @@ + return loop; + } + ++ if (PyErr_WarnEx(PyExc_DeprecationWarning, ++ "There is no current event loop", ++ stacklevel)) ++ { ++ return NULL; ++ } ++ + policy = PyObject_CallNoArgs(asyncio_get_event_loop_policy); + if (policy == NULL) { + return NULL; +@@ -3085,11 +3092,6 @@ + return get_event_loop(1); + } + +-// This internal method is going away in Python 3.12, left here only for +-// backwards compatibility with 3.10.0 - 3.10.8 and 3.11.0. +-// Similarly, this method's Python equivalent in asyncio.events is going +-// away as well. +-// See GH-99949 for more details. + /*[clinic input] + _asyncio._get_event_loop + stacklevel: int = 3 diff --git a/pkgs/development/interpreters/python/cpython/3.6/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.12/no-ldconfig.patch similarity index 50% rename from pkgs/development/interpreters/python/cpython/3.6/no-ldconfig.patch rename to pkgs/development/interpreters/python/cpython/3.12/no-ldconfig.patch index 0f829860a5b7..ca6a76d0ffd9 100644 --- a/pkgs/development/interpreters/python/cpython/3.6/no-ldconfig.patch +++ b/pkgs/development/interpreters/python/cpython/3.12/no-ldconfig.patch @@ -1,19 +1,18 @@ -From 105621b99cc30615c79b5aa3d12d6732e14b0d59 Mon Sep 17 00:00:00 2001 -From: Frederik Rietdijk -Date: Mon, 28 Aug 2017 09:24:06 +0200 -Subject: [PATCH] Don't use ldconfig and speed up uuid load +From 5330b6af9f832af59aa5c61d9ef6971053a8e709 Mon Sep 17 00:00:00 2001 +From: Jonathan Ringer +Date: Mon, 9 Nov 2020 10:24:35 -0800 +Subject: [PATCH] CPython: Don't use ldconfig --- - Lib/ctypes/util.py | 70 ++---------------------------------------------------- - Lib/uuid.py | 48 ------------------------------------- - 2 files changed, 2 insertions(+), 116 deletions(-) + Lib/ctypes/util.py | 77 ++-------------------------------------------- + 1 file changed, 2 insertions(+), 75 deletions(-) diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index 339ae8aa8a..2944985c30 100644 +index 0c2510e161..7fb98af308 100644 --- a/Lib/ctypes/util.py +++ b/Lib/ctypes/util.py -@@ -85,46 +85,7 @@ elif os.name == "posix": - import re, tempfile +@@ -100,53 +100,7 @@ def _is_elf(filename): + return thefile.read(4) == elf_header def _findLib_gcc(name): - # Run GCC's linker with the -t (aka --trace) option and examine the @@ -52,15 +51,22 @@ index 339ae8aa8a..2944985c30 100644 - # Raised if the file was already removed, which is the normal - # behaviour of GCC if linking fails - pass -- res = re.search(expr, trace) +- res = re.findall(expr, trace) - if not res: - return None -- return os.fsdecode(res.group(0)) +- +- for file in res: +- # Check if the given file is an elf file: gcc can report +- # some files that are linker scripts and not actual +- # shared objects. See bpo-41976 for more details +- if not _is_elf(file): +- continue +- return os.fsdecode(file) + return None if sys.platform == "sunos5": -@@ -246,34 +207,7 @@ elif os.name == "posix": +@@ -268,34 +222,7 @@ def find_library(name, is64 = False): else: def _findSoname_ldconfig(name): @@ -96,68 +102,6 @@ index 339ae8aa8a..2944985c30 100644 def _findLib_ld(name): # See issue #9998 for why this is needed -diff --git a/Lib/uuid.py b/Lib/uuid.py -index 200c800b34..31160ace95 100644 ---- a/Lib/uuid.py -+++ b/Lib/uuid.py -@@ -455,57 +455,9 @@ def _netbios_getnode(): - continue - return int.from_bytes(bytes, 'big') - --# Thanks to Thomas Heller for ctypes and for his help with its use here. - --# If ctypes is available, use it to find system routines for UUID generation. --# XXX This makes the module non-thread-safe! - _uuid_generate_time = _UuidCreate = None --try: -- import ctypes, ctypes.util -- import sys - -- # The uuid_generate_* routines are provided by libuuid on at least -- # Linux and FreeBSD, and provided by libc on Mac OS X. -- _libnames = ['uuid'] -- if not sys.platform.startswith('win'): -- _libnames.append('c') -- for libname in _libnames: -- try: -- lib = ctypes.CDLL(ctypes.util.find_library(libname)) -- except Exception: -- continue -- if hasattr(lib, 'uuid_generate_time'): -- _uuid_generate_time = lib.uuid_generate_time -- break -- del _libnames -- -- # The uuid_generate_* functions are broken on MacOS X 10.5, as noted -- # in issue #8621 the function generates the same sequence of values -- # in the parent process and all children created using fork (unless -- # those children use exec as well). -- # -- # Assume that the uuid_generate functions are broken from 10.5 onward, -- # the test can be adjusted when a later version is fixed. -- if sys.platform == 'darwin': -- if int(os.uname().release.split('.')[0]) >= 9: -- _uuid_generate_time = None -- -- # On Windows prior to 2000, UuidCreate gives a UUID containing the -- # hardware address. On Windows 2000 and later, UuidCreate makes a -- # random UUID and UuidCreateSequential gives a UUID containing the -- # hardware address. These routines are provided by the RPC runtime. -- # NOTE: at least on Tim's WinXP Pro SP2 desktop box, while the last -- # 6 bytes returned by UuidCreateSequential are fixed, they don't appear -- # to bear any relationship to the MAC address of any network device -- # on the box. -- try: -- lib = ctypes.windll.rpcrt4 -- except: -- lib = None -- _UuidCreate = getattr(lib, 'UuidCreateSequential', -- getattr(lib, 'UuidCreate', None)) --except: -- pass - - def _unixdll_getnode(): - """Get the hardware address on Unix using ctypes.""" -- -2.14.1 +2.33.1 diff --git a/pkgs/development/interpreters/python/cpython/3.5/force_bytecode_determinism.patch b/pkgs/development/interpreters/python/cpython/3.5/force_bytecode_determinism.patch deleted file mode 100644 index c263cdbff4db..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.5/force_bytecode_determinism.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/Lib/py_compile.py -+++ b/Lib/py_compile.py -@@ -139,3 +139,4 @@ - source_stats = loader.path_stats(file) -+ source_mtime = 1 if 'DETERMINISTIC_BUILD' in os.environ else source_stats['mtime'] - bytecode = importlib._bootstrap_external._code_to_bytecode( -- code, source_stats['mtime'], source_stats['size']) -+ code, source_mtime, source_stats['size']) ---- a/Lib/importlib/_bootstrap_external.py -+++ b/Lib/importlib/_bootstrap_external.py -@@ -485,5 +485,5 @@ - if source_stats is not None: - try: -- source_mtime = int(source_stats['mtime']) -+ source_mtime = 1 - except KeyError: - pass diff --git a/pkgs/development/interpreters/python/cpython/3.5/ld_library_path.patch b/pkgs/development/interpreters/python/cpython/3.5/ld_library_path.patch deleted file mode 100644 index 013c2d266eff..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.5/ld_library_path.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 918201682127ed8a270a4bd1a448b490019e4ada Mon Sep 17 00:00:00 2001 -From: Frederik Rietdijk -Date: Thu, 14 Sep 2017 10:00:31 +0200 -Subject: [PATCH] ctypes.util: support LD_LIBRARY_PATH - -Backports support for LD_LIBRARY_PATH from 3.6 ---- - Lib/ctypes/util.py | 26 +++++++++++++++++++++++++- - 1 file changed, 25 insertions(+), 1 deletion(-) - -diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index e9957d7951..9926f6c881 100644 ---- a/Lib/ctypes/util.py -+++ b/Lib/ctypes/util.py -@@ -219,8 +219,32 @@ elif os.name == "posix": - def _findSoname_ldconfig(name): - return None - -+ def _findLib_ld(name): -+ # See issue #9998 for why this is needed -+ expr = r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name) -+ cmd = ['ld', '-t'] -+ libpath = os.environ.get('LD_LIBRARY_PATH') -+ if libpath: -+ for d in libpath.split(':'): -+ cmd.extend(['-L', d]) -+ cmd.extend(['-o', os.devnull, '-l%s' % name]) -+ result = None -+ try: -+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE, -+ stderr=subprocess.PIPE, -+ universal_newlines=True) -+ out, _ = p.communicate() -+ res = re.search(expr, os.fsdecode(out)) -+ if res: -+ result = res.group(0) -+ except Exception as e: -+ pass # result will be None -+ return result -+ - def find_library(name): -- return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name)) -+ # See issue #9998 -+ return _findSoname_ldconfig(name) or \ -+ _get_soname(_findLib_gcc(name) or _findLib_ld(name)) - - ################################################################ - # test code --- -2.14.1 - diff --git a/pkgs/development/interpreters/python/cpython/3.5/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.5/no-ldconfig.patch deleted file mode 100644 index 9718b1d8dceb..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.5/no-ldconfig.patch +++ /dev/null @@ -1,164 +0,0 @@ -From 590c46bb04f79ab611b2f8fd682dd7e43a01f268 Mon Sep 17 00:00:00 2001 -From: Frederik Rietdijk -Date: Mon, 28 Aug 2017 09:24:06 +0200 -Subject: [PATCH] Don't use ldconfig and speed up uuid load - ---- - Lib/ctypes/util.py | 70 ++---------------------------------------------------- - Lib/uuid.py | 49 -------------------------------------- - 2 files changed, 2 insertions(+), 117 deletions(-) - -diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index 7684eab81d..e9957d7951 100644 ---- a/Lib/ctypes/util.py -+++ b/Lib/ctypes/util.py -@@ -95,46 +95,7 @@ elif os.name == "posix": - import re, tempfile - - def _findLib_gcc(name): -- # Run GCC's linker with the -t (aka --trace) option and examine the -- # library name it prints out. The GCC command will fail because we -- # haven't supplied a proper program with main(), but that does not -- # matter. -- expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)) -- -- c_compiler = shutil.which('gcc') -- if not c_compiler: -- c_compiler = shutil.which('cc') -- if not c_compiler: -- # No C compiler available, give up -- return None -- -- temp = tempfile.NamedTemporaryFile() -- try: -- args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name] -- -- env = dict(os.environ) -- env['LC_ALL'] = 'C' -- env['LANG'] = 'C' -- try: -- proc = subprocess.Popen(args, -- stdout=subprocess.PIPE, -- stderr=subprocess.STDOUT, -- env=env) -- except OSError: # E.g. bad executable -- return None -- with proc: -- trace = proc.stdout.read() -- finally: -- try: -- temp.close() -- except FileNotFoundError: -- # Raised if the file was already removed, which is the normal -- # behaviour of GCC if linking fails -- pass -- res = re.search(expr, trace) -- if not res: -- return None -- return os.fsdecode(res.group(0)) -+ return None - - - if sys.platform == "sunos5": -@@ -256,34 +217,7 @@ elif os.name == "posix": - else: - - def _findSoname_ldconfig(name): -- import struct -- if struct.calcsize('l') == 4: -- machine = os.uname().machine + '-32' -- else: -- machine = os.uname().machine + '-64' -- mach_map = { -- 'x86_64-64': 'libc6,x86-64', -- 'ppc64-64': 'libc6,64bit', -- 'sparc64-64': 'libc6,64bit', -- 's390x-64': 'libc6,64bit', -- 'ia64-64': 'libc6,IA-64', -- } -- abi_type = mach_map.get(machine, 'libc6') -- -- # XXX assuming GLIBC's ldconfig (with option -p) -- regex = os.fsencode( -- '\s+(lib%s\.[^\s]+)\s+\(%s' % (re.escape(name), abi_type)) -- try: -- with subprocess.Popen(['/sbin/ldconfig', '-p'], -- stdin=subprocess.DEVNULL, -- stderr=subprocess.DEVNULL, -- stdout=subprocess.PIPE, -- env={'LC_ALL': 'C', 'LANG': 'C'}) as p: -- res = re.search(regex, p.stdout.read()) -- if res: -- return os.fsdecode(res.group(1)) -- except OSError: -- pass -+ return None - - def find_library(name): - return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name)) -diff --git a/Lib/uuid.py b/Lib/uuid.py -index e96e7e034c..31160ace95 100644 ---- a/Lib/uuid.py -+++ b/Lib/uuid.py -@@ -455,58 +455,9 @@ def _netbios_getnode(): - continue - return int.from_bytes(bytes, 'big') - --# Thanks to Thomas Heller for ctypes and for his help with its use here. - --# If ctypes is available, use it to find system routines for UUID generation. --# XXX This makes the module non-thread-safe! - _uuid_generate_time = _UuidCreate = None --try: -- import ctypes, ctypes.util -- import sys - -- # The uuid_generate_* routines are provided by libuuid on at least -- # Linux and FreeBSD, and provided by libc on Mac OS X. -- _libnames = ['uuid'] -- if not sys.platform.startswith('win'): -- _libnames.append('c') -- for libname in _libnames: -- try: -- lib = ctypes.CDLL(ctypes.util.find_library(libname)) -- except Exception: -- continue -- if hasattr(lib, 'uuid_generate_time'): -- _uuid_generate_time = lib.uuid_generate_time -- break -- del _libnames -- -- # The uuid_generate_* functions are broken on MacOS X 10.5, as noted -- # in issue #8621 the function generates the same sequence of values -- # in the parent process and all children created using fork (unless -- # those children use exec as well). -- # -- # Assume that the uuid_generate functions are broken from 10.5 onward, -- # the test can be adjusted when a later version is fixed. -- if sys.platform == 'darwin': -- import os -- if int(os.uname().release.split('.')[0]) >= 9: -- _uuid_generate_time = None -- -- # On Windows prior to 2000, UuidCreate gives a UUID containing the -- # hardware address. On Windows 2000 and later, UuidCreate makes a -- # random UUID and UuidCreateSequential gives a UUID containing the -- # hardware address. These routines are provided by the RPC runtime. -- # NOTE: at least on Tim's WinXP Pro SP2 desktop box, while the last -- # 6 bytes returned by UuidCreateSequential are fixed, they don't appear -- # to bear any relationship to the MAC address of any network device -- # on the box. -- try: -- lib = ctypes.windll.rpcrt4 -- except: -- lib = None -- _UuidCreate = getattr(lib, 'UuidCreateSequential', -- getattr(lib, 'UuidCreate', None)) --except: -- pass - - def _unixdll_getnode(): - """Get the hardware address on Unix using ctypes.""" --- -2.14.1 - diff --git a/pkgs/development/interpreters/python/cpython/3.5/profile-task.patch b/pkgs/development/interpreters/python/cpython/3.5/profile-task.patch deleted file mode 100644 index 39d5587379ca..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.5/profile-task.patch +++ /dev/null @@ -1,21 +0,0 @@ -Backport from CPython 3.8 of a good list of tests to run for PGO. - -Upstream commit: - https://github.com/python/cpython/commit/4e16a4a31 - -Upstream discussion: - https://bugs.python.org/issue36044 - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 00fdd21ce..713dc1e53 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -259,7 +259,7 @@ TCLTK_LIBS= - # The task to run while instrumented when building the profile-opt target. - # We exclude unittests with -x that take a rediculious amount of time to - # run in the instrumented training build or do not provide much value. --PROFILE_TASK=-m test.regrtest --pgo -x test_asyncore test_gdb test_multiprocessing_fork test_multiprocessing_forkserver test_multiprocessing_main_handling test_multiprocessing_spawn test_subprocess -+PROFILE_TASK=-m test.regrtest --pgo test_array test_base64 test_binascii test_binop test_bisect test_bytes test_bz2 test_cmath test_codecs test_collections test_complex test_dataclasses test_datetime test_decimal test_difflib test_embed test_float test_fstring test_functools test_generators test_hashlib test_heapq test_int test_itertools test_json test_long test_lzma test_math test_memoryview test_operator test_ordered_dict test_pickle test_pprint test_re test_set test_sqlite test_statistics test_struct test_tabnanny test_time test_unicode test_xml_etree test_xml_etree_c - - # report files for gcov / lcov coverage report - COVERAGE_INFO= $(abs_builddir)/coverage.info diff --git a/pkgs/development/interpreters/python/cpython/3.5/python-3.x-distutils-C++.patch b/pkgs/development/interpreters/python/cpython/3.5/python-3.x-distutils-C++.patch deleted file mode 100644 index 01356020b394..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.5/python-3.x-distutils-C++.patch +++ /dev/null @@ -1,237 +0,0 @@ -Source: https://bugs.python.org/file47046/python-3.x-distutils-C++.patch ---- a/Lib/distutils/cygwinccompiler.py -+++ b/Lib/distutils/cygwinccompiler.py -@@ -125,8 +125,10 @@ - # dllwrap 2.10.90 is buggy - if self.ld_version >= "2.10.90": - self.linker_dll = "gcc" -+ self.linker_dll_cxx = "g++" - else: - self.linker_dll = "dllwrap" -+ self.linker_dll_cxx = "dllwrap" - - # ld_version >= "2.13" support -shared so use it instead of - # -mdll -static -@@ -140,9 +142,13 @@ - self.set_executables(compiler='gcc -mcygwin -O -Wall', - compiler_so='gcc -mcygwin -mdll -O -Wall', - compiler_cxx='g++ -mcygwin -O -Wall', -+ compiler_so_cxx='g++ -mcygwin -mdll -O -Wall', - linker_exe='gcc -mcygwin', - linker_so=('%s -mcygwin %s' % -- (self.linker_dll, shared_option))) -+ (self.linker_dll, shared_option)), -+ linker_exe_cxx='g++ -mcygwin', -+ linker_so_cxx=('%s -mcygwin %s' % -+ (self.linker_dll_cxx, shared_option))) - - # cygwin and mingw32 need different sets of libraries - if self.gcc_version == "2.91.57": -@@ -166,8 +172,12 @@ - raise CompileError(msg) - else: # for other files use the C-compiler - try: -- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] + -- extra_postargs) -+ if self.detect_language(src) == 'c++': -+ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] + -+ extra_postargs) -+ else: -+ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] + -+ extra_postargs) - except DistutilsExecError as msg: - raise CompileError(msg) - -@@ -302,9 +312,14 @@ - self.set_executables(compiler='gcc -O -Wall', - compiler_so='gcc -mdll -O -Wall', - compiler_cxx='g++ -O -Wall', -+ compiler_so_cxx='g++ -mdll -O -Wall', - linker_exe='gcc', - linker_so='%s %s %s' - % (self.linker_dll, shared_option, -+ entry_point), -+ linker_exe_cxx='g++', -+ linker_so_cxx='%s %s %s' -+ % (self.linker_dll_cxx, shared_option, - entry_point)) - # Maybe we should also append -mthreads, but then the finished - # dlls need another dll (mingwm10.dll see Mingw32 docs) ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -184,9 +184,11 @@ - _osx_support.customize_compiler(_config_vars) - _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True' - -- (cc, cxx, opt, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \ -- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS', -- 'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS') -+ (cc, cxx, cflags, ccshared, ldshared, ldcxxshared, shlib_suffix, ar, ar_flags) = \ -+ get_config_vars('CC', 'CXX', 'CFLAGS', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED', -+ 'SHLIB_SUFFIX', 'AR', 'ARFLAGS') -+ -+ cxxflags = cflags - - if 'CC' in os.environ: - newcc = os.environ['CC'] -@@ -201,19 +204,27 @@ - cxx = os.environ['CXX'] - if 'LDSHARED' in os.environ: - ldshared = os.environ['LDSHARED'] -+ if 'LDCXXSHARED' in os.environ: -+ ldcxxshared = os.environ['LDCXXSHARED'] - if 'CPP' in os.environ: - cpp = os.environ['CPP'] - else: - cpp = cc + " -E" # not always - if 'LDFLAGS' in os.environ: - ldshared = ldshared + ' ' + os.environ['LDFLAGS'] -+ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS'] - if 'CFLAGS' in os.environ: -- cflags = opt + ' ' + os.environ['CFLAGS'] -+ cflags = os.environ['CFLAGS'] - ldshared = ldshared + ' ' + os.environ['CFLAGS'] -+ if 'CXXFLAGS' in os.environ: -+ cxxflags = os.environ['CXXFLAGS'] -+ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS'] - if 'CPPFLAGS' in os.environ: - cpp = cpp + ' ' + os.environ['CPPFLAGS'] - cflags = cflags + ' ' + os.environ['CPPFLAGS'] -+ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS'] - ldshared = ldshared + ' ' + os.environ['CPPFLAGS'] -+ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS'] - if 'AR' in os.environ: - ar = os.environ['AR'] - if 'ARFLAGS' in os.environ: -@@ -222,13 +233,17 @@ - archiver = ar + ' ' + ar_flags - - cc_cmd = cc + ' ' + cflags -+ cxx_cmd = cxx + ' ' + cxxflags - compiler.set_executables( - preprocessor=cpp, - compiler=cc_cmd, - compiler_so=cc_cmd + ' ' + ccshared, -- compiler_cxx=cxx, -+ compiler_cxx=cxx_cmd, -+ compiler_so_cxx=cxx_cmd + ' ' + ccshared, - linker_so=ldshared, - linker_exe=cc, -+ linker_so_cxx=ldcxxshared, -+ linker_exe_cxx=cxx, - archiver=archiver) - - compiler.shared_lib_extension = shlib_suffix ---- a/Lib/distutils/unixccompiler.py -+++ b/Lib/distutils/unixccompiler.py -@@ -52,14 +52,17 @@ - # are pretty generic; they will probably have to be set by an outsider - # (eg. using information discovered by the sysconfig about building - # Python extensions). -- executables = {'preprocessor' : None, -- 'compiler' : ["cc"], -- 'compiler_so' : ["cc"], -- 'compiler_cxx' : ["cc"], -- 'linker_so' : ["cc", "-shared"], -- 'linker_exe' : ["cc"], -- 'archiver' : ["ar", "-cr"], -- 'ranlib' : None, -+ executables = {'preprocessor' : None, -+ 'compiler' : ["cc"], -+ 'compiler_so' : ["cc"], -+ 'compiler_cxx' : ["c++"], -+ 'compiler_so_cxx' : ["c++"], -+ 'linker_so' : ["cc", "-shared"], -+ 'linker_exe' : ["cc"], -+ 'linker_so_cxx' : ["c++", "-shared"], -+ 'linker_exe_cxx' : ["c++"], -+ 'archiver' : ["ar", "-cr"], -+ 'ranlib' : None, - } - - if sys.platform[:6] == "darwin": -@@ -108,12 +111,19 @@ - - def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): - compiler_so = self.compiler_so -+ compiler_so_cxx = self.compiler_so_cxx - if sys.platform == 'darwin': - compiler_so = _osx_support.compiler_fixup(compiler_so, - cc_args + extra_postargs) -+ compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx, -+ cc_args + extra_postargs) - try: -- self.spawn(compiler_so + cc_args + [src, '-o', obj] + -- extra_postargs) -+ if self.detect_language(src) == 'c++': -+ self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] + -+ extra_postargs) -+ else: -+ self.spawn(compiler_so + cc_args + [src, '-o', obj] + -+ extra_postargs) - except DistutilsExecError as msg: - raise CompileError(msg) - -@@ -171,22 +181,16 @@ - ld_args.extend(extra_postargs) - self.mkpath(os.path.dirname(output_filename)) - try: -- if target_desc == CCompiler.EXECUTABLE: -- linker = self.linker_exe[:] -+ if target_lang == "c++": -+ if target_desc == CCompiler.EXECUTABLE: -+ linker = self.linker_exe_cxx[:] -+ else: -+ linker = self.linker_so_cxx[:] - else: -- linker = self.linker_so[:] -- if target_lang == "c++" and self.compiler_cxx: -- # skip over environment variable settings if /usr/bin/env -- # is used to set up the linker's environment. -- # This is needed on OSX. Note: this assumes that the -- # normal and C++ compiler have the same environment -- # settings. -- i = 0 -- if os.path.basename(linker[0]) == "env": -- i = 1 -- while '=' in linker[i]: -- i += 1 -- linker[i] = self.compiler_cxx[i] -+ if target_desc == CCompiler.EXECUTABLE: -+ linker = self.linker_exe[:] -+ else: -+ linker = self.linker_so[:] - - if sys.platform == 'darwin': - linker = _osx_support.compiler_fixup(linker, ld_args) ---- a/Lib/_osx_support.py -+++ b/Lib/_osx_support.py -@@ -14,13 +14,13 @@ - # configuration variables that may contain universal build flags, - # like "-arch" or "-isdkroot", that may need customization for - # the user environment --_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS', -- 'BLDSHARED', 'LDSHARED', 'CC', 'CXX', -- 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS', -- 'PY_CORE_CFLAGS') -+_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CPPFLAGS', -+ 'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'LDCXXSHARED', -+ 'CC', 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS', -+ 'PY_CPPFLAGS', 'PY_CORE_CFLAGS') - - # configuration variables that may contain compiler calls --_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX') -+_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'LDCXXSHARED', 'CC', 'CXX') - - # prefix added to original configuration variable names - _INITPRE = '_OSX_SUPPORT_INITIAL_' ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -538,7 +538,7 @@ - *\ -s*|s*) quiet="-q";; \ - *) quiet="";; \ - esac; \ -- $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ -+ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' CFLAGS='$(PY_CFLAGS)' \ - _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build diff --git a/pkgs/development/interpreters/python/cpython/3.5/use-correct-tcl-tk-on-darwin.patch b/pkgs/development/interpreters/python/cpython/3.5/use-correct-tcl-tk-on-darwin.patch deleted file mode 100644 index b73f62b97ec5..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.5/use-correct-tcl-tk-on-darwin.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/setup.py b/setup.py -index 2779658..902d0eb 100644 ---- a/setup.py -+++ b/setup.py -@@ -1699,9 +1699,6 @@ class PyBuildExt(build_ext): - # Rather than complicate the code below, detecting and building - # AquaTk is a separate method. Only one Tkinter will be built on - # Darwin - either AquaTk, if it is found, or X11 based Tk. -- if (host_platform == 'darwin' and -- self.detect_tkinter_darwin(inc_dirs, lib_dirs)): -- return - - # Assume we haven't found any of the libraries or include files - # The versions with dots are used on Unix, and the versions without -@@ -1747,22 +1744,6 @@ class PyBuildExt(build_ext): - if dir not in include_dirs: - include_dirs.append(dir) - -- # Check for various platform-specific directories -- if host_platform == 'sunos5': -- include_dirs.append('/usr/openwin/include') -- added_lib_dirs.append('/usr/openwin/lib') -- elif os.path.exists('/usr/X11R6/include'): -- include_dirs.append('/usr/X11R6/include') -- added_lib_dirs.append('/usr/X11R6/lib64') -- added_lib_dirs.append('/usr/X11R6/lib') -- elif os.path.exists('/usr/X11R5/include'): -- include_dirs.append('/usr/X11R5/include') -- added_lib_dirs.append('/usr/X11R5/lib') -- else: -- # Assume default location for X11 -- include_dirs.append('/usr/X11/include') -- added_lib_dirs.append('/usr/X11/lib') -- - # If Cygwin, then verify that X is installed before proceeding - if host_platform == 'cygwin': - x11_inc = find_file('X11/Xlib.h', [], include_dirs) -@@ -1786,10 +1767,6 @@ class PyBuildExt(build_ext): - if host_platform in ['aix3', 'aix4']: - libs.append('ld') - -- # Finally, link with the X11 libraries (not appropriate on cygwin) -- if host_platform != "cygwin": -- libs.append('X11') -- - ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'], - define_macros=[('WITH_APPINIT', 1)] + defs, - include_dirs = include_dirs, diff --git a/pkgs/development/interpreters/python/cpython/3.6/find_library.patch b/pkgs/development/interpreters/python/cpython/3.6/find_library.patch deleted file mode 100644 index 97fb66662d03..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.6/find_library.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 9b5a023a5dc3127da15253f7acad71019395ebe1 Mon Sep 17 00:00:00 2001 -From: Pablo Galindo -Date: Thu, 8 Oct 2020 19:50:37 +0100 -Subject: [PATCH] [3.7] bpo-41976: Fix the fallback to gcc of - ctypes.util.find_library when using gcc>9 (GH-22598). (GH-22601) - -(cherry picked from commit 27ac19cca2c639caaf6fedf3632fe6beb265f24f) - -Co-authored-by: Pablo Galindo ---- - Lib/ctypes/test/test_find.py | 12 ++++++- - Lib/ctypes/util.py | 32 +++++++++++++++---- - .../2020-10-08-18-22-28.bpo-41976.Svm0wb.rst | 3 ++ - 3 files changed, 39 insertions(+), 8 deletions(-) - create mode 100644 Misc/NEWS.d/next/Library/2020-10-08-18-22-28.bpo-41976.Svm0wb.rst - -diff --git a/Lib/ctypes/test/test_find.py b/Lib/ctypes/test/test_find.py -index b99fdcba7b28f..92ac1840ad7d4 100644 ---- a/Lib/ctypes/test/test_find.py -+++ b/Lib/ctypes/test/test_find.py -@@ -1,4 +1,5 @@ - import unittest -+import unittest.mock - import os.path - import sys - import test.support -@@ -72,7 +73,7 @@ def test_shell_injection(self): - - @unittest.skipUnless(sys.platform.startswith('linux'), - 'Test only valid for Linux') --class LibPathFindTest(unittest.TestCase): -+class FindLibraryLinux(unittest.TestCase): - def test_find_on_libpath(self): - import subprocess - import tempfile -@@ -111,6 +112,15 @@ def test_find_on_libpath(self): - # LD_LIBRARY_PATH) - self.assertEqual(find_library(libname), 'lib%s.so' % libname) - -+ def test_find_library_with_gcc(self): -+ with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None): -+ self.assertNotEqual(find_library('c'), None) -+ -+ def test_find_library_with_ld(self): -+ with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None), \ -+ unittest.mock.patch("ctypes.util._findLib_gcc", lambda *args: None): -+ self.assertNotEqual(find_library('c'), None) -+ - - if __name__ == "__main__": - unittest.main() -diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index 97973bce001d9..0c2510e1619c8 100644 ---- a/Lib/ctypes/util.py -+++ b/Lib/ctypes/util.py -@@ -93,6 +93,12 @@ def find_library(name): - # Andreas Degert's find functions, using gcc, /sbin/ldconfig, objdump - import re, tempfile - -+ def _is_elf(filename): -+ "Return True if the given file is an ELF file" -+ elf_header = b'\x7fELF' -+ with open(filename, 'br') as thefile: -+ return thefile.read(4) == elf_header -+ - def _findLib_gcc(name): - # Run GCC's linker with the -t (aka --trace) option and examine the - # library name it prints out. The GCC command will fail because we -@@ -299,17 +312,22 @@ def _findLib_ld(name): - stderr=subprocess.PIPE, - universal_newlines=True) - out, _ = p.communicate() -- res = re.search(expr, os.fsdecode(out)) -- if res: -- result = res.group(0) -- except Exception as e: -+ res = re.findall(expr, os.fsdecode(out)) -+ for file in res: -+ # Check if the given file is an elf file: gcc can report -+ # some files that are linker scripts and not actual -+ # shared objects. See bpo-41976 for more details -+ if not _is_elf(file): -+ continue -+ return os.fsdecode(file) -+ except Exception: - pass # result will be None - return result - - def find_library(name): - # See issue #9998 - return _findSoname_ldconfig(name) or \ -- _get_soname(_findLib_gcc(name) or _findLib_ld(name)) -+ _get_soname(_findLib_gcc(name)) or _get_soname(_findLib_ld(name)) - - ################################################################ - # test code -diff --git a/Misc/NEWS.d/next/Library/2020-10-08-18-22-28.bpo-41976.Svm0wb.rst b/Misc/NEWS.d/next/Library/2020-10-08-18-22-28.bpo-41976.Svm0wb.rst -new file mode 100644 -index 0000000000000..c8b3fc771845e ---- /dev/null -+++ b/Misc/NEWS.d/next/Library/2020-10-08-18-22-28.bpo-41976.Svm0wb.rst -@@ -0,0 +1,3 @@ -+Fixed a bug that was causing :func:`ctypes.util.find_library` to return -+``None`` when triying to locate a library in an environment when gcc>=9 is -+available and ``ldconfig`` is not. Patch by Pablo Galindo diff --git a/pkgs/development/interpreters/python/cpython/3.6/fix-finding-headers-when-cross-compiling.patch b/pkgs/development/interpreters/python/cpython/3.6/fix-finding-headers-when-cross-compiling.patch deleted file mode 100644 index d324d10b39fc..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.6/fix-finding-headers-when-cross-compiling.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 45dfbbb4f5b67ab83e4365564ea569334e979f8e Mon Sep 17 00:00:00 2001 -From: Ben Wolsieffer -Date: Fri, 25 Sep 2020 16:49:16 -0400 -Subject: [PATCH] Fix finding headers when cross compiling - -When cross-compiling third-party extensions, get_python_inc() may be called to -return the path to Python's headers. However, it uses the sys.prefix or -sys.exec_prefix of the build Python, which returns incorrect paths when -cross-compiling (paths pointing to build system headers). - -To fix this, we use the INCLUDEPY and CONFINCLUDEPY conf variables, which can -be configured to point at host Python by setting _PYTHON_SYSCONFIGDATA_NAME. -The existing behavior is maintained on non-POSIX platforms or if a prefix is -manually specified. ---- - Lib/distutils/sysconfig.py | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 2bcd1dd288..567375e488 100644 ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -84,8 +84,6 @@ def get_python_inc(plat_specific=0, prefix=None): - If 'prefix' is supplied, use it instead of sys.base_prefix or - sys.base_exec_prefix -- i.e., ignore 'plat_specific'. - """ -- if prefix is None: -- prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX - if os.name == "posix": - if python_build: - # Assume the executable is in the build directory. The -@@ -98,9 +96,17 @@ def get_python_inc(plat_specific=0, prefix=None): - else: - incdir = os.path.join(get_config_var('srcdir'), 'Include') - return os.path.normpath(incdir) -- python_dir = 'python' + get_python_version() + build_flags -- return os.path.join(prefix, "include", python_dir) -+ if prefix is None: -+ if plat_specific: -+ return get_config_var('CONFINCLUDEPY') -+ else: -+ return get_config_var('INCLUDEPY') -+ else: -+ python_dir = 'python' + get_python_version() + build_flags -+ return os.path.join(prefix, "include", python_dir) - elif os.name == "nt": -+ if prefix is None: -+ prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX - return os.path.join(prefix, "include") - else: - raise DistutilsPlatformError( --- -2.28.0 - diff --git a/pkgs/development/interpreters/python/cpython/3.6/use-correct-tcl-tk-on-darwin.patch b/pkgs/development/interpreters/python/cpython/3.6/use-correct-tcl-tk-on-darwin.patch deleted file mode 100644 index b73f62b97ec5..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.6/use-correct-tcl-tk-on-darwin.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/setup.py b/setup.py -index 2779658..902d0eb 100644 ---- a/setup.py -+++ b/setup.py -@@ -1699,9 +1699,6 @@ class PyBuildExt(build_ext): - # Rather than complicate the code below, detecting and building - # AquaTk is a separate method. Only one Tkinter will be built on - # Darwin - either AquaTk, if it is found, or X11 based Tk. -- if (host_platform == 'darwin' and -- self.detect_tkinter_darwin(inc_dirs, lib_dirs)): -- return - - # Assume we haven't found any of the libraries or include files - # The versions with dots are used on Unix, and the versions without -@@ -1747,22 +1744,6 @@ class PyBuildExt(build_ext): - if dir not in include_dirs: - include_dirs.append(dir) - -- # Check for various platform-specific directories -- if host_platform == 'sunos5': -- include_dirs.append('/usr/openwin/include') -- added_lib_dirs.append('/usr/openwin/lib') -- elif os.path.exists('/usr/X11R6/include'): -- include_dirs.append('/usr/X11R6/include') -- added_lib_dirs.append('/usr/X11R6/lib64') -- added_lib_dirs.append('/usr/X11R6/lib') -- elif os.path.exists('/usr/X11R5/include'): -- include_dirs.append('/usr/X11R5/include') -- added_lib_dirs.append('/usr/X11R5/lib') -- else: -- # Assume default location for X11 -- include_dirs.append('/usr/X11/include') -- added_lib_dirs.append('/usr/X11/lib') -- - # If Cygwin, then verify that X is installed before proceeding - if host_platform == 'cygwin': - x11_inc = find_file('X11/Xlib.h', [], include_dirs) -@@ -1786,10 +1767,6 @@ class PyBuildExt(build_ext): - if host_platform in ['aix3', 'aix4']: - libs.append('ld') - -- # Finally, link with the X11 libraries (not appropriate on cygwin) -- if host_platform != "cygwin": -- libs.append('X11') -- - ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'], - define_macros=[('WITH_APPINIT', 1)] + defs, - include_dirs = include_dirs, diff --git a/pkgs/development/interpreters/python/cpython/3.6/profile-task.patch b/pkgs/development/interpreters/python/cpython/3.7/profile-task.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/3.6/profile-task.patch rename to pkgs/development/interpreters/python/cpython/3.7/profile-task.patch diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index d6e8f935380c..8d55ea6c39cb 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -121,7 +121,7 @@ let ]; buildInputs = filter (p: p != null) ([ - zlib bzip2 expat xz libffi gdbm sqlite readline ncurses openssl' ] + zlib bzip2 expat xz libffi libxcrypt gdbm sqlite readline ncurses openssl' ] ++ optionals x11Support [ tcl tk libX11 xorgproto ] ++ optionals (bluezSupport && stdenv.isLinux) [ bluez ] ++ optionals stdenv.isDarwin [ configd ]) @@ -180,7 +180,7 @@ let if isDarwin then "darwin" else "${multiarchCpu}-${parsed.kernel.name}-${pythonAbiName}"; - abiFlags = optionalString (isPy36 || isPy37) "m"; + abiFlags = optionalString isPy37 "m"; # https://github.com/python/cpython/blob/e488e300f5c01289c10906c2e53a8e43d6de32d8/configure.ac#L78 pythonSysconfigdataName = "_sysconfigdata_${abiFlags}_${parsed.kernel.name}_${multiarch}"; @@ -214,7 +214,19 @@ in with passthru; stdenv.mkDerivation { substituteInPlace setup.py --replace /Library/Frameworks /no-such-path ''; - patches = [ + patches = optionals (version == "3.10.9") [ + # https://github.com/python/cpython/issues/100160 + ./3.10/asyncio-deprecation.patch + ] ++ optionals (version == "3.11.1") [ + # https://github.com/python/cpython/issues/100160 + (fetchpatch { + name = "asyncio-deprecation-3.11.patch"; + url = "https://github.com/python/cpython/commit/3fae04b10e2655a20a3aadb5e0d63e87206d0c67.diff"; + revert = true; + excludes = [ "Misc/NEWS.d/*" ]; + sha256 = "sha256-PmkXf2D9trtW1gXZilRIWgdg2Y47JfELq1z4DuG3wJY="; + }) + ] ++ [ # Disable the use of ldconfig in ctypes.util.find_library (since # ldconfig doesn't work on NixOS), and don't use # ctypes.util.find_library during the loading of the uuid module @@ -228,13 +240,7 @@ in with passthru; stdenv.mkDerivation { ] ++ optionals mimetypesSupport [ # Make the mimetypes module refer to the right file ./mimetypes.patch - ] ++ optionals (isPy35 || isPy36) [ - # Determinism: Write null timestamps when compiling python files. - ./3.5/force_bytecode_determinism.patch - ] ++ optionals isPy35 [ - # Backports support for LD_LIBRARY_PATH from 3.6 - ./3.5/ld_library_path.patch - ] ++ optionals (isPy35 || isPy36 || isPy37) [ + ] ++ optionals isPy37 [ # Backport a fix for discovering `rpmbuild` command when doing `python setup.py bdist_rpm` to 3.5, 3.6, 3.7. # See: https://bugs.python.org/issue11122 ./3.7/fix-hardcoded-path-checking-for-rpmbuild.patch @@ -250,12 +256,7 @@ in with passthru; stdenv.mkDerivation { ./3.11/darwin-libutil.patch ] ++ optionals (pythonOlder "3.8") [ # Backport from CPython 3.8 of a good list of tests to run for PGO. - ( - if isPy36 || isPy37 then - ./3.6/profile-task.patch - else - ./3.5/profile-task.patch - ) + ./3.7/profile-task.patch ] ++ optionals (pythonAtLeast "3.9" && pythonOlder "3.11" && stdenv.isDarwin) [ # Stop checking for TCL/TK in global macOS locations ./3.9/darwin-tcl-tk.patch @@ -265,9 +266,7 @@ in with passthru; stdenv.mkDerivation { # only works for GCC and Apple Clang. This makes distutils to call C++ # compiler when needed. ( - if isPy35 then - ./3.5/python-3.x-distutils-C++.patch - else if pythonAtLeast "3.7" && pythonOlder "3.11" then + if pythonAtLeast "3.7" && pythonOlder "3.11" then ./3.7/python-3.x-distutils-C++.patch else if pythonAtLeast "3.11" then ./3.11/python-3.x-distutils-C++.patch @@ -277,19 +276,11 @@ in with passthru; stdenv.mkDerivation { sha256 = "1h18lnpx539h5lfxyk379dxwr8m2raigcjixkf133l4xy3f4bzi2"; } ) - ] ++ [ + ] ++ optionals (pythonOlder "3.12") [ # LDSHARED now uses $CC instead of gcc. Fixes cross-compilation of extension modules. ./3.8/0001-On-all-posix-systems-not-just-Darwin-set-LDSHARED-if.patch # Use sysconfigdata to find headers. Fixes cross-compilation of extension modules. - ( - if isPy36 then - ./3.6/fix-finding-headers-when-cross-compiling.patch - else - ./3.7/fix-finding-headers-when-cross-compiling.patch - ) - ] ++ optionals (isPy36) [ - # Backport a fix for ctypes.util.find_library. - ./3.6/find_library.patch + ./3.7/fix-finding-headers-when-cross-compiling.patch ]; postPatch = '' @@ -329,6 +320,9 @@ in with passthru; stdenv.mkDerivation { "--enable-loadable-sqlite-extensions" ] ++ optionals (openssl' != null) [ "--with-openssl=${openssl'.dev}" + ] ++ optionals (libxcrypt != null) [ + "CFLAGS=-I${libxcrypt}/include" + "LIBS=-L${libxcrypt}/lib" ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "ac_cv_buggy_getaddrinfo=no" # Assume little-endian IEEE 754 floating point when cross compiling @@ -354,14 +348,11 @@ in with passthru; stdenv.mkDerivation { # Never even try to use lchmod on linux, # don't rely on detecting glibc-isms. "ac_cv_func_lchmod=no" - ] ++ optionals (libxcrypt != null) [ - "CFLAGS=-I${libxcrypt}/include" - "LIBS=-L${libxcrypt}/lib" ] ++ optionals tzdataSupport [ "--with-tzpath=${tzdata}/share/zoneinfo" ] ++ optional static "LDFLAGS=-static"; - preConfigure = '' + preConfigure = optionalString (pythonOlder "3.12") '' for i in /usr /sw /opt /pkg; do # improve purity substituteInPlace ./setup.py --replace $i /no-such-path done diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 0c58d067f7e1..18282bc6d26c 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -84,13 +84,12 @@ }); in rec { isPy27 = pythonVersion == "2.7"; - isPy35 = pythonVersion == "3.5"; - isPy36 = pythonVersion == "3.6"; isPy37 = pythonVersion == "3.7"; isPy38 = pythonVersion == "3.8"; isPy39 = pythonVersion == "3.9"; isPy310 = pythonVersion == "3.10"; isPy311 = pythonVersion == "3.11"; + isPy312 = pythonVersion == "3.12"; isPy2 = lib.strings.substring 0 1 pythonVersion == "2"; isPy3 = lib.strings.substring 0 1 pythonVersion == "3"; isPy3k = isPy3; @@ -121,19 +120,19 @@ sourceVersion = { major = "3"; minor = "9"; - patch = "15"; + patch = "16"; suffix = ""; }; - sha256 = "sha256-Etr/aAlSjZ9hVCFpUEI8njDw5HM2y1fGqgtDh91etLI="; + sha256 = "sha256-It3cCZJG3SdgZlVh6K23OU6gzEOnJoTGSA+TgPd4ZDk="; }; python310 = { sourceVersion = { major = "3"; minor = "10"; - patch = "8"; + patch = "9"; suffix = ""; }; - sha256 = "sha256-ajDs3lnEcEgBPrWmWMm13sJ3ID0nk2Z/V433Zx9/A/M="; + sha256 = "sha256-WuA+MIJgFkuro5kh/bTb+ObQPYI1qTnUWCsz8LXkaoM="; }; }; @@ -203,6 +202,19 @@ in { inherit passthruFun; }; + python312 = callPackage ./cpython { + self = __splicedPackages.python312; + sourceVersion = { + major = "3"; + minor = "12"; + patch = "0"; + suffix = "a3"; + }; + sha256 = "sha256-G2SzB14KkkGXTlgOCbCckRehxOK+aYA5IB7x2Kc0U9E="; + inherit (darwin) configd; + inherit passthruFun; + }; + # Minimal versions of Python (built without optional dependencies) python3Minimal = (callPackage ./cpython ({ self = __splicedPackages.python3Minimal; diff --git a/pkgs/development/interpreters/python/python-packages-base.nix b/pkgs/development/interpreters/python/python-packages-base.nix index a63ece3c2369..81ad194a25c7 100644 --- a/pkgs/development/interpreters/python/python-packages-base.nix +++ b/pkgs/development/interpreters/python/python-packages-base.nix @@ -8,7 +8,7 @@ self: let inherit (self) callPackage; - inherit (python.passthru) isPy27 isPy35 isPy36 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder; + inherit (python.passthru) isPy27 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder; namePrefix = python.libPrefix + "-"; @@ -87,7 +87,7 @@ let in { inherit lib pkgs stdenv; - inherit (python.passthru) isPy27 isPy35 isPy36 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder; + inherit (python.passthru) isPy27 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder; inherit buildPythonPackage buildPythonApplication; inherit fetchPypi; inherit hasPythonModule requiredPythonModules makePythonPath disabled disabledIf; diff --git a/pkgs/development/libraries/Xaw3d/default.nix b/pkgs/development/libraries/Xaw3d/default.nix index 3ec220ca80de..f358a59ad62d 100644 --- a/pkgs/development/libraries/Xaw3d/default.nix +++ b/pkgs/development/libraries/Xaw3d/default.nix @@ -6,10 +6,12 @@ , bison , flex , pkg-config -, xlibsWrapper +, libXext , libXmu , libXpm , libXp +, libXt +, xorgproto }: stdenv.mkDerivation rec { @@ -22,8 +24,8 @@ stdenv.mkDerivation rec { }; dontUseImakeConfigure = true; nativeBuildInputs = [ pkg-config bison flex imake gccmakedep ]; - buildInputs = [ libXpm libXp ]; - propagatedBuildInputs = [ xlibsWrapper libXmu ]; + buildInputs = [ libXext libXpm libXp ]; + propagatedBuildInputs = [ libXmu libXt xorgproto ]; meta = with lib; { description = "3D widget set based on the Athena Widget set"; diff --git a/pkgs/development/libraries/cmocka/default.nix b/pkgs/development/libraries/cmocka/default.nix index 9bfbc410c007..ed78f4f9ec84 100644 --- a/pkgs/development/libraries/cmocka/default.nix +++ b/pkgs/development/libraries/cmocka/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, lib, stdenv, cmake }: +{ fetchurl, fetchpatch, lib, stdenv, cmake }: stdenv.mkDerivation rec { pname = "cmocka"; @@ -10,6 +10,14 @@ stdenv.mkDerivation rec { sha256 = "1dm8pdvkyfa8dsbz9bpq7wwgixjij4sii9bbn5sgvqjm5ljdik7h"; }; + patches = [ + (fetchpatch { + name = "musl-uintptr.patch"; + url = "https://git.alpinelinux.org/aports/plain/main/cmocka/musl_uintptr.patch?id=6a15dd0d0ba9cc354a621fb359ca5e315ff2eabd"; + sha256 = "sha256-fhb2Tax30kRTGuaKvzSzglSd/ntxiNeGFJt5I8poa24="; + }) + ]; + nativeBuildInputs = [ cmake ]; meta = with lib; { diff --git a/pkgs/development/libraries/duckdb/default.nix b/pkgs/development/libraries/duckdb/default.nix index 654c58ba694d..8d95bedf0223 100644 --- a/pkgs/development/libraries/duckdb/default.nix +++ b/pkgs/development/libraries/duckdb/default.nix @@ -17,13 +17,13 @@ let in stdenv.mkDerivation rec { pname = "duckdb"; - version = "0.6.0"; + version = "0.6.1"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-XCEX2VCynbMUP5xsxWq8PlHnfrBfES5c2fuu2jhM+tI="; + sha256 = "sha256-no4fcukEpzKmh2i41sdXGDljGhEDkzk3rYBATqlq6Gw="; }; patches = [ ./version.patch ]; diff --git a/pkgs/development/libraries/git2-cpp/default.nix b/pkgs/development/libraries/git2-cpp/default.nix new file mode 100644 index 000000000000..aae958518661 --- /dev/null +++ b/pkgs/development/libraries/git2-cpp/default.nix @@ -0,0 +1,30 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "git2-cpp"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "ken-matsui"; + repo = "git2-cpp"; + rev = finalAttrs.version; + hash = "sha256-2jKSQW6dUCIKtl33paSTuZdYAaYdFnILx/Gxv/ghFiI="; + }; + + nativeBuildInputs = [ + cmake + ]; + + meta = with lib; { + homepage = "https://github.com/ken-matsui/git2-cpp"; + description = "libgit2 bindings for C++"; + license = licenses.mit; + maintainers = with maintainers; [ ken-matsui ]; + platforms = platforms.unix; + }; +}) +# TODO [ ken-matsui ]: tests diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index a566062c0ee4..12f46af022fc 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -56,11 +56,11 @@ in stdenv.mkDerivation (finalAttrs: { pname = "glib"; - version = "2.74.1"; + version = "2.74.3"; src = fetchurl { url = "mirror://gnome/sources/glib/${lib.versions.majorMinor finalAttrs.version}/glib-${finalAttrs.version}.tar.xz"; - sha256 = "CrmBYY0dtHhF5WQXsNfBI/gaNCeyuck/Wkb/W7uWSWQ="; + sha256 = "6bxB7NlpDZvGqXDMc4ARm4KOW2pLFsOTxjiz3CuHy8s="; }; patches = lib.optionals stdenv.isDarwin [ @@ -118,14 +118,6 @@ stdenv.mkDerivation (finalAttrs: { # Disable flaky test. # https://gitlab.gnome.org/GNOME/glib/-/issues/820 ./skip-timer-test.patch - - # Fix infinite loop (e.g. in gnome-keyring) - # https://github.com/NixOS/nixpkgs/pull/197754#issuecomment-1312805358 - # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3039 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/glib/-/commit/2a36bb4b7e46f9ac043561c61f9a790786a5440c.patch"; - sha256 = "b77Hxt6WiLxIGqgAj9ZubzPWrWmorcUOEe/dp01BcXA="; - }) ]; outputs = [ "bin" "out" "dev" "devdoc" ]; diff --git a/pkgs/development/libraries/glibc/2.35-make-4.4.patch b/pkgs/development/libraries/glibc/2.35-make-4.4.patch deleted file mode 100644 index 346c141d3b36..000000000000 --- a/pkgs/development/libraries/glibc/2.35-make-4.4.patch +++ /dev/null @@ -1,66 +0,0 @@ -https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2d7ed98add14f75041499ac189696c9bd3d757fe ---- a/Makeconfig -+++ b/Makeconfig -@@ -43,6 +43,22 @@ else - $(error objdir must be defined by the build-directory Makefile) - endif - -+# Did we request 'make -s' run? "yes" or "no". -+# Starting from make-4.4 MAKEFLAGS now contains long -+# options like '--shuffle'. To detect presence of 's' -+# we pick first word with short options. Long options -+# are guaranteed to come after whitespace. We use '-' -+# prefix to always have a word before long options -+# even if no short options were passed. -+# Typical MAKEFLAGS values to watch for: -+# "rs --shuffle=42" (silent) -+# " --shuffle" (not silent) -+ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) -+silent-make := no -+else -+silent-make := yes -+endif -+ - # Root of the sysdeps tree. - sysdep_dir := $(..)sysdeps - export sysdep_dir := $(sysdep_dir) -@@ -917,7 +933,7 @@ endif - # umpteen zillion filenames along with it (we use `...' instead) - # but we don't want this echoing done when the user has said - # he doesn't want to see commands echoed by using -s. --ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s -+ifeq ($(silent-make),yes) # if -s - +cmdecho := echo >/dev/null - else # not -s - +cmdecho := echo ---- a/Makerules -+++ b/Makerules -@@ -794,7 +794,7 @@ endif - # Maximize efficiency by minimizing the number of rules. - .SUFFIXES: # Clear the suffix list. We don't use suffix rules. - # Don't define any builtin rules. --MAKEFLAGS := $(MAKEFLAGS)r -+MAKEFLAGS := $(MAKEFLAGS) -r - - # Generic rule for making directories. - %/: -@@ -811,7 +811,7 @@ MAKEFLAGS := $(MAKEFLAGS)r - .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) - - # Use the verbose option of ar and tar when not running silently. --ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s -+ifeq ($(silent-make),no) # if not -s - verbose := v - else # -s - verbose := ---- a/elf/rtld-Rules -+++ b/elf/rtld-Rules -@@ -52,7 +52,7 @@ $(objpfx)rtld-libc.a: $(foreach dir,$(rtld-subdirs),\ - mv -f $@T $@ - - # Use the verbose option of ar and tar when not running silently. --ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s -+ifeq ($(silent-make),no) # if not -s - verbose := v - else # -s - verbose := diff --git a/pkgs/development/libraries/glibc/2.35-master.patch.gz b/pkgs/development/libraries/glibc/2.35-master.patch.gz index 24939e1c0899..7b8423c5b61b 100644 Binary files a/pkgs/development/libraries/glibc/2.35-master.patch.gz and b/pkgs/development/libraries/glibc/2.35-master.patch.gz differ diff --git a/pkgs/development/libraries/glibc/allow-kernel-2.6.32.patch b/pkgs/development/libraries/glibc/allow-kernel-2.6.32.patch deleted file mode 100644 index ce18b874c427..000000000000 --- a/pkgs/development/libraries/glibc/allow-kernel-2.6.32.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure -index cace758c01..38fe7fe0b0 100644 ---- a/sysdeps/unix/sysv/linux/configure -+++ b/sysdeps/unix/sysv/linux/configure -@@ -69,7 +69,7 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel header at least $minimum_kernel" >&5 - $as_echo_n "checking for kernel header at least $minimum_kernel... " >&6; } - decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`; --abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; -+abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include -diff --git a/sysdeps/unix/sysv/linux/configure.ac b/sysdeps/unix/sysv/linux/configure.ac -index 13abda0a51..6abc12eaed 100644 ---- a/sysdeps/unix/sysv/linux/configure.ac -+++ b/sysdeps/unix/sysv/linux/configure.ac -@@ -50,7 +50,7 @@ fi - AC_MSG_CHECKING(for kernel header at least $minimum_kernel) - changequote(,)dnl - decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`; --abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; -+abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; - changequote([,])dnl - AC_TRY_COMPILE([#include - #if LINUX_VERSION_CODE < $decnum -diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h -index 823cd8224d..482caaeeec 100644 ---- a/sysdeps/unix/sysv/linux/dl-osinfo.h -+++ b/sysdeps/unix/sysv/linux/dl-osinfo.h -@@ -39,7 +39,7 @@ - GLRO(dl_osversion) = version; \ - \ - /* Now we can test with the required version. */ \ -- if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION) \ -+ if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION && version != 0x020620) \ - /* Not sufficent. */ \ - FATAL ("FATAL: kernel too old\n"); \ - } \ diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index ad2a8ae7ab64..61c0c92d5280 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -45,7 +45,7 @@ let version = "2.35"; - patchSuffix = "-163"; + patchSuffix = "-224"; sha256 = "sha256-USNzL2tnzNMZMF79OZlx1YWSEivMKmUYob0lEN0M9S4="; in @@ -72,8 +72,8 @@ stdenv.mkDerivation ({ */ ./2.35-master.patch.gz - /* Can be removed after next snapshot update or release update. */ - ./2.35-make-4.4.patch + /* Revert this patch contained in the previous bundle. For now, until we know more. */ + ./revert-mktime.patch /* Allow NixOS and Nix to handle the locale-archive. */ ./nix-locale-archive.patch @@ -89,36 +89,6 @@ stdenv.mkDerivation ({ patch extends the search path by "/run/current-system/sw/bin". */ ./fix_path_attribute_in_getconf.patch - /* Allow running with RHEL 6 -like kernels. The patch adds an exception - for glibc to accept 2.6.32 and to tag the ELFs as 2.6.32-compatible - (otherwise the loader would refuse libc). - Note that glibc will fully work only on their heavily patched kernels - and we lose early mismatch detection on 2.6.32. - - On major glibc updates we should check that the patched kernel supports - all the required features. ATM it's verified up to glibc-2.26-131. - # HOWTO: check glibc sources for changes in kernel requirements - git log -p glibc-2.25.. sysdeps/unix/sysv/linux/x86_64/kernel-features.h sysdeps/unix/sysv/linux/kernel-features.h - # get kernel sources (update the URL) - mkdir tmp && cd tmp - curl http://vault.centos.org/6.9/os/Source/SPackages/kernel-2.6.32-696.el6.src.rpm | rpm2cpio - | cpio -idmv - tar xf linux-*.bz2 - # check syscall presence, for example - less linux-*?/arch/x86/kernel/syscall_table_32.S - */ - ./allow-kernel-2.6.32.patch - - /* Provide a fallback for missing prlimit64 syscall on RHEL 6 -like - kernels. - - This patch is maintained by @veprbl. If it gives you trouble, feel - free to ping me, I'd be happy to help. - */ - (fetchurl { - url = "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/glibc-reinstate-prlimit64-fallback.patch?id=eab07e78b691ae7866267fc04d31c7c3ad6b0eeb"; - sha256 = "091bk3kyrx1gc380gryrxjzgcmh1ajcj8s2rjhp2d2yzd5mpd5ps"; - }) - ./fix-x64-abi.patch /* https://github.com/NixOS/nixpkgs/pull/137601 */ @@ -175,7 +145,7 @@ stdenv.mkDerivation ({ # Enable Intel Control-flow Enforcement Technology (CET) support "--enable-cet" ] ++ lib.optionals withLinuxHeaders [ - "--enable-kernel=3.2.0" # can't get below with glibc >= 2.26 + "--enable-kernel=3.10.0" # RHEL 7 and derivatives, seems oldest still supported kernel ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ (lib.flip lib.withFeature "fp" (stdenv.hostPlatform.gcc.float or (stdenv.hostPlatform.parsed.abi.float or "hard") == "soft")) diff --git a/pkgs/development/libraries/glibc/revert-mktime.patch b/pkgs/development/libraries/glibc/revert-mktime.patch new file mode 100644 index 000000000000..d691213e8657 --- /dev/null +++ b/pkgs/development/libraries/glibc/revert-mktime.patch @@ -0,0 +1,73 @@ +commit f6d4c1ac648c4ff8baad94500df0bb13108a4f79 +Author: Paul Eggert +Date: Thu Sep 8 20:08:32 2022 -0500 + + REVERT: mktime: improve heuristic for ca-1986 Indiana DST + + This patch syncs mktime.c from Gnulib, fixing a + problem reported by Mark Krenz , + and it should fix BZ#29035 too. + * time/mktime.c (__mktime_internal): Be more generous about + accepting arguments with the wrong value of tm_isdst, by falling + back to a one-hour DST difference if we find no nearby DST that is + unusual. This fixes a problem where "1986-04-28 00:00 EDT" was + rejected when TZ="America/Indianapolis" because the nearest DST + timestamp occurred in 1970, a temporal distance too great for the + old heuristic. This also also narrows the search a bit, which + is a minor performance win. + + (cherry picked from commit 83859e1115269cf56d21669361d4ddbe2687831c) + +diff --git b/time/mktime.c a/time/mktime.c +index e9a6006710..494c89bf54 100644 +--- b/time/mktime.c ++++ a/time/mktime.c +@@ -429,13 +429,8 @@ __mktime_internal (struct tm *tp, + time with the right value, and use its UTC offset. + + Heuristic: probe the adjacent timestamps in both directions, +- looking for the desired isdst. If none is found within a +- reasonable duration bound, assume a one-hour DST difference. +- This should work for all real time zone histories in the tz +- database. */ +- +- /* +1 if we wanted standard time but got DST, -1 if the reverse. */ +- int dst_difference = (isdst == 0) - (tm.tm_isdst == 0); ++ looking for the desired isdst. This should work for all real ++ time zone histories in the tz database. */ + + /* Distance between probes when looking for a DST boundary. In + tzdata2003a, the shortest period of DST is 601200 seconds +@@ -446,14 +441,12 @@ __mktime_internal (struct tm *tp, + periods when probing. */ + int stride = 601200; + +- /* In TZDB 2021e, the longest period of DST (or of non-DST), in +- which the DST (or adjacent DST) difference is not one hour, +- is 457243209 seconds: e.g., America/Cambridge_Bay with leap +- seconds, starting 1965-10-31 00:00 in a switch from +- double-daylight time (-05) to standard time (-07), and +- continuing to 1980-04-27 02:00 in a switch from standard time +- (-07) to daylight time (-06). */ +- int duration_max = 457243209; ++ /* The longest period of DST in tzdata2003a is 536454000 seconds ++ (e.g., America/Jujuy starting 1946-10-01 01:00). The longest ++ period of non-DST is much longer, but it makes no real sense ++ to search for more than a year of non-DST, so use the DST ++ max. */ ++ int duration_max = 536454000; + + /* Search in both directions, so the maximum distance is half + the duration; add the stride to avoid off-by-1 problems. */ +@@ -490,11 +483,6 @@ __mktime_internal (struct tm *tp, + } + } + +- /* No unusual DST offset was found nearby. Assume one-hour DST. */ +- t += 60 * 60 * dst_difference; +- if (mktime_min <= t && t <= mktime_max && convert_time (convert, t, &tm)) +- goto offset_found; +- + __set_errno (EOVERFLOW); + return -1; + } diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix index 744f9652378f..b924f3f51d34 100644 --- a/pkgs/development/libraries/grpc/default.nix +++ b/pkgs/development/libraries/grpc/default.nix @@ -60,7 +60,9 @@ stdenv.mkDerivation rec { # only an issue with the useLLVM stdenv, not the darwin stdenv… # https://github.com/grpc/grpc/issues/26473#issuecomment-860885484 useLLVMAndOldCC = (stdenv.hostPlatform.useLLVM or false) && lib.versionOlder stdenv.cc.cc.version "11.0"; - cxxStandard = if useLLVMAndOldCC then "11" else "17"; + # With GCC 9 (current aarch64-linux) it fails with c++17 but OK with c++14. + useOldGCC = !(stdenv.hostPlatform.useLLVM or false) && lib.versionOlder stdenv.cc.cc.version "10"; + cxxStandard = if useLLVMAndOldCC then "11" else if useOldGCC then "14" else "17"; in [ "-DgRPC_ZLIB_PROVIDER=package" diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index c06aa9469937..282486dc88d5 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -2,6 +2,7 @@ , stdenv , substituteAll , fetchurl +, fetchpatch2 , pkg-config , gettext , docbook-xsl-nons @@ -60,7 +61,7 @@ in stdenv.mkDerivation rec { pname = "gtk+3"; - version = "3.24.34"; + version = "3.24.35"; outputs = [ "out" "dev" ] ++ lib.optional withGtkDoc "devdoc"; outputBin = "dev"; @@ -72,12 +73,22 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/gtk+/${lib.versions.majorMinor version}/gtk+-${version}.tar.xz"; - sha256 = "sha256-28afkN3IIbjRRB8AN03B2kMjour6kHjmHtvl7u+oUuw="; + sha256 = "sha256-7BD+bXEu8LPGO1+TJjnJ0a6Z/OlPUA9vBpZWKf72C9E="; }; patches = [ ./patches/3.0-immodules.cache.patch ./patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch + + # Add accidentally non-dist’d build file. + # https://gitlab.gnome.org/GNOME/gtk/-/commit/b2ad8d2abafbd94c7e58e5e1b98c92e6b6fa6d9a + (fetchpatch2 { + url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/66a199806ceb3daa5e2c7d3a5b45a86007cec46a.patch"; + includes = [ + "gdk/wayland/cursor/meson.build" + ]; + sha256 = "cOOcSB3yphff2+7l7YpFbGSswWjV8lJ2tk+Vjgl1ras="; + }) ] ++ lib.optionals stdenv.isDarwin [ # X11 module requires which is not installed on Darwin # let’s drop that dependency in similar way to how other parts of the library do it diff --git a/pkgs/development/libraries/libhwy/default.nix b/pkgs/development/libraries/libhwy/default.nix index 43b2e93d8270..66f273ba3f28 100644 --- a/pkgs/development/libraries/libhwy/default.nix +++ b/pkgs/development/libraries/libhwy/default.nix @@ -1,33 +1,23 @@ -{ lib, stdenv, cmake, ninja, gtest, fetchpatch, fetchFromGitHub }: +{ lib, stdenv, cmake, ninja, gtest, fetchFromGitHub }: stdenv.mkDerivation rec { pname = "libhwy"; - version = "0.15.0"; + version = "1.0.2"; src = fetchFromGitHub { owner = "google"; repo = "highway"; rev = version; - sha256 = "sha256-v2HyyHtBydr7QiI83DW1yRv2kWjUOGxFT6mmdrN9XPo="; + hash = "sha256-CHzDLzOnu/QfejWiRKE9I5UUyRxoEooNtYVe8FQwu7c="; }; - patches = [ - # Remove on next release - # https://github.com/google/highway/issues/460 - (fetchpatch { - name = "hwy-add-missing-includes.patch"; - url = "https://github.com/google/highway/commit/8ccab40c2f931aca6004d175eec342cc60f6baec.patch"; - sha256 = "sha256-wlp5gIvK2+OlKtsZwxq/pXTbESkUtimHXaYDjcBzmQ0="; - }) - ]; - nativeBuildInputs = [ cmake ninja ]; # Required for case-insensitive filesystems ("BUILD" exists) dontUseCmakeBuildDir = true; cmakeFlags = let - libExt = stdenv.hostPlatform.extensions.library; + libExt = stdenv.hostPlatform.extensions.sharedLibrary; in [ "-GNinja" "-DCMAKE_INSTALL_LIBDIR=lib" @@ -37,6 +27,8 @@ stdenv.mkDerivation rec { "-DGTEST_INCLUDE_DIR=${lib.getDev gtest}/include" "-DGTEST_LIBRARY=${lib.getLib gtest}/lib/libgtest${libExt}" "-DGTEST_MAIN_LIBRARY=${lib.getLib gtest}/lib/libgtest_main${libExt}" + ] ++ lib.optionals stdenv.hostPlatform.isAarch32 [ + "-DHWY_CMAKE_ARM7=ON" ]; # hydra's darwin machines run into https://github.com/libjxl/libjxl/issues/408 diff --git a/pkgs/development/libraries/libjxl/default.nix b/pkgs/development/libraries/libjxl/default.nix index 567d985fd3d4..1c03973fff96 100644 --- a/pkgs/development/libraries/libjxl/default.nix +++ b/pkgs/development/libraries/libjxl/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { pname = "libjxl"; - version = "0.6.1"; + version = "0.7.0"; outputs = [ "out" "dev" ]; @@ -29,47 +29,11 @@ stdenv.mkDerivation rec { owner = "libjxl"; repo = "libjxl"; rev = "v${version}"; - sha256 = "sha256-fTK5hyU9PZ6nigMsfzVugwviihgAXfEcLF+l+n5h+54="; + sha256 = "sha256-9DBLQ/gMyy2ZUm7PCWYJ7XOzkgQM0cAewJZzMNo8UPs="; # There are various submodules in `third_party/`. fetchSubmodules = true; }; - patches = [ - # present in master, see https://github.com/libjxl/libjxl/pull/1403 - (fetchpatch { - name = "prefixless-pkg-config.patch"; - url = "https://github.com/libjxl/libjxl/commit/0b906564bfbfd8507d61c5d6a447f545f893227c.patch"; - sha256 = "1g5c6lrsmgxb9j64pjy8lbdgbvw834m5jyfivy9ppmd8iiv0kkq4"; - }) - - # present in master, remove after 0.7? - (fetchpatch { - name = "fix-link-lld-macho.patch"; - url = "https://github.com/libjxl/libjxl/commit/88fe3fff3dc70c72405f57c69feffd9823930034.patch"; - sha256 = "1419fyiq4srpj72cynwyvqy8ldi7vn9asvkp5fsbmiqkyhb15jpk"; - }) - - # "robust statistics" have been removed in upstream mainline as they are - # conidered to cause "interoperability problems". sure enough the tests - # fail with precision issues on aarch64. - (fetchpatch { - name = "remove-robust-and-descriptive-statistics.patch"; - url = "https://github.com/libjxl/libjxl/commit/204f87a5e4d684544b13900109abf040dc0b402b.patch"; - sha256 = "sha256-DoAaYWLmQ+R9GZbHMTYGe0gBL9ZesgtB+2WhmbARna8="; - }) - - # fix build with asciidoc wrapped in shell script - (fetchpatch { - url = "https://github.com/libjxl/libjxl/commit/b8ec58c58c6281987f42ebec892f513824c0cc0e.patch"; - hash = "sha256-g8U+YVhLfgSHJ+PWJgvVOI66+FElJSC8IgSRodNnsMw="; - }) - (fetchpatch { - url = "https://github.com/libjxl/libjxl/commit/ca8e276aacf63a752346a6a44ba673b0af993237.patch"; - excludes = [ "AUTHORS" ]; - hash = "sha256-9VXy1LdJ0JhYbCGPNMySpnGLBxUrr8BYzE+oU3LnUGw="; - }) - ]; - nativeBuildInputs = [ cmake gtest @@ -136,12 +100,17 @@ stdenv.mkDerivation rec { # * the `gimp` one, which allows GIMP to load jpeg-xl files # "-DJPEGXL_ENABLE_PLUGINS=ON" ] ++ lib.optionals stdenv.hostPlatform.isStatic [ - "-DJPEGXL_STATIC=ON" + "-DJPEGXL_STATIC=ON" + ] ++ lib.optionals stdenv.hostPlatform.isAarch32 [ + "-DJPEGXL_FORCE_NEON=ON" ]; LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic"; + CXXFLAGS = lib.optionalString stdenv.hostPlatform.isAarch32 "-mfp16-format=ieee"; - doCheck = !stdenv.hostPlatform.isi686; + # FIXME x86_64-darwin: + # https://github.com/NixOS/nixpkgs/pull/204030#issuecomment-1352768690 + doCheck = with stdenv; !(hostPlatform.isi686 || isDarwin && isx86_64); meta = with lib; { homepage = "https://github.com/libjxl/libjxl"; diff --git a/pkgs/development/libraries/mbedtls/2.nix b/pkgs/development/libraries/mbedtls/2.nix index ba1f520b08cf..e577b9183c27 100644 --- a/pkgs/development/libraries/mbedtls/2.nix +++ b/pkgs/development/libraries/mbedtls/2.nix @@ -1,6 +1,6 @@ { callPackage }: callPackage ./generic.nix { - version = "2.28.1"; - hash = "sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw="; + version = "2.28.2"; + hash = "sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ="; } diff --git a/pkgs/development/libraries/mbedtls/3.nix b/pkgs/development/libraries/mbedtls/3.nix index d6f53feb086b..55293b6ecd49 100644 --- a/pkgs/development/libraries/mbedtls/3.nix +++ b/pkgs/development/libraries/mbedtls/3.nix @@ -1,6 +1,6 @@ { callPackage }: callPackage ./generic.nix { - version = "3.2.1"; - hash = "sha256-+M36NvFe4gw2PRbld/2JV3yBGrqK6soWcmrSEkUNcrc="; + version = "3.3.0"; + hash = "sha256-yb5migP5Tcw99XHFzJkCct4f5R6ztxPR43VQcfTGRtE="; } diff --git a/pkgs/development/libraries/mbedtls/generic.nix b/pkgs/development/libraries/mbedtls/generic.nix index bb87c6dbc8ad..3383d3f8cc44 100644 --- a/pkgs/development/libraries/mbedtls/generic.nix +++ b/pkgs/development/libraries/mbedtls/generic.nix @@ -32,10 +32,14 @@ stdenv.mkDerivation rec { perl scripts/config.pl set MBEDTLS_THREADING_PTHREAD # POSIX thread wrapper layer for the threading layer. ''; - cmakeFlags = [ "-DUSE_SHARED_MBEDTLS_LIBRARY=on" ]; - NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ - "-Wno-error=format" - "-Wno-error=format-truncation" + cmakeFlags = [ + "-DUSE_SHARED_MBEDTLS_LIBRARY=on" + + # Avoid a dependency on jsonschema and jinja2 by not generating source code + # using python. In releases, these generated files are already present in + # the repository and do not need to be regenerated. See: + # https://github.com/Mbed-TLS/mbedtls/releases/tag/v3.3.0 below "Requirement changes". + "-DGEN_FILES=off" ]; meta = with lib; { diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index bcc34905a23f..78230898d7fc 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -8,7 +8,7 @@ , vulkan-loader, glslang , galliumDrivers ? ["auto"] # upstream Mesa defaults to only enabling swrast (aka lavapipe) on aarch64 for some reason, so force building the others -, vulkanDrivers ? [ "auto" ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [ "broadcom" "freedreno" "panfrost" ] +, vulkanDrivers ? if (stdenv.isLinux && stdenv.isAarch64) then [ "swrast" "broadcom" "freedreno" "panfrost" ] else [ "auto" ] , eglPlatforms ? [ "x11" ] ++ lib.optionals stdenv.isLinux [ "wayland" ] , vulkanLayers ? lib.optionals (!stdenv.isDarwin) [ "device-select" "overlay" ] # No Vulkan support on Darwin , OpenGL, Xplugin @@ -37,7 +37,7 @@ with lib; let # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule - version = "22.2.4"; + version = "22.2.5"; branch = versions.major version; self = stdenv.mkDerivation { @@ -52,7 +52,7 @@ self = stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz" "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" ]; - sha256 = "sha256-ZddrU8pce0YBng6OW0FN5F0v7NP81xcH9sO8dpHJ96s="; + sha256 = "sha256-hQ8GMUb467JirsBPZmwsHlYj8qGYfdok5DYbF7kSxzs="; }; # TODO: diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix index 76d2c9e0ece9..7d9e94c6f909 100644 --- a/pkgs/development/libraries/mpfr/default.nix +++ b/pkgs/development/libraries/mpfr/default.nix @@ -22,6 +22,13 @@ stdenv.mkDerivation rec { hash = "sha256-/9GVvVZ9uv/DuYsj/QCq0FN2gMmJYXHkT+P/eeKKwz0="; }; + patches = [ + (fetchurl { # https://gitlab.inria.fr/mpfr/mpfr/-/issues/1 + url = "https://www.mpfr.org/mpfr-4.1.1/patch01"; + hash = "sha256-gKPCcJviGsqsEqnMmYiNY6APp3+3VXbyBf6LoZhP9Eo="; + }) + ]; + outputs = [ "out" "dev" "doc" "info" ]; strictDeps = true; diff --git a/pkgs/development/libraries/nss/latest.nix b/pkgs/development/libraries/nss/latest.nix index 56d6c0e47103..72c86bf41a81 100644 --- a/pkgs/development/libraries/nss/latest.nix +++ b/pkgs/development/libraries/nss/latest.nix @@ -5,6 +5,6 @@ # Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert import ./generic.nix { - version = "3.85"; - hash = "sha256-r9nWRRCxFU3rvWyrNXHp/2SjNziY4DSD5Mhc2toT0pc="; + version = "3.86"; + hash = "sha256-PzhfxoZHa7uoEQNfpoIbVCR11VdHsYwgwiHU1mVzuXU="; } diff --git a/pkgs/development/libraries/opencl-clang/default.nix b/pkgs/development/libraries/opencl-clang/default.nix index f4897331c938..58307198f727 100644 --- a/pkgs/development/libraries/opencl-clang/default.nix +++ b/pkgs/development/libraries/opencl-clang/default.nix @@ -4,10 +4,8 @@ , fetchpatch , cmake , git - , llvmPackages_11 , spirv-llvm-translator - , buildWithPatches ? true }: @@ -16,32 +14,25 @@ let inherit spirv-llvm-translator; }; - inherit (lib) getVersion; - - addPatches = component: pkg: - with builtins; with lib; - let path = "${passthru.patchesOut}/${component}"; - in pkg.overrideAttrs (super: { - postPatch = (if super ? postPatch then super.postPatch + "\n" else "") + '' - for p in ${path}/* - do - patch -p1 -i "$p" - done - ''; - }); + addPatches = component: pkg: pkg.overrideAttrs (oldAttrs: { + postPatch = oldAttrs.postPatch or "" + '' + for p in ${passthru.patchesOut}/${component}/*; do + patch -p1 -i "$p" + done + ''; + }); passthru = rec { - spirv-llvm-translator = llvmPkgs.spirv-llvm-translator; + spirv-llvm-translator = llvmPkgs.spirv-llvm-translator.override { llvm = llvmPackages_11.llvm; }; llvm = addPatches "llvm" llvmPkgs.llvm; libclang = addPatches "clang" llvmPkgs.libclang; clang-unwrapped = libclang.out; - clang = llvmPkgs.clang.override { cc = clang-unwrapped; }; - patchesOut = stdenv.mkDerivation rec { + patchesOut = stdenv.mkDerivation { pname = "opencl-clang-patches"; inherit (library) version src patches; # Clang patches assume the root is the llvm root dir @@ -62,14 +53,13 @@ let }; library = let - inherit (llvmPkgs) llvm; + inherit (llvmPackages_11) llvm; inherit (if buildWithPatches then passthru else llvmPkgs) libclang spirv-llvm-translator; in - stdenv.mkDerivation rec { + stdenv.mkDerivation { pname = "opencl-clang"; version = "unstable-2022-03-16"; - inherit passthru; src = fetchFromGitHub { owner = "intel"; @@ -79,8 +69,8 @@ let }; patches = [ - # Build script tries to find Clang OpenCL headers under ${llvm} - # Work around it by specifying that directory manually. + # Build script tries to find Clang OpenCL headers under ${llvm} + # Work around it by specifying that directory manually. ./opencl-headers-dir.patch ]; @@ -96,19 +86,21 @@ let buildInputs = [ libclang llvm spirv-llvm-translator ]; cmakeFlags = [ - "-DPREFERRED_LLVM_VERSION=${getVersion llvm}" - "-DOPENCL_HEADERS_DIR=${libclang.lib}/lib/clang/${getVersion libclang}/include/" + "-DPREFERRED_LLVM_VERSION=${lib.getVersion llvm}" + "-DOPENCL_HEADERS_DIR=${libclang.lib}/lib/clang/${lib.getVersion libclang}/include/" "-DLLVMSPIRV_INCLUDED_IN_LLVM=OFF" "-DSPIRV_TRANSLATOR_DIR=${spirv-llvm-translator}" ]; + inherit passthru; + meta = with lib; { homepage = "https://github.com/intel/opencl-clang/"; description = "A clang wrapper library with an OpenCL-oriented API and the ability to compile OpenCL C kernels to SPIR-V modules"; license = licenses.ncsa; platforms = platforms.all; - maintainers = with maintainers; [ gloaming ]; + maintainers = with maintainers; [ SuperSandro2000 ]; }; }; in diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index 3beeaa67321e..e6d9a6d7b89d 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation rec { pname = "pango"; - version = "1.50.11"; + version = "1.50.12"; outputs = [ "bin" "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "iAD4Etie5hOIGIcDID86eHiWPCL4aVqvH6ChoUKNF64="; + sha256 = "yu+W0nu+eSpr6ScnxzRo2DKxPaV8gHHvebnfae4Fj+M="; }; depsBuildBuild = [ diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index f93db9284c1d..8f0852b06a12 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -24,7 +24,7 @@ , vulkan-loader , webrtc-audio-processing , ncurses -, readline81 # meson can't find <7 as those versions don't have a .pc file +, readline # meson can't find <7 as those versions don't have a .pc file , lilv , makeFontsConf , callPackage @@ -68,7 +68,7 @@ let self = stdenv.mkDerivation rec { pname = "pipewire"; - version = "0.3.60"; + version = "0.3.63"; outputs = [ "out" @@ -86,7 +86,7 @@ let owner = "pipewire"; repo = "pipewire"; rev = version; - sha256 = "sha256-HDE2QAV2jnEJCqgiGx4TVP4ceeKAqwd4P3OYw6auNAM="; + sha256 = "sha256-GQJpw5G9YN7T2upu2FLUxE8UvMRev3K2j4Z1uK1/dt4="; }; patches = [ @@ -102,26 +102,6 @@ let ./0090-pipewire-config-template-paths.patch # Place SPA data files in lib output to avoid dependency cycles ./0095-spa-data-dir.patch - - # Following are backported patches as recommended by upstream. - # FIXME: remove in 0.3.61 - # fix tdesktop with pw-pulse - (fetchpatch { - url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/b720da771efa950cf380101bed42d5d5ee177908.diff"; - hash = "sha256-p/BvatnbEJAMLQUUOECKAK7FppaNp9ei3FHjAw2spM8="; - }) - - # fix a crash when quickly switching Bluetooth profiles - (fetchpatch { - url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/bf3516ba0496b644b3944b114253f23964178897.diff"; - hash = "sha256-LqasplS/azCPekslJQPTd9MZkUcRqA0ks94FtwyY3GA="; - }) - - # fix no sound in VMs (Pipewire on the guest) - (fetchpatch { - url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/b46d8a8c921a8da6883610ad4b68da95bf59b59e.diff"; - hash = "sha256-2VHBwXbzUAGP/fG4xxoFLHSb9oXQK1BPuNv3zAV8cEg="; - }) ]; nativeBuildInputs = [ @@ -143,7 +123,7 @@ let libsndfile lilv ncurses - readline81 + readline udev vulkan-headers vulkan-loader diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index 645a13272545..e9f9120620ac 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -37,7 +37,7 @@ let in stdenv.mkDerivation rec { pname = "polkit"; - version = "121"; + version = "122"; outputs = [ "bin" "dev" "out" ]; # small man pages in $bin @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { owner = "polkit"; repo = "polkit"; rev = version; - sha256 = "Lj7KSGILc6CBsNqPO0G0PNt6ClikbRG45E8FZbb46yY="; + sha256 = "fLY8i8h4McAnwVt8dLOqbyHM7v3SkbWqATz69NkUudU="; }; patches = [ @@ -57,14 +57,6 @@ stdenv.mkDerivation rec { url = "https://gitlab.freedesktop.org/polkit/polkit/-/commit/7ba07551dfcd4ef9a87b8f0d9eb8b91fabcb41b3.patch"; sha256 = "ebbLILncq1hAZTBMsLm+vDGw6j0iQ0crGyhzyLZQgKA="; }) - # Make netgroup support optional (musl does not have it) - # Upstream MR: https://gitlab.freedesktop.org/polkit/polkit/merge_requests/10 - # NOTE: Remove after the next release - (fetchpatch { - name = "make-innetgr-optional.patch"; - url = "https://gitlab.freedesktop.org/polkit/polkit/-/commit/b57deee8178190a7ecc75290fa13cf7daabc2c66.patch"; - sha256 = "8te6gatT9Fp+fIT05fQBym5mEwHeHfaUNUNEMfSbtLc="; - }) ]; depsBuildBuild = [ @@ -119,7 +111,7 @@ stdenv.mkDerivation rec { mesonFlags = [ "--datadir=${system}/share" "--sysconfdir=/etc" - "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system" + "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system" "-Dpolkitd_user=polkituser" #TODO? config.ids.uids.polkituser "-Dos_type=redhat" # only affects PAM includes "-Dtests=${lib.boolToString doCheck}" diff --git a/pkgs/development/libraries/qrencode/default.nix b/pkgs/development/libraries/qrencode/default.nix index 57ccfd382f7b..b8f01bcff5a1 100644 --- a/pkgs/development/libraries/qrencode/default.nix +++ b/pkgs/development/libraries/qrencode/default.nix @@ -12,12 +12,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ SDL2 libpng ] ++ lib.optionals stdenv.isDarwin [ libiconv libobjc ]; + + buildInputs = [ libpng ] + ++ lib.optionals stdenv.isDarwin [ libiconv libobjc ]; configureFlags = [ "--with-tests" ]; + checkInputs = [ SDL2 ]; + doCheck = true; checkPhase = '' @@ -33,13 +37,11 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://fukuchi.org/works/qrencode/"; description = "C library for encoding data in a QR Code symbol"; - longDescription = '' Libqrencode is a C library for encoding data in a QR Code symbol, a kind of 2D symbology that can be scanned by handy terminals such as a mobile phone with CCD. ''; - license = licenses.lgpl21Plus; maintainers = with maintainers; [ adolfogc yana ]; platforms = platforms.all; diff --git a/pkgs/development/libraries/re2/default.nix b/pkgs/development/libraries/re2/default.nix index 857da102bb8c..dafc91e6dcfa 100644 --- a/pkgs/development/libraries/re2/default.nix +++ b/pkgs/development/libraries/re2/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "re2"; - version = "2022-06-01"; + version = "2022-12-01"; src = fetchFromGitHub { owner = "google"; repo = "re2"; rev = version; - hash = "sha256-UontAjOXpnPcOgoFHjf+1WSbCR7h58/U7nn4meT200Y="; + hash = "sha256-RmPXfavSKVnnl/RJ5aTjc/GbkPz+EXiFg1n5e4s6wjw="; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/science/math/magma/default.nix b/pkgs/development/libraries/science/math/magma/default.nix index 05d7d4fa1842..06b4e12d04e7 100644 --- a/pkgs/development/libraries/science/math/magma/default.nix +++ b/pkgs/development/libraries/science/math/magma/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchurl, cmake, gfortran, ninja, cudaPackages, libpthreadstubs, lapack, blas }: let - inherit (cudaPackages) cudatoolkit; + inherit (cudaPackages) cudatoolkit cudaFlags; in assert let majorIs = lib.versions.major cudatoolkit.version; @@ -10,36 +10,6 @@ assert let majorIs = lib.versions.major cudatoolkit.version; let version = "2.6.2"; - # We define a specific set of CUDA compute capabilities here, - # because CUDA 11 does not support compute capability 3.0. Also, - # we use it to enable newer capabilities that are not enabled - # by magma by default. The list of supported architectures - # can be found in magma's top-level CMakeLists.txt. - cudaCapabilities = rec { - cuda9 = [ - "Kepler" # 3.0, 3.5 - "Maxwell" # 5.0 - "Pascal" # 6.0 - "Volta" # 7.0 - ]; - - cuda10 = [ - "Turing" # 7.5 - ] ++ cuda9; - - cuda11 = [ - "sm_35" # sm_30 is not supported by CUDA 11 - "Maxwell" # 5.0 - "Pascal" # 6.0 - "Volta" # 7.0 - "Turing" # 7.5 - "Ampere" # 8.0 - ]; - }; - - capabilityString = lib.strings.concatStringsSep "," - cudaCapabilities."cuda${lib.versions.major cudatoolkit.version}"; - in stdenv.mkDerivation { pname = "magma"; inherit version; @@ -53,7 +23,9 @@ in stdenv.mkDerivation { buildInputs = [ cudatoolkit libpthreadstubs lapack blas ]; - cmakeFlags = [ "-DGPU_TARGET=${capabilityString}" ]; + cmakeFlags = [ + "-DGPU_TARGET=${builtins.concatStringsSep "," cudaFlags.cudaRealArchs}" + ]; doCheck = false; diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix index b432739beccc..e5ea8b17f6aa 100644 --- a/pkgs/development/libraries/tracker/default.nix +++ b/pkgs/development/libraries/tracker/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchurl -, fetchpatch , gettext , meson , ninja @@ -30,23 +29,15 @@ stdenv.mkDerivation rec { pname = "tracker"; - version = "3.4.1"; + version = "3.4.2"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "6p1BqfucK0KtgPwsgjJ7XHE9WUyWmwnhpJvmP7dPT64="; + sha256 = "Tm3xQqT3BIePypjrtaIkdQ5epUaqKqq6pyanNUC9FzE="; }; - patches = [ - # Backport compatibility fix for newer SQLite. - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/552.patch"; - sha256 = "1pmhhj47dbn654vb6a0kh5h6hw71lvaqxr141r60zrv5zx7m3sh9"; - }) - ]; - postPatch = '' patchShebangs utils/data-generators/cc/generate ''; diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix index d9257b7dec6f..1d4b62788935 100644 --- a/pkgs/development/libraries/wayland/protocols.nix +++ b/pkgs/development/libraries/wayland/protocols.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "wayland-protocols"; - version = "1.30"; + version = "1.31"; doCheck = stdenv.hostPlatform == stdenv.buildPlatform; src = fetchurl { url = "https://gitlab.freedesktop.org/wayland/${pname}/-/releases/${version}/downloads/${pname}-${version}.tar.xz"; - hash = "sha256-PBSY+2X9K4CwN21+h88hXmrpV7LM26XaRaRIcYgxvGA="; + hash = "sha256-oH+nIu2HZ27AINhncUvJovJMRk2nORLzlwbu71IZ4jg="; }; postPatch = lib.optionalString doCheck '' diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix index b4a7777b8911..92f7f11170f6 100644 --- a/pkgs/development/libraries/x265/default.nix +++ b/pkgs/development/libraries/x265/default.nix @@ -34,6 +34,8 @@ let (mkFlag ppaSupport "ENABLE_PPA") (mkFlag vtuneSupport "ENABLE_VTUNE") (mkFlag werrorSupport "WARNINGS_AS_ERRORS") + # Potentially riscv cross could be fixed by providing the correct CMAKE_SYSTEM_PROCESSOR flag + (mkFlag (with stdenv; !(isCross && hostPlatform.isRiscV || isDarwin && isAarch64)) "ENABLE_ASSEMBLY") ]; cmakeStaticLibFlags = [ diff --git a/pkgs/development/mobile/androidenv/compose-android-packages.nix b/pkgs/development/mobile/androidenv/compose-android-packages.nix index 6f3cd94a7791..e6e29aa98479 100644 --- a/pkgs/development/mobile/androidenv/compose-android-packages.nix +++ b/pkgs/development/mobile/androidenv/compose-android-packages.nix @@ -123,7 +123,7 @@ rec { build-tools = map (version: callPackage ./build-tools.nix { - inherit deployAndroidPackage; + inherit deployAndroidPackage os; package = packages.build-tools.${version}; } ) buildToolsVersions; diff --git a/pkgs/development/ocaml-modules/apron/default.nix b/pkgs/development/ocaml-modules/apron/default.nix index bfef3d5b6c66..c74545caf24f 100644 --- a/pkgs/development/ocaml-modules/apron/default.nix +++ b/pkgs/development/ocaml-modules/apron/default.nix @@ -1,4 +1,6 @@ -{ stdenv, lib, fetchFromGitHub, perl, gmp, mpfr, ppl, ocaml, findlib, camlidl, mlgmpidl }: +{ stdenv, lib, fetchFromGitHub, perl, gmp, mpfr, ppl, ocaml, findlib, camlidl, mlgmpidl +, gnumake42 +}: stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-apron"; @@ -10,7 +12,8 @@ stdenv.mkDerivation rec { sha256 = "14ymjahqdxj26da8wik9d5dzlxn81b3z1iggdl7rn2nn06jy7lvy"; }; - nativeBuildInputs = [ ocaml findlib perl ]; + # fails with make 4.4 + nativeBuildInputs = [ ocaml findlib perl gnumake42 ]; buildInputs = [ gmp mpfr ppl camlidl ]; propagatedBuildInputs = [ mlgmpidl ]; diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix index 9a4bf801d1e5..96dbd071fdef 100644 --- a/pkgs/development/ocaml-modules/lablgtk/default.nix +++ b/pkgs/development/ocaml-modules/lablgtk/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, fetchFromGitHub, ocaml, findlib, pkg-config, gtk2, libgnomecanvas, gtksourceview -, camlp-streams +, camlp-streams, gnumake42 }: let param = @@ -32,7 +32,8 @@ stdenv.mkDerivation { pname = "ocaml${ocaml.version}-lablgtk"; inherit (param) version src NIX_CFLAGS_COMPILE; - nativeBuildInputs = [ pkg-config ocaml findlib ]; + # gnumake42: https://github.com/garrigue/lablgtk/issues/162 + nativeBuildInputs = [ pkg-config ocaml findlib gnumake42 ]; buildInputs = [ gtk2 libgnomecanvas gtksourceview ] ++ param.buildInputs or []; diff --git a/pkgs/development/ocaml-modules/lru/default.nix b/pkgs/development/ocaml-modules/lru/default.nix index ec78ec91012c..678023bb8f3d 100644 --- a/pkgs/development/ocaml-modules/lru/default.nix +++ b/pkgs/development/ocaml-modules/lru/default.nix @@ -2,13 +2,11 @@ buildDunePackage rec { pname = "lru"; - version = "0.3.0"; - - useDune2 = true; + version = "0.3.1"; src = fetchurl { - url = "https://github.com/pqwy/lru/releases/download/v${version}/lru-v${version}.tbz"; - sha256 = "1ab9rd7cq15ml8x0wjl44wy99h5z7x4g9vkkz4i2d7n84ghy7vw4"; + url = "https://github.com/pqwy/lru/releases/download/v${version}/lru-${version}.tbz"; + hash = "sha256-bL4j0np9WyRPhpwLiBQNR/cPQTpkYu81wACTJdSyNv0="; }; propagatedBuildInputs = [ psq ]; diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix index edbb16b0063c..6876727a0c2f 100644 --- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix +++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "adafruit-platformdetect"; - version = "3.37.0"; + version = "3.38.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "Adafruit-PlatformDetect"; inherit version; - hash = "sha256-vhBx/NABOD2patBzI15XZqbTTtbf3rTUIDx1sYg+yYg="; + hash = "sha256-USnOf/nwuAyZpvy/cXpQtkWKXPKu0hj1HFwolrpecQM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/afsapi/default.nix b/pkgs/development/python-modules/afsapi/default.nix index 323c0a225312..ab9d8f1abe1d 100644 --- a/pkgs/development/python-modules/afsapi/default.nix +++ b/pkgs/development/python-modules/afsapi/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "afsapi"; - version = "0.2.7"; + version = "0.2.8"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "wlcrs"; repo = "python-afsapi"; rev = "refs/tags/${version}"; - hash = "sha256-TTZk/8mfG5lBr8SyMbqSaYDskWKnUlMkAUp94DXPCKo="; + hash = "sha256-eE5BsXNtSU6YUhRn4/SKpMrqaYf8tyfLKdxxGOmNJ9I="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; @@ -50,6 +50,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python implementation of the Frontier Silicon API"; homepage = "https://github.com/wlcrs/python-afsapi"; + changelog = "https://github.com/wlcrs/python-afsapi/releases/tag/${version}"; license = licenses.asl20; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/aiocontextvars/default.nix b/pkgs/development/python-modules/aiocontextvars/default.nix index dc70baab9e5c..f673e86bbacc 100644 --- a/pkgs/development/python-modules/aiocontextvars/default.nix +++ b/pkgs/development/python-modules/aiocontextvars/default.nix @@ -2,17 +2,16 @@ , buildPythonPackage , fetchFromGitHub , pytest-runner -, pytest +, pytestCheckHook , pytest-asyncio -, contextvars , sqlalchemy , isPy27 -, pythonOlder }: buildPythonPackage rec { pname = "aiocontextvars"; version = "0.2.2"; + format = "setuptools"; disabled = isPy27; src = fetchFromGitHub { @@ -26,18 +25,14 @@ buildPythonPackage rec { pytest-runner ]; - checkInputs = [ - pytest - pytest-asyncio - ]; - propagatedBuildInputs = [ sqlalchemy - ] ++ lib.optionals (pythonOlder "3.7") [ contextvars ]; + ]; - checkPhase = '' - pytest - ''; + checkInputs = [ + pytestCheckHook + pytest-asyncio + ]; meta = with lib; { description = "Asyncio support for PEP-567 contextvars backport"; diff --git a/pkgs/development/python-modules/apache-airflow/default.nix b/pkgs/development/python-modules/apache-airflow/default.nix index 463890c61ebc..cbedbeb70dca 100644 --- a/pkgs/development/python-modules/apache-airflow/default.nix +++ b/pkgs/development/python-modules/apache-airflow/default.nix @@ -16,7 +16,6 @@ , cron-descriptor , croniter , cryptography -, dataclasses , deprecated , dill , flask @@ -137,7 +136,7 @@ buildPythonPackage rec { inherit version; src = airflow-src; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; propagatedBuildInputs = [ alembic @@ -203,8 +202,6 @@ buildPythonPackage rec { typing-extensions unicodecsv werkzeug - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ] ++ lib.optionals (pythonOlder "3.9") [ importlib-metadata ] ++ providerDependencies; diff --git a/pkgs/development/python-modules/azure-core/default.nix b/pkgs/development/python-modules/azure-core/default.nix index 75cf39587615..4e9329f22603 100644 --- a/pkgs/development/python-modules/azure-core/default.nix +++ b/pkgs/development/python-modules/azure-core/default.nix @@ -21,6 +21,8 @@ buildPythonPackage rec { pname = "azure-core"; disabled = pythonOlder "3.6"; + __darwinAllowLocalNetworking = true; + src = fetchPypi { inherit pname version; extension = "zip"; diff --git a/pkgs/development/python-modules/azure-mgmt-network/default.nix b/pkgs/development/python-modules/azure-mgmt-network/default.nix index 7f09c490cb9f..e864cefb2327 100644 --- a/pkgs/development/python-modules/azure-mgmt-network/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-network/default.nix @@ -9,7 +9,7 @@ }: buildPythonPackage rec { - version = "22.0.0"; + version = "22.2.0"; pname = "azure-mgmt-network"; format = "setuptools"; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; extension = "zip"; - hash = "sha256-qXWmZuiYA6BwFP/uydPi8mV68WlXrJlwP9eiTk+q1Ak="; + hash = "sha256-491E1Q59dYFkH5QniR+S5eoiiL/ACwLe+fgYob8/jG4="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/pkgs/development/python-modules/azure-mgmt-resource/default.nix index 79923b254d32..fbabb64a0555 100644 --- a/pkgs/development/python-modules/azure-mgmt-resource/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-resource/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "azure-mgmt-resource"; - version = "21.2.1"; + version = "22.0.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; extension = "zip"; - hash = "sha256-vSBg1WOT/+Ykao8spn51Tt0D7Ae5dWMLMK4DqIYFl6c="; + hash = "sha256-/rXZeeGLUvLP0CO0oKM+VKb3bMaiUtyM117OLGMpjpQ="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/backports-datetime-fromisoformat/default.nix b/pkgs/development/python-modules/backports-datetime-fromisoformat/default.nix index 7db161b86110..40014adb9088 100644 --- a/pkgs/development/python-modules/backports-datetime-fromisoformat/default.nix +++ b/pkgs/development/python-modules/backports-datetime-fromisoformat/default.nix @@ -1,21 +1,34 @@ -{ lib, buildPythonPackage, fetchPypi }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytz +, unittestCheckHook +}: buildPythonPackage rec { pname = "backports-datetime-fromisoformat"; - version = "1.0.0"; + version = "2.0.0"; + format = "setuptools"; - src = fetchPypi { - inherit pname version; - sha256 = "0p0gyhfqq6gssf3prsy0pcfq5w0wx2w3pcjqbwx3imvc92ls4xwm"; + src = fetchFromGitHub { + owner = "movermeyer"; + repo = "backports.datetime_fromisoformat"; + rev = "refs/tags/v${version}"; + hash = "sha256-aHF3E/fLN+j/T4W9lvuVSMy6iRSEn+ARWmL01rY+ixs="; }; - # no tests in pypi package - doCheck = false; + checkInputs = [ + pytz + unittestCheckHook + ]; - pythonImportsCheck = [ "backports.datetime_fromisoformat" ]; + pythonImportsCheck = [ + "backports.datetime_fromisoformat" + ]; meta = with lib; { - description = "Backport of Python 3.7's datetime.fromisoformat"; + changelog = "https://github.com/movermeyer/backports.datetime_fromisoformat/releases/tag/v${version}"; + description = "Backport of Python 3.11's datetime.fromisoformat"; homepage = "https://github.com/movermeyer/backports.datetime_fromisoformat"; license = licenses.mit; maintainers = with maintainers; [ SuperSandro2000 ]; diff --git a/pkgs/development/python-modules/backports-entry-points-selectable/default.nix b/pkgs/development/python-modules/backports-entry-points-selectable/default.nix index 84618e8da1d8..9ff04e0e5038 100644 --- a/pkgs/development/python-modules/backports-entry-points-selectable/default.nix +++ b/pkgs/development/python-modules/backports-entry-points-selectable/default.nix @@ -1,16 +1,27 @@ -{ lib, buildPythonPackage, fetchPypi, pythonOlder, setuptools-scm, importlib-metadata }: +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, setuptools-scm +, importlib-metadata +}: buildPythonPackage rec { pname = "backports-entry-points-selectable"; - version = "1.1.1"; + version = "1.2.0"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; src = fetchPypi { pname = "backports.entry_points_selectable"; inherit version; - sha256 = "914b21a479fde881635f7af5adc7f6e38d6b274be32269070c53b698c60d5386"; + hash = "sha256-Rwb1kXllfKfB0yWlQ+4TcPj0YzH0MrysYvqyQv3wr6U="; }; - nativeBuildInputs = [ setuptools-scm ]; + nativeBuildInputs = [ + setuptools-scm + ]; propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [ importlib-metadata @@ -24,6 +35,7 @@ buildPythonPackage rec { pythonNamespaces = [ "backports" ]; meta = with lib; { + changelog = "https://github.com/jaraco/backports.entry_points_selectable/blob/v${version}/CHANGES.rst"; description = "Compatibility shim providing selectable entry points for older implementations"; homepage = "https://github.com/jaraco/backports.entry_points_selectable"; license = licenses.mit; diff --git a/pkgs/development/python-modules/backports_abc/default.nix b/pkgs/development/python-modules/backports_abc/default.nix deleted file mode 100644 index 684626c0780f..000000000000 --- a/pkgs/development/python-modules/backports_abc/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ lib -, buildPythonPackage -, fetchPypi -, unittestCheckHook -}: - -buildPythonPackage rec { - pname = "backports_abc"; - version = "0.5"; - - src = fetchPypi { - inherit pname version; - sha256 = "033be54514a03e255df75c5aee8f9e672f663f93abb723444caec8fe43437bde"; - }; - - checkInputs = [ unittestCheckHook ]; - - meta = { - homepage = "https://github.com/cython/backports_abc"; - license = lib.licenses.psfl; - description = "A backport of recent additions to the 'collections.abc' module"; - }; -} diff --git a/pkgs/development/python-modules/backports_ssl_match_hostname/default.nix b/pkgs/development/python-modules/backports_ssl_match_hostname/default.nix deleted file mode 100644 index a7403e16123a..000000000000 --- a/pkgs/development/python-modules/backports_ssl_match_hostname/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ lib, buildPythonPackage, fetchPypi, pythonAtLeast }: - -buildPythonPackage rec { - pname = "backports.ssl_match_hostname"; - version = "3.7.0.1"; - disabled = pythonAtLeast "3.7"; - - src = fetchPypi { - inherit pname version; - sha256 = "bb82e60f9fbf4c080eabd957c39f0641f0fc247d9a16e31e26d594d8f42b9fd2"; - }; - - meta = with lib; { - description = "The Secure Sockets layer is only actually *secure*"; - homepage = "https://bitbucket.org/brandon/backports.ssl_match_hostname"; - license = licenses.psfl; - }; -} diff --git a/pkgs/development/python-modules/betterproto/default.nix b/pkgs/development/python-modules/betterproto/default.nix index b49204ee8c44..e8b49dd839ae 100644 --- a/pkgs/development/python-modules/betterproto/default.nix +++ b/pkgs/development/python-modules/betterproto/default.nix @@ -5,7 +5,6 @@ , poetry-core , grpclib , python-dateutil -, dataclasses , black , jinja2 , isort @@ -21,7 +20,7 @@ buildPythonPackage rec { pname = "betterproto"; version = "2.0.0b5"; format = "pyproject"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "danielgtaylor"; @@ -35,8 +34,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ grpclib python-dateutil - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; passthru.optional-dependencies.compiler = [ diff --git a/pkgs/development/python-modules/bpython/default.nix b/pkgs/development/python-modules/bpython/default.nix index f919d5cabe29..56c30df15eec 100644 --- a/pkgs/development/python-modules/bpython/default.nix +++ b/pkgs/development/python-modules/bpython/default.nix @@ -3,7 +3,6 @@ , fetchPypi , curtsies , cwcwidth -, dataclasses , greenlet , jedi , pygments @@ -23,7 +22,7 @@ buildPythonPackage rec { version = "0.23"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -42,8 +41,6 @@ buildPythonPackage rec { typing-extensions urwid watchdog - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; postInstall = '' diff --git a/pkgs/development/python-modules/brother/default.nix b/pkgs/development/python-modules/brother/default.nix index 297f1161fe2a..75ea728a0eae 100644 --- a/pkgs/development/python-modules/brother/default.nix +++ b/pkgs/development/python-modules/brother/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "brother"; - version = "2.0.0"; + version = "2.1.1"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "bieniu"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-pk9VBFha2NfQWI+fbWwGKcGFa93eKr5Cqh85r1CAXpI="; + hash = "sha256-jMvbZ4/NOA3dnJUdDWk2KTRz1gBOC+oDE0ChGNdFl1o="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/cchardet/default.nix b/pkgs/development/python-modules/cchardet/default.nix index 587d0d1f6c12..1ec1ee57c1a7 100644 --- a/pkgs/development/python-modules/cchardet/default.nix +++ b/pkgs/development/python-modules/cchardet/default.nix @@ -2,19 +2,24 @@ , stdenv , buildPythonPackage , fetchPypi -, python +, cython , nose }: buildPythonPackage rec { pname = "cchardet"; version = "2.1.7"; + format = "setuptools"; src = fetchPypi { inherit pname version; sha256 = "c428b6336545053c2589f6caf24ea32276c6664cb86db817e03a94c60afa0eaf"; }; + nativeBuildInputs = [ + cython # pending https://github.com/PyYoshi/cChardet/pull/78 being released to PyPI + ]; + pythonImportsCheck = [ "cchardet" ]; diff --git a/pkgs/development/python-modules/certifi/default.nix b/pkgs/development/python-modules/certifi/default.nix index ecf7ed49aa5c..c80ba08503d4 100644 --- a/pkgs/development/python-modules/certifi/default.nix +++ b/pkgs/development/python-modules/certifi/default.nix @@ -1,5 +1,6 @@ { lib , buildPythonPackage +, cacert , pythonOlder , fetchFromGitHub , pytestCheckHook @@ -7,7 +8,7 @@ buildPythonPackage rec { pname = "certifi"; - version = "2022.09.24"; + version = "2022.12.07"; disabled = pythonOlder "3.6"; @@ -15,9 +16,25 @@ buildPythonPackage rec { owner = pname; repo = "python-certifi"; rev = version; - hash = "sha256-B6LO6AfG9cfpyNI7hj3VjmGTFsrrIkDYO4gPMkZY74w="; + hash = "sha256-r6TJ6YGL0cygz+F6g6wiqBfBa/QKhynZ92C6lHTZ2rI="; }; + patches = [ + # Add support for NIX_SSL_CERT_FILE + ./env.patch + ]; + + postPatch = '' + # Use our system-wide ca-bundle instead of the bundled one + rm -v "certifi/cacert.pem" + ln -snvf "${cacert}/etc/ssl/certs/ca-bundle.crt" "certifi/cacert.pem" + ''; + + propagatedNativeBuildInputs = [ + # propagate cacerts setup-hook to set up `NIX_SSL_CERT_FILE` + cacert + ]; + checkInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/certifi/env.patch b/pkgs/development/python-modules/certifi/env.patch new file mode 100644 index 000000000000..292f977ef2c0 --- /dev/null +++ b/pkgs/development/python-modules/certifi/env.patch @@ -0,0 +1,86 @@ +diff --git a/certifi/core.py b/certifi/core.py +index de02898..c033d20 100644 +--- a/certifi/core.py ++++ b/certifi/core.py +@@ -4,15 +4,25 @@ certifi.py + + This module returns the installation location of cacert.pem or its contents. + """ ++import os + import sys + + ++def get_cacert_path_from_environ(): ++ path = os.environ.get("NIX_SSL_CERT_FILE", None) ++ ++ if path == "/no-cert-file.crt": ++ return None ++ ++ return path ++ ++ + if sys.version_info >= (3, 11): + + from importlib.resources import as_file, files + + _CACERT_CTX = None +- _CACERT_PATH = None ++ _CACERT_PATH = get_cacert_path_from_environ() + + def where() -> str: + # This is slightly terrible, but we want to delay extracting the file +@@ -39,14 +49,16 @@ if sys.version_info >= (3, 11): + return _CACERT_PATH + + def contents() -> str: +- return files("certifi").joinpath("cacert.pem").read_text(encoding="ascii") ++ if _CACERT_PATH is not None: ++ return open(_CACERT_PATH, encoding="utf-8").read() ++ return files("certifi").joinpath("cacert.pem").read_text(encoding="utf-8") + + elif sys.version_info >= (3, 7): + + from importlib.resources import path as get_path, read_text + + _CACERT_CTX = None +- _CACERT_PATH = None ++ _CACERT_PATH = get_cacert_path_from_environ() + + def where() -> str: + # This is slightly terrible, but we want to delay extracting the +@@ -74,7 +86,9 @@ elif sys.version_info >= (3, 7): + return _CACERT_PATH + + def contents() -> str: +- return read_text("certifi", "cacert.pem", encoding="ascii") ++ if _CACERT_PATH is not None: ++ return open(_CACERT_PATH, encoding="utf-8").read() ++ return read_text("certifi", "cacert.pem", encoding="utf-8") + + else: + import os +@@ -84,6 +98,8 @@ else: + Package = Union[types.ModuleType, str] + Resource = Union[str, "os.PathLike"] + ++ _CACERT_PATH = get_cacert_path_from_environ() ++ + # This fallback will work for Python versions prior to 3.7 that lack the + # importlib.resources module but relies on the existing `where` function + # so won't address issues with environments like PyOxidizer that don't set +@@ -102,7 +118,14 @@ else: + def where() -> str: + f = os.path.dirname(__file__) + ++ if _CACERT_PATH is not None: ++ return _CACERT_PATH ++ + return os.path.join(f, "cacert.pem") + + def contents() -> str: +- return read_text("certifi", "cacert.pem", encoding="ascii") ++ if _CACERT_PATH is not None: ++ with open(_CACERT_PATH, encoding="utf-8") as data: ++ return data.read() ++ ++ return read_text("certifi", "cacert.pem", encoding="utf-8") diff --git a/pkgs/development/python-modules/cffi/darwin-use-libffi-closures.diff b/pkgs/development/python-modules/cffi/darwin-use-libffi-closures.diff new file mode 100644 index 000000000000..c48c8090dd46 --- /dev/null +++ b/pkgs/development/python-modules/cffi/darwin-use-libffi-closures.diff @@ -0,0 +1,21 @@ +diff -r bac92fcfe4d7 c/_cffi_backend.c +--- a/c/_cffi_backend.c Mon Jul 18 15:58:34 2022 +0200 ++++ b/c/_cffi_backend.c Sat Aug 20 12:38:31 2022 -0700 +@@ -96,7 +96,7 @@ + # define CFFI_CHECK_FFI_PREP_CIF_VAR 0 + # define CFFI_CHECK_FFI_PREP_CIF_VAR_MAYBE 0 + +-#elif defined(__APPLE__) && defined(FFI_AVAILABLE_APPLE) ++#elif defined(__APPLE__) + + # define CFFI_CHECK_FFI_CLOSURE_ALLOC __builtin_available(macos 10.15, ios 13, watchos 6, tvos 13, *) + # define CFFI_CHECK_FFI_CLOSURE_ALLOC_MAYBE 1 +@@ -6413,7 +6413,7 @@ + else + #endif + { +-#if defined(__APPLE__) && defined(FFI_AVAILABLE_APPLE) && !FFI_LEGACY_CLOSURE_API ++#if defined(__APPLE__) && !FFI_LEGACY_CLOSURE_API + PyErr_Format(PyExc_SystemError, "ffi_prep_closure_loc() is missing"); + goto error; + #else diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix index 52b9ab08fc4d..fb08761a5284 100644 --- a/pkgs/development/python-modules/cffi/default.nix +++ b/pkgs/development/python-modules/cffi/default.nix @@ -1,5 +1,14 @@ -{ lib, stdenv, buildPythonPackage, isPyPy, fetchPypi, pytestCheckHook, - libffi, pkg-config, pycparser, python, fetchpatch +{ lib +, stdenv +, buildPythonPackage +, isPyPy +, fetchPypi +, fetchpatch +, pytestCheckHook +, libffi +, pkg-config +, pycparser +, pythonAtLeast }: if isPyPy then null else buildPythonPackage rec { @@ -11,22 +20,27 @@ if isPyPy then null else buildPythonPackage rec { sha256 = "sha256-1AC/uaN7E1ElPLQCZxzqfom97MKU6AFqcH9tHYrJNPk="; }; - buildInputs = [ libffi ]; - - nativeBuildInputs = [ pkg-config ]; - - propagatedBuildInputs = [ pycparser ]; - - patches = + patches = [ + # + # Trusts the libffi library inside of nixpkgs on Apple devices. + # + # Based on some analysis I did: + # + # https://groups.google.com/g/python-cffi/c/xU0Usa8dvhk + # + # I believe that libffi already contains the code from Apple's fork that is + # deemed safe to trust in cffi. + # + ./darwin-use-libffi-closures.diff + ] ++ lib.optionals (pythonAtLeast "3.11") [ # Fix test that failed because python seems to have changed the exception format in the # final release. This patch should be included in the next version and can be removed when # it is released. - lib.optionals (python.pythonVersion == "3.11") [ - (fetchpatch { - url = "https://foss.heptapod.net/pypy/cffi/-/commit/8a3c2c816d789639b49d3ae867213393ed7abdff.diff"; - sha256 = "sha256-3wpZeBqN4D8IP+47QDGK7qh/9Z0Ag4lAe+H0R5xCb1E="; - }) - ]; + (fetchpatch { + url = "https://foss.heptapod.net/pypy/cffi/-/commit/8a3c2c816d789639b49d3ae867213393ed7abdff.diff"; + sha256 = "sha256-3wpZeBqN4D8IP+47QDGK7qh/9Z0Ag4lAe+H0R5xCb1E="; + }) + ]; postPatch = lib.optionalString stdenv.isDarwin '' # Remove setup.py impurities @@ -36,13 +50,17 @@ if isPyPy then null else buildPythonPackage rec { --replace '/usr/include/libffi' '${lib.getDev libffi}/include' ''; + buildInputs = [ libffi ]; + + nativeBuildInputs = [ pkg-config ]; + + propagatedBuildInputs = [ pycparser ]; + # The tests use -Werror but with python3.6 clang detects some unreachable code. NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument -Wno-unreachable-code -Wno-c++11-narrowing"; - # Lots of tests fail on aarch64-darwin due to "Cannot allocate write+execute memory": - # * https://cffi.readthedocs.io/en/latest/using.html#callbacks - doCheck = !stdenv.hostPlatform.isMusl && !(stdenv.isDarwin && stdenv.isAarch64); + doCheck = !stdenv.hostPlatform.isMusl; checkInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/ciso8601/default.nix b/pkgs/development/python-modules/ciso8601/default.nix index 79afe8500072..0c9a08d33a4f 100644 --- a/pkgs/development/python-modules/ciso8601/default.nix +++ b/pkgs/development/python-modules/ciso8601/default.nix @@ -1,14 +1,15 @@ { lib , buildPythonPackage , fetchFromGitHub +, setuptools +, pytestCheckHook , pytz -, unittest2 -, isPy27 }: buildPythonPackage rec { pname = "ciso8601"; version = "2.2.0"; + format = "pyproject"; src = fetchFromGitHub { owner = "closeio"; @@ -17,10 +18,17 @@ buildPythonPackage rec { sha256 = "sha256-TqB1tQDgCkXu+QuzP6yBEH/xHxhhD/kGR2S0I8Osc5E="; }; + nativeBuildInputs = [ + setuptools + ]; + checkInputs = [ + pytestCheckHook pytz - ] ++ lib.optionals (isPy27) [ - unittest2 + ]; + + pytestFlagsArray = [ + "tests/tests.py" ]; pythonImportsCheck = [ "ciso8601" ]; diff --git a/pkgs/development/python-modules/clickclick/default.nix b/pkgs/development/python-modules/clickclick/default.nix index 8aeb73bb25b2..00bf8aba4709 100644 --- a/pkgs/development/python-modules/clickclick/default.nix +++ b/pkgs/development/python-modules/clickclick/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchFromGitHub, isPy36, flake8, click, pyyaml, six, pytestCheckHook, pytest-cov }: +{ lib, buildPythonPackage, fetchFromGitHub, flake8, click, pyyaml, six, pytestCheckHook, pytest-cov }: buildPythonPackage rec { pname = "clickclick"; @@ -17,8 +17,6 @@ buildPythonPackage rec { # test_cli asserts on exact quoting style of output disabledTests = [ "test_cli" - ] ++ lib.optionals isPy36 [ - "test_choice_default" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/contextvars/default.nix b/pkgs/development/python-modules/contextvars/default.nix deleted file mode 100644 index 1eda85a6ffe2..000000000000 --- a/pkgs/development/python-modules/contextvars/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ lib, buildPythonPackage, fetchPypi, isPy36, immutables }: - -buildPythonPackage rec { - pname = "contextvars"; - version = "2.4"; - disabled = !isPy36; - - src = fetchPypi { - inherit pname version; - sha256 = "f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e"; - }; - - propagatedBuildInputs = [ immutables ]; - - meta = { - description = "A backport of the Python 3.7 contextvars module for Python 3.6"; - homepage = "https://github.com/MagicStack/contextvars"; - license = with lib.licenses; [ asl20 ]; - maintainers = with lib.maintainers; [ catern ]; - }; -} diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix index 0bbc30cd23c2..d5e4af33f601 100644 --- a/pkgs/development/python-modules/cryptography/default.nix +++ b/pkgs/development/python-modules/cryptography/default.nix @@ -27,19 +27,19 @@ let in buildPythonPackage rec { pname = "cryptography"; - version = "38.0.3"; # Also update the hash in vectors.nix + version = "38.0.4"; # Also update the hash in vectors.nix disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-v75u4ZYVsHqYsdIofWpgc/c0c1tJ7kWxEyTYXvxNXL0="; + hash = "sha256-F1wagYuHyayAu3N39VILfzGz7yoABOJCAxm+re22cpA="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; sourceRoot = "${pname}-${version}/${cargoRoot}"; name = "${pname}-${version}"; - hash = "sha256-lzHLW1N4hZj+nn08NZiPVM/X+SEcIsuZDjEOy0OOkSc="; + hash = "sha256-BN0kOblUwgHj5QBf52RY2Jx0nBn03lwoN1O5PEohbwY="; }; cargoRoot = "src/rust"; diff --git a/pkgs/development/python-modules/cryptography/vectors.nix b/pkgs/development/python-modules/cryptography/vectors.nix index f4573a79d102..4de95b000263 100644 --- a/pkgs/development/python-modules/cryptography/vectors.nix +++ b/pkgs/development/python-modules/cryptography/vectors.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "cryptography_vectors"; inherit version; - hash = "sha256-HNr9QvU0jXfk5+R5Gu/R9isWvVUqAnSvyTRlM/4y6SU="; + hash = "sha256-bsYmlb7F34ECiN3OrpmK5pHNuKFigI1svJYNPeuafbE="; }; # No tests included diff --git a/pkgs/development/python-modules/dataclasses/default.nix b/pkgs/development/python-modules/dataclasses/default.nix deleted file mode 100644 index c276e9d000b2..000000000000 --- a/pkgs/development/python-modules/dataclasses/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ lib, buildPythonPackage, fetchPypi, isPy36 }: - -buildPythonPackage rec { - pname = "dataclasses"; - version = "0.8"; - - # backport only works on Python 3.6, and is in the standard library in Python 3.7 - disabled = !isPy36; - - src = fetchPypi { - inherit pname version; - sha256 = "8479067f342acf957dc82ec415d355ab5edb7e7646b90dc6e2fd1d96ad084c97"; - }; - - meta = with lib; { - description = "An implementation of PEP 557: Data Classes"; - homepage = "https://github.com/ericvsmith/dataclasses"; - license = licenses.asl20; - maintainers = with maintainers; [ catern ]; - }; -} diff --git a/pkgs/development/python-modules/devtools/default.nix b/pkgs/development/python-modules/devtools/default.nix index 34004769b1fd..a6cc42dfe962 100644 --- a/pkgs/development/python-modules/devtools/default.nix +++ b/pkgs/development/python-modules/devtools/default.nix @@ -2,6 +2,7 @@ , asttokens , buildPythonPackage , executing +, hatchling , fetchFromGitHub , pygments , pytest-mock @@ -11,18 +12,22 @@ buildPythonPackage rec { pname = "devtools"; - version = "0.8.0"; - format = "setuptools"; + version = "0.10.0"; + format = "pyproject"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "samuelcolvin"; repo = "python-${pname}"; rev = "v${version}"; - sha256 = "0yavcbxzxi1nfa1k326gsl03y8sadi5z5acamwd8b1bsiv15p757"; + sha256 = "sha256-x9dL/FE94OixMAmjnmfzZUcYJBqE5P2AAIFsNJF0Fxo="; }; + nativeBuildInputs = [ + hatchling + ]; + propagatedBuildInputs = [ asttokens executing diff --git a/pkgs/development/python-modules/discogs-client/default.nix b/pkgs/development/python-modules/discogs-client/default.nix index 65463eca207a..c8be2979b3c3 100644 --- a/pkgs/development/python-modules/discogs-client/default.nix +++ b/pkgs/development/python-modules/discogs-client/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "discogs-client"; - version = "2.5"; + version = "2.6"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "joalla"; repo = "discogs_client"; rev = "refs/tags/v${version}"; - sha256 = "sha256-whLneq8RE1bok8jPlOteqIb5U07TvEa0O2mrzORp5HU="; + hash = "sha256-Si1EH5TalNC3BY7L/GqbGSCjDBWzbodB4NZlNayhZYs="; }; propagatedBuildInputs = [ @@ -39,6 +39,7 @@ buildPythonPackage rec { meta = with lib; { description = "Unofficial Python API client for Discogs"; homepage = "https://github.com/joalla/discogs_client"; + changelog = "https://github.com/joalla/discogs_client/releases/tag/v${version}"; license = licenses.bsd2; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/dnfile/default.nix b/pkgs/development/python-modules/dnfile/default.nix index 83ce068a760f..7bcfdf34c2de 100644 --- a/pkgs/development/python-modules/dnfile/default.nix +++ b/pkgs/development/python-modules/dnfile/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "dnfile"; - version = "0.12.0"; + version = "0.13.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "malwarefrank"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-r3DupEyMEXOFeSDo9k0LmGM/TGMbbpVW7zCoUA4oG8Y="; + hash = "sha256-TH30gEoxXkaDac6hJsGQFWzwDeqzdZ19HK8i/3Dlh8k="; fetchSubmodules = true; }; diff --git a/pkgs/development/python-modules/dockerfile-parse/default.nix b/pkgs/development/python-modules/dockerfile-parse/default.nix index 55ff20803b26..846e85fed33f 100644 --- a/pkgs/development/python-modules/dockerfile-parse/default.nix +++ b/pkgs/development/python-modules/dockerfile-parse/default.nix @@ -1,27 +1,22 @@ { lib , buildPythonPackage , fetchPypi -, six , pytestCheckHook , pythonOlder }: buildPythonPackage rec { pname = "dockerfile-parse"; - version = "1.2.0"; + version = "2.0.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-B+Ze7DE5eOh32oGYVYcLOuR/P6yUpAqWW57eEEhNrMU="; + hash = "sha256-If59UQZC8rYamZ1Fw9l0X5UOEf5rokl1Vbj2N4K3jkU="; }; - propagatedBuildInputs = [ - six - ]; - checkInputs = [ pytestCheckHook ]; @@ -38,6 +33,7 @@ buildPythonPackage rec { meta = with lib; { description = "Library for parsing Dockerfile files"; homepage = "https://github.com/DBuildService/dockerfile-parse"; + changelog = "https://github.com/containerbuildsystem/dockerfile-parse/releases/tag/${version}"; license = licenses.bsd3; maintainers = with maintainers; [ leenaars ]; }; diff --git a/pkgs/development/python-modules/easysnmp/default.nix b/pkgs/development/python-modules/easysnmp/default.nix deleted file mode 100644 index c55bf52a6643..000000000000 --- a/pkgs/development/python-modules/easysnmp/default.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ lib -, buildPythonPackage -, pythonAtLeast -, fetchFromGitHub -, net-snmp -, openssl -, pytest -, pytest-cov -, pytest-flake8 -, pytest-sugar -, termcolor -}: - -buildPythonPackage rec { - pname = "easysnmp"; - version = "0.2.5"; - - # See https://github.com/kamakazikamikaze/easysnmp/issues/108 - disabled = pythonAtLeast "3.7"; - - src = fetchFromGitHub { - owner = "kamakazikamikaze"; - repo = pname; - rev = version; - sha256 = "1si9iyxqj6z22jzn6m93lwpinsqn20lix2py3jm3g3fmwawkd735"; - }; - - checkInputs = [ - pytest - pytest-cov - pytest-flake8 - pytest-sugar - termcolor - ]; - - buildInputs = [ - net-snmp - openssl - ]; - - buildPhase = '' - python setup.py build bdist_wheel --basedir=${lib.getBin net-snmp}/bin - ''; - - # Unable to get tests to pass, even running by hand. The pytest tests have - # become stale. - doCheck = false; - - meta = with lib; { - description = "A blazingly fast and Pythonic SNMP library based on the official Net-SNMP bindings"; - homepage = "https://easysnmp.readthedocs.io/en/latest/"; - license = licenses.bsd3; - maintainers = with maintainers; [ WhittlesJr ]; - }; -} diff --git a/pkgs/development/python-modules/exceptiongroup/default.nix b/pkgs/development/python-modules/exceptiongroup/default.nix index 96ce96e27f08..865e14f8e506 100644 --- a/pkgs/development/python-modules/exceptiongroup/default.nix +++ b/pkgs/development/python-modules/exceptiongroup/default.nix @@ -1,30 +1,34 @@ { lib , buildPythonPackage -, fetchPypi -, flit-core +, fetchFromGitHub +, flit-scm , pytestCheckHook , pythonOlder }: buildPythonPackage rec { pname = "exceptiongroup"; - version = "1.0.1"; - format = "flit"; + version = "1.0.4"; + format = "pyproject"; disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - hash = "sha256-c4Zvf4Qu3myx2qQsSvB44gNeX3YH8OLHYsxRuzG757I="; + src = fetchFromGitHub { + owner = "agronholm"; + repo = "exceptiongroup"; + rev = version; + hash = "sha256-csyDWVvcsAMzgomb0xq0NbVP7qYQpDv9obBGANlwiVI="; }; nativeBuildInputs = [ - flit-core + flit-scm ]; - # Tests are only in the source available but tagged releases - # are incomplete as files are generated during the release process - doCheck = false; + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + checkInputs = [ + pytestCheckHook + ]; pythonImportsCheck = [ "exceptiongroup" @@ -33,6 +37,7 @@ buildPythonPackage rec { meta = with lib; { description = "Backport of PEP 654 (exception groups)"; homepage = "https://github.com/agronholm/exceptiongroup"; + changelog = "https://github.com/agronholm/exceptiongroup/blob/${version}/CHANGES.rst"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/exchangelib/default.nix b/pkgs/development/python-modules/exchangelib/default.nix index 381cb282db99..4befeed6586a 100644 --- a/pkgs/development/python-modules/exchangelib/default.nix +++ b/pkgs/development/python-modules/exchangelib/default.nix @@ -45,6 +45,12 @@ buildPythonPackage rec { url = "https://github.com/ecederstrand/exchangelib/commit/d5d386f54adec8ab02f871332b89e1176c214ba2.diff"; hash = "sha256-E3Ys6IDJ/yMsvi+1GKbwckkhbNrc9JLM/+GrPtUz+mY="; }) + (fetchpatch { + name = "tests-timezones-2.patch"; + url = "https://github.com/ecederstrand/exchangelib/commit/419eafcd9261bfd0617823ee437204d5556a8271.diff"; + excludes = [ "tests/test_ewsdatetime.py" ]; + hash = "sha256-dSp6NkNT5dHOg8XgDi8sR3t3hq46sNtPjUXva2YfFSU="; + }) ]; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/executing/default.nix b/pkgs/development/python-modules/executing/default.nix index 1a6664df6712..0c7cbf276318 100644 --- a/pkgs/development/python-modules/executing/default.nix +++ b/pkgs/development/python-modules/executing/default.nix @@ -3,18 +3,22 @@ , buildPythonPackage , fetchFromGitHub , setuptools-scm +, pytestCheckHook +, littleutils +, pythonAtLeast +, rich }: buildPythonPackage rec { pname = "executing"; - version = "0.8.2"; - format = "setuptools"; + version = "1.2.0"; + format = "pyproject"; src = fetchFromGitHub { owner = "alexmojaki"; repo = pname; rev = "v${version}"; - sha256 = "sha256-CDZQ9DONn7M+2/GtmM2G6nQPpI9dOd0ca+2F1PGRwO4="; + sha256 = "sha256-3M3uSJ5xQ5Ciy8Lz21u9zjju/7SBSFHobCqSiJ6AP8M="; }; nativeBuildInputs = [ @@ -25,10 +29,12 @@ buildPythonPackage rec { export SETUPTOOLS_SCM_PRETEND_VERSION="${version}" ''; - # Tests appear to run fine (Ran 22 tests in 4.076s) with setuptoolsCheckPhase - # but crash with pytestCheckHook checkInputs = [ + pytestCheckHook asttokens + littleutils + ] ++ lib.optionals (pythonAtLeast "3.11") [ + rich ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/eyed3/default.nix b/pkgs/development/python-modules/eyed3/default.nix index 7adbba522e9b..2b5cc5afba75 100644 --- a/pkgs/development/python-modules/eyed3/default.nix +++ b/pkgs/development/python-modules/eyed3/default.nix @@ -1,13 +1,11 @@ { lib , buildPythonPackage , fetchPypi -, pythonOlder , python , isPyPy , six , filetype , deprecation -, dataclasses }: buildPythonPackage rec { @@ -25,8 +23,10 @@ buildPythonPackage rec { doCheck = false; propagatedBuildInputs = [ - six filetype deprecation - ] ++ lib.optional (pythonOlder "3.7") dataclasses; + deprecation + filetype + six + ]; postInstall = '' for prog in "$out/bin/"*; do diff --git a/pkgs/development/python-modules/faraday-plugins/default.nix b/pkgs/development/python-modules/faraday-plugins/default.nix index 2807584c63db..34bc3b384ec5 100644 --- a/pkgs/development/python-modules/faraday-plugins/default.nix +++ b/pkgs/development/python-modules/faraday-plugins/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "faraday-plugins"; - version = "1.8.1"; + version = "1.9.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "infobyte"; repo = "faraday_plugins"; rev = "refs/tags/${version}"; - hash = "sha256-UnOIYYmOeBX22jQ4MkDxQKtSlxv+H/KOC83BZ39JA1E="; + hash = "sha256-ZWPImBqBpiz3y4OpDZLCfL3Oe/J+qP1Hduas3p0unCg="; }; postPatch = '' diff --git a/pkgs/development/python-modules/foolscap/default.nix b/pkgs/development/python-modules/foolscap/default.nix index ea0c17d5524a..09b85c12753e 100644 --- a/pkgs/development/python-modules/foolscap/default.nix +++ b/pkgs/development/python-modules/foolscap/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchPypi +, fetchpatch , mock , pyopenssl , pytestCheckHook @@ -17,6 +18,14 @@ buildPythonPackage rec { sha256 = "sha256-6dGFU4YNk1joXXZi2c2L84JtUbTs1ICgXfv0/EU2P4Q="; }; + patches = [ + (fetchpatch { + name = "fix-tests-with-twisted-22.10.0.patch"; + url = "https://github.com/warner/foolscap/commit/c04202eb5d4cf052e650ec2985ea6037605fd79e.patch"; + hash = "sha256-RldDc18n3WYHdYg0ZmM8PBffIuiGa1NIfdoHs3mEEfc="; + }) + ]; + propagatedBuildInputs = [ mock twisted diff --git a/pkgs/development/python-modules/gruut/default.nix b/pkgs/development/python-modules/gruut/default.nix index f36c9daa12d8..f9c042582335 100644 --- a/pkgs/development/python-modules/gruut/default.nix +++ b/pkgs/development/python-modules/gruut/default.nix @@ -1,7 +1,6 @@ { lib , buildPythonPackage , callPackage -, pythonOlder , fetchFromGitHub , babel , gruut-ipa @@ -9,7 +8,6 @@ , jsonlines , num2words , python-crfsuite -, dataclasses , python , networkx , glibcLocales @@ -61,8 +59,6 @@ buildPythonPackage rec { python-crfsuite dateparser networkx - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ] ++ (map (lang: callPackage ./language-pack.nix { inherit lang version format src; }) langPkgs); diff --git a/pkgs/development/python-modules/h11/default.nix b/pkgs/development/python-modules/h11/default.nix index 98dd8eef6cbd..4f34ca2daafb 100644 --- a/pkgs/development/python-modules/h11/default.nix +++ b/pkgs/development/python-modules/h11/default.nix @@ -3,16 +3,19 @@ , fetchPypi , pytestCheckHook , pythonOlder +, httpcore +, httpx +, wsproto }: buildPythonPackage rec { pname = "h11"; - version = "0.13.0"; + version = "0.14.0"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-cIE8ETUIeiSKTTjMDhoBgf+rIYgUGpPq9WeUDDlX/wY="; + sha256 = "sha256-jxn7vpnnJCD/NcALJ6NMuZN+kCqLgQ4siDAMbwo7aZ0="; }; checkInputs = [ pytestCheckHook ]; @@ -20,6 +23,10 @@ buildPythonPackage rec { # Some of the tests use localhost networking. __darwinAllowLocalNetworking = true; + passthru.tests = { + inherit httpcore httpx wsproto; + }; + meta = with lib; { description = "Pure-Python, bring-your-own-I/O implementation of HTTP/1.1"; homepage = "https://github.com/python-hyper/h11"; diff --git a/pkgs/development/python-modules/httpcore/default.nix b/pkgs/development/python-modules/httpcore/default.nix index 5016ece96f2f..61a3b8d73235 100644 --- a/pkgs/development/python-modules/httpcore/default.nix +++ b/pkgs/development/python-modules/httpcore/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "httpcore"; - version = "0.15.0"; + version = "0.16.2"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -26,14 +26,9 @@ buildPythonPackage rec { owner = "encode"; repo = pname; rev = version; - hash = "sha256-FF3Yzac9nkVcA5bHVOz2ymvOelSfJ0K6oU8UWpBDcmo="; + hash = "sha256-bwGZ/B0jlvc1BmXVTo7gMP6PJIQuCHclkHjKQCgMsyU="; }; - postPatch = '' - substituteInPlace setup.py \ - --replace "h11>=0.11,<0.13" "h11>=0.11,<0.14" - ''; - propagatedBuildInputs = [ anyio certifi @@ -63,6 +58,12 @@ buildPythonPackage rec { "httpcore" ]; + preCheck = '' + # remove upstreams pytest flags which cause: + # httpcore.ConnectError: TLS/SSL connection has been closed (EOF) (_ssl.c:997) + rm setup.cfg + ''; + pytestFlagsArray = [ "--asyncio-mode=strict" ]; diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix index 4085a2e0893f..104fabd2c50c 100644 --- a/pkgs/development/python-modules/httpx/default.nix +++ b/pkgs/development/python-modules/httpx/default.nix @@ -8,8 +8,11 @@ , click , fetchFromGitHub , h2 +, hatch-fancy-pypi-readme +, hatchling , httpcore , isPyPy +, multipart , pygments , python , pythonOlder @@ -26,8 +29,8 @@ buildPythonPackage rec { pname = "httpx"; - version = "0.23.0"; - format = "setuptools"; + version = "0.23.1"; + format = "pyproject"; disabled = pythonOlder "3.7"; @@ -35,9 +38,14 @@ buildPythonPackage rec { owner = "encode"; repo = pname; rev = version; - hash = "sha256-s11Yeizm3y3w5D6ACQ2wp/KJ0+1ALY/R71IlTP2pMC4="; + hash = "sha256-1gRBHbGFUkaFvVgHHoXfpo9j0L074SyevFwMY202+uk="; }; + nativeBuildInputs = [ + hatch-fancy-pypi-readme + hatchling + ]; + propagatedBuildInputs = [ certifi httpcore @@ -69,6 +77,7 @@ buildPythonPackage rec { checkInputs = [ chardet + multipart pytestCheckHook pytest-asyncio pytest-trio @@ -79,7 +88,7 @@ buildPythonPackage rec { ++ passthru.optional-dependencies.socks; postPatch = '' - substituteInPlace setup.py \ + substituteInPlace pyproject.toml \ --replace "rfc3986[idna2008]>=1.3,<2" "rfc3986>=1.3" ''; @@ -112,6 +121,7 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; meta = with lib; { + changelog = "https://github.com/encode/httpx/blob/${src.rev}/CHANGELOG.md"; description = "The next generation HTTP client"; homepage = "https://github.com/encode/httpx"; license = licenses.bsd3; diff --git a/pkgs/development/python-modules/ical/default.nix b/pkgs/development/python-modules/ical/default.nix index 9c12520e9718..e1bed7184287 100644 --- a/pkgs/development/python-modules/ical/default.nix +++ b/pkgs/development/python-modules/ical/default.nix @@ -44,6 +44,9 @@ buildPythonPackage rec { pytestCheckHook ]; + # https://github.com/allenporter/ical/issues/136 + disabledTests = [ "test_all_zoneinfo" ]; + pythonImportsCheck = [ "ical" ]; diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix index 86ac0542591e..149cb32cbdd8 100644 --- a/pkgs/development/python-modules/identify/default.nix +++ b/pkgs/development/python-modules/identify/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "identify"; - version = "2.5.9"; + version = "2.5.10"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "pre-commit"; repo = pname; rev = "v${version}"; - sha256 = "sha256-5ISxzOTTlA1EcBO5N6YtBEah0SRehGeVIONj30zOKk0="; + sha256 = "sha256-4/p2m2A+0RDxQZHAJFSqk4x49bMWQo4R3aDOu3jI6FQ="; }; checkInputs = [ diff --git a/pkgs/development/python-modules/ircrobots/default.nix b/pkgs/development/python-modules/ircrobots/default.nix index e16ac2449a7d..8351ff3d86be 100644 --- a/pkgs/development/python-modules/ircrobots/default.nix +++ b/pkgs/development/python-modules/ircrobots/default.nix @@ -5,7 +5,6 @@ , anyio , asyncio-rlock , asyncio-throttle -, dataclasses , ircstates , async_stagger , async-timeout @@ -15,7 +14,7 @@ buildPythonPackage rec { pname = "ircrobots"; version = "0.4.6"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "jesopo"; @@ -38,8 +37,6 @@ buildPythonPackage rec { ircstates async_stagger async-timeout - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; checkPhase = '' diff --git a/pkgs/development/python-modules/jaconv/default.nix b/pkgs/development/python-modules/jaconv/default.nix index 17f044dbd914..868d5b7c35e8 100644 --- a/pkgs/development/python-modules/jaconv/default.nix +++ b/pkgs/development/python-modules/jaconv/default.nix @@ -8,16 +8,16 @@ buildPythonPackage rec { pname = "jaconv"; - version = "0.3"; + version = "0.3.1"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "ikegami-yukino"; repo = pname; rev = "v${version}"; - sha256 = "rityHi1JWWlV7+sAxNrlbcmfHmORZWrMZqXTRlsclhQ="; + hash = "sha256-uzGHvklFHVoNloZauczgITeHQIgYQAfI9cjLWgG/vyI="; }; checkInputs = [ @@ -32,6 +32,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python Japanese character interconverter for Hiragana, Katakana, Hankaku and Zenkaku"; homepage = "https://github.com/ikegami-yukino/jaconv"; + changelog = "https://github.com/ikegami-yukino/jaconv/blob/v${version}/CHANGES.rst"; license = licenses.mit; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/jaxlib/default.nix b/pkgs/development/python-modules/jaxlib/default.nix index 37bfe4d739f8..4018655cc48e 100644 --- a/pkgs/development/python-modules/jaxlib/default.nix +++ b/pkgs/development/python-modules/jaxlib/default.nix @@ -41,7 +41,6 @@ , zlib # CUDA flags: -, cudaCapabilities ? [ "sm_35" "sm_50" "sm_60" "sm_70" "sm_75" "compute_80" ] , cudaSupport ? false , cudaPackages ? {} @@ -50,7 +49,7 @@ }: let - inherit (cudaPackages) cudatoolkit cudnn nccl; + inherit (cudaPackages) cudatoolkit cudaFlags cudnn nccl; pname = "jaxlib"; version = "0.3.22"; @@ -165,7 +164,7 @@ let build --action_env TF_CUDA_PATHS="${cudatoolkit_joined},${cudnn},${nccl}" build --action_env TF_CUDA_VERSION="${lib.versions.majorMinor cudatoolkit.version}" build --action_env TF_CUDNN_VERSION="${lib.versions.major cudnn.version}" - build:cuda --action_env TF_CUDA_COMPUTE_CAPABILITIES="${lib.concatStringsSep "," cudaCapabilities}" + build:cuda --action_env TF_CUDA_COMPUTE_CAPABILITIES="${cudaFlags.cudaRealCapabilitiesCommaString}" '' + '' CFG ''; diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix index 9b0b241c5ed1..08a1fa5ca5ea 100644 --- a/pkgs/development/python-modules/labelbox/default.nix +++ b/pkgs/development/python-modules/labelbox/default.nix @@ -2,7 +2,6 @@ , backoff , backports-datetime-fromisoformat , buildPythonPackage -, dataclasses , fetchFromGitHub , google-api-core , jinja2 @@ -20,7 +19,7 @@ buildPythonPackage rec { pname = "labelbox"; version = "3.24.1"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "Labelbox"; @@ -32,7 +31,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ backoff backports-datetime-fromisoformat - dataclasses google-api-core jinja2 ndjson diff --git a/pkgs/development/python-modules/mailcap-fix/default.nix b/pkgs/development/python-modules/mailcap-fix/default.nix index da735d9d048d..3d644bec3a93 100644 --- a/pkgs/development/python-modules/mailcap-fix/default.nix +++ b/pkgs/development/python-modules/mailcap-fix/default.nix @@ -1,13 +1,12 @@ { lib , buildPythonPackage , fetchPypi -, isPy36 }: buildPythonPackage rec { pname = "mailcap-fix"; version = "1.0.1"; - disabled = isPy36; # this fix is merged into python 3.6 + format = "setuptools"; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/multipart/default.nix b/pkgs/development/python-modules/multipart/default.nix new file mode 100644 index 000000000000..6d441843162d --- /dev/null +++ b/pkgs/development/python-modules/multipart/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildPythonPackage +, fetchPypi +, fetchpatch +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "multipart"; + version = "0.2.4"; + + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + sha256 = "06ba205360bc7096fefe618e4f1e9b2cdb890b4f2157053a81f386912a2522cb"; + }; + + patches = [ + (fetchpatch { + name = "dont-test-semicolon-separators-in-urlencoded-data.patch"; + url = "https://github.com/defnull/multipart/commit/4d4ac6b79c453918ebf40c690e8d57d982ee840b.patch"; + hash = "sha256-rMeMhQEhonWAHzy5M8Im5mL6km5a9O0CGVOV+T3UNqo="; + }) + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "multipart" ]; + + meta = { + description = "Parser for multipart/form-data"; + homepage = "https://github.com/defnull/multipart"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/pathy/default.nix b/pkgs/development/python-modules/pathy/default.nix index 30cdd782df2e..d937c0a43128 100644 --- a/pkgs/development/python-modules/pathy/default.nix +++ b/pkgs/development/python-modules/pathy/default.nix @@ -1,6 +1,5 @@ { lib , buildPythonPackage -, dataclasses , fetchPypi , fetchpatch , google-cloud-storage @@ -16,7 +15,7 @@ buildPythonPackage rec { version = "0.6.1"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -27,8 +26,6 @@ buildPythonPackage rec { smart-open typer google-cloud-storage - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; checkInputs = [ diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix index 7c398f4b2603..8fd12d1d3041 100644 --- a/pkgs/development/python-modules/peaqevcore/default.nix +++ b/pkgs/development/python-modules/peaqevcore/default.nix @@ -6,14 +6,14 @@ buildPythonPackage rec { pname = "peaqevcore"; - version = "9.1.0"; + version = "9.2.2"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-6SA+JdZwF2Q0RrlPlJvsTXDofrluVcQ+hVMlSFYTjxw="; + hash = "sha256-Azco/ZFWDqb+gTskW3V44YJ9Zi3Fg2nYLY4PXvqOrRo="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pixcat/default.nix b/pkgs/development/python-modules/pixcat/default.nix index 026685cd6341..90fdae5dcf03 100644 --- a/pkgs/development/python-modules/pixcat/default.nix +++ b/pkgs/development/python-modules/pixcat/default.nix @@ -5,7 +5,6 @@ , docopt , pillow , requests -, dataclasses , pythonOlder }: @@ -13,7 +12,7 @@ buildPythonPackage rec { pname = "pixcat"; version = "0.1.4"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/poetry/default.nix b/pkgs/development/python-modules/poetry/default.nix index 8f62c3e6eb16..2e81f7e55312 100644 --- a/pkgs/development/python-modules/poetry/default.nix +++ b/pkgs/development/python-modules/poetry/default.nix @@ -5,7 +5,6 @@ , cachy , cleo , crashtest -, dataclasses , deepdiff , dulwich , fetchFromGitHub diff --git a/pkgs/development/python-modules/pudb/default.nix b/pkgs/development/python-modules/pudb/default.nix index 1f1385944902..96f3370365bd 100644 --- a/pkgs/development/python-modules/pudb/default.nix +++ b/pkgs/development/python-modules/pudb/default.nix @@ -1,6 +1,5 @@ { lib , buildPythonPackage -, dataclasses , fetchPypi , jedi , pygments @@ -16,7 +15,7 @@ buildPythonPackage rec { version = "2022.1.3"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; @@ -28,8 +27,6 @@ buildPythonPackage rec { pygments urwid urwid-readline - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; checkInputs = [ diff --git a/pkgs/development/python-modules/pyairvisual/default.nix b/pkgs/development/python-modules/pyairvisual/default.nix index 4d125fb2e95d..fa0377372fb6 100644 --- a/pkgs/development/python-modules/pyairvisual/default.nix +++ b/pkgs/development/python-modules/pyairvisual/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "pyairvisual"; - version = "2022.12.0"; + version = "2022.12.1"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "bachya"; repo = pname; rev = version; - hash = "sha256-vuniAmjbC3EmFliLFhZ1LQvh533XeLGaIn8ll/Etb/4="; + hash = "sha256-xzTho4HsIU2YLURz9DfFfaRL3tsrtVi8n5IA2bRkyzw="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix index 0b15832ba28a..1d3d3d0d9e08 100644 --- a/pkgs/development/python-modules/pycryptodome/default.nix +++ b/pkgs/development/python-modules/pycryptodome/default.nix @@ -3,7 +3,6 @@ , callPackage , fetchFromGitHub , fetchpatch -, cffi , gmp }: @@ -12,14 +11,14 @@ let in buildPythonPackage rec { pname = "pycryptodome"; - version = "3.15.0"; + version = "3.16.0"; format = "setuptools"; src = fetchFromGitHub { owner = "Legrandin"; repo = "pycryptodome"; rev = "v${version}"; - hash = "sha256-SPRoAfwP1MFlVzZsVWmXDWUY5Yje7eg7d+9zJhZNXrw="; + hash = "sha256-8EAgeAU3HQiPrMKOtoVQQLbgq47cbveU2eQYp15XS/U="; }; patches = [ diff --git a/pkgs/development/python-modules/pycryptodome/vectors.nix b/pkgs/development/python-modules/pycryptodome/vectors.nix index f6a2b715ad91..89df4507867e 100644 --- a/pkgs/development/python-modules/pycryptodome/vectors.nix +++ b/pkgs/development/python-modules/pycryptodome/vectors.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "pycryptodome-test-vectors"; - version = "1.0.8"; + version = "1.0.10"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-3BTh7as4CikvVfUx2xBZlUOaq/dAQNNFHpuRxWg/5N0="; + hash = "sha256-oqgHWAw0Xrc22eAuY6+Q/H90tL9Acz6V0EJp060hH2Q="; extension = "zip"; }; diff --git a/pkgs/development/python-modules/pyhamcrest/default.nix b/pkgs/development/python-modules/pyhamcrest/default.nix index ffe11cc140b3..8abf3b8ea44b 100644 --- a/pkgs/development/python-modules/pyhamcrest/default.nix +++ b/pkgs/development/python-modules/pyhamcrest/default.nix @@ -1,19 +1,20 @@ { lib , buildPythonPackage , fetchFromGitHub -, hatchling , hatch-vcs +, hatchling , numpy -, pythonOlder , pytest-xdist , pytestCheckHook +, pythonOlder }: buildPythonPackage rec { pname = "pyhamcrest"; version = "2.0.4"; format = "pyproject"; - disabled = pythonOlder "3.6"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "hamcrest"; @@ -22,11 +23,9 @@ buildPythonPackage rec { hash = "sha256-CIkttiijbJCR0zdmwM5JvFogQKYuHUXHJhdyWonHcGk="; }; - SETUPTOOLS_SCM_PRETEND_VERSION = version; - nativeBuildInputs = [ - hatchling hatch-vcs + hatchling ]; checkInputs = [ @@ -35,12 +34,19 @@ buildPythonPackage rec { pytestCheckHook ]; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'dynamic = ["version"]' 'version = "${version}"' + ''; + + pythonImportsCheck = [ + "hamcrest" + ]; + meta = with lib; { - homepage = "https://github.com/hamcrest/PyHamcrest"; description = "Hamcrest framework for matcher objects"; + homepage = "https://github.com/hamcrest/PyHamcrest"; license = licenses.bsd3; - maintainers = with maintainers; [ - alunduil - ]; + maintainers = with maintainers; [ alunduil ]; }; } diff --git a/pkgs/development/python-modules/pymyq/default.nix b/pkgs/development/python-modules/pymyq/default.nix index 94ff699507e1..afe7f7af628d 100644 --- a/pkgs/development/python-modules/pymyq/default.nix +++ b/pkgs/development/python-modules/pymyq/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "pymyq"; - version = "3.1.5"; + version = "3.1.6"; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "arraylabs"; repo = pname; rev = "refs/tags/v${version}"; - sha256 = "sha256-/2eWB4rtHPptfc8Tm0CGk0UB+Hq1EmNhWmdrpPiUJcw="; + hash = "sha256-zhGCoZ7mkHlfDjEbQihtM23u+N6nfYsQhKmrloevzp8="; }; propagatedBuildInputs = [ @@ -28,11 +28,14 @@ buildPythonPackage rec { # Project has no tests doCheck = false; - pythonImportsCheck = [ "pymyq" ]; + pythonImportsCheck = [ + "pymyq" + ]; meta = with lib; { description = "Python wrapper for MyQ API"; homepage = "https://github.com/arraylabs/pymyq"; + changelog = "https://github.com/arraylabs/pymyq/releases/tag/v${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix index 2a81ebf40efe..082ebdfae6fd 100644 --- a/pkgs/development/python-modules/pyopenssl/default.nix +++ b/pkgs/development/python-modules/pyopenssl/default.nix @@ -2,6 +2,7 @@ , stdenv , buildPythonPackage , fetchPypi +, fetchpatch , openssl , cryptography , pytestCheckHook @@ -21,15 +22,19 @@ buildPythonPackage rec { sha256 = "sha256-eoO3snLdWVIi1nL1zimqAw8fuDdjDvIp9i5y45XOiWg="; }; + patches = [ + (fetchpatch { + name = "fix-flaky-darwin-handshake-tests.patch"; + url = "https://github.com/pyca/pyopenssl/commit/8a75898356806784caf742e8277ef03de830ce11.patch"; + hash = "sha256-UVsZ8Nq1jUTZhOUAilRgdtqMYp4AN7qvWHqc6RleqRI="; + }) + ]; + postPatch = '' # remove cryptography pin sed "/cryptography/ s/,<[0-9]*//g" setup.py ''; - # Seems to fail unpredictably on Darwin. See https://hydra.nixos.org/build/49877419/nixlog/1 - # for one example, but I've also seen ContextTests.test_set_verify_callback_exception fail. - doCheck = !stdenv.isDarwin; - nativeBuildInputs = [ openssl ]; propagatedBuildInputs = [ cryptography ]; @@ -79,7 +84,5 @@ buildPythonPackage rec { homepage = "https://github.com/pyca/pyopenssl"; license = licenses.asl20; maintainers = with maintainers; [ SuperSandro2000 ]; - # https://github.com/pyca/pyopenssl/issues/873 - broken = stdenv.isDarwin && stdenv.isAarch64; }; } diff --git a/pkgs/development/python-modules/pysigma-backend-qradar/default.nix b/pkgs/development/python-modules/pysigma-backend-qradar/default.nix index 7a88d432e359..00b9659c28d5 100644 --- a/pkgs/development/python-modules/pysigma-backend-qradar/default.nix +++ b/pkgs/development/python-modules/pysigma-backend-qradar/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "pysigma-backend-qradar"; - version = "0.2.1"; + version = "0.3.0"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "nNipsx-Sec"; repo = "pySigma-backend-qradar"; rev = "refs/tags/v${version}"; - hash = "sha256-kd/KWO3xxIHPgXqvcOrSvdozLG34+DwZedfSVoZ+dDA="; + hash = "sha256-4QiPBgzlZG3aeYwn9zodZCXY6mjOktgdPWR5ikg/Y30="; }; nativeBuildInputs = [ @@ -48,6 +48,7 @@ buildPythonPackage rec { meta = with lib; { description = "Library to support Qradar for pySigma"; homepage = "https://github.com/nNipsx-Sec/pySigma-backend-qradar"; + changelog = "https://github.com/nNipsx-Sec/pySigma-backend-qradar/releases/tag/v${version}"; license = with licenses; [ lgpl21Only ]; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/pyswitchbot/default.nix b/pkgs/development/python-modules/pyswitchbot/default.nix index 48bed6efb8b5..872999bf565e 100644 --- a/pkgs/development/python-modules/pyswitchbot/default.nix +++ b/pkgs/development/python-modules/pyswitchbot/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "pyswitchbot"; - version = "0.23.1"; + version = "0.23.2"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "Danielhiversen"; repo = "pySwitchbot"; rev = "refs/tags/${version}"; - hash = "sha256-vBXOZ+AhhqWUD6XukmkHF4wjjJxXbK7r0V+qCuZGc6s="; + hash = "sha256-bpa83uT3Gebwryb7Fc7kBv0m9aYgoL84Q625AavLw40="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pytenable/default.nix b/pkgs/development/python-modules/pytenable/default.nix index ac2b5d86e5e8..f4b3e4b43ed2 100644 --- a/pkgs/development/python-modules/pytenable/default.nix +++ b/pkgs/development/python-modules/pytenable/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "pytenable"; - version = "1.4.10"; + version = "1.4.11"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "tenable"; repo = "pyTenable"; rev = "refs/tags/${version}"; - hash = "sha256-BNPfoKXDLUckj/yg1Gz806CS5CyjWvc/Hy/NwnuWfo0="; + hash = "sha256-GSEMjgG8Q+gzHQWRbXr/qiGP6U6ydPxu0JsD56mRNWU="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pytest-freezegun/default.nix b/pkgs/development/python-modules/pytest-freezegun/default.nix index 3ba67867a1aa..56752fe48220 100644 --- a/pkgs/development/python-modules/pytest-freezegun/default.nix +++ b/pkgs/development/python-modules/pytest-freezegun/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchFromGitHub +, fetchpatch , freezegun , pytest , pytestCheckHook @@ -17,6 +18,15 @@ buildPythonPackage rec { sha256 = "10c4pbh03b4s1q8cjd75lr0fvyf9id0zmdk29566qqsmaz28npas"; }; + patches = [ + (fetchpatch { + # https://github.com/ktosiek/pytest-freezegun/pull/38 + name = "pytest-freezegun-drop-distutils.patch"; + url = "https://github.com/ktosiek/pytest-freezegun/commit/03d7107a877e8f07617f931a379f567d89060085.patch"; + hash = "sha256-/7GTQdidVbE2LT5hwxjEc2dr+aWr6TX1131U4KMQhns="; + }) + ]; + buildInputs = [ pytest ]; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/reqif/default.nix b/pkgs/development/python-modules/reqif/default.nix index ace3052e5a9c..1e5ecc718d9d 100644 --- a/pkgs/development/python-modules/reqif/default.nix +++ b/pkgs/development/python-modules/reqif/default.nix @@ -1,13 +1,11 @@ { lib , buildPythonPackage , python -, pythonOlder , fetchFromGitHub , poetry-core , beautifulsoup4 , lxml , jinja2 -, dataclasses , pytestCheckHook }: @@ -39,8 +37,6 @@ buildPythonPackage rec { beautifulsoup4 lxml jinja2 - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/requests/0001-Prefer-NixOS-Nix-default-CA-bundles-over-certifi.patch b/pkgs/development/python-modules/requests/0001-Prefer-NixOS-Nix-default-CA-bundles-over-certifi.patch deleted file mode 100644 index de6a4b5c1b57..000000000000 --- a/pkgs/development/python-modules/requests/0001-Prefer-NixOS-Nix-default-CA-bundles-over-certifi.patch +++ /dev/null @@ -1,60 +0,0 @@ -From b36083efafec5a3c1c5864cd0b62367ddf3856ae Mon Sep 17 00:00:00 2001 -From: Keshav Kini -Date: Sun, 16 May 2021 20:35:24 -0700 -Subject: [PATCH] Prefer NixOS/Nix default CA bundles over certifi - -Normally, requests gets its default CA bundle from the certifi -package. On NixOS and when using Nix on non-NixOS platforms, we would -rather default to using our own certificate bundles controlled by the -Nix/NixOS user. - -This commit overrides requests.certs.where(), which previously was -just aliased to certifi.where(), so that now it does the following: - -- When run by Nix on non-NixOS, the environment variable - $NIX_SSL_CERT_FILE will point to the CA bundle we're using, so we - use that. - -- When running on NixOS, the CA bundle we're using has the static path - /etc/ssl/certs/ca-certificates.crt , so we use that. - -- Otherwise, we fall back to the original behavior of using certifi's - CA bundle. Higher in the call stack, users of requests can also - explicitly specify a CA bundle to use, which overrides all this - logic. ---- - requests/certs.py | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -diff --git a/requests/certs.py b/requests/certs.py -index d1a378d7..faf462b7 100644 ---- a/requests/certs.py -+++ b/requests/certs.py -@@ -12,7 +12,23 @@ If you are packaging Requests, e.g., for a Linux distribution or a managed - environment, you can change the definition of where() to return a separately - packaged CA bundle. - """ --from certifi import where -+ -+import os -+ -+import certifi -+ -+ -+def where(): -+ nix_ssl_cert_file = os.getenv("NIX_SSL_CERT_FILE") -+ if nix_ssl_cert_file and os.path.exists(nix_ssl_cert_file): -+ return nix_ssl_cert_file -+ -+ nixos_ca_bundle = "/etc/ssl/certs/ca-certificates.crt" -+ if os.path.exists(nixos_ca_bundle): -+ return nixos_ca_bundle -+ -+ return certifi.where() -+ - - if __name__ == '__main__': - print(where()) --- -2.31.1 - diff --git a/pkgs/development/python-modules/requests/default.nix b/pkgs/development/python-modules/requests/default.nix index 5eab25fa3e15..d7230c532eb2 100644 --- a/pkgs/development/python-modules/requests/default.nix +++ b/pkgs/development/python-modules/requests/default.nix @@ -27,11 +27,6 @@ buildPythonPackage rec { hash = "sha256-fFWZsQL+3apmHIJsVqtP7ii/0X9avKHrvj5/GdfJeYM="; }; - patches = [ - # Use the default NixOS CA bundle from the certifi package - ./0001-Prefer-NixOS-Nix-default-CA-bundles-over-certifi.patch - ]; - propagatedBuildInputs = [ brotlicffi certifi diff --git a/pkgs/development/python-modules/responses/default.nix b/pkgs/development/python-modules/responses/default.nix index 21e3dd38cdb8..15a538cbf3b7 100644 --- a/pkgs/development/python-modules/responses/default.nix +++ b/pkgs/development/python-modules/responses/default.nix @@ -1,16 +1,20 @@ { lib , buildPythonPackage , fetchFromGitHub -, pytest-localserver +, pytest-asyncio +, pytest-httpserver , pytestCheckHook , pythonOlder , requests +, toml +, types-toml +, typing-extensions , urllib3 }: buildPythonPackage rec { pname = "responses"; - version = "0.21.0"; + version = "0.22.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -21,16 +25,22 @@ buildPythonPackage rec { owner = "getsentry"; repo = pname; rev = version; - hash = "sha256-qYohrXrQkUBPo7yC+ZOwidDaCg/2nteXKAOCUvR4k2Q="; + hash = "sha256-VOIpowxPvYmufnj9MM/vMtZQDIOxorAhMCNK0fX/j1U="; }; propagatedBuildInputs = [ requests + toml + types-toml urllib3 + ] ++ lib.optionals (pythonOlder "3.8") [ + typing-extensions ]; + checkInputs = [ - pytest-localserver + pytest-asyncio + pytest-httpserver pytestCheckHook ]; diff --git a/pkgs/development/python-modules/respx/default.nix b/pkgs/development/python-modules/respx/default.nix index 4d4e4e1175d8..cdf4ea4f0549 100644 --- a/pkgs/development/python-modules/respx/default.nix +++ b/pkgs/development/python-modules/respx/default.nix @@ -12,13 +12,13 @@ buildPythonPackage rec { pname = "respx"; - version = "0.20.0"; + version = "0.20.1"; src = fetchFromGitHub { owner = "lundberg"; repo = pname; rev = version; - sha256 = "sha256-xb5jb+l6wA1v/r2yGUB6IuUVXIaTc+3O/w5xn/+A74o="; + sha256 = "sha256-Qs3+NWMKiAFlKTTosdyHOxWRPKFlYQD20+MKiKR371U="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix index 4f87364cfe20..5d9c1f45c3b3 100644 --- a/pkgs/development/python-modules/rich/default.nix +++ b/pkgs/development/python-modules/rich/default.nix @@ -3,7 +3,6 @@ , fetchFromGitHub , pythonOlder , CommonMark -, dataclasses , poetry-core , pygments , typing-extensions @@ -20,7 +19,7 @@ buildPythonPackage rec { pname = "rich"; version = "12.6.0"; format = "pyproject"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "Textualize"; @@ -34,8 +33,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ CommonMark pygments - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ] ++ lib.optionals (pythonOlder "3.9") [ typing-extensions ]; diff --git a/pkgs/development/python-modules/rig/default.nix b/pkgs/development/python-modules/rig/default.nix deleted file mode 100644 index bc43aac3551a..000000000000 --- a/pkgs/development/python-modules/rig/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib, buildPythonPackage, fetchPypi -, isPy35, isPy27 -, numpy, pytz, six, enum-compat, sentinel -}: - -buildPythonPackage rec { - pname = "rig"; - version = "2.4.1"; - - src = fetchPypi { - inherit pname version; - sha256 = "5a3896dbde3f291c5dd34769e7329ef5d5e4da34fee53479bd13dc5e5d540b8a"; - }; - - propagatedBuildInputs = [ numpy pytz six sentinel enum-compat ]; - - # This is the list of officially supported versions. Other versions may work - # as well. - disabled = !(isPy27 || isPy35); - - # Test Phase is only supported in development sources. - doCheck = false; - - meta = with lib; { - description = "A collection of tools for developing SpiNNaker applications"; - homepage = "https://github.com/project-rig/rig"; - license = licenses.gpl2; - }; -} diff --git a/pkgs/development/python-modules/screeninfo/default.nix b/pkgs/development/python-modules/screeninfo/default.nix index 574d3159494a..6789c6b76c45 100644 --- a/pkgs/development/python-modules/screeninfo/default.nix +++ b/pkgs/development/python-modules/screeninfo/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , buildPythonPackage -, dataclasses , fetchFromGitHub , libX11 , libXinerama @@ -16,7 +15,7 @@ buildPythonPackage rec { version = "0.8.1"; format = "pyproject"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "rr-"; @@ -29,10 +28,6 @@ buildPythonPackage rec { poetry-core ]; - propagatedBuildInputs = lib.optionals (pythonOlder "3.7") [ - dataclasses - ]; - postPatch = '' substituteInPlace screeninfo/enumerators/xinerama.py \ --replace 'load_library("X11")' 'ctypes.cdll.LoadLibrary("${libX11}/lib/libX11.so")' \ diff --git a/pkgs/development/python-modules/simple-di/default.nix b/pkgs/development/python-modules/simple-di/default.nix index 150eb52f8d4e..79437c4a0b34 100644 --- a/pkgs/development/python-modules/simple-di/default.nix +++ b/pkgs/development/python-modules/simple-di/default.nix @@ -4,7 +4,6 @@ , fetchPypi , setuptools , typing-extensions -, dataclasses }: buildPythonPackage rec { @@ -23,8 +22,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ setuptools typing-extensions - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/skia-pathops/default.nix b/pkgs/development/python-modules/skia-pathops/default.nix index 4da35b98f4a4..49afcf810935 100644 --- a/pkgs/development/python-modules/skia-pathops/default.nix +++ b/pkgs/development/python-modules/skia-pathops/default.nix @@ -15,13 +15,13 @@ buildPythonPackage rec { pname = "skia-pathops"; - version = "0.7.2"; + version = "0.7.4"; src = fetchPypi { pname = "skia-pathops"; inherit version; extension = "zip"; - sha256 = "sha256-Gdhcmv77oVr5KxPIiJlk935jgvWPQsYEC0AZ6yjLppA="; + sha256 = "sha256-Ci/e6Ht62wGMv6bpXvnkKZ7WOwCAvidnejD/77ypE1A="; }; postPatch = '' diff --git a/pkgs/development/python-modules/sniffio/default.nix b/pkgs/development/python-modules/sniffio/default.nix index 86e37168c899..0a8dc4aef4e5 100644 --- a/pkgs/development/python-modules/sniffio/default.nix +++ b/pkgs/development/python-modules/sniffio/default.nix @@ -1,27 +1,33 @@ -{ buildPythonPackage, lib, fetchPypi, glibcLocales, isPy3k, contextvars -, pythonOlder, pytest, curio +{ buildPythonPackage +, lib +, fetchPypi +, glibcLocales +, isPy3k +, pythonOlder +, pytestCheckHook +, curio }: buildPythonPackage rec { pname = "sniffio"; version = "1.3.0"; + format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-5gMFxeXTFPU4klm38iqqM9j33uSXYxGSNK83VcVbkQE="; + hash = "sha256-5gMFxeXTFPU4klm38iqqM9j33uSXYxGSNK83VcVbkQE="; }; disabled = !isPy3k; - buildInputs = [ glibcLocales ]; + buildInputs = [ + glibcLocales + ]; - propagatedBuildInputs = lib.optionals (pythonOlder "3.7") [ contextvars ]; - - checkInputs = [ pytest curio ]; - - checkPhase = '' - pytest - ''; + checkInputs = [ + curio + pytestCheckHook + ]; meta = with lib; { homepage = "https://github.com/python-trio/sniffio"; diff --git a/pkgs/development/python-modules/spacy-transformers/default.nix b/pkgs/development/python-modules/spacy-transformers/default.nix index 914e2cb5153e..14969a61b102 100644 --- a/pkgs/development/python-modules/spacy-transformers/default.nix +++ b/pkgs/development/python-modules/spacy-transformers/default.nix @@ -2,7 +2,6 @@ , callPackage , fetchPypi , buildPythonPackage -, dataclasses , torch , pythonOlder , spacy @@ -16,7 +15,7 @@ buildPythonPackage rec { version = "1.1.8"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -29,8 +28,6 @@ buildPythonPackage rec { spacy-alignments srsly transformers - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; postPatch = '' diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix index 39461fd7953d..a549fe393b9c 100644 --- a/pkgs/development/python-modules/tensorflow/default.nix +++ b/pkgs/development/python-modules/tensorflow/default.nix @@ -22,8 +22,6 @@ , tensorboardSupport ? true # XLA without CUDA is broken , xlaSupport ? cudaSupport -# Default from ./configure script -, cudaCapabilities ? [ "sm_35" "sm_50" "sm_60" "sm_70" "sm_75" "compute_80" ] , sse42Support ? stdenv.hostPlatform.sse4_2Support , avx2Support ? stdenv.hostPlatform.avx2Support , fmaSupport ? stdenv.hostPlatform.fmaSupport @@ -32,7 +30,7 @@ }: let - inherit (cudaPackages) cudatoolkit cudnn nccl; + inherit (cudaPackages) cudatoolkit cudaFlags cudnn nccl; in assert cudaSupport -> cudatoolkit != null @@ -305,7 +303,7 @@ let TF_CUDA_PATHS = lib.optionalString cudaSupport "${cudatoolkit_joined},${cudnn},${nccl}"; GCC_HOST_COMPILER_PREFIX = lib.optionalString cudaSupport "${cudatoolkit_cc_joined}/bin"; GCC_HOST_COMPILER_PATH = lib.optionalString cudaSupport "${cudatoolkit_cc_joined}/bin/gcc"; - TF_CUDA_COMPUTE_CAPABILITIES = lib.concatStringsSep "," cudaCapabilities; + TF_CUDA_COMPUTE_CAPABILITIES = builtins.concatStringsSep "," cudaFlags.cudaRealArchs; postPatch = '' # bazel 3.3 should work just as well as bazel 3.1 diff --git a/pkgs/development/python-modules/testtools/default.nix b/pkgs/development/python-modules/testtools/default.nix index 430d0374ef20..e20bd74a6aa0 100644 --- a/pkgs/development/python-modules/testtools/default.nix +++ b/pkgs/development/python-modules/testtools/default.nix @@ -5,7 +5,6 @@ , pbr , python-mimeparse , extras -, unittest2 , traceback2 , testscenarios }: diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix index 334411fe26c9..1a43bcbbc4ed 100644 --- a/pkgs/development/python-modules/thinc/default.nix +++ b/pkgs/development/python-modules/thinc/default.nix @@ -5,13 +5,11 @@ , buildPythonPackage , catalogue , confection -, contextvars , CoreFoundation , CoreGraphics , CoreVideo , cymem , cython -, dataclasses , fetchPypi , hypothesis , mock @@ -34,7 +32,7 @@ buildPythonPackage rec { version = "8.1.1"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -65,9 +63,6 @@ buildPythonPackage rec { wasabi ] ++ lib.optionals (pythonOlder "3.8") [ typing-extensions - ] ++ lib.optionals (pythonOlder "3.7") [ - contextvars - dataclasses ]; checkInputs = [ diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix index 887738f2c5ff..17ecd3f280b3 100644 --- a/pkgs/development/python-modules/torch/default.nix +++ b/pkgs/development/python-modules/torch/default.nix @@ -3,7 +3,6 @@ mklDnnSupport ? true, useSystemNccl ? true, MPISupport ? false, mpi, buildDocs ? false, - cudaArchList ? null, # Native build inputs cmake, util-linux, linkFarm, symlinkJoin, which, pybind11, removeReferencesTo, @@ -33,7 +32,7 @@ isPy3k, pythonOlder }: let - inherit (cudaPackages) cudatoolkit cudnn nccl; + inherit (cudaPackages) cudatoolkit cudaFlags cudnn nccl; in # assert that everything needed for cuda is present and that the correct cuda versions are used @@ -52,64 +51,6 @@ let paths = [ cudatoolkit.out cudatoolkit.lib nccl.dev nccl.out ]; }; - # Give an explicit list of supported architectures for the build, See: - # - pytorch bug report: https://github.com/pytorch/pytorch/issues/23573 - # - pytorch-1.2.0 build on nixpks: https://github.com/NixOS/nixpkgs/pull/65041 - # - # This list was selected by omitting the TORCH_CUDA_ARCH_LIST parameter, - # observing the fallback option (which selected all architectures known - # from cudatoolkit_10_0, pytorch-1.2, and python-3.6), and doing a binary - # searching to find offending architectures. - # - # NOTE: Because of sandboxing, this derivation can't auto-detect the hardware's - # cuda architecture, so there is also now a problem around new architectures - # not being supported until explicitly added to this derivation. - # - # FIXME: CMake is throwing the following warning on python-1.2: - # - # ``` - # CMake Warning at cmake/public/utils.cmake:172 (message): - # In the future we will require one to explicitly pass TORCH_CUDA_ARCH_LIST - # to cmake instead of implicitly setting it as an env variable. This will - # become a FATAL_ERROR in future version of pytorch. - # ``` - # If this is causing problems for your build, this derivation may have to strip - # away the standard `buildPythonPackage` and use the - # [*Adjust Build Options*](https://github.com/pytorch/pytorch/tree/v1.2.0#adjust-build-options-optional) - # instructions. This will also add more flexibility around configurations - # (allowing FBGEMM to be built in pytorch-1.1), and may future proof this - # derivation. - brokenArchs = [ "3.0" ]; # this variable is only used as documentation. - - cudaCapabilities = rec { - cuda9 = [ - "3.5" - "5.0" - "5.2" - "6.0" - "6.1" - "7.0" - "7.0+PTX" # I am getting a "undefined architecture compute_75" on cuda 9 - # which leads me to believe this is the final cuda-9-compatible architecture. - ]; - - cuda10 = cuda9 ++ [ - "7.5" - "7.5+PTX" # < most recent architecture as of cudatoolkit_10_0 and pytorch-1.2.0 - ]; - - cuda11 = cuda10 ++ [ - "8.0" - "8.0+PTX" # < CUDA toolkit 11.0 - "8.6" - "8.6+PTX" # < CUDA toolkit 11.1 - ]; - }; - final_cudaArchList = - if !cudaSupport || cudaArchList != null - then cudaArchList - else cudaCapabilities."cuda${lib.versions.major cudatoolkit.version}"; - # Normally libcuda.so.1 is provided at runtime by nvidia-x11 via # LD_LIBRARY_PATH=/run/opengl-driver/lib. We only use the stub # libcuda.so from cudatoolkit for running tests, so that we don’t have @@ -153,7 +94,7 @@ in buildPythonPackage rec { ]; preConfigure = lib.optionalString cudaSupport '' - export TORCH_CUDA_ARCH_LIST="${lib.strings.concatStringsSep ";" final_cudaArchList}" + export TORCH_CUDA_ARCH_LIST="${cudaFlags.cudaCapabilitiesSemiColonString}" export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++ '' + lib.optionalString (cudaSupport && cudnn != null) '' export CUDNN_INCLUDE_DIR=${cudnn}/include @@ -308,7 +249,6 @@ in buildPythonPackage rec { passthru = { inherit cudaSupport cudaPackages; - cudaArchList = final_cudaArchList; # At least for 1.10.2 `torch.fft` is unavailable unless BLAS provider is MKL. This attribute allows for easy detection of its availability. blasProvider = blas.provider; }; diff --git a/pkgs/development/python-modules/torchvision/default.nix b/pkgs/development/python-modules/torchvision/default.nix index 223ef3f1d861..212401efe54b 100644 --- a/pkgs/development/python-modules/torchvision/default.nix +++ b/pkgs/development/python-modules/torchvision/default.nix @@ -15,7 +15,7 @@ }: let - inherit (torch.cudaPackages) cudatoolkit cudnn; + inherit (torch.cudaPackages) cudatoolkit cudaFlags cudnn; cudatoolkit_joined = symlinkJoin { name = "${cudatoolkit.name}-unsplit"; @@ -45,7 +45,7 @@ in buildPythonPackage rec { propagatedBuildInputs = [ numpy pillow torch scipy ]; preBuild = lib.optionalString cudaSupport '' - export TORCH_CUDA_ARCH_LIST="${cudaArchStr}" + export TORCH_CUDA_ARCH_LIST="${cudaFlags.cudaCapabilitiesSemiColonString}" export FORCE_CUDA=1 ''; diff --git a/pkgs/development/python-modules/trio/default.nix b/pkgs/development/python-modules/trio/default.nix index dde139103454..7bbfb6f2ca9c 100644 --- a/pkgs/development/python-modules/trio/default.nix +++ b/pkgs/development/python-modules/trio/default.nix @@ -4,7 +4,6 @@ , async_generator , idna , outcome -, contextvars , pytestCheckHook , pyopenssl , trustme @@ -19,7 +18,7 @@ buildPythonPackage rec { pname = "trio"; version = "0.21.0"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -33,7 +32,7 @@ buildPythonPackage rec { idna outcome sniffio - ] ++ lib.optionals (pythonOlder "3.7") [ contextvars ]; + ]; # tests are failing on Darwin doCheck = !stdenv.isDarwin; diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix index 64e7678bd2b7..11c036194720 100644 --- a/pkgs/development/python-modules/twilio/default.nix +++ b/pkgs/development/python-modules/twilio/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "twilio"; - version = "7.15.4"; + version = "7.16.0"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "twilio"; repo = "twilio-python"; rev = "refs/tags/${version}"; - hash = "sha256-V7JLFesMj0W6k9+svgIBAfemDWiyi7DGdFLBk4/wd+8="; + hash = "sha256-+cbcINDnPmgNtZeQUOuTwU24Fe0i3xisxTYurV4GW7Y="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/twisted/default.nix b/pkgs/development/python-modules/twisted/default.nix index 86e009d55c40..03a6045372bb 100644 --- a/pkgs/development/python-modules/twisted/default.nix +++ b/pkgs/development/python-modules/twisted/default.nix @@ -10,7 +10,6 @@ , automat , bcrypt , constantly -, contextvars , cryptography , git , glibcLocales @@ -144,7 +143,6 @@ buildPythonPackage rec { optional-dependencies = rec { conch = [ appdirs bcrypt cryptography pyasn1 ]; conch_nacl = conch ++ [ pynacl ]; - contextvars = lib.optionals (pythonOlder "3.7") [ contextvars ]; http2 = [ h2 priority ]; serial = [ pyserial ]; tls = [ idna pyopenssl service-identity ]; diff --git a/pkgs/development/python-modules/tzdata/default.nix b/pkgs/development/python-modules/tzdata/default.nix index 2e3cdafc8a12..e908a10b43cb 100644 --- a/pkgs/development/python-modules/tzdata/default.nix +++ b/pkgs/development/python-modules/tzdata/default.nix @@ -10,12 +10,12 @@ buildPythonPackage rec { pname = "tzdata"; - version = "2022.6"; + version = "2022.7"; format = "pyproject"; src = fetchPypi { inherit pname version; - hash = "sha256-kfEdtFAzhZKMFVmMmFc+OvB+cikYG+5Tdb0w8Wld3K4="; + hash = "sha256-/l+Gbt3YuW6fy6l4+OUDyQmxnqfv2hHlLjlJS606e/o="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/unittest2/collections-compat.patch b/pkgs/development/python-modules/unittest2/collections-compat.patch deleted file mode 100644 index 350c9d716783..000000000000 --- a/pkgs/development/python-modules/unittest2/collections-compat.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/unittest2/compatibility.py b/unittest2/compatibility.py -index 9e5f1a5..473957c 100644 ---- a/unittest2/compatibility.py -+++ b/unittest2/compatibility.py -@@ -1,4 +1,5 @@ - import collections -+import collections.abc - import os - import sys - -@@ -140,7 +141,7 @@ except ImportError: - ### ChainMap (helper for configparser and string.Template) - ######################################################################## - --class ChainMap(collections.MutableMapping): -+class ChainMap(collections.abc.MutableMapping): - ''' A ChainMap groups multiple dicts (or other mappings) together - to create a single, updateable view. - diff --git a/pkgs/development/python-modules/unittest2/default.nix b/pkgs/development/python-modules/unittest2/default.nix deleted file mode 100644 index 786b8996f83b..000000000000 --- a/pkgs/development/python-modules/unittest2/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ lib -, buildPythonPackage -, fetchPypi -, six -, traceback2 -, pythonAtLeast -}: - -buildPythonPackage rec { - version = "1.1.0"; - pname = "unittest2"; - - src = fetchPypi { - inherit pname version; - sha256 = "0y855kmx7a8rnf81d3lh5lyxai1908xjp0laf4glwa4c8472m212"; - }; - - patches = lib.optionals (pythonAtLeast "3.7") [ - ./collections-compat.patch - ]; - - propagatedBuildInputs = [ six traceback2 ]; - - # 1.0.0 and up create a circle dependency with traceback2/pbr - doCheck = false; - - postPatch = '' - # argparse is needed for python < 2.7, which we do not support anymore. - substituteInPlace setup.py --replace "argparse" "" - - # fixes a transient error when collecting tests, see https://bugs.launchpad.net/python-neutronclient/+bug/1508547 - sed -i '510i\ return None, False' unittest2/loader.py - # https://github.com/pypa/packaging/pull/36 - sed -i 's/version=VERSION/version=str(VERSION)/' setup.py - ''; - - meta = with lib; { - description = "A backport of the new features added to the unittest testing framework"; - homepage = "https://pypi.org/project/unittest2/"; - license = licenses.bsd0; - }; -} diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix index 8d3e0769786b..5562fd13b979 100644 --- a/pkgs/development/python-modules/werkzeug/default.nix +++ b/pkgs/development/python-modules/werkzeug/default.nix @@ -4,7 +4,6 @@ , pythonOlder , fetchPypi , watchdog -, dataclasses , ephemeral-port-reserve , pytest-timeout , pytest-xprocess @@ -32,8 +31,6 @@ buildPythonPackage rec { ] ++ lib.optionals (!stdenv.isDarwin) [ # watchdog requires macos-sdk 10.13+ watchdog - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; checkInputs = [ diff --git a/pkgs/development/python-modules/xxhash/default.nix b/pkgs/development/python-modules/xxhash/default.nix index ff4eeff35459..658784387354 100644 --- a/pkgs/development/python-modules/xxhash/default.nix +++ b/pkgs/development/python-modules/xxhash/default.nix @@ -5,12 +5,12 @@ }: buildPythonPackage rec { - version = "3.0.0"; + version = "3.1.0"; pname = "xxhash"; src = fetchPypi { inherit pname version; - sha256 = "sha256-MLLZeq8R+xIgI/a0TruXxpVengDXRhqWQVygMLXOucc="; + sha256 = "sha256-rCGx4h3G/f7ppXtT9Hd1OdU6hPLhVGo/gC8Vn5lmvcE="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python2-modules/cffi/default.nix b/pkgs/development/python2-modules/cffi/default.nix new file mode 100644 index 000000000000..adeda6e90d22 --- /dev/null +++ b/pkgs/development/python2-modules/cffi/default.nix @@ -0,0 +1,45 @@ +{ lib, stdenv, cffi }: + +if cffi == null then null else cffi.overridePythonAttrs { + disabledTests = lib.optionals stdenv.isDarwin [ + # cannot load library 'c' + "test_FILE" + "test_FILE_object" + "test_FILE_only_for_FILE_arg" + "test_load_and_call_function" + "test_load_library" + + # cannot load library 'dl' + "test_dlopen_handle" + + # cannot load library 'm' + "test_dir_on_dlopen_lib" + "test_dlclose" + "test_dlopen" + "test_dlopen_constant" + "test_dlopen_flags" + "test_function_typedef" + "test_line_continuation_in_defines" + "test_missing_function" + "test_remove_comments" + "test_remove_line_continuation_comments" + "test_simple" + "test_sin" + "test_sinf" + "test_stdcall_only_on_windows" + "test_wraps_from_stdlib" + + # MemoryError + "test_callback_as_function_argument" + "test_callback_crash" + "test_callback_decorator" + "test_callback_large_struct" + "test_callback_returning_void" + "test_cast_functionptr_and_int" + "test_function_pointer" + "test_functionptr_intptr_return" + "test_functionptr_simple" + "test_functionptr_void_return" + "test_functionptr_voidptr_return" + ]; +} diff --git a/pkgs/development/python2-modules/contextlib2/default.nix b/pkgs/development/python2-modules/contextlib2/default.nix index 38d9fb696e28..063039448fea 100644 --- a/pkgs/development/python2-modules/contextlib2/default.nix +++ b/pkgs/development/python2-modules/contextlib2/default.nix @@ -1,7 +1,6 @@ { lib , buildPythonPackage , fetchPypi -, unittest2 }: buildPythonPackage rec { @@ -13,7 +12,8 @@ buildPythonPackage rec { sha256 = "01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e"; }; - checkInputs = [ unittest2 ]; + # requires unittest2, which has been removed + doCheck = false; meta = { description = "Backports and enhancements for the contextlib module"; diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix index 7a6b78ec084b..add4fd0d3573 100644 --- a/pkgs/development/tools/build-managers/gnumake/default.nix +++ b/pkgs/development/tools/build-managers/gnumake/default.nix @@ -14,11 +14,11 @@ in stdenv.mkDerivation rec { pname = "gnumake"; - version = "4.3"; + version = "4.4"; src = fetchurl { url = "mirror://gnu/make/make-${version}.tar.gz"; - sha256 = "06cfqzpqsvdnsxbysl5p2fgdgxgl9y4p7scpnrfa8z2zgkjdspz0"; + sha256 = "sha256-WB9NToctp0s5Qch0IViYp9NYAvA3Mr3M7h1KeXkQXRg="; }; # to update apply these patches with `git am *.patch` to https://git.savannah.gnu.org/git/make.git diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix index 0ad6d5a2acfe..7e34249f2075 100644 --- a/pkgs/development/tools/build-managers/gradle/default.nix +++ b/pkgs/development/tools/build-managers/gradle/default.nix @@ -127,16 +127,16 @@ rec { # https://docs.gradle.org/current/userguide/compatibility.html gradle_7 = gen { - version = "7.5"; - nativeVersion = "0.22-milestone-23"; - sha256 = "1hjifd98dif0qy6vkqp56v9z7id5cf2bfkdd71ld8nsqqlig51yb"; + version = "7.6"; + nativeVersion = "0.22-milestone-24"; + sha256 = "0jwycvzv8a5v2bhg5d8zccr2csr3sf9y5mrr9d2ap44p09a8r9kv"; defaultJava = jdk17; }; gradle_6 = gen { - version = "6.9.2"; + version = "6.9.3"; nativeVersion = "0.22-milestone-20"; - sha256 = "13qyk3f6namw27ynh6nxljxpk9r3l12vxl3f0qpglprdf3c6ydcb"; + sha256 = "0p83zgszmrwa26a4q8nvzva2af5lfzy6xvcs57y9588smsw51wyw"; defaultJava = jdk11; }; diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index 9fef483ff0e1..5f4fa56bd1e1 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -9,11 +9,11 @@ python3.pkgs.buildPythonApplication rec { pname = "meson"; - version = "0.63.1"; + version = "0.64.1"; src = python3.pkgs.fetchPypi { inherit pname version; - sha256 = "Bv4TKXIT1v8BIcXVqrJaVu+Tj/7FdBTtYIb9onLLZek="; + sha256 = "sha256-Oo4DDCM094IIX4FicGLMbUpnce3zHgVf/jdPnmsImrk="; }; patches = [ @@ -52,15 +52,6 @@ python3.pkgs.buildPythonApplication rec { # https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774 ./boost-Do-not-add-system-paths-on-nix.patch - # Prevent Meson from passing -O0 in buildtype=plain. - # Nixpkgs enables fortifications which do not work without optimizations. - # https://github.com/mesonbuild/meson/pull/10593 - (fetchpatch { - url = "https://github.com/mesonbuild/meson/commit/f9bfeb2add70973113ab4a98454a5c5d7e3a26ae.patch"; - revert = true; - sha256 = "VKXUwdS+zMp1y+5GrV2inESUpUUp+OL3aI4wOXHxOeo="; - }) - # Fix passing multiple --define-variable arguments to pkg-config. # https://github.com/mesonbuild/meson/pull/10670 (fetchpatch { diff --git a/pkgs/development/tools/build-managers/redo-apenwarr/default.nix b/pkgs/development/tools/build-managers/redo-apenwarr/default.nix index e8ea9a91f45e..22841cb20d17 100644 --- a/pkgs/development/tools/build-managers/redo-apenwarr/default.nix +++ b/pkgs/development/tools/build-managers/redo-apenwarr/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, python3, fetchFromGitHub, which, coreutils -, perl, installShellFiles +, perl, installShellFiles, gnumake42 , doCheck ? true }: stdenv.mkDerivation rec { @@ -53,6 +53,7 @@ (with python3.pkgs; [ beautifulsoup4 markdown ]) which installShellFiles + gnumake42 # fails with make 4.4 ]; postInstall = '' diff --git a/pkgs/development/tools/circup/default.nix b/pkgs/development/tools/circup/default.nix index ccb7ef454aa3..210f0d8f844a 100644 --- a/pkgs/development/tools/circup/default.nix +++ b/pkgs/development/tools/circup/default.nix @@ -5,14 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "circup"; - version = "1.1.3"; + version = "1.1.4"; format = "setuptools"; src = fetchFromGitHub { owner = "adafruit"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-BCAsCwQCKMtmjISMVKDblRdev87K4EfX5D2Ot0L5PoQ="; + hash = "sha256-nXDje+MJR6olG3G7RO3esf6UAKynMvCP8YetIhnqoeE="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; @@ -46,6 +46,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "CircuitPython library updater"; homepage = "https://github.com/adafruit/circup"; + changelog = "https://github.com/adafruit/circup/releases/tag/${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/tools/coder/default.nix b/pkgs/development/tools/coder/default.nix index cd82bfd16aa1..5a28c5bacd94 100644 --- a/pkgs/development/tools/coder/default.nix +++ b/pkgs/development/tools/coder/default.nix @@ -5,13 +5,13 @@ }: buildGoModule rec { pname = "coder"; - version = "0.13.2"; + version = "0.13.3"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha256-iuNTp+28tOggK3fgsa7yHmqXKz/zW/o47e5UKNppNWs="; + hash = "sha256-26RvDJ890MclDB4rtYQ7CcB3NQRXC7sI2cXd689Eq6E="; }; # integration tests require network access diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix index 340c471c2727..7015050e2d6f 100644 --- a/pkgs/development/tools/database/sqlfluff/default.nix +++ b/pkgs/development/tools/database/sqlfluff/default.nix @@ -31,8 +31,6 @@ python3.pkgs.buildPythonApplication rec { toml tqdm typing-extensions - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ] ++ lib.optionals (pythonOlder "3.8") [ backports.cached-property importlib_metadata diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix index 5faf403e71a6..f1d841828b3f 100644 --- a/pkgs/development/tools/dtools/default.nix +++ b/pkgs/development/tools/dtools/default.nix @@ -1,4 +1,4 @@ -{stdenv, lib, fetchFromGitHub, fetchpatch, ldc, curl}: +{ stdenv, lib, fetchFromGitHub, fetchpatch, ldc, curl, gnumake42 }: stdenv.mkDerivation rec { pname = "dtools"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ ldc ]; + nativeBuildInputs = [ ldc gnumake42 ]; # fails with make 4.4 buildInputs = [ curl ]; makeCmd = '' diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix index 067aedf9882a..8226b0a41d1d 100644 --- a/pkgs/development/tools/ginkgo/default.nix +++ b/pkgs/development/tools/ginkgo/default.nix @@ -2,15 +2,15 @@ buildGoModule rec { pname = "ginkgo"; - version = "2.6.0"; + version = "2.6.1"; src = fetchFromGitHub { owner = "onsi"; repo = "ginkgo"; rev = "v${version}"; - sha256 = "sha256-uL6GPi+dcPkSAaGt1Fv2cJT3Q8nJaxqs8b5w9PFJm9g="; + sha256 = "sha256-l1R/S6FHvCzdT0nhckyIi29Nntbj7lCeJghY2Tf9C2c="; }; - vendorSha256 = "sha256-a8NZ9Uws6OKfXWUL6oTZKoAG8pTYxxSNkefZtbqwyf4="; + vendorSha256 = "sha256-SV7G/FZ7kj2ghr15oTMK25Y4SjaIfRc3UfxMPFr4src="; # integration tests expect more file changes # types tests are missing CodeLocation diff --git a/pkgs/development/tools/package-project-cmake/default.nix b/pkgs/development/tools/package-project-cmake/default.nix new file mode 100644 index 000000000000..3636f4e0412c --- /dev/null +++ b/pkgs/development/tools/package-project-cmake/default.nix @@ -0,0 +1,45 @@ +{ lib +, stdenvNoCC +, fetchFromGitHub +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "package-project-cmake"; + version = "1.10.0"; + + src = fetchFromGitHub { + owner = "TheLartians"; + repo = "PackageProject.cmake"; + rev = "v${finalAttrs.version}"; + hash = "sha256-tDjWknwqN8NLx6GX16WOn0JUDAyaGU9HA7fTsHNLx9s="; + }; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/{,doc/}package-project-cmake + install -Dm644 CMakeLists.txt $out/share/package-project-cmake/ + install -Dm644 README.md $out/share/doc/package-project-cmake/ + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/TheLartians/PackageProject.cmake"; + description = "A CMake script for packaging C/C++ projects"; + longDescription = '' + Help other developers use your project. A CMake script for packaging + C/C++ projects for simple project installation while employing + best-practices for maximum compatibility. Creating installable + CMake scripts always requires a large amount of boilerplate code + to get things working. This small script should simplify the CMake + packaging process into a single, easy-to-use command. + ''; + license = licenses.mit; + maintainers = with maintainers; [ ken-matsui ]; + platforms = platforms.all; + }; +}) diff --git a/pkgs/development/tools/pip-audit/default.nix b/pkgs/development/tools/pip-audit/default.nix index cf9c2cf585cc..7c784209075d 100644 --- a/pkgs/development/tools/pip-audit/default.nix +++ b/pkgs/development/tools/pip-audit/default.nix @@ -25,14 +25,14 @@ with py.pkgs; buildPythonApplication rec { pname = "pip-audit"; - version = "2.4.8"; + version = "2.4.10"; format = "pyproject"; src = fetchFromGitHub { owner = "trailofbits"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-j5B/aDDVV/Wb71nVwc4CUxS8AY05AI+n042Q/yNAl0c="; + hash = "sha256-/NkV5KNjJfzLhAJEjePHOXqaGIwRJrD0ewe/vpFEYts="; }; nativeBuildInputs = [ diff --git a/pkgs/development/tools/poac/default.nix b/pkgs/development/tools/poac/default.nix new file mode 100644 index 000000000000..335b5cd17bef --- /dev/null +++ b/pkgs/development/tools/poac/default.nix @@ -0,0 +1,124 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, cpm-cmake +, git +, cacert +, boost179 +, fmt_8 +, icu +, libarchive +, libgit2 +, lz4 +, ninja +, openssl_3 +, spdlog +}: + +let + git2Cpp = fetchFromGitHub { + owner = "ken-matsui"; + repo = "git2-cpp"; + rev = "v0.1.0-alpha.1"; + sha256 = "sha256-Ub0wrBK5oMfWGv+kpq/W1PN3yzpcfg+XWRFF/lV9VCY="; + }; + + glob = fetchFromGitHub { + owner = "p-ranav"; + repo = "glob"; + rev = "v0.0.1"; + sha256 = "sha256-2y+a7YFBiYX8wbwCCWw1Cm+SFoXGB3ZxLPi/QdZhcdw="; + }; + + packageProjectCMake = fetchFromGitHub { + owner = "TheLartians"; + repo = "PackageProject.cmake"; + rev = "v1.3"; + sha256 = "sha256-ZktftDrPo+JhBt0XKJekv0cyxIagvcgMcXZOBd4RtKs="; + }; + + mitamaCppResult = fetchFromGitHub { + owner = "LoliGothick"; + repo = "mitama-cpp-result"; + rev = "v9.3.0"; + sha256 = "sha256-CWYVPpmPIZZTsqXKh+Ft3SlQ4C9yjUof1mJ8Acn5kmM="; + }; + + structopt = fetchFromGitHub { + owner = "p-ranav"; + repo = "structopt"; + rev = "e9722d3c2b52cf751ebc1911b93d9649c4e365cc"; + sha256 = "sha256-jIfKUyY2QQ2/donywwlz65PY8u7xODGoG6SlNtUhwkg="; + }; + + toml11 = fetchFromGitHub { + owner = "ToruNiina"; + repo = "toml11"; + rev = "9086b1114f39a8fb10d08ca704771c2f9f247d02"; + sha256 = "sha256-fHUElHO4ckNQq7Q88GdbHGxfaAvWoWtGB0eD9y2MnLo="; + }; +in +stdenv.mkDerivation rec { + pname = "poac"; + version = "0.4.1"; + + src = fetchFromGitHub { + owner = "poacpm"; + repo = pname; + rev = version; + sha256 = "sha256-jXYPeI/rVuTr7OYV5sMgNr+U1OfN0XZtun6mihtlErY="; + }; + + preConfigure = '' + mkdir -p ${placeholder "out"}/share/cpm + cp ${cpm-cmake}/share/cpm/CPM.cmake ${placeholder "out"}/share/cpm/CPM_0.35.1.cmake + ''; + + cmakeFlags = [ + "-DCPM_USE_LOCAL_PACKAGES=ON" + "-DCPM_SOURCE_CACHE=${placeholder "out"}/share" + "-DFETCHCONTENT_SOURCE_DIR_FMT=${fmt_8}" + "-DFETCHCONTENT_SOURCE_DIR_GIT2-CPP=${git2Cpp}" + "-DFETCHCONTENT_SOURCE_DIR_GLOB=${glob}" + "-DFETCHCONTENT_SOURCE_DIR_PACKAGEPROJECT.CMAKE=${packageProjectCMake}" + "-DFETCHCONTENT_SOURCE_DIR_MITAMA-CPP-RESULT=${mitamaCppResult}" + "-DFETCHCONTENT_SOURCE_DIR_NINJA=${ninja.src}" + "-DFETCHCONTENT_SOURCE_DIR_STRUCTOPT=${structopt}" + "-DFETCHCONTENT_SOURCE_DIR_TOML11=${toml11}" + ]; + + nativeBuildInputs = [ cmake git cacert ]; + buildInputs = [ + (boost179.override { + enableShared = stdenv.isDarwin; + enableStatic = !stdenv.isDarwin; + }) + fmt_8 + git2Cpp + glob + packageProjectCMake + mitamaCppResult + ninja + structopt + toml11 + icu + libarchive + libgit2 + lz4 + openssl_3 + spdlog + ]; + + meta = with lib; { + homepage = "https://poac.pm"; + description = "Package Manager for C++"; + license = licenses.asl20; + maintainers = with maintainers; [ ken-matsui ]; + platforms = platforms.unix; + # https://github.com/NixOS/nixpkgs/pull/189712#issuecomment-1237791234 + broken = (stdenv.isLinux && stdenv.isAarch64) + # error: excess elements in scalar initializer on std::aligned_alloc + || (stdenv.isDarwin && stdenv.isx86_64); + }; +} diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix index 48fe3c1f9e49..4616c889a3ee 100644 --- a/pkgs/development/tools/ruff/default.nix +++ b/pkgs/development/tools/ruff/default.nix @@ -2,26 +2,24 @@ , rustPlatform , fetchFromGitHub , stdenv -, CoreServices -, Security +, darwin }: rustPlatform.buildRustPackage rec { pname = "ruff"; - version = "0.0.183"; + version = "0.0.185"; src = fetchFromGitHub { owner = "charliermarsh"; repo = pname; rev = "v${version}"; - sha256 = "sha256-xZSPRSqtf62BSfNw3eJEvsxqGBpy/v5DKWz6mipjsAY="; + sha256 = "sha256-L2NaBvSFy+x8mLxy7r0EQUKT4FE5JHaDkVjGiJ7HzTw="; }; - cargoSha256 = "sha256-s7IQtfcRvcLgvzep0Ya6i7+OfFlQwFNG67SQe5D0/Ec="; + cargoSha256 = "sha256-/L9xgSG9ydGbjth6tBkqnuIAu7UqP+0IAX8izW1ZAkg="; buildInputs = lib.optionals stdenv.isDarwin [ - CoreServices - Security + darwin.apple_sdk.frameworks.CoreServices ]; meta = with lib; { diff --git a/pkgs/development/tools/rust/cargo-chef/default.nix b/pkgs/development/tools/rust/cargo-chef/default.nix new file mode 100644 index 000000000000..82aed4809cc9 --- /dev/null +++ b/pkgs/development/tools/rust/cargo-chef/default.nix @@ -0,0 +1,20 @@ +{ lib, rustPlatform, fetchCrate }: + +rustPlatform.buildRustPackage rec { + pname = "cargo-chef"; + version = "0.1.50"; + + src = fetchCrate { + inherit pname version; + sha256 = "sha256-d467uk4UCtAKcpFYODxIhRrYoIOHzxhoaJVMA9ErRAw="; + }; + + cargoSha256 = "sha256-5xj4/uxuMhlqY1ncrMU1IFWdVB4ZjHVXg0ZbRXDvIak="; + + meta = with lib; { + description = "A cargo-subcommand to speed up Rust Docker builds using Docker layer caching"; + homepage = "https://github.com/LukeMathWalker/cargo-chef"; + license = licenses.mit; + maintainers = with maintainers; [ kkharji ]; + }; +} diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix index 05ccb9b389e9..35d1aff01ded 100644 --- a/pkgs/development/web/flyctl/default.nix +++ b/pkgs/development/web/flyctl/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "flyctl"; - version = "0.0.437"; + version = "0.0.440"; src = fetchFromGitHub { owner = "superfly"; repo = "flyctl"; rev = "v${version}"; - sha256 = "sha256-C6c202AlWvrITplhGi9FE9M40rYiGbHuqRVoSQc9wzw="; + sha256 = "sha256-pqly/5QEwKTp9wdh+Tq4KhOFmSD1TLodamo64e13o/s="; }; - vendorSha256 = "sha256-hKWh+/iC8KSxOhwXtpyMCBmDezhYgfzp3ZMfJObWgvw="; + vendorSha256 = "sha256-yVR3pUsveZf4052hr6aO4fnvEOQyHdm3N7khcobcoyE="; subPackages = [ "." ]; diff --git a/pkgs/games/BeatSaberModManager/default.nix b/pkgs/games/BeatSaberModManager/default.nix index eec57d7cf0dd..8d607268dc64 100644 --- a/pkgs/games/BeatSaberModManager/default.nix +++ b/pkgs/games/BeatSaberModManager/default.nix @@ -7,6 +7,8 @@ buildDotnetModule, fetchFromGitHub, + dotnetCorePackages, + libX11, libICE, libSM, @@ -15,13 +17,13 @@ buildDotnetModule rec { pname = "BeatSaberModManager"; - version = "0.0.2"; + version = "0.0.4"; src = fetchFromGitHub { owner = "affederaffe"; repo = pname; rev = "v${version}"; - sha256 = "sha256-6+9pWr8jJzs430Ai2ddh/2DK3C2bQA1e1+BNDrKhyzY="; + sha256 = "sha256-XeyOWg4Wa4hiorLPnbnBrLSjnxheAGGMPTqBleulDGw="; fetchSubmodules = true; # It vendors BSIPA-Linux }; @@ -36,6 +38,9 @@ buildDotnetModule rec { }) ]; + dotnet-sdk = dotnetCorePackages.sdk_7_0; + dotnet-runtime = dotnetCorePackages.runtime_7_0; + nugetDeps = ./deps.nix; runtimeDeps = [ diff --git a/pkgs/games/BeatSaberModManager/deps.nix b/pkgs/games/BeatSaberModManager/deps.nix index 8a0f34b7cabe..57f7add09f5f 100644 --- a/pkgs/games/BeatSaberModManager/deps.nix +++ b/pkgs/games/BeatSaberModManager/deps.nix @@ -2,72 +2,120 @@ # Please dont edit it manually, your changes might get overwritten! { fetchNuGet }: [ - (fetchNuGet { pname = "Avalonia"; version = "0.10.16"; sha256 = "1197xyswinazahjd8mhfsrjszhcv4mdj48c56bmdlcsf6zbpravz"; }) + (fetchNuGet { pname = "Avalonia"; version = "11.0.0-preview4"; sha256 = "0s2ijp8fbny04c62gy8acg4n769hzj1pl9jml35bqrzk4m29jxs2"; }) (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2020091801"; sha256 = "04jm83cz7vkhhr6n2c9hya2k8i2462xbf6np4bidk55as0jdq43a"; }) - (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "0.10.16"; sha256 = "1xlg7r9r77fc9bcjw3rnnknncny7mcnkin6nwhg0sig4ab6givd2"; }) - (fetchNuGet { pname = "Avalonia.Desktop"; version = "0.10.16"; sha256 = "09fg9j411kq0012wvix1bxiybif3pm1if624mwg4ng7w2z97dfl3"; }) - (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "0.10.16"; sha256 = "1rxcbsbszgyb77gxp4zvg9k1cxw40vbm1z04dn5dqp4bfam9gnnh"; }) - (fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "0.10.16"; sha256 = "10p93y3zr8aq8malahdllknk28afr0p2n7fz1c7hbhbkdpfjz01a"; }) - (fetchNuGet { pname = "Avalonia.Native"; version = "0.10.16"; sha256 = "1m6cgql12rkzxxzvyxd1d0f5z2k4myby6d90li5p3nhblswx6jpk"; }) - (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "0.10.16"; sha256 = "1cp1i07v1pkbff2qm046r1g517lw14q3vrli6f2k0i6aw7naay80"; }) - (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "0.10.16"; sha256 = "00iv96n2q2qg34zgqzcaja39396fbk8fj373d7zld46c64kf8g4h"; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.16"; sha256 = "1rla042nc9mc36qnpipszrf0sffwi5d83cr9dmihpa015bby42pz"; }) - (fetchNuGet { pname = "Avalonia.Win32"; version = "0.10.16"; sha256 = "171jv4hdi2r0wgmrjv8ajnjmwrf9j2d0g4ffyhhmmjnaclckgzgv"; }) - (fetchNuGet { pname = "Avalonia.X11"; version = "0.10.16"; sha256 = "0yr8vkn59phlgcjkhzyygn2i3ghzhvd64sy84qyxxxyfm376cyxr"; }) - (fetchNuGet { pname = "DryIoc.dll"; version = "5.1.0"; sha256 = "0vim3xmaajnvhwz01028lizjl2j0y2r2cbiwz0ga7n903pncrahw"; }) - (fetchNuGet { pname = "DynamicData"; version = "7.9.4"; sha256 = "0mfmlsdd48dpwiphqhq8gsix2528mc6anp7rakd6vyzmig60f520"; }) - (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2-preview.178"; sha256 = "1p5nwzl7jpypsd6df7hgcf47r977anjlyv21wacmalsj6lvdgnvn"; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2-preview.178"; sha256 = "1402ylkxbgcnagcarqlfvg4gppy2pqs3bmin4n5mphva1g7bqb2p"; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2-preview.178"; sha256 = "0p8miaclnbfpacc1jaqxwfg0yfx9byagi4j4k91d9621vd19i8b2"; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2-preview.178"; sha256 = "1n9jay9sji04xly6n8bzz4591fgy8i65p21a8mv5ip9lsyj1c320"; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2-preview.178"; sha256 = "1r5syii96wv8q558cvsqw3lr10cdw6677lyiy82p6i3if51v3mr7"; }) + (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.0-preview4"; sha256 = "0dbbigfg5qqqgi16fglsqphg63ihl3hhpfw9f85ypvb5dfjimnq0"; }) + (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.0-preview4"; sha256 = "10c1w7slmlkn1sjyk2y8awzlkd9rr35zpvwnvsv0i235zbqc3a07"; }) + (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.0-preview4"; sha256 = "1ccnfi429hah9qsl6qimkhlz6j29zjjpm77di14wnlr8x3nh19z0"; }) + (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.0-preview4"; sha256 = "1x8d46p9wxwrfhn4xcgx64x5y9dw08a7v54w8ms9ba58zr01bm74"; }) + (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.0-preview4"; sha256 = "1ivrh736xxn3j1b64ni0wy7ydp22sbl2yv5kdircxknhb7bhpigd"; }) + (fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "11.0.0-preview4"; sha256 = "16p0va19f83ccq493vxa8rvdgy71jsgijymb078bagk5nsm2alzs"; }) + (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.0-preview4"; sha256 = "0ia7zx7chgchh4piqp400cdpj14jndh313yh2z9nspqxq30xll46"; }) + (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "11.0.0-preview4"; sha256 = "0qrv6ff3lgsqa57q5nrsmfzfp3w2x6d536xi3hq18616zjv7k1x4"; }) + (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.0-preview4"; sha256 = "1g8j7ll3q9k7v0j54j42dy1mkzkgs9rlyia0gjg3b7z5ilk0rbiz"; }) + (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.0-preview4"; sha256 = "011flxwy9rnjlvwb1nvn9qlj0nfsr3f4gmvlzkg7abhwh7hzv3vi"; }) + (fetchNuGet { pname = "Avalonia.Themes.Fluent"; version = "11.0.0-preview4"; sha256 = "07lkj6z4fy41i6fbnrzkb22z63czspcnfp5lz25qkvys37vkmhdm"; }) + (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.0-preview4"; sha256 = "02cn71h91fxvw9knni2dxlhpf9ihdkq3r0mylvr8z7r493saiqkm"; }) + (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.0-preview4"; sha256 = "1fqj7jv22ki9pim55hav8qfr01vhjkzdp5rdi1p22xxmgrxws5ws"; }) + (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.0-preview4"; sha256 = "0lmw94qp4y05xzxx6flzgsv4cw6mckcn8ig6mm8hdqpqqsiihc1n"; }) + (fetchNuGet { pname = "DynamicData"; version = "7.9.5"; sha256 = "1m9qx8g6na5ka6kd9vhg8gjmxrnkzb6v5cl5yqp1kdjsw4rcwy6x"; }) + (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.1-preview.108"; sha256 = "0xs4px4fy5b6glc77rqswzpi5ddhxvbar1md6q9wla7hckabnq0z"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.1-preview.108"; sha256 = "16wvgvyra2g1b38rxxgkk85wbz89hspixs54zfcm4racgmj1mrj4"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.1-preview.108"; sha256 = "16v7lrwwif2f5zfkx08n6y6w3m56mh4hy757biv0w9yffaf200js"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.1-preview.108"; sha256 = "15kqb353snwpavz3jja63mq8xjqsrw1f902scm8wxmsqrm5q6x55"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.1-preview.108"; sha256 = "0n6ymn9jqms3mk5hg0ar4y9jmh96myl6q0jimn7ahb1a8viq55k1"; }) (fetchNuGet { pname = "JetBrains.Annotations"; version = "10.3.0"; sha256 = "1grdx28ga9fp4hwwpwv354rizm8anfq4lp045q4ss41gvhggr3z8"; }) + (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; sha256 = "0p9c3m0zk59x9dcqw077hzd2yk60myisbacvm36mnwpcjwzjkp2m"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.11"; sha256 = "15n8x52njzxs2cwzzswi0kawm673jkvf2yga87jaf7hr729bfmcr"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.11"; sha256 = "1pw25rnw5nm51wjdjbrhzhz9v0c8gjjqn2na2bam3c5xawvnqkqf"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.11"; sha256 = "0vd5da34frm7avrc9d16d39s2k5sgzd260j5pkjsianhpjby5rbn"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; sha256 = "1kmry65csvfn72zzc16vj1nfbfwam28wcmlrk3m5rzb8ydbzgylb"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.8.0"; sha256 = "0w0yx0lpg54iw5jazqk46h48gx43ij32gwac8iywdj6kxfxm03vw"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; sha256 = "0hjgxcsj5zy27lqk0986m59n5dbplx2vjjla2lsvg4bwg8qa7bpk"; }) + (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; }) (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.11"; sha256 = "0k8nl3hnr8h0ljw185dyhavrz2f7x6wavyadyf7f1v289jzasj72"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.11"; sha256 = "0bnq4dj7s5mspi7f8ihpp2y4bncb229ihrcmxvifsbb15mlhh8g4"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.11"; sha256 = "1j64ppdvh5s3pqr6sm3sq9bmk3fzj7l4j3bx023zn3dyllibpv68"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.11"; sha256 = "03kvh4l5j8i8263wz7fmznzf5rs1grgazrhi3ayhynvhdal04mdk"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.11"; sha256 = "1f60dyl8pnj067i7bvmsbazcvrjkgrz9943vjj0ym49cfyq98cnw"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; }) (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) - (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "4.5.0"; sha256 = "0fnkv3ky12227zqg4zshx4kw2mvysq2ppxjibfw02cc3iprv4njq"; }) - (fetchNuGet { pname = "ReactiveUI"; version = "18.2.9"; sha256 = "156747759npb2dgsnd2y1bq2vnmmssizsz78kf80mr8pd60wlbj4"; }) + (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; }) + (fetchNuGet { pname = "ReactiveUI"; version = "18.3.1"; sha256 = "1lxkc8yk9glj0w9n5vry2dnwwvh8152ad2c5bivk8aciq64zidyn"; }) + (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.0.11"; sha256 = "1x44bm1cgv28zmrp095wf9mn8a6a0ivnzp9v14dcbhx06igxzgg0"; }) + (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.0.11"; sha256 = "0240rp66pi5bw1xklmh421hj7arwcdmjmgfkiq1cbc6nrm8ah286"; }) (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.1.0"; sha256 = "0kasfkjiml2kk8prnyn1990nhsahnjggvqwszqjdsfwfl43vpcb5"; }) (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.1.0"; sha256 = "06kcs059d5czyakx75rvlwa2mr86156w18fs7chd03f7084l7mq6"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.0.1"; sha256 = "05k34ijz9g9csh0vbbv3g3lrxl163izwcfncmbcl7k073h32rzkr"; }) (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1zxrpvixr5fqzkxpnin6g6gjq6xajy1snghz99ds2dwbhm276rhz"; }) + (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "1jmgs7hynb2rff48623wnyb37558bbh1q28k9c249j5r5sgsr5kr"; }) (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.1.0"; sha256 = "0mjr2bi7wvnkphfjqgkyf8vfyvy15a829jz6mivl6jmksh2bx40m"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.0.1"; sha256 = "1kswgqhy34qvc49i981fk711s7knd6z13bp0rin8ms6axkh98nas"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "0gm8if0hcmp1qys1wmx4970k2x62pqvldgljsyzbjhiy5644vl8z"; }) (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.0.11"; sha256 = "0m4vgmzi1ky8xlj0r7xcyazxln3j9dlialnk6d2gmgrfnzf8f9m7"; }) (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.0.11"; sha256 = "1qzdp09qs8br5qxzlm1lgbjn4n57fk8vr1lzrmli2ysdg6x1xzvk"; }) (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; }) + (fetchNuGet { pname = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; }) + (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "05ndbai4vpqrry0ghbfgqc8xblmplwjgndxmdn1zklqimczwjg2d"; }) (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.0.1"; sha256 = "0ic5dgc45jkhcr1g9xmmzjm7ffiw4cymm0fprczlx4fnww4783nm"; }) + (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0x1cwd7cvifzmn5x1wafvj75zdxlk3mxy860igh3x1wx0s8167y4"; }) (fetchNuGet { pname = "Serilog"; version = "2.10.0"; sha256 = "08bih205i632ywryn3zxkhb15dwgyaxbhmm1z3b5nmby9fb25k7v"; }) - (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; }) - (fetchNuGet { pname = "SkiaSharp"; version = "2.88.1-preview.1"; sha256 = "1i1px67hcr9kygmbfq4b9nqzlwm7v2gapsp4isg9i19ax5g8dlhm"; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.1-preview.1"; sha256 = "1r9qr3civk0ws1z7hg322qyr8yjm10853zfgs03szr2lvdqiy7d1"; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.1-preview.1"; sha256 = "1w55nrwpl42psn6klia5a9aw2j1n25hpw2fdhchypm9f0v2iz24h"; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.1-preview.1"; sha256 = "0mwj2yl4gn40lry03yqkj7sbi1drmm672dv88481sgah4c21lzrq"; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.1-preview.1"; sha256 = "1k50abd147pif9z9lkckbbk91ga1vv6k4skjz2n7wpll6fn0fvlv"; }) - (fetchNuGet { pname = "Splat"; version = "14.3.4"; sha256 = "1j5riry4hc6gmw6zkwqq4fsw4rcddnb8kwyhnb321qp60z8v8pv4"; }) + (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.1-dev-00947"; sha256 = "153vi3xjy65ixfr8nfs59n0bmgj0jxfyydmhjs8h3apr9f29lbh4"; }) + (fetchNuGet { pname = "SkiaSharp"; version = "2.88.1"; sha256 = "0jpn0x1rfj3dzjfg972icml5swvzvr368nip269qq0a2z4xy0lhx"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.1"; sha256 = "19f8f0m3d6xds2dggazafdk4i3injaxpx7ahg73nq8zj03qbg7fp"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.1"; sha256 = "1img6chwxprz6bqjyi43walgb3xccnzgfxs29xwcvkkmc8w6pvdp"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.1"; sha256 = "0bvpwfdji8wb5f16hfzc62k265p21r172dqpibdx1gjd6w6phxrs"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.1"; sha256 = "1x0ds2nnbqn44kfrfbvj055nihhmzlqm5fhdka3mgbj821fpy629"; }) + (fetchNuGet { pname = "Splat"; version = "14.4.1"; sha256 = "03ycyjn2ii44npi015p4rk344xnjgdzz02cf63cmhx2ab8hv6p4b"; }) + (fetchNuGet { pname = "StrongInject"; version = "1.4.5-ci-20220524-023137"; sha256 = "1ksiv5rs22j193sxwjvdc4vhblikka9z8hhs705f4mi1r4q0x1ha"; }) + (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) + (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; }) (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; }) - (fetchNuGet { pname = "System.Drawing.Common"; version = "4.5.0"; sha256 = "0knqa0zsm91nfr34br8gx5kjqq4v81zdhqkacvs2hzc8nqk0ddhc"; }) + (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) + (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; }) + (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; }) + (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) + (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) + (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; }) + (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; }) + (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; }) (fetchNuGet { pname = "System.Private.Uri"; version = "4.0.1"; sha256 = "0k57qhawjysm4cpbfpc49kl4av7lji310kjcamkl23bwgij5ld9j"; }) (fetchNuGet { pname = "System.Reactive"; version = "5.0.0"; sha256 = "1lafmpnadhiwxyd543kraxa3jfdpm6ipblxrjlibym9b1ykpr5ik"; }) (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; }) (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; }) (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; }) + (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; }) + (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; }) + (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; }) (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) + (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; }) + (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; }) (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.6.0"; sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; }) + (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) + (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; }) (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) + (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; }) + (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; }) (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; }) - (fetchNuGet { pname = "ThisAssembly.AssemblyInfo"; version = "1.0.9"; sha256 = "0rvav885cq7ia5kzwp7d37c2azsg47988z2fn6ksi1q6y294crxm"; }) - (fetchNuGet { pname = "ThisAssembly.Prerequisites"; version = "1.0.9"; sha256 = "1igi76li4c1iif71141jhn7x5w0ng1vmqj5ijjhdxz289n6wjf2g"; }) + (fetchNuGet { pname = "ThisAssembly.AssemblyInfo"; version = "1.0.10"; sha256 = "1hvq0c9d6zmn1q6lyvz4hcaiypf1d65akhx70mv2plysbgvrcm95"; }) + (fetchNuGet { pname = "ThisAssembly.Prerequisites"; version = "1.0.10"; sha256 = "112grp0xxkzfkhyxb1hbh4qs2d9qrkasv42himdkqjk0i0fg1ag0"; }) (fetchNuGet { pname = "Tmds.DBus"; version = "0.9.0"; sha256 = "0vvx6sg8lxm23g5jvm5wh2gfs95mv85vd52lkq7d1b89bdczczf3"; }) - (fetchNuGet { pname = "XamlNameReferenceGenerator"; version = "1.3.4"; sha256 = "0w1bz5sr6y5fhgx1f54xyl8rx7y3kyf1fhacnd6akq8970zjdkdi"; }) + (fetchNuGet { pname = "XamlNameReferenceGenerator"; version = "1.5.1"; sha256 = "11sld5a9z2rdglkykvylghka7y37ny18naywpgpxp485m9bc63wc"; }) ] diff --git a/pkgs/games/minecraft-servers/versions.json b/pkgs/games/minecraft-servers/versions.json index 8dce87bb301d..b0c4ca19a3e8 100644 --- a/pkgs/games/minecraft-servers/versions.json +++ b/pkgs/games/minecraft-servers/versions.json @@ -1,8 +1,8 @@ { "1.19": { - "url": "https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar", - "sha1": "f69c284232d7c7580bd89a5a4931c3581eae1378", - "version": "1.19.2", + "url": "https://piston-data.mojang.com/v1/objects/c9df48efed58511cdd0213c56b9013a7b5c9ac1f/server.jar", + "sha1": "c9df48efed58511cdd0213c56b9013a7b5c9ac1f", + "version": "1.19.3", "javaVersion": 17 }, "1.18": { diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index c844dbffee40..30e0ce44ca4a 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -26,34 +26,15 @@ with lib; stdenv.mkDerivation rec { pname = "cups"; - # After 2.2.6, CUPS requires headers only available in macOS 10.12+ - version = if stdenv.isDarwin then "2.2.6" else "2.4.2"; + version = "2.4.2"; - src = fetchurl (if stdenv.isDarwin then { - url = "https://github.com/apple/cups/releases/download/v${version}/cups-${version}-source.tar.gz"; - sha256 = "16qn41b84xz6khrr2pa2wdwlqxr29rrrkjfi618gbgdkq9w5ff20"; - } else { + src = fetchurl { url = "https://github.com/OpenPrinting/cups/releases/download/v${version}/cups-${version}-source.tar.gz"; sha256 = "sha256-8DzLQLCH0eMJQKQOAUHcu6Jj85l0wg658lIQZsnGyQg="; - }); + }; outputs = [ "out" "lib" "dev" "man" ]; - patches = lib.optionals (version == "2.2.6") [ - ./0001-TargetConditionals.patch - (fetchpatch { - name = "CVE-2022-26691.patch"; - url = "https://github.com/OpenPrinting/cups/commit/de4f8c196106033e4c372dce3e91b9d42b0b9444.patch"; - sha256 = "sha256-IKOtV7bCS6PstwK6YqnYRYTeH562jWwkley86p+6Of8="; - excludes = [ "CHANGES.md" ]; - }) - (fetchpatch { - name = "CVE-2022-26691-fix-comment.patch"; - url = "https://github.com/OpenPrinting/cups/commit/411b6136f450a583ee08c3880fa09dbe837eb3f1.patch"; - sha256 = "sha256-dVopmr34c9N5H2ZZz52rXVnHQBuDTNo8M40x9455+jQ="; - }) - ]; - postPatch = '' substituteInPlace cups/testfile.c \ --replace 'cupsFileFind("cat", "/bin' 'cupsFileFind("cat", "${coreutils}/bin' @@ -83,8 +64,7 @@ stdenv.mkDerivation rec { ] ++ optional (libusb1 != null) "--enable-libusb" ++ optional (gnutls != null) "--enable-ssl" ++ optional (avahi != null) "--enable-avahi" - ++ optional (libpaper != null) "--enable-libpaper" - ++ optional stdenv.isDarwin "--disable-launchd"; + ++ optional (libpaper != null) "--enable-libpaper"; # AR has to be an absolute path preConfigure = '' @@ -108,6 +88,7 @@ stdenv.mkDerivation rec { installFlags = [ # Don't try to write in /var at build time. "CACHEDIR=$(TMPDIR)/dummy" + "LAUNCHD_DIR=$(TMPDIR)/dummy" "LOGDIR=$(TMPDIR)/dummy" "REQUESTS=$(TMPDIR)/dummy" "STATEDIR=$(TMPDIR)/dummy" diff --git a/pkgs/misc/fastly/default.nix b/pkgs/misc/fastly/default.nix index 843fa781c2e8..9b81a34248df 100644 --- a/pkgs/misc/fastly/default.nix +++ b/pkgs/misc/fastly/default.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "fastly"; - version = "4.4.1"; + version = "4.5.0"; src = fetchFromGitHub { owner = "fastly"; repo = "cli"; rev = "refs/tags/v${version}"; - hash = "sha256-82OZwO6r+wPq6AMm27M9U6dQyE3iOpAzW31HzRji5Fo="; + hash = "sha256-l/EnlyrSofuk4/69R2VUdP6MyKOVAOI7cIOW1TLeBww="; # The git commit is part of the `fastly version` original output; # leave that output the same in nixpkgs. Use the `.git` directory # to retrieve the commit SHA, and remove the directory afterwards, @@ -31,7 +31,7 @@ buildGoModule rec { "cmd/fastly" ]; - vendorHash = "sha256-zilgzfPD7HmHt0/u94JLaY6NPvn1JjXFu1K2YO0tF9M="; + vendorHash = "sha256-cXO5zhc9RZlweoU6pva2sBvcjNWBeFSUz+k9BbQpUX0="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/os-specific/darwin/pam-reattach/default.nix b/pkgs/os-specific/darwin/pam-reattach/default.nix index 03d0547fc167..4350865080f0 100644 --- a/pkgs/os-specific/darwin/pam-reattach/default.nix +++ b/pkgs/os-specific/darwin/pam-reattach/default.nix @@ -1,12 +1,5 @@ { lib, stdenv, fetchFromGitHub, cmake, openpam, darwin }: -let - sdk = - if stdenv.isAarch64 - then null - else darwin.apple_sdk.sdk; -in - stdenv.mkDerivation rec { pname = "pam_reattach"; version = "1.3"; @@ -26,12 +19,10 @@ stdenv.mkDerivation rec { "arm64" }" "-DENABLE_CLI=ON" - ] - ++ lib.optional (sdk != null) - "-DCMAKE_LIBRARY_PATH=${sdk}/usr/lib"; + ] ++ lib.optional (!stdenv.isAarch64) "-DCMAKE_LIBRARY_PATH=${darwin.apple_sdk.sdk}/usr/lib"; buildInputs = [ openpam ] - ++ lib.optional (sdk != null) sdk; + ++ lib.optional (!stdenv.isAarch64) darwin.apple_sdk.sdk; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix index ff8fbb460b27..020aee04af79 100644 --- a/pkgs/os-specific/linux/bluez/default.nix +++ b/pkgs/os-specific/linux/bluez/default.nix @@ -1,6 +1,7 @@ { stdenv , lib , fetchurl +, fetchpatch , alsa-lib , dbus , ell @@ -22,13 +23,21 @@ ]; in stdenv.mkDerivation rec { pname = "bluez"; - version = "5.65"; + version = "5.66"; src = fetchurl { url = "mirror://kernel/linux/bluetooth/${pname}-${version}.tar.xz"; - sha256 = "sha256-JWWk1INUtXbmrZLiW1TtZoCCllgciruAWHBR+Zk9ltQ="; + sha256 = "sha256-Of6mS1kMlJKYSgwnqJ/CA+HNx0hmCG77j0aYZ3qytXQ="; }; + patches = [ + # replace use of a non-standard symbol to fix build with musl libc (pkgsMusl.bluez) + (fetchpatch { + url = "https://git.alpinelinux.org/aports/plain/main/bluez/max-input.patch?id=32b31b484cb13009bd8081c4106e4cf064ec2f1f"; + sha256 = "sha256-SczbXtsxBkCO+izH8XOBcrJEO2f7MdtYVT3+2fCV8wU="; + }) + ]; + buildInputs = [ alsa-lib dbus diff --git a/pkgs/os-specific/linux/catfs/default.nix b/pkgs/os-specific/linux/catfs/default.nix index dbb525e0e298..36eaf607201e 100644 --- a/pkgs/os-specific/linux/catfs/default.nix +++ b/pkgs/os-specific/linux/catfs/default.nix @@ -6,25 +6,22 @@ rustPlatform.buildRustPackage rec { pname = "catfs"; - version = "unstable-2020-03-21"; + version = "0.9.0"; src = fetchFromGitHub { owner = "kahing"; repo = pname; - rev = "daa2b85798fa8ca38306242d51cbc39ed122e271"; - sha256 = "0zca0c4n2p9s5kn8c9f9lyxdf3df88a63nmhprpgflj86bh8wgf5"; + rev = "v${version}"; + hash = "sha256-OvmtU2jpewP5EqPwEFAf67t8UCI1WuzUO2QQj4cH1Ak="; }; - cargoSha256 = "1agcwq409s40kyij487wjrp8mj7942r9l2nqwks4xqlfb0bvaimf"; - - cargoPatches = [ - # update cargo lock - (fetchpatch { - url = "https://github.com/kahing/catfs/commit/f838c1cf862cec3f1d862492e5be82b6dbe16ac5.patch"; - sha256 = "1r1p0vbr3j9xyj9r1ahipg4acii3m4ni4m9mp3avbi1rfgzhblhw"; - }) + patches = [ + # monitor https://github.com/kahing/catfs/issues/71 + ./fix-for-rust-1.65.diff ]; + cargoHash = "sha256-xF1J2Pr4qtNFcd2kec4tnbdYxoLK+jRnzp8p+cmNOcI="; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ fuse ]; diff --git a/pkgs/os-specific/linux/catfs/fix-for-rust-1.65.diff b/pkgs/os-specific/linux/catfs/fix-for-rust-1.65.diff new file mode 100644 index 000000000000..4208c362ebcd --- /dev/null +++ b/pkgs/os-specific/linux/catfs/fix-for-rust-1.65.diff @@ -0,0 +1,13 @@ +diff --git a/src/catfs/file.rs b/src/catfs/file.rs +index 6e781eb..92fdd80 100644 +--- a/src/catfs/file.rs ++++ b/src/catfs/file.rs +@@ -569,7 +569,7 @@ impl Handle { + path: &dyn AsRef, + create: bool, + ) -> error::Result<()> { +- let _ = self.page_in_res.0.lock().unwrap(); ++ drop(self.page_in_res.0.lock().unwrap()); + + let mut buf = [0u8; 0]; + let mut flags = rlibc::O_RDWR; diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix index 2fce9d6f0d7b..1e188fbe6074 100644 --- a/pkgs/os-specific/linux/ell/default.nix +++ b/pkgs/os-specific/linux/ell/default.nix @@ -7,14 +7,14 @@ stdenv.mkDerivation rec { pname = "ell"; - version = "0.53"; + version = "0.54"; outputs = [ "out" "dev" ]; src = fetchgit { url = "https://git.kernel.org/pub/scm/libs/ell/ell.git"; rev = version; - sha256 = "sha256-txtXPWmLfZLBsK3s94W5LyA81mTHStpP3nkq6KW33Mk="; + sha256 = "sha256-Oi+S4DWXuTUL36Xh3iWIZj9rdN2qUDHmZiFSH1csW+8="; }; nativeBuildInputs = [ diff --git a/pkgs/os-specific/linux/fwts/default.nix b/pkgs/os-specific/linux/fwts/default.nix index a5b2dabfd264..ec3d0f880f84 100644 --- a/pkgs/os-specific/linux/fwts/default.nix +++ b/pkgs/os-specific/linux/fwts/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchzip, autoreconfHook, pkg-config, glib, pcre +{ lib, stdenv, fetchzip, autoreconfHook, pkg-config, gnumake42, glib, pcre , json_c, flex, bison, dtc, pciutils, dmidecode, acpica-tools, libbsd }: stdenv.mkDerivation rec { @@ -11,7 +11,8 @@ stdenv.mkDerivation rec { stripRoot = false; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + # fails with make 4.4 + nativeBuildInputs = [ autoreconfHook pkg-config gnumake42 ]; buildInputs = [ glib pcre json_c flex bison dtc pciutils dmidecode acpica-tools libbsd ]; postPatch = '' diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix index c121ef6f6f53..8fb826833704 100644 --- a/pkgs/os-specific/linux/hwdata/default.nix +++ b/pkgs/os-specific/linux/hwdata/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "hwdata"; - version = "0.363"; + version = "0.364"; src = fetchFromGitHub { owner = "vcrhonek"; repo = "hwdata"; rev = "v${version}"; - sha256 = "sha256-A6GNrHc/t2SVyAyJWmzQTa+pD9wGESsz7DNruW2kH4s="; + sha256 = "sha256-9fGYoyj7vN3j72H+6jv/R0MaWPZ+4UNQhCSWnZRZZS4="; }; postPatch = '' diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix index b62b6946e425..b3895c286c56 100644 --- a/pkgs/os-specific/linux/iwd/default.nix +++ b/pkgs/os-specific/linux/iwd/default.nix @@ -12,12 +12,12 @@ stdenv.mkDerivation rec { pname = "iwd"; - version = "1.30"; + version = "2.0"; src = fetchgit { url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git"; rev = version; - sha256 = "sha256-9uyYXxnxRqWvzrw3QXCOT/ZubQ8/nrB+b60jKn1hAJk="; + sha256 = "sha256-9eQ2fW3ha69ngugYonbYdqrpERqt8aM0Ed4HM0CrmUU="; }; outputs = [ "out" "man" "doc" ] diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 1351008886a3..5ac3a827f686 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -523,6 +523,15 @@ let X86_SGX = whenAtLeast "5.11" yes; # Allow KVM guests to load SGX enclaves X86_SGX_KVM = whenAtLeast "5.13" yes; + + # AMD Cryptographic Coprocessor (CCP) + CRYPTO_DEV_CCP = yes; + # AMD SME + AMD_MEM_ENCRYPT = yes; + # AMD SEV and AMD SEV-SE + KVM_AMD_SEV = whenAtLeast "4.16" yes; + # AMD SEV-SNP + SEV_GUEST = whenAtLeast "5.19" module; }; microcode = { diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index 7dad1359ee8e..a58782828478 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -12,8 +12,8 @@ let # ./update-zen.py lqx lqxVariant = { version = "6.0.13"; #lqx - suffix = "lqx2"; #lqx - sha256 = "0xxxlv6rk620s947qj6xxxbjc8asynmx4ilbp66ahi92inxqiw29"; #lqx + suffix = "lqx3"; #lqx + sha256 = "0dc295d9dfm3j2nmvkzy21ky1k6jp7c7miqjhqgfjny9yk1b41k4"; #lqx isLqx = true; }; zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // { diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix index 316907f5f679..221bcd8e89f2 100644 --- a/pkgs/os-specific/windows/mingw-w64/default.nix +++ b/pkgs/os-specific/windows/mingw-w64/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, windows, fetchurl }: +{ lib +, stdenv +, windows +, fetchurl +, fetchpatch +, autoreconfHook +}: let version = "10.0.0"; @@ -11,6 +17,20 @@ in stdenv.mkDerivation { hash = "sha256-umtDCu1yxjo3aFMfaj/8Kw/eLFejslFFDc9ImolPCJQ="; }; + patches = [ + # Upstream patches to fix build parallelism + (fetchpatch { + name = "crt-suff-make-4.4.patch"; + url = "https://github.com/mirror/mingw-w64/commit/953bcd32ae470c4647e94de8548dda5a8f07d82d.patch"; + hash = "sha256-lrS4ZDa/Uwsj5DXajOUv+knZXan0JVU70KHHdIjJ07Y="; + }) + (fetchpatch { + name = "dll-dep-make-4.4.patch"; + url = "https://github.com/mirror/mingw-w64/commit/e1b0c1420bbd52ef505c71737c57393ac1397b0a.patch"; + hash = "sha256-/56Cmmy0UYTaDKIWG7CgXsThvCHK6lSbekbBOoOJSIQ="; + }) + ]; + outputs = [ "out" "dev" ]; configureFlags = [ @@ -20,6 +40,7 @@ in stdenv.mkDerivation { enableParallelBuilding = true; + nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ windows.mingw_w64_headers ]; hardeningDisable = [ "stackprotector" "fortify" ]; diff --git a/pkgs/servers/adguardhome/bins.nix b/pkgs/servers/adguardhome/bins.nix index d2c6b334eab0..b7b75ca39780 100644 --- a/pkgs/servers/adguardhome/bins.nix +++ b/pkgs/servers/adguardhome/bins.nix @@ -1,23 +1,23 @@ { fetchurl, fetchzip }: { x86_64-darwin = fetchzip { - sha256 = "sha256-pCyMhfDl371zzc3oXo+n09qNcxMtDQEqaqVW+YIrx28="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_darwin_amd64.zip"; + sha256 = "sha256-ViWbvpGU6mk9N8Nstn0urZrcd8JIPs9Ok9806+vUvy0="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.21/AdGuardHome_darwin_amd64.zip"; }; aarch64-darwin = fetchzip { - sha256 = "sha256-O2UTzaWaYTkeR3z/O8U/Btigjp/8gns4Y/D9yoX2Hns="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_darwin_arm64.zip"; + sha256 = "sha256-ixfeTi2Y44Om7RCKZOw3oJX+FiwTT+s7MSSqowyNKUU="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.21/AdGuardHome_darwin_arm64.zip"; }; i686-linux = fetchurl { - sha256 = "sha256-ao/uebGho3CafFEcCfcS+awsC9lO/6z1UL57Yvr/q14="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_linux_386.tar.gz"; + sha256 = "sha256-EZzZ8Z6N+wctI/ncLjIAvFgQN1YWOnywhihxF+C6MOs="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.21/AdGuardHome_linux_386.tar.gz"; }; x86_64-linux = fetchurl { - sha256 = "sha256-KJIogRRlZFPy3jBb9JeEA7xgZkl9/97cA13rBK6/1fI="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_linux_amd64.tar.gz"; + sha256 = "sha256-xU5PxscqBEGNCgA241UbhJcxlNXpCxbFeU7bfmSqf7I="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.21/AdGuardHome_linux_amd64.tar.gz"; }; aarch64-linux = fetchurl { - sha256 = "sha256-r8gqUa9dULAYPUB64X4aqyaNf0CpckUNIsWl+VylhaM="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_linux_arm64.tar.gz"; + sha256 = "sha256-ajhvvxYwttEaCQXL4WaDcjzk8g0krhIXJv5VHEEdfqg="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.21/AdGuardHome_linux_arm64.tar.gz"; }; } diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix index 99c7e9688f35..34bbe8655c82 100644 --- a/pkgs/servers/adguardhome/default.nix +++ b/pkgs/servers/adguardhome/default.nix @@ -7,7 +7,7 @@ in stdenv.mkDerivation rec { pname = "adguardhome"; - version = "0.107.20"; + version = "0.107.21"; src = sources.${system} or (throw "Source for ${pname} is not available for ${system}"); installPhase = '' diff --git a/pkgs/servers/calibre-web/default.nix b/pkgs/servers/calibre-web/default.nix index 6047eae3c962..14c4822f3fb4 100644 --- a/pkgs/servers/calibre-web/default.nix +++ b/pkgs/servers/calibre-web/default.nix @@ -18,7 +18,6 @@ python3.pkgs.buildPythonApplication rec { propagatedBuildInputs = with python3.pkgs; [ APScheduler advocate - backports_abc chardet flask-babel flask-login @@ -54,6 +53,8 @@ python3.pkgs.buildPythonApplication rec { mv cps.py src/calibreweb/__init__.py mv cps src/calibreweb + sed -i "/backports_abc/d" setup.cfg + substituteInPlace setup.cfg \ --replace "cps = calibreweb:main" "calibre-web = calibreweb:main" \ --replace "chardet>=3.0.0,<4.1.0" "chardet>=3.0.0,<6" \ diff --git a/pkgs/servers/http/apache-modules/mod_tile/default.nix b/pkgs/servers/http/apache-modules/mod_tile/default.nix index 78c5749a616e..33d02f07093c 100644 --- a/pkgs/servers/http/apache-modules/mod_tile/default.nix +++ b/pkgs/servers/http/apache-modules/mod_tile/default.nix @@ -1,4 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, apacheHttpd, apr, cairo, iniparser, mapnik }: +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, autoreconfHook +, apacheHttpd +, apr +, cairo +, iniparser +, mapnik +, boost +, icu +, harfbuzz +, libjpeg +, libtiff +, libwebp +, proj +, sqlite +}: stdenv.mkDerivation rec { pname = "mod_tile"; @@ -21,8 +39,27 @@ stdenv.mkDerivation rec { }) ]; + # test is broken and I couldn't figure out a better way to disable it. + postPatch = '' + echo "int main(){return 0;}" > src/gen_tile_test.cpp + ''; + nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ apacheHttpd apr cairo iniparser mapnik ]; + buildInputs = [ + apacheHttpd + apr + cairo + iniparser + mapnik + boost + icu + harfbuzz + libjpeg + libtiff + libwebp + proj + sqlite + ]; configureFlags = [ "--with-apxs=${apacheHttpd.dev}/bin/apxs" diff --git a/pkgs/servers/libreddit/default.nix b/pkgs/servers/libreddit/default.nix index 2aa7159a5f99..ba609526015d 100644 --- a/pkgs/servers/libreddit/default.nix +++ b/pkgs/servers/libreddit/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "libreddit"; - version = "0.25.0"; + version = "0.25.1"; src = fetchFromGitHub { owner = "libreddit"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-IIL06jhl9wMLQTQtr96kq4Kkf2oGO3xxJxcB9Y34iUk="; + hash = "sha256-/K79EHjqkclyh1AmRaevYcyUD4XSrTfd5zjnpOmBNcE="; }; - cargoSha256 = "sha256-uIr8aUDErHVUKML2l6nITSBpOxqg3h1Md0948BxvutI="; + cargoSha256 = "sha256-KYuEy5MwgdiHHbDDNyb+NVYyXdvx1tCH7dQdPWCCfQo="; buildInputs = lib.optionals stdenv.isDarwin [ Security diff --git a/pkgs/servers/monitoring/mimir/default.nix b/pkgs/servers/monitoring/mimir/default.nix index 0c2b44c63a90..bb7153a301a1 100644 --- a/pkgs/servers/monitoring/mimir/default.nix +++ b/pkgs/servers/monitoring/mimir/default.nix @@ -1,13 +1,16 @@ { lib, buildGoModule, fetchFromGitHub, nixosTests }: +let + pinData = lib.importJSON ./pin.json; +in buildGoModule rec { pname = "mimir"; - version = "2.4.0"; + version = pinData.version; src = fetchFromGitHub { rev = "${pname}-${version}"; owner = "grafana"; repo = pname; - sha256 = "sha256-OpQxVp4Q2+r3Tqrqw3SrBsJDU5KJqChxsuYneT0PvYQ="; + sha256 = pinData.sha256; }; vendorSha256 = null; @@ -17,8 +20,11 @@ buildGoModule rec { "cmd/mimirtool" ]; - passthru.tests = { - inherit (nixosTests) mimir; + passthru = { + updateScript = ./update.sh; + tests = { + inherit (nixosTests) mimir; + }; }; ldflags = let t = "github.com/grafana/mimir/pkg/util/version"; diff --git a/pkgs/servers/monitoring/mimir/pin.json b/pkgs/servers/monitoring/mimir/pin.json new file mode 100644 index 000000000000..52e041745783 --- /dev/null +++ b/pkgs/servers/monitoring/mimir/pin.json @@ -0,0 +1,4 @@ +{ + "version": "mimir-2.5.0", + "sha256": "sha256-lyF7ugnNEJug1Vx24ISrtENk6RoIt7H1zaCPYUZbBmM=" +} diff --git a/pkgs/servers/monitoring/mimir/update.sh b/pkgs/servers/monitoring/mimir/update.sh new file mode 100755 index 000000000000..242767c2ecb2 --- /dev/null +++ b/pkgs/servers/monitoring/mimir/update.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep + +# TODO set to `verbose` or `extdebug` once implemented in oil +shopt --set xtrace +# we need failures inside of command subs to get the correct vendorSha256 +shopt --unset inherit_errexit + +const directory = $(dirname $0 | xargs realpath) +const owner = "grafana" +const repo = "mimir" +const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \ + jq -r '.tag_name') +const latest_version = $(echo $latest_rev | sd 'v' '') +const current_version = $(jq -r '.version' $directory/pin.json) +if ("$latest_version" === "$current_version") { + echo "$repo is already up-to-date" + return 0 +} else { + const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev") + const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')" + + jq ".version = \"$latest_version\" | \ + .\"sha256\" = \"$tarball_hash\"" $directory/pin.json | sponge $directory/pin.json +} diff --git a/pkgs/servers/monitoring/uptime-kuma/update.sh b/pkgs/servers/monitoring/uptime-kuma/update.sh index 84d05639ae23..0eaa47fd11cb 100644 --- a/pkgs/servers/monitoring/uptime-kuma/update.sh +++ b/pkgs/servers/monitoring/uptime-kuma/update.sh @@ -3,7 +3,7 @@ set -euo pipefail -latestVersion="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/louislam/uptime-kuma/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')" +latestVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/louislam/uptime-kuma/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')" currentVersion=$(nix-instantiate --eval -E "with import ./. {}; uptime-kuma.version or (lib.getVersion uptime-kuma)" | tr -d '"') if [[ "$currentVersion" == "$latestVersion" ]]; then diff --git a/pkgs/servers/mqtt/nanomq/default.nix b/pkgs/servers/mqtt/nanomq/default.nix index 8587152fc578..fcb26a4b6e8e 100644 --- a/pkgs/servers/mqtt/nanomq/default.nix +++ b/pkgs/servers/mqtt/nanomq/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "nanomq"; - version = "0.14.5"; + version = "0.14.8"; src = fetchFromGitHub { owner = "emqx"; repo = "nanomq"; rev = finalAttrs.version; - hash = "sha256-VbVeePacHrE79qV74rGv70G4Hj6O8nK4XCZ3xKbxuQU="; + hash = "sha256-rWLsH01XHtN/UlyOiMFI2UECuxodCkCVR/L72HIfNtY="; fetchSubmodules = true; }; diff --git a/pkgs/servers/snappymail/default.nix b/pkgs/servers/snappymail/default.nix index 7da5c489ded4..e4c7dd052d44 100644 --- a/pkgs/servers/snappymail/default.nix +++ b/pkgs/servers/snappymail/default.nix @@ -1,12 +1,17 @@ -{ lib, stdenv, fetchurl, writeText -, dataPath ? "/var/lib/snappymail" }: +{ lib +, stdenv +, fetchurl +, writeText +, dataPath ? "/var/lib/snappymail" +}: + stdenv.mkDerivation rec { pname = "snappymail"; - version = "2.22.6"; + version = "2.23.0"; src = fetchurl { url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz"; - sha256 = "sha256-B3ojd6Xd5qk6KL5JAnrp52XeW0xJ7z9VJQRPjVmPgv0="; + sha256 = "sha256-wOHp0hNxpDa6JPDaGNHG2+TL+YTP3GaKLab/PdxtU20="; }; sourceRoot = "snappymail"; @@ -27,8 +32,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Simple, modern & fast web-based email client"; - homepage = "https://snappymail.eu"; + changelog = "https://github.com/the-djmaze/snappymail/blob/v${version}/CHANGELOG.md"; downloadPage = "https://github.com/the-djmaze/snappymail/releases"; license = licenses.agpl3; platforms = platforms.all; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 529d9f2b9064..ddd5acad7a1a 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -814,6 +814,43 @@ self: super: url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/dd8caf39e9e15d8f302e54045dd08d8ebf1025dc.diff"; sha256 = "rBiiXQRreMvexW9vOKblcfCYzul+9La01EAhir4FND8="; }) + ] + # TODO: remove with xorgserver >= 21.1.5; https://www.mail-archive.com/xorg-announce@lists.x.org/msg01511.html + ++ [ + (fetchpatch { + name = "CVE-2022-46340.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/b320ca0ffe4c0c872eeb3a93d9bde21f765c7c63.diff"; + sha256 = "sha256-XPjLwZcJPLVv1ufgqnUxl73HKcJWWTDy2J/oxFiFnAU="; + }) + (fetchpatch { + name = "CVE-2022-46341.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/51eb63b0ee1509c6c6b8922b0e4aa037faa6f78b.diff"; + sha256 = "sha256-w+tzzoI1TfjjiFw5GNxVBgPc7M2lRY60zl+ySsyV59o="; + }) + (fetchpatch { + name = "CVE-2022-46342.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/b79f32b57cc0c1186b2899bce7cf89f7b325161b.diff"; + sha256 = "sha256-NytCsqRlqhs8xpOL8PGgluU0nKd7VIY26BXgpzN6WqE="; + }) + (fetchpatch { + name = "CVE-2022-46343.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/842ca3ccef100ce010d1d8f5f6d6cc1915055900.diff"; + sha256 = "sha256-oUwKwfN6lAvZ60dylm53+/yDeFnYTVdCINpBAfM6LoY="; + }) + (fetchpatch { + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/b8a84cb0f2807b07ab70ca9915fcdee21301b8ca.diff"; + sha256 = "sha256-Y2x9/P0SgwUAJRjIXivA32NnMso7gQAid+VjcwNUsa8="; + }) + (fetchpatch { + name = "CVE-2022-46344.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/8f454b793e1f13c99872c15f0eed1d7f3b823fe8.diff"; + sha256 = "sha256-Cr760UPwmm8Qr0o/R8/IlgggXQ6ENTHRz3bP/nsIwbU="; + }) + (fetchpatch { + name = "CVE-2022-4283.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/ccdd431cd8f1cabae9d744f0514b6533c438908c.diff"; + sha256 = "sha256-IGPsjS7KgRPLrs1ImBXvIFCa8Iu5ZiAHRZvHlBYP8KQ="; + }) ]; buildInputs = commonBuildInputs ++ [ libdrm mesa ]; propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ libpciaccess libepoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [ diff --git a/pkgs/shells/bash/5.1.nix b/pkgs/shells/bash/5.1.nix index 0f50c72f5da0..0dbfd77bf0e7 100644 --- a/pkgs/shells/bash/5.1.nix +++ b/pkgs/shells/bash/5.1.nix @@ -7,7 +7,7 @@ # patch for cygwin requires readline support , interactive ? stdenv.isCygwin -, readline81 ? null +, readline ? null , withDocs ? false , texinfo ? null , forFHSEnv ? false @@ -15,7 +15,7 @@ with lib; -assert interactive -> readline81 != null; +assert interactive -> readline != null; assert withDocs -> texinfo != null; assert stdenv.hostPlatform.isDarwin -> binutils != null; let @@ -82,7 +82,7 @@ stdenv.mkDerivation rec { ++ optional withDocs texinfo ++ optional stdenv.hostPlatform.isDarwin binutils; - buildInputs = optional interactive readline81; + buildInputs = optional interactive readline; enableParallelBuilding = true; diff --git a/pkgs/tools/X11/sxhkd/default.nix b/pkgs/tools/X11/sxhkd/default.nix new file mode 100644 index 000000000000..50e82643ac28 --- /dev/null +++ b/pkgs/tools/X11/sxhkd/default.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, fetchFromGitHub +, asciidoc +, libxcb +, xcbutil +, xcbutilkeysyms +, xcbutilwm +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "sxhkd"; + version = "0.6.2"; + + src = fetchFromGitHub { + owner = "baskerville"; + repo = "sxhkd"; + rev = finalAttrs.version; + hash = "sha256-OelMqenk0tiWMLraekS/ggGf6IsXP7Sz7bv75NvnNvI="; + }; + + nativeBuildInputs = [ + asciidoc + ]; + + buildInputs = [ + libxcb + xcbutil + xcbutilkeysyms + xcbutilwm + ]; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with lib; { + description = "Simple X hotkey daemon"; + homepage = "https://github.com/baskerville/sxhkd"; + license = licenses.bsd2; + maintainers = with maintainers; [ vyp AndersonTorres ]; + platforms = platforms.linux; + }; +}) diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix index c6ee509df358..0a0838d676d9 100644 --- a/pkgs/tools/admin/awscli2/default.nix +++ b/pkgs/tools/admin/awscli2/default.nix @@ -73,10 +73,10 @@ with py.pkgs; buildPythonApplication rec { ]; postPatch = '' - substituteInPlace pyproject.toml \ - --replace "colorama>=0.2.5,<0.4.4" "colorama" \ - --replace "distro>=1.5.0,<1.6.0" "distro" \ - --replace "cryptography>=3.3.2,<=38.0.1" "cryptography>=3.3.2,<=38.0.3" + sed -i pyproject.toml \ + -e 's/colorama.*/colorama",/' \ + -e 's/cryptography.*/cryptography",/' \ + -e 's/distro.*/distro",/' ''; postInstall = '' diff --git a/pkgs/tools/admin/pulumi-packages/default.nix b/pkgs/tools/admin/pulumi-packages/default.nix index f343f9c893ba..caf9ce9c581a 100644 --- a/pkgs/tools/admin/pulumi-packages/default.nix +++ b/pkgs/tools/admin/pulumi-packages/default.nix @@ -7,5 +7,6 @@ in pulumi-aws-native = callPackage' ./pulumi-aws-native.nix { }; pulumi-azure-native = callPackage' ./pulumi-azure-native.nix { }; pulumi-language-python = callPackage ./pulumi-language-python.nix { }; + pulumi-language-nodejs = callPackage ./pulumi-language-nodejs.nix { }; pulumi-random = callPackage' ./pulumi-random.nix { }; } diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix b/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix new file mode 100644 index 000000000000..828483c22859 --- /dev/null +++ b/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix @@ -0,0 +1,33 @@ +{ lib +, buildGoModule +, pulumi +, nodejs +}: +buildGoModule rec { + inherit (pulumi) version src; + + pname = "pulumi-language-nodejs"; + + sourceRoot = "${src.name}/sdk"; + + vendorHash = "sha256-IZIdLmNGMFjRdkLPoE9UyON3pX/GBIgz/rv108v8iLY="; + + subPackages = [ + "nodejs/cmd/pulumi-language-nodejs" + ]; + + ldflags = [ + "-s" + "-w" + "-X github.com/pulumi/pulumi/sdk/v3/go/common/version.Version=${version}" + ]; + + checkInputs = [ + nodejs + ]; + + postInstall = '' + cp nodejs/dist/pulumi-resource-pulumi-nodejs $out/bin + cp nodejs/dist/pulumi-analyzer-policy $out/bin + ''; +} diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index 1f898dbdef4b..abc19356c950 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "xz"; - version = "5.2.7"; + version = "5.2.9"; src = fetchurl { url = "https://tukaani.org/xz/xz-${version}.tar.bz2"; - sha256 = "tl8dDCcI5XcW9N0iFpiac4R6xv20Fo/86xVXZ+Irg0s="; + sha256 = "sZRQf7o6Rip1PFUxSczaoWgze8t97v3dBnuph8g9/OY="; }; strictDeps = true; diff --git a/pkgs/tools/games/weidu/default.nix b/pkgs/tools/games/weidu/default.nix index 0a144604b13d..1464dfbbf869 100644 --- a/pkgs/tools/games/weidu/default.nix +++ b/pkgs/tools/games/weidu/default.nix @@ -5,6 +5,7 @@ , ocaml-ng , perl , which +, gnumake42 }: let @@ -38,7 +39,7 @@ stdenv.mkDerivation rec { mkdir -p obj/{.depend,x86_LINUX} ''; - nativeBuildInputs = [ elkhound ocaml' perl which ]; + nativeBuildInputs = [ elkhound ocaml' perl which gnumake42 ]; buildFlags = [ "weidu" "weinstall" "tolower" ]; diff --git a/pkgs/tools/misc/bootspec/default.nix b/pkgs/tools/misc/bootspec/default.nix new file mode 100644 index 000000000000..789f438de50e --- /dev/null +++ b/pkgs/tools/misc/bootspec/default.nix @@ -0,0 +1,25 @@ +{ lib +, rustPlatform +, fetchFromGitHub +}: +rustPlatform.buildRustPackage rec { + pname = "bootspec"; + version = "unstable-2022-12-05"; + + src = fetchFromGitHub { + owner = "DeterminateSystems"; + repo = pname; + rev = "67a617ab6b99211daa92e748d27ead3f78127cf8"; + hash = "sha256-GX6Tzs/ClTUV9OXLvPFw6uBhrpCWSMI+PfrViyFEIxs="; + }; + + cargoHash = "sha256-N/hbfjsuvwCc0mxOpeVVcTxb5cA024lyLSEpVcrS7kA="; + + meta = with lib; { + description = "Implementation of RFC-0125's datatype and synthesis tooling"; + homepage = "https://github.com/DeterminateSystems/bootspec"; + license = licenses.mit; + maintainers = teams.determinatesystems.members; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/misc/dateutils/default.nix b/pkgs/tools/misc/dateutils/default.nix index ec8f9ca83d93..a1b64442c0bc 100644 --- a/pkgs/tools/misc/dateutils/default.nix +++ b/pkgs/tools/misc/dateutils/default.nix @@ -9,6 +9,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-PFCOKIm51a7Kt9WdcyWnAIlZMRGhIwpJbasPWtZ3zew="; }; + # https://github.com/hroptatyr/dateutils/issues/148 + postPatch = "rm test/dzone.008.ctst"; + nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ tzdata ]; # needed for datezone enableParallelBuilding = true; diff --git a/pkgs/tools/misc/depotdownloader/update.sh b/pkgs/tools/misc/depotdownloader/update.sh index 44b6200c4c5d..9e6efdfceaa5 100755 --- a/pkgs/tools/misc/depotdownloader/update.sh +++ b/pkgs/tools/misc/depotdownloader/update.sh @@ -5,7 +5,7 @@ set -eou pipefail depsFile="$(realpath "$(dirname "${BASH_SOURCE[0]}")/deps.nix")" currentVersion="$(nix eval --raw -f . depotdownloader.version)" -latestVersion="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/SteamRE/DepotDownloader/releases?per_page=1" \ +latestVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/SteamRE/DepotDownloader/releases?per_page=1" \ | jq -r '.[].name' | cut -d' ' -f2)" if [[ "$currentVersion" = "$latestVersion" ]]; then diff --git a/pkgs/tools/misc/star-history/default.nix b/pkgs/tools/misc/star-history/default.nix index 7ab75b1bcb8e..76cd06d46c61 100644 --- a/pkgs/tools/misc/star-history/default.nix +++ b/pkgs/tools/misc/star-history/default.nix @@ -9,14 +9,14 @@ rustPlatform.buildRustPackage rec { pname = "star-history"; - version = "1.0.5"; + version = "1.0.6"; src = fetchCrate { inherit pname version; - sha256 = "sha256-fmuCmyqw7wubMafkhqL1MltW6jZefgXdnudxdeBRSV4="; + sha256 = "sha256-NPlfgnLji261w/QedCkZ+IgfJMiG2aGjVfqJYpBPm6I="; }; - cargoSha256 = "sha256-+wHOBjBQyMuooDey4Py8xmgW3NNI8t8rCwA8A7D6L84="; + cargoSha256 = "sha256-NBegNCNjhI0XuvxeqiI1RD7nIM9MabhXxZBnSEZrsD4="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix index 7f274a0886e3..e5186c17b20e 100644 --- a/pkgs/tools/misc/vector/default.nix +++ b/pkgs/tools/misc/vector/default.nix @@ -103,7 +103,10 @@ rustPlatform.buildRustPackage { ''} ''; - passthru = { inherit features; }; + passthru = { + inherit features; + updateScript = ./update.sh; + }; meta = with lib; { description = "A high-performance logs, metrics, and events router"; diff --git a/pkgs/tools/networking/dnstwist/default.nix b/pkgs/tools/networking/dnstwist/default.nix index 4c7081218b87..bab81c2069e8 100644 --- a/pkgs/tools/networking/dnstwist/default.nix +++ b/pkgs/tools/networking/dnstwist/default.nix @@ -5,13 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "dnstwist"; - version = "20221022"; + version = "20221213"; + format = "setuptools"; src = fetchFromGitHub { owner = "elceef"; repo = pname; rev = "refs/tags/${version}"; - sha256 = "sha256-qdKMEE97PWkWgstJZxnFWDjc2heIbJjjCwBbl5K2zy4="; + hash = "sha256-xYZGrlrEdot2l1SkXcT2IbeRWouaN6C+WwbBSHXhAtw="; }; propagatedBuildInputs = with python3.pkgs; [ @@ -33,6 +34,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "Domain name permutation engine for detecting homograph phishing attacks"; homepage = "https://github.com/elceef/dnstwist"; + changelog = "https://github.com/elceef/dnstwist/releases/tag/${version}"; license = with licenses; [ gpl3Only ]; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/tools/networking/mmsd-tng/default.nix b/pkgs/tools/networking/mmsd-tng/default.nix new file mode 100644 index 000000000000..eaf122637519 --- /dev/null +++ b/pkgs/tools/networking/mmsd-tng/default.nix @@ -0,0 +1,53 @@ +{ lib, stdenv +, fetchFromGitLab +, c-ares +, dbus +, glib +, libphonenumber +, libsoup +, meson +, mobile-broadband-provider-info +, modemmanager +, ninja +, pkg-config +, protobuf +}: + +stdenv.mkDerivation rec { + pname = "mmsd-tng"; + version = "1.12.1"; + + src = fetchFromGitLab { + owner = "kop316"; + repo = "mmsd"; + rev = version; + sha256 = "sha256-fhbiTJWmQwJpuMaVX2qWyWwJ/2Y/Vczo//+0T0b6jhA="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + c-ares + dbus + glib + libphonenumber + libsoup + mobile-broadband-provider-info + modemmanager + protobuf + ]; + + doCheck = true; + + meta = with lib; { + description = "Multimedia Messaging Service Daemon - The Next Generation"; + homepage = "https://gitlab.com/kop316/mmsd"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ julm ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/networking/mozillavpn/default.nix b/pkgs/tools/networking/mozillavpn/default.nix index b3e60ec45de8..dcedbb1409c5 100644 --- a/pkgs/tools/networking/mozillavpn/default.nix +++ b/pkgs/tools/networking/mozillavpn/default.nix @@ -1,6 +1,7 @@ { buildGoModule , cmake , fetchFromGitHub +, fetchpatch , go , lib , pkg-config @@ -21,14 +22,21 @@ let pname = "mozillavpn"; - version = "2.11.0"; + version = "2.12.0"; src = fetchFromGitHub { owner = "mozilla-mobile"; repo = "mozilla-vpn-client"; rev = "v${version}"; fetchSubmodules = true; - hash = "sha256-QXxZ6RQwXrVsaZRkW13r7aoz8iHxuT0nW/2aFDpLLzU="; + hash = "sha256-T8dPM90X4soVG/plKsf7DM9XgdX5Vcp0i6zTE60gbq0="; }; + patches = [ + # vpnglean: Add Cargo.lock file + (fetchpatch { + url = "https://github.com/mozilla-mobile/mozilla-vpn-client/pull/5236/commits/6fdc689001619a06b752fa629647642ea66f4e26.patch"; + hash = "sha256-j666Z31D29WIL3EXbek2aLzA4Fui/9VZvupubMDG24Q="; + }) + ]; netfilter-go-modules = (buildGoModule { inherit pname version src; @@ -40,19 +48,24 @@ let inherit src; name = "${pname}-${version}-extension-bridge"; preBuild = "cd extension/bridge"; - hash = "sha256-BRUUEDIVQoF+FuKnoBzFbMyeGOgGb6/boYSaftZPF2U="; + hash = "sha256-/DmKSV0IKxZV0Drh6dTsiqgZhuxt6CoegXpYdqN4UzQ="; }; - signatureDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}-signature"; preBuild = "cd signature"; - hash = "sha256-oSO7KS4aBwSVYIyxmWTXKn0CL9t6CDR/hx+0+nbf/dM="; + hash = "sha256-6qyMARhPPgTryEtaBNrIPN9ja/fe7Fyx38iGuTd+Dk8="; + }; + vpngleanDeps = rustPlatform.fetchCargoTarball { + inherit src patches; + name = "${pname}-${version}-vpnglean"; + preBuild = "cd vpnglean"; + hash = "sha256-8OLTQmRvy6pATEBX2za6f9vMEqwkf9L5VyERtAN2BDQ="; }; in stdenv.mkDerivation { - inherit pname version src; + inherit pname version src patches; buildInputs = [ polkit @@ -73,6 +86,7 @@ stdenv.mkDerivation { python3.pkgs.setuptools rustPlatform.cargoSetupHook rustPlatform.rust.cargo + rustPlatform.rust.rustc which wrapQtAppsHook ]; @@ -87,6 +101,11 @@ stdenv.mkDerivation { cargoDeps='${signatureDeps}' cargoSetupPostUnpackHook signatureDepsCopy="$cargoDepsCopy" popd + + pushd source/vpnglean + cargoDeps='${vpngleanDeps}' cargoSetupPostUnpackHook + vpngleanDepsCopy="$cargoDepsCopy" + popd ''; dontCargoSetupPostUnpack = true; @@ -108,9 +127,6 @@ stdenv.mkDerivation { substituteInPlace extension/CMakeLists.txt \ --replace '/etc' "$out/etc" - substituteInPlace src/connectionbenchmark/benchmarktasktransfer.cpp \ - --replace 'QT_VERSION >= 0x060400' 'false' - ln -s '${netfilter-go-modules}' linux/netfilter/vendor pushd extension/bridge @@ -121,6 +137,10 @@ stdenv.mkDerivation { cargoDepsCopy="$signatureDepsCopy" cargoSetupPostPatchHook popd + pushd vpnglean + cargoDepsCopy="$vpngleanDepsCopy" cargoSetupPostPatchHook + popd + cargoSetupPostPatchHook() { true; } ''; diff --git a/pkgs/tools/networking/mubeng/default.nix b/pkgs/tools/networking/mubeng/default.nix index a214d00b9812..c35cf14717c0 100644 --- a/pkgs/tools/networking/mubeng/default.nix +++ b/pkgs/tools/networking/mubeng/default.nix @@ -5,22 +5,27 @@ buildGoModule rec { pname = "mubeng"; - version = "0.11.0"; + version = "0.12.0-dev"; src = fetchFromGitHub { owner = "kitabisa"; repo = pname; rev = "v${version}"; - sha256 = "sha256-BY3X9N7XnBZ6mVX/o+EXruJmi3HYWMeY9enSuJY4jWI="; + hash = "sha256-NBZmu0VcVUhJSdM3fzZ+4Q5oX8uxO6GLpEUq74x8HUU="; }; - vendorSha256 = "sha256-1JxyP6CrJ4/g7o3eGeN1kRXJU/jNLEB8fW1bjJytQqQ="; + vendorHash = "sha256-1JxyP6CrJ4/g7o3eGeN1kRXJU/jNLEB8fW1bjJytQqQ="; - ldflags = [ "-s" "-w" "-X ktbs.dev/mubeng/common.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X ktbs.dev/mubeng/common.Version=${version}" + ]; meta = with lib; { description = "Proxy checker and IP rotator"; homepage = "https://github.com/kitabisa/mubeng"; + changelog = "https://github.com/kitabisa/mubeng/releases/tag/v${version}"; license = with licenses; [ asl20 ]; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/tools/networking/netbird/default.nix b/pkgs/tools/networking/netbird/default.nix index 5baa8b2ed194..cc05f5381706 100644 --- a/pkgs/tools/networking/netbird/default.nix +++ b/pkgs/tools/networking/netbird/default.nix @@ -14,13 +14,13 @@ let in buildGoModule rec { pname = "netbird"; - version = "0.11.5"; + version = "0.11.6"; src = fetchFromGitHub { owner = "netbirdio"; repo = pname; rev = "v${version}"; - sha256 = "sha256-MW0RAhBgragzRR+St6jy5GmiNdD+WDsmM/q7AIlO72w="; + sha256 = "sha256-q86GVCRppBU9qiCch0sjTnSsjl17xU5l3o72cBF3zZo="; }; vendorSha256 = "sha256-TfHBvcG3e+yjifPVo0ZgcvLvD16fni4m71nCr4cCBD4="; diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix index 36028208f56d..a6bf4383b317 100644 --- a/pkgs/tools/networking/netsniff-ng/default.nix +++ b/pkgs/tools/networking/netsniff-ng/default.nix @@ -15,6 +15,7 @@ , liburcu , ncurses , pkg-config +, gnumake42 , zlib }: @@ -34,6 +35,7 @@ stdenv.mkDerivation rec { flex makeWrapper pkg-config + gnumake42 # fails with make 4.4 ]; buildInputs = [ diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix index 3a2b2ef175e9..03c205f2d647 100644 --- a/pkgs/tools/networking/networkmanager/default.nix +++ b/pkgs/tools/networking/networkmanager/default.nix @@ -58,11 +58,11 @@ let in stdenv.mkDerivation rec { pname = "networkmanager"; - version = "1.40.2"; + version = "1.40.6"; src = fetchurl { url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz"; - sha256 = "sha256-sSbnWiNJNsmcR7JZxVEg692b92rE79MMmBHlagSBwnM="; + sha256 = "sha256-LwJbLVr33lk7v0fBfk2YorlgjqkKgmD7CAgL6XQ5U04="; }; outputs = [ "out" "dev" "devdoc" "man" "doc" ]; diff --git a/pkgs/tools/networking/networkmanager/libnma/default.nix b/pkgs/tools/networking/networkmanager/libnma/default.nix index 3b5f8bba148f..af4c18e1ce3a 100644 --- a/pkgs/tools/networking/networkmanager/libnma/default.nix +++ b/pkgs/tools/networking/networkmanager/libnma/default.nix @@ -39,6 +39,9 @@ stdenv.mkDerivation rec { patches = [ # Needed for wingpanel-indicator-network and switchboard-plug-network ./hardcode-gsettings.patch + # Removing path from eap schema to fix bug when creating new VPN connection + # https://gitlab.gnome.org/GNOME/libnma/-/issues/18 + ./remove-path-from-eap.patch ]; nativeBuildInputs = [ diff --git a/pkgs/tools/networking/networkmanager/libnma/remove-path-from-eap.patch b/pkgs/tools/networking/networkmanager/libnma/remove-path-from-eap.patch new file mode 100644 index 000000000000..fe00ff9d9a9b --- /dev/null +++ b/pkgs/tools/networking/networkmanager/libnma/remove-path-from-eap.patch @@ -0,0 +1,32 @@ +From 0ab5c1e39e94e158650da847f8512ab5e2b03593 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Wed, 9 Nov 2022 08:00:19 +0000 +Subject: [PATCH] gschema: Remove path from eap schema + +This one needs to be relocatable, otherwise creating a new VPN +connection will fail with: + + settings object created with schema 'org.gnome.nm-applet.eap' + and path '/org/gnome/nm-applet/eap//', + but path '/org/gnome/nm-applet/eap/' is specified by schema + +Fixes: https://bugs.archlinux.org/task/76490 +--- + org.gnome.nm-applet.eap.gschema.xml.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/org.gnome.nm-applet.eap.gschema.xml.in b/org.gnome.nm-applet.eap.gschema.xml.in +index 0fc3ca9f..f4a56ea6 100644 +--- a/org.gnome.nm-applet.eap.gschema.xml.in ++++ b/org.gnome.nm-applet.eap.gschema.xml.in +@@ -1,6 +1,6 @@ + + +- ++ + + false + Ignore CA certificate +-- +GitLab + diff --git a/pkgs/tools/package-management/nix-template/default.nix b/pkgs/tools/package-management/nix-template/default.nix index 034641ab4875..84afede50fe2 100644 --- a/pkgs/tools/package-management/nix-template/default.nix +++ b/pkgs/tools/package-management/nix-template/default.nix @@ -9,17 +9,17 @@ rustPlatform.buildRustPackage rec { pname = "nix-template"; - version = "0.4.0"; + version = "0.4.1"; src = fetchFromGitHub { name = "${pname}-${version}-src"; owner = "jonringer"; repo = pname; rev = "v${version}"; - sha256 = "sha256-5Xxv9TH5rGA4VU/64YarrBIOrROWjFu3RYRcoNo70UA="; + sha256 = "sha256-42u5FmTIKHpfQ2zZQXIrFkAN2/XvU0wWnCRrQkQzcNI="; }; - cargoSha256 = "sha256-GvIE46NXNWg1kSEbffvOCwVDr0YmVMo8C8+52RDEwco="; + cargoSha256 = "sha256-f8Th6SbV66Uukqh1Cb5uQVa844qw1PmBB9W7EMXMU4E="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index a6bf0a585fb7..fd07336b0d34 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -5,6 +5,7 @@ , fetchFromGitHub , fetchurl , fetchpatch +, fetchpatch2 , Security , storeDir ? "/nix/store" @@ -37,6 +38,14 @@ let boehmgc = boehmgc-nix; aws-sdk-cpp = aws-sdk-cpp-nix; }; + + # https://github.com/NixOS/nix/pull/7473 + patch-sqlite-exception = fetchpatch2 { + name = "nix-7473-sqlite-exception-add-message.patch"; + url = "https://github.com/hercules-ci/nix/commit/c965f35de71cc9d88f912f6b90fd7213601e6eb8.patch"; + sha256 = "sha256-tI5nKU7SZgsJrxiskJ5nHZyfrWf5aZyKYExM0792N80="; + }; + in lib.makeExtensible (self: { nix_2_3 = (common rec { version = "2.3.16"; @@ -88,6 +97,7 @@ in lib.makeExtensible (self: { url = "https://github.com/NixOS/nix/commit/3ade5f5d6026b825a80bdcc221058c4f14e10a27.patch"; sha256 = "sha256-s1ybRFCjQaSGj7LKu0Z5g7UiHqdJGeD+iPoQL0vaiS0="; }) + patch-sqlite-exception ]; }; @@ -102,6 +112,7 @@ in lib.makeExtensible (self: { url = "https://github.com/NixOS/nix/commit/3ade5f5d6026b825a80bdcc221058c4f14e10a27.patch"; sha256 = "sha256-s1ybRFCjQaSGj7LKu0Z5g7UiHqdJGeD+iPoQL0vaiS0="; }) + patch-sqlite-exception ]; }; @@ -116,6 +127,7 @@ in lib.makeExtensible (self: { url = "https://github.com/NixOS/nix/commit/3ade5f5d6026b825a80bdcc221058c4f14e10a27.patch"; sha256 = "sha256-s1ybRFCjQaSGj7LKu0Z5g7UiHqdJGeD+iPoQL0vaiS0="; }) + patch-sqlite-exception ]; }; @@ -124,6 +136,7 @@ in lib.makeExtensible (self: { sha256 = "sha256-sQ9C101CL/eVN5JgH91ozHFWU4+bXr8/Fi/8NQk6xRI="; patches = [ ./patches/flaky-tests.patch + patch-sqlite-exception ]; }; diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix index 0dfa433e6c40..d3a9e2ee3bdd 100644 --- a/pkgs/tools/package-management/packagekit/default.nix +++ b/pkgs/tools/package-management/packagekit/default.nix @@ -103,7 +103,7 @@ stdenv.mkDerivation rec { a common set of abstractions that can be used by standard GUI and text mode package managers. ''; - homepage = "http://www.packagekit.org/"; + homepage = "https://github.com/PackageKit/PackageKit"; license = licenses.gpl2Plus; platforms = platforms.unix; maintainers = with maintainers; [ matthewbauer ]; diff --git a/pkgs/tools/security/jd-gui/default.nix b/pkgs/tools/security/jd-gui/default.nix index bfa4132ac025..2663af4ed620 100644 --- a/pkgs/tools/security/jd-gui/default.nix +++ b/pkgs/tools/security/jd-gui/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, jre, jdk, gradle_5, makeDesktopItem, copyDesktopItems, perl, writeText, runtimeShell }: +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, jre +, jdk +, gradle_6 +, makeDesktopItem +, copyDesktopItems +, perl +, writeText +, runtimeShell +}: let pname = "jd-gui"; @@ -8,14 +20,23 @@ let owner = "java-decompiler"; repo = pname; rev = "v${version}"; - sha256 = "010bd3q2m4jy4qz5ahdx86b5f558s068gbjlbpdhq3bhh4yrjy20"; + hash = "sha256-QHiZPYFwDQzbXVSuhwzQqBRXlkG9QVU+Jl6SKvBoCwQ="; }; + patches = [ + # https://github.com/java-decompiler/jd-gui/pull/362 + (fetchpatch { + name = "nebula-plugin-gradle-6-compatibility.patch"; + url = "https://github.com/java-decompiler/jd-gui/commit/91f805f9dc8ce0097460e63c8095ccea870687e6.patch"; + hash = "sha256-9eaM9Mx2FaKIhGSOHjATKN/CrtvJeXyrH8Mdx8LNtpE="; + }) + ]; + deps = stdenv.mkDerivation { name = "${pname}-deps"; - inherit src; + inherit src patches; - nativeBuildInputs = [ jdk perl gradle_5 ]; + nativeBuildInputs = [ jdk perl gradle_6 ]; buildPhase = '' export GRADLE_USER_HOME=$(mktemp -d); @@ -32,7 +53,7 @@ let outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "1qil12s0daxpxj5xj5dj6s2k89is0kiir2vcafkm3lasc41acmk3"; + outputHash = "sha256-gqUyZE+MoZRYCcJx95Qc4dZIC3DZvxee6UQhpfveDI4="; }; # Point to our local deps repo @@ -68,10 +89,10 @@ let }; in stdenv.mkDerivation rec { - inherit pname version src; + inherit pname version src patches; name = "${pname}-${version}"; - nativeBuildInputs = [ jdk gradle_5 copyDesktopItems ]; + nativeBuildInputs = [ jdk gradle_6 copyDesktopItems ]; buildPhase = '' export GRADLE_USER_HOME=$(mktemp -d) diff --git a/pkgs/tools/security/ldapnomnom/default.nix b/pkgs/tools/security/ldapnomnom/default.nix index 2a81772f2cd6..132ecf70591a 100644 --- a/pkgs/tools/security/ldapnomnom/default.nix +++ b/pkgs/tools/security/ldapnomnom/default.nix @@ -5,20 +5,21 @@ buildGoModule rec { pname = "ldapnomnom"; - version = "1.0.7"; + version = "1.1.0"; src = fetchFromGitHub { owner = "lkarlslund"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-eGCg6s3bg7ixXmdwFsugRMLvL/nTE2p53otkfc8OgQU="; + hash = "sha256-o29vcPKRX8TWRCpa20DVsh/4K7d3IbaLS3B+jJGBEmo="; }; - vendorSha256 = "sha256-3ucnLD+qhBSWY2wLtBcsOcuEf1woqHP17qQg7LlERA8="; + vendorHash = "sha256-3ucnLD+qhBSWY2wLtBcsOcuEf1woqHP17qQg7LlERA8="; meta = with lib; { description = "Tool to anonymously bruteforce usernames from Domain controllers"; homepage = "https://github.com/lkarlslund/ldapnomnom"; + changelog = "https://github.com/lkarlslund/ldapnomnom/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile index 7dbd4297e69b..87fa849c6902 100644 --- a/pkgs/tools/security/metasploit/Gemfile +++ b/pkgs/tools/security/metasploit/Gemfile @@ -1,4 +1,4 @@ # frozen_string_literal: true source "https://rubygems.org" -gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.30" +gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.31" diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock index fdeeaa3025cb..66ec3d279387 100644 --- a/pkgs/tools/security/metasploit/Gemfile.lock +++ b/pkgs/tools/security/metasploit/Gemfile.lock @@ -1,9 +1,9 @@ GIT remote: https://github.com/rapid7/metasploit-framework - revision: 21ca4473d2486d30618f99eaee7f3067e136c608 - ref: refs/tags/6.2.30 + revision: 2654f6f02a0ce6150e623804b9fab9576fe008f6 + ref: refs/tags/6.2.31 specs: - metasploit-framework (6.2.30) + metasploit-framework (6.2.31) actionpack (~> 6.0) activerecord (~> 6.0) activesupport (~> 6.0) @@ -13,7 +13,6 @@ GIT bcrypt bcrypt_pbkdf bson - concurrent-ruby (= 1.0.5) dnsruby ed25519 em-http-request @@ -32,7 +31,7 @@ GIT metasploit-concern metasploit-credential metasploit-model - metasploit-payloads (= 2.0.101) + metasploit-payloads (= 2.0.105) metasploit_data_models metasploit_payloads-mettle (= 1.0.20) mqtt @@ -129,13 +128,13 @@ GEM arel-helpers (2.14.0) activerecord (>= 3.1.0, < 8) aws-eventstream (1.2.0) - aws-partitions (1.674.0) + aws-partitions (1.679.0) aws-sdk-core (3.168.4) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.5) jmespath (~> 1, >= 1.6.1) - aws-sdk-ec2 (1.354.0) + aws-sdk-ec2 (1.355.0) aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) aws-sdk-iam (1.73.0) @@ -155,7 +154,7 @@ GEM bindata (2.4.14) bson (4.15.0) builder (3.2.4) - concurrent-ruby (1.0.5) + concurrent-ruby (1.1.10) cookiejar (0.3.3) crass (1.0.6) daemons (1.4.1) @@ -176,7 +175,7 @@ GEM eventmachine (1.2.7) faker (3.0.0) i18n (>= 1.8.11, < 2) - faraday (2.7.1) + faraday (2.7.2) faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) faraday-net_http (3.0.2) @@ -203,8 +202,8 @@ GEM httpclient (2.8.3) i18n (1.12.0) concurrent-ruby (~> 1.0) - io-console (0.5.11) - irb (1.6.0) + io-console (0.6.0) + irb (1.6.1) reline (>= 0.3.0) jmespath (1.6.2) jsobfu (0.4.2) @@ -214,7 +213,7 @@ GEM logging (2.3.1) little-plugger (~> 1.1) multi_json (~> 1.14) - loofah (2.19.0) + loofah (2.19.1) crass (~> 1.0.2) nokogiri (>= 1.5.9) metasm (1.0.5) @@ -222,7 +221,7 @@ GEM activemodel (~> 6.0) activesupport (~> 6.0) railties (~> 6.0) - metasploit-credential (6.0.0) + metasploit-credential (6.0.1) metasploit-concern metasploit-model metasploit_data_models (>= 5.0.0) @@ -236,7 +235,7 @@ GEM activemodel (~> 6.0) activesupport (~> 6.0) railties (~> 6.0) - metasploit-payloads (2.0.101) + metasploit-payloads (2.0.105) metasploit_data_models (5.0.6) activerecord (~> 6.0) activesupport (~> 6.0) @@ -292,15 +291,15 @@ GEM nio4r (~> 2.0) racc (1.6.1) rack (2.2.4) - rack-protection (3.0.4) + rack-protection (3.0.5) rack rack-test (2.0.2) rack (>= 1.3) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) - rails-html-sanitizer (1.4.3) - loofah (~> 2.3) + rails-html-sanitizer (1.4.4) + loofah (~> 2.19, >= 2.19.1) railties (6.1.7) actionpack (= 6.1.7) activesupport (= 6.1.7) @@ -312,7 +311,7 @@ GEM recog (3.0.3) nokogiri redcarpet (3.5.1) - reline (0.3.1) + reline (0.3.2) io-console (~> 0.5) rex-arch (0.1.14) rex-text @@ -359,7 +358,7 @@ GEM rex-socket rex-text rex-struct2 (0.1.3) - rex-text (0.2.46) + rex-text (0.2.47) rex-zip (0.1.4) rex-text rexml (3.2.5) @@ -380,10 +379,10 @@ GEM faraday (>= 0.17.3, < 3) simpleidn (0.2.1) unf (~> 0.1.4) - sinatra (3.0.4) + sinatra (3.0.5) mustermann (~> 3.0) rack (~> 2.2, >= 2.2.4) - rack-protection (= 3.0.4) + rack-protection (= 3.0.5) tilt (~> 2.0) sqlite3 (1.5.4) mini_portile2 (~> 2.8.0) @@ -436,4 +435,4 @@ DEPENDENCIES metasploit-framework! BUNDLED WITH - 2.3.25 + 2.3.26 diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix index 3abe97b4e2cf..52117de62d77 100644 --- a/pkgs/tools/security/metasploit/default.nix +++ b/pkgs/tools/security/metasploit/default.nix @@ -15,13 +15,13 @@ let }; in stdenv.mkDerivation rec { pname = "metasploit-framework"; - version = "6.2.30"; + version = "6.2.31"; src = fetchFromGitHub { owner = "rapid7"; repo = "metasploit-framework"; rev = version; - sha256 = "sha256-2AEZJoGSWEBCCFabHjqzJyI3zx0PC8da2D3eRlfMKwY="; + sha256 = "sha256-oifgAc1umrEOULuJzK9EboBdXIXSici8ndlhRbbHUaw="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix index 4c452a4a7811..470d83b7154a 100644 --- a/pkgs/tools/security/metasploit/gemset.nix +++ b/pkgs/tools/security/metasploit/gemset.nix @@ -104,10 +104,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0a4inr58vqzqb6g4j09pch55xyhj4kbbl4drsk1apfwhakc70vpr"; + sha256 = "0ijs16zjif7zkwi4wd1qffi7c5b1v5b6hnw76h8kh6vgiwj9hmmz"; type = "gem"; }; - version = "1.674.0"; + version = "1.679.0"; }; aws-sdk-core = { groups = ["default"]; @@ -124,10 +124,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fj3na0i1d50iw6cih2g3k3h9h2hq0n62czppxr0qsw65mwr5h8b"; + sha256 = "1x0fg5gp7qcvfhngplb9438jv074llfb9d52jclnik8ibrrmgx8w"; type = "gem"; }; - version = "1.354.0"; + version = "1.355.0"; }; aws-sdk-iam = { groups = ["default"]; @@ -224,10 +224,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf"; + sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14"; type = "gem"; }; - version = "1.0.5"; + version = "1.1.10"; }; cookiejar = { groups = ["default"]; @@ -344,10 +344,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1wyz9ab0mzi84gpf81fs19vrixglmmxi25k6n1mn9h141qmsp590"; + sha256 = "17lacy6n0hsayafvgxgzmngfq2x62b2arbn32bj2yyzmgxwyxhqn"; type = "gem"; }; - version = "2.7.1"; + version = "2.7.2"; }; faraday-net_http = { groups = ["default"]; @@ -494,20 +494,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0r9kxrf9jccrr329pa3s37rf16vy426cbqmfwxkav1fidwvih93y"; + sha256 = "0dikardh14c72gd9ypwh8dim41wvqmzfzf35mincaj5yals9m7ff"; type = "gem"; }; - version = "0.5.11"; + version = "0.6.0"; }; irb = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "078jfdkjg8kl82hy3awq0r9vww4allw4zpncm8hl6ccjswppr4jk"; + sha256 = "09mbpnmfh5lwg6kcjlbyv9163pn50lfxphbra9rsws8cp04m1qj3"; type = "gem"; }; - version = "1.6.0"; + version = "1.6.1"; }; jmespath = { groups = ["default"]; @@ -564,10 +564,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fpyk1965py77al7iadkn5dibwgvybknkr7r8bii2dj73wvr29rh"; + sha256 = "08qhzck271anrx9y6qa6mh8hwwdzsgwld8q0000rcd7yvvpnjr3c"; type = "gem"; }; - version = "2.19.0"; + version = "2.19.1"; }; metasm = { groups = ["default"]; @@ -594,22 +594,22 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "045aap4wrslclbvm2rczdxlgivyx9ricdbg2z9xk5xamf6cxfrx1"; + sha256 = "061zkhiq7gpp0kjk1alaz0r266makzj3ahjzq6j9qxm4z9xiis4d"; type = "gem"; }; - version = "6.0.0"; + version = "6.0.1"; }; metasploit-framework = { groups = ["default"]; platforms = []; source = { fetchSubmodules = false; - rev = "21ca4473d2486d30618f99eaee7f3067e136c608"; - sha256 = "01ibribldpixv1dcf2qg3p7kf8i7ncx1x6sn11140n4jh4k1j0fq"; + rev = "2654f6f02a0ce6150e623804b9fab9576fe008f6"; + sha256 = "1b2iqyv4aqfrknyci2fjhmf5v03f8jpwr2dva07b36kfrl0y09x2"; type = "git"; url = "https://github.com/rapid7/metasploit-framework"; }; - version = "6.2.30"; + version = "6.2.31"; }; metasploit-model = { groups = ["default"]; @@ -626,10 +626,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m9w4yy5iwpbbjycpxyhfql2b4dnm4wgcn039aw43igjgfdrkmkz"; + sha256 = "1zp4njsk9ybrhjr7pb06nmnm3shmxc69ra2hxvz0bwhq4syr1xsl"; type = "gem"; }; - version = "2.0.101"; + version = "2.0.105"; }; metasploit_data_models = { groups = ["default"]; @@ -957,10 +957,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kljmw1lhzqjcwnwadr5m2khii0h2lsah447zb9vgirrv5jszg9h"; + sha256 = "1a12m1mv8dc0g90fs1myvis8vsgr427k1arg1q4a9qlfw6fqyhis"; type = "gem"; }; - version = "3.0.4"; + version = "3.0.5"; }; rack-test = { groups = ["default"]; @@ -987,10 +987,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mj0b7ay10a2fgwj70kjw7mlyrp7a5la8lx8zmwhy40bkansdfrf"; + sha256 = "1mcb75qvldfz6zsr4inrfx7dmb0ngxy507awx28khqmnla3hqpc9"; type = "gem"; }; - version = "1.4.3"; + version = "1.4.4"; }; railties = { groups = ["default"]; @@ -1047,10 +1047,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1izlsziflj70kgwfy2d72jfr7bhrzamnhbq8gxjn8xdz0wvdj0di"; + sha256 = "1vpsmij5mknpiqy4b835rzl87slshm5dkr08hm8wypfya3v4m6cp"; type = "gem"; }; - version = "0.3.1"; + version = "0.3.2"; }; rex-arch = { groups = ["default"]; @@ -1217,10 +1217,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0arm3yakxs541qbm52rxjjd9b3p70sqim7syd83m3vqh366gr67d"; + sha256 = "06xihmiw7fqbjpxi1zh6hb8whbq45saxllvlk00mjp2l3dn0p7hb"; type = "gem"; }; - version = "0.2.46"; + version = "0.2.47"; }; rex-zip = { groups = ["default"]; @@ -1337,10 +1337,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lgvrna3wvm21y350hrasdb4w8119cn1fd0prrrj76ws5w0pdzvc"; + sha256 = "1ryfja9yd3fq8n1p5yi3qnd0pjk7bkycmxxmbb1bj0axlr1pdv20"; type = "gem"; }; - version = "3.0.4"; + version = "3.0.5"; }; sqlite3 = { dependencies = ["mini_portile2"]; diff --git a/pkgs/tools/system/logrotate/default.nix b/pkgs/tools/system/logrotate/default.nix index da3732aaab69..e7d60479a3e5 100644 --- a/pkgs/tools/system/logrotate/default.nix +++ b/pkgs/tools/system/logrotate/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "logrotate"; - version = "3.20.1"; + version = "3.21.0"; src = fetchFromGitHub { owner = "logrotate"; repo = "logrotate"; rev = version; - sha256 = "sha256-IegYAV7Mrw9GKMQOE5Bk0J/2ljfHzPlIipyYm3LrUcU="; + sha256 = "sha256-w86y6bz/nvH/0mIbn2XrSs5KdOM/xadnlZMQZp4LdGQ="; }; # Logrotate wants to access the 'mail' program; to be done. diff --git a/pkgs/tools/text/mdbook-katex/default.nix b/pkgs/tools/text/mdbook-katex/default.nix index 6d80babb2f95..c269287ff8db 100644 --- a/pkgs/tools/text/mdbook-katex/default.nix +++ b/pkgs/tools/text/mdbook-katex/default.nix @@ -2,14 +2,14 @@ rustPlatform.buildRustPackage rec { pname = "mdbook-katex"; - version = "0.2.17"; + version = "0.2.21"; src = fetchCrate { inherit pname version; - sha256 = "sha256-rJzZVZn8CJOIcSVLCLv6tWox0MRdxNBMUKo1fij1ogc="; + hash = "sha256-cJRO/HHxujSL5YTM4e+HMRsItlEe1OYn8rSqnwcqbgU="; }; - cargoHash = "sha256-aSFXTeP5wDshdrrJ+eJCTmLuTlxCuM+5irUr0iW4tAY="; + cargoHash = "sha256-FPoSye+wD/MPR5fCrQ212W4iYoJLWOFXgeStcg0GEHw="; OPENSSL_DIR = "${lib.getDev openssl}"; OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib"; diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix index 9cc4941853d5..a07b46c3a3b9 100644 --- a/pkgs/tools/typesetting/sile/default.nix +++ b/pkgs/tools/typesetting/sile/default.nix @@ -1,4 +1,5 @@ { lib, stdenv +, gnumake42 , darwin , fetchurl , makeWrapper @@ -59,6 +60,7 @@ stdenv.mkDerivation rec { gitMinimal pkg-config makeWrapper + gnumake42 ]; buildInputs = [ luaEnv diff --git a/pkgs/tools/video/rav1e/default.nix b/pkgs/tools/video/rav1e/default.nix index ed6a8f542343..8a2d6f744422 100644 --- a/pkgs/tools/video/rav1e/default.nix +++ b/pkgs/tools/video/rav1e/default.nix @@ -1,20 +1,33 @@ -{ lib, rust, stdenv, rustPlatform, fetchCrate, nasm, cargo-c, libiconv }: +{ lib +, rust +, stdenv +, rustPlatform +, fetchCrate +, nasm +, cargo-c +, libiconv +, Security +}: let rustTargetPlatformSpec = rust.toRustTargetSpec stdenv.hostPlatform; in rustPlatform.buildRustPackage rec { pname = "rav1e"; - version = "0.5.1"; + version = "0.6.1"; src = fetchCrate { inherit pname version; - sha256 = "sha256-v2i/dMWos+nB3cRDOkROSOPb1ONRosbmp9RDZI2DLeI="; + sha256 = "sha256-70O9/QRADaEYVvZjEfuBOxPF8lCZ138L2fbFWpj3VUw="; }; - cargoSha256 = "sha256-V9QbztkFj3t5yBV+yySysDy3Q6IUY4gNzBL8h23aEg4="; + cargoHash = "sha256-iHOmItooNsGq6iTIb9M5IPXMwYh2nQ03qfjomkgCdgw="; nativeBuildInputs = [ nasm cargo-c ]; - buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; + + buildInputs = lib.optionals stdenv.isDarwin [ + libiconv + Security + ]; checkType = "debug"; diff --git a/pkgs/tools/virtualization/linode-cli/update.sh b/pkgs/tools/virtualization/linode-cli/update.sh index dd37e41c5373..f232dd1e03b0 100755 --- a/pkgs/tools/virtualization/linode-cli/update.sh +++ b/pkgs/tools/virtualization/linode-cli/update.sh @@ -9,7 +9,7 @@ SPEC_VERSION=$(curl -s https://www.linode.com/docs/api/openapi.yaml | yq eval '. SPEC_SHA256=$(nix-prefetch-url --quiet https://raw.githubusercontent.com/linode/linode-api-docs/v${SPEC_VERSION}/openapi.yaml) -VERSION=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ +VERSION=$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/linode/linode-cli/tags" \ | jq 'map(.name)' \ diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 563f95233f6e..d459d90fd2bc 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1302,7 +1302,7 @@ mapAliases ({ rdmd = throw "'rdmd' has been renamed to/replaced by 'dtools'"; # Converted to throw 2022-02-22 readline5 = throw "readline-5 is no longer supported in nixpkgs, please use 'readline' for main supported version"; # Added 2022-02-20 readline62 = throw "readline-6.2 is no longer supported in nixpkgs, please use 'readline' for main supported version"; # Added 2022-02-20 - readline80 = throw "readline-8.0 is no longer supported in nixpkgs, please use 'readline' for main supported version or 'readline81' for most recent version"; # Added 2021-04-22 + readline80 = throw "readline-8.0 is no longer supported in nixpkgs, please use 'readline' for main supported version"; # Added 2021-04-22 redkite = throw "redkite was archived by upstream"; # Added 2021-04-12 redis-desktop-manager = throw "'redis-desktop-manager' has been renamed to/replaced by 'resp-app'"; # Added 2022-11-10 redshift-wlr = throw "redshift-wlr has been replaced by gammastep"; # Added 2021-12-25 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c25838adc162..5a1a9a295e9f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2705,6 +2705,8 @@ with pkgs; brewtarget = libsForQt5.callPackage ../applications/misc/brewtarget { } ; + bootspec = callPackage ../tools/misc/bootspec { }; + # Derivation's result is not used by nixpkgs. Useful for validation for # regressions of bootstrapTools on hydra and on ofborg. Example: # pkgsCross.aarch64-multiplatform.freshBootstrapTools.build @@ -5374,7 +5376,9 @@ with pkgs; rainloop-community rainloop-standard; - rav1e = callPackage ../tools/video/rav1e { }; + rav1e = callPackage ../tools/video/rav1e { + inherit (darwin.apple_sdk.frameworks) Security; + }; raven-reader = callPackage ../applications/networking/newsreaders/raven-reader { }; @@ -8487,7 +8491,11 @@ with pkgs; wrapKakoune = kakoune: attrs: callPackage ../applications/editors/kakoune/wrapper.nix (attrs // { inherit kakoune; }); kakounePlugins = recurseIntoAttrs (callPackage ../applications/editors/kakoune/plugins { }); - kakoune-unwrapped = callPackage ../applications/editors/kakoune { }; + kakoune-unwrapped = callPackage ../applications/editors/kakoune { + # See comments on https://github.com/NixOS/nixpkgs/pull/198836 + # Remove below when stdenv for linux-aarch64 become recent enough. + stdenv = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then gcc11Stdenv else stdenv; + }; kakoune = wrapKakoune kakoune-unwrapped { plugins = [ ]; # override with the list of desired plugins }; @@ -8503,6 +8511,8 @@ with pkgs; katana = callPackage ../tools/security/katana { }; + katriawm = callPackage ../applications/window-managers/katriawm { }; + kbdd = callPackage ../applications/window-managers/kbdd { }; kbs2 = callPackage ../tools/security/kbs2 { @@ -10708,6 +10718,10 @@ with pkgs; po4a = perlPackages.Po4a; + poac = callPackage ../development/tools/poac { + inherit (llvmPackages_14) stdenv; + }; + podiff = callPackage ../tools/text/podiff { }; pocketbase = callPackage ../servers/pocketbase { }; @@ -15312,6 +15326,7 @@ with pkgs; cargo-cache = callPackage ../development/tools/rust/cargo-cache { inherit (darwin.apple_sdk.frameworks) Security; }; + cargo-chef = callPackage ../development/tools/rust/cargo-chef { }; cargo-crev = callPackage ../development/tools/rust/cargo-crev { inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration CoreFoundation; }; @@ -15486,7 +15501,8 @@ with pkgs; sbcl_2_2_6 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.6"; }; sbcl_2_2_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.9"; }; sbcl_2_2_10 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.10"; }; - sbcl = sbcl_2_2_10; + sbcl_2_2_11 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.11"; }; + sbcl = sbcl_2_2_11; roswell = callPackage ../development/tools/roswell { }; @@ -16103,7 +16119,7 @@ with pkgs; }; pythonInterpreters = callPackage ./../development/interpreters/python { }; - inherit (pythonInterpreters) python27 python37 python38 python39 python310 python311 python3Minimal pypy27 pypy39 pypy38 pypy37 rustpython; + inherit (pythonInterpreters) python27 python37 python38 python39 python310 python311 python312 python3Minimal pypy27 pypy39 pypy38 pypy37 rustpython; # List of extensions with overrides to apply to all Python package sets. pythonPackagesExtensions = [ ]; @@ -16114,6 +16130,7 @@ with pkgs; python39Packages = recurseIntoAttrs python39.pkgs; python310Packages = recurseIntoAttrs python310.pkgs; python311Packages = python311.pkgs; + python312Packages = python312.pkgs; pypyPackages = pypy.pkgs; pypy2Packages = pypy2.pkgs; pypy27Packages = pypy27.pkgs; @@ -17282,6 +17299,8 @@ with pkgs; gi-docgen = callPackage ../development/tools/documentation/gi-docgen { }; + git2-cpp = callPackage ../development/libraries/git2-cpp { }; + github-release = callPackage ../development/tools/github/github-release { }; global = callPackage ../development/tools/misc/global { }; @@ -17719,6 +17738,8 @@ with pkgs; libiberty_static = libiberty.override { staticBuild = true; }; }; + package-project-cmake = callPackage ../development/tools/package-project-cmake { }; + pactorio = callPackage ../development/tools/pactorio { inherit (darwin.apple_sdk.frameworks) Security; }; @@ -18215,7 +18236,6 @@ with pkgs; gdb = callPackage ../development/tools/misc/gdb { guile = null; - readline = readline81; }; gf = callPackage ../development/tools/misc/gf { }; @@ -21065,9 +21085,7 @@ with pkgs; python = python3; }; - libqalculate = callPackage ../development/libraries/libqalculate { - readline = readline81; - }; + libqalculate = callPackage ../development/libraries/libqalculate { }; libqt5pas = libsForQt5.callPackage ../development/compilers/fpc/libqt5pas.nix { }; @@ -22137,7 +22155,11 @@ with pkgs; prospector = callPackage ../development/tools/prospector { }; # https://github.com/protocolbuffers/protobuf/issues/10418 - protobuf = if stdenv.hostPlatform.is32bit then protobuf3_20 else + # protobuf versions have to match between build-time and run-time + # Using "targetPlatform" in the check makes sure that the version of + # pkgsCross.armv7l-hf-multiplatform.buildPackages.protobuf matches the + # version of pkgsCross.armv7l-hf-multiplatform.protobuf + protobuf = if stdenv.targetPlatform.is32bit then protobuf3_20 else protobuf3_21; protobuf3_21 = callPackage ../development/libraries/protobuf/3.21.nix { }; @@ -22314,7 +22336,7 @@ with pkgs; raylib = callPackage ../development/libraries/raylib { }; - readline = readline6; + readline = readline81; readline6 = readline63; readline63 = callPackage ../development/libraries/readline/6.3.nix { }; @@ -30558,6 +30580,8 @@ with pkgs; mmsd = callPackage ../tools/networking/mmsd { }; + mmsd-tng = callPackage ../tools/networking/mmsd-tng { }; + mmtc = callPackage ../applications/audio/mmtc { }; mnamer = callPackage ../applications/misc/mnamer { }; @@ -31029,7 +31053,7 @@ with pkgs; sndpeek = callPackage ../applications/audio/sndpeek { }; - sxhkd = callPackage ../applications/window-managers/sxhkd { }; + sxhkd = callPackage ../tools/X11/sxhkd { }; mpop = callPackage ../applications/networking/mpop { inherit (darwin.apple_sdk.frameworks) Security; @@ -37154,9 +37178,7 @@ with pkgs; rucksack = callPackage ../development/tools/rucksack { }; - ruff = callPackage ../development/tools/ruff { - inherit (darwin.apple_sdk.frameworks) CoreServices Security; - }; + ruff = callPackage ../development/tools/ruff { }; sam-ba = callPackage ../tools/misc/sam-ba { }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 3348f74e65d1..39503ee138b1 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1648,7 +1648,7 @@ in let inherit (pkgs) callPackage; in rec ocamlPackages_5_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/5.0.nix { }); - ocamlPackages_latest = ocamlPackages_4_14; + ocamlPackages_latest = ocamlPackages_5_0; ocamlPackages = ocamlPackages_4_14; } diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 5db18622e775..8223de074b81 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -191,6 +191,7 @@ mapAliases ({ repeated_test = repeated-test; # added 2022-11-15 requests_oauthlib = requests-oauthlib; # added 2022-02-12 requests_toolbelt = requests-toolbelt; # added 2017-09-26 + rig = throw "rig has been removed because it was pinned to python 2.7 and 3.5, failed to build and is otherwise unmaintained"; # added 2022-11-28 roboschool = throw "roboschool is deprecated in favor of PyBullet and has been removed"; # added 2022-01-15 ROPGadget = ropgadget; # added 2021-07-06 rotate-backups = throw "rotate-backups was removed in favor of the top-level rotate-backups"; # added 2021-07-01 @@ -218,6 +219,7 @@ mapAliases ({ tvnamer = throw "tvnamer was moved to pkgs.tvnamer"; # added 2021-07-05 types-cryptography = throw "types-cryptography has been removed because it is obsolete since cryptography version 3.4.4."; # added 2022-05-30 types-paramiko = throw "types-paramiko has been removed because it was unused."; # added 2022-05-30 + unittest2 = throw "unittest2 has been removed as it's a backport of unittest that's unmaintained and not needed beyond Python 3.4."; # added 2022-12-01 uproot3 = throw "uproot3 has been removed, use uproot instead"; # added 2022-12-13 uproot3-methods = throw "uproot3-methods has been removed"; # added 2022-12-13 Wand = wand; # added 2022-11-13 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4c1c8fde8218..127bee350da6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1107,8 +1107,6 @@ self: super: with self; { backports-cached-property = callPackage ../development/python-modules/backports-cached-property { }; - backports_abc = callPackage ../development/python-modules/backports_abc { }; - backports_csv = callPackage ../development/python-modules/backports_csv { }; backports-datetime-fromisoformat = callPackage ../development/python-modules/backports-datetime-fromisoformat { }; @@ -1121,8 +1119,6 @@ self: super: with self; { backports-shutil-which = callPackage ../development/python-modules/backports-shutil-which { }; - backports_ssl_match_hostname = callPackage ../development/python-modules/backports_ssl_match_hostname { }; - backports_tempfile = callPackage ../development/python-modules/backports_tempfile { }; backports_unittest-mock = callPackage ../development/python-modules/backports_unittest-mock { }; @@ -1973,8 +1969,6 @@ self: super: with self; { contextlib2 = callPackage ../development/python-modules/contextlib2 { }; - contextvars = callPackage ../development/python-modules/contextvars { }; - contexttimer = callPackage ../development/python-modules/contexttimer { }; convertdate = callPackage ../development/python-modules/convertdate { }; @@ -2195,8 +2189,6 @@ self: super: with self; { databricks-sql-connector = callPackage ../development/python-modules/databricks-sql-connector { }; - dataclasses = callPackage ../development/python-modules/dataclasses { }; - dataclasses-json = callPackage ../development/python-modules/dataclasses-json { }; dataclasses-serialization = callPackage ../development/python-modules/dataclasses-serialization { }; @@ -2864,8 +2856,6 @@ self: super: with self; { EasyProcess = callPackage ../development/python-modules/easyprocess { }; - easysnmp = callPackage ../development/python-modules/easysnmp { }; - easy-thumbnails = callPackage ../development/python-modules/easy-thumbnails { }; easywatch = callPackage ../development/python-modules/easywatch { }; @@ -6906,6 +6896,8 @@ self: super: with self; { msgraph-core = callPackage ../development/python-modules/msgraph-core { }; + multipart = callPackage ../development/python-modules/multipart { }; + netmap = callPackage ../development/python-modules/netmap { }; onetimepad = callPackage ../development/python-modules/onetimepad { }; @@ -9841,8 +9833,6 @@ self: super: with self; { rich-rst = callPackage ../development/python-modules/rich-rst { }; - rig = callPackage ../development/python-modules/rig { }; - ring-doorbell = callPackage ../development/python-modules/ring-doorbell { }; ripe-atlas-cousteau = callPackage ../development/python-modules/ripe-atlas-cousteau { }; @@ -11646,8 +11636,6 @@ self: super: with self; { units = callPackage ../development/python-modules/units { }; - unittest2 = callPackage ../development/python-modules/unittest2 { }; - unittest-data-provider = callPackage ../development/python-modules/unittest-data-provider { }; unittest-xml-reporting = callPackage ../development/python-modules/unittest-xml-reporting { }; diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index e3750544d3ed..00d28e73854f 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -9,6 +9,8 @@ with self; with super; { bootstrapped-pip = toPythonModule (callPackage ../development/python2-modules/bootstrapped-pip { }); + cffi = callPackage ../development/python2-modules/cffi { inherit cffi; }; + configparser = callPackage ../development/python2-modules/configparser { }; contextlib2 = callPackage ../development/python2-modules/contextlib2 { };