Merge branch 'staging' into staging-next

+1715 -2229
+91
nixos/doc/manual/release-notes/rl-2305.section.md
··· 12 13 - default linux: 5.15 -\> 6.1, all supported kernels available 14 15 - 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 17 - 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 19 - `nixos-rebuild` now supports an extra `--specialisation` option that can be used to change specialisation for `switch` and `test` commands. 20 21 ## New Services {#sec-release-23.05-new-services} 22 ··· 161 162 - 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 164 ## Other Notable Changes {#sec-release-23.05-notable-changes} 165 166 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. --> ··· 307 - The option `services.prometheus.exporters.pihole.interval` does not exist anymore and has been removed. 308 309 - `k3s` can now be configured with an EnvironmentFile for its systemd service, allowing secrets to be provided without ending up in the Nix Store.
··· 12 13 - default linux: 5.15 -\> 6.1, all supported kernels available 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 + 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. 20 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. 22 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). 26 27 ## New Services {#sec-release-23.05-new-services} 28 ··· 167 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. 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. 173 ## Other Notable Changes {#sec-release-23.05-notable-changes} 174 175 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. --> ··· 316 - The option `services.prometheus.exporters.pihole.interval` does not exist anymore and has been removed. 317 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 540 ###### implementation 541 542 - config = { 543 544 users.users = { 545 root = { ··· 601 text = '' 602 users=() 603 while IFS=: read -r user hash tail; do 604 - if [[ "$hash" = "$"* && ! "$hash" =~ ^\$(y|gy|7|2b|2y|2a|6)\$ ]]; then 605 users+=("$user") 606 fi 607 done </etc/shadow 608 609 if (( "''${#users[@]}" )); then 610 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 printf ' - %s\n' "''${users[@]}" 614 fi 615 ''; ··· 716 let 717 sep = "\\$"; 718 base64 = "[a-zA-Z0-9./]+"; 719 - id = "[a-z0-9-]+"; 720 value = "[a-zA-Z0-9/+.-]+"; 721 options = "${id}(=${value})?(,${id}=${value})*"; 722 scheme = "${id}(${sep}${options})?";
··· 539 540 ###### implementation 541 542 + config = let 543 + cryptSchemeIdPatternGroup = "(${lib.concatStringsSep "|" pkgs.libxcrypt.enabledCryptSchemeIds})"; 544 + in { 545 546 users.users = { 547 root = { ··· 603 text = '' 604 users=() 605 while IFS=: read -r user hash tail; do 606 + if [[ "$hash" = "$"* && ! "$hash" =~ ^\''$${cryptSchemeIdPatternGroup}\$ ]]; then 607 users+=("$user") 608 fi 609 done </etc/shadow 610 611 if (( "''${#users[@]}" )); then 612 echo " 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." 616 printf ' - %s\n' "''${users[@]}" 617 fi 618 ''; ··· 719 let 720 sep = "\\$"; 721 base64 = "[a-zA-Z0-9./]+"; 722 + id = cryptSchemeIdPatternGroup; 723 value = "[a-zA-Z0-9/+.-]+"; 724 options = "${id}(=${value})?(,${id}=${value})*"; 725 scheme = "${id}(${sep}${options})?";
-1
nixos/modules/module-list.nix
··· 431 ./services/desktops/gvfs.nix 432 ./services/desktops/malcontent.nix 433 ./services/desktops/neard.nix 434 - ./services/desktops/pipewire/pipewire-media-session.nix 435 ./services/desktops/pipewire/pipewire.nix 436 ./services/desktops/pipewire/wireplumber.nix 437 ./services/desktops/profile-sync-daemon.nix
··· 431 ./services/desktops/gvfs.nix 432 ./services/desktops/malcontent.nix 433 ./services/desktops/neard.nix 434 ./services/desktops/pipewire/pipewire.nix 435 ./services/desktops/pipewire/wireplumber.nix 436 ./services/desktops/profile-sync-daemon.nix
+1 -1
nixos/modules/security/pam.nix
··· 620 optionalString config.services.homed.enable '' 621 password sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so 622 '' + '' 623 - password sufficient pam_unix.so nullok sha512 624 '' + 625 optionalString config.security.pam.enableEcryptfs '' 626 password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so
··· 620 optionalString config.services.homed.enable '' 621 password sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so 622 '' + '' 623 + password sufficient pam_unix.so nullok yescrypt 624 '' + 625 optionalString config.security.pam.enableEcryptfs '' 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 with lib; 5 6 let 7 - json = pkgs.formats.json {}; 8 cfg = config.services.pipewire; 9 enable32BitAlsaPlugins = cfg.alsa.support32Bit 10 && pkgs.stdenv.isx86_64 ··· 18 mkdir -p "$out/lib" 19 ln -s "${cfg.package.jack}/lib" "$out/lib/pipewire" 20 ''; 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 in { 43 - 44 - meta = { 45 - maintainers = teams.freedesktop.members ++ [ lib.maintainers.k900 ]; 46 - # uses attributes of the linked package 47 - buildDocsInSandbox = false; 48 - }; 49 50 ###### interface 51 options = { ··· 69 ''; 70 }; 71 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 audio = { 120 enable = lib.mkOption { 121 type = lib.types.bool; ··· 153 https://github.com/PipeWire/pipewire/blob/master/NEWS 154 ''; 155 }; 156 - 157 }; 158 }; 159 160 161 ###### implementation 162 config = mkIf cfg.enable { ··· 222 source = "${cfg.package}/share/alsa/alsa.conf.d/99-pipewire-default.conf"; 223 }; 224 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 environment.sessionVariables.LD_LIBRARY_PATH = 242 lib.mkIf cfg.jack.enable [ "${cfg.package.jack}/lib" ]; 243 ··· 256 }; 257 groups.pipewire.gid = config.ids.gids.pipewire; 258 }; 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 }; 267 }
··· 4 with lib; 5 6 let 7 cfg = config.services.pipewire; 8 enable32BitAlsaPlugins = cfg.alsa.support32Bit 9 && pkgs.stdenv.isx86_64 ··· 17 mkdir -p "$out/lib" 18 ln -s "${cfg.package.jack}/lib" "$out/lib/pipewire" 19 ''; 20 in { 21 + meta.maintainers = teams.freedesktop.members ++ [ lib.maintainers.k900 ]; 22 23 ###### interface 24 options = { ··· 42 ''; 43 }; 44 45 audio = { 46 enable = lib.mkOption { 47 type = lib.types.bool; ··· 79 https://github.com/PipeWire/pipewire/blob/master/NEWS 80 ''; 81 }; 82 }; 83 }; 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 + ]; 96 97 ###### implementation 98 config = mkIf cfg.enable { ··· 158 source = "${cfg.package}/share/alsa/alsa.conf.d/99-pipewire-default.conf"; 159 }; 160 161 environment.sessionVariables.LD_LIBRARY_PATH = 162 lib.mkIf cfg.jack.enable [ "${cfg.package.jack}/lib" ]; 163 ··· 176 }; 177 groups.pipewire.gid = config.ids.gids.pipewire; 178 }; 179 }; 180 }
-4
nixos/modules/services/desktops/pipewire/wireplumber.nix
··· 29 config = lib.mkIf cfg.enable { 30 assertions = [ 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 assertion = !config.hardware.bluetooth.hsphfpd.enable; 37 message = "Using Wireplumber conflicts with hsphfpd, as it provides the same functionality. `hardware.bluetooth.hsphfpd.enable` needs be set to false"; 38 }
··· 29 config = lib.mkIf cfg.enable { 30 assertions = [ 31 { 32 assertion = !config.hardware.bluetooth.hsphfpd.enable; 33 message = "Using Wireplumber conflicts with hsphfpd, as it provides the same functionality. `hardware.bluetooth.hsphfpd.enable` needs be set to false"; 34 }
+1 -1
nixos/modules/services/x11/display-managers/gdm.nix
··· 323 324 account sufficient pam_unix.so 325 326 - password requisite pam_unix.so nullok sha512 327 328 session optional pam_keyinit.so revoke 329 session include login
··· 323 324 account sufficient pam_unix.so 325 326 + password requisite pam_unix.so nullok yescrypt 327 328 session optional pam_keyinit.so revoke 329 session include login
+1 -1
nixos/modules/services/x11/display-managers/lightdm.nix
··· 302 303 account sufficient pam_unix.so 304 305 - password requisite pam_unix.so nullok sha512 306 307 session optional pam_keyinit.so revoke 308 session include login
··· 302 303 account sufficient pam_unix.so 304 305 + password requisite pam_unix.so nullok yescrypt 306 307 session optional pam_keyinit.so revoke 308 session include login
+2
nixos/modules/system/boot/systemd.nix
··· 79 # Filesystems. 80 "systemd-fsck@.service" 81 "systemd-fsck-root.service" 82 "systemd-remount-fs.service" 83 "systemd-pstore.service" 84 "local-fs.target"
··· 79 # Filesystems. 80 "systemd-fsck@.service" 81 "systemd-fsck-root.service" 82 + "systemd-growfs@.service" 83 + "systemd-growfs-root.service" 84 "systemd-remount-fs.service" 85 "systemd-pstore.service" 86 "local-fs.target"
+2
nixos/modules/system/boot/systemd/initrd.nix
··· 56 "systemd-ask-password-console.path" 57 "systemd-ask-password-console.service" 58 "systemd-fsck@.service" 59 "systemd-halt.service" 60 "systemd-hibernate-resume@.service" 61 "systemd-journald-audit.socket" ··· 371 managerEnvironment.PATH = "/bin:/sbin"; 372 373 contents = { 374 "/init".source = "${cfg.package}/lib/systemd/systemd"; 375 "/etc/systemd/system".source = stage1Units; 376
··· 56 "systemd-ask-password-console.path" 57 "systemd-ask-password-console.service" 58 "systemd-fsck@.service" 59 + "systemd-growfs@.service" 60 "systemd-halt.service" 61 "systemd-hibernate-resume@.service" 62 "systemd-journald-audit.socket" ··· 372 managerEnvironment.PATH = "/bin:/sbin"; 373 374 contents = { 375 + "/tmp/.keep".text = "systemd requires the /tmp mount point in the initrd cpio archive"; 376 "/init".source = "${cfg.package}/lib/systemd/systemd"; 377 "/etc/systemd/system".source = stage1Units; 378
+1 -1
nixos/tests/pam/test_chfn.py
··· 8 "auth sufficient pam_rootok.so", 9 "auth sufficient pam_unix.so likeauth try_first_pass", 10 "password sufficient @@pam_krb5@@/lib/security/pam_krb5.so use_first_pass", 11 - "password sufficient pam_unix.so nullok sha512", 12 "session optional @@pam_krb5@@/lib/security/pam_krb5.so", 13 "session required pam_env.so conffile=/etc/pam/environment readenv=0", 14 "session required pam_unix.so",
··· 8 "auth sufficient pam_rootok.so", 9 "auth sufficient pam_unix.so likeauth try_first_pass", 10 "password sufficient @@pam_krb5@@/lib/security/pam_krb5.so use_first_pass", 11 + "password sufficient pam_unix.so nullok yescrypt", 12 "session optional @@pam_krb5@@/lib/security/pam_krb5.so", 13 "session required pam_env.so conffile=/etc/pam/environment readenv=0", 14 "session required pam_unix.so",
+2 -2
pkgs/applications/audio/moc/default.nix
··· 15 , musepackSupport ? true, libmpc, libmpcdec, taglib 16 , vorbisSupport ? true, libvorbis 17 , speexSupport ? true, speex 18 - , ffmpegSupport ? true, ffmpeg 19 , sndfileSupport ? true, libsndfile 20 , wavpackSupport ? true, wavpack 21 # Misc ··· 56 ++ lib.optionals musepackSupport [ libmpc libmpcdec taglib ] 57 ++ lib.optional vorbisSupport libvorbis 58 ++ lib.optional speexSupport speex 59 - ++ lib.optional ffmpegSupport ffmpeg 60 ++ lib.optional sndfileSupport libsndfile 61 ++ lib.optional wavpackSupport wavpack 62 # Misc
··· 15 , musepackSupport ? true, libmpc, libmpcdec, taglib 16 , vorbisSupport ? true, libvorbis 17 , speexSupport ? true, speex 18 + , ffmpegSupport ? true, ffmpeg_4 19 , sndfileSupport ? true, libsndfile 20 , wavpackSupport ? true, wavpack 21 # Misc ··· 56 ++ lib.optionals musepackSupport [ libmpc libmpcdec taglib ] 57 ++ lib.optional vorbisSupport libvorbis 58 ++ lib.optional speexSupport speex 59 + ++ lib.optional ffmpegSupport ffmpeg_4 60 ++ lib.optional sndfileSupport libsndfile 61 ++ lib.optional wavpackSupport wavpack 62 # Misc
+2 -2
pkgs/applications/audio/musly/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, cmake, eigen, ffmpeg }: 2 stdenv.mkDerivation { 3 pname = "musly"; 4 version = "unstable-2017-04-26"; ··· 9 sha256 = "1q42wvdwy2pac7bhfraqqj2czw7w2m33ms3ifjl8phm7d87i8825"; 10 }; 11 nativeBuildInputs = [ cmake ]; 12 - buildInputs = [ eigen ffmpeg ]; 13 fixupPhase = lib.optionalString stdenv.isDarwin '' 14 install_name_tool -change libmusly.dylib $out/lib/libmusly.dylib $out/bin/musly 15 install_name_tool -change libmusly_resample.dylib $out/lib/libmusly_resample.dylib $out/bin/musly
··· 1 + { lib, stdenv, fetchFromGitHub, cmake, eigen, ffmpeg_4 }: 2 stdenv.mkDerivation { 3 pname = "musly"; 4 version = "unstable-2017-04-26"; ··· 9 sha256 = "1q42wvdwy2pac7bhfraqqj2czw7w2m33ms3ifjl8phm7d87i8825"; 10 }; 11 nativeBuildInputs = [ cmake ]; 12 + buildInputs = [ eigen ffmpeg_4 ]; 13 fixupPhase = lib.optionalString stdenv.isDarwin '' 14 install_name_tool -change libmusly.dylib $out/lib/libmusly.dylib $out/bin/musly 15 install_name_tool -change libmusly_resample.dylib $out/lib/libmusly_resample.dylib $out/bin/musly
+4
pkgs/applications/audio/qsynth/default.nix
··· 16 buildInputs = [ alsa-lib fluidsynth libjack2 qtbase qttools qtx11extras ]; 17 18 enableParallelBuilding = true; 19 20 meta = with lib; { 21 description = "Fluidsynth GUI";
··· 16 buildInputs = [ alsa-lib fluidsynth libjack2 qtbase qttools qtx11extras ]; 17 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; 23 24 meta = with lib; { 25 description = "Fluidsynth GUI";
+2 -2
pkgs/applications/audio/spek/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, autoreconfHook, intltool, pkg-config, ffmpeg, wxGTK32, gtk3, wrapGAppsHook }: 2 3 stdenv.mkDerivation rec { 4 pname = "spek"; ··· 13 14 nativeBuildInputs = [ autoreconfHook intltool pkg-config wrapGAppsHook ]; 15 16 - buildInputs = [ ffmpeg wxGTK32 gtk3 ]; 17 18 meta = with lib; { 19 description = "Analyse your audio files by showing their spectrogram";
··· 1 + { lib, stdenv, fetchFromGitHub, autoreconfHook, intltool, pkg-config, ffmpeg_4, wxGTK32, gtk3, wrapGAppsHook }: 2 3 stdenv.mkDerivation rec { 4 pname = "spek"; ··· 13 14 nativeBuildInputs = [ autoreconfHook intltool pkg-config wrapGAppsHook ]; 15 16 + buildInputs = [ ffmpeg_4 wxGTK32 gtk3 ]; 17 18 meta = with lib; { 19 description = "Analyse your audio files by showing their spectrogram";
+2 -2
pkgs/applications/audio/tenacity/default.nix
··· 30 , expat 31 , libid3tag 32 , libopus 33 - , ffmpeg 34 , soundtouch 35 , pcre 36 , portaudio ··· 110 buildInputs = [ 111 alsa-lib 112 expat 113 - ffmpeg 114 file 115 flac 116 glib
··· 30 , expat 31 , libid3tag 32 , libopus 33 + , ffmpeg_4 34 , soundtouch 35 , pcre 36 , portaudio ··· 110 buildInputs = [ 111 alsa-lib 112 expat 113 + ffmpeg_4 114 file 115 flac 116 glib
+1 -1
pkgs/applications/blockchains/bitcoin-unlimited/default.nix
··· 58 homepage = "https://www.bitcoinunlimited.info/"; 59 maintainers = with maintainers; [ DmitryTsygankov ]; 60 license = licenses.mit; 61 - broken = stdenv.isDarwin; 62 platforms = platforms.unix; 63 }; 64 }
··· 58 homepage = "https://www.bitcoinunlimited.info/"; 59 maintainers = with maintainers; [ DmitryTsygankov ]; 60 license = licenses.mit; 61 + broken = true; 62 platforms = platforms.unix; 63 }; 64 }
+1
pkgs/applications/blockchains/dogecoin/default.nix
··· 54 license = licenses.mit; 55 maintainers = with maintainers; [ edwtjo offline ]; 56 platforms = platforms.unix; 57 }; 58 }
··· 54 license = licenses.mit; 55 maintainers = with maintainers; [ edwtjo offline ]; 56 platforms = platforms.unix; 57 + broken = true; 58 }; 59 }
+1 -1
pkgs/applications/blockchains/pivx/default.nix
··· 64 ''; 65 66 meta = with lib; { 67 - broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; 68 description = "An open source crypto-currency focused on fast private transactions"; 69 longDescription = '' 70 PIVX is an MIT licensed, open source, blockchain-based cryptocurrency with
··· 64 ''; 65 66 meta = with lib; { 67 + broken = true; 68 description = "An open source crypto-currency focused on fast private transactions"; 69 longDescription = '' 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 2 , libGLU, libGL, openal, pkg-config, sfml, lib, stdenv, zlib 3 }: 4 ··· 20 ''; 21 22 buildInputs = [ 23 - expat ffmpeg fontconfig freetype libarchive libjpeg libGLU libGL openal sfml zlib 24 ]; 25 26 meta = with lib; {
··· 1 + { expat, fetchFromGitHub, ffmpeg_4, fontconfig, freetype, libarchive, libjpeg 2 , libGLU, libGL, openal, pkg-config, sfml, lib, stdenv, zlib 3 }: 4 ··· 20 ''; 21 22 buildInputs = [ 23 + expat ffmpeg_4 fontconfig freetype libarchive libjpeg libGLU libGL openal sfml zlib 24 ]; 25 26 meta = with lib; {
+2 -2
pkgs/applications/emulators/citra/generic.nix
··· 20 , enableCubeb ? true, libpulseaudio 21 , enableFfmpegAudioDecoder ? true 22 , enableFfmpegVideoDumper ? true 23 - , ffmpeg 24 , useDiscordRichPresence ? true, rapidjson 25 , enableFdk ? false, fdk_aac 26 }: ··· 41 ++ lib.optional enableSdl2 SDL2 42 ++ lib.optional enableQtTranslation qttools 43 ++ lib.optional enableCubeb libpulseaudio 44 - ++ lib.optional (enableFfmpegAudioDecoder || enableFfmpegVideoDumper) ffmpeg 45 ++ lib.optional useDiscordRichPresence rapidjson 46 ++ lib.optional enableFdk fdk_aac; 47
··· 20 , enableCubeb ? true, libpulseaudio 21 , enableFfmpegAudioDecoder ? true 22 , enableFfmpegVideoDumper ? true 23 + , ffmpeg_4 24 , useDiscordRichPresence ? true, rapidjson 25 , enableFdk ? false, fdk_aac 26 }: ··· 41 ++ lib.optional enableSdl2 SDL2 42 ++ lib.optional enableQtTranslation qttools 43 ++ lib.optional enableCubeb libpulseaudio 44 + ++ lib.optional (enableFfmpegAudioDecoder || enableFfmpegVideoDumper) ffmpeg_4 45 ++ lib.optional useDiscordRichPresence rapidjson 46 ++ lib.optional enableFdk fdk_aac; 47
+2 -2
pkgs/applications/emulators/pcsxr/default.nix
··· 1 { lib, stdenv, fetchurl, autoreconfHook, intltool, pkg-config, gtk3, SDL2, xorg 2 - , wrapGAppsHook, libcdio, nasm, ffmpeg, file 3 , fetchpatch }: 4 5 stdenv.mkDerivation rec { ··· 52 53 nativeBuildInputs = [ autoreconfHook intltool pkg-config wrapGAppsHook ]; 54 buildInputs = [ 55 - gtk3 SDL2 xorg.libXv xorg.libXtst libcdio nasm ffmpeg file 56 xorg.libXxf86vm 57 ]; 58
··· 1 { lib, stdenv, fetchurl, autoreconfHook, intltool, pkg-config, gtk3, SDL2, xorg 2 + , wrapGAppsHook, libcdio, nasm, ffmpeg_4, file 3 , fetchpatch }: 4 5 stdenv.mkDerivation rec { ··· 52 53 nativeBuildInputs = [ autoreconfHook intltool pkg-config wrapGAppsHook ]; 54 buildInputs = [ 55 + gtk3 SDL2 xorg.libXv xorg.libXtst libcdio nasm ffmpeg_4 file 56 xorg.libXxf86vm 57 ]; 58
+2 -2
pkgs/applications/emulators/ppsspp/default.nix
··· 4 , SDL2 5 , cmake 6 , copyDesktopItems 7 - , ffmpeg 8 , glew 9 , libffi 10 , libsForQt5 ··· 59 60 buildInputs = [ 61 SDL2 62 - ffmpeg 63 (glew.override { enableEGL = forceWayland; }) 64 libzip 65 snappy
··· 4 , SDL2 5 , cmake 6 , copyDesktopItems 7 + , ffmpeg_4 8 , glew 9 , libffi 10 , libsForQt5 ··· 59 60 buildInputs = [ 61 SDL2 62 + ffmpeg_4 63 (glew.override { enableEGL = forceWayland; }) 64 libzip 65 snappy
+2 -1
pkgs/applications/emulators/retroarch/cores.nix
··· 7 , curl 8 , fetchFromGitHub 9 , ffmpeg 10 , fluidsynth 11 , gettext 12 , hexdump ··· 755 ppsspp = mkLibretroCore { 756 core = "ppsspp"; 757 extraNativeBuildInputs = [ cmake pkg-config python3 ]; 758 - extraBuildInputs = [ libGLU libGL libzip ffmpeg snappy xorg.libX11 ]; 759 makefile = "Makefile"; 760 cmakeFlags = [ 761 "-DLIBRETRO=ON"
··· 7 , curl 8 , fetchFromGitHub 9 , ffmpeg 10 + , ffmpeg_4 11 , fluidsynth 12 , gettext 13 , hexdump ··· 756 ppsspp = mkLibretroCore { 757 core = "ppsspp"; 758 extraNativeBuildInputs = [ cmake pkg-config python3 ]; 759 + extraBuildInputs = [ libGLU libGL libzip ffmpeg_4 snappy xorg.libX11 ]; 760 makefile = "Makefile"; 761 cmakeFlags = [ 762 "-DLIBRETRO=ON"
+2 -2
pkgs/applications/graphics/digikam/default.nix
··· 24 , boost 25 , eigen 26 , exiv2 27 - , ffmpeg 28 , flex 29 , graphviz 30 , imagemagick ··· 70 boost 71 eigen 72 exiv2 73 - ffmpeg 74 flex 75 graphviz 76 imagemagick
··· 24 , boost 25 , eigen 26 , exiv2 27 + , ffmpeg_4 28 , flex 29 , graphviz 30 , imagemagick ··· 70 boost 71 eigen 72 exiv2 73 + ffmpeg_4 74 flex 75 graphviz 76 imagemagick
+1
pkgs/applications/graphics/fluxus/default.nix
··· 72 license = licenses.gpl2; 73 homepage = "http://www.pawfal.org/fluxus/"; 74 maintainers = [ maintainers.brainrape ]; 75 }; 76 }
··· 72 license = licenses.gpl2; 73 homepage = "http://www.pawfal.org/fluxus/"; 74 maintainers = [ maintainers.brainrape ]; 75 + broken = true; 76 }; 77 }
+1
pkgs/applications/graphics/gnome-decoder/default.nix
··· 78 platforms = platforms.linux; 79 mainProgram = "decoder"; 80 maintainers = with maintainers; [ zendo ]; 81 }; 82 }
··· 78 platforms = platforms.linux; 79 mainProgram = "decoder"; 80 maintainers = with maintainers; [ zendo ]; 81 + broken = true; 82 }; 83 }
+11 -2
pkgs/applications/networking/browsers/w3m/default.nix
··· 5 , x11Support ? graphicsSupport, libX11 6 , mouseSupport ? !stdenv.isDarwin, gpm-ncurses 7 , perl, man, pkg-config, buildPackages, w3m 8 }: 9 10 let ··· 19 }; 20 in stdenv.mkDerivation rec { 21 pname = "w3m"; 22 - version = "0.5.3+git20220429"; 23 24 src = fetchFromGitHub { 25 owner = "tats"; 26 repo = pname; 27 rev = "v${version}"; 28 - hash = "sha256-aPPLZjjL3A5Tk0hv0NoAwJnjemC7a5RUoubhUr3lQE4="; 29 }; 30 31 NIX_LDFLAGS = lib.optionalString stdenv.isSunOS "-lsocket -lnsl"; ··· 84 # see: https://bbs.archlinux.org/viewtopic.php?id=196093 85 LIBS = lib.optionalString x11Support "-lX11"; 86 87 meta = with lib; { 88 homepage = "https://w3m.sourceforge.net/"; 89 description = "A text-mode web browser"; 90 maintainers = with maintainers; [ cstrahan anthonyroussel ]; 91 platforms = platforms.unix; 92 license = licenses.mit; 93 }; 94 }
··· 5 , x11Support ? graphicsSupport, libX11 6 , mouseSupport ? !stdenv.isDarwin, gpm-ncurses 7 , perl, man, pkg-config, buildPackages, w3m 8 + , testers 9 }: 10 11 let ··· 20 }; 21 in stdenv.mkDerivation rec { 22 pname = "w3m"; 23 + version = "0.5.3+git20230121"; 24 25 src = fetchFromGitHub { 26 owner = "tats"; 27 repo = pname; 28 rev = "v${version}"; 29 + hash = "sha256-upb5lWqhC1jRegzTncIz5e21v4Pw912FyVn217HucFs="; 30 }; 31 32 NIX_LDFLAGS = lib.optionalString stdenv.isSunOS "-lsocket -lnsl"; ··· 85 # see: https://bbs.archlinux.org/viewtopic.php?id=196093 86 LIBS = lib.optionalString x11Support "-lX11"; 87 88 + passthru.tests.version = testers.testVersion { 89 + inherit version; 90 + package = w3m; 91 + command = "w3m -version"; 92 + }; 93 + 94 meta = with lib; { 95 homepage = "https://w3m.sourceforge.net/"; 96 + changelog = "https://github.com/tats/w3m/blob/v${version}/ChangeLog"; 97 description = "A text-mode web browser"; 98 maintainers = with maintainers; [ cstrahan anthonyroussel ]; 99 platforms = platforms.unix; 100 license = licenses.mit; 101 + mainProgram = "w3m"; 102 }; 103 }
+2 -2
pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
··· 16 , kwayland 17 , lz4 18 , xxHash 19 - , ffmpeg 20 , openalSoft 21 , minizip 22 , libopus ··· 132 qtsvg 133 lz4 134 xxHash 135 - ffmpeg 136 openalSoft 137 minizip 138 libopus
··· 16 , kwayland 17 , lz4 18 , xxHash 19 + , ffmpeg_4 20 , openalSoft 21 , minizip 22 , libopus ··· 132 qtsvg 133 lz4 134 xxHash 135 + ffmpeg_4 136 openalSoft 137 minizip 138 libopus
+2 -2
pkgs/applications/science/biology/febio-studio/default.nix
··· 1 { lib, stdenv, fetchFromGitHub, cmake, zlib, libglvnd, libGLU, wrapQtAppsHook 2 , sshSupport ? true, openssl, libssh 3 , tetgenSupport ? true, tetgen 4 - , ffmpegSupport ? true, ffmpeg 5 , dicomSupport ? false, dcmtk 6 , withModelRepo ? true 7 , withCadFeatures ? false ··· 47 buildInputs = [ zlib libglvnd libGLU openssl libssh ] 48 ++ lib.optional sshSupport openssl 49 ++ lib.optional tetgenSupport tetgen 50 - ++ lib.optional ffmpegSupport ffmpeg 51 ++ lib.optional dicomSupport dcmtk 52 ; 53
··· 1 { lib, stdenv, fetchFromGitHub, cmake, zlib, libglvnd, libGLU, wrapQtAppsHook 2 , sshSupport ? true, openssl, libssh 3 , tetgenSupport ? true, tetgen 4 + , ffmpegSupport ? true, ffmpeg_4 5 , dicomSupport ? false, dcmtk 6 , withModelRepo ? true 7 , withCadFeatures ? false ··· 47 buildInputs = [ zlib libglvnd libGLU openssl libssh ] 48 ++ lib.optional sshSupport openssl 49 ++ lib.optional tetgenSupport tetgen 50 + ++ lib.optional ffmpegSupport ffmpeg_4 51 ++ lib.optional dicomSupport dcmtk 52 ; 53
+4
pkgs/applications/science/math/gretl/default.nix
··· 28 nativeBuildInputs = [ pkg-config ]; 29 30 enableParallelBuilding = true; 31 32 meta = with lib; { 33 description = "A software package for econometric analysis";
··· 28 nativeBuildInputs = [ pkg-config ]; 29 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; 35 36 meta = with lib; { 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, 2 git, gl2ps, gpp , gtest, jdk, libGL, libGLU, libX11, libjpeg, 3 libpng, libtiff, libxcrypt, openscenegraph , proj, python3, 4 python3Packages, stdenv, swig, xercesc, xorg, zlib }: ··· 24 buildInputs = [ 25 bzip2 26 eigen 27 - ffmpeg 28 fox_1_6 29 gdal 30 gl2ps
··· 1 + { lib, bzip2, cmake, eigen, fetchFromGitHub, ffmpeg_4, fox_1_6, gdal, 2 git, gl2ps, gpp , gtest, jdk, libGL, libGLU, libX11, libjpeg, 3 libpng, libtiff, libxcrypt, openscenegraph , proj, python3, 4 python3Packages, stdenv, swig, xercesc, xorg, zlib }: ··· 24 buildInputs = [ 25 bzip2 26 eigen 27 + ffmpeg_4 28 fox_1_6 29 gdal 30 gl2ps
+2 -1
pkgs/applications/terminal-emulators/syncterm/default.nix
··· 32 33 meta = with lib; { 34 # error: unsupported option '-fsanitize=safe-stack' for target 'x86_64-apple-darwin' 35 - broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; 36 homepage = "https://syncterm.bbsdev.net/"; 37 description = "BBS terminal emulator"; 38 maintainers = with maintainers; [ embr ];
··· 32 33 meta = with lib; { 34 # error: unsupported option '-fsanitize=safe-stack' for target 'x86_64-apple-darwin' 35 + # broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; 36 + broken = true; # sendmsg.c:(.text+0x1099): undefined reference to `pthread_yield' 37 homepage = "https://syncterm.bbsdev.net/"; 38 description = "BBS terminal emulator"; 39 maintainers = with maintainers; [ embr ];
+4
pkgs/applications/version-management/subversion/default.nix
··· 100 inherit perlBindings pythonBindings; 101 102 enableParallelBuilding = true; 103 104 nativeCheckInputs = [ python3 ]; 105 doCheck = false; # fails 10 out of ~2300 tests
··· 100 inherit perlBindings pythonBindings; 101 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; 107 108 nativeCheckInputs = [ python3 ]; 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 }: 2 3 mkDerivation rec { 4 pname = "bino"; ··· 11 12 nativeBuildInputs = [ pkg-config ]; 13 14 - buildInputs = [ ffmpeg glew libass openal qtbase ]; 15 16 enableParallelBuilding = true; 17
··· 1 + { mkDerivation, lib, fetchurl, pkg-config, ffmpeg_4, glew, libass, openal, qtbase }: 2 3 mkDerivation rec { 4 pname = "bino"; ··· 11 12 nativeBuildInputs = [ pkg-config ]; 13 14 + buildInputs = [ ffmpeg_4 glew libass openal qtbase ]; 15 16 enableParallelBuilding = true; 17
+3 -3
pkgs/applications/video/bombono/default.nix
··· 8 , dvdplusrwtools 9 , enca 10 , cdrkit 11 - , ffmpeg 12 , gettext 13 , gtk2 14 , gtkmm2 ··· 60 dvdauthor 61 dvdplusrwtools 62 enca 63 - ffmpeg 64 gtk2 65 gtkmm2 66 libdvdread ··· 76 # fix iso authoring 77 install -Dt $out/share/bombono/resources/scons_authoring tools/scripts/SConsTwin.py 78 79 - wrapProgram $out/bin/bombono-dvd --prefix PATH : ${lib.makeBinPath [ ffmpeg dvdauthor cdrkit ]} 80 ''; 81 82 meta = with lib; {
··· 8 , dvdplusrwtools 9 , enca 10 , cdrkit 11 + , ffmpeg_4 12 , gettext 13 , gtk2 14 , gtkmm2 ··· 60 dvdauthor 61 dvdplusrwtools 62 enca 63 + ffmpeg_4 64 gtk2 65 gtkmm2 66 libdvdread ··· 76 # fix iso authoring 77 install -Dt $out/share/bombono/resources/scons_authoring tools/scripts/SConsTwin.py 78 79 + wrapProgram $out/bin/bombono-dvd --prefix PATH : ${lib.makeBinPath [ ffmpeg_4 dvdauthor cdrkit ]} 80 ''; 81 82 meta = with lib; {
+2 -2
pkgs/applications/video/ccextractor/default.nix
··· 9 , makeWrapper 10 , tesseract4 11 , leptonica 12 - , ffmpeg 13 }: 14 15 stdenv.mkDerivation rec { ··· 37 38 buildInputs = [ zlib ] 39 ++ lib.optional (!stdenv.isLinux) libiconv 40 - ++ lib.optionals enableOcr [ leptonica tesseract4 ffmpeg ]; 41 42 cmakeFlags = [ 43 # file RPATH_CHANGE could not write new RPATH:
··· 9 , makeWrapper 10 , tesseract4 11 , leptonica 12 + , ffmpeg_4 13 }: 14 15 stdenv.mkDerivation rec { ··· 37 38 buildInputs = [ zlib ] 39 ++ lib.optional (!stdenv.isLinux) libiconv 40 + ++ lib.optionals enableOcr [ leptonica tesseract4 ffmpeg_4 ]; 41 42 cmakeFlags = [ 43 # file RPATH_CHANGE could not write new RPATH:
+2 -2
pkgs/applications/video/dvdstyler/default.nix
··· 7 , docbook-xsl-nons 8 , dvdauthor 9 , dvdplusrwtools 10 - , ffmpeg 11 , flex 12 , fontconfig 13 , gettext ··· 61 cdrtools 62 dvdauthor 63 dvdplusrwtools 64 - ffmpeg 65 fontconfig 66 glib 67 libexif
··· 7 , docbook-xsl-nons 8 , dvdauthor 9 , dvdplusrwtools 10 + , ffmpeg_4 11 , flex 12 , fontconfig 13 , gettext ··· 61 cdrtools 62 dvdauthor 63 dvdplusrwtools 64 + ffmpeg_4 65 fontconfig 66 glib 67 libexif
+2 -2
pkgs/applications/video/mplayer/default.nix
··· 1 - { config, lib, stdenv, fetchurl, fetchsvn, pkg-config, freetype, yasm, ffmpeg 2 , aalibSupport ? true, aalib 3 , fontconfigSupport ? true, fontconfig, freefont_ttf 4 , fribidiSupport ? true, fribidi ··· 87 depsBuildBuild = [ buildPackages.stdenv.cc ]; 88 nativeBuildInputs = [ pkg-config yasm ]; 89 buildInputs = with lib; 90 - [ freetype ffmpeg ] 91 ++ optional aalibSupport aalib 92 ++ optional fontconfigSupport fontconfig 93 ++ optional fribidiSupport fribidi
··· 1 + { config, lib, stdenv, fetchurl, fetchsvn, pkg-config, freetype, yasm, ffmpeg_4 2 , aalibSupport ? true, aalib 3 , fontconfigSupport ? true, fontconfig, freefont_ttf 4 , fribidiSupport ? true, fribidi ··· 87 depsBuildBuild = [ buildPackages.stdenv.cc ]; 88 nativeBuildInputs = [ pkg-config yasm ]; 89 buildInputs = with lib; 90 + [ freetype ffmpeg_4 ] 91 ++ optional aalibSupport aalib 92 ++ optional fontconfigSupport fontconfig 93 ++ optional fribidiSupport fribidi
+2 -2
pkgs/applications/video/olive-editor/default.nix
··· 1 { lib, stdenv, fetchFromGitHub 2 , pkg-config, which, qmake, wrapQtAppsHook 3 - , qtmultimedia, frei0r, opencolorio_1, ffmpeg-full, CoreFoundation }: 4 5 stdenv.mkDerivation rec { 6 pname = "olive-editor"; ··· 25 ]; 26 27 buildInputs = [ 28 - ffmpeg-full 29 frei0r 30 opencolorio_1 31 qtmultimedia
··· 1 { lib, stdenv, fetchFromGitHub 2 , pkg-config, which, qmake, wrapQtAppsHook 3 + , qtmultimedia, frei0r, opencolorio_1, ffmpeg_4, CoreFoundation }: 4 5 stdenv.mkDerivation rec { 6 pname = "olive-editor"; ··· 25 ]; 26 27 buildInputs = [ 28 + ffmpeg_4 29 frei0r 30 opencolorio_1 31 qtmultimedia
+1
pkgs/applications/video/rtabmap/default.nix
··· 60 license = licenses.bsd3; 61 maintainers = with maintainers; [ ckie ]; 62 platforms = with platforms; linux; 63 }; 64 }
··· 60 license = licenses.bsd3; 61 maintainers = with maintainers; [ ckie ]; 62 platforms = with platforms; linux; 63 + broken = true; 64 }; 65 }
+2 -2
pkgs/applications/video/simplescreenrecorder/default.nix
··· 1 - { lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg, libjack2, libX11, libXext, libXinerama, qtx11extras 2 , libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja 3 }: 4 ··· 30 31 nativeBuildInputs = [ pkg-config cmake ninja ]; 32 buildInputs = [ 33 - alsa-lib ffmpeg libjack2 libX11 libXext libXfixes libXinerama libGLU libGL 34 libpulseaudio libv4l qtbase qttools qtx11extras 35 ]; 36
··· 1 + { lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg_4, libjack2, libX11, libXext, libXinerama, qtx11extras 2 , libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja 3 }: 4 ··· 30 31 nativeBuildInputs = [ pkg-config cmake ninja ]; 32 buildInputs = [ 33 + alsa-lib ffmpeg_4 libjack2 libX11 libXext libXfixes libXinerama libGLU libGL 34 libpulseaudio libv4l qtbase qttools qtx11extras 35 ]; 36
+2 -2
pkgs/applications/video/webcamoid/default.nix
··· 1 { lib, fetchFromGitHub, pkg-config, libxcb, mkDerivation, cmake 2 , qtbase, qtdeclarative, qtquickcontrols, qtquickcontrols2 3 - , ffmpeg-full, gst_all_1, libpulseaudio, alsa-lib, jack2 4 , v4l-utils }: 5 mkDerivation rec { 6 pname = "webcamoid"; ··· 16 buildInputs = [ 17 libxcb 18 qtbase qtdeclarative qtquickcontrols qtquickcontrols2 19 - ffmpeg-full 20 gst_all_1.gstreamer gst_all_1.gst-plugins-base 21 alsa-lib libpulseaudio jack2 22 v4l-utils
··· 1 { lib, fetchFromGitHub, pkg-config, libxcb, mkDerivation, cmake 2 , qtbase, qtdeclarative, qtquickcontrols, qtquickcontrols2 3 + , ffmpeg_4, gst_all_1, libpulseaudio, alsa-lib, jack2 4 , v4l-utils }: 5 mkDerivation rec { 6 pname = "webcamoid"; ··· 16 buildInputs = [ 17 libxcb 18 qtbase qtdeclarative qtquickcontrols qtquickcontrols2 19 + ffmpeg_4 20 gst_all_1.gstreamer gst_all_1.gst-plugins-base 21 alsa-lib libpulseaudio jack2 22 v4l-utils
+1 -1
pkgs/build-support/docker/default.nix
··· 190 cat > /etc/pam.d/other <<EOF 191 account sufficient pam_unix.so 192 auth sufficient pam_rootok.so 193 - password requisite pam_unix.so nullok sha512 194 session required pam_unix.so 195 EOF 196 fi
··· 190 cat > /etc/pam.d/other <<EOF 191 account sufficient pam_unix.so 192 auth sufficient pam_rootok.so 193 + password requisite pam_unix.so nullok yescrypt 194 session required pam_unix.so 195 EOF 196 fi
+6 -5
pkgs/build-support/setup-hooks/multiple-outputs.sh
··· 13 # specific to this function's use case, which is setting up the output variables. 14 _assignFirst() { 15 local varName="$1" 16 local REMOVE=REMOVE # slightly hacky - we allow REMOVE (i.e. not a variable name) 17 shift 18 - for var in "$@"; do 19 - if [ -n "${!var-}" ]; then eval "${varName}"="${var}"; return; fi 20 done 21 echo 22 - echo "error: _assignFirst: could not find a non-empty variable to assign to ${varName}." 23 echo " The following variables were all unset or empty:" 24 echo " $*" 25 if [ -z "${out:-}" ]; then ··· 138 139 # remove empty directories, printing iff at least one gets removed 140 local srcParent="$(readlink -m "$srcPath/..")" 141 - if rmdir "$srcParent"; then 142 echo "Removing empty $srcParent/ and (possibly) its parents" 143 - rmdir -p --ignore-fail-on-non-empty "$(readlink -m "$srcParent/..")" \ 144 2> /dev/null || true # doesn't ignore failure for some reason 145 fi 146 done
··· 13 # specific to this function's use case, which is setting up the output variables. 14 _assignFirst() { 15 local varName="$1" 16 + local _var 17 local REMOVE=REMOVE # slightly hacky - we allow REMOVE (i.e. not a variable name) 18 shift 19 + for _var in "$@"; do 20 + if [ -n "${!_var-}" ]; then eval "${varName}"="${_var}"; return; fi 21 done 22 echo 23 + echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}." 24 echo " The following variables were all unset or empty:" 25 echo " $*" 26 if [ -z "${out:-}" ]; then ··· 139 140 # remove empty directories, printing iff at least one gets removed 141 local srcParent="$(readlink -m "$srcPath/..")" 142 + if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2>/dev/null)" ]; then 143 echo "Removing empty $srcParent/ and (possibly) its parents" 144 + rmdir -p --ignore-fail-on-non-empty "$srcParent" \ 145 2> /dev/null || true # doesn't ignore failure for some reason 146 fi 147 done
+3
pkgs/build-support/setup-hooks/separate-debug-info.sh
··· 11 local dst="${debug:-$out}" 12 if [ "$prefix" = "$dst" ]; then return 0; fi 13 14 dst="$dst/lib/debug/.build-id" 15 16 # Find executables and dynamic libraries.
··· 11 local dst="${debug:-$out}" 12 if [ "$prefix" = "$dst" ]; then return 0; fi 13 14 + # in case there is nothing to strip, don't fail the build 15 + mkdir -p "$dst" 16 + 17 dst="$dst/lib/debug/.build-id" 18 19 # Find executables and dynamic libraries.
+1 -1
pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
··· 32 license = licenses.gpl3Plus; 33 maintainers = with maintainers; [ doronbehar ]; 34 platforms = platforms.linux; 35 }; 36 } 37 -
··· 32 license = licenses.gpl3Plus; 33 maintainers = with maintainers; [ doronbehar ]; 34 platforms = platforms.linux; 35 + broken = true; 36 }; 37 }
+5 -3
pkgs/development/compilers/gcc/11/default.nix
··· 249 250 targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; 251 252 - buildFlags = optional 253 - (targetPlatform == hostPlatform && hostPlatform == buildPlatform) 254 - (if profiledCompiler then "profiledbootstrap" else "bootstrap"); 255 256 inherit (callFile ../common/strip-attributes.nix { }) 257 stripDebugList
··· 249 250 targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; 251 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; 257 258 inherit (callFile ../common/strip-attributes.nix { }) 259 stripDebugList
+5 -3
pkgs/development/compilers/gcc/12/default.nix
··· 284 285 targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; 286 287 - buildFlags = optional 288 - (targetPlatform == hostPlatform && hostPlatform == buildPlatform) 289 - (if profiledCompiler then "profiledbootstrap" else "bootstrap"); 290 291 inherit (callFile ../common/strip-attributes.nix { }) 292 stripDebugList
··· 284 285 targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; 286 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; 292 293 inherit (callFile ../common/strip-attributes.nix { }) 294 stripDebugList
+11
pkgs/development/compilers/gcc/builder.sh
··· 250 done 251 fi 252 253 # Get rid of some "fixed" header files 254 rm -rfv $out/lib/gcc/*/*/include-fixed/{root,linux} 255
··· 250 done 251 fi 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 + 264 # Get rid of some "fixed" header files 265 rm -rfv $out/lib/gcc/*/*/include-fixed/{root,linux} 266
-1
pkgs/development/compilers/llvm/10/clang/default.nix
··· 26 buildInputs = [ libxml2 libllvm ]; 27 28 cmakeFlags = [ 29 - "-DCMAKE_CXX_FLAGS=-std=c++14" 30 "-DCLANGD_BUILD_XPC=OFF" 31 "-DLLVM_ENABLE_RTTI=ON" 32 ] ++ lib.optionals enableManpages [
··· 26 buildInputs = [ libxml2 libllvm ]; 27 28 cmakeFlags = [ 29 "-DCLANGD_BUILD_XPC=OFF" 30 "-DLLVM_ENABLE_RTTI=ON" 31 ] ++ lib.optionals enableManpages [
+5
pkgs/development/compilers/llvm/10/compiler-rt/default.nix
··· 33 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 34 "-DCOMPILER_RT_BUILD_XRAY=OFF" 35 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 36 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 37 ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ 38 "-DCMAKE_C_COMPILER_WORKS=ON" ··· 61 ./gnu-install-dirs.patch 62 ../../common/compiler-rt/libsanitizer-no-cyclades-11.patch 63 ./X86-support-extension.patch # backported from LLVM 11 64 ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch; 65 66 # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
··· 33 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 34 "-DCOMPILER_RT_BUILD_XRAY=OFF" 35 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 36 + ] ++ lib.optionals (useLLVM || bareMetal) [ 37 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 38 ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ 39 "-DCMAKE_C_COMPILER_WORKS=ON" ··· 62 ./gnu-install-dirs.patch 63 ../../common/compiler-rt/libsanitizer-no-cyclades-11.patch 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 69 ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch; 70 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 , zlib 16 , buildLlvmTools 17 , debugVersion ? false 18 , enableManpages ? false 19 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 20 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 30 shortVersion = with lib; 31 concatStringsSep "." (take 1 (splitString "." release_version)); 32 33 in stdenv.mkDerivation (rec { 34 pname = "llvm"; 35 inherit version; ··· 48 49 outputs = [ "out" "lib" "dev" "python" ]; 50 51 - nativeBuildInputs = [ cmake python3 ] 52 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 53 54 buildInputs = [ libxml2 libffi ] ··· 255 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 256 ''; 257 258 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) 259 - && (stdenv.hostPlatform == stdenv.buildPlatform); 260 261 checkTarget = "check-all"; 262
··· 15 , zlib 16 , buildLlvmTools 17 , debugVersion ? false 18 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) 19 + && (stdenv.hostPlatform == stdenv.buildPlatform) 20 , enableManpages ? false 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 32 shortVersion = with lib; 33 concatStringsSep "." (take 1 (splitString "." release_version)); 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 + 58 in stdenv.mkDerivation (rec { 59 pname = "llvm"; 60 inherit version; ··· 73 74 outputs = [ "out" "lib" "dev" "python" ]; 75 76 + nativeBuildInputs = [ cmake python ] 77 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 78 79 buildInputs = [ libxml2 libffi ] ··· 280 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 281 ''; 282 283 + inherit doCheck; 284 285 checkTarget = "check-all"; 286
-1
pkgs/development/compilers/llvm/11/clang/default.nix
··· 28 buildInputs = [ libxml2 libllvm ]; 29 30 cmakeFlags = [ 31 - "-DCMAKE_CXX_FLAGS=-std=c++14" 32 "-DCLANGD_BUILD_XPC=OFF" 33 "-DLLVM_ENABLE_RTTI=ON" 34 ] ++ lib.optionals enableManpages [
··· 28 buildInputs = [ libxml2 libllvm ]; 29 30 cmakeFlags = [ 31 "-DCLANGD_BUILD_XPC=OFF" 32 "-DLLVM_ENABLE_RTTI=ON" 33 ] ++ lib.optionals enableManpages [
+5
pkgs/development/compilers/llvm/11/compiler-rt/default.nix
··· 34 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 35 "-DCOMPILER_RT_BUILD_XRAY=OFF" 36 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 37 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 38 ] ++ lib.optionals (!haveLibc || bareMetal) [ 39 "-DCMAKE_C_COMPILER_WORKS=ON" ··· 66 ../../common/compiler-rt/libsanitizer-no-cyclades-11.patch 67 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch 68 ./armv7l.patch 69 ]; 70 71 preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
··· 34 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 35 "-DCOMPILER_RT_BUILD_XRAY=OFF" 36 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 37 + ] ++ lib.optionals (useLLVM || bareMetal) [ 38 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 39 ] ++ lib.optionals (!haveLibc || bareMetal) [ 40 "-DCMAKE_C_COMPILER_WORKS=ON" ··· 67 ../../common/compiler-rt/libsanitizer-no-cyclades-11.patch 68 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch 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 74 ]; 75 76 preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
+27 -3
pkgs/development/compilers/llvm/11/llvm/default.nix
··· 15 , zlib 16 , buildLlvmTools 17 , debugVersion ? false 18 , enableManpages ? false 19 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 20 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 30 shortVersion = with lib; 31 concatStringsSep "." (take 1 (splitString "." release_version)); 32 33 in stdenv.mkDerivation (rec { 34 pname = "llvm"; 35 inherit version; ··· 48 49 outputs = [ "out" "lib" "dev" "python" ]; 50 51 - nativeBuildInputs = [ cmake python3 ] 52 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 53 54 buildInputs = [ libxml2 libffi ] ··· 267 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 268 ''; 269 270 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) && (!stdenv.hostPlatform.isRiscV) 271 - && (stdenv.hostPlatform == stdenv.buildPlatform); 272 273 checkTarget = "check-all"; 274
··· 15 , zlib 16 , buildLlvmTools 17 , debugVersion ? false 18 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) && (!stdenv.hostPlatform.isRiscV) 19 + && (stdenv.hostPlatform == stdenv.buildPlatform) 20 , enableManpages ? false 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 32 shortVersion = with lib; 33 concatStringsSep "." (take 1 (splitString "." release_version)); 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 + 58 in stdenv.mkDerivation (rec { 59 pname = "llvm"; 60 inherit version; ··· 73 74 outputs = [ "out" "lib" "dev" "python" ]; 75 76 + nativeBuildInputs = [ cmake python ] 77 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 78 79 buildInputs = [ libxml2 libffi ] ··· 292 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 293 ''; 294 295 + inherit doCheck; 296 297 checkTarget = "check-all"; 298
-1
pkgs/development/compilers/llvm/12/clang/default.nix
··· 29 buildInputs = [ libxml2 libllvm ]; 30 31 cmakeFlags = [ 32 - "-DCMAKE_CXX_FLAGS=-std=c++14" 33 "-DCLANGD_BUILD_XPC=OFF" 34 "-DLLVM_ENABLE_RTTI=ON" 35 ] ++ lib.optionals enableManpages [
··· 29 buildInputs = [ libxml2 libllvm ]; 30 31 cmakeFlags = [ 32 "-DCLANGD_BUILD_XPC=OFF" 33 "-DLLVM_ENABLE_RTTI=ON" 34 ] ++ lib.optionals enableManpages [
+6 -1
pkgs/development/compilers/llvm/12/compiler-rt/default.nix
··· 34 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 35 "-DCOMPILER_RT_BUILD_XRAY=OFF" 36 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 37 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 38 - "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 39 ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ 40 "-DCMAKE_C_COMPILER_WORKS=ON" 41 "-DCMAKE_CXX_COMPILER_WORKS=ON" ··· 66 ./normalize-var.patch 67 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch 68 ./armv7l.patch 69 ]; 70 71 # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
··· 34 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 35 "-DCOMPILER_RT_BUILD_XRAY=OFF" 36 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 37 + "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 38 + ] ++ lib.optionals (useLLVM || bareMetal) [ 39 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 40 ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ 41 "-DCMAKE_C_COMPILER_WORKS=ON" 42 "-DCMAKE_CXX_COMPILER_WORKS=ON" ··· 67 ./normalize-var.patch 68 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch 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 74 ]; 75 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 , zlib 16 , buildLlvmTools 17 , debugVersion ? false 18 , enableManpages ? false 19 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 20 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 30 shortVersion = with lib; 31 concatStringsSep "." (take 1 (splitString "." release_version)); 32 33 in stdenv.mkDerivation (rec { 34 pname = "llvm"; 35 inherit version; ··· 48 49 outputs = [ "out" "lib" "dev" "python" ]; 50 51 - nativeBuildInputs = [ cmake python3 ] 52 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 53 54 buildInputs = [ libxml2 libffi ] ··· 255 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 256 ''; 257 258 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 259 - && (stdenv.hostPlatform == stdenv.buildPlatform); 260 261 checkTarget = "check-all"; 262
··· 15 , zlib 16 , buildLlvmTools 17 , debugVersion ? false 18 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 19 + && (stdenv.hostPlatform == stdenv.buildPlatform) 20 , enableManpages ? false 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 32 shortVersion = with lib; 33 concatStringsSep "." (take 1 (splitString "." release_version)); 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 + 58 in stdenv.mkDerivation (rec { 59 pname = "llvm"; 60 inherit version; ··· 73 74 outputs = [ "out" "lib" "dev" "python" ]; 75 76 + nativeBuildInputs = [ cmake python ] 77 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 78 79 buildInputs = [ libxml2 libffi ] ··· 280 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 281 ''; 282 283 + inherit doCheck; 284 285 checkTarget = "check-all"; 286
-1
pkgs/development/compilers/llvm/13/clang/default.nix
··· 19 buildInputs = [ libxml2 libllvm ]; 20 21 cmakeFlags = [ 22 - "-DCMAKE_CXX_FLAGS=-std=c++14" 23 "-DCLANGD_BUILD_XPC=OFF" 24 "-DLLVM_ENABLE_RTTI=ON" 25 ] ++ lib.optionals enableManpages [
··· 19 buildInputs = [ libxml2 libllvm ]; 20 21 cmakeFlags = [ 22 "-DCLANGD_BUILD_XPC=OFF" 23 "-DLLVM_ENABLE_RTTI=ON" 24 ] ++ lib.optionals enableManpages [
+8 -1
pkgs/development/compilers/llvm/13/compiler-rt/default.nix
··· 37 ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ 38 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 39 "-DCOMPILER_RT_BUILD_XRAY=OFF" 40 - "-DCOMPILER_RT_BUILD_PROFILE=OFF" 41 "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 42 "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary 43 ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ 44 "-DCMAKE_C_COMPILER_WORKS=ON" 45 "-DCMAKE_CXX_COMPILER_WORKS=ON" ··· 71 ./darwin-targetconditionals.patch 72 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch 73 ./armv7l.patch 74 ]; 75 76 # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
··· 37 ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ 38 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 39 "-DCOMPILER_RT_BUILD_XRAY=OFF" 40 "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 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" 44 ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ 45 "-DCMAKE_C_COMPILER_WORKS=ON" 46 "-DCMAKE_CXX_COMPILER_WORKS=ON" ··· 72 ./darwin-targetconditionals.patch 73 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch 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 81 ]; 82 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 , which 17 , buildLlvmTools 18 , debugVersion ? false 19 , enableManpages ? false 20 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 21 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 31 shortVersion = with lib; 32 concatStringsSep "." (take 1 (splitString "." release_version)); 33 34 in stdenv.mkDerivation (rec { 35 pname = "llvm"; 36 inherit version; ··· 40 41 outputs = [ "out" "lib" "dev" "python" ]; 42 43 - nativeBuildInputs = [ cmake python3 ] 44 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 45 46 buildInputs = [ libxml2 libffi ] ··· 217 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 218 ''; 219 220 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 221 - && (stdenv.hostPlatform == stdenv.buildPlatform); 222 223 checkTarget = "check-all"; 224
··· 16 , which 17 , buildLlvmTools 18 , debugVersion ? false 19 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 20 + && (stdenv.hostPlatform == stdenv.buildPlatform) 21 , enableManpages ? false 22 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 23 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 33 shortVersion = with lib; 34 concatStringsSep "." (take 1 (splitString "." release_version)); 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 + 59 in stdenv.mkDerivation (rec { 60 pname = "llvm"; 61 inherit version; ··· 65 66 outputs = [ "out" "lib" "dev" "python" ]; 67 68 + nativeBuildInputs = [ cmake python ] 69 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 70 71 buildInputs = [ libxml2 libffi ] ··· 242 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 243 ''; 244 245 + inherit doCheck; 246 247 checkTarget = "check-all"; 248
-1
pkgs/development/compilers/llvm/14/clang/default.nix
··· 27 buildInputs = [ libxml2 libllvm ]; 28 29 cmakeFlags = [ 30 - "-DCMAKE_CXX_FLAGS=-std=c++14" 31 "-DCLANGD_BUILD_XPC=OFF" 32 "-DLLVM_ENABLE_RTTI=ON" 33 ] ++ lib.optionals enableManpages [
··· 27 buildInputs = [ libxml2 libllvm ]; 28 29 cmakeFlags = [ 30 "-DCLANGD_BUILD_XPC=OFF" 31 "-DLLVM_ENABLE_RTTI=ON" 32 ] ++ lib.optionals enableManpages [
+6
pkgs/development/compilers/llvm/14/compiler-rt/default.nix
··· 81 ./darwin-targetconditionals.patch 82 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch 83 ./armv7l.patch 84 ]; 85 86 # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
··· 81 ./darwin-targetconditionals.patch 82 ../../common/compiler-rt/darwin-plistbuddy-workaround.patch 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 90 ]; 91 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 { lowPrio, newScope, pkgs, lib, stdenv, cmake 2 , gccForLibs, preLibcCrossHeaders 3 - , libxml2, python3, isl, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith 4 , buildLlvmTools # tools, but from the previous stage, for cross 5 , targetLlvmLibraries # libraries, but from the next stage, for cross 6 , targetLlvm ··· 52 }; 53 54 tools = lib.makeExtensible (tools: let 55 - callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version monorepoSrc buildLlvmTools; }); 56 mkExtraBuildCommands0 = cc: '' 57 rsrc="$out/resource-root" 58 mkdir "$rsrc" ··· 232 }); 233 234 libraries = lib.makeExtensible (libraries: let 235 - callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version monorepoSrc; }); 236 in { 237 238 compiler-rt-libc = callPackage ./compiler-rt {
··· 1 { lowPrio, newScope, pkgs, lib, stdenv, cmake 2 , gccForLibs, preLibcCrossHeaders 3 + , libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith 4 , buildLlvmTools # tools, but from the previous stage, for cross 5 , targetLlvmLibraries # libraries, but from the next stage, for cross 6 , targetLlvm ··· 52 }; 53 54 tools = lib.makeExtensible (tools: let 55 + callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 release_version version monorepoSrc buildLlvmTools; }); 56 mkExtraBuildCommands0 = cc: '' 57 rsrc="$out/resource-root" 58 mkdir "$rsrc" ··· 232 }); 233 234 libraries = lib.makeExtensible (libraries: let 235 + callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 release_version version monorepoSrc; }); 236 in { 237 238 compiler-rt-libc = callPackage ./compiler-rt {
+30 -5
pkgs/development/compilers/llvm/14/llvm/default.nix
··· 17 , which 18 , buildLlvmTools 19 , debugVersion ? false 20 , enableManpages ? false 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 23 # broken for the armv7l builder 24 , enablePFM ? stdenv.isLinux && !stdenv.hostPlatform.isAarch 25 - , enablePolly ? false 26 } @args: 27 28 let ··· 32 shortVersion = with lib; 33 concatStringsSep "." (take 1 (splitString "." release_version)); 34 35 in stdenv.mkDerivation (rec { 36 pname = "llvm"; 37 inherit version; ··· 42 cp -r ${monorepoSrc}/${pname} "$out" 43 cp -r ${monorepoSrc}/third-party "$out" 44 '' + lib.optionalString enablePolly '' 45 - cp -r ${monorepoSrc}/polly "$out/llvm/tools" 46 ''); 47 48 sourceRoot = "${src.name}/${pname}"; 49 50 outputs = [ "out" "lib" "dev" "python" ]; 51 52 - nativeBuildInputs = [ cmake python3 ] 53 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 54 55 buildInputs = [ libxml2 libffi ] ··· 229 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 230 ''; 231 232 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 233 - && (stdenv.hostPlatform == stdenv.buildPlatform); 234 235 checkTarget = "check-all"; 236
··· 17 , which 18 , buildLlvmTools 19 , debugVersion ? false 20 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 21 + && (stdenv.hostPlatform == stdenv.buildPlatform) 22 , enableManpages ? false 23 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 24 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 25 # broken for the armv7l builder 26 , enablePFM ? stdenv.isLinux && !stdenv.hostPlatform.isAarch 27 + , enablePolly ? true 28 } @args: 29 30 let ··· 34 shortVersion = with lib; 35 concatStringsSep "." (take 1 (splitString "." release_version)); 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 + 60 in stdenv.mkDerivation (rec { 61 pname = "llvm"; 62 inherit version; ··· 67 cp -r ${monorepoSrc}/${pname} "$out" 68 cp -r ${monorepoSrc}/third-party "$out" 69 '' + lib.optionalString enablePolly '' 70 + chmod u+w "$out/${pname}/tools" 71 + cp -r ${monorepoSrc}/polly "$out/${pname}/tools" 72 ''); 73 74 sourceRoot = "${src.name}/${pname}"; 75 76 outputs = [ "out" "lib" "dev" "python" ]; 77 78 + nativeBuildInputs = [ cmake python ] 79 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 80 81 buildInputs = [ libxml2 libffi ] ··· 255 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 256 ''; 257 258 + inherit doCheck; 259 260 checkTarget = "check-all"; 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") 75 diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake 76 index 518a09b45a42..bd9d6f5542ad 100644 77 --- a/tools/polly/cmake/polly_macros.cmake ··· 87 endif() 88 set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) 89 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 + 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 + 5 diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake 6 index 518a09b45a42..bd9d6f5542ad 100644 7 --- a/tools/polly/cmake/polly_macros.cmake ··· 17 endif() 18 set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) 19 endmacro(add_polly_library)
+1 -1
pkgs/development/compilers/llvm/15/compiler-rt/default.nix
··· 48 "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 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" 52 ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ 53 "-DCMAKE_C_COMPILER_WORKS=ON" 54 "-DCMAKE_CXX_COMPILER_WORKS=ON"
··· 48 "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 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" 52 ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ 53 "-DCMAKE_C_COMPILER_WORKS=ON" 54 "-DCMAKE_CXX_COMPILER_WORKS=ON"
+1
pkgs/development/compilers/llvm/5/compiler-rt/default.nix
··· 30 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 31 "-DCOMPILER_RT_BUILD_XRAY=OFF" 32 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 33 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 34 ] ++ lib.optionals (useLLVM || bareMetal) [ 35 "-DCMAKE_C_COMPILER_WORKS=ON"
··· 30 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 31 "-DCOMPILER_RT_BUILD_XRAY=OFF" 32 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 33 + ] ++ lib.optionals (useLLVM || bareMetal) [ 34 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 35 ] ++ lib.optionals (useLLVM || bareMetal) [ 36 "-DCMAKE_C_COMPILER_WORKS=ON"
+1
pkgs/development/compilers/llvm/6/compiler-rt/default.nix
··· 30 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 31 "-DCOMPILER_RT_BUILD_XRAY=OFF" 32 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 33 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 34 ] ++ lib.optionals (useLLVM || bareMetal) [ 35 "-DCMAKE_C_COMPILER_WORKS=ON"
··· 30 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 31 "-DCOMPILER_RT_BUILD_XRAY=OFF" 32 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 33 + ] ++ lib.optionals (useLLVM || bareMetal) [ 34 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 35 ] ++ lib.optionals (useLLVM || bareMetal) [ 36 "-DCMAKE_C_COMPILER_WORKS=ON"
+27 -3
pkgs/development/compilers/llvm/6/llvm/default.nix
··· 13 , zlib 14 , buildLlvmTools 15 , fetchpatch 16 , debugVersion ? false 17 , enableManpages ? false 18 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic ··· 26 versionSuffixes = with lib; 27 let parts = splitVersion release_version; in 28 imap (i: _: concatStringsSep "." (take i parts)) parts; 29 in 30 31 stdenv.mkDerivation (rec { ··· 46 47 outputs = [ "out" "lib" "dev" "python" ]; 48 49 - nativeBuildInputs = [ cmake python3 ] 50 ++ optional enableManpages python3.pkgs.sphinx; 51 52 buildInputs = [ libxml2 libffi ]; ··· 227 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 228 ''; 229 230 - doCheck = stdenv.isLinux && (!stdenv.isi686) 231 - && (stdenv.hostPlatform == stdenv.buildPlatform); 232 233 checkTarget = "check-all"; 234
··· 13 , zlib 14 , buildLlvmTools 15 , fetchpatch 16 + , doCheck ? stdenv.isLinux && (!stdenv.isi686) 17 + && (stdenv.hostPlatform == stdenv.buildPlatform) 18 , debugVersion ? false 19 , enableManpages ? false 20 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic ··· 28 versionSuffixes = with lib; 29 let parts = splitVersion release_version; in 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; 54 in 55 56 stdenv.mkDerivation (rec { ··· 71 72 outputs = [ "out" "lib" "dev" "python" ]; 73 74 + nativeBuildInputs = [ cmake python ] 75 ++ optional enableManpages python3.pkgs.sphinx; 76 77 buildInputs = [ libxml2 libffi ]; ··· 252 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 253 ''; 254 255 + inherit doCheck; 256 257 checkTarget = "check-all"; 258
+1
pkgs/development/compilers/llvm/7/compiler-rt/default.nix
··· 31 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 32 "-DCOMPILER_RT_BUILD_XRAY=OFF" 33 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 34 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 35 ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ 36 "-DCMAKE_C_COMPILER_WORKS=ON"
··· 31 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 32 "-DCOMPILER_RT_BUILD_XRAY=OFF" 33 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 34 + ] ++ lib.optionals (useLLVM || bareMetal) [ 35 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 36 ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ 37 "-DCMAKE_C_COMPILER_WORKS=ON"
+27 -3
pkgs/development/compilers/llvm/7/llvm/default.nix
··· 15 , zlib 16 , buildLlvmTools 17 , debugVersion ? false 18 , enableManpages ? false 19 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 20 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 31 let parts = splitVersion release_version; in 32 imap (i: _: concatStringsSep "." (take i parts)) parts; 33 34 in stdenv.mkDerivation (rec { 35 pname = "llvm"; 36 inherit version; ··· 49 50 outputs = [ "out" "lib" "dev" "python" ]; 51 52 - nativeBuildInputs = [ cmake python3 ] 53 ++ optional enableManpages python3.pkgs.sphinx; 54 55 buildInputs = [ libxml2 libffi ] ··· 245 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 246 ''; 247 248 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) 249 - && (stdenv.hostPlatform == stdenv.buildPlatform); 250 251 checkTarget = "check-all"; 252
··· 15 , zlib 16 , buildLlvmTools 17 , debugVersion ? false 18 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) 19 + && (stdenv.hostPlatform == stdenv.buildPlatform) 20 , enableManpages ? false 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 33 let parts = splitVersion release_version; in 34 imap (i: _: concatStringsSep "." (take i parts)) parts; 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 + 59 in stdenv.mkDerivation (rec { 60 pname = "llvm"; 61 inherit version; ··· 74 75 outputs = [ "out" "lib" "dev" "python" ]; 76 77 + nativeBuildInputs = [ cmake python ] 78 ++ optional enableManpages python3.pkgs.sphinx; 79 80 buildInputs = [ libxml2 libffi ] ··· 270 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 271 ''; 272 273 + inherit doCheck; 274 275 checkTarget = "check-all"; 276
+1
pkgs/development/compilers/llvm/8/compiler-rt/default.nix
··· 31 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 32 "-DCOMPILER_RT_BUILD_XRAY=OFF" 33 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 34 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 35 ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ 36 "-DCMAKE_C_COMPILER_WORKS=ON"
··· 31 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 32 "-DCOMPILER_RT_BUILD_XRAY=OFF" 33 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 34 + ] ++ lib.optionals (useLLVM || bareMetal) [ 35 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 36 ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ 37 "-DCMAKE_C_COMPILER_WORKS=ON"
+27 -3
pkgs/development/compilers/llvm/8/llvm/default.nix
··· 15 , zlib 16 , buildLlvmTools 17 , debugVersion ? false 18 , enableManpages ? false 19 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 20 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 30 shortVersion = with lib; 31 concatStringsSep "." (take 1 (splitVersion release_version)); 32 33 in stdenv.mkDerivation (rec { 34 pname = "llvm"; 35 inherit version; ··· 48 49 outputs = [ "out" "lib" "dev" "python" ]; 50 51 - nativeBuildInputs = [ cmake python3 ] 52 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 53 54 buildInputs = [ libxml2 libffi ] ··· 237 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 238 ''; 239 240 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) 241 - && (stdenv.hostPlatform == stdenv.buildPlatform); 242 243 checkTarget = "check-all"; 244
··· 15 , zlib 16 , buildLlvmTools 17 , debugVersion ? false 18 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) 19 + && (stdenv.hostPlatform == stdenv.buildPlatform) 20 , enableManpages ? false 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 32 shortVersion = with lib; 33 concatStringsSep "." (take 1 (splitVersion release_version)); 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 + 58 in stdenv.mkDerivation (rec { 59 pname = "llvm"; 60 inherit version; ··· 73 74 outputs = [ "out" "lib" "dev" "python" ]; 75 76 + nativeBuildInputs = [ cmake python ] 77 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 78 79 buildInputs = [ libxml2 libffi ] ··· 262 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 263 ''; 264 265 + inherit doCheck; 266 267 checkTarget = "check-all"; 268
+5
pkgs/development/compilers/llvm/9/compiler-rt/default.nix
··· 31 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 32 "-DCOMPILER_RT_BUILD_XRAY=OFF" 33 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 34 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 35 ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ 36 "-DCMAKE_C_COMPILER_WORKS=ON" ··· 60 ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory 61 ./gnu-install-dirs.patch 62 ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch 63 ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch; 64 65 # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
··· 31 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 32 "-DCOMPILER_RT_BUILD_XRAY=OFF" 33 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 34 + ] ++ lib.optionals (useLLVM || bareMetal) [ 35 "-DCOMPILER_RT_BUILD_PROFILE=OFF" 36 ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ 37 "-DCMAKE_C_COMPILER_WORKS=ON" ··· 61 ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory 62 ./gnu-install-dirs.patch 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 68 ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch; 69 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 , zlib 16 , buildLlvmTools 17 , debugVersion ? false 18 , enableManpages ? false 19 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 20 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 30 shortVersion = with lib; 31 concatStringsSep "." (take 1 (splitString "." release_version)); 32 33 in stdenv.mkDerivation (rec { 34 pname = "llvm"; 35 inherit version; ··· 48 49 outputs = [ "out" "lib" "dev" "python" ]; 50 51 - nativeBuildInputs = [ cmake python3 ] 52 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 53 54 buildInputs = [ libxml2 libffi ] ··· 252 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 253 ''; 254 255 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isRiscV) 256 - && (stdenv.hostPlatform == stdenv.buildPlatform); 257 258 checkTarget = "check-all"; 259
··· 15 , zlib 16 , buildLlvmTools 17 , debugVersion ? false 18 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isRiscV) 19 + && (stdenv.hostPlatform == stdenv.buildPlatform) 20 , enableManpages ? false 21 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 22 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 ··· 32 shortVersion = with lib; 33 concatStringsSep "." (take 1 (splitString "." release_version)); 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 + 58 in stdenv.mkDerivation (rec { 59 pname = "llvm"; 60 inherit version; ··· 73 74 outputs = [ "out" "lib" "dev" "python" ]; 75 76 + nativeBuildInputs = [ cmake python ] 77 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 78 79 buildInputs = [ libxml2 libffi ] ··· 277 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 278 ''; 279 280 + inherit doCheck; 281 282 checkTarget = "check-all"; 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 29 cmakeFlags = [ 30 "-DCLANG_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/clang" 31 - "-DCMAKE_CXX_FLAGS=-std=c++14" 32 "-DCLANGD_BUILD_XPC=OFF" 33 "-DLLVM_ENABLE_RTTI=ON" 34 ] ++ lib.optionals enableManpages [
··· 28 29 cmakeFlags = [ 30 "-DCLANG_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/clang" 31 "-DCLANGD_BUILD_XPC=OFF" 32 "-DLLVM_ENABLE_RTTI=ON" 33 ] ++ lib.optionals enableManpages [
+2 -1
pkgs/development/compilers/llvm/git/compiler-rt/default.nix
··· 45 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 46 "-DCOMPILER_RT_BUILD_XRAY=OFF" 47 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 48 - "-DCOMPILER_RT_BUILD_PROFILE=OFF" 49 "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 50 "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary 51 ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ 52 "-DCMAKE_C_COMPILER_WORKS=ON" 53 "-DCMAKE_CXX_COMPILER_WORKS=ON"
··· 45 "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" 46 "-DCOMPILER_RT_BUILD_XRAY=OFF" 47 "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" 48 "-DCOMPILER_RT_BUILD_MEMPROF=OFF" 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" 52 ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [ 53 "-DCMAKE_C_COMPILER_WORKS=ON" 54 "-DCMAKE_CXX_COMPILER_WORKS=ON"
+26 -14
pkgs/development/compilers/llvm/git/default.nix
··· 1 { lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja 2 , gccForLibs, preLibcCrossHeaders 3 - , libxml2, python3, isl, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith 4 , buildLlvmTools # tools, but from the previous stage, for cross 5 , targetLlvmLibraries # libraries, but from the next stage, for cross 6 # This is the default binutils, but with *this* version of LLD rather ··· 51 }; 52 53 tools = lib.makeExtensible (tools: let 54 - callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 isl release_version version monorepoSrc buildLlvmTools; }); 55 mkExtraBuildCommands0 = cc: '' 56 rsrc="$out/resource-root" 57 mkdir "$rsrc" ··· 231 }); 232 233 libraries = lib.makeExtensible (libraries: let 234 - callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake ninja libxml2 python3 isl release_version version monorepoSrc; }); 235 in { 236 237 compiler-rt-libc = callPackage ./compiler-rt { ··· 257 258 libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; 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 libcxxabi = let 268 - stdenv_ = if stdenv.hostPlatform.useLLVM or false 269 - then overrideCC stdenv buildLlvmTools.clangNoLibcxx 270 - else stdenv; 271 cxx-headers = callPackage ./libcxx { 272 inherit llvm_meta; 273 - stdenv = stdenv_; 274 headersOnly = true; 275 }; 276 in callPackage ./libcxxabi { 277 stdenv = stdenv_; 278 inherit llvm_meta cxx-headers; 279 }; 280 281 libunwind = callPackage ./libunwind {
··· 1 { lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja 2 , gccForLibs, preLibcCrossHeaders 3 + , libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith 4 , buildLlvmTools # tools, but from the previous stage, for cross 5 , targetLlvmLibraries # libraries, but from the next stage, for cross 6 # This is the default binutils, but with *this* version of LLD rather ··· 51 }; 52 53 tools = lib.makeExtensible (tools: let 54 + callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; }); 55 mkExtraBuildCommands0 = cc: '' 56 rsrc="$out/resource-root" 57 mkdir "$rsrc" ··· 231 }); 232 233 libraries = lib.makeExtensible (libraries: let 234 + callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc; }); 235 in { 236 237 compiler-rt-libc = callPackage ./compiler-rt { ··· 257 258 libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; 259 260 libcxxabi = let 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. 264 cxx-headers = callPackage ./libcxx { 265 inherit llvm_meta; 266 headersOnly = true; 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; 280 in callPackage ./libcxxabi { 281 stdenv = stdenv_; 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; 291 }; 292 293 libunwind = callPackage ./libunwind {
+7
pkgs/development/compilers/llvm/git/libcxxabi/default.nix
··· 58 cmakeFlags = [ 59 "-DLLVM_ENABLE_RUNTIMES=libcxxabi" 60 "-DLIBCXXABI_LIBCXX_INCLUDES=${cxx-headers}/include/c++/v1" 61 ] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [ 62 "-DLLVM_ENABLE_LIBCXX=ON" 63 "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
··· 58 cmakeFlags = [ 59 "-DLLVM_ENABLE_RUNTIMES=libcxxabi" 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" 68 ] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [ 69 "-DLLVM_ENABLE_LIBCXX=ON" 70 "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
+30 -5
pkgs/development/compilers/llvm/git/llvm/default.nix
··· 18 , which 19 , buildLlvmTools 20 , debugVersion ? false 21 , enableManpages ? false 22 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 23 , enablePFM ? !(stdenv.isDarwin 24 || stdenv.isAarch64 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 25 || stdenv.isAarch32 # broken for the armv7l builder 26 ) 27 - , enablePolly ? false 28 } @args: 29 30 let ··· 34 shortVersion = with lib; 35 concatStringsSep "." (take 1 (splitString "." release_version)); 36 37 in stdenv.mkDerivation (rec { 38 pname = "llvm"; 39 inherit version; ··· 44 cp -r ${monorepoSrc}/${pname} "$out" 45 cp -r ${monorepoSrc}/third-party "$out" 46 '' + lib.optionalString enablePolly '' 47 - cp -r ${monorepoSrc}/polly "$out/llvm/tools" 48 ''); 49 50 sourceRoot = "${src.name}/${pname}"; 51 52 outputs = [ "out" "lib" "dev" "python" ]; 53 54 - nativeBuildInputs = [ cmake ninja python3 ] 55 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 56 57 buildInputs = [ libxml2 libffi ] ··· 216 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 217 ''; 218 219 - doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 220 - && (stdenv.hostPlatform == stdenv.buildPlatform); 221 222 checkTarget = "check-all"; 223
··· 18 , which 19 , buildLlvmTools 20 , debugVersion ? false 21 + , doCheck ? stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) 22 + && (stdenv.hostPlatform == stdenv.buildPlatform) 23 , enableManpages ? false 24 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic 25 , enablePFM ? !(stdenv.isDarwin 26 || stdenv.isAarch64 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 27 || stdenv.isAarch32 # broken for the armv7l builder 28 ) 29 + , enablePolly ? true 30 } @args: 31 32 let ··· 36 shortVersion = with lib; 37 concatStringsSep "." (take 1 (splitString "." release_version)); 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 + 62 in stdenv.mkDerivation (rec { 63 pname = "llvm"; 64 inherit version; ··· 69 cp -r ${monorepoSrc}/${pname} "$out" 70 cp -r ${monorepoSrc}/third-party "$out" 71 '' + lib.optionalString enablePolly '' 72 + chmod u+w "$out/${pname}/tools" 73 + cp -r ${monorepoSrc}/polly "$out/${pname}/tools" 74 ''); 75 76 sourceRoot = "${src.name}/${pname}"; 77 78 outputs = [ "out" "lib" "dev" "python" ]; 79 80 + nativeBuildInputs = [ cmake ninja python ] 81 ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; 82 83 buildInputs = [ libxml2 libffi ] ··· 242 cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native 243 ''; 244 245 + inherit doCheck; 246 247 checkTarget = "check-all"; 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") 75 diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake 76 index 518a09b45a42..bd9d6f5542ad 100644 77 --- a/tools/polly/cmake/polly_macros.cmake ··· 87 endif() 88 set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) 89 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 + 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 + 5 diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake 6 index 518a09b45a42..bd9d6f5542ad 100644 7 --- a/tools/polly/cmake/polly_macros.cmake ··· 17 endif() 18 set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) 19 endmacro(add_polly_library)
+5
pkgs/development/compilers/ocaml/generic.nix
··· 95 # make[2]: *** [Makefile:199: backup] Error 1 96 enableParallelBuilding = lib.versionAtLeast version "4.08"; 97 98 # Workaround lack of parallelism support among top-level targets: 99 # we place nixpkgs-specific targets to a separate file and set 100 # sequential order among them as a single rule.
··· 95 # make[2]: *** [Makefile:199: backup] Error 1 96 enableParallelBuilding = lib.versionAtLeast version "4.08"; 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 + 103 # Workaround lack of parallelism support among top-level targets: 104 # we place nixpkgs-specific targets to a separate file and set 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 2 , zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2 3 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama 4 , libXcursor, libXrandr, fontconfig, openjdk11-bootstrap ··· 6 , headless ? false 7 , enableJavaFX ? false, openjfx 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 }: 13 14 let ··· 28 sha256 = "sha256-QGOpMIrWwOtIcUY/CLbTRDvcVTG2xioZu46v+n+IIQ4="; 29 }; 30 31 - nativeBuildInputs = [ gnumake44 pkg-config autoconf unzip ]; 32 buildInputs = [ 33 cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib 34 libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst ··· 43 ./currency-date-range-jdk10.patch 44 ./increase-javadoc-heap.patch 45 ./fix-library-path-jdk11.patch 46 ] ++ lib.optionals (!headless && enableGnome2) [ 47 ./swing-use-gtk-jdk10.patch 48 ];
··· 1 + { stdenv, lib, fetchpatch, fetchFromGitHub, bash, pkg-config, autoconf, cpio, file, which, unzip 2 , zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2 3 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama 4 , libXcursor, libXrandr, fontconfig, openjdk11-bootstrap ··· 6 , headless ? false 7 , enableJavaFX ? false, openjfx 8 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 9 }: 10 11 let ··· 25 sha256 = "sha256-QGOpMIrWwOtIcUY/CLbTRDvcVTG2xioZu46v+n+IIQ4="; 26 }; 27 28 + nativeBuildInputs = [ pkg-config autoconf unzip ]; 29 buildInputs = [ 30 cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib 31 libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst ··· 40 ./currency-date-range-jdk10.patch 41 ./increase-javadoc-heap.patch 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 + }) 51 ] ++ lib.optionals (!headless && enableGnome2) [ 52 ./swing-use-gtk-jdk10.patch 53 ];
+10 -5
pkgs/development/compilers/openjdk/17.nix
··· 1 - { stdenv, lib, fetchurl, fetchFromGitHub, bash, pkg-config, autoconf, cpio 2 , file, which, unzip, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib 3 , libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst 4 , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk17-bootstrap ··· 6 , headless ? false 7 , enableJavaFX ? false, openjfx 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 }: 13 14 let ··· 29 sha256 = "sha256-zPpINi++3Ct0PCwlwlfhceh/ploMkclw+MgeI9dULdc="; 30 }; 31 32 - nativeBuildInputs = [ gnumake44 pkg-config autoconf unzip ]; 33 buildInputs = [ 34 cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib 35 libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst ··· 60 (fetchurl { 61 url = "https://git.alpinelinux.org/aports/plain/community/openjdk17/FixNullPtrCast.patch?id=41e78a067953e0b13d062d632bae6c4f8028d91c"; 62 sha256 = "sha256-LzmSew51+DyqqGyyMw2fbXeBluCiCYsS1nCjt9hX6zo="; 63 }) 64 ] ++ lib.optionals (!headless && enableGnome2) [ 65 ./swing-use-gtk-jdk13.patch
··· 1 + { stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bash, pkg-config, autoconf, cpio 2 , file, which, unzip, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib 3 , libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst 4 , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk17-bootstrap ··· 6 , headless ? false 7 , enableJavaFX ? false, openjfx 8 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 9 }: 10 11 let ··· 26 sha256 = "sha256-zPpINi++3Ct0PCwlwlfhceh/ploMkclw+MgeI9dULdc="; 27 }; 28 29 + nativeBuildInputs = [ pkg-config autoconf unzip ]; 30 buildInputs = [ 31 cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib 32 libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst ··· 57 (fetchurl { 58 url = "https://git.alpinelinux.org/aports/plain/community/openjdk17/FixNullPtrCast.patch?id=41e78a067953e0b13d062d632bae6c4f8028d91c"; 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="; 68 }) 69 ] ++ lib.optionals (!headless && enableGnome2) [ 70 ./swing-use-gtk-jdk13.patch
+9 -4
pkgs/development/compilers/openjdk/19.nix
··· 9 , headless ? stdenv.targetPlatform.isGhcjs 10 , enableJavaFX ? false, openjfx 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 }: 16 17 let ··· 32 hash = "sha256-pBEHmBtIgG4Czou4C/zpBBYZEDImvXiLoA5CjOzpeyI="; 33 }; 34 35 - nativeBuildInputs = [ gnumake44 pkg-config autoconf unzip ensureNewerSourcesForZipFilesHook ]; 36 buildInputs = [ 37 cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib 38 libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst ··· 62 (fetchpatch { 63 url = "https://git.alpinelinux.org/aports/plain/testing/openjdk19/FixNullPtrCast.patch?id=93dc07f97ff716b647c5f57c6224901ea06da560"; 64 hash = "sha256-H4X3Yip5bCpXMH7MSu9BgXIOYRVUBMZPZW8EvZSWI5k="; 65 }) 66 ] ++ lib.optionals (!headless && enableGnome2) [ 67 ./swing-use-gtk-jdk13.patch
··· 9 , headless ? stdenv.targetPlatform.isGhcjs 10 , enableJavaFX ? false, openjfx 11 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf 12 }: 13 14 let ··· 29 hash = "sha256-pBEHmBtIgG4Czou4C/zpBBYZEDImvXiLoA5CjOzpeyI="; 30 }; 31 32 + nativeBuildInputs = [ pkg-config autoconf unzip ensureNewerSourcesForZipFilesHook ]; 33 buildInputs = [ 34 cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib 35 libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst ··· 59 (fetchpatch { 60 url = "https://git.alpinelinux.org/aports/plain/testing/openjdk19/FixNullPtrCast.patch?id=93dc07f97ff716b647c5f57c6224901ea06da560"; 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="; 70 }) 71 ] ++ lib.optionals (!headless && enableGnome2) [ 72 ./swing-use-gtk-jdk13.patch
+17 -4
pkgs/development/compilers/rust/cargo-auditable.nix
··· 1 - { lib, fetchFromGitHub, makeRustPlatform, rustc, cargo }: 2 3 let 4 args = rec { 5 pname = "cargo-auditable"; 6 - version = "0.6.0"; 7 8 src = fetchFromGitHub { 9 owner = "rust-secure-code"; 10 repo = pname; 11 rev = "v${version}"; 12 - sha256 = "sha256-mSiEC+9QtRjWmywJnGgUqp+q8fhY0qUYrgjrAVaY114="; 13 }; 14 15 - cargoSha256 = "sha256-Wz5My/QxPpZVsPBUe3KHT3ttD6CTU8NCY8rhFEC+UlA="; 16 17 meta = with lib; { 18 description = "A tool to make production Rust binaries auditable"; ··· 37 38 rustPlatform.buildRustPackage.override { cargo-auditable = bootstrap; } (args // { 39 auditable = true; # TODO: remove when this is the default 40 })
··· 1 + { lib, fetchFromGitHub, makeRustPlatform, rustc, cargo, installShellFiles }: 2 3 let 4 args = rec { 5 pname = "cargo-auditable"; 6 + version = "0.6.1"; 7 8 src = fetchFromGitHub { 9 owner = "rust-secure-code"; 10 repo = pname; 11 rev = "v${version}"; 12 + sha256 = "sha256-MKMPLv8jeST0l4tq+MMPC18qfZMmBixdj6Ng19YKepU="; 13 }; 14 15 + cargoSha256 = "sha256-6/f7pNaTL+U6bI6jMakU/lfwYYxN/EM3WkKZcydsyLk="; 16 + 17 + # Cargo.lock is outdated 18 + preConfigure = '' 19 + cargo update --offline 20 + ''; 21 22 meta = with lib; { 23 description = "A tool to make production Rust binaries auditable"; ··· 42 43 rustPlatform.buildRustPackage.override { cargo-auditable = bootstrap; } (args // { 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 + ''; 53 })
+57 -17
pkgs/development/interpreters/ruby/default.nix
··· 2 , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub 3 , zlib, gdbm, ncurses, readline, groff, libyaml, libffi, jemalloc, autoreconfHook, bison 4 , autoconf, libiconv, libobjc, libunwind, Foundation 5 - , buildEnv, bundler, bundix 6 , makeBinaryWrapper, buildRubyGem, defaultGemConfig, removeReferencesTo 7 , openssl, openssl_1_1 8 } @ args: 9 10 let 11 op = lib.optional; 12 ops = lib.optionals; 13 opString = lib.optionalString; 14 - patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; }; 15 config = import ./config.nix { inherit fetchFromSavannah; }; 16 rubygems = import ./rubygems { inherit stdenv lib fetchurl; }; 17 18 # Contains the ruby version heuristics 19 rubyVersion = import ./ruby-version.nix { inherit lib; }; 20 21 - generic = { version, sha256 }: let 22 ver = version; 23 atLeast30 = lib.versionAtLeast ver.majMin "3.0"; 24 self = lib.makeOverridable ( 25 { stdenv, buildPackages, lib 26 , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub 27 - , useRailsExpress ? true 28 , rubygemsSupport ? true 29 , zlib, zlibSupport ? true 30 , openssl, openssl_1_1, opensslSupport ? true ··· 34 , libyaml, yamlSupport ? true 35 , libffi, fiddleSupport ? true 36 , jemalloc, jemallocSupport ? false 37 # By default, ruby has 3 observed references to stdenv.cc: 38 # 39 # - If you run: ··· 43 # Or (usually): 44 # $(nix-build -A ruby)/lib/ruby/2.6.0/x86_64-linux/rbconfig.rb 45 # - In $out/lib/libruby.so and/or $out/lib/libruby.dylib 46 - , removeReferencesTo, jitSupport ? false 47 , autoreconfHook, bison, autoconf 48 , buildEnv, bundler, bundix 49 , libiconv, libobjc, libunwind, Foundation 50 , makeBinaryWrapper, buildRubyGem, defaultGemConfig 51 , baseRuby ? buildPackages.ruby_3_1.override { 52 - useRailsExpress = false; 53 docSupport = false; 54 rubygemsSupport = false; 55 } 56 - , useBaseRuby ? stdenv.hostPlatform != stdenv.buildPlatform || useRailsExpress 57 }: 58 stdenv.mkDerivation rec { 59 pname = "ruby"; ··· 69 70 outputs = [ "out" ] ++ lib.optional docSupport "devdoc"; 71 72 nativeBuildInputs = [ autoreconfHook bison ] 73 ++ (op docSupport groff) 74 ++ op useBaseRuby baseRuby; 75 buildInputs = [ autoconf ] 76 ++ (op fiddleSupport libffi) ··· 89 propagatedBuildInputs = op jemallocSupport jemalloc; 90 91 enableParallelBuilding = true; 92 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 100 ++ ops (ver.majMin == "3.0") [ 101 # Ruby 3.0 adds `-fdeclspec` to $CC instead of $CFLAGS. Fixed in later versions. 102 (fetchpatch { ··· 104 sha256 = "sha256-43hI9L6bXfeujgmgKFVmiWhg7OXvshPCCtQ4TxqK1zk="; 105 }) 106 ] 107 ++ ops (!atLeast30 && rubygemsSupport) [ 108 # We upgrade rubygems to a version that isn't compatible with the 109 # ruby 2.7 installer. Backport the upstream fix. ··· 118 url = "https://github.com/ruby/ruby/commit/261d8dd20afd26feb05f00a560abd99227269c1c.patch"; 119 sha256 = "0wrii25cxcz2v8bgkrf7ibcanjlxwclzhayin578bf0qydxdm9qy"; 120 }) 121 ]; 122 123 postUnpack = opString rubygemsSupport '' 124 rm -rf $sourceRoot/{lib,test}/rubygems* 125 cp -r ${rubygems}/lib/rubygems* $sourceRoot/lib ··· 141 (lib.enableFeature true "pthread") 142 (lib.withFeatureAs true "soname" "ruby-${version}") 143 (lib.withFeatureAs useBaseRuby "baseruby" "${baseRuby}/bin/ruby") 144 (lib.enableFeature jitSupport "jit-support") 145 (lib.enableFeature docSupport "install-doc") 146 (lib.withFeature jemallocSupport "jemalloc") 147 (lib.withFeatureAs docSupport "ridir" "${placeholder "devdoc"}/share/ri") ··· 204 for makefile in $extMakefiles; do 205 make -C "$(dirname "$makefile")" distclean 206 done 207 - find "$out/${passthru.gemPath}" -name gem_make.out -delete 208 # Bundler tries to create this directory 209 mkdir -p $out/nix-support 210 cat > $out/nix-support/setup-hook <<EOF ··· 271 ruby = self; 272 }; 273 274 inherit (import ../../ruby-modules/with-packages { 275 inherit lib stdenv makeBinaryWrapper buildRubyGem buildEnv; 276 gemConfig = defaultGemConfig; ··· 298 }; 299 300 ruby_3_1 = generic { 301 - version = rubyVersion "3" "1" "2" ""; 302 - sha256 = "0gm84ipk6mrfw94852w5h7xxk2lqrxjbnlwb88svf0lz70933131"; 303 }; 304 }
··· 2 , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub 3 , zlib, gdbm, ncurses, readline, groff, libyaml, libffi, jemalloc, autoreconfHook, bison 4 , autoconf, libiconv, libobjc, libunwind, Foundation 5 + , buildEnv, bundler, bundix, rustPlatform 6 , makeBinaryWrapper, buildRubyGem, defaultGemConfig, removeReferencesTo 7 , openssl, openssl_1_1 8 + , linuxPackages, libsystemtap 9 } @ args: 10 11 let 12 op = lib.optional; 13 ops = lib.optionals; 14 opString = lib.optionalString; 15 config = import ./config.nix { inherit fetchFromSavannah; }; 16 rubygems = import ./rubygems { inherit stdenv lib fetchurl; }; 17 18 # Contains the ruby version heuristics 19 rubyVersion = import ./ruby-version.nix { inherit lib; }; 20 21 + generic = { version, sha256, cargoSha256 ? null }: let 22 ver = version; 23 atLeast30 = lib.versionAtLeast ver.majMin "3.0"; 24 + atLeast31 = lib.versionAtLeast ver.majMin "3.1"; 25 + atLeast32 = lib.versionAtLeast ver.majMin "3.2"; 26 self = lib.makeOverridable ( 27 { stdenv, buildPackages, lib 28 , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub 29 , rubygemsSupport ? true 30 , zlib, zlibSupport ? true 31 , openssl, openssl_1_1, opensslSupport ? true ··· 35 , libyaml, yamlSupport ? true 36 , libffi, fiddleSupport ? true 37 , jemalloc, jemallocSupport ? false 38 + , linuxPackages, systemtap ? linuxPackages.systemtap, libsystemtap, dtraceSupport ? false 39 # By default, ruby has 3 observed references to stdenv.cc: 40 # 41 # - If you run: ··· 45 # Or (usually): 46 # $(nix-build -A ruby)/lib/ruby/2.6.0/x86_64-linux/rbconfig.rb 47 # - In $out/lib/libruby.so and/or $out/lib/libruby.dylib 48 + , removeReferencesTo, jitSupport ? yjitSupport 49 + , rustPlatform, yjitSupport ? atLeast32 50 , autoreconfHook, bison, autoconf 51 , buildEnv, bundler, bundix 52 , libiconv, libobjc, libunwind, Foundation 53 , makeBinaryWrapper, buildRubyGem, defaultGemConfig 54 , baseRuby ? buildPackages.ruby_3_1.override { 55 docSupport = false; 56 rubygemsSupport = false; 57 } 58 + , useBaseRuby ? stdenv.hostPlatform != stdenv.buildPlatform 59 }: 60 stdenv.mkDerivation rec { 61 pname = "ruby"; ··· 71 72 outputs = [ "out" ] ++ lib.optional docSupport "devdoc"; 73 74 + strictDeps = true; 75 + 76 nativeBuildInputs = [ autoreconfHook bison ] 77 ++ (op docSupport groff) 78 + ++ (ops (dtraceSupport && stdenv.isLinux) [ systemtap libsystemtap ]) 79 + ++ ops yjitSupport [ rustPlatform.cargoSetupHook rustPlatform.rust.cargo rustPlatform.rust.rustc ] 80 ++ op useBaseRuby baseRuby; 81 buildInputs = [ autoconf ] 82 ++ (op fiddleSupport libffi) ··· 95 propagatedBuildInputs = op jemallocSupport jemalloc; 96 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; 102 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 + ) 108 ++ ops (ver.majMin == "3.0") [ 109 # Ruby 3.0 adds `-fdeclspec` to $CC instead of $CFLAGS. Fixed in later versions. 110 (fetchpatch { ··· 112 sha256 = "sha256-43hI9L6bXfeujgmgKFVmiWhg7OXvshPCCtQ4TxqK1zk="; 113 }) 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 + ] 123 ++ ops (!atLeast30 && rubygemsSupport) [ 124 # We upgrade rubygems to a version that isn't compatible with the 125 # ruby 2.7 installer. Backport the upstream fix. ··· 134 url = "https://github.com/ruby/ruby/commit/261d8dd20afd26feb05f00a560abd99227269c1c.patch"; 135 sha256 = "0wrii25cxcz2v8bgkrf7ibcanjlxwclzhayin578bf0qydxdm9qy"; 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 144 ]; 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 + 154 postUnpack = opString rubygemsSupport '' 155 rm -rf $sourceRoot/{lib,test}/rubygems* 156 cp -r ${rubygems}/lib/rubygems* $sourceRoot/lib ··· 172 (lib.enableFeature true "pthread") 173 (lib.withFeatureAs true "soname" "ruby-${version}") 174 (lib.withFeatureAs useBaseRuby "baseruby" "${baseRuby}/bin/ruby") 175 + (lib.enableFeature dtraceSupport "dtrace") 176 (lib.enableFeature jitSupport "jit-support") 177 + (lib.enableFeature yjitSupport "yjit") 178 (lib.enableFeature docSupport "install-doc") 179 (lib.withFeature jemallocSupport "jemalloc") 180 (lib.withFeatureAs docSupport "ridir" "${placeholder "devdoc"}/share/ri") ··· 237 for makefile in $extMakefiles; do 238 make -C "$(dirname "$makefile")" distclean 239 done 240 + find "$out/${passthru.gemPath}" \( -name gem_make.out -o -name mkmf.log \) -delete 241 # Bundler tries to create this directory 242 mkdir -p $out/nix-support 243 cat > $out/nix-support/setup-hook <<EOF ··· 304 ruby = self; 305 }; 306 307 + inherit rubygems; 308 inherit (import ../../ruby-modules/with-packages { 309 inherit lib stdenv makeBinaryWrapper buildRubyGem buildEnv; 310 gemConfig = defaultGemConfig; ··· 332 }; 333 334 ruby_3_1 = generic { 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="; 343 }; 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 extend Gem::Deprecate 19 20 DEFAULT_OPTIONS = { # :nodoc: 21 - - :env_shebang => false, 22 - + :env_shebang => true, 23 - :document => %w[ri], 24 - :domain => :both, # HACK dup 25 - :force => false, 26 -- 27 2.21.0 28
··· 18 extend Gem::Deprecate 19 20 DEFAULT_OPTIONS = { # :nodoc: 21 + - :env_shebang => false, 22 + + :env_shebang => true, 23 + :document => %w[ri], 24 + :domain => :both, # HACK dup 25 + :force => false, 26 -- 27 2.21.0 28
+3 -2
pkgs/development/interpreters/ruby/rubygems/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "rubygems"; 5 - version = "3.3.20"; 6 7 src = fetchurl { 8 url = "https://rubygems.org/rubygems/rubygems-${version}.tgz"; 9 - sha256 = "sha256-VTUMZ2mqbszM7uXOYV6Grg7dkeGAGVXYjBX0hA/vOTg="; 10 }; 11 12 patches = [ ··· 23 24 meta = with lib; { 25 description = "Package management framework for Ruby"; 26 homepage = "https://rubygems.org/"; 27 license = with licenses; [ mit /* or */ ruby ]; 28 maintainers = with maintainers; [ zimbatm ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "rubygems"; 5 + version = "3.4.8"; 6 7 src = fetchurl { 8 url = "https://rubygems.org/rubygems/rubygems-${version}.tgz"; 9 + sha256 = "sha256-0FlDZJNJJGVkvBmKWNBqNRaTto6ciCOuQEK6uq6dotQ="; 10 }; 11 12 patches = [ ··· 23 24 meta = with lib; { 25 description = "Package management framework for Ruby"; 26 + changelog = "https://github.com/rubygems/rubygems/blob/v${version}/CHANGELOG.md"; 27 homepage = "https://rubygems.org/"; 28 license = with licenses; [ mit /* or */ ruby ]; 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 buildInputs = [ ncurses ]; 25 makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ]; 26 enableParallelBuilding = true; 27 28 meta = with lib; { 29 description = "Scheme 9 From Empty Space, an interpreter for R4RS Scheme";
··· 24 buildInputs = [ ncurses ]; 25 makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ]; 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; 30 31 meta = with lib; { 32 description = "Scheme 9 From Empty Space, an interpreter for R4RS Scheme";
+3 -3
pkgs/development/libraries/SDL2/default.nix
··· 55 56 stdenv.mkDerivation rec { 57 pname = "SDL2"; 58 - version = "2.26.3"; 59 60 src = fetchurl { 61 url = "https://www.libsdl.org/release/${pname}-${version}.tar.gz"; 62 - sha256 = "sha256-xmEgWlU7fSUkJfS3Uf8TIJ5eAguHa7+hWYSUr2F5AFc="; 63 }; 64 dontDisableStatic = if withStatic then 1 else 0; 65 outputs = [ "out" "dev" ]; ··· 170 homepage = "http://www.libsdl.org/"; 171 license = licenses.zlib; 172 platforms = platforms.all; 173 - maintainers = with maintainers; [ cpages ]; 174 }; 175 }
··· 55 56 stdenv.mkDerivation rec { 57 pname = "SDL2"; 58 + version = "2.26.4"; 59 60 src = fetchurl { 61 url = "https://www.libsdl.org/release/${pname}-${version}.tar.gz"; 62 + sha256 = "sha256-Gg9oZJj7dorZ8/gLOQN6fQBurAk6rTnLTrzIMqiIcjE="; 63 }; 64 dontDisableStatic = if withStatic then 1 else 0; 65 outputs = [ "out" "dev" ]; ··· 170 homepage = "http://www.libsdl.org/"; 171 license = licenses.zlib; 172 platforms = platforms.all; 173 + maintainers = with maintainers; [ cpages superherointj ]; 174 }; 175 }
+2 -2
pkgs/development/libraries/audio/libopenmpt/default.nix
··· 16 17 stdenv.mkDerivation rec { 18 pname = "libopenmpt"; 19 - version = "0.6.8"; 20 21 outputs = [ "out" "dev" "bin" ]; 22 23 src = fetchurl { 24 url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz"; 25 - sha256 = "HGGLPf8afLaiT0MXVZIPokN1YmgTj/ox09t8YHwsLWk="; 26 }; 27 28 enableParallelBuilding = true;
··· 16 17 stdenv.mkDerivation rec { 18 pname = "libopenmpt"; 19 + version = "0.6.9"; 20 21 outputs = [ "out" "dev" "bin" ]; 22 23 src = fetchurl { 24 url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz"; 25 + sha256 = "R56XWrt9wPqcrUG90x8lXXjUPgcmVGIIBY08P897blo="; 26 }; 27 28 enableParallelBuilding = true;
+2 -2
pkgs/development/libraries/directx-headers/default.nix
··· 1 { lib, stdenv, fetchFromGitHub, meson, ninja }: 2 stdenv.mkDerivation rec { 3 pname = "directx-headers"; 4 - version = "1.608.2"; 5 6 src = fetchFromGitHub { 7 owner = "microsoft"; 8 repo = "DirectX-Headers"; 9 rev = "v${version}"; 10 - hash = "sha256-F0riTDJpydqe4yhE9GKSSvnRI0Sl3oY2sOP+H/vDHG0="; 11 }; 12 13 nativeBuildInputs = [ meson ninja ];
··· 1 { lib, stdenv, fetchFromGitHub, meson, ninja }: 2 stdenv.mkDerivation rec { 3 pname = "directx-headers"; 4 + version = "1.608.2b"; 5 6 src = fetchFromGitHub { 7 owner = "microsoft"; 8 repo = "DirectX-Headers"; 9 rev = "v${version}"; 10 + hash = "sha256-o4p8L2VKvMHdu1L2I1JI6pwIRtnyVCoKebg9yKTk1T8="; 11 }; 12 13 nativeBuildInputs = [ meson ninja ];
+19 -20
pkgs/development/libraries/fftw/default.nix
··· 5 , perl 6 , llvmPackages 7 , precision ? "double" 8 - , enableAvx ? stdenv.hostPlatform.avxSupport 9 - , enableAvx2 ? stdenv.hostPlatform.avx2Support 10 - , enableAvx512 ? stdenv.hostPlatform.avx512Support 11 - , enableFma ? stdenv.hostPlatform.fmaSupport 12 , enableMpi ? false 13 , mpi 14 , withDoc ? stdenv.cc.isGNU ··· 40 llvmPackages.openmp 41 ] ++ lib.optional enableMpi mpi; 42 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"; 59 60 enableParallelBuilding = true; 61
··· 5 , perl 6 , llvmPackages 7 , precision ? "double" 8 , enableMpi ? false 9 , mpi 10 , withDoc ? stdenv.cc.isGNU ··· 36 llvmPackages.openmp 37 ] ++ lib.optional enableMpi mpi; 38 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 + ''; 58 59 enableParallelBuilding = true; 60
+5
pkgs/development/libraries/gtk/2.x.nix
··· 68 '' else null; 69 70 configureFlags = [ 71 "--with-gdktarget=${gdktarget}" 72 "--with-xinput=yes" 73 ] ++ lib.optionals stdenv.isDarwin [ ··· 77 ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 78 "ac_cv_path_GTK_UPDATE_ICON_CACHE=${buildPackages.gtk2}/bin/gtk-update-icon-cache" 79 "ac_cv_path_GDK_PIXBUF_CSOURCE=${buildPackages.gdk-pixbuf.dev}/bin/gdk-pixbuf-csource" 80 ]; 81 82 doCheck = false; # needs X11
··· 68 '' else null; 69 70 configureFlags = [ 71 + "--sysconfdir=/etc" 72 "--with-gdktarget=${gdktarget}" 73 "--with-xinput=yes" 74 ] ++ lib.optionals stdenv.isDarwin [ ··· 78 ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ 79 "ac_cv_path_GTK_UPDATE_ICON_CACHE=${buildPackages.gtk2}/bin/gtk-update-icon-cache" 80 "ac_cv_path_GDK_PIXBUF_CSOURCE=${buildPackages.gdk-pixbuf.dev}/bin/gdk-pixbuf-csource" 81 + ]; 82 + 83 + installFlags = [ 84 + "sysconfdir=${placeholder "out"}/etc" 85 ]; 86 87 doCheck = false; # needs X11
+2 -2
pkgs/development/libraries/lcms2/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "lcms2"; 5 - version = "2.13.1"; 6 7 src = fetchurl { 8 url = "mirror://sourceforge/lcms/${pname}-${version}.tar.gz"; 9 - sha256 = "sha256-1HPnlueyfFrwG9bRVS1CtFtDRX5xgs6ZA/OLt0ggO4g="; 10 }; 11 12 outputs = [ "bin" "dev" "out" ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "lcms2"; 5 + version = "2.15"; 6 7 src = fetchurl { 8 url = "mirror://sourceforge/lcms/${pname}-${version}.tar.gz"; 9 + sha256 = "sha256-sgy8vQ9QNDO+Kk6BRiEG+mEFCjUHTcJKTjVnktlxqzk="; 10 }; 11 12 outputs = [ "bin" "dev" "out" ];
+2 -2
pkgs/development/libraries/libedit/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "libedit"; 5 - version = "20210910-3.1"; 6 7 src = fetchurl { 8 url = "https://thrysoee.dk/editline/${pname}-${version}.tar.gz"; 9 - sha256 = "sha256-Z5KmqZIFB2LtzKKP8zGM233jfcz3vDDbWfzXAX7tE8U="; 10 }; 11 12 outputs = [ "out" "dev" ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "libedit"; 5 + version = "20221030-3.1"; 6 7 src = fetchurl { 8 url = "https://thrysoee.dk/editline/${pname}-${version}.tar.gz"; 9 + sha256 = "sha256-8JJaWt9LG/EW7hl2a32qdmkXrsGYdHlDscTt9npL4rs="; 10 }; 11 12 outputs = [ "out" "dev" ];
+2 -2
pkgs/development/libraries/libextractor/default.nix
··· 13 # ''; 14 # See also <https://nixos.org/nixpkgs/manual/#sec-language-gnome>. 15 , gtkSupport ? true, glib, gtk3 16 - , videoSupport ? true, ffmpeg, libmpeg2 17 }: 18 19 stdenv.mkDerivation rec { ··· 50 ] ++ lib.optionals gstreamerSupport 51 ([ gst_all_1.gstreamer ] ++ gstPlugins gst_all_1) 52 ++ lib.optionals gtkSupport [ glib gtk3 ] 53 - ++ lib.optionals videoSupport [ ffmpeg libmpeg2 ]; 54 55 configureFlags = [ 56 "--disable-ltdl-install"
··· 13 # ''; 14 # See also <https://nixos.org/nixpkgs/manual/#sec-language-gnome>. 15 , gtkSupport ? true, glib, gtk3 16 + , videoSupport ? true, ffmpeg_4, libmpeg2 17 }: 18 19 stdenv.mkDerivation rec { ··· 50 ] ++ lib.optionals gstreamerSupport 51 ([ gst_all_1.gstreamer ] ++ gstPlugins gst_all_1) 52 ++ lib.optionals gtkSupport [ glib gtk3 ] 53 + ++ lib.optionals videoSupport [ ffmpeg_4 libmpeg2 ]; 54 55 configureFlags = [ 56 "--disable-ltdl-install"
+37 -53
pkgs/development/libraries/libimagequant/Cargo.lock
··· 10 11 [[package]] 12 name = "ahash" 13 - version = "0.7.6" 14 source = "registry+https://github.com/rust-lang/crates.io-index" 15 - checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" 16 dependencies = [ 17 - "getrandom", 18 "once_cell", 19 "version_check", 20 ] ··· 39 40 [[package]] 41 name = "bytemuck" 42 - version = "1.13.0" 43 source = "registry+https://github.com/rust-lang/crates.io-index" 44 - checksum = "c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393" 45 46 [[package]] 47 name = "c_test" ··· 53 54 [[package]] 55 name = "cc" 56 - version = "1.0.78" 57 source = "registry+https://github.com/rust-lang/crates.io-index" 58 - checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" 59 60 [[package]] 61 name = "cfg-if" ··· 74 75 [[package]] 76 name = "crossbeam-channel" 77 - version = "0.5.6" 78 source = "registry+https://github.com/rust-lang/crates.io-index" 79 - checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" 80 dependencies = [ 81 "cfg-if", 82 "crossbeam-utils", ··· 84 85 [[package]] 86 name = "crossbeam-deque" 87 - version = "0.8.2" 88 source = "registry+https://github.com/rust-lang/crates.io-index" 89 - checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" 90 dependencies = [ 91 "cfg-if", 92 "crossbeam-epoch", ··· 95 96 [[package]] 97 name = "crossbeam-epoch" 98 - version = "0.9.13" 99 source = "registry+https://github.com/rust-lang/crates.io-index" 100 - checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" 101 dependencies = [ 102 "autocfg", 103 "cfg-if", ··· 108 109 [[package]] 110 name = "crossbeam-utils" 111 - version = "0.8.14" 112 source = "registry+https://github.com/rust-lang/crates.io-index" 113 - checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" 114 dependencies = [ 115 "cfg-if", 116 ] 117 118 [[package]] 119 name = "either" 120 - version = "1.8.0" 121 source = "registry+https://github.com/rust-lang/crates.io-index" 122 - checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" 123 124 [[package]] 125 name = "fallible_collections" 126 - version = "0.4.6" 127 source = "registry+https://github.com/rust-lang/crates.io-index" 128 - checksum = "3f57ccc32870366ae684be48b32a1a2e196f98a42a9b4361fe77e13fd4a34755" 129 dependencies = [ 130 "hashbrown", 131 ] ··· 141 ] 142 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 name = "hashbrown" 156 - version = "0.12.3" 157 source = "registry+https://github.com/rust-lang/crates.io-index" 158 - checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 159 dependencies = [ 160 "ahash", 161 ] ··· 171 172 [[package]] 173 name = "imagequant" 174 - version = "4.1.0" 175 dependencies = [ 176 "arrayvec", 177 "lodepng", ··· 194 195 [[package]] 196 name = "libc" 197 - version = "0.2.139" 198 source = "registry+https://github.com/rust-lang/crates.io-index" 199 - checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" 200 201 [[package]] 202 name = "lodepng" ··· 213 214 [[package]] 215 name = "memoffset" 216 - version = "0.7.1" 217 source = "registry+https://github.com/rust-lang/crates.io-index" 218 - checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" 219 dependencies = [ 220 "autocfg", 221 ] ··· 259 260 [[package]] 261 name = "once_cell" 262 - version = "1.17.0" 263 source = "registry+https://github.com/rust-lang/crates.io-index" 264 - checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" 265 266 [[package]] 267 name = "rayon" 268 - version = "1.6.1" 269 source = "registry+https://github.com/rust-lang/crates.io-index" 270 - checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" 271 dependencies = [ 272 "either", 273 "rayon-core", ··· 275 276 [[package]] 277 name = "rayon-core" 278 - version = "1.10.2" 279 source = "registry+https://github.com/rust-lang/crates.io-index" 280 - checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" 281 dependencies = [ 282 "crossbeam-channel", 283 "crossbeam-deque", ··· 287 288 [[package]] 289 name = "rgb" 290 - version = "0.8.34" 291 source = "registry+https://github.com/rust-lang/crates.io-index" 292 - checksum = "3603b7d71ca82644f79b5a06d1220e9a58ede60bd32255f698cb1af8838b8db3" 293 dependencies = [ 294 "bytemuck", 295 ] ··· 302 303 [[package]] 304 name = "thread_local" 305 - version = "1.1.4" 306 source = "registry+https://github.com/rust-lang/crates.io-index" 307 - checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" 308 dependencies = [ 309 "once_cell", 310 ] 311 ··· 314 version = "0.9.4" 315 source = "registry+https://github.com/rust-lang/crates.io-index" 316 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"
··· 10 11 [[package]] 12 name = "ahash" 13 + version = "0.8.3" 14 source = "registry+https://github.com/rust-lang/crates.io-index" 15 + checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" 16 dependencies = [ 17 + "cfg-if", 18 "once_cell", 19 "version_check", 20 ] ··· 39 40 [[package]] 41 name = "bytemuck" 42 + version = "1.13.1" 43 source = "registry+https://github.com/rust-lang/crates.io-index" 44 + checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" 45 46 [[package]] 47 name = "c_test" ··· 53 54 [[package]] 55 name = "cc" 56 + version = "1.0.79" 57 source = "registry+https://github.com/rust-lang/crates.io-index" 58 + checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" 59 60 [[package]] 61 name = "cfg-if" ··· 74 75 [[package]] 76 name = "crossbeam-channel" 77 + version = "0.5.7" 78 source = "registry+https://github.com/rust-lang/crates.io-index" 79 + checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" 80 dependencies = [ 81 "cfg-if", 82 "crossbeam-utils", ··· 84 85 [[package]] 86 name = "crossbeam-deque" 87 + version = "0.8.3" 88 source = "registry+https://github.com/rust-lang/crates.io-index" 89 + checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" 90 dependencies = [ 91 "cfg-if", 92 "crossbeam-epoch", ··· 95 96 [[package]] 97 name = "crossbeam-epoch" 98 + version = "0.9.14" 99 source = "registry+https://github.com/rust-lang/crates.io-index" 100 + checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" 101 dependencies = [ 102 "autocfg", 103 "cfg-if", ··· 108 109 [[package]] 110 name = "crossbeam-utils" 111 + version = "0.8.15" 112 source = "registry+https://github.com/rust-lang/crates.io-index" 113 + checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" 114 dependencies = [ 115 "cfg-if", 116 ] 117 118 [[package]] 119 name = "either" 120 + version = "1.8.1" 121 source = "registry+https://github.com/rust-lang/crates.io-index" 122 + checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" 123 124 [[package]] 125 name = "fallible_collections" 126 + version = "0.4.7" 127 source = "registry+https://github.com/rust-lang/crates.io-index" 128 + checksum = "9acf77205554f3cfeca94a4b910e159ad9824e8c2d164de02b3f12495cc1074d" 129 dependencies = [ 130 "hashbrown", 131 ] ··· 141 ] 142 143 [[package]] 144 name = "hashbrown" 145 + version = "0.13.2" 146 source = "registry+https://github.com/rust-lang/crates.io-index" 147 + checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" 148 dependencies = [ 149 "ahash", 150 ] ··· 160 161 [[package]] 162 name = "imagequant" 163 + version = "4.1.1" 164 dependencies = [ 165 "arrayvec", 166 "lodepng", ··· 183 184 [[package]] 185 name = "libc" 186 + version = "0.2.140" 187 source = "registry+https://github.com/rust-lang/crates.io-index" 188 + checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" 189 190 [[package]] 191 name = "lodepng" ··· 202 203 [[package]] 204 name = "memoffset" 205 + version = "0.8.0" 206 source = "registry+https://github.com/rust-lang/crates.io-index" 207 + checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" 208 dependencies = [ 209 "autocfg", 210 ] ··· 248 249 [[package]] 250 name = "once_cell" 251 + version = "1.17.1" 252 source = "registry+https://github.com/rust-lang/crates.io-index" 253 + checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" 254 255 [[package]] 256 name = "rayon" 257 + version = "1.7.0" 258 source = "registry+https://github.com/rust-lang/crates.io-index" 259 + checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" 260 dependencies = [ 261 "either", 262 "rayon-core", ··· 264 265 [[package]] 266 name = "rayon-core" 267 + version = "1.11.0" 268 source = "registry+https://github.com/rust-lang/crates.io-index" 269 + checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" 270 dependencies = [ 271 "crossbeam-channel", 272 "crossbeam-deque", ··· 276 277 [[package]] 278 name = "rgb" 279 + version = "0.8.36" 280 source = "registry+https://github.com/rust-lang/crates.io-index" 281 + checksum = "20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59" 282 dependencies = [ 283 "bytemuck", 284 ] ··· 291 292 [[package]] 293 name = "thread_local" 294 + version = "1.1.7" 295 source = "registry+https://github.com/rust-lang/crates.io-index" 296 + checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" 297 dependencies = [ 298 + "cfg-if", 299 "once_cell", 300 ] 301 ··· 304 version = "0.9.4" 305 source = "registry+https://github.com/rust-lang/crates.io-index" 306 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+2 -2
pkgs/development/libraries/libimagequant/default.nix
··· 5 in 6 rustPlatform.buildRustPackage rec { 7 pname = "libimagequant"; 8 - version = "4.1.0"; 9 10 src = fetchFromGitHub { 11 owner = "ImageOptim"; 12 repo = pname; 13 rev = version; 14 - hash = "sha256-W9Q81AbFhWUe6c3csAnm8L5wLqURizrjwqcurWhPISI="; 15 }; 16 17 cargoLock = {
··· 5 in 6 rustPlatform.buildRustPackage rec { 7 pname = "libimagequant"; 8 + version = "4.1.1"; 9 10 src = fetchFromGitHub { 11 owner = "ImageOptim"; 12 repo = pname; 13 rev = version; 14 + hash = "sha256-sCxscs4D2p7LNDpcrKfAc315/NbxbQXtsyc33zUmccM="; 15 }; 16 17 cargoLock = {
+3 -2
pkgs/development/libraries/libmbim/default.nix
··· 16 17 stdenv.mkDerivation rec { 18 pname = "libmbim"; 19 - version = "1.28.2"; 20 21 outputs = [ "out" "dev" "man" ]; 22 ··· 25 owner = "mobile-broadband"; 26 repo = "libmbim"; 27 rev = version; 28 - hash = "sha256-EtjUaSNBT1e/eeTX4oHzQolGrisbsGKBK8Cfl3rRQTQ="; 29 }; 30 31 mesonFlags = [ ··· 58 meta = with lib; { 59 homepage = "https://www.freedesktop.org/wiki/Software/libmbim/"; 60 description = "Library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"; 61 maintainers = teams.freedesktop.members; 62 platforms = platforms.linux; 63 license = licenses.gpl2Plus;
··· 16 17 stdenv.mkDerivation rec { 18 pname = "libmbim"; 19 + version = "1.28.4"; 20 21 outputs = [ "out" "dev" "man" ]; 22 ··· 25 owner = "mobile-broadband"; 26 repo = "libmbim"; 27 rev = version; 28 + hash = "sha256-aaYjvJ2OMTzkUyqWCyHdmsKJ3VGqBmKQzb1DWK/1cPU="; 29 }; 30 31 mesonFlags = [ ··· 58 meta = with lib; { 59 homepage = "https://www.freedesktop.org/wiki/Software/libmbim/"; 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"; 62 maintainers = teams.freedesktop.members; 63 platforms = platforms.linux; 64 license = licenses.gpl2Plus;
+2 -2
pkgs/development/libraries/libpcap/default.nix
··· 12 13 stdenv.mkDerivation rec { 14 pname = "libpcap"; 15 - version = "1.10.1"; 16 17 src = fetchurl { 18 url = "https://www.tcpdump.org/release/${pname}-${version}.tar.gz"; 19 - sha256 = "sha256-7ShfSsyvBTRPkJdXV7Pb/ncrpB0cQBwmSLf6RbcRvdQ="; 20 }; 21 22 buildInputs = lib.optionals withRemote [ libxcrypt ];
··· 12 13 stdenv.mkDerivation rec { 14 pname = "libpcap"; 15 + version = "1.10.3"; 16 17 src = fetchurl { 18 url = "https://www.tcpdump.org/release/${pname}-${version}.tar.gz"; 19 + sha256 = "sha256-KoiFxANRbPewkz7UsU1sqjDgIFJInr1BTcdaxS51WeY="; 20 }; 21 22 buildInputs = lib.optionals withRemote [ libxcrypt ];
+2 -2
pkgs/development/libraries/libqtav/default.nix
··· 10 , libX11 11 , libass 12 , openal 13 - , ffmpeg 14 , libuchardet 15 , alsa-lib 16 , libpulseaudio ··· 30 libX11 31 libass 32 openal 33 - ffmpeg 34 libuchardet 35 alsa-lib 36 libpulseaudio
··· 10 , libX11 11 , libass 12 , openal 13 + , ffmpeg_4 14 , libuchardet 15 , alsa-lib 16 , libpulseaudio ··· 30 libX11 31 libass 32 openal 33 + ffmpeg_4 34 libuchardet 35 alsa-lib 36 libpulseaudio
+3 -2
pkgs/development/libraries/liburcu/default.nix
··· 1 { lib, stdenv, fetchurl, perl }: 2 3 stdenv.mkDerivation rec { 4 - version = "0.13.2"; 5 pname = "liburcu"; 6 7 src = fetchurl { 8 url = "https://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2"; 9 - sha256 = "sha256-EhP9nxsLdNp94rt0M1t2CY25c4/sXTzcB8DFJPNPwDI="; 10 }; 11 12 nativeCheckInputs = [ perl ]; ··· 17 meta = with lib; { 18 description = "Userspace RCU (read-copy-update) library"; 19 homepage = "https://lttng.org/urcu"; 20 license = licenses.lgpl21Plus; 21 platforms = platforms.unix; 22 maintainers = [ maintainers.bjornfor ];
··· 1 { lib, stdenv, fetchurl, perl }: 2 3 stdenv.mkDerivation rec { 4 + version = "0.14.0"; 5 pname = "liburcu"; 6 7 src = fetchurl { 8 url = "https://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2"; 9 + sha256 = "sha256-ykO/Jh1NOSz/IN+uRAg2YDvwCfziT9ybJpfYN6IjnU8="; 10 }; 11 12 nativeCheckInputs = [ perl ]; ··· 17 meta = with lib; { 18 description = "Userspace RCU (read-copy-update) library"; 19 homepage = "https://lttng.org/urcu"; 20 + changelog = "https://github.com/urcu/userspace-rcu/raw/v${version}/ChangeLog"; 21 license = licenses.lgpl21Plus; 22 platforms = platforms.unix; 23 maintainers = [ maintainers.bjornfor ];
+2 -2
pkgs/development/libraries/libwpe/default.nix
··· 12 13 stdenv.mkDerivation rec { 14 pname = "libwpe"; 15 - version = "1.14.0"; 16 17 src = fetchurl { 18 url = "https://wpewebkit.org/releases/libwpe-${version}.tar.xz"; 19 - sha256 = "wHMwW7rF9EAswcikdTv6PWOkCJAfhhggUeqlp13YnAA="; 20 }; 21 22 nativeBuildInputs = [
··· 12 13 stdenv.mkDerivation rec { 14 pname = "libwpe"; 15 + version = "1.14.1"; 16 17 src = fetchurl { 18 url = "https://wpewebkit.org/releases/libwpe-${version}.tar.xz"; 19 + sha256 = "sha256-sdDNzw+Nu0lOZbD3kT41cQbamg1X9Pu3udEjim2+mt4="; 20 }; 21 22 nativeBuildInputs = [
+16 -3
pkgs/development/libraries/libxcrypt/default.nix
··· 15 ]; 16 17 configureFlags = [ 18 - "--enable-hashes=all" 19 "--enable-obsolete-api=glibc" 20 "--disable-failure-tokens" 21 ] ++ lib.optionals (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.libc == "bionic") [ ··· 30 31 doCheck = true; 32 33 - passthru.tests = { 34 - inherit (nixosTests) login shadow; 35 }; 36 37 meta = with lib; {
··· 15 ]; 16 17 configureFlags = [ 18 + # Update the enabled crypt scheme ids in passthru when the enabled hashes change 19 + "--enable-hashes=strong" 20 "--enable-obsolete-api=glibc" 21 "--disable-failure-tokens" 22 ] ++ lib.optionals (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.libc == "bionic") [ ··· 31 32 doCheck = true; 33 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 + ]; 48 }; 49 50 meta = with lib; {
+2 -2
pkgs/development/libraries/mediastreamer/default.nix
··· 2 , bzrtp 3 , cmake 4 , fetchFromGitLab 5 - , ffmpeg 6 , glew 7 , gsm 8 , lib ··· 58 bzrtp 59 ortp 60 61 - ffmpeg 62 glew 63 libX11 64 libXext
··· 2 , bzrtp 3 , cmake 4 , fetchFromGitLab 5 + , ffmpeg_4 6 , glew 7 , gsm 8 , lib ··· 58 bzrtp 59 ortp 60 61 + ffmpeg_4 62 glew 63 libX11 64 libXext
+3 -4
pkgs/development/libraries/mesa/default.nix
··· 10 if stdenv.isLinux then 11 [ 12 "d3d12" # WSL emulated GPU (aka Dozen) 13 - "kmsro" # helper driver for display-only devices 14 "nouveau" # Nvidia 15 "radeonsi" # new AMD (GCN+) 16 "r300" # very old AMD ··· 19 "svga" # VMWare virtualized GPU 20 "virgl" # QEMU virtualized GPU (aka VirGL) 21 "zink" # generic OpenGL over Vulkan, experimental 22 - ] 23 - ++ lib.optionals stdenv.isAarch64 [ 24 "etnaviv" # Vivante GPU designs (mostly NXP/Marvell SoCs) 25 "freedreno" # Qualcomm Adreno (all Qualcomm SoCs) 26 "lima" # ARM Mali 4xx 27 "panfrost" # ARM Mali Midgard and up (T/G series) 28 "tegra" # Nvidia Tegra SoCs 29 "v3d" # Broadcom VC5 (Raspberry Pi 4) 30 - "vc4" # Broadcom VC4 (Raspberry Pi 0-3) 31 ] ++ lib.optionals stdenv.hostPlatform.isx86 [ 32 "iris" # new Intel, could work on non-x86 with PCIe cards, but doesn't build as of 22.3.4 33 "crocus" # Intel legacy, x86 only
··· 10 if stdenv.isLinux then 11 [ 12 "d3d12" # WSL emulated GPU (aka Dozen) 13 "nouveau" # Nvidia 14 "radeonsi" # new AMD (GCN+) 15 "r300" # very old AMD ··· 18 "svga" # VMWare virtualized GPU 19 "virgl" # QEMU virtualized GPU (aka VirGL) 20 "zink" # generic OpenGL over Vulkan, experimental 21 + ] ++ lib.optionals (stdenv.isAarch64 || stdenv.isAarch32) [ 22 "etnaviv" # Vivante GPU designs (mostly NXP/Marvell SoCs) 23 "freedreno" # Qualcomm Adreno (all Qualcomm SoCs) 24 "lima" # ARM Mali 4xx 25 "panfrost" # ARM Mali Midgard and up (T/G series) 26 + "vc4" # Broadcom VC4 (Raspberry Pi 0-3) 27 + ] ++ lib.optionals stdenv.isAarch64 [ 28 "tegra" # Nvidia Tegra SoCs 29 "v3d" # Broadcom VC5 (Raspberry Pi 4) 30 ] ++ lib.optionals stdenv.hostPlatform.isx86 [ 31 "iris" # new Intel, could work on non-x86 with PCIe cards, but doesn't build as of 22.3.4 32 "crocus" # Intel legacy, x86 only
+1
pkgs/development/libraries/ncurses/default.nix
··· 53 # Only the C compiler, and explicitly not C++ compiler needs this flag on solaris: 54 CFLAGS = lib.optionalString stdenv.isSunOS "-D_XOPEN_SOURCE_EXTENDED"; 55 56 depsBuildBuild = [ 57 buildPackages.stdenv.cc 58 ];
··· 53 # Only the C compiler, and explicitly not C++ compiler needs this flag on solaris: 54 CFLAGS = lib.optionalString stdenv.isSunOS "-D_XOPEN_SOURCE_EXTENDED"; 55 56 + strictDeps = true; 57 depsBuildBuild = [ 58 buildPackages.stdenv.cc 59 ];
+1
pkgs/development/libraries/openhmd/default.nix
··· 60 license = licenses.boost; 61 maintainers = with maintainers; [ oxij ]; 62 platforms = platforms.unix; 63 }; 64 }
··· 60 license = licenses.boost; 61 maintainers = with maintainers; [ oxij ]; 62 platforms = platforms.unix; 63 + broken = true; 64 }; 65 }
+2 -2
pkgs/development/libraries/pangolin/default.nix
··· 1 { stdenv, lib, fetchFromGitHub, cmake, pkg-config, doxygen, libGL, glew 2 - , xorg, ffmpeg, libjpeg, libpng, libtiff, eigen 3 , Carbon ? null, Cocoa ? null 4 }: 5 ··· 21 libGL 22 glew 23 xorg.libX11 24 - ffmpeg 25 libjpeg 26 libpng 27 libtiff
··· 1 { stdenv, lib, fetchFromGitHub, cmake, pkg-config, doxygen, libGL, glew 2 + , xorg, ffmpeg_4, libjpeg, libpng, libtiff, eigen 3 , Carbon ? null, Cocoa ? null 4 }: 5 ··· 21 libGL 22 glew 23 xorg.libX11 24 + ffmpeg_4 25 libjpeg 26 libpng 27 libtiff
+6 -39
pkgs/development/libraries/pipewire/default.nix
··· 63 , xorg 64 , mysofaSupport ? true 65 , libmysofa 66 }: 67 68 let ··· 70 71 self = stdenv.mkDerivation rec { 72 pname = "pipewire"; 73 - version = "0.3.66"; 74 75 outputs = [ 76 "out" ··· 88 owner = "pipewire"; 89 repo = "pipewire"; 90 rev = version; 91 - sha256 = "sha256-qx4mgNRhMdha+8ap+FhVfxpsHE9TcTx29uwQIHLyMHA="; 92 }; 93 94 patches = [ ··· 132 vulkan-headers 133 vulkan-loader 134 webrtc-audio-processing 135 ] ++ (if enableSystemd then [ systemd ] else [ eudev ]) 136 ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ] 137 ++ lib.optionals libcameraSupport [ libcamera libdrm ] ··· 180 "-Dlibmysofa=${mesonEnableFeature mysofaSupport}" 181 "-Dsdl2=disabled" # required only to build examples, causes dependency loop 182 "-Drlimits-install=false" # installs to /etc, we won't use this anyway 183 ]; 184 185 # Fontconfig error: Cannot load default config file ··· 193 ''; 194 195 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 ${lib.optionalString enableSystemd '' 210 moveToOutput "share/systemd/user/pipewire-pulse.*" "$pulse" 211 moveToOutput "lib/systemd/user/pipewire-pulse.*" "$pulse" ··· 216 moveToOutput "bin/pw-jack" "$jack" 217 ''; 218 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 - }; 243 244 meta = with lib; { 245 description = "Server and user space API to deal with multimedia pipelines";
··· 63 , xorg 64 , mysofaSupport ? true 65 , libmysofa 66 + , tinycompress 67 }: 68 69 let ··· 71 72 self = stdenv.mkDerivation rec { 73 pname = "pipewire"; 74 + version = "0.3.67"; 75 76 outputs = [ 77 "out" ··· 89 owner = "pipewire"; 90 repo = "pipewire"; 91 rev = version; 92 + sha256 = "sha256-YM1WOv/SqaGnYevwoFxoOQhF6loFVx/fVPHQY3mpaH0="; 93 }; 94 95 patches = [ ··· 133 vulkan-headers 134 vulkan-loader 135 webrtc-audio-processing 136 + tinycompress 137 ] ++ (if enableSystemd then [ systemd ] else [ eudev ]) 138 ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ] 139 ++ lib.optionals libcameraSupport [ libcamera libdrm ] ··· 182 "-Dlibmysofa=${mesonEnableFeature mysofaSupport}" 183 "-Dsdl2=disabled" # required only to build examples, causes dependency loop 184 "-Drlimits-install=false" # installs to /etc, we won't use this anyway 185 + "-Dcompress-offload=enabled" 186 ]; 187 188 # Fontconfig error: Cannot load default config file ··· 196 ''; 197 198 postInstall = '' 199 ${lib.optionalString enableSystemd '' 200 moveToOutput "share/systemd/user/pipewire-pulse.*" "$pulse" 201 moveToOutput "lib/systemd/user/pipewire-pulse.*" "$pulse" ··· 206 moveToOutput "bin/pw-jack" "$jack" 207 ''; 208 209 + passthru.tests = nixosTests.installed-tests.pipewire; 210 211 meta = with lib; { 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 echo "qmake4Hook: enabled parallel building" 9 fi 10 11 runHook postConfigure 12 } 13
··· 8 echo "qmake4Hook: enabled parallel building" 9 fi 10 11 + if ! [[ -v enableParallelInstalling ]]; then 12 + enableParallelInstalling=1 13 + echo "qmake: enabled parallel installing" 14 + fi 15 + 16 runHook postConfigure 17 } 18
+5
pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
··· 38 echo "qmake: enabled parallel building" 39 fi 40 41 runHook postConfigure 42 } 43
··· 38 echo "qmake: enabled parallel building" 39 fi 40 41 + if ! [[ -v enableParallelInstalling ]]; then 42 + enableParallelInstalling=1 43 + echo "qmake: enabled parallel installing" 44 + fi 45 + 46 runHook postConfigure 47 } 48
+5
pkgs/development/libraries/qt-6/hooks/qmake-hook.sh
··· 40 echo "qmake: enabled parallel building" 41 fi 42 43 runHook postConfigure 44 } 45
··· 40 echo "qmake: enabled parallel building" 41 fi 42 43 + if ! [[ -v enableParallelInstalling ]]; then 44 + enableParallelInstalling=1 45 + echo "qmake: enabled parallel installing" 46 + fi 47 + 48 runHook postConfigure 49 } 50
+2 -1
pkgs/development/libraries/readline/6.3.nix
··· 11 12 outputs = [ "out" "dev" "man" "doc" "info" ]; 13 14 - propagatedBuildInputs = [ncurses]; 15 16 patchFlags = [ "-p0" ]; 17
··· 11 12 outputs = [ "out" "dev" "man" "doc" "info" ]; 13 14 + strictDeps = true; 15 + propagatedBuildInputs = [ ncurses ]; 16 17 patchFlags = [ "-p0" ]; 18
+2 -1
pkgs/development/libraries/readline/7.0.nix
··· 12 13 outputs = [ "out" "dev" "man" "doc" "info" ]; 14 15 - propagatedBuildInputs = [ncurses]; 16 17 patchFlags = [ "-p0" ]; 18
··· 12 13 outputs = [ "out" "dev" "man" "doc" "info" ]; 14 15 + strictDeps = true; 16 + propagatedBuildInputs = [ ncurses ]; 17 18 patchFlags = [ "-p0" ]; 19
+2 -1
pkgs/development/libraries/readline/8.2.nix
··· 12 13 outputs = [ "out" "dev" "man" "doc" "info" ]; 14 15 - propagatedBuildInputs = [ncurses]; 16 17 patchFlags = [ "-p0" ]; 18
··· 12 13 outputs = [ "out" "dev" "man" "doc" "info" ]; 14 15 + strictDeps = true; 16 + propagatedBuildInputs = [ ncurses ]; 17 18 patchFlags = [ "-p0" ]; 19
+2 -1
pkgs/development/libraries/science/math/openblas/default.nix
··· 183 FC = "${stdenv.cc.targetPrefix}gfortran"; 184 CC = "${stdenv.cc.targetPrefix}${if stdenv.cc.isClang then "clang" else "cc"}"; 185 PREFIX = placeholder "out"; 186 NUM_THREADS = 64; 187 INTERFACE64 = blas64; 188 NO_STATIC = !enableStatic; ··· 218 Name: $alias 219 Version: ${version} 220 Description: $alias provided by the OpenBLAS package. 221 - Cflags: -I$out/include 222 Libs: -L$out/lib -lopenblas 223 EOF 224 done
··· 183 FC = "${stdenv.cc.targetPrefix}gfortran"; 184 CC = "${stdenv.cc.targetPrefix}${if stdenv.cc.isClang then "clang" else "cc"}"; 185 PREFIX = placeholder "out"; 186 + OPENBLAS_INCLUDE_DIR = "${placeholder "dev"}/include"; 187 NUM_THREADS = 64; 188 INTERFACE64 = blas64; 189 NO_STATIC = !enableStatic; ··· 219 Name: $alias 220 Version: ${version} 221 Description: $alias provided by the OpenBLAS package. 222 + Cflags: -I$dev/include 223 Libs: -L$out/lib -lopenblas 224 EOF 225 done
+5 -7
pkgs/development/libraries/snappy/default.nix
··· 5 6 stdenv.mkDerivation rec { 7 pname = "snappy"; 8 - version = "1.1.9"; 9 10 src = fetchFromGitHub { 11 owner = "google"; 12 repo = "snappy"; 13 rev = version; 14 - sha256 = "sha256-JXWl63KVP+CDNWIXYtz+EKqWLJbPKl3ifhr8dKAp/w8="; 15 }; 16 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 # Re-enable RTTI, without which other applications can't subclass 24 # snappy::Source (this breaks Ceph, as one example) 25 # https://tracker.ceph.com/issues/53060 ··· 33 outputs = [ "out" "dev" ]; 34 35 nativeBuildInputs = [ cmake ]; 36 37 cmakeFlags = [ 38 "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}"
··· 5 6 stdenv.mkDerivation rec { 7 pname = "snappy"; 8 + version = "1.1.10"; 9 10 src = fetchFromGitHub { 11 owner = "google"; 12 repo = "snappy"; 13 rev = version; 14 + hash = "sha256-wYZkKVDXKCugycx/ZYhjV0BjM/NrEM0R6A4WFhs/WPU="; 15 }; 16 17 patches = [ 18 # Re-enable RTTI, without which other applications can't subclass 19 # snappy::Source (this breaks Ceph, as one example) 20 # https://tracker.ceph.com/issues/53060 ··· 28 outputs = [ "out" "dev" ]; 29 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"; 34 35 cmakeFlags = [ 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 { 3 version = "3.0.0"; 4 - pname = "spandsp"; 5 src = fetchFromGitHub { 6 owner = "freeswitch"; 7 - repo = pname; 8 rev = "6ec23e5a7e411a22d59e5678d12c4d2942c4a4b6"; # upstream does not seem to believe in tags 9 sha256 = "03w0s99y3zibi5fnvn8lk92dggfgrr0mz5255745jfbz28b2d5y7"; 10 }; 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 - }
··· 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: { 13 version = "3.0.0"; 14 src = fetchFromGitHub { 15 owner = "freeswitch"; 16 + repo = finalAttrs.pname; 17 rev = "6ec23e5a7e411a22d59e5678d12c4d2942c4a4b6"; # upstream does not seem to believe in tags 18 sha256 = "03w0s99y3zibi5fnvn8lk92dggfgrr0mz5255745jfbz28b2d5y7"; 19 }; 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 { 3 version = "0.0.6"; 4 - pname = "spandsp"; 5 - src=fetchurl { 6 url = "https://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz"; 7 sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc"; 8 }; 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 - }
··· 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 { 13 version = "0.0.6"; 14 + src = fetchurl { 15 url = "https://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz"; 16 sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc"; 17 }; 18 + })
+2 -2
pkgs/development/libraries/sqlite/default.nix
··· 15 16 stdenv.mkDerivation rec { 17 pname = "sqlite${lib.optionalString interactive "-interactive"}"; 18 - version = "3.41.0"; 19 20 # nixpkgs-update: no auto update 21 # NB! Make sure to update ./tools.nix src (in the same directory). 22 src = fetchurl { 23 url = "https://sqlite.org/2023/sqlite-autoconf-${archiveVersion version}.tar.gz"; 24 - hash = "sha256-Sfd6xT/Zql1zlfJJnLgWQQ5WIZhKEhuFjMygUxCwXHA="; 25 }; 26 27 outputs = [ "bin" "dev" "out" ];
··· 15 16 stdenv.mkDerivation rec { 17 pname = "sqlite${lib.optionalString interactive "-interactive"}"; 18 + version = "3.41.1"; 19 20 # nixpkgs-update: no auto update 21 # NB! Make sure to update ./tools.nix src (in the same directory). 22 src = fetchurl { 23 url = "https://sqlite.org/2023/sqlite-autoconf-${archiveVersion version}.tar.gz"; 24 + hash = "sha256-Ta376rn44WxpXU+7xRwWsvd/uX/0wcPROZGd/AOMnjM="; 25 }; 26 27 outputs = [ "bin" "dev" "out" ];
+2 -2
pkgs/development/libraries/sqlite/tools.nix
··· 4 archiveVersion = import ./archive-version.nix lib; 5 mkTool = { pname, makeTarget, description, homepage, mainProgram }: stdenv.mkDerivation rec { 6 inherit pname; 7 - version = "3.41.0"; 8 9 # nixpkgs-update: no auto update 10 src = assert version == sqlite.version; fetchurl { 11 url = "https://sqlite.org/2023/sqlite-src-${archiveVersion version}.zip"; 12 - hash = "sha256-ZKdjijXoa5kfDBWujigwBjtpSygGi491lTWOMgWp62Y="; 13 }; 14 15 nativeBuildInputs = [ unzip ];
··· 4 archiveVersion = import ./archive-version.nix lib; 5 mkTool = { pname, makeTarget, description, homepage, mainProgram }: stdenv.mkDerivation rec { 6 inherit pname; 7 + version = "3.41.1"; 8 9 # nixpkgs-update: no auto update 10 src = assert version == sqlite.version; fetchurl { 11 url = "https://sqlite.org/2023/sqlite-src-${archiveVersion version}.zip"; 12 + hash = "sha256-25KQEvkAnn8Hlg5/AX6DLYeJop9LIDBxtP15Ip59eiA="; 13 }; 14 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 patchShebangs utils/data-generators/cc/generate 45 ''; 46 47 depsBuildBuild = [ 48 pkg-config 49 ]; ··· 77 dbus 78 ] ++ lib.optionals stdenv.isLinux [ 79 systemd 80 ]; 81 82 mesonFlags = [
··· 44 patchShebangs utils/data-generators/cc/generate 45 ''; 46 47 + strictDeps = true; 48 + 49 depsBuildBuild = [ 50 pkg-config 51 ]; ··· 79 dbus 80 ] ++ lib.optionals stdenv.isLinux [ 81 systemd 82 + ]; 83 + 84 + nativeCheckInputs = [ 85 + dbus 86 ]; 87 88 mesonFlags = [
+2 -8
pkgs/development/libraries/xine-lib/default.nix
··· 5 , aalib 6 , alsa-lib 7 , autoconf 8 - , ffmpeg 9 , flac 10 , libGL 11 , libGLU ··· 42 url = "https://raw.githubusercontent.com/archlinux/svntogit-community/209ae10d59d29c13633b75aa327cf937f3ff0725/trunk/010-xine-lib-libcaca-0.99.beta20-fix.patch"; 43 sha256 = "088141x1yp84y09x3s01v21yzas2bwavxz9v30z5hyq6c3syrmgr"; 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 ]; 52 53 nativeBuildInputs = [ ··· 58 buildInputs = [ 59 aalib 60 alsa-lib 61 - ffmpeg 62 flac 63 libGL 64 libGLU
··· 5 , aalib 6 , alsa-lib 7 , autoconf 8 + , ffmpeg_4 9 , flac 10 , libGL 11 , libGLU ··· 42 url = "https://raw.githubusercontent.com/archlinux/svntogit-community/209ae10d59d29c13633b75aa327cf937f3ff0725/trunk/010-xine-lib-libcaca-0.99.beta20-fix.patch"; 43 sha256 = "088141x1yp84y09x3s01v21yzas2bwavxz9v30z5hyq6c3syrmgr"; 44 }) 45 ]; 46 47 nativeBuildInputs = [ ··· 52 buildInputs = [ 53 aalib 54 alsa-lib 55 + ffmpeg_4 # xine-lib 1.2.12 should support ffmpeg_5 56 flac 57 libGL 58 libGLU
+2 -2
pkgs/development/octave-modules/video/default.nix
··· 3 , lib 4 , fetchurl 5 , pkg-config 6 - , ffmpeg 7 }: 8 9 buildOctavePackage rec { ··· 20 ]; 21 22 propagatedBuildInputs = [ 23 - ffmpeg 24 ]; 25 26 meta = with lib; {
··· 3 , lib 4 , fetchurl 5 , pkg-config 6 + , ffmpeg_4 7 }: 8 9 buildOctavePackage rec { ··· 20 ]; 21 22 propagatedBuildInputs = [ 23 + ffmpeg_4 24 ]; 25 26 meta = with lib; {
+1
pkgs/development/python-modules/apache-beam/default.nix
··· 207 homepage = "https://beam.apache.org/"; 208 license = licenses.asl20; 209 maintainers = with maintainers; [ ndl ]; 210 }; 211 }
··· 207 homepage = "https://beam.apache.org/"; 208 license = licenses.asl20; 209 maintainers = with maintainers; [ ndl ]; 210 + broken = true; 211 }; 212 }
+15 -7
pkgs/development/python-modules/appnope/default.nix
··· 1 { lib 2 , buildPythonPackage 3 - , fetchPypi 4 }: 5 6 buildPythonPackage rec { 7 pname = "appnope"; 8 version = "0.1.3"; 9 10 - src = fetchPypi { 11 - inherit pname version; 12 - hash = "sha256-Ar2RxN6Gn7seHFCq/ECYgnp6VKsvOdncumyVR+2SDiQ="; 13 }; 14 15 meta = { 16 description = "Disable App Nap on macOS"; 17 - homepage = "https://pypi.python.org/pypi/appnope"; 18 - platforms = lib.platforms.darwin; 19 - license = lib.licenses.bsd3; 20 }; 21 }
··· 1 { lib 2 , buildPythonPackage 3 + , fetchFromGitHub 4 + , pytestCheckHook 5 }: 6 7 buildPythonPackage rec { 8 pname = "appnope"; 9 version = "0.1.3"; 10 11 + src = fetchFromGitHub { 12 + owner = "minrk"; 13 + repo = "appnope"; 14 + rev = version; 15 + hash = "sha256-JYzNOPD1ofOrtZK5TTKxbF1ausmczsltR7F1Vwss8Sw="; 16 }; 17 18 + checkInputs = [ 19 + pytestCheckHook 20 + ]; 21 + 22 meta = { 23 description = "Disable App Nap on macOS"; 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 28 }; 29 }
+33 -3
pkgs/development/python-modules/babel/default.nix
··· 1 - { stdenv, lib, buildPythonPackage, fetchPypi, pythonOlder, pytz, pytestCheckHook, freezegun }: 2 3 buildPythonPackage rec { 4 pname = "babel"; 5 version = "2.12.1"; 6 disabled = pythonOlder "3.7"; 7 8 src = fetchPypi { ··· 11 hash = "sha256-zC2ZmZzQHURCCuclohyeNxGzqtx5dtYUf2IthYGWNFU="; 12 }; 13 14 - propagatedBuildInputs = lib.optional (pythonOlder "3.9") pytz; 15 16 - nativeCheckInputs = [ pytestCheckHook freezegun ]; 17 18 meta = with lib; { 19 homepage = "https://babel.pocoo.org/"; 20 description = "Collection of internationalizing tools"; 21 license = licenses.bsd3; 22 maintainers = with maintainers; [ SuperSandro2000 ];
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchPypi 4 + , pythonAtLeast 5 + , pythonOlder 6 + 7 + # tests 8 + , freezegun 9 + , pytestCheckHook 10 + , pytz 11 + }: 12 13 buildPythonPackage rec { 14 pname = "babel"; 15 version = "2.12.1"; 16 + format = "setuptools"; 17 + 18 disabled = pythonOlder "3.7"; 19 20 src = fetchPypi { ··· 23 hash = "sha256-zC2ZmZzQHURCCuclohyeNxGzqtx5dtYUf2IthYGWNFU="; 24 }; 25 26 + propagatedBuildInputs = lib.optionals (pythonOlder "3.9") [ 27 + pytz 28 + ]; 29 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 + ]; 46 47 meta = with lib; { 48 homepage = "https://babel.pocoo.org/"; 49 + changelog = "https://github.com/python-babel/babel/releases/tag/v${version}"; 50 description = "Collection of internationalizing tools"; 51 license = licenses.bsd3; 52 maintainers = with maintainers; [ SuperSandro2000 ];
+2 -2
pkgs/development/python-modules/ffmpeg-python/default.nix
··· 1 { lib 2 , buildPythonPackage 3 , fetchFromGitHub 4 - , ffmpeg 5 , future 6 , pytest-mock 7 , pytestCheckHook ··· 36 patches = [ 37 (substituteAll { 38 src = ./ffmpeg-location.patch; 39 - inherit ffmpeg; 40 }) 41 ]; 42
··· 1 { lib 2 , buildPythonPackage 3 , fetchFromGitHub 4 + , ffmpeg_4 5 , future 6 , pytest-mock 7 , pytestCheckHook ··· 36 patches = [ 37 (substituteAll { 38 src = ./ffmpeg-location.patch; 39 + ffmpeg = ffmpeg_4; 40 }) 41 ]; 42
+2 -2
pkgs/development/python-modules/more-itertools/default.nix
··· 9 10 buildPythonPackage rec { 11 pname = "more-itertools"; 12 - version = "9.0.0"; 13 format = "flit"; 14 15 src = fetchPypi { 16 inherit pname version; 17 - hash = "sha256-WmJX5Ah47wUgsYA5kOPiIwOkG1cUAGwyo/2DBLJuoas="; 18 }; 19 20 nativeBuildInouts = [
··· 9 10 buildPythonPackage rec { 11 pname = "more-itertools"; 12 + version = "9.1.0"; 13 format = "flit"; 14 15 src = fetchPypi { 16 inherit pname version; 17 + hash = "sha256-yrqjQa0DieqDwXqUVmpTrkydBzSYYeyxTcbQNFz5rF0="; 18 }; 19 20 nativeBuildInouts = [
+2 -2
pkgs/development/python-modules/myst-parser/default.nix
··· 19 20 buildPythonPackage rec { 21 pname = "myst-parser"; 22 - version = "0.19.1"; 23 format = "pyproject"; 24 25 disabled = pythonOlder "3.7"; ··· 28 owner = "executablebooks"; 29 repo = pname; 30 rev = "refs/tags/v${version}"; 31 - hash = "sha256-dmvtRvVOF6lxeC+CC/dwkIs4VRDAZtlmblh9uaV+lW0="; 32 }; 33 34 nativeBuildInputs = [ flit-core ];
··· 19 20 buildPythonPackage rec { 21 pname = "myst-parser"; 22 + version = "1.0.0"; 23 format = "pyproject"; 24 25 disabled = pythonOlder "3.7"; ··· 28 owner = "executablebooks"; 29 repo = pname; 30 rev = "refs/tags/v${version}"; 31 + hash = "sha256-Kewd6/4yawpRuyCe8Na0BGUMo59tr2fc97VlGbVJ8mI="; 32 }; 33 34 nativeBuildInputs = [ flit-core ];
+1
pkgs/development/python-modules/pims/default.nix
··· 53 homepage = "https://github.com/soft-matter/pims"; 54 license = licenses.bsd3; 55 maintainers = with maintainers; [ costrouc ]; 56 }; 57 }
··· 53 homepage = "https://github.com/soft-matter/pims"; 54 license = licenses.bsd3; 55 maintainers = with maintainers; [ costrouc ]; 56 + broken = true; 57 }; 58 }
+1
pkgs/development/python-modules/pydevd/default.nix
··· 53 homepage = "https://github.com/fabioz/PyDev.Debugger"; 54 license = licenses.epl10; 55 maintainers = with maintainers; [ onny ]; 56 }; 57 }
··· 53 homepage = "https://github.com/fabioz/PyDev.Debugger"; 54 license = licenses.epl10; 55 maintainers = with maintainers; [ onny ]; 56 + broken = true; 57 }; 58 }
+6
pkgs/development/python-modules/pynacl/default.nix
··· 3 , buildPythonPackage 4 , fetchPypi 5 , pytestCheckHook 6 , pythonOlder 7 , libsodium 8 , cffi ··· 12 buildPythonPackage rec { 13 pname = "pynacl"; 14 version = "1.5.0"; 15 format = "setuptools"; 16 17 disabled = pythonOlder "3.6"; ··· 21 pname = "PyNaCl"; 22 sha256 = "8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"; 23 }; 24 25 buildInputs = [ 26 libsodium
··· 3 , buildPythonPackage 4 , fetchPypi 5 , pytestCheckHook 6 + , sphinxHook 7 , pythonOlder 8 , libsodium 9 , cffi ··· 13 buildPythonPackage rec { 14 pname = "pynacl"; 15 version = "1.5.0"; 16 + outputs = [ "out" "doc" ]; 17 format = "setuptools"; 18 19 disabled = pythonOlder "3.6"; ··· 23 pname = "PyNaCl"; 24 sha256 = "8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"; 25 }; 26 + 27 + nativeBuildInputs = [ 28 + sphinxHook 29 + ]; 30 31 buildInputs = [ 32 libsodium
+1
pkgs/development/python-modules/python-efl/default.nix
··· 48 platforms = platforms.linux; 49 license = with licenses; [ gpl3 lgpl3 ]; 50 maintainers = with maintainers; [ matejc ftrvxmtrx ] ++ teams.enlightenment.members; 51 }; 52 }
··· 48 platforms = platforms.linux; 49 license = with licenses; [ gpl3 lgpl3 ]; 50 maintainers = with maintainers; [ matejc ftrvxmtrx ] ++ teams.enlightenment.members; 51 + broken = true; 52 }; 53 }
+1 -1
pkgs/development/python-modules/spectral-cube/default.nix
··· 46 license = lib.licenses.bsd3; 47 platforms = lib.platforms.all; 48 maintainers = with lib.maintainers; [ smaret ]; 49 }; 50 } 51 -
··· 46 license = lib.licenses.bsd3; 47 platforms = lib.platforms.all; 48 maintainers = with lib.maintainers; [ smaret ]; 49 + broken = true; 50 }; 51 }
+4 -1
pkgs/development/python-modules/sphinx-rtd-theme/default.nix
··· 31 sphinxcontrib-jquery 32 ]; 33 34 nativeCheckInputs = [ 35 pytestCheckHook 36 - pythonRelaxDepsHook 37 readthedocs-sphinx-ext 38 ]; 39
··· 31 sphinxcontrib-jquery 32 ]; 33 34 + nativeBuildInputs = [ 35 + pythonRelaxDepsHook 36 + ]; 37 + 38 nativeCheckInputs = [ 39 pytestCheckHook 40 readthedocs-sphinx-ext 41 ]; 42
+2 -2
pkgs/development/python-modules/sqlalchemy/default.nix
··· 40 41 buildPythonPackage rec { 42 pname = "SQLAlchemy"; 43 - version = "2.0.4"; 44 format = "pyproject"; 45 46 disabled = pythonOlder "3.7"; 47 48 src = fetchPypi { 49 inherit pname version; 50 - hash = "sha256-laGOGmryEU29nuTxaK0zBw1jF+Ebr6KNmDzHtYX+kAs="; 51 }; 52 53 nativeBuildInputs =[
··· 40 41 buildPythonPackage rec { 42 pname = "SQLAlchemy"; 43 + version = "2.0.6"; 44 format = "pyproject"; 45 46 disabled = pythonOlder "3.7"; 47 48 src = fetchPypi { 49 inherit pname version; 50 + hash = "sha256-w0PwtUZJX116I5xwv1CpmkjXMhwWW4Kvr6hIO56+v24="; 51 }; 52 53 nativeBuildInputs =[
+1
pkgs/development/python-modules/sunpy/default.nix
··· 159 homepage = "https://sunpy.org"; 160 license = licenses.bsd2; 161 maintainers = with maintainers; [ costrouc ]; 162 }; 163 }
··· 159 homepage = "https://sunpy.org"; 160 license = licenses.bsd2; 161 maintainers = with maintainers; [ costrouc ]; 162 + broken = true; 163 }; 164 }
+1
pkgs/development/python-modules/wxPython/4.0.nix
··· 83 description = "Cross platform GUI toolkit for Python, Phoenix version"; 84 homepage = "http://wxpython.org/"; 85 license = lib.licenses.wxWindows; 86 }; 87 88 }
··· 83 description = "Cross platform GUI toolkit for Python, Phoenix version"; 84 homepage = "http://wxpython.org/"; 85 license = lib.licenses.wxWindows; 86 + broken = true; 87 }; 88 89 }
+1
pkgs/development/python-modules/wxPython/4.1.nix
··· 142 homepage = "http://wxpython.org/"; 143 license = licenses.wxWindows; 144 maintainers = with maintainers; [ tfmoraes ]; 145 }; 146 }
··· 142 homepage = "http://wxpython.org/"; 143 license = licenses.wxWindows; 144 maintainers = with maintainers; [ tfmoraes ]; 145 + broken = true; 146 }; 147 }
+2 -2
pkgs/development/ruby-modules/bundler/default.nix
··· 4 inherit ruby; 5 name = "${gemName}-${version}"; 6 gemName = "bundler"; 7 - version = "2.4.6"; 8 - source.sha256 = "sha256-MI/g13w5NMoHQ78AJ11BlKhulroUI6xNPqQ19iH51P8="; 9 dontPatchShebangs = true; 10 11 postFixup = ''
··· 4 inherit ruby; 5 name = "${gemName}-${version}"; 6 gemName = "bundler"; 7 + version = "2.4.8"; 8 + source.sha256 = "sha256-/oLW+JPyFz4TIykm4rnOtvZwJ8fxZr/B49bsfZaZoWQ="; 9 dontPatchShebangs = true; 10 11 postFixup = ''
+3
pkgs/development/tools/analysis/eresi/default.nix
··· 60 nativeBuildInputs = [ which ]; 61 buildInputs = [ openssl readline ]; 62 enableParallelBuilding = true; 63 64 installTargets = lib.singleton "install" 65 ++ lib.optional stdenv.is64bit "install64";
··· 60 nativeBuildInputs = [ which ]; 61 buildInputs = [ openssl readline ]; 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; 66 67 installTargets = lib.singleton "install" 68 ++ lib.optional stdenv.is64bit "install64";
+1
pkgs/development/tools/build-managers/bmake/setup-hook.sh
··· 76 77 # shellcheck disable=SC2086 78 local flagsArray=( 79 SHELL=$SHELL 80 # Old bash empty array hack 81 $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"}
··· 76 77 # shellcheck disable=SC2086 78 local flagsArray=( 79 + ${enableParallelInstalling:+-j${NIX_BUILD_CORES}} 80 SHELL=$SHELL 81 # Old bash empty array hack 82 $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"}
+2 -2
pkgs/development/tools/build-managers/cmake/default.nix
··· 40 + lib.optionalString isBootstrap "-boot" 41 + lib.optionalString cursesUI "-cursesUI" 42 + lib.optionalString qt5UI "-qt5UI"; 43 - version = "3.25.2"; 44 45 src = fetchurl { 46 url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; 47 - sha256 = "0g6k9sa23smh9z5dz8v6dqy89887gxc7s24gchpm7p9ip4ng49n0"; 48 }; 49 50 patches = [
··· 40 + lib.optionalString isBootstrap "-boot" 41 + lib.optionalString cursesUI "-cursesUI" 42 + lib.optionalString qt5UI "-qt5UI"; 43 + version = "3.25.3"; 44 45 src = fetchurl { 46 url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; 47 + sha256 = "sha256-zJlXAdWQym3rxCRemYmTkJnKUoJ91GtdNZLwk6/hkBw="; 48 }; 49 50 patches = [
+5
pkgs/development/tools/build-managers/cmake/setup-hook.sh
··· 130 echo "cmake: enabled parallel building" 131 fi 132 133 runHook postConfigure 134 } 135
··· 130 echo "cmake: enabled parallel building" 131 fi 132 133 + if ! [[ -v enableParallelInstalling ]]; then 134 + enableParallelInstalling=1 135 + echo "cmake: enabled parallel installing" 136 + fi 137 + 138 runHook postConfigure 139 } 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 echo "meson: enabled parallel building" 29 fi 30 31 runHook postConfigure 32 } 33
··· 28 echo "meson: enabled parallel building" 29 fi 30 31 + if ! [[ -v enableParallelInstalling ]]; then 32 + enableParallelInstalling=1 33 + echo "meson: enabled parallel installing" 34 + fi 35 + 36 runHook postConfigure 37 } 38
+8
pkgs/development/tools/build-managers/ninja/setup-hook.sh
··· 53 ninjaInstallPhase() { 54 runHook preInstall 55 56 # shellcheck disable=SC2086 57 local flagsArray=( 58 $ninjaFlags "${ninjaFlagsArray[@]}" 59 ${installTargets:-install} 60 )
··· 53 ninjaInstallPhase() { 54 runHook preInstall 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 + 63 # shellcheck disable=SC2086 64 local flagsArray=( 65 + -j$buildCores 66 $ninjaFlags "${ninjaFlagsArray[@]}" 67 ${installTargets:-install} 68 )
+1
pkgs/development/tools/build-managers/scons/setup-hook.sh
··· 33 fi 34 35 local flagsArray=( 36 $sconsFlags ${sconsFlagsArray[@]} 37 $installFlags ${installFlagsArray[@]} 38 ${installTargets:-install}
··· 33 fi 34 35 local flagsArray=( 36 + ${enableParallelInstalling:+-j${NIX_BUILD_CORES}} 37 $sconsFlags ${sconsFlagsArray[@]} 38 $installFlags ${installFlagsArray[@]} 39 ${installTargets:-install}
+6
pkgs/development/tools/build-managers/wafHook/setup-hook.sh
··· 30 echo "waf: enabled parallel building" 31 fi 32 33 runHook postConfigure 34 } 35 ··· 68 fi 69 70 local flagsArray=( 71 $wafFlags ${wafFlagsArray[@]} 72 $installFlags ${installFlagsArray[@]} 73 ${installTargets:-install}
··· 30 echo "waf: enabled parallel building" 31 fi 32 33 + if ! [[ -v enableParallelInstalling ]]; then 34 + enableParallelInstalling=1 35 + echo "waf: enabled parallel installing" 36 + fi 37 + 38 runHook postConfigure 39 } 40 ··· 73 fi 74 75 local flagsArray=( 76 + ${enableParallelInstalling:+-j ${NIX_BUILD_CORES}} 77 $wafFlags ${wafFlagsArray[@]} 78 $installFlags ${installFlagsArray[@]} 79 ${installTargets:-install}
+2 -2
pkgs/development/tools/misc/patchelf/default.nix
··· 7 8 stdenv.mkDerivation rec { 9 pname = "patchelf"; 10 - version = "0.15.0"; 11 12 src = fetchurl { 13 url = "https://github.com/NixOS/${pname}/releases/download/${version}/${pname}-${version}.tar.bz2"; 14 - sha256 = "sha256-9ANtPuTY4ijewb7/8PbkbYpA6eVw4AaOOdd+YuLIvcI="; 15 }; 16 17 strictDeps = true;
··· 7 8 stdenv.mkDerivation rec { 9 pname = "patchelf"; 10 + version = "0.17.2"; 11 12 src = fetchurl { 13 url = "https://github.com/NixOS/${pname}/releases/download/${version}/${pname}-${version}.tar.bz2"; 14 + sha256 = "sha256-uuLqN2By5CLBliGN2b3vBUjMwI2k3p82tGct+E6i2OI="; 15 }; 16 17 strictDeps = true;
+11 -1
pkgs/development/tools/pandoc/default.nix
··· 9 buildDepends = drv.buildDepends or [] ++ [haskellPackages.file-embed]; 10 buildTools = (drv.buildTools or []) ++ [ removeReferencesTo ]; 11 12 postInstall = drv.postInstall or "" + '' 13 remove-references-to \ 14 -t ${haskellPackages.pandoc-types} \ 15 $out/bin/pandoc 16 '' + lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform) '' 17 mkdir -p $out/share/bash-completion/completions ··· 25 # lead to a transitive runtime dependency on the whole GHC distribution. 26 # This should ideally be fixed in haskellPackages (or even Cabal), 27 # but a minimal pandoc is important enough to patch it manually. 28 - disallowedReferences = [ haskellPackages.pandoc-types ]; 29 })
··· 9 buildDepends = drv.buildDepends or [] ++ [haskellPackages.file-embed]; 10 buildTools = (drv.buildTools or []) ++ [ removeReferencesTo ]; 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 19 postInstall = drv.postInstall or "" + '' 20 remove-references-to \ 21 -t ${haskellPackages.pandoc-types} \ 22 + $out/bin/pandoc 23 + remove-references-to \ 24 + -t ${haskellPackages.warp} \ 25 $out/bin/pandoc 26 '' + lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform) '' 27 mkdir -p $out/share/bash-completion/completions ··· 35 # lead to a transitive runtime dependency on the whole GHC distribution. 36 # This should ideally be fixed in haskellPackages (or even Cabal), 37 # but a minimal pandoc is important enough to patch it manually. 38 + disallowedReferences = [ haskellPackages.pandoc-types haskellPackages.warp ]; 39 })
+1
pkgs/development/tools/shadered/default.nix
··· 45 homepage = "https://github.com/dfranx/SHADERed"; 46 license = with licenses; [ mit ]; 47 maintainers = with maintainers; [ Scriptkiddi ]; 48 }; 49 }
··· 45 homepage = "https://github.com/dfranx/SHADERed"; 46 license = with licenses; [ mit ]; 47 maintainers = with maintainers; [ Scriptkiddi ]; 48 + broken = true; 49 }; 50 }
+3 -2
pkgs/development/web/nodejs/v18.nix
··· 9 in 10 buildNodejs { 11 inherit enableNpm; 12 - version = "18.14.2"; 13 - sha256 = "sha256-+8Nk3SX+4srMDyAz2y2GEV/AdXUxDqDmRAi4Fw0JxoU="; 14 patches = [ 15 ./disable-darwin-v8-system-instrumentation.patch 16 ./bypass-darwin-xcrun-node16.patch 17 ]; 18 }
··· 9 in 10 buildNodejs { 11 inherit enableNpm; 12 + version = "18.15.0"; 13 + sha256 = "sha256-jkTWUBj/lzKEGVwjGGRpoOpAgul+xCAOX1cG1VhNqjc="; 14 patches = [ 15 ./disable-darwin-v8-system-instrumentation.patch 16 ./bypass-darwin-xcrun-node16.patch 17 + ./revert-arm64-pointer-auth.patch 18 ]; 19 }
+2 -2
pkgs/games/hedgewars/default.nix
··· 1 - { stdenv, SDL2_image, SDL2_ttf, SDL2_net, fpc, ghcWithPackages, ffmpeg, freeglut 2 , lib, fetchurl, cmake, pkg-config, lua5_1, SDL2, SDL2_mixer 3 , zlib, libpng, libGL, libGLU, physfs 4 , qtbase, qttools, wrapQtAppsHook ··· 27 SDL2_ttf SDL2_net SDL2 SDL2_mixer SDL2_image 28 fpc lua5_1 29 llvm # hard-requirement on aarch64, for some reason not strictly necessary on x86-64 30 - ffmpeg freeglut physfs 31 qtbase 32 ] ++ lib.optional withServer ghc; 33
··· 1 + { stdenv, SDL2_image, SDL2_ttf, SDL2_net, fpc, ghcWithPackages, ffmpeg_4, freeglut 2 , lib, fetchurl, cmake, pkg-config, lua5_1, SDL2, SDL2_mixer 3 , zlib, libpng, libGL, libGLU, physfs 4 , qtbase, qttools, wrapQtAppsHook ··· 27 SDL2_ttf SDL2_net SDL2 SDL2_mixer SDL2_image 28 fpc lua5_1 29 llvm # hard-requirement on aarch64, for some reason not strictly necessary on x86-64 30 + ffmpeg_4 freeglut physfs 31 qtbase 32 ] ++ lib.optional withServer ghc; 33
+1
pkgs/games/openclonk/default.nix
··· 41 license = if enableSoundtrack then licenses.unfreeRedistributable else licenses.isc; 42 maintainers = with maintainers; [ lheckemann ]; 43 platforms = [ "x86_64-linux" "i686-linux" ]; 44 }; 45 }
··· 41 license = if enableSoundtrack then licenses.unfreeRedistributable else licenses.isc; 42 maintainers = with maintainers; [ lheckemann ]; 43 platforms = [ "x86_64-linux" "i686-linux" ]; 44 + broken = true; 45 }; 46 }
+2 -2
pkgs/games/openrw/default.nix
··· 11 , openal 12 , SDL2 13 , boost 14 - , ffmpeg 15 , Cocoa 16 , OpenAL }: 17 ··· 35 nativeBuildInputs = [ cmake ]; 36 37 buildInputs = [ 38 - sfml libGLU libGL bullet glm libmad openal SDL2 boost ffmpeg 39 ] ++ lib.optionals stdenv.isDarwin [ OpenAL Cocoa ]; 40 41 meta = with lib; {
··· 11 , openal 12 , SDL2 13 , boost 14 + , ffmpeg_4 15 , Cocoa 16 , OpenAL }: 17 ··· 35 nativeBuildInputs = [ cmake ]; 36 37 buildInputs = [ 38 + sfml libGLU libGL bullet glm libmad openal SDL2 boost ffmpeg_4 39 ] ++ lib.optionals stdenv.isDarwin [ OpenAL Cocoa ]; 40 41 meta = with lib; {
+2 -2
pkgs/games/performous/default.nix
··· 5 , aubio 6 , boost 7 , cmake 8 - , ffmpeg 9 , gettext 10 , git 11 , glew ··· 58 SDL2 59 aubio 60 boost 61 - ffmpeg 62 glew 63 glibmm 64 glm
··· 5 , aubio 6 , boost 7 , cmake 8 + , ffmpeg_4 9 , gettext 10 , git 11 , glew ··· 58 SDL2 59 aubio 60 boost 61 + ffmpeg_4 62 glew 63 glibmm 64 glm
+1
pkgs/games/spring/default.nix
··· 87 license = licenses.gpl2Plus; 88 maintainers = with maintainers; [ qknight domenkozar sorki ]; 89 platforms = [ "x86_64-linux" ]; 90 }; 91 }
··· 87 license = licenses.gpl2Plus; 88 maintainers = with maintainers; [ qknight domenkozar sorki ]; 89 platforms = [ "x86_64-linux" ]; 90 + broken = true; 91 }; 92 }
+2 -2
pkgs/games/stepmania/default.nix
··· 1 { stdenv, lib, fetchFromGitHub, cmake, nasm 2 - , gtk2, glib, ffmpeg, alsa-lib, libmad, libogg, libvorbis 3 , glew, libpulseaudio, udev 4 }: 5 ··· 25 nativeBuildInputs = [ cmake nasm ]; 26 27 buildInputs = [ 28 - gtk2 glib ffmpeg alsa-lib libmad libogg libvorbis 29 glew libpulseaudio udev 30 ]; 31
··· 1 { stdenv, lib, fetchFromGitHub, cmake, nasm 2 + , gtk2, glib, ffmpeg_4, alsa-lib, libmad, libogg, libvorbis 3 , glew, libpulseaudio, udev 4 }: 5 ··· 25 nativeBuildInputs = [ cmake nasm ]; 26 27 buildInputs = [ 28 + gtk2 glib ffmpeg_4 alsa-lib libmad libogg libvorbis 29 glew libpulseaudio udev 30 ]; 31
+4 -5
pkgs/games/ultrastardx/default.nix
··· 14 , SDL2_gfx 15 , SDL2_mixer 16 , SDL2_net, SDL2_ttf 17 - , ffmpeg 18 , sqlite 19 , zlib 20 , libX11 ··· 26 sharedLibs = [ 27 pcre portaudio freetype 28 SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf 29 - sqlite lua zlib libX11 libGLU libGL ffmpeg 30 ]; 31 32 in stdenv.mkDerivation rec { ··· 48 49 # ultrastardx binds to libffmpeg (and sublibs), specifying a very restrictive 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. 54 sed \ 55 -e 's/^ LIBAVCODEC_MAX_VERSION_MINOR.*$/ LIBAVCODEC_MAX_VERSION_MINOR = 1000;/' \ 56 -i src/lib/ffmpeg-4.0/avcodec.pas
··· 14 , SDL2_gfx 15 , SDL2_mixer 16 , SDL2_net, SDL2_ttf 17 + , ffmpeg_4 18 , sqlite 19 , zlib 20 , libX11 ··· 26 sharedLibs = [ 27 pcre portaudio freetype 28 SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf 29 + sqlite lua zlib libX11 libGLU libGL ffmpeg_4 30 ]; 31 32 in stdenv.mkDerivation rec { ··· 48 49 # ultrastardx binds to libffmpeg (and sublibs), specifying a very restrictive 50 # upper bounds on the minor versions of .so files. 51 + # We can assume ffmpeg_4 won’t break any major ABI compatibility, since it's 52 + # effectively EOL 53 sed \ 54 -e 's/^ LIBAVCODEC_MAX_VERSION_MINOR.*$/ LIBAVCODEC_MAX_VERSION_MINOR = 1000;/' \ 55 -i src/lib/ffmpeg-4.0/avcodec.pas
+2 -2
pkgs/misc/screensavers/electricsheep/default.nix
··· 3 , fetchFromGitHub 4 , autoreconfHook 5 , wxGTK32 6 - , ffmpeg 7 , lua5_1 8 , curl 9 , libpng ··· 34 35 buildInputs = [ 36 wxGTK32 37 - ffmpeg 38 lua5_1 39 curl 40 libpng
··· 3 , fetchFromGitHub 4 , autoreconfHook 5 , wxGTK32 6 + , ffmpeg_4 7 , lua5_1 8 , curl 9 , libpng ··· 34 35 buildInputs = [ 36 wxGTK32 37 + ffmpeg_4 38 lua5_1 39 curl 40 libpng
+2 -2
pkgs/os-specific/linux/guvcview/default.nix
··· 5 , pkg-config 6 , portaudio 7 , SDL2 8 - , ffmpeg 9 , udev 10 , libusb1 11 , libv4l ··· 46 buildInputs = [ 47 SDL2 48 alsa-lib 49 - ffmpeg 50 libusb1 51 libv4l 52 portaudio
··· 5 , pkg-config 6 , portaudio 7 , SDL2 8 + , ffmpeg_4 9 , udev 10 , libusb1 11 , libv4l ··· 46 buildInputs = [ 47 SDL2 48 alsa-lib 49 + ffmpeg_4 50 libusb1 51 libv4l 52 portaudio
+2 -2
pkgs/os-specific/linux/iproute/default.nix
··· 6 7 stdenv.mkDerivation rec { 8 pname = "iproute2"; 9 - version = "6.1.0"; 10 11 src = fetchurl { 12 url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz"; 13 - sha256 = "sha256-XOEqD+xrIScl7yGHNZQbLat2JE235yZGp2AhsFN7Q6s="; 14 }; 15 16 patches = [
··· 6 7 stdenv.mkDerivation rec { 8 pname = "iproute2"; 9 + version = "6.2.0"; 10 11 src = fetchurl { 12 url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz"; 13 + sha256 = "sha256-TXJzAgDsWyqrqhovIFU8Z0gpLwZdmhVMfV4iVZ35/WI="; 14 }; 15 16 patches = [
+3 -5
pkgs/os-specific/linux/pam/default.nix
··· 1 - { lib, stdenv, buildPackages, fetchurl, flex, cracklib, db4, gettext, audit 2 , nixosTests 3 - , withLibxcrypt ? true, libxcrypt 4 }: 5 6 stdenv.mkDerivation rec { ··· 20 nativeBuildInputs = [ flex ] 21 ++ lib.optional stdenv.buildPlatform.isDarwin gettext; 22 23 - buildInputs = [ cracklib db4 ] 24 - ++ lib.optional stdenv.buildPlatform.isLinux audit 25 - ++ lib.optional withLibxcrypt libxcrypt; 26 27 enableParallelBuilding = true; 28
··· 1 + { lib, stdenv, buildPackages, fetchurl, flex, cracklib, db4, gettext, audit, libxcrypt 2 , nixosTests 3 }: 4 5 stdenv.mkDerivation rec { ··· 19 nativeBuildInputs = [ flex ] 20 ++ lib.optional stdenv.buildPlatform.isDarwin gettext; 21 22 + buildInputs = [ cracklib db4 libxcrypt ] 23 + ++ lib.optional stdenv.buildPlatform.isLinux audit; 24 25 enableParallelBuilding = true; 26
+3
pkgs/os-specific/linux/sssd/default.nix
··· 54 ''; 55 56 enableParallelBuilding = true; 57 nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config doxygen ]; 58 buildInputs = [ augeas dnsutils c-ares curl cyrus_sasl ding-libs libnl libunistring nss 59 samba nfs-utils p11-kit python3 popt
··· 54 ''; 55 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; 60 nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config doxygen ]; 61 buildInputs = [ augeas dnsutils c-ares curl cyrus_sasl ding-libs libnl libunistring nss 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 2 files changed, 4 insertions(+) 13 14 diff --git a/src/shared/fstab-util.c b/src/shared/fstab-util.c 15 - index f683f05981..5a04c2c2a6 100644 16 --- a/src/shared/fstab-util.c 17 +++ b/src/shared/fstab-util.c 18 - @@ -40,6 +40,8 @@ bool fstab_is_extrinsic(const char *mount, const char *opts) { 19 /* Don't bother with the OS data itself */ 20 if (PATH_IN_SET(mount, 21 "/", ··· 25 "/etc")) 26 return true; 27 diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c 28 - index e650b82170..5d0d41aa28 100644 29 --- a/src/shutdown/umount.c 30 +++ b/src/shutdown/umount.c 31 - @@ -522,6 +522,8 @@ static int delete_md(MountPoint *m) { 32 33 static bool nonunmountable_path(const char *path) { 34 return path_equal(path, "/")
··· 12 2 files changed, 4 insertions(+) 13 14 diff --git a/src/shared/fstab-util.c b/src/shared/fstab-util.c 15 + index 164e71a150..68e0766594 100644 16 --- a/src/shared/fstab-util.c 17 +++ b/src/shared/fstab-util.c 18 + @@ -41,6 +41,8 @@ bool fstab_is_extrinsic(const char *mount, const char *opts) { 19 /* Don't bother with the OS data itself */ 20 if (PATH_IN_SET(mount, 21 "/", ··· 25 "/etc")) 26 return true; 27 diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c 28 + index 61bd9d2601..a6243da417 100644 29 --- a/src/shutdown/umount.c 30 +++ b/src/shutdown/umount.c 31 + @@ -531,6 +531,8 @@ static int delete_md(MountPoint *m) { 32 33 static bool nonunmountable_path(const char *path) { 34 return path_equal(path, "/")
+3 -3
pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
··· 10 1 file changed, 2 insertions(+) 11 12 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 13 - index 01a67b5553..86dd2cea84 100644 14 --- a/src/nspawn/nspawn.c 15 +++ b/src/nspawn/nspawn.c 16 - @@ -5636,6 +5636,7 @@ static int run(int argc, char *argv[]) { 17 goto finish; 18 } 19 } else { ··· 21 _cleanup_free_ char *p = NULL; 22 23 if (arg_pivot_root_new) 24 - @@ -5650,6 +5651,7 @@ static int run(int argc, char *argv[]) { 25 "Directory %s doesn't look like it has an OS tree (/usr/ directory is missing). Refusing.", arg_directory); 26 goto finish; 27 }
··· 10 1 file changed, 2 insertions(+) 11 12 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 13 + index 36d336dfc8..d62c5173ca 100644 14 --- a/src/nspawn/nspawn.c 15 +++ b/src/nspawn/nspawn.c 16 + @@ -5634,6 +5634,7 @@ static int run(int argc, char *argv[]) { 17 goto finish; 18 } 19 } else { ··· 21 _cleanup_free_ char *p = NULL; 22 23 if (arg_pivot_root_new) 24 + @@ -5648,6 +5649,7 @@ static int run(int argc, char *argv[]) { 25 "Directory %s doesn't look like it has an OS tree (/usr/ directory is missing). Refusing.", arg_directory); 26 goto finish; 27 }
+3 -3
pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch
··· 8 1 file changed, 5 insertions(+), 1 deletion(-) 9 10 diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c 11 - index 73c76fceea..d00cea7158 100644 12 --- a/src/fsck/fsck.c 13 +++ b/src/fsck/fsck.c 14 - @@ -352,6 +352,7 @@ static int run(int argc, char *argv[]) { 15 if (r == 0) { 16 char dash_c[STRLEN("-C") + DECIMAL_STR_MAX(int) + 1]; 17 int progress_socket = -1; ··· 19 const char *cmdline[9]; 20 int i = 0; 21 22 - @@ -372,7 +373,10 @@ static int run(int argc, char *argv[]) { 23 } else 24 dash_c[0] = 0; 25
··· 8 1 file changed, 5 insertions(+), 1 deletion(-) 9 10 diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c 11 + index e25c5d5efa..26f4e5669e 100644 12 --- a/src/fsck/fsck.c 13 +++ b/src/fsck/fsck.c 14 + @@ -351,6 +351,7 @@ static int run(int argc, char *argv[]) { 15 if (r == 0) { 16 char dash_c[STRLEN("-C") + DECIMAL_STR_MAX(int) + 1]; 17 int progress_socket = -1; ··· 19 const char *cmdline[9]; 20 int i = 0; 21 22 + @@ -371,7 +372,10 @@ static int run(int argc, char *argv[]) { 23 } else 24 dash_c[0] = 0; 25
+1 -1
pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
··· 14 2 files changed, 6 insertions(+), 19 deletions(-) 15 16 diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c 17 - index 36f386254b..a968d28dfc 100644 18 --- a/src/basic/path-lookup.c 19 +++ b/src/basic/path-lookup.c 20 @@ -92,11 +92,7 @@ int xdg_user_data_dir(char **ret, const char *suffix) {
··· 14 2 files changed, 6 insertions(+), 19 deletions(-) 15 16 diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c 17 + index c99e9d8786..b9f85d1f8c 100644 18 --- a/src/basic/path-lookup.c 19 +++ b/src/basic/path-lookup.c 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 1 file changed, 2 insertions(+), 1 deletion(-) 14 15 diff --git a/src/core/manager.c b/src/core/manager.c 16 - index a59afafb58..d9e7d77913 100644 17 --- a/src/core/manager.c 18 +++ b/src/core/manager.c 19 - @@ -1432,7 +1432,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) { 20 if (!unit_is_bound_by_inactive(u, &culprit)) 21 continue; 22
··· 13 1 file changed, 2 insertions(+), 1 deletion(-) 14 15 diff --git a/src/core/manager.c b/src/core/manager.c 16 + index 7b394794b0..50d092042c 100644 17 --- a/src/core/manager.c 18 +++ b/src/core/manager.c 19 + @@ -1437,7 +1437,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) { 20 if (!unit_is_bound_by_inactive(u, &culprit)) 21 continue; 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 1 file changed, 2 insertions(+), 5 deletions(-) 10 11 diff --git a/src/libsystemd/sd-hwdb/hwdb-internal.h b/src/libsystemd/sd-hwdb/hwdb-internal.h 12 - index 62d27f7b89..87318e041b 100644 13 --- a/src/libsystemd/sd-hwdb/hwdb-internal.h 14 +++ b/src/libsystemd/sd-hwdb/hwdb-internal.h 15 @@ -83,8 +83,5 @@ struct trie_value_entry2_f {
··· 9 1 file changed, 2 insertions(+), 5 deletions(-) 10 11 diff --git a/src/libsystemd/sd-hwdb/hwdb-internal.h b/src/libsystemd/sd-hwdb/hwdb-internal.h 12 + index 5302679a62..c681f3a984 100644 13 --- a/src/libsystemd/sd-hwdb/hwdb-internal.h 14 +++ b/src/libsystemd/sd-hwdb/hwdb-internal.h 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 <literal>Etc/UTC</literal>. The resulting link should lead to the 36 corresponding binary 37 diff --git a/src/basic/time-util.c b/src/basic/time-util.c 38 - index 71b2f67350..465f1c0b15 100644 39 --- a/src/basic/time-util.c 40 +++ b/src/basic/time-util.c 41 - @@ -1280,7 +1280,7 @@ static int get_timezones_from_zone1970_tab(char ***ret) { 42 43 assert(ret); 44 ··· 47 if (!f) 48 return -errno; 49 50 - @@ -1319,7 +1319,7 @@ static int get_timezones_from_tzdata_zi(char ***ret) { 51 _cleanup_strv_free_ char **zones = NULL; 52 int r; 53 ··· 56 if (!f) 57 return -errno; 58 59 - @@ -1431,7 +1431,7 @@ int verify_timezone(const char *name, int log_level) { 60 if (p - name >= PATH_MAX) 61 return -ENAMETOOLONG; 62 ··· 65 66 fd = open(t, O_RDONLY|O_CLOEXEC); 67 if (fd < 0) 68 - @@ -1489,7 +1489,7 @@ int get_timezone(char **ret) { 69 if (r < 0) 70 return r; /* returns EINVAL if not a symlink */ 71 ··· 75 return -EINVAL; 76 77 diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c 78 - index 065ee896cd..1b260416c8 100644 79 --- a/src/firstboot/firstboot.c 80 +++ b/src/firstboot/firstboot.c 81 - @@ -510,7 +510,7 @@ static int process_timezone(void) { 82 if (isempty(arg_timezone)) 83 return 0; 84 ··· 88 (void) mkdir_parents(etc_localtime, 0755); 89 r = symlink_atomic(e, etc_localtime); 90 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 91 - index 86dd2cea84..4e5f03669d 100644 92 --- a/src/nspawn/nspawn.c 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 95 static const char *timezone_from_path(const char *path) { 96 return PATH_STARTSWITH_SET( 97 path, ··· 103 104 static bool etc_writable(void) { 105 diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c 106 - index 6dbf73eb42..a36dd459d2 100644 107 --- a/src/timedate/timedated.c 108 +++ b/src/timedate/timedated.c 109 @@ -282,7 +282,7 @@ static int context_read_data(Context *c) {
··· 35 <literal>Etc/UTC</literal>. The resulting link should lead to the 36 corresponding binary 37 diff --git a/src/basic/time-util.c b/src/basic/time-util.c 38 + index b700f364ef..116b1cec63 100644 39 --- a/src/basic/time-util.c 40 +++ b/src/basic/time-util.c 41 + @@ -1282,7 +1282,7 @@ static int get_timezones_from_zone1970_tab(char ***ret) { 42 43 assert(ret); 44 ··· 47 if (!f) 48 return -errno; 49 50 + @@ -1321,7 +1321,7 @@ static int get_timezones_from_tzdata_zi(char ***ret) { 51 _cleanup_strv_free_ char **zones = NULL; 52 int r; 53 ··· 56 if (!f) 57 return -errno; 58 59 + @@ -1433,7 +1433,7 @@ int verify_timezone(const char *name, int log_level) { 60 if (p - name >= PATH_MAX) 61 return -ENAMETOOLONG; 62 ··· 65 66 fd = open(t, O_RDONLY|O_CLOEXEC); 67 if (fd < 0) 68 + @@ -1491,7 +1491,7 @@ int get_timezone(char **ret) { 69 if (r < 0) 70 return r; /* returns EINVAL if not a symlink */ 71 ··· 75 return -EINVAL; 76 77 diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c 78 + index 9e79f84691..1a1c75718c 100644 79 --- a/src/firstboot/firstboot.c 80 +++ b/src/firstboot/firstboot.c 81 + @@ -512,7 +512,7 @@ static int process_timezone(void) { 82 if (isempty(arg_timezone)) 83 return 0; 84 ··· 88 (void) mkdir_parents(etc_localtime, 0755); 89 r = symlink_atomic(e, etc_localtime); 90 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 91 + index d62c5173ca..84beac064b 100644 92 --- a/src/nspawn/nspawn.c 93 +++ b/src/nspawn/nspawn.c 94 + @@ -1915,8 +1915,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid 95 static const char *timezone_from_path(const char *path) { 96 return PATH_STARTSWITH_SET( 97 path, ··· 103 104 static bool etc_writable(void) { 105 diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c 106 + index ad483301ef..a7f22b1c86 100644 107 --- a/src/timedate/timedated.c 108 +++ b/src/timedate/timedated.c 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 1 file changed, 1 insertion(+), 1 deletion(-) 11 12 diff --git a/src/locale/localectl.c b/src/locale/localectl.c 13 - index c23f1fa3f6..ad2eba82ad 100644 14 --- a/src/locale/localectl.c 15 +++ b/src/locale/localectl.c 16 - @@ -299,7 +299,7 @@ static int list_x11_keymaps(int argc, char **argv, void *userdata) { 17 } state = NONE, look_for; 18 int r; 19
··· 10 1 file changed, 1 insertion(+), 1 deletion(-) 11 12 diff --git a/src/locale/localectl.c b/src/locale/localectl.c 13 + index fb83881cc7..c47a33134a 100644 14 --- a/src/locale/localectl.c 15 +++ b/src/locale/localectl.c 16 + @@ -297,7 +297,7 @@ static int list_x11_keymaps(int argc, char **argv, void *userdata) { 17 } state = NONE, look_for; 18 int r; 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 1 file changed, 3 deletions(-) 9 10 diff --git a/meson.build b/meson.build 11 - index 76ad51d3fb..839dcef437 100644 12 --- a/meson.build 13 +++ b/meson.build 14 - @@ -4067,9 +4067,6 @@ install_data('LICENSE.GPL2', 15 install_subdir('LICENSES', 16 install_dir : docdir) 17
··· 8 1 file changed, 3 deletions(-) 9 10 diff --git a/meson.build b/meson.build 11 + index bfc86857d6..84e3e4c1db 100644 12 --- a/meson.build 13 +++ b/meson.build 14 + @@ -4277,9 +4277,6 @@ install_data('LICENSE.GPL2', 15 install_subdir('LICENSES', 16 install_dir : docdir) 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 we should again be able to discover the udev rules amongst other default 9 files that I might have missed. 10 --- 11 - src/basic/def.h | 6 ++++-- 12 1 file changed, 4 insertions(+), 2 deletions(-) 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 @@ 19 "/run/" n "\0" \ 20 "/usr/local/lib/" n "\0" \ 21 "/usr/lib/" n "\0" \
··· 8 we should again be able to discover the udev rules amongst other default 9 files that I might have missed. 10 --- 11 + src/basic/constants.h | 6 ++++-- 12 1 file changed, 4 insertions(+), 2 deletions(-) 13 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 "/run/" n "\0" \ 20 "/usr/local/lib/" n "\0" \ 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 1 file changed, 1 insertion(+) 11 12 diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c 13 - index dcee0f9006..24b03d6948 100644 14 --- a/src/shutdown/shutdown.c 15 +++ b/src/shutdown/shutdown.c 16 - @@ -334,6 +334,7 @@ static void init_watchdog(void) { 17 int main(int argc, char *argv[]) { 18 static const char* const dirs[] = { 19 SYSTEM_SHUTDOWN_PATH,
··· 10 1 file changed, 1 insertion(+) 11 12 diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c 13 + index 42111d2772..53467ac229 100644 14 --- a/src/shutdown/shutdown.c 15 +++ b/src/shutdown/shutdown.c 16 + @@ -335,6 +335,7 @@ static void init_watchdog(void) { 17 int main(int argc, char *argv[]) { 18 static const char* const dirs[] = { 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 1 file changed, 1 insertion(+) 10 11 diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c 12 - index 3461d3e45f..d7d0ec2a7a 100644 13 --- a/src/sleep/sleep.c 14 +++ b/src/sleep/sleep.c 15 @@ -184,6 +184,7 @@ static int execute(
··· 9 1 file changed, 1 insertion(+) 10 11 diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c 12 + index 9c51a3367f..75d6b76a87 100644 13 --- a/src/sleep/sleep.c 14 +++ b/src/sleep/sleep.c 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 1 file changed, 3 insertions(+), 3 deletions(-) 11 12 diff --git a/src/basic/path-util.h b/src/basic/path-util.h 13 - index 22d3632e6e..1e8bbb242b 100644 14 --- a/src/basic/path-util.h 15 +++ b/src/basic/path-util.h 16 @@ -24,11 +24,11 @@
··· 10 1 file changed, 3 insertions(+), 3 deletions(-) 11 12 diff --git a/src/basic/path-util.h b/src/basic/path-util.h 13 + index 56f01f41d8..f9b8627388 100644 14 --- a/src/basic/path-util.h 15 +++ b/src/basic/path-util.h 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 1 file changed, 8 insertions(+) 17 18 diff --git a/src/core/manager.c b/src/core/manager.c 19 - index d9e7d77913..ba3ce14bf0 100644 20 --- a/src/core/manager.c 21 +++ b/src/core/manager.c 22 - @@ -3693,9 +3693,17 @@ static int build_generator_environment(Manager *m, char ***ret) { 23 * adjust generated units to that. Let's pass down some bits of information that are easy for us to 24 * determine (but a bit harder for generator scripts to determine), as environment variables. */ 25
··· 16 1 file changed, 8 insertions(+) 17 18 diff --git a/src/core/manager.c b/src/core/manager.c 19 + index 50d092042c..898f9ed2f1 100644 20 --- a/src/core/manager.c 21 +++ b/src/core/manager.c 22 + @@ -3714,9 +3714,17 @@ static int build_generator_environment(Manager *m, char ***ret) { 23 * adjust generated units to that. Let's pass down some bits of information that are easy for us to 24 * determine (but a bit harder for generator scripts to determine), as environment variables. */ 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 1 file changed, 4 deletions(-) 18 19 diff --git a/src/core/manager.c b/src/core/manager.c 20 - index ba3ce14bf0..03bf66ff74 100644 21 --- a/src/core/manager.c 22 +++ b/src/core/manager.c 23 - @@ -4493,10 +4493,6 @@ char* manager_taint_string(const Manager *m) { 24 if (m->taint_usr) 25 stage[n++] = "split-usr"; 26
··· 17 1 file changed, 4 deletions(-) 18 19 diff --git a/src/core/manager.c b/src/core/manager.c 20 + index 898f9ed2f1..5040d5b105 100644 21 --- a/src/core/manager.c 22 +++ b/src/core/manager.c 23 + @@ -4543,10 +4543,6 @@ char* manager_taint_string(const Manager *m) { 24 if (m->taint_usr) 25 stage[n++] = "split-usr"; 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 2 From: Nick Cao <nickcao@nichi.co> 3 Date: Sun, 15 Jan 2023 20:15:55 +0800 4 Subject: [PATCH] tpm2_context_init: fix driver name checking ··· 27 1 file changed, 1 insertion(+), 1 deletion(-) 28 29 diff --git a/src/shared/tpm2-util.c b/src/shared/tpm2-util.c 30 - index ba8dfb041d..7de5d5fc77 100644 31 --- a/src/shared/tpm2-util.c 32 +++ b/src/shared/tpm2-util.c 33 - @@ -192,7 +192,7 @@ int tpm2_context_init(const char *device, struct tpm2_context *ret) { 34 fn = strjoina("libtss2-tcti-", driver, ".so.0"); 35 36 /* Better safe than sorry, let's refuse strings that cannot possibly be valid driver early, before going to disk. */ ··· 38 + if (!path_is_valid(fn)) 39 return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "TPM2 driver name '%s' not valid, refusing.", driver); 40 41 - dl = dlopen(fn, RTLD_NOW); 42 - -- 43 - 2.39.0 44 -
··· 1 + From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 From: Nick Cao <nickcao@nichi.co> 3 Date: Sun, 15 Jan 2023 20:15:55 +0800 4 Subject: [PATCH] tpm2_context_init: fix driver name checking ··· 27 1 file changed, 1 insertion(+), 1 deletion(-) 28 29 diff --git a/src/shared/tpm2-util.c b/src/shared/tpm2-util.c 30 + index 259f280e0f..142e70a740 100644 31 --- a/src/shared/tpm2-util.c 32 +++ b/src/shared/tpm2-util.c 33 + @@ -176,7 +176,7 @@ int tpm2_context_new(const char *device, Tpm2Context **ret_context) { 34 fn = strjoina("libtss2-tcti-", driver, ".so.0"); 35 36 /* Better safe than sorry, let's refuse strings that cannot possibly be valid driver early, before going to disk. */ ··· 38 + if (!path_is_valid(fn)) 39 return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "TPM2 driver name '%s' not valid, refusing.", driver); 40 41 + context->tcti_dl = dlopen(fn, RTLD_NOW);
+47 -28
pkgs/os-specific/linux/systemd/default.nix
··· 82 , bpftools 83 , libbpf 84 85 , withAnalyze ? true 86 , withApparmor ? true 87 , withCompression ? true # adds bzip2, lz4, xz and zstd 88 , withCoredump ? true 89 , withCryptsetup ? true ··· 94 , withHostnamed ? true 95 , withHwdb ? true 96 , withImportd ? !stdenv.hostPlatform.isMusl 97 , withLibBPF ? lib.versionAtLeast buildPackages.llvmPackages.clang.version "10.0" 98 && stdenv.hostPlatform.isAarch -> lib.versionAtLeast stdenv.hostPlatform.parsed.cpu.version "6" # assumes hard floats 99 && !stdenv.hostPlatform.isMips64 # see https://github.com/NixOS/nixpkgs/pull/194149#issuecomment-1266642211 100 , withLocaled ? true 101 , withLogind ? true 102 , withMachined ? true 103 , withNetworkd ? true 104 , withNss ? !stdenv.hostPlatform.isMusl 105 , withOomd ? true 106 , withPCRE2 ? true 107 , withPolkit ? true 108 , withPortabled ? !stdenv.hostPlatform.isMusl ··· 129 assert withImportd -> withCompression; 130 assert withCoredump -> withCompression; 131 assert withHomed -> withCryptsetup; 132 133 let 134 wantCurl = withRemote || withImportd; 135 wantGcrypt = withResolved || withImportd; 136 - version = "252.5"; 137 138 # Bump this variable on every (major) version change. See below (in the meson options list) for why. 139 # command: 140 # $ curl -s https://api.github.com/repos/systemd/systemd/releases/latest | \ 141 # jq '.created_at|strptime("%Y-%m-%dT%H:%M:%SZ")|mktime' 142 - releaseTimestamp = "1667246393"; 143 in 144 stdenv.mkDerivation (finalAttrs: { 145 inherit pname version; ··· 150 owner = "systemd"; 151 repo = "systemd-stable"; 152 rev = "v${version}"; 153 - hash = "sha256-cNZRTuYFMR1z6KpELeQoJahMhRl4fKuRuc3xXH3KzlM="; 154 }; 155 156 # On major changes, or when otherwise required, you *must* reformat the patches, ··· 165 ./0004-Look-for-fsck-in-the-right-place.patch 166 ./0005-Add-some-NixOS-specific-unit-directories.patch 167 ./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 181 ] ++ lib.optional stdenv.hostPlatform.isMusl ( 182 let 183 oe-core = fetchzip { ··· 278 # Systemd does this decision during configure time and uses ifdef's to 279 # enable specific branches. We can safely ignore (nuke) the libidn "v1" 280 # libraries. 281 - { name = "libidn2.so.0"; pkg = libidn2; } 282 { name = "libidn.so.12"; pkg = null; } 283 { name = "libidn.so.11"; pkg = null; } 284 ··· 295 # inspect-elf support 296 { name = "libelf.so.1"; pkg = opt withCoredump elfutils; } 297 { name = "libdw.so.1"; pkg = opt withCoredump elfutils; } 298 ]; 299 300 patchDlOpen = dl: ··· 376 377 buildInputs = 378 [ 379 - acl 380 - audit 381 - kmod 382 libxcrypt 383 libcap 384 - libidn2 385 libuuid 386 linuxHeaders 387 - pam 388 bashInteractive # for patch shebangs 389 ] 390 391 ++ lib.optionals wantGcrypt [ libgcrypt libgpg-error ] 392 ++ lib.optional withTests glib 393 ++ lib.optional withApparmor libapparmor 394 ++ lib.optional wantCurl (lib.getDev curl) 395 ++ lib.optionals withCompression [ bzip2 lz4 xz zstd ] 396 ++ lib.optional withCoredump elfutils 397 ++ lib.optional withCryptsetup (lib.getDev cryptsetup.dev) 398 ++ lib.optional withEfi gnu-efi 399 ++ lib.optional withKexectools kexec-tools 400 ++ lib.optional withLibseccomp libseccomp 401 ++ lib.optional withNetworkd iptables 402 ++ lib.optional withPCRE2 pcre2 403 ++ lib.optional withSelinux libselinux 404 ++ lib.optional withRemote libmicrohttpd 405 - ++ lib.optionals withHomed [ p11-kit ] 406 ++ lib.optionals (withHomed || withCryptsetup) [ libfido2 ] 407 ++ lib.optionals withLibBPF [ libbpf ] 408 ++ lib.optional withTpm2Tss tpm2-tss ··· 424 "-Ddbuspolicydir=${placeholder "out"}/share/dbus-1/system.d" 425 "-Ddbussessionservicedir=${placeholder "out"}/share/dbus-1/services" 426 "-Ddbussystemservicedir=${placeholder "out"}/share/dbus-1/system-services" 427 "-Dpamconfdir=${placeholder "out"}/etc/pam.d" 428 "-Drootprefix=${placeholder "out"}" 429 "-Dpkgconfiglibdir=${placeholder "dev"}/lib/pkgconfig" ··· 435 "-Dglib=${lib.boolToString withTests}" 436 # while we do not run tests we should also not build them. Removes about 600 targets 437 "-Dtests=false" 438 "-Danalyze=${lib.boolToString withAnalyze}" 439 "-Dgcrypt=${lib.boolToString wantGcrypt}" 440 "-Dimportd=${lib.boolToString withImportd}" 441 "-Dlz4=${lib.boolToString withCompression}" ··· 461 "-Dsplit-usr=false" 462 "-Dlibcurl=${lib.boolToString wantCurl}" 463 "-Dlibidn=false" 464 - "-Dlibidn2=true" 465 "-Dquotacheck=false" 466 "-Dldconfig=false" 467 "-Dsmack=true" ··· 488 "-Dsysvinit-path=" 489 "-Dsysvrcnd-path=" 490 491 - "-Dkmod-path=${kmod}/bin/kmod" 492 "-Dsulogin-path=${util-linux}/bin/sulogin" 493 "-Dmount-path=${util-linux}/bin/mount" 494 "-Dumount-path=${util-linux}/bin/umount" ··· 500 # more frequent development builds 501 "-Dman=true" 502 503 "-Defi=${lib.boolToString withEfi}" 504 "-Dgnu-efi=${lib.boolToString withEfi}" 505 ] ++ lib.optionals withEfi [ ··· 522 ] ++ lib.optionals stdenv.hostPlatform.isMusl [ 523 "-Dgshadow=false" 524 "-Didn=false" 525 ]; 526 preConfigure = 527 let ··· 556 replacement = "${coreutils}/bin/cat"; 557 where = [ "test/create-busybox-container" "test/test-execute/exec-noexecpaths-simple.service" "src/journal/cat.c" ]; 558 } 559 - { search = "/sbin/modprobe"; replacement = "${lib.getBin kmod}/sbin/modprobe"; where = [ "units/modprobe@.service" ]; } 560 { 561 search = "/usr/lib/systemd/systemd-fsck"; 562 replacement = "$out/lib/systemd/systemd-fsck"; ··· 590 "src/import/pull-tar.c" 591 ]; 592 } 593 ]; 594 595 # { replacement, search, where } -> List[str] ··· 661 662 postInstall = '' 663 mkdir -p $out/example/systemd 664 - mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example 665 mv $out/lib/systemd/{system,user} $out/example/systemd 666 667 rm -rf $out/etc/systemd/system ··· 677 find $out -name "*kernel-install*" -exec rm {} \; 678 '' + lib.optionalString (!withDocumentation) '' 679 rm -rf $out/share/doc 680 ''; 681 682 # Avoid *.EFI binary stripping. At least on aarch64-linux strip ··· 711 # runtime; otherwise we can't and we need to reboot. 712 interfaceVersion = 2; 713 714 - inherit withCryptsetup withHostnamed withImportd withLocaled withMachined withPortabled withTimedated withUtmp util-linux kmod kbd; 715 716 tests = { 717 inherit (nixosTests) switchTest;
··· 82 , bpftools 83 , libbpf 84 85 + , withAcl ? true 86 , withAnalyze ? true 87 , withApparmor ? true 88 + , withAudit ? true 89 , withCompression ? true # adds bzip2, lz4, xz and zstd 90 , withCoredump ? true 91 , withCryptsetup ? true ··· 96 , withHostnamed ? true 97 , withHwdb ? true 98 , withImportd ? !stdenv.hostPlatform.isMusl 99 + , withKmod ? true 100 , withLibBPF ? lib.versionAtLeast buildPackages.llvmPackages.clang.version "10.0" 101 && stdenv.hostPlatform.isAarch -> lib.versionAtLeast stdenv.hostPlatform.parsed.cpu.version "6" # assumes hard floats 102 && !stdenv.hostPlatform.isMips64 # see https://github.com/NixOS/nixpkgs/pull/194149#issuecomment-1266642211 103 + , withLibidn2 ? true 104 , withLocaled ? true 105 , withLogind ? true 106 , withMachined ? true 107 , withNetworkd ? true 108 , withNss ? !stdenv.hostPlatform.isMusl 109 , withOomd ? true 110 + , withPam ? true 111 , withPCRE2 ? true 112 , withPolkit ? true 113 , withPortabled ? !stdenv.hostPlatform.isMusl ··· 134 assert withImportd -> withCompression; 135 assert withCoredump -> withCompression; 136 assert withHomed -> withCryptsetup; 137 + assert withHomed -> withPam; 138 139 let 140 wantCurl = withRemote || withImportd; 141 wantGcrypt = withResolved || withImportd; 142 + version = "253.1"; 143 144 # Bump this variable on every (major) version change. See below (in the meson options list) for why. 145 # command: 146 # $ curl -s https://api.github.com/repos/systemd/systemd/releases/latest | \ 147 # jq '.created_at|strptime("%Y-%m-%dT%H:%M:%SZ")|mktime' 148 + releaseTimestamp = "1676488940"; 149 in 150 stdenv.mkDerivation (finalAttrs: { 151 inherit pname version; ··· 156 owner = "systemd"; 157 repo = "systemd-stable"; 158 rev = "v${version}"; 159 + hash = "sha256-PyAhkLxDkT5gVocCXh8bst6PBgguASjnA82xinQOtjw="; 160 }; 161 162 # On major changes, or when otherwise required, you *must* reformat the patches, ··· 171 ./0004-Look-for-fsck-in-the-right-place.patch 172 ./0005-Add-some-NixOS-specific-unit-directories.patch 173 ./0006-Get-rid-of-a-useless-message-in-user-sessions.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 186 ] ++ lib.optional stdenv.hostPlatform.isMusl ( 187 let 188 oe-core = fetchzip { ··· 283 # Systemd does this decision during configure time and uses ifdef's to 284 # enable specific branches. We can safely ignore (nuke) the libidn "v1" 285 # libraries. 286 + { name = "libidn2.so.0"; pkg = opt withLibidn2 libidn2; } 287 { name = "libidn.so.12"; pkg = null; } 288 { name = "libidn.so.11"; pkg = null; } 289 ··· 300 # inspect-elf support 301 { name = "libelf.so.1"; pkg = opt withCoredump elfutils; } 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; } 306 ]; 307 308 patchDlOpen = dl: ··· 384 385 buildInputs = 386 [ 387 libxcrypt 388 libcap 389 libuuid 390 linuxHeaders 391 bashInteractive # for patch shebangs 392 ] 393 394 ++ lib.optionals wantGcrypt [ libgcrypt libgpg-error ] 395 ++ lib.optional withTests glib 396 + ++ lib.optional withAcl acl 397 ++ lib.optional withApparmor libapparmor 398 + ++ lib.optional withAudit audit 399 ++ lib.optional wantCurl (lib.getDev curl) 400 ++ lib.optionals withCompression [ bzip2 lz4 xz zstd ] 401 ++ lib.optional withCoredump elfutils 402 ++ lib.optional withCryptsetup (lib.getDev cryptsetup.dev) 403 ++ lib.optional withEfi gnu-efi 404 ++ lib.optional withKexectools kexec-tools 405 + ++ lib.optional withKmod kmod 406 + ++ lib.optional withLibidn2 libidn2 407 ++ lib.optional withLibseccomp libseccomp 408 ++ lib.optional withNetworkd iptables 409 + ++ lib.optional withPam pam 410 ++ lib.optional withPCRE2 pcre2 411 ++ lib.optional withSelinux libselinux 412 ++ lib.optional withRemote libmicrohttpd 413 + ++ lib.optionals (withHomed || withCryptsetup) [ p11-kit ] 414 ++ lib.optionals (withHomed || withCryptsetup) [ libfido2 ] 415 ++ lib.optionals withLibBPF [ libbpf ] 416 ++ lib.optional withTpm2Tss tpm2-tss ··· 432 "-Ddbuspolicydir=${placeholder "out"}/share/dbus-1/system.d" 433 "-Ddbussessionservicedir=${placeholder "out"}/share/dbus-1/services" 434 "-Ddbussystemservicedir=${placeholder "out"}/share/dbus-1/system-services" 435 + "-Dpam=${lib.boolToString withPam}" 436 "-Dpamconfdir=${placeholder "out"}/etc/pam.d" 437 "-Drootprefix=${placeholder "out"}" 438 "-Dpkgconfiglibdir=${placeholder "dev"}/lib/pkgconfig" ··· 444 "-Dglib=${lib.boolToString withTests}" 445 # while we do not run tests we should also not build them. Removes about 600 targets 446 "-Dtests=false" 447 + "-Dacl=${lib.boolToString withAcl}" 448 "-Danalyze=${lib.boolToString withAnalyze}" 449 + "-Daudit=${lib.boolToString withAudit}" 450 "-Dgcrypt=${lib.boolToString wantGcrypt}" 451 "-Dimportd=${lib.boolToString withImportd}" 452 "-Dlz4=${lib.boolToString withCompression}" ··· 472 "-Dsplit-usr=false" 473 "-Dlibcurl=${lib.boolToString wantCurl}" 474 "-Dlibidn=false" 475 + "-Dlibidn2=${lib.boolToString withLibidn2}" 476 "-Dquotacheck=false" 477 "-Dldconfig=false" 478 "-Dsmack=true" ··· 499 "-Dsysvinit-path=" 500 "-Dsysvrcnd-path=" 501 502 "-Dsulogin-path=${util-linux}/bin/sulogin" 503 "-Dmount-path=${util-linux}/bin/mount" 504 "-Dumount-path=${util-linux}/bin/umount" ··· 510 # more frequent development builds 511 "-Dman=true" 512 513 + # Temporary disable the ukify tool. see https://github.com/NixOS/nixpkgs/pull/216826#issuecomment-1465228824 514 + "-Dukify=false" 515 + 516 "-Defi=${lib.boolToString withEfi}" 517 "-Dgnu-efi=${lib.boolToString withEfi}" 518 ] ++ lib.optionals withEfi [ ··· 535 ] ++ lib.optionals stdenv.hostPlatform.isMusl [ 536 "-Dgshadow=false" 537 "-Didn=false" 538 + ] ++ lib.optionals withKmod [ 539 + "-Dkmod=true" 540 + "-Dkmod-path=${kmod}/bin/kmod" 541 ]; 542 preConfigure = 543 let ··· 572 replacement = "${coreutils}/bin/cat"; 573 where = [ "test/create-busybox-container" "test/test-execute/exec-noexecpaths-simple.service" "src/journal/cat.c" ]; 574 } 575 { 576 search = "/usr/lib/systemd/systemd-fsck"; 577 replacement = "$out/lib/systemd/systemd-fsck"; ··· 605 "src/import/pull-tar.c" 606 ]; 607 } 608 + ] ++ lib.optionals withKmod [ 609 + { search = "/sbin/modprobe"; replacement = "${lib.getBin kmod}/sbin/modprobe"; where = [ "units/modprobe@.service" ]; } 610 ]; 611 612 # { replacement, search, where } -> List[str] ··· 678 679 postInstall = '' 680 mkdir -p $out/example/systemd 681 + mv $out/lib/{binfmt.d,sysctl.d,tmpfiles.d} $out/example 682 mv $out/lib/systemd/{system,user} $out/example/systemd 683 684 rm -rf $out/etc/systemd/system ··· 694 find $out -name "*kernel-install*" -exec rm {} \; 695 '' + lib.optionalString (!withDocumentation) '' 696 rm -rf $out/share/doc 697 + '' + lib.optionalString withKmod '' 698 + mv $out/lib/modules-load.d $out/example 699 ''; 700 701 # Avoid *.EFI binary stripping. At least on aarch64-linux strip ··· 730 # runtime; otherwise we can't and we need to reboot. 731 interfaceVersion = 2; 732 733 + inherit withCryptsetup withHostnamed withImportd withKmod withLocaled withMachined withPortabled withTimedated withUtmp util-linux kmod kbd; 734 735 tests = { 736 inherit (nixosTests) switchTest;
+2 -2
pkgs/servers/hydron/default.nix
··· 3 , fetchFromGitHub 4 , gitUpdater 5 , pkg-config 6 - , ffmpeg 7 }: 8 9 buildGoModule rec { ··· 21 proxyVendor = true; 22 23 nativeBuildInputs = [ pkg-config ]; 24 - buildInputs = [ ffmpeg ]; 25 26 passthru.updateScript = gitUpdater { 27 rev-prefix = "v";
··· 3 , fetchFromGitHub 4 , gitUpdater 5 , pkg-config 6 + , ffmpeg_4 7 }: 8 9 buildGoModule rec { ··· 21 proxyVendor = true; 22 23 nativeBuildInputs = [ pkg-config ]; 24 + buildInputs = [ ffmpeg_4 ]; 25 26 passthru.updateScript = gitUpdater { 27 rev-prefix = "v";
+5
pkgs/servers/irc/solanum/default.nix
··· 57 doCheck = !stdenv.isDarwin; 58 59 enableParallelBuilding = true; 60 61 meta = with lib; { 62 description = "An IRCd for unified networks";
··· 57 doCheck = !stdenv.isDarwin; 58 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; 65 66 meta = with lib; { 67 description = "An IRCd for unified networks";
+2 -2
pkgs/servers/misc/oven-media-engine/default.nix
··· 7 , perl 8 , openssl 9 , zlib 10 - , ffmpeg 11 , libvpx 12 , libopus 13 , libuuid ··· 33 enableParallelBuilding = true; 34 35 nativeBuildInputs = [ bc pkg-config perl ]; 36 - buildInputs = [ openssl srt zlib ffmpeg libvpx libopus srtp jemalloc pcre2 libuuid hiredis ]; 37 38 preBuild = '' 39 patchShebangs core/colorg++
··· 7 , perl 8 , openssl 9 , zlib 10 + , ffmpeg_4 11 , libvpx 12 , libopus 13 , libuuid ··· 33 enableParallelBuilding = true; 34 35 nativeBuildInputs = [ bc pkg-config perl ]; 36 + buildInputs = [ openssl srt zlib ffmpeg_4 libvpx libopus srtp jemalloc pcre2 libuuid hiredis ]; 37 38 preBuild = '' 39 patchShebangs core/colorg++
+3
pkgs/servers/monitoring/net-snmp/default.nix
··· 49 ++ lib.optional withPerlTools perlWithPkgs; 50 51 enableParallelBuilding = true; 52 doCheck = false; # tries to use networking 53 54 postInstall = ''
··· 49 ++ lib.optional withPerlTools perlWithPkgs; 50 51 enableParallelBuilding = true; 52 + # Missing dependencies during relinking: 53 + # ./.libs/libnetsnmpagent.so: file not recognized: file format not recognized 54 + enableParallelInstalling = false; 55 doCheck = false; # tries to use networking 56 57 postInstall = ''
+2 -2
pkgs/servers/tvheadend/default.nix
··· 14 , bzip2 15 , dbus 16 , dtv-scan-tables 17 - , ffmpeg 18 , gettext 19 , gnutar 20 , gzip ··· 64 avahi 65 bzip2 66 dbus 67 - ffmpeg 68 gettext 69 gzip 70 libiconv
··· 14 , bzip2 15 , dbus 16 , dtv-scan-tables 17 + , ffmpeg_4 18 , gettext 19 , gnutar 20 , gzip ··· 64 avahi 65 bzip2 66 dbus 67 + ffmpeg_4 # depends on libav 68 gettext 69 gzip 70 libiconv
+1
pkgs/servers/x11/xorg/builder.sh
··· 37 38 39 enableParallelBuilding=1 40 41 genericBuild
··· 37 38 39 enableParallelBuilding=1 40 + enableParallelInstalling=1 41 42 genericBuild
+1
pkgs/stdenv/generic/make-derivation.nix
··· 441 } // lib.optionalAttrs (enableParallelBuilding) { 442 inherit enableParallelBuilding; 443 enableParallelChecking = attrs.enableParallelChecking or true; 444 } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != [] || stdenv.hostPlatform.isMusl) { 445 NIX_HARDENING_ENABLE = enabledHardeningOptions; 446 } // lib.optionalAttrs (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform ? gcc.arch) {
··· 441 } // lib.optionalAttrs (enableParallelBuilding) { 442 inherit enableParallelBuilding; 443 enableParallelChecking = attrs.enableParallelChecking or true; 444 + enableParallelInstalling = attrs.enableParallelInstalling or true; 445 } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != [] || stdenv.hostPlatform.isMusl) { 446 NIX_HARDENING_ENABLE = enabledHardeningOptions; 447 } // lib.optionalAttrs (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform ? gcc.arch) {
+1
pkgs/stdenv/generic/setup.sh
··· 1376 1377 # shellcheck disable=SC2086 1378 local flagsArray=( 1379 SHELL=$SHELL 1380 ) 1381 _accumFlagsArray makeFlags makeFlagsArray installFlags installFlagsArray
··· 1376 1377 # shellcheck disable=SC2086 1378 local flagsArray=( 1379 + ${enableParallelInstalling:+-j${NIX_BUILD_CORES}} 1380 SHELL=$SHELL 1381 ) 1382 _accumFlagsArray makeFlags makeFlagsArray installFlags installFlagsArray
+5 -3
pkgs/test/stdenv/default.nix
··· 4 { stdenv 5 , pkgs 6 , lib 7 - , runCommand 8 , testers 9 }: 10 11 let 12 # early enough not to rebuild gcc but late enough to have patchelf 13 earlyPkgs = stdenv.__bootPackages.stdenv.__bootPackages; 14 # use a early stdenv so when hacking on stdenv this test can be run quickly 15 bootStdenv = stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv; 16 pkgsStructured = import pkgs.path { config = { structuredAttrsByDefault = true; }; inherit (stdenv.hostPlatform) system; }; 17 bootStdenvStructuredAttrsByDefault = pkgsStructured.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv; 18 19 20 ccWrapperSubstitutionsTest = { name, stdenv', extraAttrs ? { } }: ··· 101 hooks = lib.recurseIntoAttrs (import ./hooks.nix { stdenv = bootStdenv; pkgs = earlyPkgs; inherit lib; }); 102 103 outputs-no-out = runCommand "outputs-no-out-assert" { 104 - result = testers.testBuildFailure (stdenv.mkDerivation { 105 NIX_DEBUG = 1; 106 name = "outputs-no-out"; 107 outputs = ["foo"]; ··· 113 114 # Assumption: the first output* variable to be configured is 115 # _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"; 117 } '' 118 grep -F "$expectedMsg" $result/testBuildFailure.log >/dev/null 119 touch $out
··· 4 { stdenv 5 , pkgs 6 , lib 7 , testers 8 }: 9 10 let 11 # early enough not to rebuild gcc but late enough to have patchelf 12 earlyPkgs = stdenv.__bootPackages.stdenv.__bootPackages; 13 + earlierPkgs = stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages; 14 # use a early stdenv so when hacking on stdenv this test can be run quickly 15 bootStdenv = stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv; 16 pkgsStructured = import pkgs.path { config = { structuredAttrsByDefault = true; }; inherit (stdenv.hostPlatform) system; }; 17 bootStdenvStructuredAttrsByDefault = pkgsStructured.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv; 18 + 19 + runCommand = earlierPkgs.runCommand; 20 21 22 ccWrapperSubstitutionsTest = { name, stdenv', extraAttrs ? { } }: ··· 103 hooks = lib.recurseIntoAttrs (import ./hooks.nix { stdenv = bootStdenv; pkgs = earlyPkgs; inherit lib; }); 104 105 outputs-no-out = runCommand "outputs-no-out-assert" { 106 + result = earlierPkgs.testers.testBuildFailure (bootStdenv.mkDerivation { 107 NIX_DEBUG = 1; 108 name = "outputs-no-out"; 109 outputs = ["foo"]; ··· 115 116 # Assumption: the first output* variable to be configured is 117 # _overrideFirst outputDev "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"; 119 } '' 120 grep -F "$expectedMsg" $result/testBuildFailure.log >/dev/null 121 touch $out
+2 -2
pkgs/tools/audio/acoustid-fingerprinter/default.nix
··· 1 - { lib, stdenv, fetchurl, fetchpatch, cmake, pkg-config, qt4, taglib, chromaprint, ffmpeg }: 2 3 stdenv.mkDerivation rec { 4 pname = "acoustid-fingerprinter"; ··· 11 }; 12 13 nativeBuildInputs = [ cmake pkg-config ]; 14 - buildInputs = [ qt4 taglib chromaprint ffmpeg ]; 15 16 cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${lib.getVersion taglib}" ]; 17
··· 1 + { lib, stdenv, fetchurl, fetchpatch, cmake, pkg-config, qt4, taglib, chromaprint, ffmpeg_4 }: 2 3 stdenv.mkDerivation rec { 4 pname = "acoustid-fingerprinter"; ··· 11 }; 12 13 nativeBuildInputs = [ cmake pkg-config ]; 14 + buildInputs = [ qt4 taglib chromaprint ffmpeg_4 ]; 15 16 cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${lib.getVersion taglib}" ]; 17
+2 -2
pkgs/tools/audio/loudgain/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, cmake, pkg-config, ffmpeg, libebur128 2 , libresample, taglib, zlib }: 3 4 stdenv.mkDerivation rec { ··· 13 }; 14 15 nativeBuildInputs = [ cmake pkg-config ]; 16 - buildInputs = [ ffmpeg libebur128 libresample taglib zlib ]; 17 18 postInstall = '' 19 sed -e "1aPATH=$out/bin:\$PATH" -i "$out/bin/rgbpm"
··· 1 + { lib, stdenv, fetchFromGitHub, cmake, pkg-config, ffmpeg_4, libebur128 2 , libresample, taglib, zlib }: 3 4 stdenv.mkDerivation rec { ··· 13 }; 14 15 nativeBuildInputs = [ cmake pkg-config ]; 16 + buildInputs = [ ffmpeg_4 libebur128 libresample taglib zlib ]; 17 18 postInstall = '' 19 sed -e "1aPATH=$out/bin:\$PATH" -i "$out/bin/rgbpm"
+3
pkgs/tools/filesystems/xfsprogs/default.nix
··· 23 propagatedBuildInputs = [ libuuid ]; # Dev headers include <uuid/uuid.h> 24 25 enableParallelBuilding = true; 26 27 # @sbindir@ is replaced with /run/current-system/sw/bin to fix dependency cycles 28 preConfigure = ''
··· 23 propagatedBuildInputs = [ libuuid ]; # Dev headers include <uuid/uuid.h> 24 25 enableParallelBuilding = true; 26 + # Install fails as: 27 + # make[1]: *** No rule to make target '\', needed by 'kmem.lo'. Stop. 28 + enableParallelInstalling = false; 29 30 # @sbindir@ is replaced with /run/current-system/sw/bin to fix dependency cycles 31 preConfigure = ''
+4
pkgs/tools/graphics/asymptote/default.nix
··· 67 ''; 68 69 enableParallelBuilding = true; 70 71 meta = with lib; { 72 description = "A tool for programming graphics intended to replace Metapost";
··· 67 ''; 68 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; 74 75 meta = with lib; { 76 description = "A tool for programming graphics intended to replace Metapost";
+2 -2
pkgs/tools/graphics/vulkan-cts/default.nix
··· 2 , fetchFromGitHub 3 , fetchurl 4 , cmake 5 - , ffmpeg 6 , libdrm 7 , libglvnd 8 , libffi ··· 103 ''; 104 105 buildInputs = [ 106 - ffmpeg 107 libdrm 108 libffi 109 libglvnd
··· 2 , fetchFromGitHub 3 , fetchurl 4 , cmake 5 + , ffmpeg_4 6 , libdrm 7 , libglvnd 8 , libffi ··· 103 ''; 104 105 buildInputs = [ 106 + ffmpeg_4 107 libdrm 108 libffi 109 libglvnd
+2 -2
pkgs/tools/networking/dnsmasq/default.nix
··· 17 in 18 stdenv.mkDerivation rec { 19 pname = "dnsmasq"; 20 - version = "2.88"; 21 22 src = fetchurl { 23 url = "https://www.thekelleys.org.uk/dnsmasq/${pname}-${version}.tar.xz"; 24 - sha256 = "sha256-I1RN7aEDQMBTvqbxWpP+1up/WqqFMWv8Zx/6bSL7wbM="; 25 }; 26 27 postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
··· 17 in 18 stdenv.mkDerivation rec { 19 pname = "dnsmasq"; 20 + version = "2.89"; 21 22 src = fetchurl { 23 url = "https://www.thekelleys.org.uk/dnsmasq/${pname}-${version}.tar.xz"; 24 + sha256 = "sha256-Ar0jA0bPC51ZCfXhUd8WiycHEDeF62FrVmhYVa3rtgk="; 25 }; 26 27 postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
+2 -2
pkgs/tools/networking/modemmanager/default.nix
··· 23 24 stdenv.mkDerivation rec { 25 pname = "modemmanager"; 26 - version = "1.20.4"; 27 28 src = fetchFromGitLab { 29 domain = "gitlab.freedesktop.org"; 30 owner = "mobile-broadband"; 31 repo = "ModemManager"; 32 rev = version; 33 - hash = "sha256-OWP23EQ7a8rghhV7AC9yinCxRI0xwcntB5dl9XtgK6M="; 34 }; 35 36 patches = [
··· 23 24 stdenv.mkDerivation rec { 25 pname = "modemmanager"; 26 + version = "1.20.6"; 27 28 src = fetchFromGitLab { 29 domain = "gitlab.freedesktop.org"; 30 owner = "mobile-broadband"; 31 repo = "ModemManager"; 32 rev = version; 33 + hash = "sha256-/A4WTsUQVeZDi5ei6qBvqoWYLKdRcZaYZU8/qWOPrvM="; 34 }; 35 36 patches = [
+3 -2
pkgs/tools/networking/networkmanager/default.nix
··· 58 in 59 stdenv.mkDerivation rec { 60 pname = "networkmanager"; 61 - version = "1.40.12"; 62 63 src = fetchurl { 64 url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz"; 65 - sha256 = "sha256-wCJ+BKttAylmLfoKftxGbgQGJek2odjo4CoFM6cRca8="; 66 }; 67 68 outputs = [ "out" "dev" "devdoc" "man" "doc" ]; ··· 113 "-Dfirewalld_zone=false" 114 "-Dtests=no" 115 "-Dcrypto=gnutls" 116 ]; 117 118 patches = [
··· 58 in 59 stdenv.mkDerivation rec { 60 pname = "networkmanager"; 61 + version = "1.42.2"; 62 63 src = fetchurl { 64 url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz"; 65 + sha256 = "sha256-3P6cXJCdOMga6VzP6JWjKKKhTBHaz7f1B760Be/OBYA="; 66 }; 67 68 outputs = [ "out" "dev" "devdoc" "man" "doc" ]; ··· 113 "-Dfirewalld_zone=false" 114 "-Dtests=no" 115 "-Dcrypto=gnutls" 116 + "-Dmobile_broadband_provider_info_database=${mobile-broadband-provider-info}/share/mobile-broadband-provider-info/serviceproviders.xml" 117 ]; 118 119 patches = [
+2 -2
pkgs/tools/networking/networkmanager/fix-install-paths.patch
··· 1 diff --git a/meson.build b/meson.build 2 - index 300e71319c..2a9fba7116 100644 3 --- a/meson.build 4 +++ b/meson.build 5 - @@ -996,9 +996,9 @@ meson.add_install_script( 6 join_paths('tools', 'meson-post-install.sh'), 7 nm_datadir, 8 nm_bindir,
··· 1 diff --git a/meson.build b/meson.build 2 + index 6813e52ac1..ecdb78ca54 100644 3 --- a/meson.build 4 +++ b/meson.build 5 + @@ -999,9 +999,9 @@ meson.add_install_script( 6 join_paths('tools', 'meson-post-install.sh'), 7 nm_datadir, 8 nm_bindir,
+19 -19
pkgs/tools/networking/networkmanager/fix-paths.patch
··· 24 ExecStart=@sbindir@/NetworkManager --no-daemon 25 Restart=on-failure 26 diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c 27 - index c51da9ac82..ad67a301ef 100644 28 --- a/src/core/devices/nm-device.c 29 +++ b/src/core/devices/nm-device.c 30 - @@ -13879,14 +13879,14 @@ nm_device_start_ip_check(NMDevice *self) 31 gw = nm_l3_config_data_get_best_default_route(l3cd, AF_INET); 32 if (gw) { 33 - _nm_utils_inet4_ntop(NMP_OBJECT_CAST_IP4_ROUTE(gw)->gateway, buf); 34 - ping_binary = nm_utils_find_helper("ping", "/usr/bin/ping", NULL); 35 + ping_binary = "@iputils@/bin/ping"; 36 log_domain = LOGD_IP4; ··· 38 } else if (priv->ip_data_6.state == NM_DEVICE_IP_STATE_READY) { 39 gw = nm_l3_config_data_get_best_default_route(l3cd, AF_INET6); 40 if (gw) { 41 - _nm_utils_inet6_ntop(&NMP_OBJECT_CAST_IP6_ROUTE(gw)->gateway, buf); 42 - ping_binary = nm_utils_find_helper("ping6", "/usr/bin/ping6", NULL); 43 + ping_binary = "@iputils@/bin/ping"; 44 log_domain = LOGD_IP6; 45 } 46 } 47 diff --git a/src/libnm-client-impl/meson.build b/src/libnm-client-impl/meson.build 48 - index 46464a6328..d943d4351a 100644 49 --- a/src/libnm-client-impl/meson.build 50 +++ b/src/libnm-client-impl/meson.build 51 - @@ -171,7 +171,6 @@ if enable_introspection 52 input: libnm_core_settings_sources, 53 output: 'nm-propery-infos-' + info + '.xml', 54 command: [ ··· 56 join_paths(meson.source_root(), 'tools', 'generate-docs-nm-property-infos.py'), 57 info, 58 '@OUTPUT@', 59 - @@ -228,7 +227,6 @@ if enable_introspection 60 'env', 61 'GI_TYPELIB_PATH=' + gi_typelib_path, 62 'LD_LIBRARY_PATH=' + ld_library_path, ··· 78 g_ptr_array_add(argv, (char *) arg1); 79 80 diff --git a/src/libnmc-base/nm-vpn-helpers.c b/src/libnmc-base/nm-vpn-helpers.c 81 - index 7ad5bee509..2641dbf637 100644 82 --- a/src/libnmc-base/nm-vpn-helpers.c 83 +++ b/src/libnmc-base/nm-vpn-helpers.c 84 @@ -198,25 +198,8 @@ nm_vpn_openconnect_authenticate_helper(const char *host, ··· 86 const char *const *iter; 87 const char *path; 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, 96 - }; 97 98 - path = nm_utils_file_search_in_paths("openconnect", ··· 109 if (!g_spawn_sync(NULL, 110 (char **) NM_MAKE_STRV(path, "--authenticate", host), 111 diff --git a/src/libnmc-setting/meson.build b/src/libnmc-setting/meson.build 112 - index 49314cad2e..6d52624699 100644 113 --- a/src/libnmc-setting/meson.build 114 +++ b/src/libnmc-setting/meson.build 115 @@ -7,7 +7,6 @@ if enable_docs ··· 121 '@OUTPUT@', 122 nm_property_infos_xml['nmcli'], 123 diff --git a/src/tests/client/meson.build b/src/tests/client/meson.build 124 - index b2e455bbbd..a12ebf212a 100644 125 --- a/src/tests/client/meson.build 126 +++ b/src/tests/client/meson.build 127 @@ -6,7 +6,6 @@ test( ··· 129 build_root, 130 source_root, 131 - python.path(), 132 ], 133 - timeout: 120, 134 - )
··· 24 ExecStart=@sbindir@/NetworkManager --no-daemon 25 Restart=on-failure 26 diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c 27 + index 3565c04d59..52c58fec24 100644 28 --- a/src/core/devices/nm-device.c 29 +++ b/src/core/devices/nm-device.c 30 + @@ -14005,14 +14005,14 @@ nm_device_start_ip_check(NMDevice *self) 31 gw = nm_l3_config_data_get_best_default_route(l3cd, AF_INET); 32 if (gw) { 33 + nm_inet4_ntop(NMP_OBJECT_CAST_IP4_ROUTE(gw)->gateway, buf); 34 - ping_binary = nm_utils_find_helper("ping", "/usr/bin/ping", NULL); 35 + ping_binary = "@iputils@/bin/ping"; 36 log_domain = LOGD_IP4; ··· 38 } else if (priv->ip_data_6.state == NM_DEVICE_IP_STATE_READY) { 39 gw = nm_l3_config_data_get_best_default_route(l3cd, AF_INET6); 40 if (gw) { 41 + nm_inet6_ntop(&NMP_OBJECT_CAST_IP6_ROUTE(gw)->gateway, buf); 42 - ping_binary = nm_utils_find_helper("ping6", "/usr/bin/ping6", NULL); 43 + ping_binary = "@iputils@/bin/ping"; 44 log_domain = LOGD_IP6; 45 } 46 } 47 diff --git a/src/libnm-client-impl/meson.build b/src/libnm-client-impl/meson.build 48 + index 143126c51a..a7143443ec 100644 49 --- a/src/libnm-client-impl/meson.build 50 +++ b/src/libnm-client-impl/meson.build 51 + @@ -172,7 +172,6 @@ if enable_introspection 52 input: libnm_core_settings_sources, 53 output: 'nm-propery-infos-' + info + '.xml', 54 command: [ ··· 56 join_paths(meson.source_root(), 'tools', 'generate-docs-nm-property-infos.py'), 57 info, 58 '@OUTPUT@', 59 + @@ -229,7 +228,6 @@ if enable_introspection 60 'env', 61 'GI_TYPELIB_PATH=' + gi_typelib_path, 62 'LD_LIBRARY_PATH=' + ld_library_path, ··· 78 g_ptr_array_add(argv, (char *) arg1); 79 80 diff --git a/src/libnmc-base/nm-vpn-helpers.c b/src/libnmc-base/nm-vpn-helpers.c 81 + index 476fbe518e..2641dbf637 100644 82 --- a/src/libnmc-base/nm-vpn-helpers.c 83 +++ b/src/libnmc-base/nm-vpn-helpers.c 84 @@ -198,25 +198,8 @@ nm_vpn_openconnect_authenticate_helper(const char *host, ··· 86 const char *const *iter; 87 const char *path; 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, 96 - }; 97 98 - path = nm_utils_file_search_in_paths("openconnect", ··· 109 if (!g_spawn_sync(NULL, 110 (char **) NM_MAKE_STRV(path, "--authenticate", host), 111 diff --git a/src/libnmc-setting/meson.build b/src/libnmc-setting/meson.build 112 + index cf8a21fc80..61b992a50e 100644 113 --- a/src/libnmc-setting/meson.build 114 +++ b/src/libnmc-setting/meson.build 115 @@ -7,7 +7,6 @@ if enable_docs ··· 121 '@OUTPUT@', 122 nm_property_infos_xml['nmcli'], 123 diff --git a/src/tests/client/meson.build b/src/tests/client/meson.build 124 + index 6dc0f2a2c8..0a32977a59 100644 125 --- a/src/tests/client/meson.build 126 +++ b/src/tests/client/meson.build 127 @@ -6,7 +6,6 @@ test( ··· 129 build_root, 130 source_root, 131 - python.path(), 132 + '--', 133 ], 134 + env: [
+4
pkgs/tools/networking/vpnc/default.nix
··· 32 ''; 33 34 enableParallelBuilding = true; 35 36 meta = with lib; { 37 homepage = "https://davidepucci.it/doc/vpnc/";
··· 32 ''; 33 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; 39 40 meta = with lib; { 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 }: 2 3 stdenv.mkDerivation rec { 4 pname = "harvid"; ··· 23 24 nativeBuildInputs = [ pkg-config ]; 25 26 - buildInputs = [ ffmpeg libjpeg libpng ]; 27 28 makeFlags = [ "DESTDIR=$(out)" "libdir=\"/lib\"" ]; 29
··· 1 + { lib, stdenv, fetchFromGitHub, fetchpatch, ffmpeg_4, libjpeg, libpng, pkg-config }: 2 3 stdenv.mkDerivation rec { 4 pname = "harvid"; ··· 23 24 nativeBuildInputs = [ pkg-config ]; 25 26 + buildInputs = [ ffmpeg_4 libjpeg libpng ]; 27 28 makeFlags = [ "DESTDIR=$(out)" "libdir=\"/lib\"" ]; 29
+2 -2
pkgs/tools/video/untrunc-anthwlock/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, ffmpeg, libui }: 2 3 stdenv.mkDerivation { 4 pname = "untrunc-anthwlock"; ··· 11 sha256 = "14i2lq68q990hnm2kkfamlsi67bcml85zl8yjsyxc5h8ncc2f3dp"; 12 }; 13 14 - buildInputs = [ ffmpeg libui ]; 15 16 buildPhase = '' 17 runHook preBuild
··· 1 + { lib, stdenv, fetchFromGitHub, ffmpeg_4, libui }: 2 3 stdenv.mkDerivation { 4 pname = "untrunc-anthwlock"; ··· 11 sha256 = "14i2lq68q990hnm2kkfamlsi67bcml85zl8yjsyxc5h8ncc2f3dp"; 12 }; 13 14 + buildInputs = [ ffmpeg_4 libui ]; 15 16 buildPhase = '' 17 runHook preBuild
+2 -2
pkgs/tools/video/xjadeo/default.nix
··· 1 - { lib, stdenv, autoreconfHook, fetchFromGitHub, ffmpeg, freetype, libGLU 2 , libjack2, liblo, libX11, libXv, pkg-config, portmidi, xorg }: 3 4 stdenv.mkDerivation rec { ··· 15 nativeBuildInputs = [ autoreconfHook pkg-config ]; 16 17 buildInputs = [ 18 - ffmpeg 19 libjack2 20 libX11 21 xorg.libXext
··· 1 + { lib, stdenv, autoreconfHook, fetchFromGitHub, ffmpeg_4, freetype, libGLU 2 , libjack2, liblo, libX11, libXv, pkg-config, portmidi, xorg }: 3 4 stdenv.mkDerivation rec { ··· 15 nativeBuildInputs = [ autoreconfHook pkg-config ]; 16 17 buildInputs = [ 18 + ffmpeg_4 19 libjack2 20 libX11 21 xorg.libXext
+1
pkgs/top-level/aliases.nix
··· 1225 pidginwindowmerge = throw "'pidginwindowmerge' has been renamed to/replaced by 'pidgin-window-merge'"; # Converted to throw 2022-02-22 1226 pifi = throw "pifi has been removed from nixpkgs, as it is no longer developed"; # Added 2022-01-19 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 piwik = throw "'piwik' has been renamed to/replaced by 'matomo'"; # Converted to throw 2022-02-22 1229 pixie = throw "pixie has been removed: abandoned by upstream"; # Added 2022-04-21 1230 pkgconfig = pkg-config; # Added 2018-02-02, moved to aliases.nix 2021-01-18
··· 1225 pidginwindowmerge = throw "'pidginwindowmerge' has been renamed to/replaced by 'pidgin-window-merge'"; # Converted to throw 2022-02-22 1226 pifi = throw "pifi has been removed from nixpkgs, as it is no longer developed"; # Added 2022-01-19 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."; 1229 piwik = throw "'piwik' has been renamed to/replaced by 'matomo'"; # Converted to throw 2022-02-22 1230 pixie = throw "pixie has been removed: abandoned by upstream"; # Added 2022-04-21 1231 pkgconfig = pkg-config; # Added 2018-02-02, moved to aliases.nix 2021-01-18
+16 -9
pkgs/top-level/all-packages.nix
··· 12753 12754 tinycbor = callPackage ../development/libraries/tinycbor { }; 12755 12756 tinyfecvpn = callPackage ../tools/networking/tinyfecvpn { }; 12757 12758 tinygltf = callPackage ../development/libraries/tinygltf { }; ··· 15398 /**/ if platform.isDarwin then 11 15399 else if platform.isFreeBSD then 12 15400 else if platform.isAndroid then 12 15401 - else if platform.system == "armv6l-linux" then 7 # This fixes armv6 cross-compilation 15402 else if platform.isLinux then 11 15403 else if platform.isWasm then 12 15404 else latest_version; ··· 16888 ffmpeg = ffmpeg-headless; 16889 }; 16890 16891 - pipewire-media-session = callPackage ../development/libraries/pipewire/media-session.nix { }; 16892 - 16893 pipewire_0_2 = callPackage ../development/libraries/pipewire/0.2.nix { }; 16894 wireplumber = callPackage ../development/libraries/pipewire/wireplumber.nix { }; 16895 ··· 16956 mkRuby 16957 ruby_2_7 16958 ruby_3_0 16959 - ruby_3_1; 16960 16961 ruby = ruby_2_7; 16962 rubyPackages = rubyPackages_2_7; ··· 16964 rubyPackages_2_7 = recurseIntoAttrs ruby_2_7.gems; 16965 rubyPackages_3_0 = recurseIntoAttrs ruby_3_0.gems; 16966 rubyPackages_3_1 = recurseIntoAttrs ruby_3_1.gems; 16967 16968 mruby = callPackage ../development/compilers/mruby { }; 16969 ··· 18105 18106 gnumake = callPackage ../development/tools/build-managers/gnumake { }; 18107 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 18111 go-licenses = callPackage ../development/tools/misc/go-licenses { }; 18112 ··· 19871 # update to ffmpeg 19872 # Packages which use ffmpeg as a library, should pin to the relevant major 19873 # version number which the upstream support. 19874 - ffmpeg = ffmpeg_4; 19875 - ffmpeg-headless = ffmpeg_4-headless; 19876 - ffmpeg-full = ffmpeg_4-full; 19877 19878 ffmpegthumbnailer = callPackage ../development/libraries/ffmpegthumbnailer { }; 19879 ··· 26975 }; 26976 systemdMinimal = systemd.override { 26977 pname = "systemd-minimal"; 26978 withAnalyze = false; 26979 withApparmor = false; 26980 withCompression = false; 26981 withCoredump = false; 26982 withCryptsetup = false; ··· 26987 withHomed = false; 26988 withHwdb = false; 26989 withImportd = false; 26990 withLibBPF = false; 26991 withLocaled = false; 26992 withLogind = false; 26993 withMachined = false; ··· 26995 withNss = false; 26996 withOomd = false; 26997 withPCRE2 = false; 26998 withPolkit = false; 26999 withPortabled = false; 27000 withRemote = false; ··· 27007 }; 27008 systemdStage1 = systemdMinimal.override { 27009 pname = "systemd-stage-1"; 27010 withCryptsetup = true; 27011 withFido2 = true; 27012 withTpm2Tss = true; 27013 }; 27014 systemdStage1Network = systemdStage1.override { 27015 pname = "systemd-stage-1-network"; 27016 withNetworkd = true; 27017 }; 27018 27019
··· 12753 12754 tinycbor = callPackage ../development/libraries/tinycbor { }; 12755 12756 + tinycompress = callPackage ../development/libraries/tinycompress { }; 12757 + 12758 tinyfecvpn = callPackage ../tools/networking/tinyfecvpn { }; 12759 12760 tinygltf = callPackage ../development/libraries/tinygltf { }; ··· 15400 /**/ if platform.isDarwin then 11 15401 else if platform.isFreeBSD then 12 15402 else if platform.isAndroid then 12 15403 else if platform.isLinux then 11 15404 else if platform.isWasm then 12 15405 else latest_version; ··· 16889 ffmpeg = ffmpeg-headless; 16890 }; 16891 16892 pipewire_0_2 = callPackage ../development/libraries/pipewire/0.2.nix { }; 16893 wireplumber = callPackage ../development/libraries/pipewire/wireplumber.nix { }; 16894 ··· 16955 mkRuby 16956 ruby_2_7 16957 ruby_3_0 16958 + ruby_3_1 16959 + ruby_3_2; 16960 16961 ruby = ruby_2_7; 16962 rubyPackages = rubyPackages_2_7; ··· 16964 rubyPackages_2_7 = recurseIntoAttrs ruby_2_7.gems; 16965 rubyPackages_3_0 = recurseIntoAttrs ruby_3_0.gems; 16966 rubyPackages_3_1 = recurseIntoAttrs ruby_3_1.gems; 16967 + rubyPackages_3_2 = recurseIntoAttrs ruby_3_2.gems; 16968 16969 mruby = callPackage ../development/compilers/mruby { }; 16970 ··· 18106 18107 gnumake = callPackage ../development/tools/build-managers/gnumake { }; 18108 gnumake42 = callPackage ../development/tools/build-managers/gnumake/4.2 { }; 18109 18110 go-licenses = callPackage ../development/tools/misc/go-licenses { }; 18111 ··· 19870 # update to ffmpeg 19871 # Packages which use ffmpeg as a library, should pin to the relevant major 19872 # version number which the upstream support. 19873 + ffmpeg = ffmpeg_5; 19874 + ffmpeg-headless = ffmpeg_5-headless; 19875 + ffmpeg-full = ffmpeg_5-full; 19876 19877 ffmpegthumbnailer = callPackage ../development/libraries/ffmpegthumbnailer { }; 19878 ··· 26974 }; 26975 systemdMinimal = systemd.override { 26976 pname = "systemd-minimal"; 26977 + withAcl = false; 26978 withAnalyze = false; 26979 withApparmor = false; 26980 + withAudit = false; 26981 withCompression = false; 26982 withCoredump = false; 26983 withCryptsetup = false; ··· 26988 withHomed = false; 26989 withHwdb = false; 26990 withImportd = false; 26991 + withKmod = false; 26992 withLibBPF = false; 26993 + withLibidn2 = false; 26994 withLocaled = false; 26995 withLogind = false; 26996 withMachined = false; ··· 26998 withNss = false; 26999 withOomd = false; 27000 withPCRE2 = false; 27001 + withPam = false; 27002 withPolkit = false; 27003 withPortabled = false; 27004 withRemote = false; ··· 27011 }; 27012 systemdStage1 = systemdMinimal.override { 27013 pname = "systemd-stage-1"; 27014 + withAcl = true; 27015 withCryptsetup = true; 27016 withFido2 = true; 27017 + withKmod = true; 27018 withTpm2Tss = true; 27019 }; 27020 systemdStage1Network = systemdStage1.override { 27021 pname = "systemd-stage-1-network"; 27022 withNetworkd = true; 27023 + withLibidn2 = true; 27024 }; 27025 27026