Merge branch 'staging' into staging-next

+1715 -2229
+91
nixos/doc/manual/release-notes/rl-2305.section.md
··· 12 12 13 13 - default linux: 5.15 -\> 6.1, all supported kernels available 14 14 15 + - systemd has been updated to v253.1, see [the pull request](https://github.com/NixOS/nixpkgs/pull/216826) for more info. 16 + It's recommended to use `nixos-rebuild boot` and `reboot`, rather than `nixos-rebuild switch` - since in some rare cases 17 + the switch of a live system might fail. 18 + 15 19 - Cinnamon has been updated to 5.6, see [the pull request](https://github.com/NixOS/nixpkgs/pull/201328#issue-1449910204) for what is changed. 16 20 17 21 - KDE Plasma has been updated to v5.27, see [the release notes](https://kde.org/announcements/plasma/5/5.27.0/) for what is changed. 18 22 19 23 - `nixos-rebuild` now supports an extra `--specialisation` option that can be used to change specialisation for `switch` and `test` commands. 24 + 25 + - `libxcrypt`, the library providing the `crypt(3)` password hashing function, is now built without support for algorithms not flagged [`strong`](https://github.com/besser82/libxcrypt/blob/v4.4.33/lib/hashes.conf#L48). This affects the availability of password hashing algorithms used for system login (`login(1)`, `passwd(1)`), but also Apache2 Basic-Auth, Samba, OpenLDAP, and [many other packages](https://github.com/search?q=repo%3ANixOS%2Fnixpkgs%20libxcrypt&type=code). 20 26 21 27 ## New Services {#sec-release-23.05-new-services} 22 28 ··· 161 167 162 168 - conntrack helper autodetection has been removed from kernels 6.0 and up upstream, and an assertion was added to ensure things don't silently stop working. Migrate your configuration to assign helpers explicitly or use an older LTS kernel branch as a temporary workaround. 163 169 170 + - The `services.pipewire.config` options have been removed, as they have basically never worked correctly. All behavior defined by the default configuration can be overridden with drop-in files as necessary - see [below](#sec-release-23.05-migration-pipewire) for details. 171 + 172 + - `services.pipewire.media-session` and the `pipewire-media-session` package have been removed, as they are no longer supported upstream. Users are encouraged to use `services.pipewire.wireplumber` instead. 164 173 ## Other Notable Changes {#sec-release-23.05-notable-changes} 165 174 166 175 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. --> ··· 307 316 - The option `services.prometheus.exporters.pihole.interval` does not exist anymore and has been removed. 308 317 309 318 - `k3s` can now be configured with an EnvironmentFile for its systemd service, allowing secrets to be provided without ending up in the Nix Store. 319 + 320 + ## Detailed migration information {#sec-release-23.05-migration} 321 + 322 + ### Pipewire configuration overrides {#sec-release-23.05-migration-pipewire} 323 + 324 + #### Why this change? {#sec-release-23.05-migration-pipewire-why} 325 + 326 + The Pipewire config semantics don't really match the NixOS module semantics, so it's extremely awkward to override the default config, especially when lists are involved. Vendoring the configuration files in nixpkgs also creates unnecessary maintenance overhead. 327 + 328 + Also, upstream added a lot of accomodations to allow doing most of the things you'd want to do with a config edit in better ways. 329 + 330 + #### Migrating your configuration {#sec-release-23.05-migration-pipewire-how} 331 + 332 + Compare your settings to [the defaults](https://gitlab.freedesktop.org/pipewire/pipewire/-/tree/master/src/daemon) and where your configuration differs from them. 333 + 334 + Then, create a drop-in JSON file in `/etc/pipewire/<config file name>.d/99-custom.conf` (the actual filename can be anything) and migrate your changes to it according to the following sections. 335 + 336 + Repeat for every file you've modified, changing the directory name accordingly. 337 + 338 + #### Things you can just copy over {#sec-release-23.05-migration-pipewire-simple} 339 + 340 + If you are: 341 + 342 + - setting properties via `*.properties` 343 + - loading a new module to `context.modules` 344 + - creating new objects with `context.objects` 345 + - declaring SPA libraries with `context.spa-libs` 346 + - running custom commands with `context.exec` 347 + - adding new rules with `*.rules` 348 + - running custom PulseAudio commands with `pulse.cmd` 349 + 350 + Simply move the definitions into the drop-in. 351 + 352 + Note that the use of `context.exec` is not recommended and other methods of running your thing are likely a better option. 353 + 354 + ```json 355 + { 356 + "context.properties": { 357 + "your.property.name": "your.property.value" 358 + }, 359 + "context.modules": [ 360 + { "name": "libpipewire-module-my-cool-thing" } 361 + ], 362 + "context.objects": [ 363 + { "factory": { ... } } 364 + ], 365 + "alsa.rules": [ 366 + { "matches: { ... }, "actions": { ... } } 367 + ] 368 + } 369 + ``` 370 + 371 + #### Removing a module from `context.modules` {#sec-release-23.05-migration-pipewire-removing-modules} 372 + 373 + Look for an option to disable it via `context.properties` (`"module.x11.bell": "false"` is likely the most common use case here). 374 + If one is not available, proceed to [Nuclear option](#sec-release-23.05-migration-pipewire). 375 + 376 + #### Modifying a module's parameters in `context.modules` {#sec-release-23.05-migration-pipewire-modifying-modules} 377 + 378 + For most modules (e.g. `libpipewire-module-rt`) it's enough to load the module again with the new arguments, e.g.: 379 + 380 + ```json 381 + { 382 + "context.modules": [ 383 + { 384 + "name": "libpipewire-module-rt", 385 + "args": { 386 + "rt.prio": 90 387 + } 388 + } 389 + ] 390 + } 391 + ``` 392 + 393 + Note that `module-rt` specifically will generally use the highest values available by default, so setting limits on the `pipewire` systemd service is preferable to reloading. 394 + 395 + If reloading the module is not an option, proceed to [Nuclear option](#sec-release-23.05-migration-pipewire). 396 + 397 + #### Nuclear option {#sec-release-23.05-migration-pipewire-nuclear} 398 + If all else fails, you can still manually copy the contents of the default configuration file 399 + from `${pkgs.pipewire.lib}/share/pipewire` to `/etc/pipewire` and edit it to fully override the default. 400 + However, this should be done only as a last resort. Please talk to the Pipewire maintainers if you ever need to do this.
+8 -5
nixos/modules/config/users-groups.nix
··· 539 539 540 540 ###### implementation 541 541 542 - config = { 542 + config = let 543 + cryptSchemeIdPatternGroup = "(${lib.concatStringsSep "|" pkgs.libxcrypt.enabledCryptSchemeIds})"; 544 + in { 543 545 544 546 users.users = { 545 547 root = { ··· 601 603 text = '' 602 604 users=() 603 605 while IFS=: read -r user hash tail; do 604 - if [[ "$hash" = "$"* && ! "$hash" =~ ^\$(y|gy|7|2b|2y|2a|6)\$ ]]; then 606 + if [[ "$hash" = "$"* && ! "$hash" =~ ^\''$${cryptSchemeIdPatternGroup}\$ ]]; then 605 607 users+=("$user") 606 608 fi 607 609 done </etc/shadow 608 610 609 611 if (( "''${#users[@]}" )); then 610 612 echo " 611 - WARNING: The following user accounts rely on password hashes that will 612 - be removed in NixOS 23.05. They should be renewed as soon as possible." 613 + WARNING: The following user accounts rely on password hashing algorithms 614 + that have been removed. They need to be renewed as soon as possible, as 615 + they do prevent their users from logging in." 613 616 printf ' - %s\n' "''${users[@]}" 614 617 fi 615 618 ''; ··· 716 719 let 717 720 sep = "\\$"; 718 721 base64 = "[a-zA-Z0-9./]+"; 719 - id = "[a-z0-9-]+"; 722 + id = cryptSchemeIdPatternGroup; 720 723 value = "[a-zA-Z0-9/+.-]+"; 721 724 options = "${id}(=${value})?(,${id}=${value})*"; 722 725 scheme = "${id}(${sep}${options})?";
-1
nixos/modules/module-list.nix
··· 431 431 ./services/desktops/gvfs.nix 432 432 ./services/desktops/malcontent.nix 433 433 ./services/desktops/neard.nix 434 - ./services/desktops/pipewire/pipewire-media-session.nix 435 434 ./services/desktops/pipewire/pipewire.nix 436 435 ./services/desktops/pipewire/wireplumber.nix 437 436 ./services/desktops/profile-sync-daemon.nix
+1 -1
nixos/modules/security/pam.nix
··· 620 620 optionalString config.services.homed.enable '' 621 621 password sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so 622 622 '' + '' 623 - password sufficient pam_unix.so nullok sha512 623 + password sufficient pam_unix.so nullok yescrypt 624 624 '' + 625 625 optionalString config.security.pam.enableEcryptfs '' 626 626 password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so
-54
nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json
··· 1 - { 2 - "context.properties": { 3 - "log.level": 0 4 - }, 5 - "context.spa-libs": { 6 - "audio.convert.*": "audioconvert/libspa-audioconvert", 7 - "support.*": "support/libspa-support" 8 - }, 9 - "context.modules": [ 10 - { 11 - "name": "libpipewire-module-rt", 12 - "args": {}, 13 - "flags": [ 14 - "ifexists", 15 - "nofail" 16 - ] 17 - }, 18 - { 19 - "name": "libpipewire-module-protocol-native" 20 - }, 21 - { 22 - "name": "libpipewire-module-client-node" 23 - }, 24 - { 25 - "name": "libpipewire-module-client-device" 26 - }, 27 - { 28 - "name": "libpipewire-module-adapter" 29 - }, 30 - { 31 - "name": "libpipewire-module-metadata" 32 - }, 33 - { 34 - "name": "libpipewire-module-session-manager" 35 - } 36 - ], 37 - "filter.properties": {}, 38 - "stream.properties": {}, 39 - "alsa.properties": {}, 40 - "alsa.rules": [ 41 - { 42 - "matches": [ 43 - { 44 - "application.process.binary": "resolve" 45 - } 46 - ], 47 - "actions": { 48 - "update-props": { 49 - "alsa.buffer-bytes": 131072 50 - } 51 - } 52 - } 53 - ] 54 - }
-31
nixos/modules/services/desktops/pipewire/daemon/client.conf.json
··· 1 - { 2 - "context.properties": { 3 - "log.level": 0 4 - }, 5 - "context.spa-libs": { 6 - "audio.convert.*": "audioconvert/libspa-audioconvert", 7 - "support.*": "support/libspa-support" 8 - }, 9 - "context.modules": [ 10 - { 11 - "name": "libpipewire-module-protocol-native" 12 - }, 13 - { 14 - "name": "libpipewire-module-client-node" 15 - }, 16 - { 17 - "name": "libpipewire-module-client-device" 18 - }, 19 - { 20 - "name": "libpipewire-module-adapter" 21 - }, 22 - { 23 - "name": "libpipewire-module-metadata" 24 - }, 25 - { 26 - "name": "libpipewire-module-session-manager" 27 - } 28 - ], 29 - "filter.properties": {}, 30 - "stream.properties": {} 31 - }
-28
nixos/modules/services/desktops/pipewire/daemon/filter-chain.conf.json
··· 1 - { 2 - "context.properties": { 3 - "log.level": 0 4 - }, 5 - "context.spa-libs": { 6 - "audio.convert.*": "audioconvert/libspa-audioconvert", 7 - "support.*": "support/libspa-support" 8 - }, 9 - "context.modules": [ 10 - { 11 - "name": "libpipewire-module-rt", 12 - "args": {}, 13 - "flags": [ 14 - "ifexists", 15 - "nofail" 16 - ] 17 - }, 18 - { 19 - "name": "libpipewire-module-protocol-native" 20 - }, 21 - { 22 - "name": "libpipewire-module-client-node" 23 - }, 24 - { 25 - "name": "libpipewire-module-adapter" 26 - } 27 - ] 28 - }
-75
nixos/modules/services/desktops/pipewire/daemon/jack.conf.json
··· 1 - { 2 - "context.properties": { 3 - "log.level": 0 4 - }, 5 - "context.spa-libs": { 6 - "support.*": "support/libspa-support" 7 - }, 8 - "context.modules": [ 9 - { 10 - "name": "libpipewire-module-rt", 11 - "args": {}, 12 - "flags": [ 13 - "ifexists", 14 - "nofail" 15 - ] 16 - }, 17 - { 18 - "name": "libpipewire-module-protocol-native" 19 - }, 20 - { 21 - "name": "libpipewire-module-client-node" 22 - }, 23 - { 24 - "name": "libpipewire-module-metadata" 25 - } 26 - ], 27 - "jack.properties": {}, 28 - "jack.rules": [ 29 - { 30 - "matches": [ 31 - {} 32 - ], 33 - "actions": { 34 - "update-props": {} 35 - } 36 - }, 37 - { 38 - "matches": [ 39 - { 40 - "application.process.binary": "jack_bufsize" 41 - } 42 - ], 43 - "actions": { 44 - "update-props": { 45 - "jack.global-buffer-size": true 46 - } 47 - } 48 - }, 49 - { 50 - "matches": [ 51 - { 52 - "application.process.binary": "qsynth" 53 - } 54 - ], 55 - "actions": { 56 - "update-props": { 57 - "node.pause-on-idle": false, 58 - "node.passive": true 59 - } 60 - } 61 - }, 62 - { 63 - "matches": [ 64 - { 65 - "client.name": "Mixxx" 66 - } 67 - ], 68 - "actions": { 69 - "update-props": { 70 - "jack.merge-monitor": false 71 - } 72 - } 73 - } 74 - ] 75 - }
-120
nixos/modules/services/desktops/pipewire/daemon/minimal.conf.json
··· 1 - { 2 - "context.properties": { 3 - "link.max-buffers": 16, 4 - "core.daemon": true, 5 - "core.name": "pipewire-0", 6 - "settings.check-quantum": true, 7 - "settings.check-rate": true, 8 - "vm.overrides": { 9 - "default.clock.min-quantum": 1024 10 - } 11 - }, 12 - "context.spa-libs": { 13 - "audio.convert.*": "audioconvert/libspa-audioconvert", 14 - "api.alsa.*": "alsa/libspa-alsa", 15 - "support.*": "support/libspa-support" 16 - }, 17 - "context.modules": [ 18 - { 19 - "name": "libpipewire-module-rt", 20 - "args": { 21 - "nice.level": -11 22 - }, 23 - "flags": [ 24 - "ifexists", 25 - "nofail" 26 - ] 27 - }, 28 - { 29 - "name": "libpipewire-module-protocol-native" 30 - }, 31 - { 32 - "name": "libpipewire-module-profiler" 33 - }, 34 - { 35 - "name": "libpipewire-module-metadata" 36 - }, 37 - { 38 - "name": "libpipewire-module-spa-node-factory" 39 - }, 40 - { 41 - "name": "libpipewire-module-client-node" 42 - }, 43 - { 44 - "name": "libpipewire-module-access", 45 - "args": {} 46 - }, 47 - { 48 - "name": "libpipewire-module-adapter" 49 - }, 50 - { 51 - "name": "libpipewire-module-link-factory" 52 - } 53 - ], 54 - "context.objects": [ 55 - { 56 - "factory": "metadata", 57 - "args": { 58 - "metadata.name": "default" 59 - } 60 - }, 61 - { 62 - "factory": "spa-node-factory", 63 - "args": { 64 - "factory.name": "support.node.driver", 65 - "node.name": "Dummy-Driver", 66 - "node.group": "pipewire.dummy", 67 - "priority.driver": 20000 68 - } 69 - }, 70 - { 71 - "factory": "spa-node-factory", 72 - "args": { 73 - "factory.name": "support.node.driver", 74 - "node.name": "Freewheel-Driver", 75 - "priority.driver": 19000, 76 - "node.group": "pipewire.freewheel", 77 - "node.freewheel": true 78 - } 79 - }, 80 - { 81 - "factory": "adapter", 82 - "args": { 83 - "factory.name": "api.alsa.pcm.source", 84 - "node.name": "system", 85 - "node.description": "system", 86 - "media.class": "Audio/Source", 87 - "api.alsa.path": "hw:0", 88 - "node.suspend-on-idle": true, 89 - "resample.disable": true, 90 - "channelmix.disable": true, 91 - "adapter.auto-port-config": { 92 - "mode": "dsp", 93 - "monitor": false, 94 - "control": false, 95 - "position": "unknown" 96 - } 97 - } 98 - }, 99 - { 100 - "factory": "adapter", 101 - "args": { 102 - "factory.name": "api.alsa.pcm.sink", 103 - "node.name": "system", 104 - "node.description": "system", 105 - "media.class": "Audio/Sink", 106 - "api.alsa.path": "hw:0", 107 - "node.suspend-on-idle": true, 108 - "resample.disable": true, 109 - "channelmix.disable": true, 110 - "adapter.auto-port-config": { 111 - "mode": "dsp", 112 - "monitor": false, 113 - "control": false, 114 - "position": "unknown" 115 - } 116 - } 117 - } 118 - ], 119 - "context.exec": [] 120 - }
-38
nixos/modules/services/desktops/pipewire/daemon/pipewire-aes67.conf.json
··· 1 - { 2 - "context.properties": {}, 3 - "context.modules": [ 4 - { 5 - "name": "libpipewire-module-rt", 6 - "args": { 7 - "nice.level": -11 8 - }, 9 - "flags": [ 10 - "ifexists", 11 - "nofail" 12 - ] 13 - }, 14 - { 15 - "name": "libpipewire-module-protocol-native" 16 - }, 17 - { 18 - "name": "libpipewire-module-client-node" 19 - }, 20 - { 21 - "name": "libpipewire-module-adapter" 22 - }, 23 - { 24 - "name": "libpipewire-module-rtp-source", 25 - "args": { 26 - "sap.ip": "239.255.255.255", 27 - "sap.port": 9875, 28 - "sess.latency.msec": 10, 29 - "local.ifname": "eth0", 30 - "stream.props": { 31 - "media.class": "Audio/Source", 32 - "node.virtual": false, 33 - "device.api": "aes67" 34 - } 35 - } 36 - } 37 - ] 38 - }
-38
nixos/modules/services/desktops/pipewire/daemon/pipewire-avb.conf.json
··· 1 - { 2 - "context.properties": {}, 3 - "context.spa-libs": { 4 - "audio.convert.*": "audioconvert/libspa-audioconvert", 5 - "support.*": "support/libspa-support" 6 - }, 7 - "context.modules": [ 8 - { 9 - "name": "libpipewire-module-rt", 10 - "args": { 11 - "nice.level": -11 12 - }, 13 - "flags": [ 14 - "ifexists", 15 - "nofail" 16 - ] 17 - }, 18 - { 19 - "name": "libpipewire-module-protocol-native" 20 - }, 21 - { 22 - "name": "libpipewire-module-client-node" 23 - }, 24 - { 25 - "name": "libpipewire-module-adapter" 26 - }, 27 - { 28 - "name": "libpipewire-module-avb", 29 - "args": {} 30 - } 31 - ], 32 - "context.exec": [], 33 - "stream.properties": {}, 34 - "avb.properties": { 35 - "ifname": "enp3s0", 36 - "vm.overrides": {} 37 - } 38 - }
-106
nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
··· 1 - { 2 - "context.properties": {}, 3 - "context.spa-libs": { 4 - "audio.convert.*": "audioconvert/libspa-audioconvert", 5 - "support.*": "support/libspa-support" 6 - }, 7 - "context.modules": [ 8 - { 9 - "name": "libpipewire-module-rt", 10 - "args": { 11 - "nice.level": -11 12 - }, 13 - "flags": [ 14 - "ifexists", 15 - "nofail" 16 - ] 17 - }, 18 - { 19 - "name": "libpipewire-module-protocol-native" 20 - }, 21 - { 22 - "name": "libpipewire-module-client-node" 23 - }, 24 - { 25 - "name": "libpipewire-module-adapter" 26 - }, 27 - { 28 - "name": "libpipewire-module-metadata" 29 - }, 30 - { 31 - "name": "libpipewire-module-protocol-pulse", 32 - "args": {} 33 - } 34 - ], 35 - "context.exec": [], 36 - "pulse.cmd": [ 37 - { 38 - "cmd": "load-module", 39 - "args": "module-always-sink", 40 - "flags": [] 41 - } 42 - ], 43 - "stream.properties": {}, 44 - "pulse.properties": { 45 - "server.address": [ 46 - "unix:native" 47 - ], 48 - "vm.overrides": { 49 - "pulse.min.quantum": "1024/48000" 50 - } 51 - }, 52 - "pulse.rules": [ 53 - { 54 - "matches": [ 55 - {} 56 - ], 57 - "actions": { 58 - "update-props": {} 59 - } 60 - }, 61 - { 62 - "matches": [ 63 - { 64 - "application.process.binary": "teams" 65 - }, 66 - { 67 - "application.process.binary": "teams-insiders" 68 - }, 69 - { 70 - "application.process.binary": "skypeforlinux" 71 - } 72 - ], 73 - "actions": { 74 - "quirks": [ 75 - "force-s16-info" 76 - ] 77 - } 78 - }, 79 - { 80 - "matches": [ 81 - { 82 - "application.process.binary": "firefox" 83 - } 84 - ], 85 - "actions": { 86 - "quirks": [ 87 - "remove-capture-dont-move" 88 - ] 89 - } 90 - }, 91 - { 92 - "matches": [ 93 - { 94 - "application.name": "~speech-dispatcher.*" 95 - } 96 - ], 97 - "actions": { 98 - "update-props": { 99 - "pulse.min.req": "512/48000", 100 - "pulse.min.quantum": "512/48000", 101 - "pulse.idle.timeout": 5 102 - } 103 - } 104 - } 105 - ] 106 - }
-110
nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
··· 1 - { 2 - "context.properties": { 3 - "link.max-buffers": 16, 4 - "core.daemon": true, 5 - "core.name": "pipewire-0", 6 - "vm.overrides": { 7 - "default.clock.min-quantum": 1024 8 - }, 9 - "module.x11.bell": true 10 - }, 11 - "context.spa-libs": { 12 - "audio.convert.*": "audioconvert/libspa-audioconvert", 13 - "avb.*": "avb/libspa-avb", 14 - "api.alsa.*": "alsa/libspa-alsa", 15 - "api.v4l2.*": "v4l2/libspa-v4l2", 16 - "api.libcamera.*": "libcamera/libspa-libcamera", 17 - "api.bluez5.*": "bluez5/libspa-bluez5", 18 - "api.vulkan.*": "vulkan/libspa-vulkan", 19 - "api.jack.*": "jack/libspa-jack", 20 - "support.*": "support/libspa-support" 21 - }, 22 - "context.modules": [ 23 - { 24 - "name": "libpipewire-module-rt", 25 - "args": { 26 - "nice.level": -11 27 - }, 28 - "flags": [ 29 - "ifexists", 30 - "nofail" 31 - ] 32 - }, 33 - { 34 - "name": "libpipewire-module-protocol-native" 35 - }, 36 - { 37 - "name": "libpipewire-module-profiler" 38 - }, 39 - { 40 - "name": "libpipewire-module-metadata" 41 - }, 42 - { 43 - "name": "libpipewire-module-spa-device-factory" 44 - }, 45 - { 46 - "name": "libpipewire-module-spa-node-factory" 47 - }, 48 - { 49 - "name": "libpipewire-module-client-node" 50 - }, 51 - { 52 - "name": "libpipewire-module-client-device" 53 - }, 54 - { 55 - "name": "libpipewire-module-portal", 56 - "flags": [ 57 - "ifexists", 58 - "nofail" 59 - ] 60 - }, 61 - { 62 - "name": "libpipewire-module-access", 63 - "args": {} 64 - }, 65 - { 66 - "name": "libpipewire-module-adapter" 67 - }, 68 - { 69 - "name": "libpipewire-module-link-factory" 70 - }, 71 - { 72 - "name": "libpipewire-module-session-manager" 73 - }, 74 - { 75 - "name": "libpipewire-module-x11-bell", 76 - "args": {}, 77 - "flags": [ 78 - "ifexists", 79 - "nofail" 80 - ], 81 - "condition": [ 82 - { 83 - "module.x11.bell": true 84 - } 85 - ] 86 - } 87 - ], 88 - "context.objects": [ 89 - { 90 - "factory": "spa-node-factory", 91 - "args": { 92 - "factory.name": "support.node.driver", 93 - "node.name": "Dummy-Driver", 94 - "node.group": "pipewire.dummy", 95 - "priority.driver": 20000 96 - } 97 - }, 98 - { 99 - "factory": "spa-node-factory", 100 - "args": { 101 - "factory.name": "support.node.driver", 102 - "node.name": "Freewheel-Driver", 103 - "priority.driver": 19000, 104 - "node.group": "pipewire.freewheel", 105 - "node.freewheel": true 106 - } 107 - } 108 - ], 109 - "context.exec": [] 110 - }
-34
nixos/modules/services/desktops/pipewire/media-session/alsa-monitor.conf.json
··· 1 - { 2 - "properties": {}, 3 - "rules": [ 4 - { 5 - "matches": [ 6 - { 7 - "device.name": "~alsa_card.*" 8 - } 9 - ], 10 - "actions": { 11 - "update-props": { 12 - "api.alsa.use-acp": true, 13 - "api.acp.auto-profile": false, 14 - "api.acp.auto-port": false 15 - } 16 - } 17 - }, 18 - { 19 - "matches": [ 20 - { 21 - "node.name": "~alsa_input.*" 22 - }, 23 - { 24 - "node.name": "~alsa_output.*" 25 - } 26 - ], 27 - "actions": { 28 - "update-props": { 29 - "node.pause-on-idle": false 30 - } 31 - } 32 - } 33 - ] 34 - }
-36
nixos/modules/services/desktops/pipewire/media-session/bluez-monitor.conf.json
··· 1 - { 2 - "properties": {}, 3 - "rules": [ 4 - { 5 - "matches": [ 6 - { 7 - "device.name": "~bluez_card.*" 8 - } 9 - ], 10 - "actions": { 11 - "update-props": { 12 - "bluez5.auto-connect": [ 13 - "hfp_hf", 14 - "hsp_hs", 15 - "a2dp_sink" 16 - ] 17 - } 18 - } 19 - }, 20 - { 21 - "matches": [ 22 - { 23 - "node.name": "~bluez_input.*" 24 - }, 25 - { 26 - "node.name": "~bluez_output.*" 27 - } 28 - ], 29 - "actions": { 30 - "update-props": { 31 - "node.pause-on-idle": false 32 - } 33 - } 34 - } 35 - ] 36 - }
-68
nixos/modules/services/desktops/pipewire/media-session/media-session.conf.json
··· 1 - { 2 - "context.properties": {}, 3 - "context.spa-libs": { 4 - "api.bluez5.*": "bluez5/libspa-bluez5", 5 - "api.alsa.*": "alsa/libspa-alsa", 6 - "api.v4l2.*": "v4l2/libspa-v4l2", 7 - "api.libcamera.*": "libcamera/libspa-libcamera" 8 - }, 9 - "context.modules": [ 10 - { 11 - "name": "libpipewire-module-rtkit", 12 - "args": {}, 13 - "flags": [ 14 - "ifexists", 15 - "nofail" 16 - ] 17 - }, 18 - { 19 - "name": "libpipewire-module-protocol-native" 20 - }, 21 - { 22 - "name": "libpipewire-module-client-node" 23 - }, 24 - { 25 - "name": "libpipewire-module-client-device" 26 - }, 27 - { 28 - "name": "libpipewire-module-adapter" 29 - }, 30 - { 31 - "name": "libpipewire-module-metadata" 32 - }, 33 - { 34 - "name": "libpipewire-module-session-manager" 35 - } 36 - ], 37 - "session.modules": { 38 - "default": [ 39 - "flatpak", 40 - "portal", 41 - "v4l2", 42 - "suspend-node", 43 - "policy-node" 44 - ], 45 - "with-audio": [ 46 - "metadata", 47 - "default-nodes", 48 - "default-profile", 49 - "default-routes", 50 - "alsa-seq", 51 - "alsa-monitor" 52 - ], 53 - "with-alsa": [ 54 - "with-audio" 55 - ], 56 - "with-jack": [ 57 - "with-audio" 58 - ], 59 - "with-pulseaudio": [ 60 - "with-audio", 61 - "bluez5", 62 - "bluez5-autoswitch", 63 - "logind", 64 - "restore-stream", 65 - "streams-follow-default" 66 - ] 67 - } 68 - }
-30
nixos/modules/services/desktops/pipewire/media-session/v4l2-monitor.conf.json
··· 1 - { 2 - "properties": {}, 3 - "rules": [ 4 - { 5 - "matches": [ 6 - { 7 - "device.name": "~v4l2_device.*" 8 - } 9 - ], 10 - "actions": { 11 - "update-props": {} 12 - } 13 - }, 14 - { 15 - "matches": [ 16 - { 17 - "node.name": "~v4l2_input.*" 18 - }, 19 - { 20 - "node.name": "~v4l2_output.*" 21 - } 22 - ], 23 - "actions": { 24 - "update-props": { 25 - "node.pause-on-idle": false 26 - } 27 - } 28 - } 29 - ] 30 - }
-141
nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
··· 1 - # pipewire example session manager. 2 - { config, lib, pkgs, ... }: 3 - 4 - with lib; 5 - 6 - let 7 - json = pkgs.formats.json {}; 8 - cfg = config.services.pipewire.media-session; 9 - enable32BitAlsaPlugins = cfg.alsa.support32Bit 10 - && pkgs.stdenv.isx86_64 11 - && pkgs.pkgsi686Linux.pipewire != null; 12 - 13 - # Use upstream config files passed through spa-json-dump as the base 14 - # Patched here as necessary for them to work with this module 15 - defaults = { 16 - alsa-monitor = lib.importJSON ./media-session/alsa-monitor.conf.json; 17 - bluez-monitor = lib.importJSON ./media-session/bluez-monitor.conf.json; 18 - media-session = lib.importJSON ./media-session/media-session.conf.json; 19 - v4l2-monitor = lib.importJSON ./media-session/v4l2-monitor.conf.json; 20 - }; 21 - 22 - configs = { 23 - alsa-monitor = recursiveUpdate defaults.alsa-monitor cfg.config.alsa-monitor; 24 - bluez-monitor = recursiveUpdate defaults.bluez-monitor cfg.config.bluez-monitor; 25 - media-session = recursiveUpdate defaults.media-session cfg.config.media-session; 26 - v4l2-monitor = recursiveUpdate defaults.v4l2-monitor cfg.config.v4l2-monitor; 27 - }; 28 - in { 29 - 30 - meta = { 31 - maintainers = teams.freedesktop.members; 32 - # uses attributes of the linked package 33 - buildDocsInSandbox = false; 34 - }; 35 - 36 - ###### interface 37 - options = { 38 - services.pipewire.media-session = { 39 - enable = mkOption { 40 - type = types.bool; 41 - default = false; 42 - description = lib.mdDoc "Whether to enable the deprecated example Pipewire session manager"; 43 - }; 44 - 45 - package = mkOption { 46 - type = types.package; 47 - default = pkgs.pipewire-media-session; 48 - defaultText = literalExpression "pkgs.pipewire-media-session"; 49 - description = lib.mdDoc '' 50 - The pipewire-media-session derivation to use. 51 - ''; 52 - }; 53 - 54 - config = { 55 - media-session = mkOption { 56 - type = json.type; 57 - description = lib.mdDoc '' 58 - Configuration for the media session core. For details see 59 - https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/media-session.conf 60 - ''; 61 - default = defaults.media-session; 62 - }; 63 - 64 - alsa-monitor = mkOption { 65 - type = json.type; 66 - description = lib.mdDoc '' 67 - Configuration for the alsa monitor. For details see 68 - https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/alsa-monitor.conf 69 - ''; 70 - default = defaults.alsa-monitor; 71 - }; 72 - 73 - bluez-monitor = mkOption { 74 - type = json.type; 75 - description = lib.mdDoc '' 76 - Configuration for the bluez5 monitor. For details see 77 - https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/bluez-monitor.conf 78 - ''; 79 - default = defaults.bluez-monitor; 80 - }; 81 - 82 - v4l2-monitor = mkOption { 83 - type = json.type; 84 - description = lib.mdDoc '' 85 - Configuration for the V4L2 monitor. For details see 86 - https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/v4l2-monitor.conf 87 - ''; 88 - default = defaults.v4l2-monitor; 89 - }; 90 - }; 91 - }; 92 - }; 93 - 94 - ###### implementation 95 - config = mkIf cfg.enable { 96 - environment.systemPackages = [ cfg.package ]; 97 - systemd.packages = [ cfg.package ]; 98 - 99 - # Enable either system or user units. 100 - systemd.services.pipewire-media-session.enable = config.services.pipewire.systemWide; 101 - systemd.user.services.pipewire-media-session.enable = !config.services.pipewire.systemWide; 102 - 103 - systemd.services.pipewire-media-session.wantedBy = [ "pipewire.service" ]; 104 - systemd.user.services.pipewire-media-session.wantedBy = [ "pipewire.service" ]; 105 - 106 - environment.etc."pipewire/media-session.d/media-session.conf" = { 107 - source = json.generate "media-session.conf" configs.media-session; 108 - }; 109 - environment.etc."pipewire/media-session.d/v4l2-monitor.conf" = { 110 - source = json.generate "v4l2-monitor.conf" configs.v4l2-monitor; 111 - }; 112 - 113 - environment.etc."pipewire/media-session.d/with-audio" = 114 - mkIf config.services.pipewire.audio.enable { 115 - text = ""; 116 - }; 117 - 118 - environment.etc."pipewire/media-session.d/with-alsa" = 119 - mkIf config.services.pipewire.alsa.enable { 120 - text = ""; 121 - }; 122 - environment.etc."pipewire/media-session.d/alsa-monitor.conf" = 123 - mkIf config.services.pipewire.alsa.enable { 124 - source = json.generate "alsa-monitor.conf" configs.alsa-monitor; 125 - }; 126 - 127 - environment.etc."pipewire/media-session.d/with-pulseaudio" = 128 - mkIf config.services.pipewire.pulse.enable { 129 - text = ""; 130 - }; 131 - environment.etc."pipewire/media-session.d/bluez-monitor.conf" = 132 - mkIf config.services.pipewire.pulse.enable { 133 - source = json.generate "bluez-monitor.conf" configs.bluez-monitor; 134 - }; 135 - 136 - environment.etc."pipewire/media-session.d/with-jack" = 137 - mkIf config.services.pipewire.jack.enable { 138 - text = ""; 139 - }; 140 - }; 141 - }
+12 -99
nixos/modules/services/desktops/pipewire/pipewire.nix
··· 4 4 with lib; 5 5 6 6 let 7 - json = pkgs.formats.json {}; 8 7 cfg = config.services.pipewire; 9 8 enable32BitAlsaPlugins = cfg.alsa.support32Bit 10 9 && pkgs.stdenv.isx86_64 ··· 18 17 mkdir -p "$out/lib" 19 18 ln -s "${cfg.package.jack}/lib" "$out/lib/pipewire" 20 19 ''; 21 - 22 - # Use upstream config files passed through spa-json-dump as the base 23 - # Patched here as necessary for them to work with this module 24 - defaults = { 25 - client = lib.importJSON ./daemon/client.conf.json; 26 - client-rt = lib.importJSON ./daemon/client-rt.conf.json; 27 - jack = lib.importJSON ./daemon/jack.conf.json; 28 - minimal = lib.importJSON ./daemon/minimal.conf.json; 29 - pipewire = lib.importJSON ./daemon/pipewire.conf.json; 30 - pipewire-pulse = lib.importJSON ./daemon/pipewire-pulse.conf.json; 31 - }; 32 - 33 - useSessionManager = cfg.wireplumber.enable || cfg.media-session.enable; 34 - 35 - configs = { 36 - client = recursiveUpdate defaults.client cfg.config.client; 37 - client-rt = recursiveUpdate defaults.client-rt cfg.config.client-rt; 38 - jack = recursiveUpdate defaults.jack cfg.config.jack; 39 - pipewire = recursiveUpdate (if useSessionManager then defaults.pipewire else defaults.minimal) cfg.config.pipewire; 40 - pipewire-pulse = recursiveUpdate defaults.pipewire-pulse cfg.config.pipewire-pulse; 41 - }; 42 20 in { 43 - 44 - meta = { 45 - maintainers = teams.freedesktop.members ++ [ lib.maintainers.k900 ]; 46 - # uses attributes of the linked package 47 - buildDocsInSandbox = false; 48 - }; 21 + meta.maintainers = teams.freedesktop.members ++ [ lib.maintainers.k900 ]; 49 22 50 23 ###### interface 51 24 options = { ··· 69 42 ''; 70 43 }; 71 44 72 - config = { 73 - client = mkOption { 74 - type = json.type; 75 - default = {}; 76 - description = lib.mdDoc '' 77 - Configuration for pipewire clients. For details see 78 - https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/client.conf.in 79 - ''; 80 - }; 81 - 82 - client-rt = mkOption { 83 - type = json.type; 84 - default = {}; 85 - description = lib.mdDoc '' 86 - Configuration for realtime pipewire clients. For details see 87 - https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/client-rt.conf.in 88 - ''; 89 - }; 90 - 91 - jack = mkOption { 92 - type = json.type; 93 - default = {}; 94 - description = lib.mdDoc '' 95 - Configuration for the pipewire daemon's jack module. For details see 96 - https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/jack.conf.in 97 - ''; 98 - }; 99 - 100 - pipewire = mkOption { 101 - type = json.type; 102 - default = {}; 103 - description = lib.mdDoc '' 104 - Configuration for the pipewire daemon. For details see 105 - https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/pipewire.conf.in 106 - ''; 107 - }; 108 - 109 - pipewire-pulse = mkOption { 110 - type = json.type; 111 - default = {}; 112 - description = lib.mdDoc '' 113 - Configuration for the pipewire-pulse daemon. For details see 114 - https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/pipewire-pulse.conf.in 115 - ''; 116 - }; 117 - }; 118 - 119 45 audio = { 120 46 enable = lib.mkOption { 121 47 type = lib.types.bool; ··· 153 79 https://github.com/PipeWire/pipewire/blob/master/NEWS 154 80 ''; 155 81 }; 156 - 157 82 }; 158 83 }; 159 84 85 + imports = [ 86 + (lib.mkRemovedOptionModule ["services" "pipewire" "config"] '' 87 + Overriding default Pipewire configuration through NixOS options never worked correctly and is no longer supported. 88 + Please create drop-in files in /etc/pipewire/pipewire.conf.d/ to make the desired setting changes instead. 89 + '') 90 + 91 + (lib.mkRemovedOptionModule ["services" "pipewire" "media-session"] '' 92 + pipewire-media-session is no longer supported upstream and has been removed. 93 + Please switch to `services.pipewire.wireplumber` instead. 94 + '') 95 + ]; 160 96 161 97 ###### implementation 162 98 config = mkIf cfg.enable { ··· 222 158 source = "${cfg.package}/share/alsa/alsa.conf.d/99-pipewire-default.conf"; 223 159 }; 224 160 225 - environment.etc."pipewire/client.conf" = { 226 - source = json.generate "client.conf" configs.client; 227 - }; 228 - environment.etc."pipewire/client-rt.conf" = { 229 - source = json.generate "client-rt.conf" configs.client-rt; 230 - }; 231 - environment.etc."pipewire/jack.conf" = { 232 - source = json.generate "jack.conf" configs.jack; 233 - }; 234 - environment.etc."pipewire/pipewire.conf" = { 235 - source = json.generate "pipewire.conf" configs.pipewire; 236 - }; 237 - environment.etc."pipewire/pipewire-pulse.conf" = mkIf cfg.pulse.enable { 238 - source = json.generate "pipewire-pulse.conf" configs.pipewire-pulse; 239 - }; 240 - 241 161 environment.sessionVariables.LD_LIBRARY_PATH = 242 162 lib.mkIf cfg.jack.enable [ "${cfg.package.jack}/lib" ]; 243 163 ··· 256 176 }; 257 177 groups.pipewire.gid = config.ids.gids.pipewire; 258 178 }; 259 - 260 - # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/464#note_723554 261 - systemd.services.pipewire.environment."PIPEWIRE_LINK_PASSIVE" = "1"; 262 - systemd.user.services.pipewire.environment."PIPEWIRE_LINK_PASSIVE" = "1"; 263 - 264 - # pipewire-pulse default config expects pactl to be in PATH 265 - systemd.user.services.pipewire-pulse.path = lib.mkIf cfg.pulse.enable [ pkgs.pulseaudio ]; 266 179 }; 267 180 }
-4
nixos/modules/services/desktops/pipewire/wireplumber.nix
··· 29 29 config = lib.mkIf cfg.enable { 30 30 assertions = [ 31 31 { 32 - assertion = !config.services.pipewire.media-session.enable; 33 - message = "WirePlumber and pipewire-media-session can't be enabled at the same time."; 34 - } 35 - { 36 32 assertion = !config.hardware.bluetooth.hsphfpd.enable; 37 33 message = "Using Wireplumber conflicts with hsphfpd, as it provides the same functionality. `hardware.bluetooth.hsphfpd.enable` needs be set to false"; 38 34 }
+1 -1
nixos/modules/services/x11/display-managers/gdm.nix
··· 323 323 324 324 account sufficient pam_unix.so 325 325 326 - password requisite pam_unix.so nullok sha512 326 + password requisite pam_unix.so nullok yescrypt 327 327 328 328 session optional pam_keyinit.so revoke 329 329 session include login
+1 -1
nixos/modules/services/x11/display-managers/lightdm.nix
··· 302 302 303 303 account sufficient pam_unix.so 304 304 305 - password requisite pam_unix.so nullok sha512 305 + password requisite pam_unix.so nullok yescrypt 306 306 307 307 session optional pam_keyinit.so revoke 308 308 session include login
+2
nixos/modules/system/boot/systemd.nix
··· 79 79 # Filesystems. 80 80 "systemd-fsck@.service" 81 81 "systemd-fsck-root.service" 82 + "systemd-growfs@.service" 83 + "systemd-growfs-root.service" 82 84 "systemd-remount-fs.service" 83 85 "systemd-pstore.service" 84 86 "local-fs.target"
+2
nixos/modules/system/boot/systemd/initrd.nix
··· 56 56 "systemd-ask-password-console.path" 57 57 "systemd-ask-password-console.service" 58 58 "systemd-fsck@.service" 59 + "systemd-growfs@.service" 59 60 "systemd-halt.service" 60 61 "systemd-hibernate-resume@.service" 61 62 "systemd-journald-audit.socket" ··· 371 372 managerEnvironment.PATH = "/bin:/sbin"; 372 373 373 374 contents = { 375 + "/tmp/.keep".text = "systemd requires the /tmp mount point in the initrd cpio archive"; 374 376 "/init".source = "${cfg.package}/lib/systemd/systemd"; 375 377 "/etc/systemd/system".source = stage1Units; 376 378
+1 -1
nixos/tests/pam/test_chfn.py
··· 8 8 "auth sufficient pam_rootok.so", 9 9 "auth sufficient pam_unix.so likeauth try_first_pass", 10 10 "password sufficient @@pam_krb5@@/lib/security/pam_krb5.so use_first_pass", 11 - "password sufficient pam_unix.so nullok sha512", 11 + "password sufficient pam_unix.so nullok yescrypt", 12 12 "session optional @@pam_krb5@@/lib/security/pam_krb5.so", 13 13 "session required pam_env.so conffile=/etc/pam/environment readenv=0", 14 14 "session required pam_unix.so",
+2 -2
pkgs/applications/audio/moc/default.nix
··· 15 15 , musepackSupport ? true, libmpc, libmpcdec, taglib 16 16 , vorbisSupport ? true, libvorbis 17 17 , speexSupport ? true, speex 18 - , ffmpegSupport ? true, ffmpeg 18 + , ffmpegSupport ? true, ffmpeg_4 19 19 , sndfileSupport ? true, libsndfile 20 20 , wavpackSupport ? true, wavpack 21 21 # Misc ··· 56 56 ++ lib.optionals musepackSupport [ libmpc libmpcdec taglib ] 57 57 ++ lib.optional vorbisSupport libvorbis 58 58 ++ lib.optional speexSupport speex 59 - ++ lib.optional ffmpegSupport ffmpeg 59 + ++ lib.optional ffmpegSupport ffmpeg_4 60 60 ++ lib.optional sndfileSupport libsndfile 61 61 ++ lib.optional wavpackSupport wavpack 62 62 # Misc
+2 -2
pkgs/applications/audio/musly/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, cmake, eigen, ffmpeg }: 1 + { lib, stdenv, fetchFromGitHub, cmake, eigen, ffmpeg_4 }: 2 2 stdenv.mkDerivation { 3 3 pname = "musly"; 4 4 version = "unstable-2017-04-26"; ··· 9 9 sha256 = "1q42wvdwy2pac7bhfraqqj2czw7w2m33ms3ifjl8phm7d87i8825"; 10 10 }; 11 11 nativeBuildInputs = [ cmake ]; 12 - buildInputs = [ eigen ffmpeg ]; 12 + buildInputs = [ eigen ffmpeg_4 ]; 13 13 fixupPhase = lib.optionalString stdenv.isDarwin '' 14 14 install_name_tool -change libmusly.dylib $out/lib/libmusly.dylib $out/bin/musly 15 15 install_name_tool -change libmusly_resample.dylib $out/lib/libmusly_resample.dylib $out/bin/musly
+4
pkgs/applications/audio/qsynth/default.nix
··· 16 16 buildInputs = [ alsa-lib fluidsynth libjack2 qtbase qttools qtx11extras ]; 17 17 18 18 enableParallelBuilding = true; 19 + # Missing install depends: 20 + # lrelease error: Parse error at src/translations/qsynth_ru.ts:1503:33: Premature end of document. 21 + # make: *** [Makefile:107: src/translations/qsynth_ru.qm] Error 1 22 + enableParallelInstalling = false; 19 23 20 24 meta = with lib; { 21 25 description = "Fluidsynth GUI";
+2 -2
pkgs/applications/audio/spek/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, autoreconfHook, intltool, pkg-config, ffmpeg, wxGTK32, gtk3, wrapGAppsHook }: 1 + { lib, stdenv, fetchFromGitHub, autoreconfHook, intltool, pkg-config, ffmpeg_4, wxGTK32, gtk3, wrapGAppsHook }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "spek"; ··· 13 13 14 14 nativeBuildInputs = [ autoreconfHook intltool pkg-config wrapGAppsHook ]; 15 15 16 - buildInputs = [ ffmpeg wxGTK32 gtk3 ]; 16 + buildInputs = [ ffmpeg_4 wxGTK32 gtk3 ]; 17 17 18 18 meta = with lib; { 19 19 description = "Analyse your audio files by showing their spectrogram";
+2 -2
pkgs/applications/audio/tenacity/default.nix
··· 30 30 , expat 31 31 , libid3tag 32 32 , libopus 33 - , ffmpeg 33 + , ffmpeg_4 34 34 , soundtouch 35 35 , pcre 36 36 , portaudio ··· 110 110 buildInputs = [ 111 111 alsa-lib 112 112 expat 113 - ffmpeg 113 + ffmpeg_4 114 114 file 115 115 flac 116 116 glib
+1 -1
pkgs/applications/blockchains/bitcoin-unlimited/default.nix
··· 58 58 homepage = "https://www.bitcoinunlimited.info/"; 59 59 maintainers = with maintainers; [ DmitryTsygankov ]; 60 60 license = licenses.mit; 61 - broken = stdenv.isDarwin; 61 + broken = true; 62 62 platforms = platforms.unix; 63 63 }; 64 64 }
+1
pkgs/applications/blockchains/dogecoin/default.nix
··· 54 54 license = licenses.mit; 55 55 maintainers = with maintainers; [ edwtjo offline ]; 56 56 platforms = platforms.unix; 57 + broken = true; 57 58 }; 58 59 }
+1 -1
pkgs/applications/blockchains/pivx/default.nix
··· 64 64 ''; 65 65 66 66 meta = with lib; { 67 - broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; 67 + broken = true; 68 68 description = "An open source crypto-currency focused on fast private transactions"; 69 69 longDescription = '' 70 70 PIVX is an MIT licensed, open source, blockchain-based cryptocurrency with
+2 -2
pkgs/applications/emulators/attract-mode/default.nix
··· 1 - { expat, fetchFromGitHub, ffmpeg, fontconfig, freetype, libarchive, libjpeg 1 + { expat, fetchFromGitHub, ffmpeg_4, fontconfig, freetype, libarchive, libjpeg 2 2 , libGLU, libGL, openal, pkg-config, sfml, lib, stdenv, zlib 3 3 }: 4 4 ··· 20 20 ''; 21 21 22 22 buildInputs = [ 23 - expat ffmpeg fontconfig freetype libarchive libjpeg libGLU libGL openal sfml zlib 23 + expat ffmpeg_4 fontconfig freetype libarchive libjpeg libGLU libGL openal sfml zlib 24 24 ]; 25 25 26 26 meta = with lib; {
+2 -2
pkgs/applications/emulators/citra/generic.nix
··· 20 20 , enableCubeb ? true, libpulseaudio 21 21 , enableFfmpegAudioDecoder ? true 22 22 , enableFfmpegVideoDumper ? true 23 - , ffmpeg 23 + , ffmpeg_4 24 24 , useDiscordRichPresence ? true, rapidjson 25 25 , enableFdk ? false, fdk_aac 26 26 }: ··· 41 41 ++ lib.optional enableSdl2 SDL2 42 42 ++ lib.optional enableQtTranslation qttools 43 43 ++ lib.optional enableCubeb libpulseaudio 44 - ++ lib.optional (enableFfmpegAudioDecoder || enableFfmpegVideoDumper) ffmpeg 44 + ++ lib.optional (enableFfmpegAudioDecoder || enableFfmpegVideoDumper) ffmpeg_4 45 45 ++ lib.optional useDiscordRichPresence rapidjson 46 46 ++ lib.optional enableFdk fdk_aac; 47 47
+2 -2
pkgs/applications/emulators/pcsxr/default.nix
··· 1 1 { lib, stdenv, fetchurl, autoreconfHook, intltool, pkg-config, gtk3, SDL2, xorg 2 - , wrapGAppsHook, libcdio, nasm, ffmpeg, file 2 + , wrapGAppsHook, libcdio, nasm, ffmpeg_4, file 3 3 , fetchpatch }: 4 4 5 5 stdenv.mkDerivation rec { ··· 52 52 53 53 nativeBuildInputs = [ autoreconfHook intltool pkg-config wrapGAppsHook ]; 54 54 buildInputs = [ 55 - gtk3 SDL2 xorg.libXv xorg.libXtst libcdio nasm ffmpeg file 55 + gtk3 SDL2 xorg.libXv xorg.libXtst libcdio nasm ffmpeg_4 file 56 56 xorg.libXxf86vm 57 57 ]; 58 58
+2 -2
pkgs/applications/emulators/ppsspp/default.nix
··· 4 4 , SDL2 5 5 , cmake 6 6 , copyDesktopItems 7 - , ffmpeg 7 + , ffmpeg_4 8 8 , glew 9 9 , libffi 10 10 , libsForQt5 ··· 59 59 60 60 buildInputs = [ 61 61 SDL2 62 - ffmpeg 62 + ffmpeg_4 63 63 (glew.override { enableEGL = forceWayland; }) 64 64 libzip 65 65 snappy
+2 -1
pkgs/applications/emulators/retroarch/cores.nix
··· 7 7 , curl 8 8 , fetchFromGitHub 9 9 , ffmpeg 10 + , ffmpeg_4 10 11 , fluidsynth 11 12 , gettext 12 13 , hexdump ··· 755 756 ppsspp = mkLibretroCore { 756 757 core = "ppsspp"; 757 758 extraNativeBuildInputs = [ cmake pkg-config python3 ]; 758 - extraBuildInputs = [ libGLU libGL libzip ffmpeg snappy xorg.libX11 ]; 759 + extraBuildInputs = [ libGLU libGL libzip ffmpeg_4 snappy xorg.libX11 ]; 759 760 makefile = "Makefile"; 760 761 cmakeFlags = [ 761 762 "-DLIBRETRO=ON"
+2 -2
pkgs/applications/graphics/digikam/default.nix
··· 24 24 , boost 25 25 , eigen 26 26 , exiv2 27 - , ffmpeg 27 + , ffmpeg_4 28 28 , flex 29 29 , graphviz 30 30 , imagemagick ··· 70 70 boost 71 71 eigen 72 72 exiv2 73 - ffmpeg 73 + ffmpeg_4 74 74 flex 75 75 graphviz 76 76 imagemagick
+1
pkgs/applications/graphics/fluxus/default.nix
··· 72 72 license = licenses.gpl2; 73 73 homepage = "http://www.pawfal.org/fluxus/"; 74 74 maintainers = [ maintainers.brainrape ]; 75 + broken = true; 75 76 }; 76 77 }
+1
pkgs/applications/graphics/gnome-decoder/default.nix
··· 78 78 platforms = platforms.linux; 79 79 mainProgram = "decoder"; 80 80 maintainers = with maintainers; [ zendo ]; 81 + broken = true; 81 82 }; 82 83 }
+11 -2
pkgs/applications/networking/browsers/w3m/default.nix
··· 5 5 , x11Support ? graphicsSupport, libX11 6 6 , mouseSupport ? !stdenv.isDarwin, gpm-ncurses 7 7 , perl, man, pkg-config, buildPackages, w3m 8 + , testers 8 9 }: 9 10 10 11 let ··· 19 20 }; 20 21 in stdenv.mkDerivation rec { 21 22 pname = "w3m"; 22 - version = "0.5.3+git20220429"; 23 + version = "0.5.3+git20230121"; 23 24 24 25 src = fetchFromGitHub { 25 26 owner = "tats"; 26 27 repo = pname; 27 28 rev = "v${version}"; 28 - hash = "sha256-aPPLZjjL3A5Tk0hv0NoAwJnjemC7a5RUoubhUr3lQE4="; 29 + hash = "sha256-upb5lWqhC1jRegzTncIz5e21v4Pw912FyVn217HucFs="; 29 30 }; 30 31 31 32 NIX_LDFLAGS = lib.optionalString stdenv.isSunOS "-lsocket -lnsl"; ··· 84 85 # see: https://bbs.archlinux.org/viewtopic.php?id=196093 85 86 LIBS = lib.optionalString x11Support "-lX11"; 86 87 88 + passthru.tests.version = testers.testVersion { 89 + inherit version; 90 + package = w3m; 91 + command = "w3m -version"; 92 + }; 93 + 87 94 meta = with lib; { 88 95 homepage = "https://w3m.sourceforge.net/"; 96 + changelog = "https://github.com/tats/w3m/blob/v${version}/ChangeLog"; 89 97 description = "A text-mode web browser"; 90 98 maintainers = with maintainers; [ cstrahan anthonyroussel ]; 91 99 platforms = platforms.unix; 92 100 license = licenses.mit; 101 + mainProgram = "w3m"; 93 102 }; 94 103 }
+2 -2
pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
··· 16 16 , kwayland 17 17 , lz4 18 18 , xxHash 19 - , ffmpeg 19 + , ffmpeg_4 20 20 , openalSoft 21 21 , minizip 22 22 , libopus ··· 132 132 qtsvg 133 133 lz4 134 134 xxHash 135 - ffmpeg 135 + ffmpeg_4 136 136 openalSoft 137 137 minizip 138 138 libopus
+2 -2
pkgs/applications/science/biology/febio-studio/default.nix
··· 1 1 { lib, stdenv, fetchFromGitHub, cmake, zlib, libglvnd, libGLU, wrapQtAppsHook 2 2 , sshSupport ? true, openssl, libssh 3 3 , tetgenSupport ? true, tetgen 4 - , ffmpegSupport ? true, ffmpeg 4 + , ffmpegSupport ? true, ffmpeg_4 5 5 , dicomSupport ? false, dcmtk 6 6 , withModelRepo ? true 7 7 , withCadFeatures ? false ··· 47 47 buildInputs = [ zlib libglvnd libGLU openssl libssh ] 48 48 ++ lib.optional sshSupport openssl 49 49 ++ lib.optional tetgenSupport tetgen 50 - ++ lib.optional ffmpegSupport ffmpeg 50 + ++ lib.optional ffmpegSupport ffmpeg_4 51 51 ++ lib.optional dicomSupport dcmtk 52 52 ; 53 53
+4
pkgs/applications/science/math/gretl/default.nix
··· 28 28 nativeBuildInputs = [ pkg-config ]; 29 29 30 30 enableParallelBuilding = true; 31 + # Missing install depends: 32 + # cp: cannot stat '...-gretl-2022c/share/gretl/data/plotbars': Not a directory 33 + # make[1]: *** [Makefile:73: install_datafiles] Error 1 34 + enableParallelInstalling = false; 31 35 32 36 meta = with lib; { 33 37 description = "A software package for econometric analysis";
+2 -2
pkgs/applications/science/networking/sumo/default.nix
··· 1 - { lib, bzip2, cmake, eigen, fetchFromGitHub, ffmpeg, fox_1_6, gdal, 1 + { lib, bzip2, cmake, eigen, fetchFromGitHub, ffmpeg_4, fox_1_6, gdal, 2 2 git, gl2ps, gpp , gtest, jdk, libGL, libGLU, libX11, libjpeg, 3 3 libpng, libtiff, libxcrypt, openscenegraph , proj, python3, 4 4 python3Packages, stdenv, swig, xercesc, xorg, zlib }: ··· 24 24 buildInputs = [ 25 25 bzip2 26 26 eigen 27 - ffmpeg 27 + ffmpeg_4 28 28 fox_1_6 29 29 gdal 30 30 gl2ps
+2 -1
pkgs/applications/terminal-emulators/syncterm/default.nix
··· 32 32 33 33 meta = with lib; { 34 34 # error: unsupported option '-fsanitize=safe-stack' for target 'x86_64-apple-darwin' 35 - broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; 35 + # broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; 36 + broken = true; # sendmsg.c:(.text+0x1099): undefined reference to `pthread_yield' 36 37 homepage = "https://syncterm.bbsdev.net/"; 37 38 description = "BBS terminal emulator"; 38 39 maintainers = with maintainers; [ embr ];
+4
pkgs/applications/version-management/subversion/default.nix
··· 100 100 inherit perlBindings pythonBindings; 101 101 102 102 enableParallelBuilding = true; 103 + # Missing install dependencies: 104 + # libtool: error: error: relink 'libsvn_ra_serf-1.la' with the above command before installing it 105 + # make: *** [build-outputs.mk:1316: install-serf-lib] Error 1 106 + enableParallelInstalling = false; 103 107 104 108 nativeCheckInputs = [ python3 ]; 105 109 doCheck = false; # fails 10 out of ~2300 tests
+2 -2
pkgs/applications/video/bino3d/default.nix
··· 1 - { mkDerivation, lib, fetchurl, pkg-config, ffmpeg, glew, libass, openal, qtbase }: 1 + { mkDerivation, lib, fetchurl, pkg-config, ffmpeg_4, glew, libass, openal, qtbase }: 2 2 3 3 mkDerivation rec { 4 4 pname = "bino"; ··· 11 11 12 12 nativeBuildInputs = [ pkg-config ]; 13 13 14 - buildInputs = [ ffmpeg glew libass openal qtbase ]; 14 + buildInputs = [ ffmpeg_4 glew libass openal qtbase ]; 15 15 16 16 enableParallelBuilding = true; 17 17
+3 -3
pkgs/applications/video/bombono/default.nix
··· 8 8 , dvdplusrwtools 9 9 , enca 10 10 , cdrkit 11 - , ffmpeg 11 + , ffmpeg_4 12 12 , gettext 13 13 , gtk2 14 14 , gtkmm2 ··· 60 60 dvdauthor 61 61 dvdplusrwtools 62 62 enca 63 - ffmpeg 63 + ffmpeg_4 64 64 gtk2 65 65 gtkmm2 66 66 libdvdread ··· 76 76 # fix iso authoring 77 77 install -Dt $out/share/bombono/resources/scons_authoring tools/scripts/SConsTwin.py 78 78 79 - wrapProgram $out/bin/bombono-dvd --prefix PATH : ${lib.makeBinPath [ ffmpeg dvdauthor cdrkit ]} 79 + wrapProgram $out/bin/bombono-dvd --prefix PATH : ${lib.makeBinPath [ ffmpeg_4 dvdauthor cdrkit ]} 80 80 ''; 81 81 82 82 meta = with lib; {
+2 -2
pkgs/applications/video/ccextractor/default.nix
··· 9 9 , makeWrapper 10 10 , tesseract4 11 11 , leptonica 12 - , ffmpeg 12 + , ffmpeg_4 13 13 }: 14 14 15 15 stdenv.mkDerivation rec { ··· 37 37 38 38 buildInputs = [ zlib ] 39 39 ++ lib.optional (!stdenv.isLinux) libiconv 40 - ++ lib.optionals enableOcr [ leptonica tesseract4 ffmpeg ]; 40 + ++ lib.optionals enableOcr [ leptonica tesseract4 ffmpeg_4 ]; 41 41 42 42 cmakeFlags = [ 43 43 # file RPATH_CHANGE could not write new RPATH:
+2 -2
pkgs/applications/video/dvdstyler/default.nix
··· 7 7 , docbook-xsl-nons 8 8 , dvdauthor 9 9 , dvdplusrwtools 10 - , ffmpeg 10 + , ffmpeg_4 11 11 , flex 12 12 , fontconfig 13 13 , gettext ··· 61 61 cdrtools 62 62 dvdauthor 63 63 dvdplusrwtools 64 - ffmpeg 64 + ffmpeg_4 65 65 fontconfig 66 66 glib 67 67 libexif
+2 -2
pkgs/applications/video/mplayer/default.nix
··· 1 - { config, lib, stdenv, fetchurl, fetchsvn, pkg-config, freetype, yasm, ffmpeg 1 + { config, lib, stdenv, fetchurl, fetchsvn, pkg-config, freetype, yasm, ffmpeg_4 2 2 , aalibSupport ? true, aalib 3 3 , fontconfigSupport ? true, fontconfig, freefont_ttf 4 4 , fribidiSupport ? true, fribidi ··· 87 87 depsBuildBuild = [ buildPackages.stdenv.cc ]; 88 88 nativeBuildInputs = [ pkg-config yasm ]; 89 89 buildInputs = with lib; 90 - [ freetype ffmpeg ] 90 + [ freetype ffmpeg_4 ] 91 91 ++ optional aalibSupport aalib 92 92 ++ optional fontconfigSupport fontconfig 93 93 ++ optional fribidiSupport fribidi
+2 -2
pkgs/applications/video/olive-editor/default.nix
··· 1 1 { lib, stdenv, fetchFromGitHub 2 2 , pkg-config, which, qmake, wrapQtAppsHook 3 - , qtmultimedia, frei0r, opencolorio_1, ffmpeg-full, CoreFoundation }: 3 + , qtmultimedia, frei0r, opencolorio_1, ffmpeg_4, CoreFoundation }: 4 4 5 5 stdenv.mkDerivation rec { 6 6 pname = "olive-editor"; ··· 25 25 ]; 26 26 27 27 buildInputs = [ 28 - ffmpeg-full 28 + ffmpeg_4 29 29 frei0r 30 30 opencolorio_1 31 31 qtmultimedia
+1
pkgs/applications/video/rtabmap/default.nix
··· 60 60 license = licenses.bsd3; 61 61 maintainers = with maintainers; [ ckie ]; 62 62 platforms = with platforms; linux; 63 + broken = true; 63 64 }; 64 65 }
+2 -2
pkgs/applications/video/simplescreenrecorder/default.nix
··· 1 - { lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg, libjack2, libX11, libXext, libXinerama, qtx11extras 1 + { lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg_4, libjack2, libX11, libXext, libXinerama, qtx11extras 2 2 , libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja 3 3 }: 4 4 ··· 30 30 31 31 nativeBuildInputs = [ pkg-config cmake ninja ]; 32 32 buildInputs = [ 33 - alsa-lib ffmpeg libjack2 libX11 libXext libXfixes libXinerama libGLU libGL 33 + alsa-lib ffmpeg_4 libjack2 libX11 libXext libXfixes libXinerama libGLU libGL 34 34 libpulseaudio libv4l qtbase qttools qtx11extras 35 35 ]; 36 36
+2 -2
pkgs/applications/video/webcamoid/default.nix
··· 1 1 { lib, fetchFromGitHub, pkg-config, libxcb, mkDerivation, cmake 2 2 , qtbase, qtdeclarative, qtquickcontrols, qtquickcontrols2 3 - , ffmpeg-full, gst_all_1, libpulseaudio, alsa-lib, jack2 3 + , ffmpeg_4, gst_all_1, libpulseaudio, alsa-lib, jack2 4 4 , v4l-utils }: 5 5 mkDerivation rec { 6 6 pname = "webcamoid"; ··· 16 16 buildInputs = [ 17 17 libxcb 18 18 qtbase qtdeclarative qtquickcontrols qtquickcontrols2 19 - ffmpeg-full 19 + ffmpeg_4 20 20 gst_all_1.gstreamer gst_all_1.gst-plugins-base 21 21 alsa-lib libpulseaudio jack2 22 22 v4l-utils
+1 -1
pkgs/build-support/docker/default.nix
··· 190 190 cat > /etc/pam.d/other <<EOF 191 191 account sufficient pam_unix.so 192 192 auth sufficient pam_rootok.so 193 - password requisite pam_unix.so nullok sha512 193 + password requisite pam_unix.so nullok yescrypt 194 194 session required pam_unix.so 195 195 EOF 196 196 fi
+6 -5
pkgs/build-support/setup-hooks/multiple-outputs.sh
··· 13 13 # specific to this function's use case, which is setting up the output variables. 14 14 _assignFirst() { 15 15 local varName="$1" 16 + local _var 16 17 local REMOVE=REMOVE # slightly hacky - we allow REMOVE (i.e. not a variable name) 17 18 shift 18 - for var in "$@"; do 19 - if [ -n "${!var-}" ]; then eval "${varName}"="${var}"; return; fi 19 + for _var in "$@"; do 20 + if [ -n "${!_var-}" ]; then eval "${varName}"="${_var}"; return; fi 20 21 done 21 22 echo 22 - echo "error: _assignFirst: could not find a non-empty variable to assign to ${varName}." 23 + echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}." 23 24 echo " The following variables were all unset or empty:" 24 25 echo " $*" 25 26 if [ -z "${out:-}" ]; then ··· 138 139 139 140 # remove empty directories, printing iff at least one gets removed 140 141 local srcParent="$(readlink -m "$srcPath/..")" 141 - if rmdir "$srcParent"; then 142 + if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2>/dev/null)" ]; then 142 143 echo "Removing empty $srcParent/ and (possibly) its parents" 143 - rmdir -p --ignore-fail-on-non-empty "$(readlink -m "$srcParent/..")" \ 144 + rmdir -p --ignore-fail-on-non-empty "$srcParent" \ 144 145 2> /dev/null || true # doesn't ignore failure for some reason 145 146 fi 146 147 done
+3
pkgs/build-support/setup-hooks/separate-debug-info.sh
··· 11 11 local dst="${debug:-$out}" 12 12 if [ "$prefix" = "$dst" ]; then return 0; fi 13 13 14 + # in case there is nothing to strip, don't fail the build 15 + mkdir -p "$dst" 16 + 14 17 dst="$dst/lib/debug/.build-id" 15 18 16 19 # Find executables and dynamic libraries.
+1 -1
pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
··· 32 32 license = licenses.gpl3Plus; 33 33 maintainers = with maintainers; [ doronbehar ]; 34 34 platforms = platforms.linux; 35 + broken = true; 35 36 }; 36 37 } 37 -
+5 -3
pkgs/development/compilers/gcc/11/default.nix
··· 249 249 250 250 targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; 251 251 252 - buildFlags = optional 253 - (targetPlatform == hostPlatform && hostPlatform == buildPlatform) 254 - (if profiledCompiler then "profiledbootstrap" else "bootstrap"); 252 + buildFlags = 253 + let target = 254 + lib.optionalString (profiledCompiler) "profiled" + 255 + lib.optionalString (targetPlatform == hostPlatform && hostPlatform == buildPlatform && !disableBootstrap) "bootstrap"; 256 + in lib.optional (target != "") target; 255 257 256 258 inherit (callFile ../common/strip-attributes.nix { }) 257 259 stripDebugList
+5 -3
pkgs/development/compilers/gcc/12/default.nix
··· 284 284 285 285 targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; 286 286 287 - buildFlags = optional 288 - (targetPlatform == hostPlatform && hostPlatform == buildPlatform) 289 - (if profiledCompiler then "profiledbootstrap" else "bootstrap"); 287 + buildFlags = 288 + let target = 289 + lib.optionalString (profiledCompiler) "profiled" + 290 + lib.optionalString (targetPlatform == hostPlatform && hostPlatform == buildPlatform && !disableBootstrap) "bootstrap"; 291 + in lib.optional (target != "") target; 290 292 291 293 inherit (callFile ../common/strip-attributes.nix { }) 292 294 stripDebugList
+11
pkgs/development/compilers/gcc/builder.sh
··· 250 250 done 251 251 fi 252 252 253 + # Cross-compiler specific: 254 + # --with-headers=$dir option triggers gcc to make a private copy 255 + # of $dir headers and use it later as `-isysroot`. This prevents 256 + # cc-wrapper from overriding libc headers with `-idirafter`. 257 + # It should be safe to drop it and rely solely on the cc-wrapper. 258 + local sysinc_dir=$out/${targetConfig+$targetConfig/}sys-include 259 + if [ -d "$sysinc_dir" ]; then 260 + chmod -R u+w "$out/${targetConfig+$targetConfig/}sys-include" 261 + rm -rfv "$out/${targetConfig+$targetConfig/}sys-include" 262 + fi 263 + 253 264 # Get rid of some "fixed" header files 254 265 rm -rfv $out/lib/gcc/*/*/include-fixed/{root,linux} 255 266
-1
pkgs/development/compilers/llvm/10/clang/default.nix
··· 26 26 buildInputs = [ libxml2 libllvm ]; 27 27 28 28 cmakeFlags = [ 29 - "-DCMAKE_CXX_FLAGS=-std=c++14" 30 29 "-DCLANGD_BUILD_XPC=OFF" 31 30 "-DLLVM_ENABLE_RTTI=ON" 32 31 ] ++ lib.optionals enableManpages [
+5
pkgs/development/compilers/llvm/10/compiler-rt/default.nix
··· 33 33 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 34 34 "-DCOMPILER_RT_BUILD_XRAY=OFF" 35 35 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 36 + ] ++ lib.optionals (useLLVM || bareMetal) [ 36 37 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 37 38 ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ 38 39 "-DCMAKE_C_COMPILER_WORKS=ON" ··· 61 62 ./gnu-install-dirs.patch 62 63 ../../common/compiler-rt/libsanitizer-no-cyclades-11.patch 63 64 ./X86-support-extension.patch # backported from LLVM 11 65 + # Fix build on armv6l 66 + ../../common/compiler-rt/armv6-mcr-dmb.patch 67 + ../../common/compiler-rt/armv6-sync-ops-no-thumb.patch 68 + ../../common/compiler-rt/armv6-no-ldrexd-strexd.patch 64 69 ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch; 65 70 66 71 # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
+27 -3
pkgs/development/compilers/llvm/10/llvm/default.nix
··· 15 15 , zlib 16 16 , buildLlvmTools 17 17 , debugVersion ? false 18 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) 19 + && (stdenv.hostPlatform == stdenv.buildPlatform) 18 20 , enableManpages ? false 19 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 20 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 30 32 shortVersion = with lib; 31 33 concatStringsSep "." (take 1 (splitString "." release_version)); 32 34 35 + # Ordinarily we would just the `doCheck` and `checkDeps` functionality 36 + # `mkDerivation` gives us to manage our test dependencies (instead of breaking 37 + # out `doCheck` as a package level attribute). 38 + # 39 + # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in 40 + # particular the children it uses to do feature detection. 41 + # 42 + # This means that python deps we add to `checkDeps` (which the python 43 + # interpreter is made aware of via `$PYTHONPATH` – populated by the python 44 + # setup hook) are not picked up by `lit` which causes it to skip tests. 45 + # 46 + # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work 47 + # because this package is shadowed in `$PATH` by the regular `python3` 48 + # package. 49 + # 50 + # So, we "manually" assemble one python derivation for the package to depend 51 + # on, taking into account whether checks are enabled or not: 52 + python = if doCheck then 53 + let 54 + checkDeps = ps: with ps; [ psutil ]; 55 + in python3.withPackages checkDeps 56 + else python3; 57 + 33 58 in stdenv.mkDerivation (rec { 34 59 pname = "llvm"; 35 60 inherit version; ··· 48 73 49 74 outputs = [ "out" "lib" "dev" "python" ]; 50 75 51 - nativeBuildInputs = [ cmake python3 ] 76 + nativeBuildInputs = [ cmake python ] 52 77 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 53 78 54 79 buildInputs = [ libxml2 libffi ] ··· 255 280 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 256 281 ''; 257 282 258 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) 259 - && (stdenv.hostPlatform == stdenv.buildPlatform); 283 + inherit doCheck; 260 284 261 285 checkTarget = "check-all"; 262 286
-1
pkgs/development/compilers/llvm/11/clang/default.nix
··· 28 28 buildInputs = [ libxml2 libllvm ]; 29 29 30 30 cmakeFlags = [ 31 - "-DCMAKE_CXX_FLAGS=-std=c++14" 32 31 "-DCLANGD_BUILD_XPC=OFF" 33 32 "-DLLVM_ENABLE_RTTI=ON" 34 33 ] ++ lib.optionals enableManpages [
+5
pkgs/development/compilers/llvm/11/compiler-rt/default.nix
··· 34 34 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 35 35 "-DCOMPILER_RT_BUILD_XRAY=OFF" 36 36 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 37 + ] ++ lib.optionals (useLLVM || bareMetal) [ 37 38 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 38 39 ] ++ lib.optionals (!haveLibc || bareMetal) [ 39 40 "-DCMAKE_C_COMPILER_WORKS=ON" ··· 66 67 ../../common/compiler-rt/libsanitizer-no-cyclades-11.patch 67 68 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch 68 69 ./armv7l.patch 70 + # Fix build on armv6l 71 + ../../common/compiler-rt/armv6-mcr-dmb.patch 72 + ../../common/compiler-rt/armv6-sync-ops-no-thumb.patch 73 + ../../common/compiler-rt/armv6-no-ldrexd-strexd.patch 69 74 ]; 70 75 71 76 preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
+27 -3
pkgs/development/compilers/llvm/11/llvm/default.nix
··· 15 15 , zlib 16 16 , buildLlvmTools 17 17 , debugVersion ? false 18 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) && (!stdenv.hostPlatform.isRiscV) 19 + && (stdenv.hostPlatform == stdenv.buildPlatform) 18 20 , enableManpages ? false 19 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 20 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 30 32 shortVersion = with lib; 31 33 concatStringsSep "." (take 1 (splitString "." release_version)); 32 34 35 + # Ordinarily we would just the `doCheck` and `checkDeps` functionality 36 + # `mkDerivation` gives us to manage our test dependencies (instead of breaking 37 + # out `doCheck` as a package level attribute). 38 + # 39 + # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in 40 + # particular the children it uses to do feature detection. 41 + # 42 + # This means that python deps we add to `checkDeps` (which the python 43 + # interpreter is made aware of via `$PYTHONPATH` – populated by the python 44 + # setup hook) are not picked up by `lit` which causes it to skip tests. 45 + # 46 + # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work 47 + # because this package is shadowed in `$PATH` by the regular `python3` 48 + # package. 49 + # 50 + # So, we "manually" assemble one python derivation for the package to depend 51 + # on, taking into account whether checks are enabled or not: 52 + python = if doCheck then 53 + let 54 + checkDeps = ps: with ps; [ psutil ]; 55 + in python3.withPackages checkDeps 56 + else python3; 57 + 33 58 in stdenv.mkDerivation (rec { 34 59 pname = "llvm"; 35 60 inherit version; ··· 48 73 49 74 outputs = [ "out" "lib" "dev" "python" ]; 50 75 51 - nativeBuildInputs = [ cmake python3 ] 76 + nativeBuildInputs = [ cmake python ] 52 77 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 53 78 54 79 buildInputs = [ libxml2 libffi ] ··· 267 292 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 268 293 ''; 269 294 270 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) && (!stdenv.hostPlatform.isRiscV) 271 - && (stdenv.hostPlatform == stdenv.buildPlatform); 295 + inherit doCheck; 272 296 273 297 checkTarget = "check-all"; 274 298
-1
pkgs/development/compilers/llvm/12/clang/default.nix
··· 29 29 buildInputs = [ libxml2 libllvm ]; 30 30 31 31 cmakeFlags = [ 32 - "-DCMAKE_CXX_FLAGS=-std=c++14" 33 32 "-DCLANGD_BUILD_XPC=OFF" 34 33 "-DLLVM_ENABLE_RTTI=ON" 35 34 ] ++ lib.optionals enableManpages [
+6 -1
pkgs/development/compilers/llvm/12/compiler-rt/default.nix
··· 34 34 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 35 35 "-DCOMPILER_RT_BUILD_XRAY=OFF" 36 36 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 37 + "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 38 + ] ++ lib.optionals (useLLVM || bareMetal) [ 37 39 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 38 - "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 39 40 ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ 40 41 "-DCMAKE_C_COMPILER_WORKS=ON" 41 42 "-DCMAKE_CXX_COMPILER_WORKS=ON" ··· 66 67 ./normalize-var.patch 67 68 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch 68 69 ./armv7l.patch 70 + # Fix build on armv6l 71 + ../../common/compiler-rt/armv6-mcr-dmb.patch 72 + ../../common/compiler-rt/armv6-sync-ops-no-thumb.patch 73 + ../../common/compiler-rt/armv6-no-ldrexd-strexd.patch 69 74 ]; 70 75 71 76 # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
+27 -3
pkgs/development/compilers/llvm/12/llvm/default.nix
··· 15 15 , zlib 16 16 , buildLlvmTools 17 17 , debugVersion ? false 18 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 19 + && (stdenv.hostPlatform == stdenv.buildPlatform) 18 20 , enableManpages ? false 19 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 20 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 30 32 shortVersion = with lib; 31 33 concatStringsSep "." (take 1 (splitString "." release_version)); 32 34 35 + # Ordinarily we would just the `doCheck` and `checkDeps` functionality 36 + # `mkDerivation` gives us to manage our test dependencies (instead of breaking 37 + # out `doCheck` as a package level attribute). 38 + # 39 + # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in 40 + # particular the children it uses to do feature detection. 41 + # 42 + # This means that python deps we add to `checkDeps` (which the python 43 + # interpreter is made aware of via `$PYTHONPATH` – populated by the python 44 + # setup hook) are not picked up by `lit` which causes it to skip tests. 45 + # 46 + # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work 47 + # because this package is shadowed in `$PATH` by the regular `python3` 48 + # package. 49 + # 50 + # So, we "manually" assemble one python derivation for the package to depend 51 + # on, taking into account whether checks are enabled or not: 52 + python = if doCheck then 53 + let 54 + checkDeps = ps: with ps; [ psutil ]; 55 + in python3.withPackages checkDeps 56 + else python3; 57 + 33 58 in stdenv.mkDerivation (rec { 34 59 pname = "llvm"; 35 60 inherit version; ··· 48 73 49 74 outputs = [ "out" "lib" "dev" "python" ]; 50 75 51 - nativeBuildInputs = [ cmake python3 ] 76 + nativeBuildInputs = [ cmake python ] 52 77 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 53 78 54 79 buildInputs = [ libxml2 libffi ] ··· 255 280 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 256 281 ''; 257 282 258 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 259 - && (stdenv.hostPlatform == stdenv.buildPlatform); 283 + inherit doCheck; 260 284 261 285 checkTarget = "check-all"; 262 286
-1
pkgs/development/compilers/llvm/13/clang/default.nix
··· 19 19 buildInputs = [ libxml2 libllvm ]; 20 20 21 21 cmakeFlags = [ 22 - "-DCMAKE_CXX_FLAGS=-std=c++14" 23 22 "-DCLANGD_BUILD_XPC=OFF" 24 23 "-DLLVM_ENABLE_RTTI=ON" 25 24 ] ++ lib.optionals enableManpages [
+8 -1
pkgs/development/compilers/llvm/13/compiler-rt/default.nix
··· 37 37 ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ 38 38 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 39 39 "-DCOMPILER_RT_BUILD_XRAY=OFF" 40 - "-DCOMPILER_RT_BUILD_PROFILE=OFF" 41 40 "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 42 41 "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary 42 + ] ++ lib.optionals (useLLVM || bareMetal) [ 43 + "-DCOMPILER_RT_BUILD_PROFILE=OFF" 43 44 ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ 44 45 "-DCMAKE_C_COMPILER_WORKS=ON" 45 46 "-DCMAKE_CXX_COMPILER_WORKS=ON" ··· 71 72 ./darwin-targetconditionals.patch 72 73 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch 73 74 ./armv7l.patch 75 + # Fix build on armv6l 76 + ../../common/compiler-rt/armv6-mcr-dmb.patch 77 + ../../common/compiler-rt/armv6-sync-ops-no-thumb.patch 78 + ../../common/compiler-rt/armv6-no-ldrexd-strexd.patch 79 + ../../common/compiler-rt/armv6-scudo-no-yield.patch 80 + ../../common/compiler-rt/armv6-scudo-libatomic.patch 74 81 ]; 75 82 76 83 # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
+27 -3
pkgs/development/compilers/llvm/13/llvm/default.nix
··· 16 16 , which 17 17 , buildLlvmTools 18 18 , debugVersion ? false 19 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 20 + && (stdenv.hostPlatform == stdenv.buildPlatform) 19 21 , enableManpages ? false 20 22 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 21 23 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 31 33 shortVersion = with lib; 32 34 concatStringsSep "." (take 1 (splitString "." release_version)); 33 35 36 + # Ordinarily we would just the `doCheck` and `checkDeps` functionality 37 + # `mkDerivation` gives us to manage our test dependencies (instead of breaking 38 + # out `doCheck` as a package level attribute). 39 + # 40 + # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in 41 + # particular the children it uses to do feature detection. 42 + # 43 + # This means that python deps we add to `checkDeps` (which the python 44 + # interpreter is made aware of via `$PYTHONPATH` – populated by the python 45 + # setup hook) are not picked up by `lit` which causes it to skip tests. 46 + # 47 + # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work 48 + # because this package is shadowed in `$PATH` by the regular `python3` 49 + # package. 50 + # 51 + # So, we "manually" assemble one python derivation for the package to depend 52 + # on, taking into account whether checks are enabled or not: 53 + python = if doCheck then 54 + let 55 + checkDeps = ps: with ps; [ psutil ]; 56 + in python3.withPackages checkDeps 57 + else python3; 58 + 34 59 in stdenv.mkDerivation (rec { 35 60 pname = "llvm"; 36 61 inherit version; ··· 40 65 41 66 outputs = [ "out" "lib" "dev" "python" ]; 42 67 43 - nativeBuildInputs = [ cmake python3 ] 68 + nativeBuildInputs = [ cmake python ] 44 69 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 45 70 46 71 buildInputs = [ libxml2 libffi ] ··· 217 242 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 218 243 ''; 219 244 220 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 221 - && (stdenv.hostPlatform == stdenv.buildPlatform); 245 + inherit doCheck; 222 246 223 247 checkTarget = "check-all"; 224 248
-1
pkgs/development/compilers/llvm/14/clang/default.nix
··· 27 27 buildInputs = [ libxml2 libllvm ]; 28 28 29 29 cmakeFlags = [ 30 - "-DCMAKE_CXX_FLAGS=-std=c++14" 31 30 "-DCLANGD_BUILD_XPC=OFF" 32 31 "-DLLVM_ENABLE_RTTI=ON" 33 32 ] ++ lib.optionals enableManpages [
+6
pkgs/development/compilers/llvm/14/compiler-rt/default.nix
··· 81 81 ./darwin-targetconditionals.patch 82 82 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch 83 83 ./armv7l.patch 84 + # Fix build on armv6l 85 + ../../common/compiler-rt/armv6-mcr-dmb.patch 86 + ../../common/compiler-rt/armv6-sync-ops-no-thumb.patch 87 + ../../common/compiler-rt/armv6-no-ldrexd-strexd.patch 88 + ../../common/compiler-rt/armv6-scudo-no-yield.patch 89 + ../../common/compiler-rt/armv6-scudo-libatomic.patch 84 90 ]; 85 91 86 92 # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
+3 -3
pkgs/development/compilers/llvm/14/default.nix
··· 1 1 { lowPrio, newScope, pkgs, lib, stdenv, cmake 2 2 , gccForLibs, preLibcCrossHeaders 3 - , libxml2, python3, isl, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith 3 + , libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith 4 4 , buildLlvmTools # tools, but from the previous stage, for cross 5 5 , targetLlvmLibraries # libraries, but from the next stage, for cross 6 6 , targetLlvm ··· 52 52 }; 53 53 54 54 tools = lib.makeExtensible (tools: let 55 - callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version monorepoSrc buildLlvmTools; }); 55 + callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 release_version version monorepoSrc buildLlvmTools; }); 56 56 mkExtraBuildCommands0 = cc: '' 57 57 rsrc="$out/resource-root" 58 58 mkdir "$rsrc" ··· 232 232 }); 233 233 234 234 libraries = lib.makeExtensible (libraries: let 235 - callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version monorepoSrc; }); 235 + callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 release_version version monorepoSrc; }); 236 236 in { 237 237 238 238 compiler-rt-libc = callPackage ./compiler-rt {
+30 -5
pkgs/development/compilers/llvm/14/llvm/default.nix
··· 17 17 , which 18 18 , buildLlvmTools 19 19 , debugVersion ? false 20 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 21 + && (stdenv.hostPlatform == stdenv.buildPlatform) 20 22 , enableManpages ? false 21 23 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 22 24 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 23 25 # broken for the armv7l builder 24 26 , enablePFM ? stdenv.isLinux && !stdenv.hostPlatform.isAarch 25 - , enablePolly ? false 27 + , enablePolly ? true 26 28 } @args: 27 29 28 30 let ··· 32 34 shortVersion = with lib; 33 35 concatStringsSep "." (take 1 (splitString "." release_version)); 34 36 37 + # Ordinarily we would just the `doCheck` and `checkDeps` functionality 38 + # `mkDerivation` gives us to manage our test dependencies (instead of breaking 39 + # out `doCheck` as a package level attribute). 40 + # 41 + # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in 42 + # particular the children it uses to do feature detection. 43 + # 44 + # This means that python deps we add to `checkDeps` (which the python 45 + # interpreter is made aware of via `$PYTHONPATH` – populated by the python 46 + # setup hook) are not picked up by `lit` which causes it to skip tests. 47 + # 48 + # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work 49 + # because this package is shadowed in `$PATH` by the regular `python3` 50 + # package. 51 + # 52 + # So, we "manually" assemble one python derivation for the package to depend 53 + # on, taking into account whether checks are enabled or not: 54 + python = if doCheck then 55 + let 56 + checkDeps = ps: with ps; [ psutil ]; 57 + in python3.withPackages checkDeps 58 + else python3; 59 + 35 60 in stdenv.mkDerivation (rec { 36 61 pname = "llvm"; 37 62 inherit version; ··· 42 67 cp -r ${monorepoSrc}/${pname} "$out" 43 68 cp -r ${monorepoSrc}/third-party "$out" 44 69 '' + lib.optionalString enablePolly '' 45 - cp -r ${monorepoSrc}/polly "$out/llvm/tools" 70 + chmod u+w "$out/${pname}/tools" 71 + cp -r ${monorepoSrc}/polly "$out/${pname}/tools" 46 72 ''); 47 73 48 74 sourceRoot = "${src.name}/${pname}"; 49 75 50 76 outputs = [ "out" "lib" "dev" "python" ]; 51 77 52 - nativeBuildInputs = [ cmake python3 ] 78 + nativeBuildInputs = [ cmake python ] 53 79 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 54 80 55 81 buildInputs = [ libxml2 libffi ] ··· 229 255 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 230 256 ''; 231 257 232 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 233 - && (stdenv.hostPlatform == stdenv.buildPlatform); 258 + inherit doCheck; 234 259 235 260 checkTarget = "check-all"; 236 261
+4 -87
pkgs/development/compilers/llvm/14/llvm/gnu-install-dirs-polly.patch
··· 1 - diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt 2 - index ca7c04c565bb..6a6155806ffa 100644 3 - --- a/tools/polly/CMakeLists.txt 4 - +++ b/tools/polly/CMakeLists.txt 5 - @@ -3,6 +3,8 @@ if (NOT DEFINED LLVM_MAIN_SRC_DIR) 6 - project(Polly) 7 - cmake_minimum_required(VERSION 3.13.4) 8 - 9 - + include(GNUInstallDirs) 10 - + 11 - # Where is LLVM installed? 12 - find_package(LLVM CONFIG REQUIRED) 13 - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR}) 14 - @@ -122,13 +124,13 @@ include_directories( 15 - 16 - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 17 - install(DIRECTORY include/ 18 - - DESTINATION include 19 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 20 - FILES_MATCHING 21 - PATTERN "*.h" 22 - ) 23 - 24 - install(DIRECTORY ${POLLY_BINARY_DIR}/include/ 25 - - DESTINATION include 26 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 27 - FILES_MATCHING 28 - PATTERN "*.h" 29 - PATTERN "CMakeFiles" EXCLUDE 30 - diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt 31 - index 7cc129ba2e90..137be25e4b80 100644 32 - --- a/tools/polly/cmake/CMakeLists.txt 33 - +++ b/tools/polly/cmake/CMakeLists.txt 34 - @@ -79,18 +79,18 @@ file(GENERATE 35 - 36 - # Generate PollyConfig.cmake for the install tree. 37 - unset(POLLY_EXPORTS) 38 - -set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 39 - +set(POLLY_INSTALL_PREFIX "") 40 - set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") 41 - -set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") 42 - -set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}") 43 - +set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") 44 - +set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") 45 - if (POLLY_BUNDLED_ISL) 46 - set(POLLY_CONFIG_INCLUDE_DIRS 47 - - "${POLLY_INSTALL_PREFIX}/include" 48 - - "${POLLY_INSTALL_PREFIX}/include/polly" 49 - + "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}" 50 - + "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly" 51 - ) 52 - else() 53 - set(POLLY_CONFIG_INCLUDE_DIRS 54 - - "${POLLY_INSTALL_PREFIX}/include" 55 - + "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}" 56 - ${ISL_INCLUDE_DIRS} 57 - ) 58 - endif() 59 - @@ -100,12 +100,12 @@ endif() 60 - foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS) 61 - get_target_property(tgt_type ${tgt} TYPE) 62 - if (tgt_type STREQUAL "EXECUTABLE") 63 - - set(tgt_prefix "bin/") 64 - + set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/") 65 - else() 66 - - set(tgt_prefix "lib/") 67 - + set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/") 68 - endif() 69 - 70 - - set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>") 71 - + set(tgt_path "${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>") 72 - file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path}) 73 - 74 - if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY") 1 + This is the one remaining Polly install dirs related change that hasn't made it 2 + into upstream yet; previously this patch file also included: 3 + https://reviews.llvm.org/D117541 4 + 75 5 diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake 76 6 index 518a09b45a42..bd9d6f5542ad 100644 77 7 --- a/tools/polly/cmake/polly_macros.cmake ··· 87 17 endif() 88 18 set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) 89 19 endmacro(add_polly_library) 90 - diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt 91 - index e3a5683fccdc..293b482eb28a 100644 92 - --- a/tools/polly/lib/External/CMakeLists.txt 93 - +++ b/tools/polly/lib/External/CMakeLists.txt 94 - @@ -290,7 +290,7 @@ if (POLLY_BUNDLED_ISL) 95 - install(DIRECTORY 96 - ${ISL_SOURCE_DIR}/include/ 97 - ${ISL_BINARY_DIR}/include/ 98 - - DESTINATION include/polly 99 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly 100 - FILES_MATCHING 101 - PATTERN "*.h" 102 - PATTERN "CMakeFiles" EXCLUDE
+1 -1
pkgs/development/compilers/llvm/15/compiler-rt/default.nix
··· 48 48 "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 49 49 "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary 50 50 ] ++ lib.optionals (useLLVM || bareMetal) [ 51 - "-DCOMPILER_RT_BUILD_PROFILE=OFF" 51 + "-DCOMPILER_RT_BUILD_PROFILE=OFF" 52 52 ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ 53 53 "-DCMAKE_C_COMPILER_WORKS=ON" 54 54 "-DCMAKE_CXX_COMPILER_WORKS=ON"
+1
pkgs/development/compilers/llvm/5/compiler-rt/default.nix
··· 30 30 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 31 31 "-DCOMPILER_RT_BUILD_XRAY=OFF" 32 32 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 33 + ] ++ lib.optionals (useLLVM || bareMetal) [ 33 34 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 34 35 ] ++ lib.optionals (useLLVM || bareMetal) [ 35 36 "-DCMAKE_C_COMPILER_WORKS=ON"
+1
pkgs/development/compilers/llvm/6/compiler-rt/default.nix
··· 30 30 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 31 31 "-DCOMPILER_RT_BUILD_XRAY=OFF" 32 32 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 33 + ] ++ lib.optionals (useLLVM || bareMetal) [ 33 34 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 34 35 ] ++ lib.optionals (useLLVM || bareMetal) [ 35 36 "-DCMAKE_C_COMPILER_WORKS=ON"
+27 -3
pkgs/development/compilers/llvm/6/llvm/default.nix
··· 13 13 , zlib 14 14 , buildLlvmTools 15 15 , fetchpatch 16 + , doCheck ? stdenv.isLinux && (!stdenv.isi686) 17 + && (stdenv.hostPlatform == stdenv.buildPlatform) 16 18 , debugVersion ? false 17 19 , enableManpages ? false 18 20 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic ··· 26 28 versionSuffixes = with lib; 27 29 let parts = splitVersion release_version; in 28 30 imap (i: _: concatStringsSep "." (take i parts)) parts; 31 + 32 + # Ordinarily we would just the `doCheck` and `checkDeps` functionality 33 + # `mkDerivation` gives us to manage our test dependencies (instead of breaking 34 + # out `doCheck` as a package level attribute). 35 + # 36 + # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in 37 + # particular the children it uses to do feature detection. 38 + # 39 + # This means that python deps we add to `checkDeps` (which the python 40 + # interpreter is made aware of via `$PYTHONPATH` – populated by the python 41 + # setup hook) are not picked up by `lit` which causes it to skip tests. 42 + # 43 + # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work 44 + # because this package is shadowed in `$PATH` by the regular `python3` 45 + # package. 46 + # 47 + # So, we "manually" assemble one python derivation for the package to depend 48 + # on, taking into account whether checks are enabled or not: 49 + python = if doCheck then 50 + let 51 + checkDeps = ps: with ps; [ psutil ]; 52 + in python3.withPackages checkDeps 53 + else python3; 29 54 in 30 55 31 56 stdenv.mkDerivation (rec { ··· 46 71 47 72 outputs = [ "out" "lib" "dev" "python" ]; 48 73 49 - nativeBuildInputs = [ cmake python3 ] 74 + nativeBuildInputs = [ cmake python ] 50 75 ++ optional enableManpages python3.pkgs.sphinx; 51 76 52 77 buildInputs = [ libxml2 libffi ]; ··· 227 252 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 228 253 ''; 229 254 230 - doCheck = stdenv.isLinux && (!stdenv.isi686) 231 - && (stdenv.hostPlatform == stdenv.buildPlatform); 255 + inherit doCheck; 232 256 233 257 checkTarget = "check-all"; 234 258
+1
pkgs/development/compilers/llvm/7/compiler-rt/default.nix
··· 31 31 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 32 32 "-DCOMPILER_RT_BUILD_XRAY=OFF" 33 33 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 34 + ] ++ lib.optionals (useLLVM || bareMetal) [ 34 35 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 35 36 ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ 36 37 "-DCMAKE_C_COMPILER_WORKS=ON"
+27 -3
pkgs/development/compilers/llvm/7/llvm/default.nix
··· 15 15 , zlib 16 16 , buildLlvmTools 17 17 , debugVersion ? false 18 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) 19 + && (stdenv.hostPlatform == stdenv.buildPlatform) 18 20 , enableManpages ? false 19 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 20 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 31 33 let parts = splitVersion release_version; in 32 34 imap (i: _: concatStringsSep "." (take i parts)) parts; 33 35 36 + # Ordinarily we would just the `doCheck` and `checkDeps` functionality 37 + # `mkDerivation` gives us to manage our test dependencies (instead of breaking 38 + # out `doCheck` as a package level attribute). 39 + # 40 + # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in 41 + # particular the children it uses to do feature detection. 42 + # 43 + # This means that python deps we add to `checkDeps` (which the python 44 + # interpreter is made aware of via `$PYTHONPATH` – populated by the python 45 + # setup hook) are not picked up by `lit` which causes it to skip tests. 46 + # 47 + # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work 48 + # because this package is shadowed in `$PATH` by the regular `python3` 49 + # package. 50 + # 51 + # So, we "manually" assemble one python derivation for the package to depend 52 + # on, taking into account whether checks are enabled or not: 53 + python = if doCheck then 54 + let 55 + checkDeps = ps: with ps; [ psutil ]; 56 + in python3.withPackages checkDeps 57 + else python3; 58 + 34 59 in stdenv.mkDerivation (rec { 35 60 pname = "llvm"; 36 61 inherit version; ··· 49 74 50 75 outputs = [ "out" "lib" "dev" "python" ]; 51 76 52 - nativeBuildInputs = [ cmake python3 ] 77 + nativeBuildInputs = [ cmake python ] 53 78 ++ optional enableManpages python3.pkgs.sphinx; 54 79 55 80 buildInputs = [ libxml2 libffi ] ··· 245 270 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 246 271 ''; 247 272 248 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) 249 - && (stdenv.hostPlatform == stdenv.buildPlatform); 273 + inherit doCheck; 250 274 251 275 checkTarget = "check-all"; 252 276
+1
pkgs/development/compilers/llvm/8/compiler-rt/default.nix
··· 31 31 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 32 32 "-DCOMPILER_RT_BUILD_XRAY=OFF" 33 33 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 34 + ] ++ lib.optionals (useLLVM || bareMetal) [ 34 35 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 35 36 ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ 36 37 "-DCMAKE_C_COMPILER_WORKS=ON"
+27 -3
pkgs/development/compilers/llvm/8/llvm/default.nix
··· 15 15 , zlib 16 16 , buildLlvmTools 17 17 , debugVersion ? false 18 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) 19 + && (stdenv.hostPlatform == stdenv.buildPlatform) 18 20 , enableManpages ? false 19 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 20 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 30 32 shortVersion = with lib; 31 33 concatStringsSep "." (take 1 (splitVersion release_version)); 32 34 35 + # Ordinarily we would just the `doCheck` and `checkDeps` functionality 36 + # `mkDerivation` gives us to manage our test dependencies (instead of breaking 37 + # out `doCheck` as a package level attribute). 38 + # 39 + # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in 40 + # particular the children it uses to do feature detection. 41 + # 42 + # This means that python deps we add to `checkDeps` (which the python 43 + # interpreter is made aware of via `$PYTHONPATH` – populated by the python 44 + # setup hook) are not picked up by `lit` which causes it to skip tests. 45 + # 46 + # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work 47 + # because this package is shadowed in `$PATH` by the regular `python3` 48 + # package. 49 + # 50 + # So, we "manually" assemble one python derivation for the package to depend 51 + # on, taking into account whether checks are enabled or not: 52 + python = if doCheck then 53 + let 54 + checkDeps = ps: with ps; [ psutil ]; 55 + in python3.withPackages checkDeps 56 + else python3; 57 + 33 58 in stdenv.mkDerivation (rec { 34 59 pname = "llvm"; 35 60 inherit version; ··· 48 73 49 74 outputs = [ "out" "lib" "dev" "python" ]; 50 75 51 - nativeBuildInputs = [ cmake python3 ] 76 + nativeBuildInputs = [ cmake python ] 52 77 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 53 78 54 79 buildInputs = [ libxml2 libffi ] ··· 237 262 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 238 263 ''; 239 264 240 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) 241 - && (stdenv.hostPlatform == stdenv.buildPlatform); 265 + inherit doCheck; 242 266 243 267 checkTarget = "check-all"; 244 268
+5
pkgs/development/compilers/llvm/9/compiler-rt/default.nix
··· 31 31 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 32 32 "-DCOMPILER_RT_BUILD_XRAY=OFF" 33 33 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 34 + ] ++ lib.optionals (useLLVM || bareMetal) [ 34 35 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 35 36 ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ 36 37 "-DCMAKE_C_COMPILER_WORKS=ON" ··· 60 61 ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory 61 62 ./gnu-install-dirs.patch 62 63 ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch 64 + # Fix build on armv6l 65 + ../../common/compiler-rt/armv6-mcr-dmb.patch 66 + ../../common/compiler-rt/armv6-sync-ops-no-thumb.patch 67 + ../../common/compiler-rt/armv6-no-ldrexd-strexd.patch 63 68 ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch; 64 69 65 70 # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
+27 -3
pkgs/development/compilers/llvm/9/llvm/default.nix
··· 15 15 , zlib 16 16 , buildLlvmTools 17 17 , debugVersion ? false 18 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isRiscV) 19 + && (stdenv.hostPlatform == stdenv.buildPlatform) 18 20 , enableManpages ? false 19 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 20 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 30 32 shortVersion = with lib; 31 33 concatStringsSep "." (take 1 (splitString "." release_version)); 32 34 35 + # Ordinarily we would just the `doCheck` and `checkDeps` functionality 36 + # `mkDerivation` gives us to manage our test dependencies (instead of breaking 37 + # out `doCheck` as a package level attribute). 38 + # 39 + # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in 40 + # particular the children it uses to do feature detection. 41 + # 42 + # This means that python deps we add to `checkDeps` (which the python 43 + # interpreter is made aware of via `$PYTHONPATH` – populated by the python 44 + # setup hook) are not picked up by `lit` which causes it to skip tests. 45 + # 46 + # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work 47 + # because this package is shadowed in `$PATH` by the regular `python3` 48 + # package. 49 + # 50 + # So, we "manually" assemble one python derivation for the package to depend 51 + # on, taking into account whether checks are enabled or not: 52 + python = if doCheck then 53 + let 54 + checkDeps = ps: with ps; [ psutil ]; 55 + in python3.withPackages checkDeps 56 + else python3; 57 + 33 58 in stdenv.mkDerivation (rec { 34 59 pname = "llvm"; 35 60 inherit version; ··· 48 73 49 74 outputs = [ "out" "lib" "dev" "python" ]; 50 75 51 - nativeBuildInputs = [ cmake python3 ] 76 + nativeBuildInputs = [ cmake python ] 52 77 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 53 78 54 79 buildInputs = [ libxml2 libffi ] ··· 252 277 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 253 278 ''; 254 279 255 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isRiscV) 256 - && (stdenv.hostPlatform == stdenv.buildPlatform); 280 + inherit doCheck; 257 281 258 282 checkTarget = "check-all"; 259 283
+75
pkgs/development/compilers/llvm/common/compiler-rt/armv6-mcr-dmb.patch
··· 1 + From a11d1cc41c725ec6dee58f75e4a852a658dd7543 Mon Sep 17 00:00:00 2001 2 + From: Khem Raj <raj.khem@gmail.com> 3 + Date: Thu, 10 Mar 2022 19:30:00 -0800 4 + Subject: [PATCH] [builtins] Use mcr for dmb instruction on armv6 5 + 6 + At present compiler-rt cross compiles for armv6 ( -march=armv6 ) but includes 7 + dmb instructions which are only available in armv7+ this causes SIGILL on 8 + clang+compiler-rt compiled components on rpi0w platforms. 9 + 10 + Reviewed By: MaskRay 11 + 12 + Differential Revision: https://reviews.llvm.org/D99282 13 + --- 14 + compiler-rt/lib/builtins/arm/sync-ops.h | 8 ++++---- 15 + compiler-rt/lib/builtins/assembly.h | 8 ++++++++ 16 + 2 files changed, 12 insertions(+), 4 deletions(-) 17 + 18 + diff --git a/lib/builtins/arm/sync-ops.h b/lib/builtins/arm/sync-ops.h 19 + index c9623249e5d20..7a26170741ad2 100644 20 + --- a/lib/builtins/arm/sync-ops.h 21 + +++ b/lib/builtins/arm/sync-ops.h 22 + @@ -19,14 +19,14 @@ 23 + .thumb; \ 24 + .syntax unified; \ 25 + DEFINE_COMPILERRT_THUMB_FUNCTION(__sync_fetch_and_##op) \ 26 + - dmb; \ 27 + + DMB; \ 28 + mov r12, r0; \ 29 + LOCAL_LABEL(tryatomic_##op) : ldrex r0, [r12]; \ 30 + op(r2, r0, r1); \ 31 + strex r3, r2, [r12]; \ 32 + cmp r3, #0; \ 33 + bne LOCAL_LABEL(tryatomic_##op); \ 34 + - dmb; \ 35 + + DMB; \ 36 + bx lr 37 + 38 + #define SYNC_OP_8(op) \ 39 + @@ -35,14 +35,14 @@ 40 + .syntax unified; \ 41 + DEFINE_COMPILERRT_THUMB_FUNCTION(__sync_fetch_and_##op) \ 42 + push {r4, r5, r6, lr}; \ 43 + - dmb; \ 44 + + DMB; \ 45 + mov r12, r0; \ 46 + LOCAL_LABEL(tryatomic_##op) : ldrexd r0, r1, [r12]; \ 47 + op(r4, r5, r0, r1, r2, r3); \ 48 + strexd r6, r4, r5, [r12]; \ 49 + cmp r6, #0; \ 50 + bne LOCAL_LABEL(tryatomic_##op); \ 51 + - dmb; \ 52 + + DMB; \ 53 + pop { r4, r5, r6, pc } 54 + 55 + #define MINMAX_4(rD, rN, rM, cmp_kind) \ 56 + diff --git a/lib/builtins/assembly.h b/lib/builtins/assembly.h 57 + index 69a3d8620f924..06aa18162e3b4 100644 58 + --- a/lib/builtins/assembly.h 59 + +++ b/lib/builtins/assembly.h 60 + @@ -189,6 +189,14 @@ 61 + JMP(ip) 62 + #endif 63 + 64 + +#if __ARM_ARCH >= 7 65 + +#define DMB dmb 66 + +#elif __ARM_ARCH >= 6 67 + +#define DMB mcr p15, #0, r0, c7, c10, #5 68 + +#else 69 + +#error only supported on ARMv6+ 70 + +#endif 71 + + 72 + #if defined(USE_THUMB_2) 73 + #define WIDE(op) op.w 74 + #else 75 +
+162
pkgs/development/compilers/llvm/common/compiler-rt/armv6-no-ldrexd-strexd.patch
··· 1 + From 4fe3f21bf8b20c766877d2251d61118d0ff36688 Mon Sep 17 00:00:00 2001 2 + From: Ben Wolsieffer <benwolsieffer@gmail.com> 3 + Date: Wed, 7 Dec 2022 14:56:51 -0500 4 + Subject: [PATCH] [compiler-rt][builtins] Do not use ldrexd or strexd on ARMv6 5 + 6 + The ldrexd and strexd instructions are not available on base ARMv6, and were 7 + only added in ARMv6K (see [1]). This patch solves this problem once and for all 8 + using the __ARM_FEATURE_LDREX macro (see [2]) defined in the ARM C Language 9 + Extensions (ACLE). Although this macro is technically deprecated in the ACLE, 10 + it allows compiler-rt to reliably detect whether ldrexd and strexd are supported 11 + without complicated conditionals to detect different ARM architecture variants. 12 + 13 + [1] https://developer.arm.com/documentation/dht0008/a/ch01s02s01 14 + [2] https://arm-software.github.io/acle/main/acle.html#ldrexstrex 15 + 16 + Differential Revision: https://reviews.llvm.org/D139585 17 + --- 18 + compiler-rt/lib/builtins/arm/sync_fetch_and_add_8.S | 2 +- 19 + compiler-rt/lib/builtins/arm/sync_fetch_and_and_8.S | 2 +- 20 + compiler-rt/lib/builtins/arm/sync_fetch_and_max_8.S | 2 +- 21 + compiler-rt/lib/builtins/arm/sync_fetch_and_min_8.S | 2 +- 22 + compiler-rt/lib/builtins/arm/sync_fetch_and_nand_8.S | 2 +- 23 + compiler-rt/lib/builtins/arm/sync_fetch_and_or_8.S | 2 +- 24 + compiler-rt/lib/builtins/arm/sync_fetch_and_sub_8.S | 2 +- 25 + compiler-rt/lib/builtins/arm/sync_fetch_and_umax_8.S | 2 +- 26 + compiler-rt/lib/builtins/arm/sync_fetch_and_umin_8.S | 2 +- 27 + compiler-rt/lib/builtins/arm/sync_fetch_and_xor_8.S | 2 +- 28 + 10 files changed, 10 insertions(+), 10 deletions(-) 29 + 30 + diff --git a/lib/builtins/arm/sync_fetch_and_add_8.S b/lib/builtins/arm/sync_fetch_and_add_8.S 31 + index 18bdd875b8b7..bee6f7ba0f34 100644 32 + --- a/lib/builtins/arm/sync_fetch_and_add_8.S 33 + +++ b/lib/builtins/arm/sync_fetch_and_add_8.S 34 + @@ -13,7 +13,7 @@ 35 + 36 + #include "sync-ops.h" 37 + 38 + -#if __ARM_ARCH_PROFILE != 'M' 39 + +#if __ARM_FEATURE_LDREX & 8 40 + #define add_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) \ 41 + adds rD_LO, rN_LO, rM_LO ; \ 42 + adc rD_HI, rN_HI, rM_HI 43 + diff --git a/lib/builtins/arm/sync_fetch_and_and_8.S b/lib/builtins/arm/sync_fetch_and_and_8.S 44 + index 3716eff809d5..b4e77a54edf6 100644 45 + --- a/lib/builtins/arm/sync_fetch_and_and_8.S 46 + +++ b/lib/builtins/arm/sync_fetch_and_and_8.S 47 + @@ -13,7 +13,7 @@ 48 + 49 + #include "sync-ops.h" 50 + 51 + -#if __ARM_ARCH_PROFILE != 'M' 52 + +#if __ARM_FEATURE_LDREX & 8 53 + #define and_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) \ 54 + and rD_LO, rN_LO, rM_LO ; \ 55 + and rD_HI, rN_HI, rM_HI 56 + diff --git a/lib/builtins/arm/sync_fetch_and_max_8.S b/lib/builtins/arm/sync_fetch_and_max_8.S 57 + index 06115ab55246..1813274cc649 100644 58 + --- a/lib/builtins/arm/sync_fetch_and_max_8.S 59 + +++ b/lib/builtins/arm/sync_fetch_and_max_8.S 60 + @@ -13,7 +13,7 @@ 61 + 62 + #include "sync-ops.h" 63 + 64 + -#if __ARM_ARCH_PROFILE != 'M' 65 + +#if __ARM_FEATURE_LDREX & 8 66 + #define max_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) MINMAX_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI, gt) 67 + 68 + SYNC_OP_8(max_8) 69 + diff --git a/lib/builtins/arm/sync_fetch_and_min_8.S b/lib/builtins/arm/sync_fetch_and_min_8.S 70 + index 4f3e299d95cc..fa8f3477757b 100644 71 + --- a/lib/builtins/arm/sync_fetch_and_min_8.S 72 + +++ b/lib/builtins/arm/sync_fetch_and_min_8.S 73 + @@ -13,7 +13,7 @@ 74 + 75 + #include "sync-ops.h" 76 + 77 + -#if __ARM_ARCH_PROFILE != 'M' 78 + +#if __ARM_FEATURE_LDREX & 8 79 + #define min_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) MINMAX_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI, lt) 80 + 81 + SYNC_OP_8(min_8) 82 + diff --git a/lib/builtins/arm/sync_fetch_and_nand_8.S b/lib/builtins/arm/sync_fetch_and_nand_8.S 83 + index 425c94474af7..fb27219ee200 100644 84 + --- a/lib/builtins/arm/sync_fetch_and_nand_8.S 85 + +++ b/lib/builtins/arm/sync_fetch_and_nand_8.S 86 + @@ -13,7 +13,7 @@ 87 + 88 + #include "sync-ops.h" 89 + 90 + -#if __ARM_ARCH_PROFILE != 'M' 91 + +#if __ARM_FEATURE_LDREX & 8 92 + #define nand_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) \ 93 + bic rD_LO, rN_LO, rM_LO ; \ 94 + bic rD_HI, rN_HI, rM_HI 95 + diff --git a/lib/builtins/arm/sync_fetch_and_or_8.S b/lib/builtins/arm/sync_fetch_and_or_8.S 96 + index 4f18dcf84df9..3b077c8737b1 100644 97 + --- a/lib/builtins/arm/sync_fetch_and_or_8.S 98 + +++ b/lib/builtins/arm/sync_fetch_and_or_8.S 99 + @@ -13,7 +13,7 @@ 100 + 101 + #include "sync-ops.h" 102 + 103 + -#if __ARM_ARCH_PROFILE != 'M' 104 + +#if __ARM_FEATURE_LDREX & 8 105 + #define or_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) \ 106 + orr rD_LO, rN_LO, rM_LO ; \ 107 + orr rD_HI, rN_HI, rM_HI 108 + diff --git a/lib/builtins/arm/sync_fetch_and_sub_8.S b/lib/builtins/arm/sync_fetch_and_sub_8.S 109 + index 25a4a1076555..c171607eabd8 100644 110 + --- a/lib/builtins/arm/sync_fetch_and_sub_8.S 111 + +++ b/lib/builtins/arm/sync_fetch_and_sub_8.S 112 + @@ -13,7 +13,7 @@ 113 + 114 + #include "sync-ops.h" 115 + 116 + -#if __ARM_ARCH_PROFILE != 'M' 117 + +#if __ARM_FEATURE_LDREX & 8 118 + #define sub_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) \ 119 + subs rD_LO, rN_LO, rM_LO ; \ 120 + sbc rD_HI, rN_HI, rM_HI 121 + diff --git a/lib/builtins/arm/sync_fetch_and_umax_8.S b/lib/builtins/arm/sync_fetch_and_umax_8.S 122 + index aa5213ff1def..d1224f758049 100644 123 + --- a/lib/builtins/arm/sync_fetch_and_umax_8.S 124 + +++ b/lib/builtins/arm/sync_fetch_and_umax_8.S 125 + @@ -13,7 +13,7 @@ 126 + 127 + #include "sync-ops.h" 128 + 129 + -#if __ARM_ARCH_PROFILE != 'M' 130 + +#if __ARM_FEATURE_LDREX & 8 131 + #define umax_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) MINMAX_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI, hi) 132 + 133 + SYNC_OP_8(umax_8) 134 + diff --git a/lib/builtins/arm/sync_fetch_and_umin_8.S b/lib/builtins/arm/sync_fetch_and_umin_8.S 135 + index 8b40541ab47d..595444e6d053 100644 136 + --- a/lib/builtins/arm/sync_fetch_and_umin_8.S 137 + +++ b/lib/builtins/arm/sync_fetch_and_umin_8.S 138 + @@ -13,7 +13,7 @@ 139 + 140 + #include "sync-ops.h" 141 + 142 + -#if __ARM_ARCH_PROFILE != 'M' 143 + +#if __ARM_FEATURE_LDREX & 8 144 + #define umin_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) MINMAX_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI, lo) 145 + 146 + SYNC_OP_8(umin_8) 147 + diff --git a/lib/builtins/arm/sync_fetch_and_xor_8.S b/lib/builtins/arm/sync_fetch_and_xor_8.S 148 + index 7436eb1d4cae..9fc3d85cef75 100644 149 + --- a/lib/builtins/arm/sync_fetch_and_xor_8.S 150 + +++ b/lib/builtins/arm/sync_fetch_and_xor_8.S 151 + @@ -13,7 +13,7 @@ 152 + 153 + #include "sync-ops.h" 154 + 155 + -#if __ARM_ARCH_PROFILE != 'M' 156 + +#if __ARM_FEATURE_LDREX & 8 157 + #define xor_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) \ 158 + eor rD_LO, rN_LO, rM_LO ; \ 159 + eor rD_HI, rN_HI, rM_HI 160 + -- 161 + 2.38.1 162 +
+65
pkgs/development/compilers/llvm/common/compiler-rt/armv6-scudo-libatomic.patch
··· 1 + From a56bb19a9dc303a50ef12d83cd24c2395bf81076 Mon Sep 17 00:00:00 2001 2 + From: Ben Wolsieffer <benwolsieffer@gmail.com> 3 + Date: Wed, 7 Dec 2022 21:25:46 -0500 4 + Subject: [PATCH] [scudo][standalone] Use CheckAtomic to decide to link to 5 + libatomic 6 + 7 + Standalone scudo uses the atomic operation builtin functions, which require 8 + linking to libatomic on some platforms. Currently, this is done in an ad-hoc 9 + manner. MIPS platforms always link to libatomic, and the tests are always linked 10 + to it as well. libatomic is required on base ARMv6 (but not ARMv6K), but it is 11 + currently not linked, causing the build to fail. 12 + 13 + This patch replaces this ad-hoc logic with the CheckAtomic CMake module already 14 + used in other parts of LLVM. The CheckAtomic module checks whether std::atomic 15 + requires libatomic, which is not strictly the same as checking the atomic 16 + builtins, but should have the same results as far as I know. If this is 17 + problematic, a custom version of CheckAtomic could be used to specifically test 18 + the builtins. 19 + --- 20 + compiler-rt/lib/scudo/standalone/CMakeLists.txt | 7 +++++++ 21 + compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt | 4 +--- 22 + 2 files changed, 8 insertions(+), 3 deletions(-) 23 + 24 + diff --git a/lib/scudo/standalone/CMakeLists.txt b/lib/scudo/standalone/CMakeLists.txt 25 + index ae5c354768c8..eb27374ca520 100644 26 + --- a/lib/scudo/standalone/CMakeLists.txt 27 + +++ b/lib/scudo/standalone/CMakeLists.txt 28 + @@ -1,5 +1,8 @@ 29 + add_compiler_rt_component(scudo_standalone) 30 + 31 + +include(DetermineGCCCompatible) 32 + +include(CheckAtomic) 33 + + 34 + include_directories(../.. include) 35 + 36 + set(SCUDO_CFLAGS) 37 + @@ -34,6 +37,10 @@ list(APPEND SCUDO_LINK_FLAGS -Wl,-z,defs,-z,now,-z,relro) 38 + 39 + list(APPEND SCUDO_LINK_FLAGS -ffunction-sections -fdata-sections -Wl,--gc-sections) 40 + 41 + +if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB) 42 + + list(APPEND SCUDO_LINK_FLAGS -latomic) 43 + +endif() 44 + + 45 + # We don't use the C++ standard library, so avoid including it by mistake. 46 + append_list_if(COMPILER_RT_HAS_NOSTDLIBXX_FLAG -nostdlib++ SCUDO_LINK_FLAGS) 47 + 48 + diff --git a/lib/scudo/standalone/tests/CMakeLists.txt b/lib/scudo/standalone/tests/CMakeLists.txt 49 + index 6d0936cbb5c1..70a5a7e959c1 100644 50 + --- a/lib/scudo/standalone/tests/CMakeLists.txt 51 + +++ b/lib/scudo/standalone/tests/CMakeLists.txt 52 + @@ -38,9 +38,7 @@ set(LINK_FLAGS 53 + ${SANITIZER_TEST_CXX_LIBRARIES} 54 + ) 55 + list(APPEND LINK_FLAGS -pthread) 56 + -# Linking against libatomic is required with some compilers 57 + -check_library_exists(atomic __atomic_load_8 "" COMPILER_RT_HAS_LIBATOMIC) 58 + -if (COMPILER_RT_HAS_LIBATOMIC) 59 + +if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB) 60 + list(APPEND LINK_FLAGS -latomic) 61 + endif() 62 + 63 + -- 64 + 2.38.1 65 +
+34
pkgs/development/compilers/llvm/common/compiler-rt/armv6-scudo-no-yield.patch
··· 1 + From ff0b373b959165477f45d9f5f9a8da471ae111ab Mon Sep 17 00:00:00 2001 2 + From: Ben Wolsieffer <benwolsieffer@gmail.com> 3 + Date: Wed, 7 Dec 2022 18:03:56 -0500 4 + Subject: [PATCH] [scudo][standalone] Only use yield on ARMv6K and newer 5 + 6 + The yield instruction is only available in ARMv6K and newer. It behaves as a 7 + nop on single threaded platforms anyway, so use nop instead on unsupported 8 + architectures. 9 + 10 + Differential Revision: https://reviews.llvm.org/D139600 11 + --- 12 + compiler-rt/lib/scudo/standalone/common.h | 5 +++++ 13 + 1 file changed, 5 insertions(+) 14 + 15 + diff --git a/lib/scudo/standalone/common.h b/lib/scudo/standalone/common.h 16 + index bc3dfec6dbba..862cda1d4bc4 100644 17 + --- a/lib/scudo/standalone/common.h 18 + +++ b/lib/scudo/standalone/common.h 19 + @@ -109,7 +109,12 @@ inline void yieldProcessor(u8 Count) { 20 + #elif defined(__aarch64__) || defined(__arm__) 21 + __asm__ __volatile__("" ::: "memory"); 22 + for (u8 I = 0; I < Count; I++) 23 + +#if __ARM_ARCH >= 6 && !defined(__ARM_ARCH_6__) 24 + + // yield is supported on ARMv6K and newer 25 + __asm__ __volatile__("yield"); 26 + +#else 27 + + __asm__ __volatile__("nop"); 28 + +#endif 29 + #endif 30 + __asm__ __volatile__("" ::: "memory"); 31 + } 32 + -- 33 + 2.38.1 34 +
+52
pkgs/development/compilers/llvm/common/compiler-rt/armv6-sync-ops-no-thumb.patch
··· 1 + From 5017de8ba4b1fe985169cf54590e858a9019a91f Mon Sep 17 00:00:00 2001 2 + From: Khem Raj <raj.khem@gmail.com> 3 + Date: Fri, 11 Mar 2022 16:25:49 -0800 4 + Subject: [PATCH] [builtins] Do not force thumb mode directive in 5 + arm/sync-ops.h 6 + 7 + .thumb_func was not switching mode until [1] 8 + so it did not show up but now that .thumb_func (without argument) is 9 + switching mode, its causing build failures on armv6 ( rpi0 ) even when 10 + build is explicitly asking for this file to be built with -marm (ARM 11 + mode), therefore use DEFINE_COMPILERRT_FUNCTION macro to add function 12 + header which considers arch and mode from compiler cmdline to decide if 13 + the function is built using thumb mode or arm mode. 14 + 15 + [1] https://reviews.llvm.org/D101975 16 + 17 + Note that it also needs https://reviews.llvm.org/D99282 18 + 19 + Reviewed By: peter.smith, MaskRay 20 + 21 + Differential Revision: https://reviews.llvm.org/D104183 22 + --- 23 + compiler-rt/lib/builtins/arm/sync-ops.h | 6 ++---- 24 + 1 file changed, 2 insertions(+), 4 deletions(-) 25 + 26 + diff --git a/lib/builtins/arm/sync-ops.h b/lib/builtins/arm/sync-ops.h 27 + index 7a26170741ad2..d914f9d3a1093 100644 28 + --- a/lib/builtins/arm/sync-ops.h 29 + +++ b/lib/builtins/arm/sync-ops.h 30 + @@ -16,9 +16,8 @@ 31 + 32 + #define SYNC_OP_4(op) \ 33 + .p2align 2; \ 34 + - .thumb; \ 35 + .syntax unified; \ 36 + - DEFINE_COMPILERRT_THUMB_FUNCTION(__sync_fetch_and_##op) \ 37 + + DEFINE_COMPILERRT_FUNCTION(__sync_fetch_and_##op) \ 38 + DMB; \ 39 + mov r12, r0; \ 40 + LOCAL_LABEL(tryatomic_##op) : ldrex r0, [r12]; \ 41 + @@ -31,9 +30,8 @@ 42 + 43 + #define SYNC_OP_8(op) \ 44 + .p2align 2; \ 45 + - .thumb; \ 46 + .syntax unified; \ 47 + - DEFINE_COMPILERRT_THUMB_FUNCTION(__sync_fetch_and_##op) \ 48 + + DEFINE_COMPILERRT_FUNCTION(__sync_fetch_and_##op) \ 49 + push {r4, r5, r6, lr}; \ 50 + DMB; \ 51 + mov r12, r0; \ 52 +
-1
pkgs/development/compilers/llvm/git/clang/default.nix
··· 28 28 29 29 cmakeFlags = [ 30 30 "-DCLANG_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/clang" 31 - "-DCMAKE_CXX_FLAGS=-std=c++14" 32 31 "-DCLANGD_BUILD_XPC=OFF" 33 32 "-DLLVM_ENABLE_RTTI=ON" 34 33 ] ++ lib.optionals enableManpages [
+2 -1
pkgs/development/compilers/llvm/git/compiler-rt/default.nix
··· 45 45 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 46 46 "-DCOMPILER_RT_BUILD_XRAY=OFF" 47 47 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 48 - "-DCOMPILER_RT_BUILD_PROFILE=OFF" 49 48 "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 50 49 "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary 50 + ] ++ lib.optionals (useLLVM || bareMetal) [ 51 + "-DCOMPILER_RT_BUILD_PROFILE=OFF" 51 52 ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ 52 53 "-DCMAKE_C_COMPILER_WORKS=ON" 53 54 "-DCMAKE_CXX_COMPILER_WORKS=ON"
+26 -14
pkgs/development/compilers/llvm/git/default.nix
··· 1 1 { lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja 2 2 , gccForLibs, preLibcCrossHeaders 3 - , libxml2, python3, isl, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith 3 + , libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith 4 4 , buildLlvmTools # tools, but from the previous stage, for cross 5 5 , targetLlvmLibraries # libraries, but from the next stage, for cross 6 6 # This is the default binutils, but with *this* version of LLD rather ··· 51 51 }; 52 52 53 53 tools = lib.makeExtensible (tools: let 54 - callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 isl release_version version monorepoSrc buildLlvmTools; }); 54 + callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; }); 55 55 mkExtraBuildCommands0 = cc: '' 56 56 rsrc="$out/resource-root" 57 57 mkdir "$rsrc" ··· 231 231 }); 232 232 233 233 libraries = lib.makeExtensible (libraries: let 234 - callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake ninja libxml2 python3 isl release_version version monorepoSrc; }); 234 + callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc; }); 235 235 in { 236 236 237 237 compiler-rt-libc = callPackage ./compiler-rt { ··· 257 257 258 258 libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; 259 259 260 - libcxx = callPackage ./libcxx { 261 - inherit llvm_meta; 262 - stdenv = if stdenv.hostPlatform.useLLVM or false 263 - then overrideCC stdenv buildLlvmTools.clangNoLibcxx 264 - else stdenv; 265 - }; 266 - 267 260 libcxxabi = let 268 - stdenv_ = if stdenv.hostPlatform.useLLVM or false 269 - then overrideCC stdenv buildLlvmTools.clangNoLibcxx 270 - else stdenv; 261 + # CMake will "require" a compiler capable of compiling C++ programs 262 + # cxx-header's build does not actually use one so it doesn't really matter 263 + # what stdenv we use here, as long as CMake is happy. 271 264 cxx-headers = callPackage ./libcxx { 272 265 inherit llvm_meta; 273 - stdenv = stdenv_; 274 266 headersOnly = true; 275 267 }; 268 + 269 + # `libcxxabi` *doesn't* need a compiler with a working C++ stdlib but it 270 + # *does* need a relatively modern C++ compiler (see: 271 + # https://releases.llvm.org/15.0.0/projects/libcxx/docs/index.html#platform-and-compiler-support). 272 + # 273 + # So, we use the clang from this LLVM package set, like libc++ 274 + # "boostrapping builds" do: 275 + # https://releases.llvm.org/15.0.0/projects/libcxx/docs/BuildingLibcxx.html#bootstrapping-build 276 + # 277 + # We cannot use `clangNoLibcxx` because that contains `compiler-rt` which, 278 + # on macOS, depends on `libcxxabi`, thus forming a cycle. 279 + stdenv_ = overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc; 276 280 in callPackage ./libcxxabi { 277 281 stdenv = stdenv_; 278 282 inherit llvm_meta cxx-headers; 283 + }; 284 + 285 + # Like `libcxxabi` above, `libcxx` requires a fairly modern C++ compiler, 286 + # so: we use the clang from this LLVM package set instead of the regular 287 + # stdenv's compiler. 288 + libcxx = callPackage ./libcxx { 289 + inherit llvm_meta; 290 + stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx; 279 291 }; 280 292 281 293 libunwind = callPackage ./libunwind {
+7
pkgs/development/compilers/llvm/git/libcxxabi/default.nix
··· 58 58 cmakeFlags = [ 59 59 "-DLLVM_ENABLE_RUNTIMES=libcxxabi" 60 60 "-DLIBCXXABI_LIBCXX_INCLUDES=${cxx-headers}/include/c++/v1" 61 + 62 + # `libcxxabi`'s build does not need a toolchain with a c++ stdlib attached 63 + # (we specify the headers it should use explicitly above). 64 + # 65 + # CMake however checks for this anyways; this flag tells it not to. See: 66 + # https://github.com/llvm/llvm-project/blob/4bd3f3759259548e159aeba5c76efb9a0864e6fa/llvm/runtimes/CMakeLists.txt#L243 67 + "-DCMAKE_CXX_COMPILER_WORKS=ON" 61 68 ] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [ 62 69 "-DLLVM_ENABLE_LIBCXX=ON" 63 70 "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
+30 -5
pkgs/development/compilers/llvm/git/llvm/default.nix
··· 18 18 , which 19 19 , buildLlvmTools 20 20 , debugVersion ? false 21 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 22 + && (stdenv.hostPlatform == stdenv.buildPlatform) 21 23 , enableManpages ? false 22 24 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 23 25 , enablePFM ? !(stdenv.isDarwin 24 26 || stdenv.isAarch64 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 25 27 || stdenv.isAarch32 # broken for the armv7l builder 26 28 ) 27 - , enablePolly ? false 29 + , enablePolly ? true 28 30 } @args: 29 31 30 32 let ··· 34 36 shortVersion = with lib; 35 37 concatStringsSep "." (take 1 (splitString "." release_version)); 36 38 39 + # Ordinarily we would just the `doCheck` and `checkDeps` functionality 40 + # `mkDerivation` gives us to manage our test dependencies (instead of breaking 41 + # out `doCheck` as a package level attribute). 42 + # 43 + # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in 44 + # particular the children it uses to do feature detection. 45 + # 46 + # This means that python deps we add to `checkDeps` (which the python 47 + # interpreter is made aware of via `$PYTHONPATH` – populated by the python 48 + # setup hook) are not picked up by `lit` which causes it to skip tests. 49 + # 50 + # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work 51 + # because this package is shadowed in `$PATH` by the regular `python3` 52 + # package. 53 + # 54 + # So, we "manually" assemble one python derivation for the package to depend 55 + # on, taking into account whether checks are enabled or not: 56 + python = if doCheck then 57 + let 58 + checkDeps = ps: with ps; [ psutil ]; 59 + in python3.withPackages checkDeps 60 + else python3; 61 + 37 62 in stdenv.mkDerivation (rec { 38 63 pname = "llvm"; 39 64 inherit version; ··· 44 69 cp -r ${monorepoSrc}/${pname} "$out" 45 70 cp -r ${monorepoSrc}/third-party "$out" 46 71 '' + lib.optionalString enablePolly '' 47 - cp -r ${monorepoSrc}/polly "$out/llvm/tools" 72 + chmod u+w "$out/${pname}/tools" 73 + cp -r ${monorepoSrc}/polly "$out/${pname}/tools" 48 74 ''); 49 75 50 76 sourceRoot = "${src.name}/${pname}"; 51 77 52 78 outputs = [ "out" "lib" "dev" "python" ]; 53 79 54 - nativeBuildInputs = [ cmake ninja python3 ] 80 + nativeBuildInputs = [ cmake ninja python ] 55 81 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 56 82 57 83 buildInputs = [ libxml2 libffi ] ··· 216 242 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 217 243 ''; 218 244 219 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 220 - && (stdenv.hostPlatform == stdenv.buildPlatform); 245 + inherit doCheck; 221 246 222 247 checkTarget = "check-all"; 223 248
+4 -87
pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs-polly.patch
··· 1 - diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt 2 - index ca7c04c565bb..6a6155806ffa 100644 3 - --- a/tools/polly/CMakeLists.txt 4 - +++ b/tools/polly/CMakeLists.txt 5 - @@ -3,6 +3,8 @@ if (NOT DEFINED LLVM_MAIN_SRC_DIR) 6 - project(Polly) 7 - cmake_minimum_required(VERSION 3.13.4) 8 - 9 - + include(GNUInstallDirs) 10 - + 11 - # Where is LLVM installed? 12 - find_package(LLVM CONFIG REQUIRED) 13 - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR}) 14 - @@ -122,13 +124,13 @@ include_directories( 15 - 16 - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 17 - install(DIRECTORY include/ 18 - - DESTINATION include 19 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 20 - FILES_MATCHING 21 - PATTERN "*.h" 22 - ) 23 - 24 - install(DIRECTORY ${POLLY_BINARY_DIR}/include/ 25 - - DESTINATION include 26 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 27 - FILES_MATCHING 28 - PATTERN "*.h" 29 - PATTERN "CMakeFiles" EXCLUDE 30 - diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt 31 - index 7cc129ba2e90..137be25e4b80 100644 32 - --- a/tools/polly/cmake/CMakeLists.txt 33 - +++ b/tools/polly/cmake/CMakeLists.txt 34 - @@ -79,18 +79,18 @@ file(GENERATE 35 - 36 - # Generate PollyConfig.cmake for the install tree. 37 - unset(POLLY_EXPORTS) 38 - -set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 39 - +set(POLLY_INSTALL_PREFIX "") 40 - set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") 41 - -set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") 42 - -set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}") 43 - +set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") 44 - +set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") 45 - if (POLLY_BUNDLED_ISL) 46 - set(POLLY_CONFIG_INCLUDE_DIRS 47 - - "${POLLY_INSTALL_PREFIX}/include" 48 - - "${POLLY_INSTALL_PREFIX}/include/polly" 49 - + "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}" 50 - + "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly" 51 - ) 52 - else() 53 - set(POLLY_CONFIG_INCLUDE_DIRS 54 - - "${POLLY_INSTALL_PREFIX}/include" 55 - + "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}" 56 - ${ISL_INCLUDE_DIRS} 57 - ) 58 - endif() 59 - @@ -100,12 +100,12 @@ endif() 60 - foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS) 61 - get_target_property(tgt_type ${tgt} TYPE) 62 - if (tgt_type STREQUAL "EXECUTABLE") 63 - - set(tgt_prefix "bin/") 64 - + set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/") 65 - else() 66 - - set(tgt_prefix "lib/") 67 - + set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/") 68 - endif() 69 - 70 - - set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>") 71 - + set(tgt_path "${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>") 72 - file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path}) 73 - 74 - if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY") 1 + This is the one remaining Polly install dirs related change that hasn't made it 2 + into upstream yet; previously this patch file also included: 3 + https://reviews.llvm.org/D117541 4 + 75 5 diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake 76 6 index 518a09b45a42..bd9d6f5542ad 100644 77 7 --- a/tools/polly/cmake/polly_macros.cmake ··· 87 17 endif() 88 18 set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) 89 19 endmacro(add_polly_library) 90 - diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt 91 - index e3a5683fccdc..293b482eb28a 100644 92 - --- a/tools/polly/lib/External/CMakeLists.txt 93 - +++ b/tools/polly/lib/External/CMakeLists.txt 94 - @@ -290,7 +290,7 @@ if (POLLY_BUNDLED_ISL) 95 - install(DIRECTORY 96 - ${ISL_SOURCE_DIR}/include/ 97 - ${ISL_BINARY_DIR}/include/ 98 - - DESTINATION include/polly 99 - + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly 100 - FILES_MATCHING 101 - PATTERN "*.h" 102 - PATTERN "CMakeFiles" EXCLUDE
+5
pkgs/development/compilers/ocaml/generic.nix
··· 95 95 # make[2]: *** [Makefile:199: backup] Error 1 96 96 enableParallelBuilding = lib.versionAtLeast version "4.08"; 97 97 98 + # Workaround missing dependencies for install parallelism: 99 + # install: target '...-ocaml-4.14.0/lib/ocaml/threads': No such file or directory 100 + # make[1]: *** [Makefile:140: installopt] Error 1 101 + enableParallelInstalling = false; 102 + 98 103 # Workaround lack of parallelism support among top-level targets: 99 104 # we place nixpkgs-specific targets to a separate file and set 100 105 # sequential order among them as a single rule.
+10 -5
pkgs/development/compilers/openjdk/11.nix
··· 1 - { stdenv, lib, fetchFromGitHub, bash, pkg-config, autoconf, cpio, file, which, unzip 1 + { stdenv, lib, fetchpatch, fetchFromGitHub, bash, pkg-config, autoconf, cpio, file, which, unzip 2 2 , zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2 3 3 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama 4 4 , libXcursor, libXrandr, fontconfig, openjdk11-bootstrap ··· 6 6 , headless ? false 7 7 , enableJavaFX ? false, openjfx 8 8 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 9 - # Hold back make-4.4 as 4.4.1 breaks the build: 10 - # https://github.com/NixOS/nixpkgs/issues/219513 11 - , gnumake44 12 9 }: 13 10 14 11 let ··· 28 25 sha256 = "sha256-QGOpMIrWwOtIcUY/CLbTRDvcVTG2xioZu46v+n+IIQ4="; 29 26 }; 30 27 31 - nativeBuildInputs = [ gnumake44 pkg-config autoconf unzip ]; 28 + nativeBuildInputs = [ pkg-config autoconf unzip ]; 32 29 buildInputs = [ 33 30 cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib 34 31 libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst ··· 43 40 ./currency-date-range-jdk10.patch 44 41 ./increase-javadoc-heap.patch 45 42 ./fix-library-path-jdk11.patch 43 + 44 + # Fix build for gnumake-4.4.1: 45 + # https://github.com/openjdk/jdk/pull/12992 46 + (fetchpatch { 47 + name = "gnumake-4.4.1"; 48 + url = "https://github.com/openjdk/jdk/commit/9341d135b855cc208d48e47d30cd90aafa354c36.patch"; 49 + hash = "sha256-Qcm3ZmGCOYLZcskNjj7DYR85R4v07vYvvavrVOYL8vg="; 50 + }) 46 51 ] ++ lib.optionals (!headless && enableGnome2) [ 47 52 ./swing-use-gtk-jdk10.patch 48 53 ];
+10 -5
pkgs/development/compilers/openjdk/17.nix
··· 1 - { stdenv, lib, fetchurl, fetchFromGitHub, bash, pkg-config, autoconf, cpio 1 + { stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bash, pkg-config, autoconf, cpio 2 2 , file, which, unzip, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib 3 3 , libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst 4 4 , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk17-bootstrap ··· 6 6 , headless ? false 7 7 , enableJavaFX ? false, openjfx 8 8 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 9 - # Hold back make-4.4 as 4.4.1 breaks the build: 10 - # https://github.com/NixOS/nixpkgs/issues/219513 11 - , gnumake44 12 9 }: 13 10 14 11 let ··· 29 26 sha256 = "sha256-zPpINi++3Ct0PCwlwlfhceh/ploMkclw+MgeI9dULdc="; 30 27 }; 31 28 32 - nativeBuildInputs = [ gnumake44 pkg-config autoconf unzip ]; 29 + nativeBuildInputs = [ pkg-config autoconf unzip ]; 33 30 buildInputs = [ 34 31 cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib 35 32 libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst ··· 60 57 (fetchurl { 61 58 url = "https://git.alpinelinux.org/aports/plain/community/openjdk17/FixNullPtrCast.patch?id=41e78a067953e0b13d062d632bae6c4f8028d91c"; 62 59 sha256 = "sha256-LzmSew51+DyqqGyyMw2fbXeBluCiCYsS1nCjt9hX6zo="; 60 + }) 61 + 62 + # Fix build for gnumake-4.4.1: 63 + # https://github.com/openjdk/jdk/pull/12992 64 + (fetchpatch { 65 + name = "gnumake-4.4.1"; 66 + url = "https://github.com/openjdk/jdk/commit/9341d135b855cc208d48e47d30cd90aafa354c36.patch"; 67 + hash = "sha256-Qcm3ZmGCOYLZcskNjj7DYR85R4v07vYvvavrVOYL8vg="; 63 68 }) 64 69 ] ++ lib.optionals (!headless && enableGnome2) [ 65 70 ./swing-use-gtk-jdk13.patch
+9 -4
pkgs/development/compilers/openjdk/19.nix
··· 9 9 , headless ? stdenv.targetPlatform.isGhcjs 10 10 , enableJavaFX ? false, openjfx 11 11 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 12 - # Hold back make-4.4 as 4.4.1 breaks the build: 13 - # https://github.com/NixOS/nixpkgs/issues/219513 14 - , gnumake44 15 12 }: 16 13 17 14 let ··· 32 29 hash = "sha256-pBEHmBtIgG4Czou4C/zpBBYZEDImvXiLoA5CjOzpeyI="; 33 30 }; 34 31 35 - nativeBuildInputs = [ gnumake44 pkg-config autoconf unzip ensureNewerSourcesForZipFilesHook ]; 32 + nativeBuildInputs = [ pkg-config autoconf unzip ensureNewerSourcesForZipFilesHook ]; 36 33 buildInputs = [ 37 34 cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib 38 35 libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst ··· 62 59 (fetchpatch { 63 60 url = "https://git.alpinelinux.org/aports/plain/testing/openjdk19/FixNullPtrCast.patch?id=93dc07f97ff716b647c5f57c6224901ea06da560"; 64 61 hash = "sha256-H4X3Yip5bCpXMH7MSu9BgXIOYRVUBMZPZW8EvZSWI5k="; 62 + }) 63 + 64 + # Fix build for gnumake-4.4.1: 65 + # https://github.com/openjdk/jdk/pull/12992 66 + (fetchpatch { 67 + name = "gnumake-4.4.1"; 68 + url = "https://github.com/openjdk/jdk/commit/9341d135b855cc208d48e47d30cd90aafa354c36.patch"; 69 + hash = "sha256-Qcm3ZmGCOYLZcskNjj7DYR85R4v07vYvvavrVOYL8vg="; 65 70 }) 66 71 ] ++ lib.optionals (!headless && enableGnome2) [ 67 72 ./swing-use-gtk-jdk13.patch
+17 -4
pkgs/development/compilers/rust/cargo-auditable.nix
··· 1 - { lib, fetchFromGitHub, makeRustPlatform, rustc, cargo }: 1 + { lib, fetchFromGitHub, makeRustPlatform, rustc, cargo, installShellFiles }: 2 2 3 3 let 4 4 args = rec { 5 5 pname = "cargo-auditable"; 6 - version = "0.6.0"; 6 + version = "0.6.1"; 7 7 8 8 src = fetchFromGitHub { 9 9 owner = "rust-secure-code"; 10 10 repo = pname; 11 11 rev = "v${version}"; 12 - sha256 = "sha256-mSiEC+9QtRjWmywJnGgUqp+q8fhY0qUYrgjrAVaY114="; 12 + sha256 = "sha256-MKMPLv8jeST0l4tq+MMPC18qfZMmBixdj6Ng19YKepU="; 13 13 }; 14 14 15 - cargoSha256 = "sha256-Wz5My/QxPpZVsPBUe3KHT3ttD6CTU8NCY8rhFEC+UlA="; 15 + cargoSha256 = "sha256-6/f7pNaTL+U6bI6jMakU/lfwYYxN/EM3WkKZcydsyLk="; 16 + 17 + # Cargo.lock is outdated 18 + preConfigure = '' 19 + cargo update --offline 20 + ''; 16 21 17 22 meta = with lib; { 18 23 description = "A tool to make production Rust binaries auditable"; ··· 37 42 38 43 rustPlatform.buildRustPackage.override { cargo-auditable = bootstrap; } (args // { 39 44 auditable = true; # TODO: remove when this is the default 45 + 46 + nativeBuildInputs = [ 47 + installShellFiles 48 + ]; 49 + 50 + postInstall = '' 51 + installManPage cargo-auditable/cargo-auditable.1 52 + ''; 40 53 })
+57 -17
pkgs/development/interpreters/ruby/default.nix
··· 2 2 , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub 3 3 , zlib, gdbm, ncurses, readline, groff, libyaml, libffi, jemalloc, autoreconfHook, bison 4 4 , autoconf, libiconv, libobjc, libunwind, Foundation 5 - , buildEnv, bundler, bundix 5 + , buildEnv, bundler, bundix, rustPlatform 6 6 , makeBinaryWrapper, buildRubyGem, defaultGemConfig, removeReferencesTo 7 7 , openssl, openssl_1_1 8 + , linuxPackages, libsystemtap 8 9 } @ args: 9 10 10 11 let 11 12 op = lib.optional; 12 13 ops = lib.optionals; 13 14 opString = lib.optionalString; 14 - patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; }; 15 15 config = import ./config.nix { inherit fetchFromSavannah; }; 16 16 rubygems = import ./rubygems { inherit stdenv lib fetchurl; }; 17 17 18 18 # Contains the ruby version heuristics 19 19 rubyVersion = import ./ruby-version.nix { inherit lib; }; 20 20 21 - generic = { version, sha256 }: let 21 + generic = { version, sha256, cargoSha256 ? null }: let 22 22 ver = version; 23 23 atLeast30 = lib.versionAtLeast ver.majMin "3.0"; 24 + atLeast31 = lib.versionAtLeast ver.majMin "3.1"; 25 + atLeast32 = lib.versionAtLeast ver.majMin "3.2"; 24 26 self = lib.makeOverridable ( 25 27 { stdenv, buildPackages, lib 26 28 , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub 27 - , useRailsExpress ? true 28 29 , rubygemsSupport ? true 29 30 , zlib, zlibSupport ? true 30 31 , openssl, openssl_1_1, opensslSupport ? true ··· 34 35 , libyaml, yamlSupport ? true 35 36 , libffi, fiddleSupport ? true 36 37 , jemalloc, jemallocSupport ? false 38 + , linuxPackages, systemtap ? linuxPackages.systemtap, libsystemtap, dtraceSupport ? false 37 39 # By default, ruby has 3 observed references to stdenv.cc: 38 40 # 39 41 # - If you run: ··· 43 45 # Or (usually): 44 46 # $(nix-build -A ruby)/lib/ruby/2.6.0/x86_64-linux/rbconfig.rb 45 47 # - In $out/lib/libruby.so and/or $out/lib/libruby.dylib 46 - , removeReferencesTo, jitSupport ? false 48 + , removeReferencesTo, jitSupport ? yjitSupport 49 + , rustPlatform, yjitSupport ? atLeast32 47 50 , autoreconfHook, bison, autoconf 48 51 , buildEnv, bundler, bundix 49 52 , libiconv, libobjc, libunwind, Foundation 50 53 , makeBinaryWrapper, buildRubyGem, defaultGemConfig 51 54 , baseRuby ? buildPackages.ruby_3_1.override { 52 - useRailsExpress = false; 53 55 docSupport = false; 54 56 rubygemsSupport = false; 55 57 } 56 - , useBaseRuby ? stdenv.hostPlatform != stdenv.buildPlatform || useRailsExpress 58 + , useBaseRuby ? stdenv.hostPlatform != stdenv.buildPlatform 57 59 }: 58 60 stdenv.mkDerivation rec { 59 61 pname = "ruby"; ··· 69 71 70 72 outputs = [ "out" ] ++ lib.optional docSupport "devdoc"; 71 73 74 + strictDeps = true; 75 + 72 76 nativeBuildInputs = [ autoreconfHook bison ] 73 77 ++ (op docSupport groff) 78 + ++ (ops (dtraceSupport && stdenv.isLinux) [ systemtap libsystemtap ]) 79 + ++ ops yjitSupport [ rustPlatform.cargoSetupHook rustPlatform.rust.cargo rustPlatform.rust.rustc ] 74 80 ++ op useBaseRuby baseRuby; 75 81 buildInputs = [ autoconf ] 76 82 ++ (op fiddleSupport libffi) ··· 89 95 propagatedBuildInputs = op jemallocSupport jemalloc; 90 96 91 97 enableParallelBuilding = true; 98 + # /build/ruby-2.7.7/lib/fileutils.rb:882:in `chmod': 99 + # No such file or directory @ apply2files - ...-ruby-2.7.7-devdoc/share/ri/2.7.0/system/ARGF/inspect-i.ri (Errno::ENOENT) 100 + # make: *** [uncommon.mk:373: do-install-all] Error 1 101 + enableParallelInstalling = false; 92 102 93 - patches = 94 - (import ./patchsets.nix { 95 - inherit patchSet useRailsExpress ops fetchpatch; 96 - patchLevel = ver.patchLevel; 97 - }).${ver.majMinTiny} 98 - ++ op (lib.versionOlder ver.majMin "3.1") ./do-not-regenerate-revision.h.patch 99 - ++ op (atLeast30 && useBaseRuby) ./do-not-update-gems-baseruby.patch 103 + patches = op (lib.versionOlder ver.majMin "3.1") ./do-not-regenerate-revision.h.patch 104 + ++ op (atLeast30 && useBaseRuby) ( 105 + if atLeast32 then ./do-not-update-gems-baseruby-3.2.patch 106 + else ./do-not-update-gems-baseruby.patch 107 + ) 100 108 ++ ops (ver.majMin == "3.0") [ 101 109 # Ruby 3.0 adds `-fdeclspec` to $CC instead of $CFLAGS. Fixed in later versions. 102 110 (fetchpatch { ··· 104 112 sha256 = "sha256-43hI9L6bXfeujgmgKFVmiWhg7OXvshPCCtQ4TxqK1zk="; 105 113 }) 106 114 ] 115 + ++ ops (ver.majMin == "3.1") [ 116 + # Ruby 3.1.3 cannot find pkg-config in mkmf.rb 117 + # https://bugs.ruby-lang.org/issues/19189 118 + (fetchpatch { 119 + url = "https://github.com/ruby/ruby/commit/613fca01486e47dee9364a2fd86b5f5e77fe23c8.patch"; 120 + sha256 = "sha256-0Ku7l6VEpcvxexL9QA5+mNER4v8gYZOJhAjhCL1WDpw="; 121 + }) 122 + ] 107 123 ++ ops (!atLeast30 && rubygemsSupport) [ 108 124 # We upgrade rubygems to a version that isn't compatible with the 109 125 # ruby 2.7 installer. Backport the upstream fix. ··· 118 134 url = "https://github.com/ruby/ruby/commit/261d8dd20afd26feb05f00a560abd99227269c1c.patch"; 119 135 sha256 = "0wrii25cxcz2v8bgkrf7ibcanjlxwclzhayin578bf0qydxdm9qy"; 120 136 }) 137 + ] 138 + ++ ops atLeast31 [ 139 + # When using a baseruby, ruby always sets "libdir" to the build 140 + # directory, which nix rejects due to a reference in to /build/ in 141 + # the final product. Removing this reference doesn't seem to break 142 + # anything and fixes cross compliation. 143 + ./dont-refer-to-build-dir.patch 121 144 ]; 122 145 146 + cargoRoot = opString yjitSupport "yjit"; 147 + 148 + cargoDeps = if yjitSupport then rustPlatform.fetchCargoTarball { 149 + inherit src; 150 + sourceRoot = "${pname}-${version}/${cargoRoot}"; 151 + sha256 = cargoSha256; 152 + } else null; 153 + 123 154 postUnpack = opString rubygemsSupport '' 124 155 rm -rf $sourceRoot/{lib,test}/rubygems* 125 156 cp -r ${rubygems}/lib/rubygems* $sourceRoot/lib ··· 141 172 (lib.enableFeature true "pthread") 142 173 (lib.withFeatureAs true "soname" "ruby-${version}") 143 174 (lib.withFeatureAs useBaseRuby "baseruby" "${baseRuby}/bin/ruby") 175 + (lib.enableFeature dtraceSupport "dtrace") 144 176 (lib.enableFeature jitSupport "jit-support") 177 + (lib.enableFeature yjitSupport "yjit") 145 178 (lib.enableFeature docSupport "install-doc") 146 179 (lib.withFeature jemallocSupport "jemalloc") 147 180 (lib.withFeatureAs docSupport "ridir" "${placeholder "devdoc"}/share/ri") ··· 204 237 for makefile in $extMakefiles; do 205 238 make -C "$(dirname "$makefile")" distclean 206 239 done 207 - find "$out/${passthru.gemPath}" -name gem_make.out -delete 240 + find "$out/${passthru.gemPath}" \( -name gem_make.out -o -name mkmf.log \) -delete 208 241 # Bundler tries to create this directory 209 242 mkdir -p $out/nix-support 210 243 cat > $out/nix-support/setup-hook <<EOF ··· 271 304 ruby = self; 272 305 }; 273 306 307 + inherit rubygems; 274 308 inherit (import ../../ruby-modules/with-packages { 275 309 inherit lib stdenv makeBinaryWrapper buildRubyGem buildEnv; 276 310 gemConfig = defaultGemConfig; ··· 298 332 }; 299 333 300 334 ruby_3_1 = generic { 301 - version = rubyVersion "3" "1" "2" ""; 302 - sha256 = "0gm84ipk6mrfw94852w5h7xxk2lqrxjbnlwb88svf0lz70933131"; 335 + version = rubyVersion "3" "1" "3" ""; 336 + sha256 = "sha256-XqSYo19M0Vh1IApS3eQrbrF54SZOF9eHMsOlfNHGq54="; 337 + }; 338 + 339 + ruby_3_2 = generic { 340 + version = rubyVersion "3" "2" "1" ""; 341 + sha256 = "sha256-E9Z5AWYO4yF9vZ3VYFk0a9QhLOZKacMG71LfZJNfjb0="; 342 + cargoSha256 = "sha256-6du7RJo0DH+eYMOoh3L31F3aqfR5+iG1iKauSV1uNcQ="; 303 343 }; 304 344 }
+13
pkgs/development/interpreters/ruby/do-not-update-gems-baseruby-3.2.patch
··· 1 + diff --git a/common.mk b/common.mk 2 + index 3798f82bc6..4d07b28aa4 100644 3 + --- a/common.mk 4 + +++ b/common.mk 5 + @@ -1374,7 +1374,7 @@ update-config_files: PHONY 6 + config.guess config.sub 7 + 8 + refresh-gems: update-bundled_gems prepare-gems 9 + -prepare-gems: $(HAVE_BASERUBY:yes=update-gems) $(HAVE_BASERUBY:yes=extract-gems) 10 + +prepare-gems: 11 + extract-gems: $(HAVE_BASERUBY:yes=update-gems) 12 + 13 + update-gems$(gnumake:yes=-sequential): PHONY
+12
pkgs/development/interpreters/ruby/dont-refer-to-build-dir.patch
··· 1 + diff --git a/tool/fake.rb b/tool/fake.rb 2 + index 91dfb041c4..9c235f1e3a 100644 3 + --- a/tool/fake.rb 4 + +++ b/tool/fake.rb 5 + @@ -48,7 +48,6 @@ class File 6 + $builtruby ||= File.join(builddir, config['RUBY_INSTALL_NAME'] + config['EXEEXT']) 7 + RbConfig.fire_update!("builddir", builddir) 8 + RbConfig.fire_update!("buildlibdir", builddir) 9 + - RbConfig.fire_update!("libdir", builddir) 10 + RbConfig.fire_update!("prefix", $topdir) 11 + RbConfig.fire_update!("top_srcdir", $top_srcdir ||= top_srcdir) 12 + RbConfig.fire_update!("extout", $extout)
-18
pkgs/development/interpreters/ruby/patchsets.nix
··· 1 - { patchSet, useRailsExpress, ops, patchLevel, fetchpatch }: 2 - 3 - { 4 - "2.7.7" = ops useRailsExpress [ 5 - "${patchSet}/patches/ruby/2.7/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch" 6 - "${patchSet}/patches/ruby/2.7/head/railsexpress/02-improve-gc-stats.patch" 7 - "${patchSet}/patches/ruby/2.7/head/railsexpress/03-more-detailed-stacktrace.patch" 8 - "${patchSet}/patches/ruby/2.7/head/railsexpress/04-malloc-trim.patch" 9 - ]; 10 - "3.0.5" = ops useRailsExpress [ 11 - "${patchSet}/patches/ruby/3.0/head/railsexpress/01-improve-gc-stats.patch" 12 - "${patchSet}/patches/ruby/3.0/head/railsexpress/02-malloc-trim.patch" 13 - ]; 14 - "3.1.2" = ops useRailsExpress [ 15 - "${patchSet}/patches/ruby/3.1/head/railsexpress/01-improve-gc-stats.patch" 16 - "${patchSet}/patches/ruby/3.1/head/railsexpress/02-malloc-trim.patch" 17 - ]; 18 - }
+5 -5
pkgs/development/interpreters/ruby/rubygems/0002-binaries-with-env-shebang.patch
··· 18 18 extend Gem::Deprecate 19 19 20 20 DEFAULT_OPTIONS = { # :nodoc: 21 - - :env_shebang => false, 22 - + :env_shebang => true, 23 - :document => %w[ri], 24 - :domain => :both, # HACK dup 25 - :force => false, 21 + - :env_shebang => false, 22 + + :env_shebang => true, 23 + :document => %w[ri], 24 + :domain => :both, # HACK dup 25 + :force => false, 26 26 -- 27 27 2.21.0 28 28
+3 -2
pkgs/development/interpreters/ruby/rubygems/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "rubygems"; 5 - version = "3.3.20"; 5 + version = "3.4.8"; 6 6 7 7 src = fetchurl { 8 8 url = "https://rubygems.org/rubygems/rubygems-${version}.tgz"; 9 - sha256 = "sha256-VTUMZ2mqbszM7uXOYV6Grg7dkeGAGVXYjBX0hA/vOTg="; 9 + sha256 = "sha256-0FlDZJNJJGVkvBmKWNBqNRaTto6ciCOuQEK6uq6dotQ="; 10 10 }; 11 11 12 12 patches = [ ··· 23 23 24 24 meta = with lib; { 25 25 description = "Package management framework for Ruby"; 26 + changelog = "https://github.com/rubygems/rubygems/blob/v${version}/CHANGELOG.md"; 26 27 homepage = "https://rubygems.org/"; 27 28 license = with licenses; [ mit /* or */ ruby ]; 28 29 maintainers = with maintainers; [ zimbatm ];
-8
pkgs/development/interpreters/ruby/rvm-patchsets.nix
··· 1 - { fetchFromGitHub }: 2 - 3 - fetchFromGitHub { 4 - owner = "skaes"; 5 - repo = "rvm-patchsets"; 6 - rev = "e6574c54a34fe6e4d45aa1433872a22ddfe14cf3"; 7 - hash = "sha256-x2KvhgRVJ4Nc5v1j4DggKO1u3otG8HVMxhq4yuUKnds="; 8 - }
+3
pkgs/development/interpreters/s9fes/default.nix
··· 24 24 buildInputs = [ ncurses ]; 25 25 makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ]; 26 26 enableParallelBuilding = true; 27 + # ...-bash-5.2-p15/bin/bash: line 1: ...-s9fes-20181205/bin/s9help: No such file or directory 28 + # make: *** [Makefile:157: install-util] Error 1 29 + enableParallelInstalling = false; 27 30 28 31 meta = with lib; { 29 32 description = "Scheme 9 From Empty Space, an interpreter for R4RS Scheme";
+3 -3
pkgs/development/libraries/SDL2/default.nix
··· 55 55 56 56 stdenv.mkDerivation rec { 57 57 pname = "SDL2"; 58 - version = "2.26.3"; 58 + version = "2.26.4"; 59 59 60 60 src = fetchurl { 61 61 url = "https://www.libsdl.org/release/${pname}-${version}.tar.gz"; 62 - sha256 = "sha256-xmEgWlU7fSUkJfS3Uf8TIJ5eAguHa7+hWYSUr2F5AFc="; 62 + sha256 = "sha256-Gg9oZJj7dorZ8/gLOQN6fQBurAk6rTnLTrzIMqiIcjE="; 63 63 }; 64 64 dontDisableStatic = if withStatic then 1 else 0; 65 65 outputs = [ "out" "dev" ]; ··· 170 170 homepage = "http://www.libsdl.org/"; 171 171 license = licenses.zlib; 172 172 platforms = platforms.all; 173 - maintainers = with maintainers; [ cpages ]; 173 + maintainers = with maintainers; [ cpages superherointj ]; 174 174 }; 175 175 }
+2 -2
pkgs/development/libraries/audio/libopenmpt/default.nix
··· 16 16 17 17 stdenv.mkDerivation rec { 18 18 pname = "libopenmpt"; 19 - version = "0.6.8"; 19 + version = "0.6.9"; 20 20 21 21 outputs = [ "out" "dev" "bin" ]; 22 22 23 23 src = fetchurl { 24 24 url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz"; 25 - sha256 = "HGGLPf8afLaiT0MXVZIPokN1YmgTj/ox09t8YHwsLWk="; 25 + sha256 = "R56XWrt9wPqcrUG90x8lXXjUPgcmVGIIBY08P897blo="; 26 26 }; 27 27 28 28 enableParallelBuilding = true;
+2 -2
pkgs/development/libraries/directx-headers/default.nix
··· 1 1 { lib, stdenv, fetchFromGitHub, meson, ninja }: 2 2 stdenv.mkDerivation rec { 3 3 pname = "directx-headers"; 4 - version = "1.608.2"; 4 + version = "1.608.2b"; 5 5 6 6 src = fetchFromGitHub { 7 7 owner = "microsoft"; 8 8 repo = "DirectX-Headers"; 9 9 rev = "v${version}"; 10 - hash = "sha256-F0riTDJpydqe4yhE9GKSSvnRI0Sl3oY2sOP+H/vDHG0="; 10 + hash = "sha256-o4p8L2VKvMHdu1L2I1JI6pwIRtnyVCoKebg9yKTk1T8="; 11 11 }; 12 12 13 13 nativeBuildInputs = [ meson ninja ];
+19 -20
pkgs/development/libraries/fftw/default.nix
··· 5 5 , perl 6 6 , llvmPackages 7 7 , precision ? "double" 8 - , enableAvx ? stdenv.hostPlatform.avxSupport 9 - , enableAvx2 ? stdenv.hostPlatform.avx2Support 10 - , enableAvx512 ? stdenv.hostPlatform.avx512Support 11 - , enableFma ? stdenv.hostPlatform.fmaSupport 12 8 , enableMpi ? false 13 9 , mpi 14 10 , withDoc ? stdenv.cc.isGNU ··· 40 36 llvmPackages.openmp 41 37 ] ++ lib.optional enableMpi mpi; 42 38 43 - configureFlags = 44 - [ "--enable-shared" 45 - "--enable-threads" 46 - ] 47 - ++ lib.optional (precision != "double") "--enable-${precision}" 48 - # all x86_64 have sse2 49 - # however, not all float sizes fit 50 - ++ lib.optional (stdenv.isx86_64 && (precision == "single" || precision == "double") ) "--enable-sse2" 51 - ++ lib.optional enableAvx "--enable-avx" 52 - ++ lib.optional enableAvx2 "--enable-avx2" 53 - ++ lib.optional enableAvx512 "--enable-avx512" 54 - ++ lib.optional enableFma "--enable-fma" 55 - ++ [ "--enable-openmp" ] 56 - ++ lib.optional enableMpi "--enable-mpi" 57 - # doc generation causes Fortran wrapper generation which hard-codes gcc 58 - ++ lib.optional (!withDoc) "--disable-doc"; 39 + configureFlags = [ 40 + "--enable-shared" 41 + "--enable-threads" 42 + "--enable-openmp" 43 + ] 44 + 45 + ++ lib.optional (precision != "double") "--enable-${precision}" 46 + # https://www.fftw.org/fftw3_doc/SIMD-alignment-and-fftw_005fmalloc.html 47 + # FFTW will try to detect at runtime whether the CPU supports these extensions 48 + ++ lib.optional (stdenv.isx86_64 && (precision == "single" || precision == "double")) 49 + "--enable-sse2 --enable-avx --enable-avx2 --enable-avx512 --enable-avx128-fma" 50 + ++ lib.optional enableMpi "--enable-mpi" 51 + # doc generation causes Fortran wrapper generation which hard-codes gcc 52 + ++ lib.optional (!withDoc) "--disable-doc"; 53 + 54 + # fftw builds with -mtune=native by default 55 + postPatch = '' 56 + substituteInPlace configure --replace "-mtune=native" "-mtune=generic" 57 + ''; 59 58 60 59 enableParallelBuilding = true; 61 60
+5
pkgs/development/libraries/gtk/2.x.nix
··· 68 68 '' else null; 69 69 70 70 configureFlags = [ 71 + "--sysconfdir=/etc" 71 72 "--with-gdktarget=${gdktarget}" 72 73 "--with-xinput=yes" 73 74 ] ++ lib.optionals stdenv.isDarwin [ ··· 77 78 ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 78 79 "ac_cv_path_GTK_UPDATE_ICON_CACHE=${buildPackages.gtk2}/bin/gtk-update-icon-cache" 79 80 "ac_cv_path_GDK_PIXBUF_CSOURCE=${buildPackages.gdk-pixbuf.dev}/bin/gdk-pixbuf-csource" 81 + ]; 82 + 83 + installFlags = [ 84 + "sysconfdir=${placeholder "out"}/etc" 80 85 ]; 81 86 82 87 doCheck = false; # needs X11
+2 -2
pkgs/development/libraries/lcms2/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "lcms2"; 5 - version = "2.13.1"; 5 + version = "2.15"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://sourceforge/lcms/${pname}-${version}.tar.gz"; 9 - sha256 = "sha256-1HPnlueyfFrwG9bRVS1CtFtDRX5xgs6ZA/OLt0ggO4g="; 9 + sha256 = "sha256-sgy8vQ9QNDO+Kk6BRiEG+mEFCjUHTcJKTjVnktlxqzk="; 10 10 }; 11 11 12 12 outputs = [ "bin" "dev" "out" ];
+2 -2
pkgs/development/libraries/libedit/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "libedit"; 5 - version = "20210910-3.1"; 5 + version = "20221030-3.1"; 6 6 7 7 src = fetchurl { 8 8 url = "https://thrysoee.dk/editline/${pname}-${version}.tar.gz"; 9 - sha256 = "sha256-Z5KmqZIFB2LtzKKP8zGM233jfcz3vDDbWfzXAX7tE8U="; 9 + sha256 = "sha256-8JJaWt9LG/EW7hl2a32qdmkXrsGYdHlDscTt9npL4rs="; 10 10 }; 11 11 12 12 outputs = [ "out" "dev" ];
+2 -2
pkgs/development/libraries/libextractor/default.nix
··· 13 13 # ''; 14 14 # See also <https://nixos.org/nixpkgs/manual/#sec-language-gnome>. 15 15 , gtkSupport ? true, glib, gtk3 16 - , videoSupport ? true, ffmpeg, libmpeg2 16 + , videoSupport ? true, ffmpeg_4, libmpeg2 17 17 }: 18 18 19 19 stdenv.mkDerivation rec { ··· 50 50 ] ++ lib.optionals gstreamerSupport 51 51 ([ gst_all_1.gstreamer ] ++ gstPlugins gst_all_1) 52 52 ++ lib.optionals gtkSupport [ glib gtk3 ] 53 - ++ lib.optionals videoSupport [ ffmpeg libmpeg2 ]; 53 + ++ lib.optionals videoSupport [ ffmpeg_4 libmpeg2 ]; 54 54 55 55 configureFlags = [ 56 56 "--disable-ltdl-install"
+37 -53
pkgs/development/libraries/libimagequant/Cargo.lock
··· 10 10 11 11 [[package]] 12 12 name = "ahash" 13 - version = "0.7.6" 13 + version = "0.8.3" 14 14 source = "registry+https://github.com/rust-lang/crates.io-index" 15 - checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" 15 + checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" 16 16 dependencies = [ 17 - "getrandom", 17 + "cfg-if", 18 18 "once_cell", 19 19 "version_check", 20 20 ] ··· 39 39 40 40 [[package]] 41 41 name = "bytemuck" 42 - version = "1.13.0" 42 + version = "1.13.1" 43 43 source = "registry+https://github.com/rust-lang/crates.io-index" 44 - checksum = "c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393" 44 + checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" 45 45 46 46 [[package]] 47 47 name = "c_test" ··· 53 53 54 54 [[package]] 55 55 name = "cc" 56 - version = "1.0.78" 56 + version = "1.0.79" 57 57 source = "registry+https://github.com/rust-lang/crates.io-index" 58 - checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" 58 + checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" 59 59 60 60 [[package]] 61 61 name = "cfg-if" ··· 74 74 75 75 [[package]] 76 76 name = "crossbeam-channel" 77 - version = "0.5.6" 77 + version = "0.5.7" 78 78 source = "registry+https://github.com/rust-lang/crates.io-index" 79 - checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" 79 + checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" 80 80 dependencies = [ 81 81 "cfg-if", 82 82 "crossbeam-utils", ··· 84 84 85 85 [[package]] 86 86 name = "crossbeam-deque" 87 - version = "0.8.2" 87 + version = "0.8.3" 88 88 source = "registry+https://github.com/rust-lang/crates.io-index" 89 - checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" 89 + checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" 90 90 dependencies = [ 91 91 "cfg-if", 92 92 "crossbeam-epoch", ··· 95 95 96 96 [[package]] 97 97 name = "crossbeam-epoch" 98 - version = "0.9.13" 98 + version = "0.9.14" 99 99 source = "registry+https://github.com/rust-lang/crates.io-index" 100 - checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" 100 + checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" 101 101 dependencies = [ 102 102 "autocfg", 103 103 "cfg-if", ··· 108 108 109 109 [[package]] 110 110 name = "crossbeam-utils" 111 - version = "0.8.14" 111 + version = "0.8.15" 112 112 source = "registry+https://github.com/rust-lang/crates.io-index" 113 - checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" 113 + checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" 114 114 dependencies = [ 115 115 "cfg-if", 116 116 ] 117 117 118 118 [[package]] 119 119 name = "either" 120 - version = "1.8.0" 120 + version = "1.8.1" 121 121 source = "registry+https://github.com/rust-lang/crates.io-index" 122 - checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" 122 + checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" 123 123 124 124 [[package]] 125 125 name = "fallible_collections" 126 - version = "0.4.6" 126 + version = "0.4.7" 127 127 source = "registry+https://github.com/rust-lang/crates.io-index" 128 - checksum = "3f57ccc32870366ae684be48b32a1a2e196f98a42a9b4361fe77e13fd4a34755" 128 + checksum = "9acf77205554f3cfeca94a4b910e159ad9824e8c2d164de02b3f12495cc1074d" 129 129 dependencies = [ 130 130 "hashbrown", 131 131 ] ··· 141 141 ] 142 142 143 143 [[package]] 144 - name = "getrandom" 145 - version = "0.2.8" 146 - source = "registry+https://github.com/rust-lang/crates.io-index" 147 - checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" 148 - dependencies = [ 149 - "cfg-if", 150 - "libc", 151 - "wasi", 152 - ] 153 - 154 - [[package]] 155 144 name = "hashbrown" 156 - version = "0.12.3" 145 + version = "0.13.2" 157 146 source = "registry+https://github.com/rust-lang/crates.io-index" 158 - checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 147 + checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" 159 148 dependencies = [ 160 149 "ahash", 161 150 ] ··· 171 160 172 161 [[package]] 173 162 name = "imagequant" 174 - version = "4.1.0" 163 + version = "4.1.1" 175 164 dependencies = [ 176 165 "arrayvec", 177 166 "lodepng", ··· 194 183 195 184 [[package]] 196 185 name = "libc" 197 - version = "0.2.139" 186 + version = "0.2.140" 198 187 source = "registry+https://github.com/rust-lang/crates.io-index" 199 - checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" 188 + checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" 200 189 201 190 [[package]] 202 191 name = "lodepng" ··· 213 202 214 203 [[package]] 215 204 name = "memoffset" 216 - version = "0.7.1" 205 + version = "0.8.0" 217 206 source = "registry+https://github.com/rust-lang/crates.io-index" 218 - checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" 207 + checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" 219 208 dependencies = [ 220 209 "autocfg", 221 210 ] ··· 259 248 260 249 [[package]] 261 250 name = "once_cell" 262 - version = "1.17.0" 251 + version = "1.17.1" 263 252 source = "registry+https://github.com/rust-lang/crates.io-index" 264 - checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" 253 + checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" 265 254 266 255 [[package]] 267 256 name = "rayon" 268 - version = "1.6.1" 257 + version = "1.7.0" 269 258 source = "registry+https://github.com/rust-lang/crates.io-index" 270 - checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" 259 + checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" 271 260 dependencies = [ 272 261 "either", 273 262 "rayon-core", ··· 275 264 276 265 [[package]] 277 266 name = "rayon-core" 278 - version = "1.10.2" 267 + version = "1.11.0" 279 268 source = "registry+https://github.com/rust-lang/crates.io-index" 280 - checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" 269 + checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" 281 270 dependencies = [ 282 271 "crossbeam-channel", 283 272 "crossbeam-deque", ··· 287 276 288 277 [[package]] 289 278 name = "rgb" 290 - version = "0.8.34" 279 + version = "0.8.36" 291 280 source = "registry+https://github.com/rust-lang/crates.io-index" 292 - checksum = "3603b7d71ca82644f79b5a06d1220e9a58ede60bd32255f698cb1af8838b8db3" 281 + checksum = "20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59" 293 282 dependencies = [ 294 283 "bytemuck", 295 284 ] ··· 302 291 303 292 [[package]] 304 293 name = "thread_local" 305 - version = "1.1.4" 294 + version = "1.1.7" 306 295 source = "registry+https://github.com/rust-lang/crates.io-index" 307 - checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" 296 + checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" 308 297 dependencies = [ 298 + "cfg-if", 309 299 "once_cell", 310 300 ] 311 301 ··· 314 304 version = "0.9.4" 315 305 source = "registry+https://github.com/rust-lang/crates.io-index" 316 306 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 317 - 318 - [[package]] 319 - name = "wasi" 320 - version = "0.11.0+wasi-snapshot-preview1" 321 - source = "registry+https://github.com/rust-lang/crates.io-index" 322 - checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+2 -2
pkgs/development/libraries/libimagequant/default.nix
··· 5 5 in 6 6 rustPlatform.buildRustPackage rec { 7 7 pname = "libimagequant"; 8 - version = "4.1.0"; 8 + version = "4.1.1"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "ImageOptim"; 12 12 repo = pname; 13 13 rev = version; 14 - hash = "sha256-W9Q81AbFhWUe6c3csAnm8L5wLqURizrjwqcurWhPISI="; 14 + hash = "sha256-sCxscs4D2p7LNDpcrKfAc315/NbxbQXtsyc33zUmccM="; 15 15 }; 16 16 17 17 cargoLock = {
+3 -2
pkgs/development/libraries/libmbim/default.nix
··· 16 16 17 17 stdenv.mkDerivation rec { 18 18 pname = "libmbim"; 19 - version = "1.28.2"; 19 + version = "1.28.4"; 20 20 21 21 outputs = [ "out" "dev" "man" ]; 22 22 ··· 25 25 owner = "mobile-broadband"; 26 26 repo = "libmbim"; 27 27 rev = version; 28 - hash = "sha256-EtjUaSNBT1e/eeTX4oHzQolGrisbsGKBK8Cfl3rRQTQ="; 28 + hash = "sha256-aaYjvJ2OMTzkUyqWCyHdmsKJ3VGqBmKQzb1DWK/1cPU="; 29 29 }; 30 30 31 31 mesonFlags = [ ··· 58 58 meta = with lib; { 59 59 homepage = "https://www.freedesktop.org/wiki/Software/libmbim/"; 60 60 description = "Library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"; 61 + changelog = "https://gitlab.freedesktop.org/mobile-broadband/libmbim/-/raw/${version}/NEWS"; 61 62 maintainers = teams.freedesktop.members; 62 63 platforms = platforms.linux; 63 64 license = licenses.gpl2Plus;
+2 -2
pkgs/development/libraries/libpcap/default.nix
··· 12 12 13 13 stdenv.mkDerivation rec { 14 14 pname = "libpcap"; 15 - version = "1.10.1"; 15 + version = "1.10.3"; 16 16 17 17 src = fetchurl { 18 18 url = "https://www.tcpdump.org/release/${pname}-${version}.tar.gz"; 19 - sha256 = "sha256-7ShfSsyvBTRPkJdXV7Pb/ncrpB0cQBwmSLf6RbcRvdQ="; 19 + sha256 = "sha256-KoiFxANRbPewkz7UsU1sqjDgIFJInr1BTcdaxS51WeY="; 20 20 }; 21 21 22 22 buildInputs = lib.optionals withRemote [ libxcrypt ];
+2 -2
pkgs/development/libraries/libqtav/default.nix
··· 10 10 , libX11 11 11 , libass 12 12 , openal 13 - , ffmpeg 13 + , ffmpeg_4 14 14 , libuchardet 15 15 , alsa-lib 16 16 , libpulseaudio ··· 30 30 libX11 31 31 libass 32 32 openal 33 - ffmpeg 33 + ffmpeg_4 34 34 libuchardet 35 35 alsa-lib 36 36 libpulseaudio
+3 -2
pkgs/development/libraries/liburcu/default.nix
··· 1 1 { lib, stdenv, fetchurl, perl }: 2 2 3 3 stdenv.mkDerivation rec { 4 - version = "0.13.2"; 4 + version = "0.14.0"; 5 5 pname = "liburcu"; 6 6 7 7 src = fetchurl { 8 8 url = "https://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2"; 9 - sha256 = "sha256-EhP9nxsLdNp94rt0M1t2CY25c4/sXTzcB8DFJPNPwDI="; 9 + sha256 = "sha256-ykO/Jh1NOSz/IN+uRAg2YDvwCfziT9ybJpfYN6IjnU8="; 10 10 }; 11 11 12 12 nativeCheckInputs = [ perl ]; ··· 17 17 meta = with lib; { 18 18 description = "Userspace RCU (read-copy-update) library"; 19 19 homepage = "https://lttng.org/urcu"; 20 + changelog = "https://github.com/urcu/userspace-rcu/raw/v${version}/ChangeLog"; 20 21 license = licenses.lgpl21Plus; 21 22 platforms = platforms.unix; 22 23 maintainers = [ maintainers.bjornfor ];
+2 -2
pkgs/development/libraries/libwpe/default.nix
··· 12 12 13 13 stdenv.mkDerivation rec { 14 14 pname = "libwpe"; 15 - version = "1.14.0"; 15 + version = "1.14.1"; 16 16 17 17 src = fetchurl { 18 18 url = "https://wpewebkit.org/releases/libwpe-${version}.tar.xz"; 19 - sha256 = "wHMwW7rF9EAswcikdTv6PWOkCJAfhhggUeqlp13YnAA="; 19 + sha256 = "sha256-sdDNzw+Nu0lOZbD3kT41cQbamg1X9Pu3udEjim2+mt4="; 20 20 }; 21 21 22 22 nativeBuildInputs = [
+16 -3
pkgs/development/libraries/libxcrypt/default.nix
··· 15 15 ]; 16 16 17 17 configureFlags = [ 18 - "--enable-hashes=all" 18 + # Update the enabled crypt scheme ids in passthru when the enabled hashes change 19 + "--enable-hashes=strong" 19 20 "--enable-obsolete-api=glibc" 20 21 "--disable-failure-tokens" 21 22 ] ++ lib.optionals (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.libc == "bionic") [ ··· 30 31 31 32 doCheck = true; 32 33 33 - passthru.tests = { 34 - inherit (nixosTests) login shadow; 34 + passthru = { 35 + tests = { 36 + inherit (nixosTests) login shadow; 37 + }; 38 + enabledCryptSchemeIds = [ 39 + # https://github.com/besser82/libxcrypt/blob/v4.4.33/lib/hashes.conf 40 + "y" # yescrypt 41 + "gy" # gost_yescrypt 42 + "7" # scrypt 43 + "2b" # bcrypt 44 + "2y" # bcrypt_y 45 + "2a" # bcrypt_a 46 + "6" # sha512crypt 47 + ]; 35 48 }; 36 49 37 50 meta = with lib; {
+2 -2
pkgs/development/libraries/mediastreamer/default.nix
··· 2 2 , bzrtp 3 3 , cmake 4 4 , fetchFromGitLab 5 - , ffmpeg 5 + , ffmpeg_4 6 6 , glew 7 7 , gsm 8 8 , lib ··· 58 58 bzrtp 59 59 ortp 60 60 61 - ffmpeg 61 + ffmpeg_4 62 62 glew 63 63 libX11 64 64 libXext
+3 -4
pkgs/development/libraries/mesa/default.nix
··· 10 10 if stdenv.isLinux then 11 11 [ 12 12 "d3d12" # WSL emulated GPU (aka Dozen) 13 - "kmsro" # helper driver for display-only devices 14 13 "nouveau" # Nvidia 15 14 "radeonsi" # new AMD (GCN+) 16 15 "r300" # very old AMD ··· 19 18 "svga" # VMWare virtualized GPU 20 19 "virgl" # QEMU virtualized GPU (aka VirGL) 21 20 "zink" # generic OpenGL over Vulkan, experimental 22 - ] 23 - ++ lib.optionals stdenv.isAarch64 [ 21 + ] ++ lib.optionals (stdenv.isAarch64 || stdenv.isAarch32) [ 24 22 "etnaviv" # Vivante GPU designs (mostly NXP/Marvell SoCs) 25 23 "freedreno" # Qualcomm Adreno (all Qualcomm SoCs) 26 24 "lima" # ARM Mali 4xx 27 25 "panfrost" # ARM Mali Midgard and up (T/G series) 26 + "vc4" # Broadcom VC4 (Raspberry Pi 0-3) 27 + ] ++ lib.optionals stdenv.isAarch64 [ 28 28 "tegra" # Nvidia Tegra SoCs 29 29 "v3d" # Broadcom VC5 (Raspberry Pi 4) 30 - "vc4" # Broadcom VC4 (Raspberry Pi 0-3) 31 30 ] ++ lib.optionals stdenv.hostPlatform.isx86 [ 32 31 "iris" # new Intel, could work on non-x86 with PCIe cards, but doesn't build as of 22.3.4 33 32 "crocus" # Intel legacy, x86 only
+1
pkgs/development/libraries/ncurses/default.nix
··· 53 53 # Only the C compiler, and explicitly not C++ compiler needs this flag on solaris: 54 54 CFLAGS = lib.optionalString stdenv.isSunOS "-D_XOPEN_SOURCE_EXTENDED"; 55 55 56 + strictDeps = true; 56 57 depsBuildBuild = [ 57 58 buildPackages.stdenv.cc 58 59 ];
+1
pkgs/development/libraries/openhmd/default.nix
··· 60 60 license = licenses.boost; 61 61 maintainers = with maintainers; [ oxij ]; 62 62 platforms = platforms.unix; 63 + broken = true; 63 64 }; 64 65 }
+2 -2
pkgs/development/libraries/pangolin/default.nix
··· 1 1 { stdenv, lib, fetchFromGitHub, cmake, pkg-config, doxygen, libGL, glew 2 - , xorg, ffmpeg, libjpeg, libpng, libtiff, eigen 2 + , xorg, ffmpeg_4, libjpeg, libpng, libtiff, eigen 3 3 , Carbon ? null, Cocoa ? null 4 4 }: 5 5 ··· 21 21 libGL 22 22 glew 23 23 xorg.libX11 24 - ffmpeg 24 + ffmpeg_4 25 25 libjpeg 26 26 libpng 27 27 libtiff
+6 -39
pkgs/development/libraries/pipewire/default.nix
··· 63 63 , xorg 64 64 , mysofaSupport ? true 65 65 , libmysofa 66 + , tinycompress 66 67 }: 67 68 68 69 let ··· 70 71 71 72 self = stdenv.mkDerivation rec { 72 73 pname = "pipewire"; 73 - version = "0.3.66"; 74 + version = "0.3.67"; 74 75 75 76 outputs = [ 76 77 "out" ··· 88 89 owner = "pipewire"; 89 90 repo = "pipewire"; 90 91 rev = version; 91 - sha256 = "sha256-qx4mgNRhMdha+8ap+FhVfxpsHE9TcTx29uwQIHLyMHA="; 92 + sha256 = "sha256-YM1WOv/SqaGnYevwoFxoOQhF6loFVx/fVPHQY3mpaH0="; 92 93 }; 93 94 94 95 patches = [ ··· 132 133 vulkan-headers 133 134 vulkan-loader 134 135 webrtc-audio-processing 136 + tinycompress 135 137 ] ++ (if enableSystemd then [ systemd ] else [ eudev ]) 136 138 ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ] 137 139 ++ lib.optionals libcameraSupport [ libcamera libdrm ] ··· 180 182 "-Dlibmysofa=${mesonEnableFeature mysofaSupport}" 181 183 "-Dsdl2=disabled" # required only to build examples, causes dependency loop 182 184 "-Drlimits-install=false" # installs to /etc, we won't use this anyway 185 + "-Dcompress-offload=enabled" 183 186 ]; 184 187 185 188 # Fontconfig error: Cannot load default config file ··· 193 196 ''; 194 197 195 198 postInstall = '' 196 - mkdir $out/nix-support 197 - ${if (stdenv.hostPlatform == stdenv.buildPlatform) then '' 198 - pushd $lib/share/pipewire 199 - for f in *.conf; do 200 - echo "Generating JSON from $f" 201 - 202 - $out/bin/spa-json-dump "$f" > "$out/nix-support/$f.json" 203 - done 204 - popd 205 - '' else '' 206 - cp ${buildPackages.pipewire}/nix-support/*.json "$out/nix-support" 207 - ''} 208 - 209 199 ${lib.optionalString enableSystemd '' 210 200 moveToOutput "share/systemd/user/pipewire-pulse.*" "$pulse" 211 201 moveToOutput "lib/systemd/user/pipewire-pulse.*" "$pulse" ··· 216 206 moveToOutput "bin/pw-jack" "$jack" 217 207 ''; 218 208 219 - passthru = { 220 - updateScript = ./update-pipewire.sh; 221 - tests = { 222 - installedTests = nixosTests.installed-tests.pipewire; 223 - 224 - # This ensures that all the paths used by the NixOS module are found. 225 - test-paths = callPackage ./test-paths.nix { package = self; } { 226 - paths-out = [ 227 - "share/alsa/alsa.conf.d/50-pipewire.conf" 228 - "nix-support/client-rt.conf.json" 229 - "nix-support/client.conf.json" 230 - "nix-support/jack.conf.json" 231 - "nix-support/minimal.conf.json" 232 - "nix-support/pipewire.conf.json" 233 - "nix-support/pipewire-aes67.conf.json" 234 - "nix-support/pipewire-pulse.conf.json" 235 - ]; 236 - paths-lib = [ 237 - "lib/alsa-lib/libasound_module_pcm_pipewire.so" 238 - "share/alsa-card-profile/mixer" 239 - ]; 240 - }; 241 - }; 242 - }; 209 + passthru.tests = nixosTests.installed-tests.pipewire; 243 210 244 211 meta = with lib; { 245 212 description = "Server and user space API to deal with multimedia pipelines";
-109
pkgs/development/libraries/pipewire/media-session.nix
··· 1 - { stdenv 2 - , lib 3 - , fetchFromGitLab 4 - , fetchpatch 5 - , meson 6 - , ninja 7 - , pkg-config 8 - , doxygen 9 - , graphviz 10 - , systemd 11 - , pipewire 12 - , glib 13 - , dbus 14 - , alsa-lib 15 - , callPackage 16 - }: 17 - 18 - let 19 - mesonEnable = b: if b then "enabled" else "disabled"; 20 - mesonList = l: "[" + lib.concatStringsSep "," l + "]"; 21 - 22 - self = stdenv.mkDerivation rec { 23 - pname = "pipewire-media-session"; 24 - version = "0.4.1"; 25 - 26 - src = fetchFromGitLab { 27 - domain = "gitlab.freedesktop.org"; 28 - owner = "pipewire"; 29 - repo = "media-session"; 30 - rev = version; 31 - sha256 = "sha256-e537gTkiNYMz2YJrOff/MXYWVDgHZDkqkSn8Qh+7Wr4="; 32 - }; 33 - 34 - patches = [ 35 - # Fix `ERROR: Tried to access unknown option "session-managers".` 36 - (fetchpatch { 37 - url = "https://gitlab.freedesktop.org/pipewire/media-session/-/commit/dfa740175c83e1cd0d815ad423f90872de566437.diff"; 38 - sha256 = "01rfwq8ipm8wyv98rxal1s5zrkf0pn9hgrngiq2wdbwj6vjdnr1h"; 39 - }) 40 - # Fix attempt to put system service units into pkgs.systemd. 41 - (fetchpatch { 42 - url = "https://gitlab.freedesktop.org/pipewire/media-session/-/commit/2ff6b0baec7325dde229013b9d37c93f8bc7edee.diff"; 43 - sha256 = "18gg7ca04ihl4ylnw78wdyrbvg66m8w43gg0wp258x4nv95gpps2"; 44 - }) 45 - ]; 46 - 47 - nativeBuildInputs = [ 48 - doxygen 49 - graphviz 50 - meson 51 - ninja 52 - pkg-config 53 - ]; 54 - 55 - buildInputs = [ 56 - alsa-lib 57 - dbus 58 - glib 59 - pipewire 60 - systemd 61 - ]; 62 - 63 - mesonFlags = [ 64 - "-Ddocs=enabled" 65 - "-Dsystemd-system-service=enabled" 66 - # We generate these empty files from the nixos module, don't bother installing them 67 - "-Dwith-module-sets=[]" 68 - ]; 69 - 70 - postUnpack = '' 71 - patchShebangs source/doc/input-filter-h.sh 72 - patchShebangs source/doc/input-filter.sh 73 - ''; 74 - 75 - postInstall = '' 76 - mkdir $out/nix-support 77 - cd $out/share/pipewire/media-session.d 78 - for f in *.conf; do 79 - echo "Generating JSON from $f" 80 - ${pipewire}/bin/spa-json-dump "$f" > "$out/nix-support/$f.json" 81 - done 82 - ''; 83 - 84 - passthru = { 85 - updateScript = ./update-media-session.sh; 86 - tests = { 87 - test-paths = callPackage ./test-paths.nix { package = self; } { 88 - paths-out = [ 89 - "nix-support/alsa-monitor.conf.json" 90 - "nix-support/bluez-monitor.conf.json" 91 - "nix-support/media-session.conf.json" 92 - "nix-support/v4l2-monitor.conf.json" 93 - ]; 94 - paths-lib = []; 95 - }; 96 - }; 97 - }; 98 - 99 - meta = with lib; { 100 - description = "Example session manager for PipeWire"; 101 - homepage = "https://pipewire.org"; 102 - license = licenses.mit; 103 - platforms = platforms.linux; 104 - maintainers = with maintainers; [ jtojnar kranzes ]; 105 - }; 106 - }; 107 - 108 - in 109 - self
-23
pkgs/development/libraries/pipewire/test-paths.nix
··· 1 - { lib, runCommand, package, paths-out, paths-lib }: 2 - 3 - let 4 - check-path = output: path: '' 5 - if [[ ! -f "${output}/${path}" && ! -d "${output}/${path}" ]]; then 6 - printf "Missing: %s\n" "${output}/${path}" | tee -a $out 7 - error=error 8 - else 9 - printf "Found: %s\n" "${output}/${path}" | tee -a $out 10 - fi 11 - ''; 12 - 13 - check-output = output: lib.concatMapStringsSep "\n" (check-path output); 14 - in runCommand "pipewire-test-paths" { } '' 15 - touch $out 16 - 17 - ${check-output package.lib paths-lib} 18 - ${check-output package paths-out} 19 - 20 - if [[ -n "$error" ]]; then 21 - exit 1 22 - fi 23 - ''
-24
pkgs/development/libraries/pipewire/update-media-session.sh
··· 1 - #!/usr/bin/env nix-shell 2 - #!nix-shell -p nix-update -i bash 3 - # shellcheck shell=bash 4 - 5 - set -o errexit -o pipefail -o nounset -o errtrace 6 - shopt -s inherit_errexit 7 - shopt -s nullglob 8 - IFS=$'\n' 9 - 10 - NIXPKGS_ROOT="$(git rev-parse --show-toplevel)" 11 - 12 - cd "$NIXPKGS_ROOT" 13 - nix-update pipewire-media-session 14 - outputs=$(nix-build . -A pipewire-media-session) 15 - for p in $outputs; do 16 - conf_files=$(find "$p/nix-support/" -name '*.conf.json') 17 - for c in $conf_files; do 18 - file_name=$(basename "$c") 19 - if [[ ! -e "nixos/modules/services/desktops/pipewire/media-session/$file_name" ]]; then 20 - echo "New file $file_name found! Add it to the module config and passthru tests!" 21 - fi 22 - install -m 0644 "$c" "nixos/modules/services/desktops/pipewire/media-session/" 23 - done 24 - done
-25
pkgs/development/libraries/pipewire/update-pipewire.sh
··· 1 - #!/usr/bin/env nix-shell 2 - #!nix-shell -p nix-update -i bash 3 - # shellcheck shell=bash 4 - 5 - set -o errexit -o pipefail -o nounset -o errtrace 6 - shopt -s inherit_errexit 7 - shopt -s nullglob 8 - IFS=$'\n' 9 - 10 - NIXPKGS_ROOT="$(git rev-parse --show-toplevel)" 11 - 12 - cd "$NIXPKGS_ROOT" 13 - nix-update pipewire 14 - outputs=$(nix-build . -A pipewire) 15 - for p in $outputs; do 16 - conf_files=$(find "$p/nix-support/" -name '*.conf.json') 17 - for c in $conf_files; do 18 - file_name=$(basename "$c") 19 - if [[ ! -e "nixos/modules/services/desktops/pipewire/daemon/$file_name" ]]; then 20 - echo "New file $file_name found! Add it to the module config and passthru tests!" 21 - fi 22 - install -m 0644 "$c" "nixos/modules/services/desktops/pipewire/daemon/" 23 - done 24 - done 25 -
+5
pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh
··· 8 8 echo "qmake4Hook: enabled parallel building" 9 9 fi 10 10 11 + if ! [[ -v enableParallelInstalling ]]; then 12 + enableParallelInstalling=1 13 + echo "qmake: enabled parallel installing" 14 + fi 15 + 11 16 runHook postConfigure 12 17 } 13 18
+5
pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
··· 38 38 echo "qmake: enabled parallel building" 39 39 fi 40 40 41 + if ! [[ -v enableParallelInstalling ]]; then 42 + enableParallelInstalling=1 43 + echo "qmake: enabled parallel installing" 44 + fi 45 + 41 46 runHook postConfigure 42 47 } 43 48
+5
pkgs/development/libraries/qt-6/hooks/qmake-hook.sh
··· 40 40 echo "qmake: enabled parallel building" 41 41 fi 42 42 43 + if ! [[ -v enableParallelInstalling ]]; then 44 + enableParallelInstalling=1 45 + echo "qmake: enabled parallel installing" 46 + fi 47 + 43 48 runHook postConfigure 44 49 } 45 50
+2 -1
pkgs/development/libraries/readline/6.3.nix
··· 11 11 12 12 outputs = [ "out" "dev" "man" "doc" "info" ]; 13 13 14 - propagatedBuildInputs = [ncurses]; 14 + strictDeps = true; 15 + propagatedBuildInputs = [ ncurses ]; 15 16 16 17 patchFlags = [ "-p0" ]; 17 18
+2 -1
pkgs/development/libraries/readline/7.0.nix
··· 12 12 13 13 outputs = [ "out" "dev" "man" "doc" "info" ]; 14 14 15 - propagatedBuildInputs = [ncurses]; 15 + strictDeps = true; 16 + propagatedBuildInputs = [ ncurses ]; 16 17 17 18 patchFlags = [ "-p0" ]; 18 19
+2 -1
pkgs/development/libraries/readline/8.2.nix
··· 12 12 13 13 outputs = [ "out" "dev" "man" "doc" "info" ]; 14 14 15 - propagatedBuildInputs = [ncurses]; 15 + strictDeps = true; 16 + propagatedBuildInputs = [ ncurses ]; 16 17 17 18 patchFlags = [ "-p0" ]; 18 19
+2 -1
pkgs/development/libraries/science/math/openblas/default.nix
··· 183 183 FC = "${stdenv.cc.targetPrefix}gfortran"; 184 184 CC = "${stdenv.cc.targetPrefix}${if stdenv.cc.isClang then "clang" else "cc"}"; 185 185 PREFIX = placeholder "out"; 186 + OPENBLAS_INCLUDE_DIR = "${placeholder "dev"}/include"; 186 187 NUM_THREADS = 64; 187 188 INTERFACE64 = blas64; 188 189 NO_STATIC = !enableStatic; ··· 218 219 Name: $alias 219 220 Version: ${version} 220 221 Description: $alias provided by the OpenBLAS package. 221 - Cflags: -I$out/include 222 + Cflags: -I$dev/include 222 223 Libs: -L$out/lib -lopenblas 223 224 EOF 224 225 done
+5 -7
pkgs/development/libraries/snappy/default.nix
··· 5 5 6 6 stdenv.mkDerivation rec { 7 7 pname = "snappy"; 8 - version = "1.1.9"; 8 + version = "1.1.10"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "google"; 12 12 repo = "snappy"; 13 13 rev = version; 14 - sha256 = "sha256-JXWl63KVP+CDNWIXYtz+EKqWLJbPKl3ifhr8dKAp/w8="; 14 + hash = "sha256-wYZkKVDXKCugycx/ZYhjV0BjM/NrEM0R6A4WFhs/WPU="; 15 15 }; 16 16 17 17 patches = [ 18 - (fetchpatch { 19 - name = "clang-7-compat.patch"; 20 - url = "https://github.com/google/snappy/pull/142/commits/658cb2fcf67b626fff2122a3dbf7a3560c58f7ee.patch"; 21 - sha256 = "1kg3lxjwmhc7gjx36nylilnf444ddbnr3px1wpvyc6l1nh6zh4al"; 22 - }) 23 18 # Re-enable RTTI, without which other applications can't subclass 24 19 # snappy::Source (this breaks Ceph, as one example) 25 20 # https://tracker.ceph.com/issues/53060 ··· 33 28 outputs = [ "out" "dev" ]; 34 29 35 30 nativeBuildInputs = [ cmake ]; 31 + 32 + # See https://github.com/NixOS/nixpkgs/pull/219778#issuecomment-1464884412. 33 + env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isAarch64 && stdenv.isDarwin) "-Wno-sign-compare"; 36 34 37 35 cmakeFlags = [ 38 36 "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}"
+14 -18
pkgs/development/libraries/spandsp/3.nix
··· 1 - { lib, stdenv, fetchFromGitHub, audiofile, libtiff, autoreconfHook }: 2 - stdenv.mkDerivation rec { 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , audiofile 5 + , libtiff 6 + , autoreconfHook 7 + , fetchpatch 8 + , buildPackages 9 + , callPackage 10 + }: 11 + 12 + (callPackage ./common.nix {}).overrideAttrs(finalAttrs: { 3 13 version = "3.0.0"; 4 - pname = "spandsp"; 5 14 src = fetchFromGitHub { 6 15 owner = "freeswitch"; 7 - repo = pname; 16 + repo = finalAttrs.pname; 8 17 rev = "6ec23e5a7e411a22d59e5678d12c4d2942c4a4b6"; # upstream does not seem to believe in tags 9 18 sha256 = "03w0s99y3zibi5fnvn8lk92dggfgrr0mz5255745jfbz28b2d5y7"; 10 19 }; 11 - 12 - outputs = [ "out" "dev" ]; 13 - 14 - nativeBuildInputs = [ autoreconfHook ]; 15 - propagatedBuildInputs = [ audiofile libtiff ]; 16 - 17 - meta = { 18 - description = "A portable and modular SIP User-Agent with audio and video support"; 19 - homepage = "https://github.com/freeswitch/spandsp"; 20 - platforms = with lib.platforms; unix; 21 - maintainers = with lib.maintainers; [ ajs124 misuzu ]; 22 - license = lib.licenses.gpl2; 23 - }; 24 - } 20 + })
+52
pkgs/development/libraries/spandsp/common.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchurl 4 + , audiofile 5 + , libtiff 6 + , buildPackages 7 + , fetchpatch 8 + , autoreconfHook 9 + }: 10 + 11 + stdenv.mkDerivation (finalAttrs: { 12 + pname = "spandsp"; 13 + 14 + patches = [ 15 + # submitted upstream: https://github.com/freeswitch/spandsp/pull/47 16 + (fetchpatch { 17 + url = "https://github.com/freeswitch/spandsp/commit/1f810894804d3fa61ab3fc2f3feb0599145a3436.patch"; 18 + hash = "sha256-Cf8aaoriAvchh5cMb75yP2gsZbZaOLha/j5mq3xlkVA="; 19 + }) 20 + ]; 21 + 22 + outputs = [ "out" "dev" ]; 23 + 24 + nativeBuildInputs = [ autoreconfHook ]; 25 + depsBuildBuild = [ buildPackages.stdenv.cc ]; 26 + propagatedBuildInputs = [ audiofile libtiff ]; 27 + 28 + configureFlags = [ 29 + # This flag is required to prevent linking error in the cross-compilation case. 30 + # I think it's fair to assume that realloc(NULL, size) will return a valid memory 31 + # block for most libc implementation, so let's just assume that and hope for the best. 32 + "ac_cv_func_malloc_0_nonnull=yes" 33 + ]; 34 + 35 + enableParallelBuilding = true; 36 + 37 + makeFlags = [ 38 + "CC=${stdenv.cc.targetPrefix}cc" 39 + "CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/cc" 40 + ]; 41 + 42 + strictDeps = true; 43 + 44 + meta = { 45 + description = "A portable and modular SIP User-Agent with audio and video support"; 46 + homepage = "https://github.com/freeswitch/spandsp"; 47 + platforms = with lib.platforms; unix; 48 + maintainers = with lib.maintainers; [ ajs124 misuzu ]; 49 + license = lib.licenses.gpl2; 50 + downloadPage = "http://www.soft-switch.org/downloads/spandsp/"; 51 + }; 52 + })
+14 -30
pkgs/development/libraries/spandsp/default.nix
··· 1 - { lib, stdenv, fetchurl, audiofile, libtiff, buildPackages }: 2 - stdenv.mkDerivation rec { 1 + { lib 2 + , stdenv 3 + , fetchurl 4 + , audiofile 5 + , libtiff 6 + , buildPackages 7 + , fetchpatch 8 + , autoreconfHook 9 + , callPackage 10 + }: 11 + 12 + (callPackage ./common.nix {}).overrideAttrs(_: rec { 3 13 version = "0.0.6"; 4 - pname = "spandsp"; 5 - src=fetchurl { 14 + src = fetchurl { 6 15 url = "https://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz"; 7 16 sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc"; 8 17 }; 9 - 10 - outputs = [ "out" "dev" ]; 11 - makeFlags = [ 12 - "CC=${stdenv.cc.targetPrefix}cc" 13 - "CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/cc" 14 - ]; 15 - 16 - configureFlags = [ 17 - # This flag is required to prevent linking error in the cross-compilation case. 18 - # I think it's fair to assume that realloc(NULL, size) will return a valid memory 19 - # block for most libc implementation, so let's just assume that and hope for the best. 20 - "ac_cv_func_malloc_0_nonnull=yes" 21 - ]; 22 - 23 - strictDeps = true; 24 - depsBuildBuild = [ buildPackages.stdenv.cc ]; 25 - propagatedBuildInputs = [audiofile libtiff]; 26 - meta = { 27 - description = "A portable and modular SIP User-Agent with audio and video support"; 28 - homepage = "http://www.creytiv.com/baresip.html"; 29 - platforms = with lib.platforms; linux; 30 - maintainers = with lib.maintainers; [raskin]; 31 - license = lib.licenses.gpl2; 32 - downloadPage = "http://www.soft-switch.org/downloads/spandsp/"; 33 - }; 34 - } 18 + })
+2 -2
pkgs/development/libraries/sqlite/default.nix
··· 15 15 16 16 stdenv.mkDerivation rec { 17 17 pname = "sqlite${lib.optionalString interactive "-interactive"}"; 18 - version = "3.41.0"; 18 + version = "3.41.1"; 19 19 20 20 # nixpkgs-update: no auto update 21 21 # NB! Make sure to update ./tools.nix src (in the same directory). 22 22 src = fetchurl { 23 23 url = "https://sqlite.org/2023/sqlite-autoconf-${archiveVersion version}.tar.gz"; 24 - hash = "sha256-Sfd6xT/Zql1zlfJJnLgWQQ5WIZhKEhuFjMygUxCwXHA="; 24 + hash = "sha256-Ta376rn44WxpXU+7xRwWsvd/uX/0wcPROZGd/AOMnjM="; 25 25 }; 26 26 27 27 outputs = [ "bin" "dev" "out" ];
+2 -2
pkgs/development/libraries/sqlite/tools.nix
··· 4 4 archiveVersion = import ./archive-version.nix lib; 5 5 mkTool = { pname, makeTarget, description, homepage, mainProgram }: stdenv.mkDerivation rec { 6 6 inherit pname; 7 - version = "3.41.0"; 7 + version = "3.41.1"; 8 8 9 9 # nixpkgs-update: no auto update 10 10 src = assert version == sqlite.version; fetchurl { 11 11 url = "https://sqlite.org/2023/sqlite-src-${archiveVersion version}.zip"; 12 - hash = "sha256-ZKdjijXoa5kfDBWujigwBjtpSygGi491lTWOMgWp62Y="; 12 + hash = "sha256-25KQEvkAnn8Hlg5/AX6DLYeJop9LIDBxtP15Ip59eiA="; 13 13 }; 14 14 15 15 nativeBuildInputs = [ unzip ];
+22
pkgs/development/libraries/tinycompress/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchurl 4 + }: 5 + 6 + stdenv.mkDerivation rec { 7 + pname = "tinycompress"; 8 + version = "1.2.8"; 9 + 10 + src = fetchurl { 11 + url = "mirror://alsa/tinycompress/${pname}-${version}.tar.bz2"; 12 + hash = "sha256-L4l+URLNO8pnkLXOz9puBmLIvF7g+6uXKyR6DMYg1mw="; 13 + }; 14 + 15 + meta = with lib; { 16 + homepage = "http://www.alsa-project.org/"; 17 + description = "a userspace library for anyone who wants to use the ALSA compressed APIs"; 18 + license = licenses.bsd3; 19 + platforms = platforms.linux; 20 + maintainers = with maintainers; [ k900 ]; 21 + }; 22 + }
+6
pkgs/development/libraries/tracker/default.nix
··· 44 44 patchShebangs utils/data-generators/cc/generate 45 45 ''; 46 46 47 + strictDeps = true; 48 + 47 49 depsBuildBuild = [ 48 50 pkg-config 49 51 ]; ··· 77 79 dbus 78 80 ] ++ lib.optionals stdenv.isLinux [ 79 81 systemd 82 + ]; 83 + 84 + nativeCheckInputs = [ 85 + dbus 80 86 ]; 81 87 82 88 mesonFlags = [
+2 -8
pkgs/development/libraries/xine-lib/default.nix
··· 5 5 , aalib 6 6 , alsa-lib 7 7 , autoconf 8 - , ffmpeg 8 + , ffmpeg_4 9 9 , flac 10 10 , libGL 11 11 , libGLU ··· 42 42 url = "https://raw.githubusercontent.com/archlinux/svntogit-community/209ae10d59d29c13633b75aa327cf937f3ff0725/trunk/010-xine-lib-libcaca-0.99.beta20-fix.patch"; 43 43 sha256 = "088141x1yp84y09x3s01v21yzas2bwavxz9v30z5hyq6c3syrmgr"; 44 44 }) 45 - # Fix build with ffmpeg 5.0 ; remove for xine-lib 1.2.12 46 - (fetchpatch { 47 - name = "xine-lib-ffmpeg-5.0-fix.patch"; 48 - url = "https://raw.githubusercontent.com/archlinux/svntogit-community/209ae10d59d29c13633b75aa327cf937f3ff0725/trunk/020-xine-lib-ffmpeg-5.0-fix.patch"; 49 - sha256 = "15ff15bqxq1nqqazfbmfq6swrdjr2raxyq7hx6k0r61izhf0g8ld"; 50 - }) 51 45 ]; 52 46 53 47 nativeBuildInputs = [ ··· 58 52 buildInputs = [ 59 53 aalib 60 54 alsa-lib 61 - ffmpeg 55 + ffmpeg_4 # xine-lib 1.2.12 should support ffmpeg_5 62 56 flac 63 57 libGL 64 58 libGLU
+2 -2
pkgs/development/octave-modules/video/default.nix
··· 3 3 , lib 4 4 , fetchurl 5 5 , pkg-config 6 - , ffmpeg 6 + , ffmpeg_4 7 7 }: 8 8 9 9 buildOctavePackage rec { ··· 20 20 ]; 21 21 22 22 propagatedBuildInputs = [ 23 - ffmpeg 23 + ffmpeg_4 24 24 ]; 25 25 26 26 meta = with lib; {
+1
pkgs/development/python-modules/apache-beam/default.nix
··· 207 207 homepage = "https://beam.apache.org/"; 208 208 license = licenses.asl20; 209 209 maintainers = with maintainers; [ ndl ]; 210 + broken = true; 210 211 }; 211 212 }
+15 -7
pkgs/development/python-modules/appnope/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 - , fetchPypi 3 + , fetchFromGitHub 4 + , pytestCheckHook 4 5 }: 5 6 6 7 buildPythonPackage rec { 7 8 pname = "appnope"; 8 9 version = "0.1.3"; 9 10 10 - src = fetchPypi { 11 - inherit pname version; 12 - hash = "sha256-Ar2RxN6Gn7seHFCq/ECYgnp6VKsvOdncumyVR+2SDiQ="; 11 + src = fetchFromGitHub { 12 + owner = "minrk"; 13 + repo = "appnope"; 14 + rev = version; 15 + hash = "sha256-JYzNOPD1ofOrtZK5TTKxbF1ausmczsltR7F1Vwss8Sw="; 13 16 }; 14 17 18 + checkInputs = [ 19 + pytestCheckHook 20 + ]; 21 + 15 22 meta = { 16 23 description = "Disable App Nap on macOS"; 17 - homepage = "https://pypi.python.org/pypi/appnope"; 18 - platforms = lib.platforms.darwin; 19 - license = lib.licenses.bsd3; 24 + homepage = "https://github.com/minrk/appnope"; 25 + license = lib.licenses.bsd3; 26 + maintainers = with lib.maintainers; [ OPNA2608 ]; 27 + # Not Darwin-specific because dummy fallback may be used cross-platform 20 28 }; 21 29 }
+33 -3
pkgs/development/python-modules/babel/default.nix
··· 1 - { stdenv, lib, buildPythonPackage, fetchPypi, pythonOlder, pytz, pytestCheckHook, freezegun }: 1 + { lib 2 + , buildPythonPackage 3 + , fetchPypi 4 + , pythonAtLeast 5 + , pythonOlder 6 + 7 + # tests 8 + , freezegun 9 + , pytestCheckHook 10 + , pytz 11 + }: 2 12 3 13 buildPythonPackage rec { 4 14 pname = "babel"; 5 15 version = "2.12.1"; 16 + format = "setuptools"; 17 + 6 18 disabled = pythonOlder "3.7"; 7 19 8 20 src = fetchPypi { ··· 11 23 hash = "sha256-zC2ZmZzQHURCCuclohyeNxGzqtx5dtYUf2IthYGWNFU="; 12 24 }; 13 25 14 - propagatedBuildInputs = lib.optional (pythonOlder "3.9") pytz; 26 + propagatedBuildInputs = lib.optionals (pythonOlder "3.9") [ 27 + pytz 28 + ]; 15 29 16 - nativeCheckInputs = [ pytestCheckHook freezegun ]; 30 + # including backports.zoneinfo for python<3.9 yields infinite recursion 31 + doCheck = pythonAtLeast "3.9"; 32 + 33 + nativeCheckInputs = [ 34 + # via setup.py 35 + freezegun 36 + pytestCheckHook 37 + # via tox.ini 38 + pytz 39 + ]; 40 + 41 + disabledTests = [ 42 + # fails on days switching from and to daylight saving time in EST 43 + # https://github.com/python-babel/babel/issues/988 44 + "test_format_time" 45 + ]; 17 46 18 47 meta = with lib; { 19 48 homepage = "https://babel.pocoo.org/"; 49 + changelog = "https://github.com/python-babel/babel/releases/tag/v${version}"; 20 50 description = "Collection of internationalizing tools"; 21 51 license = licenses.bsd3; 22 52 maintainers = with maintainers; [ SuperSandro2000 ];
+2 -2
pkgs/development/python-modules/ffmpeg-python/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 3 , fetchFromGitHub 4 - , ffmpeg 4 + , ffmpeg_4 5 5 , future 6 6 , pytest-mock 7 7 , pytestCheckHook ··· 36 36 patches = [ 37 37 (substituteAll { 38 38 src = ./ffmpeg-location.patch; 39 - inherit ffmpeg; 39 + ffmpeg = ffmpeg_4; 40 40 }) 41 41 ]; 42 42
+2 -2
pkgs/development/python-modules/more-itertools/default.nix
··· 9 9 10 10 buildPythonPackage rec { 11 11 pname = "more-itertools"; 12 - version = "9.0.0"; 12 + version = "9.1.0"; 13 13 format = "flit"; 14 14 15 15 src = fetchPypi { 16 16 inherit pname version; 17 - hash = "sha256-WmJX5Ah47wUgsYA5kOPiIwOkG1cUAGwyo/2DBLJuoas="; 17 + hash = "sha256-yrqjQa0DieqDwXqUVmpTrkydBzSYYeyxTcbQNFz5rF0="; 18 18 }; 19 19 20 20 nativeBuildInouts = [
+2 -2
pkgs/development/python-modules/myst-parser/default.nix
··· 19 19 20 20 buildPythonPackage rec { 21 21 pname = "myst-parser"; 22 - version = "0.19.1"; 22 + version = "1.0.0"; 23 23 format = "pyproject"; 24 24 25 25 disabled = pythonOlder "3.7"; ··· 28 28 owner = "executablebooks"; 29 29 repo = pname; 30 30 rev = "refs/tags/v${version}"; 31 - hash = "sha256-dmvtRvVOF6lxeC+CC/dwkIs4VRDAZtlmblh9uaV+lW0="; 31 + hash = "sha256-Kewd6/4yawpRuyCe8Na0BGUMo59tr2fc97VlGbVJ8mI="; 32 32 }; 33 33 34 34 nativeBuildInputs = [ flit-core ];
+1
pkgs/development/python-modules/pims/default.nix
··· 53 53 homepage = "https://github.com/soft-matter/pims"; 54 54 license = licenses.bsd3; 55 55 maintainers = with maintainers; [ costrouc ]; 56 + broken = true; 56 57 }; 57 58 }
+1
pkgs/development/python-modules/pydevd/default.nix
··· 53 53 homepage = "https://github.com/fabioz/PyDev.Debugger"; 54 54 license = licenses.epl10; 55 55 maintainers = with maintainers; [ onny ]; 56 + broken = true; 56 57 }; 57 58 }
+6
pkgs/development/python-modules/pynacl/default.nix
··· 3 3 , buildPythonPackage 4 4 , fetchPypi 5 5 , pytestCheckHook 6 + , sphinxHook 6 7 , pythonOlder 7 8 , libsodium 8 9 , cffi ··· 12 13 buildPythonPackage rec { 13 14 pname = "pynacl"; 14 15 version = "1.5.0"; 16 + outputs = [ "out" "doc" ]; 15 17 format = "setuptools"; 16 18 17 19 disabled = pythonOlder "3.6"; ··· 21 23 pname = "PyNaCl"; 22 24 sha256 = "8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"; 23 25 }; 26 + 27 + nativeBuildInputs = [ 28 + sphinxHook 29 + ]; 24 30 25 31 buildInputs = [ 26 32 libsodium
+1
pkgs/development/python-modules/python-efl/default.nix
··· 48 48 platforms = platforms.linux; 49 49 license = with licenses; [ gpl3 lgpl3 ]; 50 50 maintainers = with maintainers; [ matejc ftrvxmtrx ] ++ teams.enlightenment.members; 51 + broken = true; 51 52 }; 52 53 }
+1 -1
pkgs/development/python-modules/spectral-cube/default.nix
··· 46 46 license = lib.licenses.bsd3; 47 47 platforms = lib.platforms.all; 48 48 maintainers = with lib.maintainers; [ smaret ]; 49 + broken = true; 49 50 }; 50 51 } 51 -
+4 -1
pkgs/development/python-modules/sphinx-rtd-theme/default.nix
··· 31 31 sphinxcontrib-jquery 32 32 ]; 33 33 34 + nativeBuildInputs = [ 35 + pythonRelaxDepsHook 36 + ]; 37 + 34 38 nativeCheckInputs = [ 35 39 pytestCheckHook 36 - pythonRelaxDepsHook 37 40 readthedocs-sphinx-ext 38 41 ]; 39 42
+2 -2
pkgs/development/python-modules/sqlalchemy/default.nix
··· 40 40 41 41 buildPythonPackage rec { 42 42 pname = "SQLAlchemy"; 43 - version = "2.0.4"; 43 + version = "2.0.6"; 44 44 format = "pyproject"; 45 45 46 46 disabled = pythonOlder "3.7"; 47 47 48 48 src = fetchPypi { 49 49 inherit pname version; 50 - hash = "sha256-laGOGmryEU29nuTxaK0zBw1jF+Ebr6KNmDzHtYX+kAs="; 50 + hash = "sha256-w0PwtUZJX116I5xwv1CpmkjXMhwWW4Kvr6hIO56+v24="; 51 51 }; 52 52 53 53 nativeBuildInputs =[
+1
pkgs/development/python-modules/sunpy/default.nix
··· 159 159 homepage = "https://sunpy.org"; 160 160 license = licenses.bsd2; 161 161 maintainers = with maintainers; [ costrouc ]; 162 + broken = true; 162 163 }; 163 164 }
+1
pkgs/development/python-modules/wxPython/4.0.nix
··· 83 83 description = "Cross platform GUI toolkit for Python, Phoenix version"; 84 84 homepage = "http://wxpython.org/"; 85 85 license = lib.licenses.wxWindows; 86 + broken = true; 86 87 }; 87 88 88 89 }
+1
pkgs/development/python-modules/wxPython/4.1.nix
··· 142 142 homepage = "http://wxpython.org/"; 143 143 license = licenses.wxWindows; 144 144 maintainers = with maintainers; [ tfmoraes ]; 145 + broken = true; 145 146 }; 146 147 }
+2 -2
pkgs/development/ruby-modules/bundler/default.nix
··· 4 4 inherit ruby; 5 5 name = "${gemName}-${version}"; 6 6 gemName = "bundler"; 7 - version = "2.4.6"; 8 - source.sha256 = "sha256-MI/g13w5NMoHQ78AJ11BlKhulroUI6xNPqQ19iH51P8="; 7 + version = "2.4.8"; 8 + source.sha256 = "sha256-/oLW+JPyFz4TIykm4rnOtvZwJ8fxZr/B49bsfZaZoWQ="; 9 9 dontPatchShebangs = true; 10 10 11 11 postFixup = ''
+3
pkgs/development/tools/analysis/eresi/default.nix
··· 60 60 nativeBuildInputs = [ which ]; 61 61 buildInputs = [ openssl readline ]; 62 62 enableParallelBuilding = true; 63 + # ln: failed to create symbolic link '...-eresi-0.83-a3-phoenix//bin/elfsh': No such file or directory 64 + # make: *** [Makefile:108: install64] Error 1 65 + enableParallelInstalling = false; 63 66 64 67 installTargets = lib.singleton "install" 65 68 ++ lib.optional stdenv.is64bit "install64";
+1
pkgs/development/tools/build-managers/bmake/setup-hook.sh
··· 76 76 77 77 # shellcheck disable=SC2086 78 78 local flagsArray=( 79 + ${enableParallelInstalling:+-j${NIX_BUILD_CORES}} 79 80 SHELL=$SHELL 80 81 # Old bash empty array hack 81 82 $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"}
+2 -2
pkgs/development/tools/build-managers/cmake/default.nix
··· 40 40 + lib.optionalString isBootstrap "-boot" 41 41 + lib.optionalString cursesUI "-cursesUI" 42 42 + lib.optionalString qt5UI "-qt5UI"; 43 - version = "3.25.2"; 43 + version = "3.25.3"; 44 44 45 45 src = fetchurl { 46 46 url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; 47 - sha256 = "0g6k9sa23smh9z5dz8v6dqy89887gxc7s24gchpm7p9ip4ng49n0"; 47 + sha256 = "sha256-zJlXAdWQym3rxCRemYmTkJnKUoJ91GtdNZLwk6/hkBw="; 48 48 }; 49 49 50 50 patches = [
+5
pkgs/development/tools/build-managers/cmake/setup-hook.sh
··· 130 130 echo "cmake: enabled parallel building" 131 131 fi 132 132 133 + if ! [[ -v enableParallelInstalling ]]; then 134 + enableParallelInstalling=1 135 + echo "cmake: enabled parallel installing" 136 + fi 137 + 133 138 runHook postConfigure 134 139 } 135 140
-35
pkgs/development/tools/build-managers/gnumake/4.4/0001-No-impure-bin-sh.patch
··· 1 - From e00a5257a6ca5fedbf68b09eee7df3502971a057 Mon Sep 17 00:00:00 2001 2 - From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> 3 - Date: Sat, 24 Apr 2021 10:11:40 +0200 4 - Subject: [PATCH 1/2] No impure bin sh 5 - 6 - default_shell is used to populuate default shell used to execute jobs. 7 - Unless SHELL is set to a different value this would be /bin/sh. 8 - Our stdenv provides sh in form of bash anyway. Having this value not 9 - hard-coded has some advantages: 10 - 11 - - It would ensure that on all systems it uses sh from its PATH rather 12 - than /bin/sh, which helps as different systems might have different 13 - shells there (bash vs. dash) 14 - - In the past I had issues with LD_PRELOAD with BEAR, where /bin/sh 15 - used a different glibc than BEAR which came from my development shell. 16 - --- 17 - src/job.c | 2 +- 18 - 1 file changed, 1 insertion(+), 1 deletion(-) 19 - 20 - diff --git a/src/job.c b/src/job.c 21 - index ae1f18b..6b4ddb3 100644 22 - --- a/src/job.c 23 - +++ b/src/job.c 24 - @@ -77,7 +77,7 @@ char * vms_strsignal (int status); 25 - 26 - #else 27 - 28 - -const char *default_shell = "/bin/sh"; 29 - +const char *default_shell = "sh"; 30 - int batch_mode_shell = 0; 31 - 32 - #endif 33 - -- 34 - 2.31.1 35 -
-40
pkgs/development/tools/build-managers/gnumake/4.4/0002-remove-impure-dirs.patch
··· 1 - From 795d63d3c8b5c0dbb7e544954f75507b371b7228 Mon Sep 17 00:00:00 2001 2 - From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> 3 - Date: Sat, 24 Apr 2021 10:20:16 +0200 4 - Subject: [PATCH 2/2] remove impure dirs 5 - 6 - --- 7 - src/read.c | 3 --- 8 - src/remake.c | 2 -- 9 - 2 files changed, 5 deletions(-) 10 - 11 - diff --git a/src/read.c b/src/read.c 12 - index fa197fb..defacfb 100644 13 - --- a/src/read.c 14 - +++ b/src/read.c 15 - @@ -109,9 +109,6 @@ static const char *default_include_directories[] = 16 - #endif 17 - INCLUDEDIR, 18 - #ifndef _AMIGA 19 - - "/usr/gnu/include", 20 - - "/usr/local/include", 21 - - "/usr/include", 22 - #endif 23 - 0 24 - }; 25 - diff --git a/src/remake.c b/src/remake.c 26 - index fb237c5..94bff7d 100644 27 - --- a/src/remake.c 28 - +++ b/src/remake.c 29 - @@ -1601,8 +1601,6 @@ library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr) 30 - static const char *dirs[] = 31 - { 32 - #ifndef _AMIGA 33 - - "/lib", 34 - - "/usr/lib", 35 - #endif 36 - #if defined(WINDOWS32) && !defined(LIBDIR) 37 - /* 38 - -- 39 - 2.31.1 40 -
-75
pkgs/development/tools/build-managers/gnumake/4.4/default.nix
··· 1 - { lib 2 - , stdenv 3 - , fetchurl 4 - , guileSupport ? false, guile 5 - # avoid guile depend on bootstrap to prevent dependency cycles 6 - , inBootstrap ? false 7 - , pkg-config 8 - , gnumake 9 - }: 10 - 11 - let 12 - guileEnabled = guileSupport && !inBootstrap; 13 - in 14 - 15 - stdenv.mkDerivation rec { 16 - pname = "gnumake"; 17 - version = "4.4"; 18 - 19 - src = fetchurl { 20 - url = "mirror://gnu/make/make-${version}.tar.gz"; 21 - hash = "sha256-WB9NToctp0s5Qch0IViYp9NYAvA3Mr3M7h1KeXkQXRg="; 22 - }; 23 - 24 - # to update apply these patches with `git am *.patch` to https://git.savannah.gnu.org/git/make.git 25 - patches = [ 26 - # Replaces /bin/sh with sh, see patch file for reasoning 27 - ./0001-No-impure-bin-sh.patch 28 - # Purity: don't look for library dependencies (of the form `-lfoo') in /lib 29 - # and /usr/lib. It's a stupid feature anyway. Likewise, when searching for 30 - # included Makefiles, don't look in /usr/include and friends. 31 - ./0002-remove-impure-dirs.patch 32 - ]; 33 - 34 - nativeBuildInputs = lib.optionals guileEnabled [ pkg-config ]; 35 - buildInputs = lib.optionals guileEnabled [ guile ]; 36 - 37 - configureFlags = lib.optional guileEnabled "--with-guile" 38 - 39 - # Make uses this test to decide whether it should keep track of 40 - # subseconds. Apple made this possible with APFS and macOS 10.13. 41 - # However, we still support macOS 10.11 and 10.12. Binaries built 42 - # in Nixpkgs will be unable to use futimens to set mtime less than 43 - # a second. So, tell Make to ignore nanoseconds in mtime here by 44 - # overriding the autoconf test for the struct. 45 - # See https://github.com/NixOS/nixpkgs/issues/51221 for discussion. 46 - ++ lib.optional stdenv.isDarwin "ac_cv_struct_st_mtim_nsec=no"; 47 - 48 - outputs = [ "out" "man" "info" ]; 49 - separateDebugInfo = true; 50 - 51 - passthru.tests = { 52 - # make sure that the override doesn't break bootstrapping 53 - gnumakeWithGuile = gnumake.override { guileSupport = true; }; 54 - }; 55 - 56 - meta = with lib; { 57 - description = "A tool to control the generation of non-source files from sources"; 58 - longDescription = '' 59 - Make is a tool which controls the generation of executables and 60 - other non-source files of a program from the program's source files. 61 - 62 - Make gets its knowledge of how to build your program from a file 63 - called the makefile, which lists each of the non-source files and 64 - how to compute it from other files. When you write a program, you 65 - should write a makefile for it, so that it is possible to use Make 66 - to build and install the program. 67 - ''; 68 - homepage = "https://www.gnu.org/software/make/"; 69 - 70 - license = licenses.gpl3Plus; 71 - maintainers = [ maintainers.vrthra ]; 72 - mainProgram = "make"; 73 - platforms = platforms.all; 74 - }; 75 - }
+5
pkgs/development/tools/build-managers/meson/setup-hook.sh
··· 28 28 echo "meson: enabled parallel building" 29 29 fi 30 30 31 + if ! [[ -v enableParallelInstalling ]]; then 32 + enableParallelInstalling=1 33 + echo "meson: enabled parallel installing" 34 + fi 35 + 31 36 runHook postConfigure 32 37 } 33 38
+8
pkgs/development/tools/build-managers/ninja/setup-hook.sh
··· 53 53 ninjaInstallPhase() { 54 54 runHook preInstall 55 55 56 + local buildCores=1 57 + 58 + # Parallel building is enabled by default. 59 + if [ "${enableParallelInstalling-1}" ]; then 60 + buildCores="$NIX_BUILD_CORES" 61 + fi 62 + 56 63 # shellcheck disable=SC2086 57 64 local flagsArray=( 65 + -j$buildCores 58 66 $ninjaFlags "${ninjaFlagsArray[@]}" 59 67 ${installTargets:-install} 60 68 )
+1
pkgs/development/tools/build-managers/scons/setup-hook.sh
··· 33 33 fi 34 34 35 35 local flagsArray=( 36 + ${enableParallelInstalling:+-j${NIX_BUILD_CORES}} 36 37 $sconsFlags ${sconsFlagsArray[@]} 37 38 $installFlags ${installFlagsArray[@]} 38 39 ${installTargets:-install}
+6
pkgs/development/tools/build-managers/wafHook/setup-hook.sh
··· 30 30 echo "waf: enabled parallel building" 31 31 fi 32 32 33 + if ! [[ -v enableParallelInstalling ]]; then 34 + enableParallelInstalling=1 35 + echo "waf: enabled parallel installing" 36 + fi 37 + 33 38 runHook postConfigure 34 39 } 35 40 ··· 68 73 fi 69 74 70 75 local flagsArray=( 76 + ${enableParallelInstalling:+-j ${NIX_BUILD_CORES}} 71 77 $wafFlags ${wafFlagsArray[@]} 72 78 $installFlags ${installFlagsArray[@]} 73 79 ${installTargets:-install}
+2 -2
pkgs/development/tools/misc/patchelf/default.nix
··· 7 7 8 8 stdenv.mkDerivation rec { 9 9 pname = "patchelf"; 10 - version = "0.15.0"; 10 + version = "0.17.2"; 11 11 12 12 src = fetchurl { 13 13 url = "https://github.com/NixOS/${pname}/releases/download/${version}/${pname}-${version}.tar.bz2"; 14 - sha256 = "sha256-9ANtPuTY4ijewb7/8PbkbYpA6eVw4AaOOdd+YuLIvcI="; 14 + sha256 = "sha256-uuLqN2By5CLBliGN2b3vBUjMwI2k3p82tGct+E6i2OI="; 15 15 }; 16 16 17 17 strictDeps = true;
+11 -1
pkgs/development/tools/pandoc/default.nix
··· 9 9 buildDepends = drv.buildDepends or [] ++ [haskellPackages.file-embed]; 10 10 buildTools = (drv.buildTools or []) ++ [ removeReferencesTo ]; 11 11 12 + # Normally, the static linked executable shouldn't refer to any library or the compiler. 13 + # This is not always the case when the dependency has Paths_* module generated by Cabal, 14 + # where bindir, datadir, and libdir contain the path to the library, and thus make the 15 + # executable indirectly refer to GHC. However, most Haskell programs only use Paths_*.version for 16 + # getting the version at runtime, so it's safe to remove the references to them. 17 + # This is true so far for pandoc-types and warp. 18 + # For details see: https://github.com/NixOS/nixpkgs/issues/34376 12 19 postInstall = drv.postInstall or "" + '' 13 20 remove-references-to \ 14 21 -t ${haskellPackages.pandoc-types} \ 22 + $out/bin/pandoc 23 + remove-references-to \ 24 + -t ${haskellPackages.warp} \ 15 25 $out/bin/pandoc 16 26 '' + lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform) '' 17 27 mkdir -p $out/share/bash-completion/completions ··· 25 35 # lead to a transitive runtime dependency on the whole GHC distribution. 26 36 # This should ideally be fixed in haskellPackages (or even Cabal), 27 37 # but a minimal pandoc is important enough to patch it manually. 28 - disallowedReferences = [ haskellPackages.pandoc-types ]; 38 + disallowedReferences = [ haskellPackages.pandoc-types haskellPackages.warp ]; 29 39 })
+1
pkgs/development/tools/shadered/default.nix
··· 45 45 homepage = "https://github.com/dfranx/SHADERed"; 46 46 license = with licenses; [ mit ]; 47 47 maintainers = with maintainers; [ Scriptkiddi ]; 48 + broken = true; 48 49 }; 49 50 }
+3 -2
pkgs/development/web/nodejs/v18.nix
··· 9 9 in 10 10 buildNodejs { 11 11 inherit enableNpm; 12 - version = "18.14.2"; 13 - sha256 = "sha256-+8Nk3SX+4srMDyAz2y2GEV/AdXUxDqDmRAi4Fw0JxoU="; 12 + version = "18.15.0"; 13 + sha256 = "sha256-jkTWUBj/lzKEGVwjGGRpoOpAgul+xCAOX1cG1VhNqjc="; 14 14 patches = [ 15 15 ./disable-darwin-v8-system-instrumentation.patch 16 16 ./bypass-darwin-xcrun-node16.patch 17 + ./revert-arm64-pointer-auth.patch 17 18 ]; 18 19 }
+2 -2
pkgs/games/hedgewars/default.nix
··· 1 - { stdenv, SDL2_image, SDL2_ttf, SDL2_net, fpc, ghcWithPackages, ffmpeg, freeglut 1 + { stdenv, SDL2_image, SDL2_ttf, SDL2_net, fpc, ghcWithPackages, ffmpeg_4, freeglut 2 2 , lib, fetchurl, cmake, pkg-config, lua5_1, SDL2, SDL2_mixer 3 3 , zlib, libpng, libGL, libGLU, physfs 4 4 , qtbase, qttools, wrapQtAppsHook ··· 27 27 SDL2_ttf SDL2_net SDL2 SDL2_mixer SDL2_image 28 28 fpc lua5_1 29 29 llvm # hard-requirement on aarch64, for some reason not strictly necessary on x86-64 30 - ffmpeg freeglut physfs 30 + ffmpeg_4 freeglut physfs 31 31 qtbase 32 32 ] ++ lib.optional withServer ghc; 33 33
+1
pkgs/games/openclonk/default.nix
··· 41 41 license = if enableSoundtrack then licenses.unfreeRedistributable else licenses.isc; 42 42 maintainers = with maintainers; [ lheckemann ]; 43 43 platforms = [ "x86_64-linux" "i686-linux" ]; 44 + broken = true; 44 45 }; 45 46 }
+2 -2
pkgs/games/openrw/default.nix
··· 11 11 , openal 12 12 , SDL2 13 13 , boost 14 - , ffmpeg 14 + , ffmpeg_4 15 15 , Cocoa 16 16 , OpenAL }: 17 17 ··· 35 35 nativeBuildInputs = [ cmake ]; 36 36 37 37 buildInputs = [ 38 - sfml libGLU libGL bullet glm libmad openal SDL2 boost ffmpeg 38 + sfml libGLU libGL bullet glm libmad openal SDL2 boost ffmpeg_4 39 39 ] ++ lib.optionals stdenv.isDarwin [ OpenAL Cocoa ]; 40 40 41 41 meta = with lib; {
+2 -2
pkgs/games/performous/default.nix
··· 5 5 , aubio 6 6 , boost 7 7 , cmake 8 - , ffmpeg 8 + , ffmpeg_4 9 9 , gettext 10 10 , git 11 11 , glew ··· 58 58 SDL2 59 59 aubio 60 60 boost 61 - ffmpeg 61 + ffmpeg_4 62 62 glew 63 63 glibmm 64 64 glm
+1
pkgs/games/spring/default.nix
··· 87 87 license = licenses.gpl2Plus; 88 88 maintainers = with maintainers; [ qknight domenkozar sorki ]; 89 89 platforms = [ "x86_64-linux" ]; 90 + broken = true; 90 91 }; 91 92 }
+2 -2
pkgs/games/stepmania/default.nix
··· 1 1 { stdenv, lib, fetchFromGitHub, cmake, nasm 2 - , gtk2, glib, ffmpeg, alsa-lib, libmad, libogg, libvorbis 2 + , gtk2, glib, ffmpeg_4, alsa-lib, libmad, libogg, libvorbis 3 3 , glew, libpulseaudio, udev 4 4 }: 5 5 ··· 25 25 nativeBuildInputs = [ cmake nasm ]; 26 26 27 27 buildInputs = [ 28 - gtk2 glib ffmpeg alsa-lib libmad libogg libvorbis 28 + gtk2 glib ffmpeg_4 alsa-lib libmad libogg libvorbis 29 29 glew libpulseaudio udev 30 30 ]; 31 31
+4 -5
pkgs/games/ultrastardx/default.nix
··· 14 14 , SDL2_gfx 15 15 , SDL2_mixer 16 16 , SDL2_net, SDL2_ttf 17 - , ffmpeg 17 + , ffmpeg_4 18 18 , sqlite 19 19 , zlib 20 20 , libX11 ··· 26 26 sharedLibs = [ 27 27 pcre portaudio freetype 28 28 SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf 29 - sqlite lua zlib libX11 libGLU libGL ffmpeg 29 + sqlite lua zlib libX11 libGLU libGL ffmpeg_4 30 30 ]; 31 31 32 32 in stdenv.mkDerivation rec { ··· 48 48 49 49 # ultrastardx binds to libffmpeg (and sublibs), specifying a very restrictive 50 50 # upper bounds on the minor versions of .so files. 51 - # We can assume ffmpeg won’t break any major ABI compatibility, since their 52 - # patch version seems to always stay at 100, 53 - # and their minor version changes quite frequently. 51 + # We can assume ffmpeg_4 won’t break any major ABI compatibility, since it's 52 + # effectively EOL 54 53 sed \ 55 54 -e 's/^ LIBAVCODEC_MAX_VERSION_MINOR.*$/ LIBAVCODEC_MAX_VERSION_MINOR = 1000;/' \ 56 55 -i src/lib/ffmpeg-4.0/avcodec.pas
+2 -2
pkgs/misc/screensavers/electricsheep/default.nix
··· 3 3 , fetchFromGitHub 4 4 , autoreconfHook 5 5 , wxGTK32 6 - , ffmpeg 6 + , ffmpeg_4 7 7 , lua5_1 8 8 , curl 9 9 , libpng ··· 34 34 35 35 buildInputs = [ 36 36 wxGTK32 37 - ffmpeg 37 + ffmpeg_4 38 38 lua5_1 39 39 curl 40 40 libpng
+2 -2
pkgs/os-specific/linux/guvcview/default.nix
··· 5 5 , pkg-config 6 6 , portaudio 7 7 , SDL2 8 - , ffmpeg 8 + , ffmpeg_4 9 9 , udev 10 10 , libusb1 11 11 , libv4l ··· 46 46 buildInputs = [ 47 47 SDL2 48 48 alsa-lib 49 - ffmpeg 49 + ffmpeg_4 50 50 libusb1 51 51 libv4l 52 52 portaudio
+2 -2
pkgs/os-specific/linux/iproute/default.nix
··· 6 6 7 7 stdenv.mkDerivation rec { 8 8 pname = "iproute2"; 9 - version = "6.1.0"; 9 + version = "6.2.0"; 10 10 11 11 src = fetchurl { 12 12 url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz"; 13 - sha256 = "sha256-XOEqD+xrIScl7yGHNZQbLat2JE235yZGp2AhsFN7Q6s="; 13 + sha256 = "sha256-TXJzAgDsWyqrqhovIFU8Z0gpLwZdmhVMfV4iVZ35/WI="; 14 14 }; 15 15 16 16 patches = [
+3 -5
pkgs/os-specific/linux/pam/default.nix
··· 1 - { lib, stdenv, buildPackages, fetchurl, flex, cracklib, db4, gettext, audit 1 + { lib, stdenv, buildPackages, fetchurl, flex, cracklib, db4, gettext, audit, libxcrypt 2 2 , nixosTests 3 - , withLibxcrypt ? true, libxcrypt 4 3 }: 5 4 6 5 stdenv.mkDerivation rec { ··· 20 19 nativeBuildInputs = [ flex ] 21 20 ++ lib.optional stdenv.buildPlatform.isDarwin gettext; 22 21 23 - buildInputs = [ cracklib db4 ] 24 - ++ lib.optional stdenv.buildPlatform.isLinux audit 25 - ++ lib.optional withLibxcrypt libxcrypt; 22 + buildInputs = [ cracklib db4 libxcrypt ] 23 + ++ lib.optional stdenv.buildPlatform.isLinux audit; 26 24 27 25 enableParallelBuilding = true; 28 26
+3
pkgs/os-specific/linux/sssd/default.nix
··· 54 54 ''; 55 55 56 56 enableParallelBuilding = true; 57 + # Disable parallel install due to missing depends: 58 + # libtool: error: error: relink '_py3sss.la' with the above command before installing i 59 + enableParallelInstalling = false; 57 60 nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config doxygen ]; 58 61 buildInputs = [ augeas dnsutils c-ares curl cyrus_sasl ding-libs libnl libunistring nss 59 62 samba nfs-utils p11-kit python3 popt
+4 -4
pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch
··· 12 12 2 files changed, 4 insertions(+) 13 13 14 14 diff --git a/src/shared/fstab-util.c b/src/shared/fstab-util.c 15 - index f683f05981..5a04c2c2a6 100644 15 + index 164e71a150..68e0766594 100644 16 16 --- a/src/shared/fstab-util.c 17 17 +++ b/src/shared/fstab-util.c 18 - @@ -40,6 +40,8 @@ bool fstab_is_extrinsic(const char *mount, const char *opts) { 18 + @@ -41,6 +41,8 @@ bool fstab_is_extrinsic(const char *mount, const char *opts) { 19 19 /* Don't bother with the OS data itself */ 20 20 if (PATH_IN_SET(mount, 21 21 "/", ··· 25 25 "/etc")) 26 26 return true; 27 27 diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c 28 - index e650b82170..5d0d41aa28 100644 28 + index 61bd9d2601..a6243da417 100644 29 29 --- a/src/shutdown/umount.c 30 30 +++ b/src/shutdown/umount.c 31 - @@ -522,6 +522,8 @@ static int delete_md(MountPoint *m) { 31 + @@ -531,6 +531,8 @@ static int delete_md(MountPoint *m) { 32 32 33 33 static bool nonunmountable_path(const char *path) { 34 34 return path_equal(path, "/")
+3 -3
pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
··· 10 10 1 file changed, 2 insertions(+) 11 11 12 12 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 13 - index 01a67b5553..86dd2cea84 100644 13 + index 36d336dfc8..d62c5173ca 100644 14 14 --- a/src/nspawn/nspawn.c 15 15 +++ b/src/nspawn/nspawn.c 16 - @@ -5636,6 +5636,7 @@ static int run(int argc, char *argv[]) { 16 + @@ -5634,6 +5634,7 @@ static int run(int argc, char *argv[]) { 17 17 goto finish; 18 18 } 19 19 } else { ··· 21 21 _cleanup_free_ char *p = NULL; 22 22 23 23 if (arg_pivot_root_new) 24 - @@ -5650,6 +5651,7 @@ static int run(int argc, char *argv[]) { 24 + @@ -5648,6 +5649,7 @@ static int run(int argc, char *argv[]) { 25 25 "Directory %s doesn't look like it has an OS tree (/usr/ directory is missing). Refusing.", arg_directory); 26 26 goto finish; 27 27 }
+3 -3
pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch
··· 8 8 1 file changed, 5 insertions(+), 1 deletion(-) 9 9 10 10 diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c 11 - index 73c76fceea..d00cea7158 100644 11 + index e25c5d5efa..26f4e5669e 100644 12 12 --- a/src/fsck/fsck.c 13 13 +++ b/src/fsck/fsck.c 14 - @@ -352,6 +352,7 @@ static int run(int argc, char *argv[]) { 14 + @@ -351,6 +351,7 @@ static int run(int argc, char *argv[]) { 15 15 if (r == 0) { 16 16 char dash_c[STRLEN("-C") + DECIMAL_STR_MAX(int) + 1]; 17 17 int progress_socket = -1; ··· 19 19 const char *cmdline[9]; 20 20 int i = 0; 21 21 22 - @@ -372,7 +373,10 @@ static int run(int argc, char *argv[]) { 22 + @@ -371,7 +372,10 @@ static int run(int argc, char *argv[]) { 23 23 } else 24 24 dash_c[0] = 0; 25 25
+1 -1
pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
··· 14 14 2 files changed, 6 insertions(+), 19 deletions(-) 15 15 16 16 diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c 17 - index 36f386254b..a968d28dfc 100644 17 + index c99e9d8786..b9f85d1f8c 100644 18 18 --- a/src/basic/path-lookup.c 19 19 +++ b/src/basic/path-lookup.c 20 20 @@ -92,11 +92,7 @@ int xdg_user_data_dir(char **ret, const char *suffix) {
+2 -2
pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch
··· 13 13 1 file changed, 2 insertions(+), 1 deletion(-) 14 14 15 15 diff --git a/src/core/manager.c b/src/core/manager.c 16 - index a59afafb58..d9e7d77913 100644 16 + index 7b394794b0..50d092042c 100644 17 17 --- a/src/core/manager.c 18 18 +++ b/src/core/manager.c 19 - @@ -1432,7 +1432,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) { 19 + @@ -1437,7 +1437,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) { 20 20 if (!unit_is_bound_by_inactive(u, &culprit)) 21 21 continue; 22 22
-105
pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch
··· 1 - From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 - From: Gabriel Ebner <gebner@gebner.org> 3 - Date: Sun, 6 Dec 2015 14:26:36 +0100 4 - Subject: [PATCH] hostnamed, localed, timedated: disable methods that change 5 - system settings. 6 - 7 - --- 8 - src/hostname/hostnamed.c | 6 ++++++ 9 - src/locale/localed.c | 9 +++++++++ 10 - src/timedate/timedated.c | 10 ++++++++++ 11 - 3 files changed, 25 insertions(+) 12 - 13 - diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c 14 - index 486b093062..580e933f14 100644 15 - --- a/src/hostname/hostnamed.c 16 - +++ b/src/hostname/hostnamed.c 17 - @@ -906,6 +906,9 @@ static int method_set_static_hostname(sd_bus_message *m, void *userdata, sd_bus_ 18 - if (r < 0) 19 - return r; 20 - 21 - + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 22 - + "Changing system settings via systemd is not supported on NixOS."); 23 - + 24 - name = empty_to_null(name); 25 - 26 - context_read_etc_hostname(c); 27 - @@ -969,6 +972,9 @@ static int set_machine_info(Context *c, sd_bus_message *m, int prop, sd_bus_mess 28 - if (r < 0) 29 - return r; 30 - 31 - + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 32 - + "Changing system settings via systemd is not supported on NixOS."); 33 - + 34 - name = empty_to_null(name); 35 - 36 - context_read_machine_info(c); 37 - diff --git a/src/locale/localed.c b/src/locale/localed.c 38 - index 7aa47f18c2..0a8ef68931 100644 39 - --- a/src/locale/localed.c 40 - +++ b/src/locale/localed.c 41 - @@ -309,6 +309,9 @@ static int method_set_locale(sd_bus_message *m, void *userdata, sd_bus_error *er 42 - if (r < 0) 43 - return r; 44 - 45 - + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 46 - + "Changing system settings via systemd is not supported on NixOS."); 47 - + 48 - use_localegen = locale_gen_check_available(); 49 - 50 - /* If single locale without variable name is provided, then we assume it is LANG=. */ 51 - @@ -423,6 +426,9 @@ static int method_set_vc_keyboard(sd_bus_message *m, void *userdata, sd_bus_erro 52 - if (r < 0) 53 - return r; 54 - 55 - + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 56 - + "Changing system settings via systemd is not supported on NixOS."); 57 - + 58 - keymap = empty_to_null(keymap); 59 - keymap_toggle = empty_to_null(keymap_toggle); 60 - 61 - @@ -602,6 +608,9 @@ static int method_set_x11_keyboard(sd_bus_message *m, void *userdata, sd_bus_err 62 - if (r < 0) 63 - return r; 64 - 65 - + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 66 - + "Changing system settings via systemd is not supported on NixOS."); 67 - + 68 - layout = empty_to_null(layout); 69 - model = empty_to_null(model); 70 - variant = empty_to_null(variant); 71 - diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c 72 - index 373574cc06..6dbf73eb42 100644 73 - --- a/src/timedate/timedated.c 74 - +++ b/src/timedate/timedated.c 75 - @@ -665,6 +665,10 @@ static int method_set_timezone(sd_bus_message *m, void *userdata, sd_bus_error * 76 - if (r < 0) 77 - return r; 78 - 79 - + if (getenv("NIXOS_STATIC_TIMEZONE")) 80 - + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 81 - + "Changing timezone via systemd is not supported when it is set in NixOS configuration."); 82 - + 83 - if (!timezone_is_valid(z, LOG_DEBUG)) 84 - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid or not installed time zone '%s'", z); 85 - 86 - @@ -743,6 +747,9 @@ static int method_set_local_rtc(sd_bus_message *m, void *userdata, sd_bus_error 87 - if (r < 0) 88 - return r; 89 - 90 - + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 91 - + "Changing system settings via systemd is not supported on NixOS."); 92 - + 93 - if (lrtc == c->local_rtc && !fix_system) 94 - return sd_bus_reply_method_return(m, NULL); 95 - 96 - @@ -923,6 +930,9 @@ static int method_set_ntp(sd_bus_message *m, void *userdata, sd_bus_error *error 97 - if (r < 0) 98 - return r; 99 - 100 - + return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, 101 - + "Changing system settings via systemd is not supported on NixOS."); 102 - + 103 - r = context_update_ntp_status(c, bus, m); 104 - if (r < 0) 105 - return r;
+1 -1
pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch pkgs/os-specific/linux/systemd/0007-Fix-hwdb-paths.patch
··· 9 9 1 file changed, 2 insertions(+), 5 deletions(-) 10 10 11 11 diff --git a/src/libsystemd/sd-hwdb/hwdb-internal.h b/src/libsystemd/sd-hwdb/hwdb-internal.h 12 - index 62d27f7b89..87318e041b 100644 12 + index 5302679a62..c681f3a984 100644 13 13 --- a/src/libsystemd/sd-hwdb/hwdb-internal.h 14 14 +++ b/src/libsystemd/sd-hwdb/hwdb-internal.h 15 15 @@ -83,8 +83,5 @@ struct trie_value_entry2_f {
+10 -10
pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch pkgs/os-specific/linux/systemd/0008-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
··· 35 35 <literal>Etc/UTC</literal>. The resulting link should lead to the 36 36 corresponding binary 37 37 diff --git a/src/basic/time-util.c b/src/basic/time-util.c 38 - index 71b2f67350..465f1c0b15 100644 38 + index b700f364ef..116b1cec63 100644 39 39 --- a/src/basic/time-util.c 40 40 +++ b/src/basic/time-util.c 41 - @@ -1280,7 +1280,7 @@ static int get_timezones_from_zone1970_tab(char ***ret) { 41 + @@ -1282,7 +1282,7 @@ static int get_timezones_from_zone1970_tab(char ***ret) { 42 42 43 43 assert(ret); 44 44 ··· 47 47 if (!f) 48 48 return -errno; 49 49 50 - @@ -1319,7 +1319,7 @@ static int get_timezones_from_tzdata_zi(char ***ret) { 50 + @@ -1321,7 +1321,7 @@ static int get_timezones_from_tzdata_zi(char ***ret) { 51 51 _cleanup_strv_free_ char **zones = NULL; 52 52 int r; 53 53 ··· 56 56 if (!f) 57 57 return -errno; 58 58 59 - @@ -1431,7 +1431,7 @@ int verify_timezone(const char *name, int log_level) { 59 + @@ -1433,7 +1433,7 @@ int verify_timezone(const char *name, int log_level) { 60 60 if (p - name >= PATH_MAX) 61 61 return -ENAMETOOLONG; 62 62 ··· 65 65 66 66 fd = open(t, O_RDONLY|O_CLOEXEC); 67 67 if (fd < 0) 68 - @@ -1489,7 +1489,7 @@ int get_timezone(char **ret) { 68 + @@ -1491,7 +1491,7 @@ int get_timezone(char **ret) { 69 69 if (r < 0) 70 70 return r; /* returns EINVAL if not a symlink */ 71 71 ··· 75 75 return -EINVAL; 76 76 77 77 diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c 78 - index 065ee896cd..1b260416c8 100644 78 + index 9e79f84691..1a1c75718c 100644 79 79 --- a/src/firstboot/firstboot.c 80 80 +++ b/src/firstboot/firstboot.c 81 - @@ -510,7 +510,7 @@ static int process_timezone(void) { 81 + @@ -512,7 +512,7 @@ static int process_timezone(void) { 82 82 if (isempty(arg_timezone)) 83 83 return 0; 84 84 ··· 88 88 (void) mkdir_parents(etc_localtime, 0755); 89 89 r = symlink_atomic(e, etc_localtime); 90 90 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 91 - index 86dd2cea84..4e5f03669d 100644 91 + index d62c5173ca..84beac064b 100644 92 92 --- a/src/nspawn/nspawn.c 93 93 +++ b/src/nspawn/nspawn.c 94 - @@ -1905,8 +1905,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid 94 + @@ -1915,8 +1915,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid 95 95 static const char *timezone_from_path(const char *path) { 96 96 return PATH_STARTSWITH_SET( 97 97 path, ··· 103 103 104 104 static bool etc_writable(void) { 105 105 diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c 106 - index 6dbf73eb42..a36dd459d2 100644 106 + index ad483301ef..a7f22b1c86 100644 107 107 --- a/src/timedate/timedated.c 108 108 +++ b/src/timedate/timedated.c 109 109 @@ -282,7 +282,7 @@ static int context_read_data(Context *c) {
+2 -2
pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch pkgs/os-specific/linux/systemd/0009-localectl-use-etc-X11-xkb-for-list-x11.patch
··· 10 10 1 file changed, 1 insertion(+), 1 deletion(-) 11 11 12 12 diff --git a/src/locale/localectl.c b/src/locale/localectl.c 13 - index c23f1fa3f6..ad2eba82ad 100644 13 + index fb83881cc7..c47a33134a 100644 14 14 --- a/src/locale/localectl.c 15 15 +++ b/src/locale/localectl.c 16 - @@ -299,7 +299,7 @@ static int list_x11_keymaps(int argc, char **argv, void *userdata) { 16 + @@ -297,7 +297,7 @@ static int list_x11_keymaps(int argc, char **argv, void *userdata) { 17 17 } state = NONE, look_for; 18 18 int r; 19 19
+2 -2
pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch pkgs/os-specific/linux/systemd/0010-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
··· 8 8 1 file changed, 3 deletions(-) 9 9 10 10 diff --git a/meson.build b/meson.build 11 - index 76ad51d3fb..839dcef437 100644 11 + index bfc86857d6..84e3e4c1db 100644 12 12 --- a/meson.build 13 13 +++ b/meson.build 14 - @@ -4067,9 +4067,6 @@ install_data('LICENSE.GPL2', 14 + @@ -4277,9 +4277,6 @@ install_data('LICENSE.GPL2', 15 15 install_subdir('LICENSES', 16 16 install_dir : docdir) 17 17
+6 -6
pkgs/os-specific/linux/systemd/0012-add-rootprefix-to-lookup-dir-paths.patch pkgs/os-specific/linux/systemd/0011-add-rootprefix-to-lookup-dir-paths.patch
··· 8 8 we should again be able to discover the udev rules amongst other default 9 9 files that I might have missed. 10 10 --- 11 - src/basic/def.h | 6 ++++-- 11 + src/basic/constants.h | 6 ++++-- 12 12 1 file changed, 4 insertions(+), 2 deletions(-) 13 13 14 - diff --git a/src/basic/def.h b/src/basic/def.h 15 - index 2b4de29021..1bd61dc45f 100644 16 - --- a/src/basic/def.h 17 - +++ b/src/basic/def.h 18 - @@ -44,13 +44,15 @@ 14 + diff --git a/src/basic/constants.h b/src/basic/constants.h 15 + index 5d68cc6332..a2ccc315e1 100644 16 + --- a/src/basic/constants.h 17 + +++ b/src/basic/constants.h 18 + @@ -73,13 +73,15 @@ 19 19 "/run/" n "\0" \ 20 20 "/usr/local/lib/" n "\0" \ 21 21 "/usr/lib/" n "\0" \
+2 -2
pkgs/os-specific/linux/systemd/0013-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch pkgs/os-specific/linux/systemd/0012-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
··· 10 10 1 file changed, 1 insertion(+) 11 11 12 12 diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c 13 - index dcee0f9006..24b03d6948 100644 13 + index 42111d2772..53467ac229 100644 14 14 --- a/src/shutdown/shutdown.c 15 15 +++ b/src/shutdown/shutdown.c 16 - @@ -334,6 +334,7 @@ static void init_watchdog(void) { 16 + @@ -335,6 +335,7 @@ static void init_watchdog(void) { 17 17 int main(int argc, char *argv[]) { 18 18 static const char* const dirs[] = { 19 19 SYSTEM_SHUTDOWN_PATH,
+1 -1
pkgs/os-specific/linux/systemd/0014-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch pkgs/os-specific/linux/systemd/0013-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
··· 9 9 1 file changed, 1 insertion(+) 10 10 11 11 diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c 12 - index 3461d3e45f..d7d0ec2a7a 100644 12 + index 9c51a3367f..75d6b76a87 100644 13 13 --- a/src/sleep/sleep.c 14 14 +++ b/src/sleep/sleep.c 15 15 @@ -184,6 +184,7 @@ static int execute(
+1 -1
pkgs/os-specific/linux/systemd/0015-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch pkgs/os-specific/linux/systemd/0014-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
··· 10 10 1 file changed, 3 insertions(+), 3 deletions(-) 11 11 12 12 diff --git a/src/basic/path-util.h b/src/basic/path-util.h 13 - index 22d3632e6e..1e8bbb242b 100644 13 + index 56f01f41d8..f9b8627388 100644 14 14 --- a/src/basic/path-util.h 15 15 +++ b/src/basic/path-util.h 16 16 @@ -24,11 +24,11 @@
pkgs/os-specific/linux/systemd/0016-pkg-config-derive-prefix-from-prefix.patch pkgs/os-specific/linux/systemd/0015-pkg-config-derive-prefix-from-prefix.patch
+2 -2
pkgs/os-specific/linux/systemd/0017-inherit-systemd-environment-when-calling-generators.patch pkgs/os-specific/linux/systemd/0016-inherit-systemd-environment-when-calling-generators.patch
··· 16 16 1 file changed, 8 insertions(+) 17 17 18 18 diff --git a/src/core/manager.c b/src/core/manager.c 19 - index d9e7d77913..ba3ce14bf0 100644 19 + index 50d092042c..898f9ed2f1 100644 20 20 --- a/src/core/manager.c 21 21 +++ b/src/core/manager.c 22 - @@ -3693,9 +3693,17 @@ static int build_generator_environment(Manager *m, char ***ret) { 22 + @@ -3714,9 +3714,17 @@ static int build_generator_environment(Manager *m, char ***ret) { 23 23 * adjust generated units to that. Let's pass down some bits of information that are easy for us to 24 24 * determine (but a bit harder for generator scripts to determine), as environment variables. */ 25 25
+2 -2
pkgs/os-specific/linux/systemd/0018-core-don-t-taint-on-unmerged-usr.patch pkgs/os-specific/linux/systemd/0017-core-don-t-taint-on-unmerged-usr.patch
··· 17 17 1 file changed, 4 deletions(-) 18 18 19 19 diff --git a/src/core/manager.c b/src/core/manager.c 20 - index ba3ce14bf0..03bf66ff74 100644 20 + index 898f9ed2f1..5040d5b105 100644 21 21 --- a/src/core/manager.c 22 22 +++ b/src/core/manager.c 23 - @@ -4493,10 +4493,6 @@ char* manager_taint_string(const Manager *m) { 23 + @@ -4543,10 +4543,6 @@ char* manager_taint_string(const Manager *m) { 24 24 if (m->taint_usr) 25 25 stage[n++] = "split-usr"; 26 26
+4 -7
pkgs/os-specific/linux/systemd/0019-tpm2_context_init-fix-driver-name-checking.patch pkgs/os-specific/linux/systemd/0018-tpm2_context_init-fix-driver-name-checking.patch
··· 1 - From 236e9281cb158be3191c500524fbc5f397a25e03 Mon Sep 17 00:00:00 2001 1 + From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 2 From: Nick Cao <nickcao@nichi.co> 3 3 Date: Sun, 15 Jan 2023 20:15:55 +0800 4 4 Subject: [PATCH] tpm2_context_init: fix driver name checking ··· 27 27 1 file changed, 1 insertion(+), 1 deletion(-) 28 28 29 29 diff --git a/src/shared/tpm2-util.c b/src/shared/tpm2-util.c 30 - index ba8dfb041d..7de5d5fc77 100644 30 + index 259f280e0f..142e70a740 100644 31 31 --- a/src/shared/tpm2-util.c 32 32 +++ b/src/shared/tpm2-util.c 33 - @@ -192,7 +192,7 @@ int tpm2_context_init(const char *device, struct tpm2_context *ret) { 33 + @@ -176,7 +176,7 @@ int tpm2_context_new(const char *device, Tpm2Context **ret_context) { 34 34 fn = strjoina("libtss2-tcti-", driver, ".so.0"); 35 35 36 36 /* Better safe than sorry, let's refuse strings that cannot possibly be valid driver early, before going to disk. */ ··· 38 38 + if (!path_is_valid(fn)) 39 39 return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "TPM2 driver name '%s' not valid, refusing.", driver); 40 40 41 - dl = dlopen(fn, RTLD_NOW); 42 - -- 43 - 2.39.0 44 - 41 + context->tcti_dl = dlopen(fn, RTLD_NOW);
+47 -28
pkgs/os-specific/linux/systemd/default.nix
··· 82 82 , bpftools 83 83 , libbpf 84 84 85 + , withAcl ? true 85 86 , withAnalyze ? true 86 87 , withApparmor ? true 88 + , withAudit ? true 87 89 , withCompression ? true # adds bzip2, lz4, xz and zstd 88 90 , withCoredump ? true 89 91 , withCryptsetup ? true ··· 94 96 , withHostnamed ? true 95 97 , withHwdb ? true 96 98 , withImportd ? !stdenv.hostPlatform.isMusl 99 + , withKmod ? true 97 100 , withLibBPF ? lib.versionAtLeast buildPackages.llvmPackages.clang.version "10.0" 98 101 && stdenv.hostPlatform.isAarch -> lib.versionAtLeast stdenv.hostPlatform.parsed.cpu.version "6" # assumes hard floats 99 102 && !stdenv.hostPlatform.isMips64 # see https://github.com/NixOS/nixpkgs/pull/194149#issuecomment-1266642211 103 + , withLibidn2 ? true 100 104 , withLocaled ? true 101 105 , withLogind ? true 102 106 , withMachined ? true 103 107 , withNetworkd ? true 104 108 , withNss ? !stdenv.hostPlatform.isMusl 105 109 , withOomd ? true 110 + , withPam ? true 106 111 , withPCRE2 ? true 107 112 , withPolkit ? true 108 113 , withPortabled ? !stdenv.hostPlatform.isMusl ··· 129 134 assert withImportd -> withCompression; 130 135 assert withCoredump -> withCompression; 131 136 assert withHomed -> withCryptsetup; 137 + assert withHomed -> withPam; 132 138 133 139 let 134 140 wantCurl = withRemote || withImportd; 135 141 wantGcrypt = withResolved || withImportd; 136 - version = "252.5"; 142 + version = "253.1"; 137 143 138 144 # Bump this variable on every (major) version change. See below (in the meson options list) for why. 139 145 # command: 140 146 # $ curl -s https://api.github.com/repos/systemd/systemd/releases/latest | \ 141 147 # jq '.created_at|strptime("%Y-%m-%dT%H:%M:%SZ")|mktime' 142 - releaseTimestamp = "1667246393"; 148 + releaseTimestamp = "1676488940"; 143 149 in 144 150 stdenv.mkDerivation (finalAttrs: { 145 151 inherit pname version; ··· 150 156 owner = "systemd"; 151 157 repo = "systemd-stable"; 152 158 rev = "v${version}"; 153 - hash = "sha256-cNZRTuYFMR1z6KpELeQoJahMhRl4fKuRuc3xXH3KzlM="; 159 + hash = "sha256-PyAhkLxDkT5gVocCXh8bst6PBgguASjnA82xinQOtjw="; 154 160 }; 155 161 156 162 # On major changes, or when otherwise required, you *must* reformat the patches, ··· 165 171 ./0004-Look-for-fsck-in-the-right-place.patch 166 172 ./0005-Add-some-NixOS-specific-unit-directories.patch 167 173 ./0006-Get-rid-of-a-useless-message-in-user-sessions.patch 168 - ./0007-hostnamed-localed-timedated-disable-methods-that-cha.patch 169 - ./0008-Fix-hwdb-paths.patch 170 - ./0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch 171 - ./0010-localectl-use-etc-X11-xkb-for-list-x11.patch 172 - ./0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch 173 - ./0012-add-rootprefix-to-lookup-dir-paths.patch 174 - ./0013-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch 175 - ./0014-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch 176 - ./0015-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch 177 - ./0016-pkg-config-derive-prefix-from-prefix.patch 178 - ./0017-inherit-systemd-environment-when-calling-generators.patch 179 - ./0018-core-don-t-taint-on-unmerged-usr.patch 180 - ./0019-tpm2_context_init-fix-driver-name-checking.patch 174 + ./0007-Fix-hwdb-paths.patch 175 + ./0008-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch 176 + ./0009-localectl-use-etc-X11-xkb-for-list-x11.patch 177 + ./0010-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch 178 + ./0011-add-rootprefix-to-lookup-dir-paths.patch 179 + ./0012-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch 180 + ./0013-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch 181 + ./0014-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch 182 + ./0015-pkg-config-derive-prefix-from-prefix.patch 183 + ./0016-inherit-systemd-environment-when-calling-generators.patch 184 + ./0017-core-don-t-taint-on-unmerged-usr.patch 185 + ./0018-tpm2_context_init-fix-driver-name-checking.patch 181 186 ] ++ lib.optional stdenv.hostPlatform.isMusl ( 182 187 let 183 188 oe-core = fetchzip { ··· 278 283 # Systemd does this decision during configure time and uses ifdef's to 279 284 # enable specific branches. We can safely ignore (nuke) the libidn "v1" 280 285 # libraries. 281 - { name = "libidn2.so.0"; pkg = libidn2; } 286 + { name = "libidn2.so.0"; pkg = opt withLibidn2 libidn2; } 282 287 { name = "libidn.so.12"; pkg = null; } 283 288 { name = "libidn.so.11"; pkg = null; } 284 289 ··· 295 300 # inspect-elf support 296 301 { name = "libelf.so.1"; pkg = opt withCoredump elfutils; } 297 302 { name = "libdw.so.1"; pkg = opt withCoredump elfutils; } 303 + 304 + # Support for PKCS#11 in systemd-cryptsetup, systemd-cryptenroll and systemd-homed 305 + { name = "libp11-kit.so.0"; pkg = opt (withHomed || withCryptsetup) p11-kit; } 298 306 ]; 299 307 300 308 patchDlOpen = dl: ··· 376 384 377 385 buildInputs = 378 386 [ 379 - acl 380 - audit 381 - kmod 382 387 libxcrypt 383 388 libcap 384 - libidn2 385 389 libuuid 386 390 linuxHeaders 387 - pam 388 391 bashInteractive # for patch shebangs 389 392 ] 390 393 391 394 ++ lib.optionals wantGcrypt [ libgcrypt libgpg-error ] 392 395 ++ lib.optional withTests glib 396 + ++ lib.optional withAcl acl 393 397 ++ lib.optional withApparmor libapparmor 398 + ++ lib.optional withAudit audit 394 399 ++ lib.optional wantCurl (lib.getDev curl) 395 400 ++ lib.optionals withCompression [ bzip2 lz4 xz zstd ] 396 401 ++ lib.optional withCoredump elfutils 397 402 ++ lib.optional withCryptsetup (lib.getDev cryptsetup.dev) 398 403 ++ lib.optional withEfi gnu-efi 399 404 ++ lib.optional withKexectools kexec-tools 405 + ++ lib.optional withKmod kmod 406 + ++ lib.optional withLibidn2 libidn2 400 407 ++ lib.optional withLibseccomp libseccomp 401 408 ++ lib.optional withNetworkd iptables 409 + ++ lib.optional withPam pam 402 410 ++ lib.optional withPCRE2 pcre2 403 411 ++ lib.optional withSelinux libselinux 404 412 ++ lib.optional withRemote libmicrohttpd 405 - ++ lib.optionals withHomed [ p11-kit ] 413 + ++ lib.optionals (withHomed || withCryptsetup) [ p11-kit ] 406 414 ++ lib.optionals (withHomed || withCryptsetup) [ libfido2 ] 407 415 ++ lib.optionals withLibBPF [ libbpf ] 408 416 ++ lib.optional withTpm2Tss tpm2-tss ··· 424 432 "-Ddbuspolicydir=${placeholder "out"}/share/dbus-1/system.d" 425 433 "-Ddbussessionservicedir=${placeholder "out"}/share/dbus-1/services" 426 434 "-Ddbussystemservicedir=${placeholder "out"}/share/dbus-1/system-services" 435 + "-Dpam=${lib.boolToString withPam}" 427 436 "-Dpamconfdir=${placeholder "out"}/etc/pam.d" 428 437 "-Drootprefix=${placeholder "out"}" 429 438 "-Dpkgconfiglibdir=${placeholder "dev"}/lib/pkgconfig" ··· 435 444 "-Dglib=${lib.boolToString withTests}" 436 445 # while we do not run tests we should also not build them. Removes about 600 targets 437 446 "-Dtests=false" 447 + "-Dacl=${lib.boolToString withAcl}" 438 448 "-Danalyze=${lib.boolToString withAnalyze}" 449 + "-Daudit=${lib.boolToString withAudit}" 439 450 "-Dgcrypt=${lib.boolToString wantGcrypt}" 440 451 "-Dimportd=${lib.boolToString withImportd}" 441 452 "-Dlz4=${lib.boolToString withCompression}" ··· 461 472 "-Dsplit-usr=false" 462 473 "-Dlibcurl=${lib.boolToString wantCurl}" 463 474 "-Dlibidn=false" 464 - "-Dlibidn2=true" 475 + "-Dlibidn2=${lib.boolToString withLibidn2}" 465 476 "-Dquotacheck=false" 466 477 "-Dldconfig=false" 467 478 "-Dsmack=true" ··· 488 499 "-Dsysvinit-path=" 489 500 "-Dsysvrcnd-path=" 490 501 491 - "-Dkmod-path=${kmod}/bin/kmod" 492 502 "-Dsulogin-path=${util-linux}/bin/sulogin" 493 503 "-Dmount-path=${util-linux}/bin/mount" 494 504 "-Dumount-path=${util-linux}/bin/umount" ··· 500 510 # more frequent development builds 501 511 "-Dman=true" 502 512 513 + # Temporary disable the ukify tool. see https://github.com/NixOS/nixpkgs/pull/216826#issuecomment-1465228824 514 + "-Dukify=false" 515 + 503 516 "-Defi=${lib.boolToString withEfi}" 504 517 "-Dgnu-efi=${lib.boolToString withEfi}" 505 518 ] ++ lib.optionals withEfi [ ··· 522 535 ] ++ lib.optionals stdenv.hostPlatform.isMusl [ 523 536 "-Dgshadow=false" 524 537 "-Didn=false" 538 + ] ++ lib.optionals withKmod [ 539 + "-Dkmod=true" 540 + "-Dkmod-path=${kmod}/bin/kmod" 525 541 ]; 526 542 preConfigure = 527 543 let ··· 556 572 replacement = "${coreutils}/bin/cat"; 557 573 where = [ "test/create-busybox-container" "test/test-execute/exec-noexecpaths-simple.service" "src/journal/cat.c" ]; 558 574 } 559 - { search = "/sbin/modprobe"; replacement = "${lib.getBin kmod}/sbin/modprobe"; where = [ "units/modprobe@.service" ]; } 560 575 { 561 576 search = "/usr/lib/systemd/systemd-fsck"; 562 577 replacement = "$out/lib/systemd/systemd-fsck"; ··· 590 605 "src/import/pull-tar.c" 591 606 ]; 592 607 } 608 + ] ++ lib.optionals withKmod [ 609 + { search = "/sbin/modprobe"; replacement = "${lib.getBin kmod}/sbin/modprobe"; where = [ "units/modprobe@.service" ]; } 593 610 ]; 594 611 595 612 # { replacement, search, where } -> List[str] ··· 661 678 662 679 postInstall = '' 663 680 mkdir -p $out/example/systemd 664 - mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example 681 + mv $out/lib/{binfmt.d,sysctl.d,tmpfiles.d} $out/example 665 682 mv $out/lib/systemd/{system,user} $out/example/systemd 666 683 667 684 rm -rf $out/etc/systemd/system ··· 677 694 find $out -name "*kernel-install*" -exec rm {} \; 678 695 '' + lib.optionalString (!withDocumentation) '' 679 696 rm -rf $out/share/doc 697 + '' + lib.optionalString withKmod '' 698 + mv $out/lib/modules-load.d $out/example 680 699 ''; 681 700 682 701 # Avoid *.EFI binary stripping. At least on aarch64-linux strip ··· 711 730 # runtime; otherwise we can't and we need to reboot. 712 731 interfaceVersion = 2; 713 732 714 - inherit withCryptsetup withHostnamed withImportd withLocaled withMachined withPortabled withTimedated withUtmp util-linux kmod kbd; 733 + inherit withCryptsetup withHostnamed withImportd withKmod withLocaled withMachined withPortabled withTimedated withUtmp util-linux kmod kbd; 715 734 716 735 tests = { 717 736 inherit (nixosTests) switchTest;
+2 -2
pkgs/servers/hydron/default.nix
··· 3 3 , fetchFromGitHub 4 4 , gitUpdater 5 5 , pkg-config 6 - , ffmpeg 6 + , ffmpeg_4 7 7 }: 8 8 9 9 buildGoModule rec { ··· 21 21 proxyVendor = true; 22 22 23 23 nativeBuildInputs = [ pkg-config ]; 24 - buildInputs = [ ffmpeg ]; 24 + buildInputs = [ ffmpeg_4 ]; 25 25 26 26 passthru.updateScript = gitUpdater { 27 27 rev-prefix = "v";
+5
pkgs/servers/irc/solanum/default.nix
··· 57 57 doCheck = !stdenv.isDarwin; 58 58 59 59 enableParallelBuilding = true; 60 + # Missing install depends: 61 + # ...-binutils-2.40/bin/ld: cannot find ./.libs/libircd.so: No such file or directory 62 + # collect2: error: ld returned 1 exit status 63 + # make[4]: *** [Makefile:634: solanum] Error 1 64 + enableParallelInstalling = false; 60 65 61 66 meta = with lib; { 62 67 description = "An IRCd for unified networks";
+2 -2
pkgs/servers/misc/oven-media-engine/default.nix
··· 7 7 , perl 8 8 , openssl 9 9 , zlib 10 - , ffmpeg 10 + , ffmpeg_4 11 11 , libvpx 12 12 , libopus 13 13 , libuuid ··· 33 33 enableParallelBuilding = true; 34 34 35 35 nativeBuildInputs = [ bc pkg-config perl ]; 36 - buildInputs = [ openssl srt zlib ffmpeg libvpx libopus srtp jemalloc pcre2 libuuid hiredis ]; 36 + buildInputs = [ openssl srt zlib ffmpeg_4 libvpx libopus srtp jemalloc pcre2 libuuid hiredis ]; 37 37 38 38 preBuild = '' 39 39 patchShebangs core/colorg++
+3
pkgs/servers/monitoring/net-snmp/default.nix
··· 49 49 ++ lib.optional withPerlTools perlWithPkgs; 50 50 51 51 enableParallelBuilding = true; 52 + # Missing dependencies during relinking: 53 + # ./.libs/libnetsnmpagent.so: file not recognized: file format not recognized 54 + enableParallelInstalling = false; 52 55 doCheck = false; # tries to use networking 53 56 54 57 postInstall = ''
+2 -2
pkgs/servers/tvheadend/default.nix
··· 14 14 , bzip2 15 15 , dbus 16 16 , dtv-scan-tables 17 - , ffmpeg 17 + , ffmpeg_4 18 18 , gettext 19 19 , gnutar 20 20 , gzip ··· 64 64 avahi 65 65 bzip2 66 66 dbus 67 - ffmpeg 67 + ffmpeg_4 # depends on libav 68 68 gettext 69 69 gzip 70 70 libiconv
+1
pkgs/servers/x11/xorg/builder.sh
··· 37 37 38 38 39 39 enableParallelBuilding=1 40 + enableParallelInstalling=1 40 41 41 42 genericBuild
+1
pkgs/stdenv/generic/make-derivation.nix
··· 441 441 } // lib.optionalAttrs (enableParallelBuilding) { 442 442 inherit enableParallelBuilding; 443 443 enableParallelChecking = attrs.enableParallelChecking or true; 444 + enableParallelInstalling = attrs.enableParallelInstalling or true; 444 445 } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != [] || stdenv.hostPlatform.isMusl) { 445 446 NIX_HARDENING_ENABLE = enabledHardeningOptions; 446 447 } // lib.optionalAttrs (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform ? gcc.arch) {
+1
pkgs/stdenv/generic/setup.sh
··· 1376 1376 1377 1377 # shellcheck disable=SC2086 1378 1378 local flagsArray=( 1379 + ${enableParallelInstalling:+-j${NIX_BUILD_CORES}} 1379 1380 SHELL=$SHELL 1380 1381 ) 1381 1382 _accumFlagsArray makeFlags makeFlagsArray installFlags installFlagsArray
+5 -3
pkgs/test/stdenv/default.nix
··· 4 4 { stdenv 5 5 , pkgs 6 6 , lib 7 - , runCommand 8 7 , testers 9 8 }: 10 9 11 10 let 12 11 # early enough not to rebuild gcc but late enough to have patchelf 13 12 earlyPkgs = stdenv.__bootPackages.stdenv.__bootPackages; 13 + earlierPkgs = stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages; 14 14 # use a early stdenv so when hacking on stdenv this test can be run quickly 15 15 bootStdenv = stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv; 16 16 pkgsStructured = import pkgs.path { config = { structuredAttrsByDefault = true; }; inherit (stdenv.hostPlatform) system; }; 17 17 bootStdenvStructuredAttrsByDefault = pkgsStructured.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv; 18 + 19 + runCommand = earlierPkgs.runCommand; 18 20 19 21 20 22 ccWrapperSubstitutionsTest = { name, stdenv', extraAttrs ? { } }: ··· 101 103 hooks = lib.recurseIntoAttrs (import ./hooks.nix { stdenv = bootStdenv; pkgs = earlyPkgs; inherit lib; }); 102 104 103 105 outputs-no-out = runCommand "outputs-no-out-assert" { 104 - result = testers.testBuildFailure (stdenv.mkDerivation { 106 + result = earlierPkgs.testers.testBuildFailure (bootStdenv.mkDerivation { 105 107 NIX_DEBUG = 1; 106 108 name = "outputs-no-out"; 107 109 outputs = ["foo"]; ··· 113 115 114 116 # Assumption: the first output* variable to be configured is 115 117 # _overrideFirst outputDev "dev" "out" 116 - expectedMsg = "error: _assignFirst: could not find a non-empty variable to assign to outputDev.\n The following variables were all unset or empty:\n dev out"; 118 + expectedMsg = "error: _assignFirst: could not find a non-empty variable whose name to assign to outputDev.\n The following variables were all unset or empty:\n dev out"; 117 119 } '' 118 120 grep -F "$expectedMsg" $result/testBuildFailure.log >/dev/null 119 121 touch $out
+2 -2
pkgs/tools/audio/acoustid-fingerprinter/default.nix
··· 1 - { lib, stdenv, fetchurl, fetchpatch, cmake, pkg-config, qt4, taglib, chromaprint, ffmpeg }: 1 + { lib, stdenv, fetchurl, fetchpatch, cmake, pkg-config, qt4, taglib, chromaprint, ffmpeg_4 }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "acoustid-fingerprinter"; ··· 11 11 }; 12 12 13 13 nativeBuildInputs = [ cmake pkg-config ]; 14 - buildInputs = [ qt4 taglib chromaprint ffmpeg ]; 14 + buildInputs = [ qt4 taglib chromaprint ffmpeg_4 ]; 15 15 16 16 cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${lib.getVersion taglib}" ]; 17 17
+2 -2
pkgs/tools/audio/loudgain/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, cmake, pkg-config, ffmpeg, libebur128 1 + { lib, stdenv, fetchFromGitHub, cmake, pkg-config, ffmpeg_4, libebur128 2 2 , libresample, taglib, zlib }: 3 3 4 4 stdenv.mkDerivation rec { ··· 13 13 }; 14 14 15 15 nativeBuildInputs = [ cmake pkg-config ]; 16 - buildInputs = [ ffmpeg libebur128 libresample taglib zlib ]; 16 + buildInputs = [ ffmpeg_4 libebur128 libresample taglib zlib ]; 17 17 18 18 postInstall = '' 19 19 sed -e "1aPATH=$out/bin:\$PATH" -i "$out/bin/rgbpm"
+3
pkgs/tools/filesystems/xfsprogs/default.nix
··· 23 23 propagatedBuildInputs = [ libuuid ]; # Dev headers include <uuid/uuid.h> 24 24 25 25 enableParallelBuilding = true; 26 + # Install fails as: 27 + # make[1]: *** No rule to make target '\', needed by 'kmem.lo'. Stop. 28 + enableParallelInstalling = false; 26 29 27 30 # @sbindir@ is replaced with /run/current-system/sw/bin to fix dependency cycles 28 31 preConfigure = ''
+4
pkgs/tools/graphics/asymptote/default.nix
··· 67 67 ''; 68 68 69 69 enableParallelBuilding = true; 70 + # Missing install depends: 71 + # ...-coreutils-9.1/bin/install: cannot stat 'asy-keywords.el': No such file or directory 72 + # make: *** [Makefile:272: install-asy] Error 1 73 + enableParallelInstalling = false; 70 74 71 75 meta = with lib; { 72 76 description = "A tool for programming graphics intended to replace Metapost";
+2 -2
pkgs/tools/graphics/vulkan-cts/default.nix
··· 2 2 , fetchFromGitHub 3 3 , fetchurl 4 4 , cmake 5 - , ffmpeg 5 + , ffmpeg_4 6 6 , libdrm 7 7 , libglvnd 8 8 , libffi ··· 103 103 ''; 104 104 105 105 buildInputs = [ 106 - ffmpeg 106 + ffmpeg_4 107 107 libdrm 108 108 libffi 109 109 libglvnd
+2 -2
pkgs/tools/networking/dnsmasq/default.nix
··· 17 17 in 18 18 stdenv.mkDerivation rec { 19 19 pname = "dnsmasq"; 20 - version = "2.88"; 20 + version = "2.89"; 21 21 22 22 src = fetchurl { 23 23 url = "https://www.thekelleys.org.uk/dnsmasq/${pname}-${version}.tar.xz"; 24 - sha256 = "sha256-I1RN7aEDQMBTvqbxWpP+1up/WqqFMWv8Zx/6bSL7wbM="; 24 + sha256 = "sha256-Ar0jA0bPC51ZCfXhUd8WiycHEDeF62FrVmhYVa3rtgk="; 25 25 }; 26 26 27 27 postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
+2 -2
pkgs/tools/networking/modemmanager/default.nix
··· 23 23 24 24 stdenv.mkDerivation rec { 25 25 pname = "modemmanager"; 26 - version = "1.20.4"; 26 + version = "1.20.6"; 27 27 28 28 src = fetchFromGitLab { 29 29 domain = "gitlab.freedesktop.org"; 30 30 owner = "mobile-broadband"; 31 31 repo = "ModemManager"; 32 32 rev = version; 33 - hash = "sha256-OWP23EQ7a8rghhV7AC9yinCxRI0xwcntB5dl9XtgK6M="; 33 + hash = "sha256-/A4WTsUQVeZDi5ei6qBvqoWYLKdRcZaYZU8/qWOPrvM="; 34 34 }; 35 35 36 36 patches = [
+3 -2
pkgs/tools/networking/networkmanager/default.nix
··· 58 58 in 59 59 stdenv.mkDerivation rec { 60 60 pname = "networkmanager"; 61 - version = "1.40.12"; 61 + version = "1.42.2"; 62 62 63 63 src = fetchurl { 64 64 url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz"; 65 - sha256 = "sha256-wCJ+BKttAylmLfoKftxGbgQGJek2odjo4CoFM6cRca8="; 65 + sha256 = "sha256-3P6cXJCdOMga6VzP6JWjKKKhTBHaz7f1B760Be/OBYA="; 66 66 }; 67 67 68 68 outputs = [ "out" "dev" "devdoc" "man" "doc" ]; ··· 113 113 "-Dfirewalld_zone=false" 114 114 "-Dtests=no" 115 115 "-Dcrypto=gnutls" 116 + "-Dmobile_broadband_provider_info_database=${mobile-broadband-provider-info}/share/mobile-broadband-provider-info/serviceproviders.xml" 116 117 ]; 117 118 118 119 patches = [
+2 -2
pkgs/tools/networking/networkmanager/fix-install-paths.patch
··· 1 1 diff --git a/meson.build b/meson.build 2 - index 300e71319c..2a9fba7116 100644 2 + index 6813e52ac1..ecdb78ca54 100644 3 3 --- a/meson.build 4 4 +++ b/meson.build 5 - @@ -996,9 +996,9 @@ meson.add_install_script( 5 + @@ -999,9 +999,9 @@ meson.add_install_script( 6 6 join_paths('tools', 'meson-post-install.sh'), 7 7 nm_datadir, 8 8 nm_bindir,
+19 -19
pkgs/tools/networking/networkmanager/fix-paths.patch
··· 24 24 ExecStart=@sbindir@/NetworkManager --no-daemon 25 25 Restart=on-failure 26 26 diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c 27 - index c51da9ac82..ad67a301ef 100644 27 + index 3565c04d59..52c58fec24 100644 28 28 --- a/src/core/devices/nm-device.c 29 29 +++ b/src/core/devices/nm-device.c 30 - @@ -13879,14 +13879,14 @@ nm_device_start_ip_check(NMDevice *self) 30 + @@ -14005,14 +14005,14 @@ nm_device_start_ip_check(NMDevice *self) 31 31 gw = nm_l3_config_data_get_best_default_route(l3cd, AF_INET); 32 32 if (gw) { 33 - _nm_utils_inet4_ntop(NMP_OBJECT_CAST_IP4_ROUTE(gw)->gateway, buf); 33 + nm_inet4_ntop(NMP_OBJECT_CAST_IP4_ROUTE(gw)->gateway, buf); 34 34 - ping_binary = nm_utils_find_helper("ping", "/usr/bin/ping", NULL); 35 35 + ping_binary = "@iputils@/bin/ping"; 36 36 log_domain = LOGD_IP4; ··· 38 38 } else if (priv->ip_data_6.state == NM_DEVICE_IP_STATE_READY) { 39 39 gw = nm_l3_config_data_get_best_default_route(l3cd, AF_INET6); 40 40 if (gw) { 41 - _nm_utils_inet6_ntop(&NMP_OBJECT_CAST_IP6_ROUTE(gw)->gateway, buf); 41 + nm_inet6_ntop(&NMP_OBJECT_CAST_IP6_ROUTE(gw)->gateway, buf); 42 42 - ping_binary = nm_utils_find_helper("ping6", "/usr/bin/ping6", NULL); 43 43 + ping_binary = "@iputils@/bin/ping"; 44 44 log_domain = LOGD_IP6; 45 45 } 46 46 } 47 47 diff --git a/src/libnm-client-impl/meson.build b/src/libnm-client-impl/meson.build 48 - index 46464a6328..d943d4351a 100644 48 + index 143126c51a..a7143443ec 100644 49 49 --- a/src/libnm-client-impl/meson.build 50 50 +++ b/src/libnm-client-impl/meson.build 51 - @@ -171,7 +171,6 @@ if enable_introspection 51 + @@ -172,7 +172,6 @@ if enable_introspection 52 52 input: libnm_core_settings_sources, 53 53 output: 'nm-propery-infos-' + info + '.xml', 54 54 command: [ ··· 56 56 join_paths(meson.source_root(), 'tools', 'generate-docs-nm-property-infos.py'), 57 57 info, 58 58 '@OUTPUT@', 59 - @@ -228,7 +227,6 @@ if enable_introspection 59 + @@ -229,7 +228,6 @@ if enable_introspection 60 60 'env', 61 61 'GI_TYPELIB_PATH=' + gi_typelib_path, 62 62 'LD_LIBRARY_PATH=' + ld_library_path, ··· 78 78 g_ptr_array_add(argv, (char *) arg1); 79 79 80 80 diff --git a/src/libnmc-base/nm-vpn-helpers.c b/src/libnmc-base/nm-vpn-helpers.c 81 - index 7ad5bee509..2641dbf637 100644 81 + index 476fbe518e..2641dbf637 100644 82 82 --- a/src/libnmc-base/nm-vpn-helpers.c 83 83 +++ b/src/libnmc-base/nm-vpn-helpers.c 84 84 @@ -198,25 +198,8 @@ nm_vpn_openconnect_authenticate_helper(const char *host, ··· 86 86 const char *const *iter; 87 87 const char *path; 88 88 - const char *const DEFAULT_PATHS[] = { 89 - - "/sbin/", 90 - - "/usr/sbin/", 91 - - "/usr/local/sbin/", 92 - - "/bin/", 93 - - "/usr/bin/", 94 - - "/usr/local/bin/", 95 - - NULL, 89 + - "/sbin/", 90 + - "/usr/sbin/", 91 + - "/usr/local/sbin/", 92 + - "/bin/", 93 + - "/usr/bin/", 94 + - "/usr/local/bin/", 95 + - NULL, 96 96 - }; 97 97 98 98 - path = nm_utils_file_search_in_paths("openconnect", ··· 109 109 if (!g_spawn_sync(NULL, 110 110 (char **) NM_MAKE_STRV(path, "--authenticate", host), 111 111 diff --git a/src/libnmc-setting/meson.build b/src/libnmc-setting/meson.build 112 - index 49314cad2e..6d52624699 100644 112 + index cf8a21fc80..61b992a50e 100644 113 113 --- a/src/libnmc-setting/meson.build 114 114 +++ b/src/libnmc-setting/meson.build 115 115 @@ -7,7 +7,6 @@ if enable_docs ··· 121 121 '@OUTPUT@', 122 122 nm_property_infos_xml['nmcli'], 123 123 diff --git a/src/tests/client/meson.build b/src/tests/client/meson.build 124 - index b2e455bbbd..a12ebf212a 100644 124 + index 6dc0f2a2c8..0a32977a59 100644 125 125 --- a/src/tests/client/meson.build 126 126 +++ b/src/tests/client/meson.build 127 127 @@ -6,7 +6,6 @@ test( ··· 129 129 build_root, 130 130 source_root, 131 131 - python.path(), 132 + '--', 132 133 ], 133 - timeout: 120, 134 - ) 134 + env: [
+4
pkgs/tools/networking/vpnc/default.nix
··· 32 32 ''; 33 33 34 34 enableParallelBuilding = true; 35 + # Missing install depends: 36 + # install: target '...-vpnc-unstable-2021-11-04/share/doc/vpnc': No such file or directory 37 + # make: *** [Makefile:149: install-doc] Error 1 38 + enableParallelInstalling = false; 35 39 36 40 meta = with lib; { 37 41 homepage = "https://davidepucci.it/doc/vpnc/";
+2 -2
pkgs/tools/video/harvid/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, fetchpatch, ffmpeg, libjpeg, libpng, pkg-config }: 1 + { lib, stdenv, fetchFromGitHub, fetchpatch, ffmpeg_4, libjpeg, libpng, pkg-config }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "harvid"; ··· 23 23 24 24 nativeBuildInputs = [ pkg-config ]; 25 25 26 - buildInputs = [ ffmpeg libjpeg libpng ]; 26 + buildInputs = [ ffmpeg_4 libjpeg libpng ]; 27 27 28 28 makeFlags = [ "DESTDIR=$(out)" "libdir=\"/lib\"" ]; 29 29
+2 -2
pkgs/tools/video/untrunc-anthwlock/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, ffmpeg, libui }: 1 + { lib, stdenv, fetchFromGitHub, ffmpeg_4, libui }: 2 2 3 3 stdenv.mkDerivation { 4 4 pname = "untrunc-anthwlock"; ··· 11 11 sha256 = "14i2lq68q990hnm2kkfamlsi67bcml85zl8yjsyxc5h8ncc2f3dp"; 12 12 }; 13 13 14 - buildInputs = [ ffmpeg libui ]; 14 + buildInputs = [ ffmpeg_4 libui ]; 15 15 16 16 buildPhase = '' 17 17 runHook preBuild
+2 -2
pkgs/tools/video/xjadeo/default.nix
··· 1 - { lib, stdenv, autoreconfHook, fetchFromGitHub, ffmpeg, freetype, libGLU 1 + { lib, stdenv, autoreconfHook, fetchFromGitHub, ffmpeg_4, freetype, libGLU 2 2 , libjack2, liblo, libX11, libXv, pkg-config, portmidi, xorg }: 3 3 4 4 stdenv.mkDerivation rec { ··· 15 15 nativeBuildInputs = [ autoreconfHook pkg-config ]; 16 16 17 17 buildInputs = [ 18 - ffmpeg 18 + ffmpeg_4 19 19 libjack2 20 20 libX11 21 21 xorg.libXext
+1
pkgs/top-level/aliases.nix
··· 1225 1225 pidginwindowmerge = throw "'pidginwindowmerge' has been renamed to/replaced by 'pidgin-window-merge'"; # Converted to throw 2022-02-22 1226 1226 pifi = throw "pifi has been removed from nixpkgs, as it is no longer developed"; # Added 2022-01-19 1227 1227 ping = throw "'ping' does not build with recent valac and has been removed. If you are just looking for the 'ping' command use either 'iputils' or 'inetutils'"; # Added 2022-04-18 1228 + pipewire-media-session = throw "pipewire-media-session is no longer maintained and has been removed. Please use Wireplumber instead."; 1228 1229 piwik = throw "'piwik' has been renamed to/replaced by 'matomo'"; # Converted to throw 2022-02-22 1229 1230 pixie = throw "pixie has been removed: abandoned by upstream"; # Added 2022-04-21 1230 1231 pkgconfig = pkg-config; # Added 2018-02-02, moved to aliases.nix 2021-01-18
+16 -9
pkgs/top-level/all-packages.nix
··· 12753 12753 12754 12754 tinycbor = callPackage ../development/libraries/tinycbor { }; 12755 12755 12756 + tinycompress = callPackage ../development/libraries/tinycompress { }; 12757 + 12756 12758 tinyfecvpn = callPackage ../tools/networking/tinyfecvpn { }; 12757 12759 12758 12760 tinygltf = callPackage ../development/libraries/tinygltf { }; ··· 15398 15400 /**/ if platform.isDarwin then 11 15399 15401 else if platform.isFreeBSD then 12 15400 15402 else if platform.isAndroid then 12 15401 - else if platform.system == "armv6l-linux" then 7 # This fixes armv6 cross-compilation 15402 15403 else if platform.isLinux then 11 15403 15404 else if platform.isWasm then 12 15404 15405 else latest_version; ··· 16888 16889 ffmpeg = ffmpeg-headless; 16889 16890 }; 16890 16891 16891 - pipewire-media-session = callPackage ../development/libraries/pipewire/media-session.nix { }; 16892 - 16893 16892 pipewire_0_2 = callPackage ../development/libraries/pipewire/0.2.nix { }; 16894 16893 wireplumber = callPackage ../development/libraries/pipewire/wireplumber.nix { }; 16895 16894 ··· 16956 16955 mkRuby 16957 16956 ruby_2_7 16958 16957 ruby_3_0 16959 - ruby_3_1; 16958 + ruby_3_1 16959 + ruby_3_2; 16960 16960 16961 16961 ruby = ruby_2_7; 16962 16962 rubyPackages = rubyPackages_2_7; ··· 16964 16964 rubyPackages_2_7 = recurseIntoAttrs ruby_2_7.gems; 16965 16965 rubyPackages_3_0 = recurseIntoAttrs ruby_3_0.gems; 16966 16966 rubyPackages_3_1 = recurseIntoAttrs ruby_3_1.gems; 16967 + rubyPackages_3_2 = recurseIntoAttrs ruby_3_2.gems; 16967 16968 16968 16969 mruby = callPackage ../development/compilers/mruby { }; 16969 16970 ··· 18105 18106 18106 18107 gnumake = callPackage ../development/tools/build-managers/gnumake { }; 18107 18108 gnumake42 = callPackage ../development/tools/build-managers/gnumake/4.2 { }; 18108 - # openjdk-17 fails on 4.4.1. Provide 4.4 until we fix it. 18109 - gnumake44 = callPackage ../development/tools/build-managers/gnumake/4.4 { }; 18110 18109 18111 18110 go-licenses = callPackage ../development/tools/misc/go-licenses { }; 18112 18111 ··· 19871 19870 # update to ffmpeg 19872 19871 # Packages which use ffmpeg as a library, should pin to the relevant major 19873 19872 # version number which the upstream support. 19874 - ffmpeg = ffmpeg_4; 19875 - ffmpeg-headless = ffmpeg_4-headless; 19876 - ffmpeg-full = ffmpeg_4-full; 19873 + ffmpeg = ffmpeg_5; 19874 + ffmpeg-headless = ffmpeg_5-headless; 19875 + ffmpeg-full = ffmpeg_5-full; 19877 19876 19878 19877 ffmpegthumbnailer = callPackage ../development/libraries/ffmpegthumbnailer { }; 19879 19878 ··· 26975 26974 }; 26976 26975 systemdMinimal = systemd.override { 26977 26976 pname = "systemd-minimal"; 26977 + withAcl = false; 26978 26978 withAnalyze = false; 26979 26979 withApparmor = false; 26980 + withAudit = false; 26980 26981 withCompression = false; 26981 26982 withCoredump = false; 26982 26983 withCryptsetup = false; ··· 26987 26988 withHomed = false; 26988 26989 withHwdb = false; 26989 26990 withImportd = false; 26991 + withKmod = false; 26990 26992 withLibBPF = false; 26993 + withLibidn2 = false; 26991 26994 withLocaled = false; 26992 26995 withLogind = false; 26993 26996 withMachined = false; ··· 26995 26998 withNss = false; 26996 26999 withOomd = false; 26997 27000 withPCRE2 = false; 27001 + withPam = false; 26998 27002 withPolkit = false; 26999 27003 withPortabled = false; 27000 27004 withRemote = false; ··· 27007 27011 }; 27008 27012 systemdStage1 = systemdMinimal.override { 27009 27013 pname = "systemd-stage-1"; 27014 + withAcl = true; 27010 27015 withCryptsetup = true; 27011 27016 withFido2 = true; 27017 + withKmod = true; 27012 27018 withTpm2Tss = true; 27013 27019 }; 27014 27020 systemdStage1Network = systemdStage1.override { 27015 27021 pname = "systemd-stage-1-network"; 27016 27022 withNetworkd = true; 27023 + withLibidn2 = true; 27017 27024 }; 27018 27025 27019 27026